UNPKG

pragmate-ui

Version:

An advanced, on-demand React UI library optimized for BeyondJS. Pragmate UI provides modular, responsive, and accessible components with a focus on efficient bundle sizes and a streamlined development process.

414 lines (388 loc) 12.9 kB
define(["exports", "module", "@beyond-js/kernel/bundle", "@beyond-js/kernel/styles", "react", "pragmate-ui/components", "framer-motion", "pragmate-ui/icons"], function (_exports, _amd_module, dependency_0, dependency_1, dependency_2, dependency_3, dependency_4, dependency_5) { "use strict"; Object.defineProperty(_exports, "__esModule", { value: true }); _exports.useDynamicListContext = _exports.hmr = _exports.__beyond_pkg = _exports.Provider = _exports.List = _exports.Header = _exports.DynamicItem = _exports.DraggableList = _exports.AddDynamicItem = void 0; const { Bundle: __Bundle } = dependency_0; const __pkg = new __Bundle({ "module": { "vspecifier": "pragmate-ui@1.0.1/dynamic-list" }, "type": "code" }, _amd_module.uri).package(); ; __pkg.dependencies.update([['@beyond-js/kernel/styles', dependency_1], ['react', dependency_2], ['pragmate-ui/components', dependency_3], ['framer-motion', dependency_4], ['pragmate-ui/icons', dependency_5]]); brequire('@beyond-js/kernel/styles').styles.register('pragmate-ui@1.0.1/dynamic-list'); const ims = new Map(); /************************************* INTERNAL MODULE: ./components/add-item *************************************/ ims.set('./components/add-item', { hash: 3769438584, creator: function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AddDynamicItem = AddDynamicItem; var _react = require("react"); var _components = require("pragmate-ui/components"); var _context = require("../context"); /*bundle */ function AddDynamicItem() { const { addItem } = (0, _context.useDynamicListContext)(); return _react.default.createElement(_components.Button, { variant: 'primary', onClick: addItem }, "Add"); } } }); /******************************************* INTERNAL MODULE: ./components/dragabble-list *******************************************/ ims.set('./components/dragabble-list', { hash: 3835674000, creator: function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DraggableList = DraggableList; var _react = require("react"); var _framerMotion = require("framer-motion"); var _context = require("../context"); /* bundle */ function DraggableList({ children, className = '' }) { const { values, setValues } = (0, _context.useDynamicListContext)(); return _react.default.createElement(_framerMotion.Reorder.Group, { className: className, values: values, onReorder: values => { setValues(values); } }, children); } } }); /*********************************** INTERNAL MODULE: ./components/header ***********************************/ ims.set('./components/header', { hash: 3832436420, creator: function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Header = Header; var _react = require("react"); var _context = require("../context"); var _components = require("pragmate-ui/components"); /*bundle */ function Header({ children }) { const { addItem } = (0, _context.useDynamicListContext)(); return _react.default.createElement("header", { className: 'pui-dynamic-list__header' }, _react.default.createElement(_components.Button, { variant: 'primary', onClick: addItem }, "Add"), children); } } }); /********************************* INTERNAL MODULE: ./components/item *********************************/ ims.set('./components/item', { hash: 639523093, creator: function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DynamicItem = DynamicItem; var _react = require("react"); var _context = require("../context"); var _icons = require("pragmate-ui/icons"); /*bundle */ function DynamicItem(props) { const { children, index, identifier } = props; const { removeItem, draggable, Item, registerRef } = (0, _context.useDynamicListContext)(); const onRemove = () => removeItem(identifier.id); const attrs = { className: 'pui-dynamic-list__item', ...(draggable ? { value: props.identifier } : {}) }; const body = _react.default.createElement(Item, { ...props }, _react.default.createElement("div", { className: 'item__content' }, children), _react.default.createElement("section", { className: 'item__actions' }, _react.default.createElement(_icons.IconButton, { icon: 'delete', onClick: onRemove }))); const register = element => registerRef(index, element); return _react.default.createElement("div", { ...attrs, key: index, ref: register }, body); } } }); /********************************* INTERNAL MODULE: ./components/list *********************************/ ims.set('./components/list', { hash: 2727787293, creator: function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.List = List; var _react = require("react"); var _context = require("../context"); var _item = require("./item"); /*bundle*/ function List({ className }) { const { name, values, setValues } = (0, _context.useDynamicListContext)(); const attrs = { className: `pui-dynamic-list ${className}` }; const handleChange = (index, value) => { const newValue = [...values]; newValue[index] = value; setValues(newValue); }; const output = values.map((item, index) => { const setValue = value => handleChange(index, value); return _react.default.createElement(_item.DynamicItem, { value: item, key: `${name}.${index}`, index: index, identifier: item, setValue: setValue }, item); }); const Container = 'div'; return _react.default.createElement(Container, { ...attrs }, output); } } }); /************************* INTERNAL MODULE: ./context *************************/ ims.set('./context', { hash: 2545632455, creator: function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDynamicListContext = exports.DynamicListContext = void 0; var _react = require("react"); const DynamicListContext = exports.DynamicListContext = _react.default.createContext({}); /*bundle*/ const useDynamicListContext = () => _react.default.useContext(DynamicListContext); exports.useDynamicListContext = useDynamicListContext; } }); /***************************** INTERNAL MODULE: ./definitions *****************************/ ims.set('./definitions', { hash: 733921901, creator: function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); } }); /************************** INTERNAL MODULE: ./provider **************************/ ims.set('./provider', { hash: 811037713, creator: function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Provider = Provider; var _react = require("react"); var _context = require("./context"); /*bundle */ function Provider({ name, onChange, draggable, children, value, Item, specs, className }) { if (value && !Array.isArray(value)) { console.warn('Warning: value prop must be an array or undefined. Received', value); } const getDefaultValue = () => ''; if (!value?.length) value = [getDefaultValue()]; const [items, setItems] = _react.default.useState([...value]); const [isDraggable, setIsDraggable] = _react.default.useState(draggable); const refs = (0, _react.useRef)([]); _react.default.useEffect(() => { setItems(value); }, [value.length]); const providerData = { addItem: () => { const newValue = [...items, getDefaultValue()]; setItems(newValue); }, draggable: isDraggable, refs, specs: specs ?? {}, toggleDraggable: () => setIsDraggable(!isDraggable), removeItem: index => { const newItems = items.filter((_, i) => i !== index); setItems(newItems); const target = { name, value: newItems }; onChange?.({ target, currentTarget: target }); return newItems; }, name, setItems, values: items, registerRef: (index, ref) => { refs.current[index] = ref; }, setValue: (index, value) => { const newItems = [...items]; newItems[index] = value; setItems(newItems); }, setValues: value => { setItems(value); const target = { name, value }; onChange?.({ target, currentTarget: target }); }, getDefaultValue, items: items, Item }; return _react.default.createElement(_context.DynamicListContext.Provider, { value: providerData }, _react.default.createElement("div", { className: className }, children)); } } }); __pkg.exports.descriptor = [{ "im": "./components/add-item", "from": "AddDynamicItem", "name": "AddDynamicItem" }, { "im": "./components/dragabble-list", "from": "DraggableList", "name": "DraggableList" }, { "im": "./components/header", "from": "Header", "name": "Header" }, { "im": "./components/item", "from": "DynamicItem", "name": "DynamicItem" }, { "im": "./components/list", "from": "List", "name": "List" }, { "im": "./context", "from": "useDynamicListContext", "name": "useDynamicListContext" }, { "im": "./provider", "from": "Provider", "name": "Provider" }]; let AddDynamicItem = _exports.AddDynamicItem = void 0, DraggableList = _exports.DraggableList = void 0, Header = _exports.Header = void 0, DynamicItem = _exports.DynamicItem = void 0, List = _exports.List = void 0, useDynamicListContext = _exports.useDynamicListContext = void 0, Provider = _exports.Provider = void 0; // Module exports __pkg.exports.process = function ({ require, prop, value }) { (require || prop === 'AddDynamicItem') && (_exports.AddDynamicItem = AddDynamicItem = require ? require('./components/add-item').AddDynamicItem : value); (require || prop === 'DraggableList') && (_exports.DraggableList = DraggableList = require ? require('./components/dragabble-list').DraggableList : value); (require || prop === 'Header') && (_exports.Header = Header = require ? require('./components/header').Header : value); (require || prop === 'DynamicItem') && (_exports.DynamicItem = DynamicItem = require ? require('./components/item').DynamicItem : value); (require || prop === 'List') && (_exports.List = List = require ? require('./components/list').List : value); (require || prop === 'useDynamicListContext') && (_exports.useDynamicListContext = useDynamicListContext = require ? require('./context').useDynamicListContext : value); (require || prop === 'Provider') && (_exports.Provider = Provider = require ? require('./provider').Provider : value); }; const __beyond_pkg = _exports.__beyond_pkg = __pkg; const hmr = _exports.hmr = new function () { this.on = (event, listener) => void 0; this.off = (event, listener) => void 0; }(); __pkg.initialise(ims); }); //# sourceMappingURL=dynamic-list.amd.js.map