le-kit 0.1.12 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/index.d.ts +33 -0
- package/dist/components/le-box.d.ts +11 -0
- package/dist/components/le-button.d.ts +11 -0
- package/dist/components/le-card.d.ts +11 -0
- package/dist/components/le-checkbox.d.ts +11 -0
- package/dist/components/le-component.d.ts +11 -0
- package/dist/components/le-number-input.d.ts +11 -0
- package/dist/components/le-popover.d.ts +11 -0
- package/dist/components/le-popup.d.ts +11 -0
- package/dist/components/le-round-progress.d.ts +11 -0
- package/dist/components/le-slot.d.ts +11 -0
- package/dist/components/le-stack.d.ts +11 -0
- package/dist/components/le-string-input.d.ts +11 -0
- package/dist/components/le-text.d.ts +11 -0
- package/dist/components/le-turntable.d.ts +11 -0
- package/dist/core/cjs/{index-BsRb_UTe.js → index-B0mg71He.js} +6 -6
- package/dist/core/cjs/index-B0mg71He.js.map +1 -0
- package/dist/core/cjs/index.cjs.js +2 -2
- package/dist/core/cjs/le-box.cjs.entry.js +2 -2
- package/dist/core/cjs/le-button.cjs.entry.js +2 -2
- package/dist/core/cjs/le-card.cjs.entry.js +2 -2
- package/dist/core/cjs/le-checkbox.cjs.entry.js +2 -2
- package/dist/core/cjs/le-kit.cjs.js +1 -1
- package/dist/core/cjs/le-number-input.cjs.entry.js +2 -2
- package/dist/core/cjs/le-popover.cjs.entry.js +1 -1
- package/dist/core/cjs/le-popup.cjs.entry.js +1 -1
- package/dist/core/cjs/le-round-progress.cjs.entry.js +1 -1
- package/dist/core/cjs/le-stack.cjs.entry.js +2 -2
- package/dist/core/cjs/le-string-input.cjs.entry.js +2 -2
- package/dist/core/cjs/le-text.cjs.entry.js +2 -2
- package/dist/core/cjs/le-turntable.cjs.entry.js +1 -1
- package/dist/core/cjs/loader.cjs.js +1 -1
- package/dist/{cjs/utils-DqhadIxH.js → core/cjs/utils-jdqP71LP.js} +3 -3
- package/dist/core/cjs/{utils-nsP8_w8_.js.map → utils-jdqP71LP.js.map} +1 -1
- package/dist/core/collection/global/app.js +4 -4
- package/dist/core/collection/global/app.js.map +1 -1
- package/dist/core/components/index.d.ts +33 -0
- package/dist/{esm → core/components}/index.js +9 -2
- package/dist/core/components/index.js.map +1 -0
- package/dist/core/components/le-box.d.ts +11 -0
- package/dist/{cjs/le-box.cjs.entry.js → core/components/le-box.js} +87 -14
- package/dist/core/components/le-box.js.map +1 -0
- package/dist/core/components/le-button.d.ts +11 -0
- package/dist/core/components/le-button.js +9 -0
- package/dist/core/components/le-button.js.map +1 -0
- package/dist/{esm/le-button_6.entry.js → core/components/le-button2.js} +919 -972
- package/dist/core/components/le-button2.js.map +1 -0
- package/dist/core/components/le-card.d.ts +11 -0
- package/dist/core/components/le-card.js +84 -0
- package/dist/core/components/le-card.js.map +1 -0
- package/dist/core/components/le-checkbox.d.ts +11 -0
- package/dist/core/components/le-checkbox.js +9 -0
- package/dist/core/components/le-checkbox.js.map +1 -0
- package/dist/core/components/le-component.d.ts +11 -0
- package/dist/core/components/le-component.js +9 -0
- package/dist/core/components/le-component.js.map +1 -0
- package/dist/core/components/le-number-input.d.ts +11 -0
- package/dist/{cjs/le-number-input.cjs.entry.js → core/components/le-number-input.js} +85 -15
- package/dist/core/components/le-number-input.js.map +1 -0
- package/dist/core/components/le-popover.d.ts +11 -0
- package/dist/core/components/le-popover.js +9 -0
- package/dist/core/components/le-popover.js.map +1 -0
- package/dist/{collection/components/le-popover/le-popover.js → core/components/le-popover2.js} +49 -360
- package/dist/core/components/le-popover2.js.map +1 -0
- package/dist/core/components/le-popup.d.ts +11 -0
- package/dist/{cjs/le-popup.cjs.entry.js → core/components/le-popup.js} +88 -21
- package/dist/core/components/le-popup.js.map +1 -0
- package/dist/core/components/le-round-progress.d.ts +11 -0
- package/dist/{cjs/le-round-progress.cjs.entry.js → core/components/le-round-progress.js} +43 -14
- package/dist/core/components/le-round-progress.js.map +1 -0
- package/dist/core/components/le-slot.d.ts +11 -0
- package/dist/core/components/le-slot.js +9 -0
- package/dist/core/components/le-slot.js.map +1 -0
- package/dist/core/components/le-stack.d.ts +11 -0
- package/dist/{cjs/le-stack.cjs.entry.js → core/components/le-stack.js} +78 -14
- package/dist/core/components/le-stack.js.map +1 -0
- package/dist/core/components/le-string-input.d.ts +11 -0
- package/dist/core/components/le-string-input.js +9 -0
- package/dist/core/components/le-string-input.js.map +1 -0
- package/dist/core/components/le-text.d.ts +11 -0
- package/dist/{cjs/le-text.cjs.entry.js → core/components/le-text.js} +80 -16
- package/dist/core/components/le-text.js.map +1 -0
- package/dist/core/components/le-turntable.d.ts +11 -0
- package/dist/{cjs/le-turntable.cjs.entry.js → core/components/le-turntable.js} +37 -12
- package/dist/core/components/le-turntable.js.map +1 -0
- package/dist/core/components/utils.js +310 -0
- package/dist/core/components/utils.js.map +1 -0
- package/dist/core/esm/{index-CJ-z5Zj1.js → index-SKsXnjWI.js} +6 -6
- package/dist/core/{le-kit/p-CJ-z5Zj1.js.map → esm/index-SKsXnjWI.js.map} +1 -1
- package/dist/core/esm/index.js +2 -2
- package/dist/core/esm/le-box.entry.js +2 -2
- package/dist/core/esm/le-button.entry.js +2 -2
- package/dist/core/esm/le-card.entry.js +2 -2
- package/dist/core/esm/le-checkbox.entry.js +2 -2
- package/dist/core/esm/le-kit.js +2 -2
- package/dist/core/esm/le-number-input.entry.js +2 -2
- package/dist/core/esm/le-popover.entry.js +1 -1
- package/dist/core/esm/le-popup.entry.js +1 -1
- package/dist/core/esm/le-round-progress.entry.js +1 -1
- package/dist/core/esm/le-stack.entry.js +2 -2
- package/dist/core/esm/le-string-input.entry.js +2 -2
- package/dist/core/esm/le-text.entry.js +2 -2
- package/dist/core/esm/le-turntable.entry.js +1 -1
- package/dist/core/esm/loader.js +2 -2
- package/dist/{esm/utils-Cf7fMI0j.js → core/esm/utils-DZdP1JiG.js} +3 -3
- package/dist/core/esm/{utils-Bxmld82M.js.map → utils-DZdP1JiG.js.map} +1 -1
- package/dist/core/le-kit/index.esm.js +1 -1
- package/dist/core/le-kit/le-kit.esm.js +1 -1
- package/dist/core/le-kit/p--VxUdzYV.js +2 -0
- package/dist/core/le-kit/{p-Drz36PDp.js.map → p--VxUdzYV.js.map} +1 -1
- package/dist/core/le-kit/{p-2ac4789a.entry.js → p-189cb775.entry.js} +2 -2
- package/dist/core/le-kit/{p-556086ca.entry.js → p-35c1d413.entry.js} +2 -2
- package/dist/core/le-kit/{p-aa6e906f.entry.js → p-4f133e72.entry.js} +2 -2
- package/dist/core/le-kit/{p-df552906.entry.js → p-55f70091.entry.js} +2 -2
- package/dist/core/le-kit/{p-e0861e82.entry.js → p-5fd7b23a.entry.js} +2 -2
- package/dist/core/le-kit/{p-5ef81068.entry.js → p-6e414a5c.entry.js} +2 -2
- package/dist/core/le-kit/{p-d75214f9.entry.js → p-7b121ca7.entry.js} +2 -2
- package/dist/core/le-kit/{p-45eace7c.entry.js → p-8c81fa95.entry.js} +2 -2
- package/dist/core/le-kit/{p-257495cc.entry.js → p-9aa81442.entry.js} +2 -2
- package/dist/core/le-kit/p-SKsXnjWI.js +3 -0
- package/dist/core/le-kit/p-SKsXnjWI.js.map +1 -0
- package/dist/core/le-kit/{p-66d35f48.entry.js → p-a9d05ef6.entry.js} +2 -2
- package/dist/core/le-kit/{p-73682c5e.entry.js → p-b2bd2a80.entry.js} +2 -2
- package/dist/core/le-kit/{p-0308bd1f.entry.js → p-ccac9611.entry.js} +2 -2
- package/dist/core/types/global/app.d.ts +4 -4
- package/dist/le-kit/assets/custom-elements.json +1230 -1230
- package/dist/le-kit/index-CAY3Hk_i.js +4559 -0
- package/dist/le-kit/index-CAY3Hk_i.js.map +1 -0
- package/dist/le-kit/index.esm.js +116 -2
- package/dist/le-kit/index.esm.js.map +1 -1
- package/dist/{esm → le-kit}/le-box.entry.js +3 -3
- package/dist/le-kit/le-button.entry.esm.js.map +1 -0
- package/dist/le-kit/le-button.entry.js +90 -0
- package/dist/{esm → le-kit}/le-card.entry.js +3 -3
- package/dist/le-kit/le-checkbox.entry.esm.js.map +1 -0
- package/dist/le-kit/le-checkbox.entry.js +59 -0
- package/dist/le-kit/le-component.entry.esm.js.map +1 -0
- package/dist/{collection/components/le-component/le-component.js → le-kit/le-component.entry.js} +19 -138
- package/dist/le-kit/le-kit.css +1010 -1
- package/dist/le-kit/le-kit.esm.js +48 -2
- package/dist/le-kit/le-kit.esm.js.map +1 -1
- package/dist/{esm → le-kit}/le-number-input.entry.js +5 -5
- package/dist/le-kit/le-popover.entry.esm.js.map +1 -0
- package/dist/le-kit/le-popover.entry.js +346 -0
- package/dist/{esm → le-kit}/le-popup.entry.js +6 -6
- package/dist/{esm → le-kit}/le-round-progress.entry.js +2 -2
- package/dist/le-kit/le-slot.entry.esm.js.map +1 -0
- package/dist/{collection/components/le-slot/le-slot.js → le-kit/le-slot.entry.js} +20 -273
- package/dist/{esm → le-kit}/le-stack.entry.js +3 -3
- package/dist/le-kit/le-string-input.entry.esm.js.map +1 -0
- package/dist/le-kit/le-string-input.entry.js +93 -0
- package/dist/{esm → le-kit}/le-text.entry.js +3 -3
- package/dist/{esm → le-kit}/le-turntable.entry.js +2 -2
- package/dist/{core/esm/utils-Bxmld82M.js → le-kit/utils-cwSNy7ZS.js} +3 -3
- package/dist/{esm/utils-Cf7fMI0j.js.map → le-kit/utils-cwSNy7ZS.js.map} +1 -1
- package/dist/types/global/app.d.ts +4 -4
- package/package.json +4 -5
- package/readme.md +2 -2
- package/custom-elements.json +0 -4305
- package/dist/cjs/index-o1DRKw1g.js +0 -1842
- package/dist/cjs/index-o1DRKw1g.js.map +0 -1
- package/dist/cjs/index.cjs.js +0 -119
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/le-box.entry.cjs.js.map +0 -1
- package/dist/cjs/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.cjs.js.map +0 -1
- package/dist/cjs/le-button_6.cjs.entry.js +0 -1206
- package/dist/cjs/le-card.cjs.entry.js +0 -29
- package/dist/cjs/le-card.entry.cjs.js.map +0 -1
- package/dist/cjs/le-kit.cjs.js +0 -25
- package/dist/cjs/le-kit.cjs.js.map +0 -1
- package/dist/cjs/le-number-input.entry.cjs.js.map +0 -1
- package/dist/cjs/le-popup.entry.cjs.js.map +0 -1
- package/dist/cjs/le-round-progress.entry.cjs.js.map +0 -1
- package/dist/cjs/le-stack.entry.cjs.js.map +0 -1
- package/dist/cjs/le-text.entry.cjs.js.map +0 -1
- package/dist/cjs/le-turntable.entry.cjs.js.map +0 -1
- package/dist/cjs/loader.cjs.js +0 -13
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/utils-DqhadIxH.js.map +0 -1
- package/dist/collection/assets/custom-elements.json +0 -4305
- package/dist/collection/collection-manifest.json +0 -26
- package/dist/collection/components/le-box/le-box.default.css +0 -37
- package/dist/collection/components/le-box/le-box.js +0 -614
- package/dist/collection/components/le-box/le-box.js.map +0 -1
- package/dist/collection/components/le-button/le-button.default.css +0 -263
- package/dist/collection/components/le-button/le-button.js +0 -368
- package/dist/collection/components/le-button/le-button.js.map +0 -1
- package/dist/collection/components/le-card/le-card.default.css +0 -74
- package/dist/collection/components/le-card/le-card.js +0 -102
- package/dist/collection/components/le-card/le-card.js.map +0 -1
- package/dist/collection/components/le-checkbox/le-checkbox.css +0 -93
- package/dist/collection/components/le-checkbox/le-checkbox.js +0 -192
- package/dist/collection/components/le-checkbox/le-checkbox.js.map +0 -1
- package/dist/collection/components/le-component/le-component.css +0 -189
- package/dist/collection/components/le-component/le-component.js.map +0 -1
- package/dist/collection/components/le-number-input/le-number-input.css +0 -135
- package/dist/collection/components/le-number-input/le-number-input.js +0 -515
- package/dist/collection/components/le-number-input/le-number-input.js.map +0 -1
- package/dist/collection/components/le-popover/le-popover.css +0 -143
- package/dist/collection/components/le-popover/le-popover.js.map +0 -1
- package/dist/collection/components/le-popup/le-popup.api.js +0 -101
- package/dist/collection/components/le-popup/le-popup.api.js.map +0 -1
- package/dist/collection/components/le-popup/le-popup.css +0 -222
- package/dist/collection/components/le-popup/le-popup.js +0 -596
- package/dist/collection/components/le-popup/le-popup.js.map +0 -1
- package/dist/collection/components/le-round-progress/le-round-progress.css +0 -34
- package/dist/collection/components/le-round-progress/le-round-progress.js +0 -184
- package/dist/collection/components/le-round-progress/le-round-progress.js.map +0 -1
- package/dist/collection/components/le-slot/le-slot.default.css +0 -222
- package/dist/collection/components/le-slot/le-slot.js.map +0 -1
- package/dist/collection/components/le-stack/le-stack.default.css +0 -37
- package/dist/collection/components/le-stack/le-stack.js +0 -389
- package/dist/collection/components/le-stack/le-stack.js.map +0 -1
- package/dist/collection/components/le-string-input/le-string-input.css +0 -83
- package/dist/collection/components/le-string-input/le-string-input.js +0 -359
- package/dist/collection/components/le-string-input/le-string-input.js.map +0 -1
- package/dist/collection/components/le-text/le-text.default.css +0 -169
- package/dist/collection/components/le-text/le-text.js +0 -475
- package/dist/collection/components/le-text/le-text.js.map +0 -1
- package/dist/collection/components/le-turntable/le-turntable.css +0 -10
- package/dist/collection/components/le-turntable/le-turntable.js +0 -210
- package/dist/collection/components/le-turntable/le-turntable.js.map +0 -1
- package/dist/collection/global/app.js +0 -167
- package/dist/collection/global/app.js.map +0 -1
- package/dist/collection/index.js +0 -15
- package/dist/collection/index.js.map +0 -1
- package/dist/collection/types/blocks.js +0 -115
- package/dist/collection/types/blocks.js.map +0 -1
- package/dist/collection/types/options.js +0 -2
- package/dist/collection/types/options.js.map +0 -1
- package/dist/collection/utils/utils.js +0 -141
- package/dist/collection/utils/utils.js.map +0 -1
- package/dist/core/cjs/index-BsRb_UTe.js.map +0 -1
- package/dist/core/cjs/utils-nsP8_w8_.js +0 -152
- package/dist/core/esm/index-CJ-z5Zj1.js.map +0 -1
- package/dist/core/le-kit/p-CJ-z5Zj1.js +0 -3
- package/dist/core/le-kit/p-Drz36PDp.js +0 -2
- package/dist/docs.d.ts +0 -443
- package/dist/docs.json +0 -5185
- package/dist/esm/index-CwNQ1GTa.js +0 -1824
- package/dist/esm/index-CwNQ1GTa.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/le-box.entry.js.map +0 -1
- package/dist/esm/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.js.map +0 -1
- package/dist/esm/le-card.entry.js.map +0 -1
- package/dist/esm/le-kit.js +0 -21
- package/dist/esm/le-kit.js.map +0 -1
- package/dist/esm/le-number-input.entry.js.map +0 -1
- package/dist/esm/le-popup.entry.js.map +0 -1
- package/dist/esm/le-round-progress.entry.js.map +0 -1
- package/dist/esm/le-stack.entry.js.map +0 -1
- package/dist/esm/le-text.entry.js.map +0 -1
- package/dist/esm/le-turntable.entry.js.map +0 -1
- package/dist/esm/loader.js +0 -11
- package/dist/esm/loader.js.map +0 -1
- package/dist/index.cjs.js +0 -1
- package/dist/index.js +0 -1
- package/dist/le-kit/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.esm.js.map +0 -1
- package/dist/le-kit/p-08dbcc25.entry.js +0 -2
- package/dist/le-kit/p-08dbcc25.entry.js.map +0 -1
- package/dist/le-kit/p-5dc35729.entry.js +0 -2
- package/dist/le-kit/p-5dc35729.entry.js.map +0 -1
- package/dist/le-kit/p-64374730.entry.js +0 -2
- package/dist/le-kit/p-64374730.entry.js.map +0 -1
- package/dist/le-kit/p-79ec6f7c.entry.js +0 -2
- package/dist/le-kit/p-79ec6f7c.entry.js.map +0 -1
- package/dist/le-kit/p-8daf3c7f.entry.js +0 -2
- package/dist/le-kit/p-8daf3c7f.entry.js.map +0 -1
- package/dist/le-kit/p-9c69235d.entry.js +0 -2
- package/dist/le-kit/p-9c69235d.entry.js.map +0 -1
- package/dist/le-kit/p-CwNQ1GTa.js +0 -3
- package/dist/le-kit/p-CwNQ1GTa.js.map +0 -1
- package/dist/le-kit/p-ad398acd.entry.js +0 -2
- package/dist/le-kit/p-ad398acd.entry.js.map +0 -1
- package/dist/le-kit/p-b8122ad6.entry.js +0 -2
- package/dist/le-kit/p-b8122ad6.entry.js.map +0 -1
- package/dist/le-kit/p-f9008505.entry.js +0 -2
- package/dist/le-kit/p-f9008505.entry.js.map +0 -1
- package/dist/le-kit/p-y3FECAx9.js +0 -2
- package/dist/le-kit/p-y3FECAx9.js.map +0 -1
- package/dist/themes/base.css +0 -89
- package/dist/themes/dark.css +0 -100
- package/dist/themes/default.css +0 -108
- package/dist/themes/gradient.css +0 -100
- package/dist/themes/index.css +0 -413
- package/dist/themes/minimal.css +0 -100
- package/dist/themes/warm.css +0 -100
- /package/dist/{collection → components}/themes/base.css +0 -0
- /package/dist/{collection → components}/themes/dark.css +0 -0
- /package/dist/{collection → components}/themes/default.css +0 -0
- /package/dist/{collection → components}/themes/gradient.css +0 -0
- /package/dist/{collection → components}/themes/index.css +0 -0
- /package/dist/{collection → components}/themes/minimal.css +0 -0
- /package/dist/{collection → components}/themes/warm.css +0 -0
- /package/dist/core/le-kit/{p-2ac4789a.entry.js.map → p-189cb775.entry.js.map} +0 -0
- /package/dist/core/le-kit/{p-556086ca.entry.js.map → p-35c1d413.entry.js.map} +0 -0
- /package/dist/core/le-kit/{p-aa6e906f.entry.js.map → p-4f133e72.entry.js.map} +0 -0
- /package/dist/core/le-kit/{p-df552906.entry.js.map → p-55f70091.entry.js.map} +0 -0
- /package/dist/core/le-kit/{p-e0861e82.entry.js.map → p-5fd7b23a.entry.js.map} +0 -0
- /package/dist/core/le-kit/{p-5ef81068.entry.js.map → p-6e414a5c.entry.js.map} +0 -0
- /package/dist/core/le-kit/{p-d75214f9.entry.js.map → p-7b121ca7.entry.js.map} +0 -0
- /package/dist/core/le-kit/{p-45eace7c.entry.js.map → p-8c81fa95.entry.js.map} +0 -0
- /package/dist/core/le-kit/{p-257495cc.entry.js.map → p-9aa81442.entry.js.map} +0 -0
- /package/dist/core/le-kit/{p-66d35f48.entry.js.map → p-a9d05ef6.entry.js.map} +0 -0
- /package/dist/core/le-kit/{p-73682c5e.entry.js.map → p-b2bd2a80.entry.js.map} +0 -0
- /package/dist/core/le-kit/{p-0308bd1f.entry.js.map → p-ccac9611.entry.js.map} +0 -0
- /package/dist/le-kit/{themes → dist/components/themes}/base.css +0 -0
- /package/dist/le-kit/{themes → dist/components/themes}/dark.css +0 -0
- /package/dist/le-kit/{themes → dist/components/themes}/default.css +0 -0
- /package/dist/le-kit/{themes → dist/components/themes}/gradient.css +0 -0
- /package/dist/le-kit/{themes → dist/components/themes}/index.css +0 -0
- /package/dist/le-kit/{themes → dist/components/themes}/minimal.css +0 -0
- /package/dist/le-kit/{themes → dist/components/themes}/warm.css +0 -0
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var index = require('./index-BsRb_UTe.js');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Utility functions for le-kit components
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Generates a unique ID for component instances
|
|
10
|
-
*/
|
|
11
|
-
function generateId(prefix = 'le') {
|
|
12
|
-
return `${prefix}-${Math.random().toString(36).substring(2, 9)}`;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Parses a comma-separated string into an array
|
|
16
|
-
*/
|
|
17
|
-
function parseCommaSeparated(value) {
|
|
18
|
-
if (!value)
|
|
19
|
-
return [];
|
|
20
|
-
return value
|
|
21
|
-
.split(',')
|
|
22
|
-
.map(s => s.trim())
|
|
23
|
-
.filter(Boolean);
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Checks if a slot has content
|
|
27
|
-
*/
|
|
28
|
-
function slotHasContent(el, slotName = '') {
|
|
29
|
-
const selector = slotName ? `[slot="${slotName}"]` : ':not([slot])';
|
|
30
|
-
return el.querySelector(selector) !== null;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Sets up a MutationObserver to track mode changes on ancestor elements.
|
|
34
|
-
* Returns a cleanup function to disconnect the observer.
|
|
35
|
-
*
|
|
36
|
-
* If the element or any ancestor has an explicit `mode` attribute, that creates
|
|
37
|
-
* a "mode boundary" - the mode is determined from that point, not from further up.
|
|
38
|
-
* This allows components like le-popover to force default mode for their children.
|
|
39
|
-
*
|
|
40
|
-
* @param el - The component's host element
|
|
41
|
-
* @param callback - Function to call when mode changes, receives the new mode
|
|
42
|
-
* @returns Cleanup function to disconnect the observer
|
|
43
|
-
*
|
|
44
|
-
* @example
|
|
45
|
-
* ```tsx
|
|
46
|
-
* export class MyComponent {
|
|
47
|
-
* @Element() el: HTMLElement;
|
|
48
|
-
* @State() adminMode: boolean = false;
|
|
49
|
-
* private disconnectModeObserver?: () => void;
|
|
50
|
-
*
|
|
51
|
-
* connectedCallback() {
|
|
52
|
-
* this.disconnectModeObserver = observeModeChanges(this.el, (mode) => {
|
|
53
|
-
* this.adminMode = mode === 'admin';
|
|
54
|
-
* });
|
|
55
|
-
* }
|
|
56
|
-
*
|
|
57
|
-
* disconnectedCallback() {
|
|
58
|
-
* this.disconnectModeObserver?.();
|
|
59
|
-
* }
|
|
60
|
-
* }
|
|
61
|
-
* ```
|
|
62
|
-
*/
|
|
63
|
-
function observeModeChanges(el, callback) {
|
|
64
|
-
// Call immediately with current mode
|
|
65
|
-
callback(index.getMode(el));
|
|
66
|
-
// Set up observer for mode attribute changes
|
|
67
|
-
const observer = new MutationObserver(() => {
|
|
68
|
-
callback(index.getMode(el));
|
|
69
|
-
});
|
|
70
|
-
// Observe the element itself (for mode boundary changes)
|
|
71
|
-
observer.observe(el, {
|
|
72
|
-
attributes: true,
|
|
73
|
-
attributeFilter: ['mode'],
|
|
74
|
-
});
|
|
75
|
-
// Observe document root
|
|
76
|
-
observer.observe(document.documentElement, {
|
|
77
|
-
attributes: true,
|
|
78
|
-
attributeFilter: ['mode'],
|
|
79
|
-
});
|
|
80
|
-
// Traverse up, crossing shadow boundaries, and observe each element
|
|
81
|
-
let current = el;
|
|
82
|
-
while (current) {
|
|
83
|
-
if (current instanceof Element && current.parentElement) {
|
|
84
|
-
current = current.parentElement;
|
|
85
|
-
observer.observe(current, {
|
|
86
|
-
attributes: true,
|
|
87
|
-
attributeFilter: ['mode'],
|
|
88
|
-
});
|
|
89
|
-
// If this element has an explicit mode, it's a boundary
|
|
90
|
-
if (current.hasAttribute('mode')) {
|
|
91
|
-
break;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
// Check if we're in a shadow root
|
|
96
|
-
const root = current.getRootNode();
|
|
97
|
-
if (root instanceof ShadowRoot) {
|
|
98
|
-
// Cross the shadow boundary and observe the host
|
|
99
|
-
current = root.host;
|
|
100
|
-
observer.observe(current, {
|
|
101
|
-
attributes: true,
|
|
102
|
-
attributeFilter: ['mode'],
|
|
103
|
-
});
|
|
104
|
-
// If the host has an explicit mode, it's a boundary
|
|
105
|
-
if (current.hasAttribute('mode')) {
|
|
106
|
-
break;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
break;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
// Return cleanup function
|
|
115
|
-
return () => observer.disconnect();
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Combines multiple class names into a single string, filtering out falsy values.
|
|
119
|
-
*
|
|
120
|
-
* @param classes - arguments of class names, undefined, arrays, objects with boolean values and nested combinations of these
|
|
121
|
-
* @returns Combined class names string
|
|
122
|
-
*/
|
|
123
|
-
function classnames(...classes) {
|
|
124
|
-
const result = [];
|
|
125
|
-
classes.forEach(cls => {
|
|
126
|
-
if (!cls)
|
|
127
|
-
return;
|
|
128
|
-
if (typeof cls === 'string') {
|
|
129
|
-
result.push(cls);
|
|
130
|
-
}
|
|
131
|
-
else if (Array.isArray(cls)) {
|
|
132
|
-
result.push(classnames(...cls));
|
|
133
|
-
}
|
|
134
|
-
else if (typeof cls === 'object') {
|
|
135
|
-
Object.entries(cls).forEach(([key, value]) => {
|
|
136
|
-
if (value) {
|
|
137
|
-
result.push(key);
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
return result.join(' ');
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
exports.classnames = classnames;
|
|
146
|
-
exports.generateId = generateId;
|
|
147
|
-
exports.observeModeChanges = observeModeChanges;
|
|
148
|
-
exports.parseCommaSeparated = parseCommaSeparated;
|
|
149
|
-
exports.slotHasContent = slotHasContent;
|
|
150
|
-
//# sourceMappingURL=utils-nsP8_w8_.js.map
|
|
151
|
-
|
|
152
|
-
//# sourceMappingURL=utils-nsP8_w8_.js.map
|