UNPKG

@onesy/style

Version:

CSS in JS styling solution

58 lines (57 loc) 2.56 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const merge_1 = __importDefault(require("@onesy/utils/merge")); const try_1 = __importDefault(require("@onesy/utils/try")); const OnesyStyle_1 = __importDefault(require("./OnesyStyle")); const OnesyStyleSheetManager_1 = __importDefault(require("./OnesyStyleSheetManager")); const OnesyTheme_1 = __importDefault(require("./OnesyTheme")); const utils_1 = require("./utils"); const optionsDefault = { onesy_style: { get: OnesyStyle_1.default.first.bind(OnesyStyle_1.default), }, onesy_theme: { get: OnesyTheme_1.default.first.bind(OnesyTheme_1.default), } }; function pure(value_, options_ = {}) { const options = (0, merge_1.default)(options_, optionsDefault, { copy: true }); // Onesy style let onesyStyle = options.onesy_style.value || ((0, utils_1.is)('function', options.onesy_style.get) && options.onesy_style.get(options.element)); if (onesyStyle === undefined) onesyStyle = new OnesyStyle_1.default(); // Onesy theme const onesyTheme = options.onesy_theme.value || ((0, utils_1.is)('function', options.onesy_theme.get) && options.onesy_theme.get(options.element)); // Make value if it's a function const value = (0, utils_1.is)('function', value_) ? (0, try_1.default)(() => value_(onesyTheme)) : value_; // Make an instance of onesyStyleSheetManager const onesyStyleSheetManager = new OnesyStyleSheetManager_1.default(value, { mode: 'regular', pure: true, priority: 'lower', onesyTheme, onesyStyle, name: options.name, style: { attributes: { method: 'pure' } } }); const response = { ids: onesyStyleSheetManager.ids, onesy_style_sheet_manager: onesyStyleSheetManager, sheets: onesyStyleSheetManager.sheets, add: onesyStyleSheetManager.add.bind(onesyStyleSheetManager), set props(value__) { onesyStyleSheetManager.props = value__; }, update: onesyStyleSheetManager.update.bind(onesyStyleSheetManager), remove: onesyStyleSheetManager.remove.bind(onesyStyleSheetManager), addRule: onesyStyleSheetManager.sheets.static[0] && onesyStyleSheetManager.sheets.static[0].addRule.bind(onesyStyleSheetManager.sheets.static[0]), }; // Response return response; } exports.default = pure;