@limetech/lime-elements 38.7.1 → 38.7.2
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/CHANGELOG.md +8 -0
- package/dist/cjs/{checkbox.template-f86d05d4.js → checkbox.template-60f3ffb2.js} +2 -2
- package/dist/cjs/{checkbox.template-f86d05d4.js.map → checkbox.template-60f3ffb2.js.map} +1 -1
- package/dist/cjs/{index-d1052409.js → index-174a078a.js} +387 -9
- package/dist/cjs/index-174a078a.js.map +1 -0
- package/dist/cjs/lime-elements.cjs.js +2 -2
- package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +1 -1
- package/dist/cjs/limel-action-bar-item_2.cjs.entry.js +2 -2
- package/dist/cjs/limel-action-bar_2.cjs.entry.js +1 -1
- package/dist/cjs/limel-badge_3.cjs.entry.js +1 -1
- package/dist/cjs/limel-banner.cjs.entry.js +1 -1
- package/dist/cjs/{limel-breadcrumbs_7.cjs.entry.js → limel-breadcrumbs_8.cjs.entry.js} +40 -22
- package/dist/cjs/limel-breadcrumbs_8.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-button-group.cjs.entry.js +1 -1
- package/dist/cjs/limel-button.cjs.entry.js +2 -2
- package/dist/cjs/limel-callout.cjs.entry.js +1 -1
- package/dist/cjs/limel-card.cjs.entry.js +1 -1
- package/dist/cjs/limel-chart.cjs.entry.js +1 -1
- package/dist/cjs/limel-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/limel-chip_2.cjs.entry.js +53 -56
- package/dist/cjs/limel-chip_2.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-circular-progress.cjs.entry.js +1 -1
- package/dist/cjs/limel-code-editor.cjs.entry.js +1 -1
- package/dist/cjs/limel-collapsible-section.cjs.entry.js +2 -2
- package/dist/cjs/limel-color-picker-palette.cjs.entry.js +1 -1
- package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
- package/dist/cjs/limel-config.cjs.entry.js +1 -1
- package/dist/cjs/limel-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/limel-dialog.cjs.entry.js +1 -1
- package/dist/cjs/limel-dock-button.cjs.entry.js +1 -1
- package/dist/cjs/limel-dock.cjs.entry.js +1 -1
- package/dist/cjs/limel-dynamic-label_2.cjs.entry.js +1 -1
- package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +1 -1
- package/dist/cjs/limel-file-viewer.cjs.entry.js +1 -1
- package/dist/cjs/limel-file.cjs.entry.js +1 -1
- package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
- package/dist/cjs/limel-flex-container.cjs.entry.js +1 -1
- package/dist/cjs/limel-form.cjs.entry.js +1 -1
- package/dist/cjs/limel-grid.cjs.entry.js +1 -1
- package/dist/cjs/limel-header.cjs.entry.js +1 -1
- package/dist/cjs/limel-help-content.cjs.entry.js +1 -1
- package/dist/cjs/limel-help.cjs.entry.js +1 -1
- package/dist/cjs/limel-icon-button.cjs.entry.js +2 -2
- package/dist/cjs/limel-icon.cjs.entry.js +1 -1
- package/dist/cjs/limel-info-tile.cjs.entry.js +1 -1
- package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -1
- package/dist/cjs/limel-markdown.cjs.entry.js +1 -1
- package/dist/cjs/limel-picker.cjs.entry.js +1 -1
- package/dist/cjs/limel-popover_2.cjs.entry.js +1 -1
- package/dist/cjs/limel-portal.cjs.entry.js +1 -1
- package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
- package/dist/cjs/limel-progress-flow.cjs.entry.js +1 -1
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +1 -1
- package/dist/cjs/limel-select.cjs.entry.js +11 -25
- package/dist/cjs/limel-select.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
- package/dist/cjs/limel-slider.cjs.entry.js +1 -1
- package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
- package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
- package/dist/cjs/limel-switch.cjs.entry.js +2 -2
- package/dist/cjs/limel-tab-bar.cjs.entry.js +1 -1
- package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/limel-table.cjs.entry.js +1 -1
- package/dist/cjs/limel-text-editor.cjs.entry.js +8 -27
- package/dist/cjs/limel-text-editor.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{make-enter-clickable-c116ac4f.js → make-enter-clickable-71e4750b.js} +2 -2
- package/dist/cjs/{make-enter-clickable-c116ac4f.js.map → make-enter-clickable-71e4750b.js.map} +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/chip-set/chip-set.css +28 -412
- package/dist/collection/components/chip-set/chip-set.js +51 -54
- package/dist/collection/components/chip-set/chip-set.js.map +1 -1
- package/dist/collection/components/input-field/input-field.css +9 -300
- package/dist/collection/components/input-field/input-field.js +1 -17
- package/dist/collection/components/input-field/input-field.js.map +1 -1
- package/dist/collection/components/notched-outline/notched-outline.css +297 -0
- package/dist/collection/components/notched-outline/notched-outline.js +221 -0
- package/dist/collection/components/notched-outline/notched-outline.js.map +1 -0
- package/dist/collection/components/select/select.css +5 -33
- package/dist/collection/components/select/select.template.js +8 -19
- package/dist/collection/components/select/select.template.js.map +1 -1
- package/dist/collection/components/text-editor/text-editor.css +5 -102
- package/dist/collection/components/text-editor/text-editor.js +7 -26
- package/dist/collection/components/text-editor/text-editor.js.map +1 -1
- package/dist/collection/style/internal/shared_input-select-picker.scss +8 -2
- package/dist/esm/{checkbox.template-c42b7020.js → checkbox.template-1fd53d7b.js} +2 -2
- package/dist/esm/{checkbox.template-c42b7020.js.map → checkbox.template-1fd53d7b.js.map} +1 -1
- package/dist/esm/{index-6156b4fd.js → index-2714248e.js} +387 -9
- package/dist/esm/index-2714248e.js.map +1 -0
- package/dist/esm/lime-elements.js +3 -3
- package/dist/esm/limel-3d-hover-effect-glow.entry.js +1 -1
- package/dist/esm/limel-action-bar-item_2.entry.js +2 -2
- package/dist/esm/limel-action-bar_2.entry.js +1 -1
- package/dist/esm/limel-badge_3.entry.js +1 -1
- package/dist/esm/limel-banner.entry.js +1 -1
- package/dist/esm/{limel-breadcrumbs_7.entry.js → limel-breadcrumbs_8.entry.js} +40 -23
- package/dist/esm/limel-breadcrumbs_8.entry.js.map +1 -0
- package/dist/esm/limel-button-group.entry.js +1 -1
- package/dist/esm/limel-button.entry.js +2 -2
- package/dist/esm/limel-callout.entry.js +1 -1
- package/dist/esm/limel-card.entry.js +1 -1
- package/dist/esm/limel-chart.entry.js +1 -1
- package/dist/esm/limel-checkbox.entry.js +2 -2
- package/dist/esm/limel-chip_2.entry.js +53 -56
- package/dist/esm/limel-chip_2.entry.js.map +1 -1
- package/dist/esm/limel-circular-progress.entry.js +1 -1
- package/dist/esm/limel-code-editor.entry.js +1 -1
- package/dist/esm/limel-collapsible-section.entry.js +2 -2
- package/dist/esm/limel-color-picker-palette.entry.js +1 -1
- package/dist/esm/limel-color-picker.entry.js +1 -1
- package/dist/esm/limel-config.entry.js +1 -1
- package/dist/esm/limel-date-picker.entry.js +1 -1
- package/dist/esm/limel-dialog.entry.js +1 -1
- package/dist/esm/limel-dock-button.entry.js +1 -1
- package/dist/esm/limel-dock.entry.js +1 -1
- package/dist/esm/limel-dynamic-label_2.entry.js +1 -1
- package/dist/esm/limel-file-dropzone_2.entry.js +1 -1
- package/dist/esm/limel-file-viewer.entry.js +1 -1
- package/dist/esm/limel-file.entry.js +1 -1
- package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
- package/dist/esm/limel-flex-container.entry.js +1 -1
- package/dist/esm/limel-form.entry.js +1 -1
- package/dist/esm/limel-grid.entry.js +1 -1
- package/dist/esm/limel-header.entry.js +1 -1
- package/dist/esm/limel-help-content.entry.js +1 -1
- package/dist/esm/limel-help.entry.js +1 -1
- package/dist/esm/limel-icon-button.entry.js +2 -2
- package/dist/esm/limel-icon.entry.js +1 -1
- package/dist/esm/limel-info-tile.entry.js +1 -1
- package/dist/esm/limel-linear-progress.entry.js +1 -1
- package/dist/esm/limel-markdown.entry.js +1 -1
- package/dist/esm/limel-picker.entry.js +1 -1
- package/dist/esm/limel-popover_2.entry.js +1 -1
- package/dist/esm/limel-portal.entry.js +1 -1
- package/dist/esm/limel-progress-flow-item.entry.js +1 -1
- package/dist/esm/limel-progress-flow.entry.js +1 -1
- package/dist/esm/limel-prosemirror-adapter.entry.js +1 -1
- package/dist/esm/limel-select.entry.js +11 -25
- package/dist/esm/limel-select.entry.js.map +1 -1
- package/dist/esm/limel-shortcut.entry.js +1 -1
- package/dist/esm/limel-slider.entry.js +1 -1
- package/dist/esm/limel-snackbar.entry.js +1 -1
- package/dist/esm/limel-split-button.entry.js +1 -1
- package/dist/esm/limel-switch.entry.js +2 -2
- package/dist/esm/limel-tab-bar.entry.js +1 -1
- package/dist/esm/limel-tab-panel.entry.js +1 -1
- package/dist/esm/limel-table.entry.js +1 -1
- package/dist/esm/limel-text-editor.entry.js +8 -27
- package/dist/esm/limel-text-editor.entry.js.map +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{make-enter-clickable-a30589fb.js → make-enter-clickable-5334fc26.js} +2 -2
- package/dist/esm/{make-enter-clickable-a30589fb.js.map → make-enter-clickable-5334fc26.js.map} +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/lime-elements.esm.js.map +1 -1
- package/dist/lime-elements/{p-fda881a3.entry.js → p-02197b98.entry.js} +2 -2
- package/dist/lime-elements/{p-f95a5cb5.entry.js → p-0960ca61.entry.js} +2 -2
- package/dist/lime-elements/{p-fd0ea2e9.entry.js → p-0aa2f9c0.entry.js} +2 -2
- package/dist/lime-elements/{p-85ffcf55.entry.js → p-10d1256b.entry.js} +2 -2
- package/dist/lime-elements/{p-2b294a69.entry.js → p-1942e25c.entry.js} +2 -2
- package/dist/lime-elements/{p-d93f1964.entry.js → p-19688e05.entry.js} +2 -2
- package/dist/lime-elements/{p-c923b97d.entry.js → p-1f142e39.entry.js} +2 -2
- package/dist/lime-elements/{p-4f70c0aa.entry.js → p-254c9b18.entry.js} +2 -2
- package/dist/lime-elements/{p-3a605df3.entry.js → p-26e06ef4.entry.js} +2 -2
- package/dist/lime-elements/p-288f0842.js +3 -0
- package/dist/lime-elements/p-288f0842.js.map +1 -0
- package/dist/lime-elements/{p-8f1b76df.entry.js → p-28a6fec9.entry.js} +2 -2
- package/dist/lime-elements/{p-e329fd1e.entry.js → p-28e5fef5.entry.js} +2 -2
- package/dist/lime-elements/{p-211456f2.entry.js → p-2c7e5deb.entry.js} +2 -2
- package/dist/lime-elements/{p-28c76ae8.entry.js → p-30cef284.entry.js} +2 -2
- package/dist/lime-elements/{p-fe08f7c9.entry.js → p-3cd846eb.entry.js} +2 -2
- package/dist/lime-elements/p-447e573c.entry.js +2 -0
- package/dist/lime-elements/p-447e573c.entry.js.map +1 -0
- package/dist/lime-elements/{p-e86af8b6.js → p-46cbc6d9.js} +2 -2
- package/dist/lime-elements/{p-f340d860.entry.js → p-48e9f4ea.entry.js} +2 -2
- package/dist/lime-elements/{p-36cf3031.entry.js → p-49432af9.entry.js} +2 -2
- package/dist/lime-elements/{p-89eaca66.entry.js → p-4eae90f7.entry.js} +2 -2
- package/dist/lime-elements/{p-ea98795d.entry.js → p-4ed15eb7.entry.js} +2 -2
- package/dist/lime-elements/{p-0aeff0b6.entry.js → p-54ff8dcb.entry.js} +2 -2
- package/dist/lime-elements/{p-3d6dc7de.entry.js → p-56de9524.entry.js} +2 -2
- package/dist/lime-elements/{p-02564969.entry.js → p-58acbdcc.entry.js} +2 -2
- package/dist/lime-elements/{p-dc6846e1.entry.js → p-5e325fee.entry.js} +2 -2
- package/dist/lime-elements/{p-16e4ca3e.entry.js → p-5e68e5f7.entry.js} +2 -2
- package/dist/lime-elements/{p-c632261b.entry.js → p-5f39d366.entry.js} +2 -2
- package/dist/lime-elements/{p-a2eee29e.entry.js → p-5fd7abb8.entry.js} +2 -2
- package/dist/lime-elements/{p-06b5aa10.entry.js → p-61766ba1.entry.js} +2 -2
- package/dist/lime-elements/{p-b5f723e2.entry.js → p-69b6119b.entry.js} +2 -2
- package/dist/lime-elements/{p-1bcdc70b.entry.js → p-6c2fdad7.entry.js} +2 -2
- package/dist/lime-elements/{p-5d08ef7d.entry.js → p-74a15b9e.entry.js} +2 -2
- package/dist/lime-elements/{p-f3cbbaf5.entry.js → p-76b845b0.entry.js} +2 -2
- package/dist/lime-elements/p-7993102f.entry.js +68 -0
- package/dist/lime-elements/p-7993102f.entry.js.map +1 -0
- package/dist/lime-elements/{p-40016256.entry.js → p-818f71b8.entry.js} +2 -2
- package/dist/lime-elements/{p-8baf79cf.entry.js → p-82290560.entry.js} +2 -2
- package/dist/lime-elements/{p-3c5a0769.entry.js → p-874e3af6.entry.js} +2 -2
- package/dist/lime-elements/{p-8579a166.entry.js → p-8b61a573.entry.js} +2 -2
- package/dist/lime-elements/{p-d6660d2a.entry.js → p-93d5ebeb.entry.js} +2 -2
- package/dist/lime-elements/{p-54ac08f5.entry.js → p-9cec73a7.entry.js} +2 -2
- package/dist/lime-elements/{p-8f6f643d.entry.js → p-a809b9a8.entry.js} +2 -2
- package/dist/lime-elements/{p-66501d69.entry.js → p-aabeba98.entry.js} +2 -2
- package/dist/lime-elements/p-ad568d69.entry.js +2 -0
- package/dist/lime-elements/p-ad568d69.entry.js.map +1 -0
- package/dist/lime-elements/{p-0863261f.entry.js → p-bab6b677.entry.js} +2 -2
- package/dist/lime-elements/{p-fa8ea2db.entry.js → p-bd278c51.entry.js} +2 -2
- package/dist/lime-elements/{p-8e7788a1.entry.js → p-c30e11ce.entry.js} +2 -2
- package/dist/lime-elements/{p-6500050d.entry.js → p-d05ebeb1.entry.js} +2 -2
- package/dist/lime-elements/{p-1c5f50f0.entry.js → p-d532cab0.entry.js} +2 -2
- package/dist/lime-elements/{p-ad3f6808.entry.js → p-d814fd97.entry.js} +2 -2
- package/dist/lime-elements/{p-9c5f2c45.entry.js → p-da37b2af.entry.js} +2 -2
- package/dist/lime-elements/{p-dbcde7db.entry.js → p-dcacda04.entry.js} +2 -2
- package/dist/lime-elements/{p-2078a6e2.entry.js → p-e655e6a1.entry.js} +2 -2
- package/dist/lime-elements/{p-26623b2d.entry.js → p-e9015886.entry.js} +2 -2
- package/dist/lime-elements/{p-1c16aa9b.entry.js → p-e9d11321.entry.js} +2 -2
- package/dist/lime-elements/{p-869d6d77.js → p-f221011c.js} +2 -2
- package/dist/lime-elements/{p-53404aa6.entry.js → p-f6aad3ee.entry.js} +9 -9
- package/dist/lime-elements/p-f6aad3ee.entry.js.map +1 -0
- package/dist/lime-elements/{p-ece3a0f5.entry.js → p-fc078f90.entry.js} +2 -2
- package/dist/lime-elements/{p-2793f6d0.entry.js → p-fe5fd06b.entry.js} +2 -2
- package/dist/lime-elements/style/internal/shared_input-select-picker.scss +8 -2
- package/dist/types/components/chip-set/chip-set.d.ts +4 -4
- package/dist/types/components/input-field/input-field.d.ts +0 -2
- package/dist/types/components/notched-outline/notched-outline.d.ts +75 -0
- package/dist/types/components/text-editor/text-editor.d.ts +1 -2
- package/dist/types/components.d.ts +145 -0
- package/package.json +1 -1
- package/dist/cjs/index-d1052409.js.map +0 -1
- package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js.map +0 -1
- package/dist/esm/index-6156b4fd.js.map +0 -1
- package/dist/esm/limel-breadcrumbs_7.entry.js.map +0 -1
- package/dist/lime-elements/p-443111b3.js +0 -3
- package/dist/lime-elements/p-443111b3.js.map +0 -1
- package/dist/lime-elements/p-53404aa6.entry.js.map +0 -1
- package/dist/lime-elements/p-62a21e92.entry.js +0 -2
- package/dist/lime-elements/p-62a21e92.entry.js.map +0 -1
- package/dist/lime-elements/p-8900110f.entry.js +0 -2
- package/dist/lime-elements/p-8900110f.entry.js.map +0 -1
- package/dist/lime-elements/p-d05a7803.entry.js +0 -68
- package/dist/lime-elements/p-d05a7803.entry.js.map +0 -1
- /package/dist/lime-elements/{p-fda881a3.entry.js.map → p-02197b98.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-f95a5cb5.entry.js.map → p-0960ca61.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-fd0ea2e9.entry.js.map → p-0aa2f9c0.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-85ffcf55.entry.js.map → p-10d1256b.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-2b294a69.entry.js.map → p-1942e25c.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-d93f1964.entry.js.map → p-19688e05.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-c923b97d.entry.js.map → p-1f142e39.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-4f70c0aa.entry.js.map → p-254c9b18.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-3a605df3.entry.js.map → p-26e06ef4.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-8f1b76df.entry.js.map → p-28a6fec9.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-e329fd1e.entry.js.map → p-28e5fef5.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-211456f2.entry.js.map → p-2c7e5deb.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-28c76ae8.entry.js.map → p-30cef284.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-fe08f7c9.entry.js.map → p-3cd846eb.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-e86af8b6.js.map → p-46cbc6d9.js.map} +0 -0
- /package/dist/lime-elements/{p-f340d860.entry.js.map → p-48e9f4ea.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-36cf3031.entry.js.map → p-49432af9.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-89eaca66.entry.js.map → p-4eae90f7.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-ea98795d.entry.js.map → p-4ed15eb7.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-0aeff0b6.entry.js.map → p-54ff8dcb.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-3d6dc7de.entry.js.map → p-56de9524.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-02564969.entry.js.map → p-58acbdcc.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-dc6846e1.entry.js.map → p-5e325fee.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-16e4ca3e.entry.js.map → p-5e68e5f7.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-c632261b.entry.js.map → p-5f39d366.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-a2eee29e.entry.js.map → p-5fd7abb8.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-06b5aa10.entry.js.map → p-61766ba1.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-b5f723e2.entry.js.map → p-69b6119b.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-1bcdc70b.entry.js.map → p-6c2fdad7.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-5d08ef7d.entry.js.map → p-74a15b9e.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-f3cbbaf5.entry.js.map → p-76b845b0.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-40016256.entry.js.map → p-818f71b8.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-8baf79cf.entry.js.map → p-82290560.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-3c5a0769.entry.js.map → p-874e3af6.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-8579a166.entry.js.map → p-8b61a573.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-d6660d2a.entry.js.map → p-93d5ebeb.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-54ac08f5.entry.js.map → p-9cec73a7.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-8f6f643d.entry.js.map → p-a809b9a8.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-66501d69.entry.js.map → p-aabeba98.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-0863261f.entry.js.map → p-bab6b677.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-fa8ea2db.entry.js.map → p-bd278c51.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-8e7788a1.entry.js.map → p-c30e11ce.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-6500050d.entry.js.map → p-d05ebeb1.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-1c5f50f0.entry.js.map → p-d532cab0.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-ad3f6808.entry.js.map → p-d814fd97.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-9c5f2c45.entry.js.map → p-da37b2af.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-dbcde7db.entry.js.map → p-dcacda04.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-2078a6e2.entry.js.map → p-e655e6a1.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-26623b2d.entry.js.map → p-e9015886.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-1c16aa9b.entry.js.map → p-e9d11321.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-869d6d77.js.map → p-f221011c.js.map} +0 -0
- /package/dist/lime-elements/{p-ece3a0f5.entry.js.map → p-fc078f90.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-2793f6d0.entry.js.map → p-fe5fd06b.entry.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [38.7.2](https://github.com/Lundalogik/lime-elements/compare/v38.7.1...v38.7.2) (2025-04-16)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
* **text-editor:** improve accessibility, using more aria roles ([6eb35c2](https://github.com/Lundalogik/lime-elements/commit/6eb35c2666961707963a85efbd7d916e9cb7c477))
|
|
8
|
+
|
|
1
9
|
## [38.7.1](https://github.com/Lundalogik/lime-elements/compare/v38.7.0...v38.7.1) (2025-04-01)
|
|
2
10
|
|
|
3
11
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const index = require('./index-
|
|
3
|
+
const index = require('./index-174a078a.js');
|
|
4
4
|
|
|
5
5
|
const CheckboxTemplate = (props) => {
|
|
6
6
|
const inputProps = {};
|
|
@@ -54,4 +54,4 @@ const HelperText = (props) => {
|
|
|
54
54
|
|
|
55
55
|
exports.CheckboxTemplate = CheckboxTemplate;
|
|
56
56
|
|
|
57
|
-
//# sourceMappingURL=checkbox.template-
|
|
57
|
+
//# sourceMappingURL=checkbox.template-60f3ffb2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"checkbox.template-
|
|
1
|
+
{"file":"checkbox.template-60f3ffb2.js","mappings":";;;;MAmBa,gBAAgB,GAA+C,CACxE,KAAK;EAEL,MAAM,UAAU,GAAG,EAAE,CAAC;EACtB,IAAI,KAAK,CAAC,QAAQ,EAAE;IAChB,IAAI,IAAI,GAAkB,OAAO,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,EAAE;MACf,IAAI,GAAG;QACH,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,0BAA0B;OACpC,CAAC;KACL;IAED,OAAO;MACHA,iCACI,KAAK,EAAE,KAAK,CAAC,OAAO,mBACL,KAAK,CAAC,YAAY,EACjC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAC/C,MAAM,EAAE,KAAK,CAAC,cAAc,GAC9B;MACFA,QAAC,UAAU,IACP,IAAI,EAAE,KAAK,CAAC,UAAU,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB;KACL,CAAC;GACL;EAED,IAAI,KAAK,CAAC,aAAa,EAAE;IACrB,UAAU,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC;GAC7C;EAED,OAAO;IACHA,iBAAK,KAAK,EAAC,iBAAiB;MACxBA,iBACI,KAAK,EAAE;UACH,cAAc,EAAE,IAAI;UACpB,uBAAuB,EAAE,KAAK,CAAC,OAAO;UACtC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,6BAA6B,EAAE,KAAK,CAAC,aAAa;UAClD,yBAAyB,EAAE,KAAK,CAAC,QAAQ;SAC5C;QAEDA,iCACI,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,8BAA8B,EACpC,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,mBACT,KAAK,CAAC,YAAY,sBACf,KAAK,CAAC,YAAY,IAChC,UAAU,EAChB;QACFA,iBAAK,KAAK,EAAC,0BAA0B;UACjCA,iBAAK,KAAK,EAAC,yBAAyB,EAAC,OAAO,EAAC,WAAW;YACpDA,kBACI,KAAK,EAAC,8BAA8B,EACpC,IAAI,EAAC,MAAM,EACX,CAAC,EAAC,kCAAkC,GACtC,CACA;UACNA,iBAAK,KAAK,EAAC,yBAAyB,GAAG,CACrC,CACJ;MACNA,mBACI,KAAK,EAAE;UACH,uBAAuB,EAAE,KAAK,CAAC,OAAO;UACtC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,6BAA6B,EAAE,KAAK,CAAC,aAAa;UAClD,yBAAyB,EAAE,KAAK,CAAC,QAAQ;SAC5C,EACD,OAAO,EAAE,KAAK,CAAC,EAAE,IAEhB,KAAK,CAAC,KAAK,CACR,CACN;IACNA,QAAC,UAAU,IACP,IAAI,EAAE,KAAK,CAAC,UAAU,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB;GACL,CAAC;AACN,EAAE;AAEF,MAAM,UAAU,GAIX,CAAC,KAAK;EACP,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;IAChC,OAAO;GACV;EAED,QACIA,+BACI,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAC7B,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB,EACJ;AACN,CAAC;;;;","names":["h"],"sources":["./src/components/checkbox/checkbox.template.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\nimport { Label } from '../dynamic-label/label.types';\nimport { Icon } from '../../interface';\n\ninterface CheckboxTemplateProps {\n disabled?: boolean;\n id: string;\n checked?: boolean;\n readonly?: boolean;\n indeterminate?: boolean;\n required?: boolean;\n invalid?: boolean;\n onChange?: (event: Event) => void;\n label?: string;\n helperText?: string;\n helperTextId?: string;\n readonlyLabels?: Array<Label<boolean>>;\n}\n\nexport const CheckboxTemplate: FunctionalComponent<CheckboxTemplateProps> = (\n props,\n) => {\n const inputProps = {};\n if (props.readonly) {\n let icon: string | Icon = 'minus';\n if (props.checked) {\n icon = {\n name: 'ok',\n color: 'var(--mdc-theme-primary)',\n };\n }\n\n return [\n <limel-dynamic-label\n value={props.checked}\n aria-controls={props.helperTextId}\n defaultLabel={{ text: props.label, icon: icon }}\n labels={props.readonlyLabels}\n />,\n <HelperText\n text={props.helperText}\n helperTextId={props.helperTextId}\n invalid={props.invalid}\n />,\n ];\n }\n\n if (props.indeterminate) {\n inputProps['data-indeterminate'] = 'true';\n }\n\n return [\n <div class=\"mdc-form-field \">\n <div\n class={{\n 'mdc-checkbox': true,\n 'mdc-checkbox--invalid': props.invalid,\n 'mdc-checkbox--disabled': props.disabled,\n 'mdc-checkbox--required': props.required,\n 'mdc-checkbox--indeterminate': props.indeterminate,\n 'lime-checkbox--readonly': props.readonly,\n }}\n >\n <input\n type=\"checkbox\"\n class=\"mdc-checkbox__native-control\"\n id={props.id}\n checked={props.checked}\n disabled={props.disabled || props.readonly}\n required={props.required}\n onChange={props.onChange}\n aria-controls={props.helperTextId}\n aria-describedby={props.helperTextId}\n {...inputProps}\n />\n <div class=\"mdc-checkbox__background\">\n <svg class=\"mdc-checkbox__checkmark\" viewBox=\"0 0 24 24\">\n <path\n class=\"mdc-checkbox__checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"\n />\n </svg>\n <div class=\"mdc-checkbox__mixedmark\" />\n </div>\n </div>\n <label\n class={{\n 'mdc-checkbox--invalid': props.invalid,\n 'mdc-checkbox--disabled': props.disabled,\n 'mdc-checkbox--required': props.required,\n 'mdc-checkbox--indeterminate': props.indeterminate,\n 'lime-checkbox--readonly': props.readonly,\n }}\n htmlFor={props.id}\n >\n {props.label}\n </label>\n </div>,\n <HelperText\n text={props.helperText}\n helperTextId={props.helperTextId}\n invalid={props.invalid}\n />,\n ];\n};\n\nconst HelperText: FunctionalComponent<{\n helperTextId: string;\n text: string;\n invalid?: boolean;\n}> = (props) => {\n if (typeof props.text !== 'string') {\n return;\n }\n\n return (\n <limel-helper-line\n helperText={props.text.trim()}\n helperTextId={props.helperTextId}\n invalid={props.invalid}\n />\n );\n};\n"],"version":3}
|
|
@@ -31,7 +31,11 @@ const NAMESPACE = 'lime-elements';
|
|
|
31
31
|
* Modified for Stencil's renderer and slot projection
|
|
32
32
|
*/
|
|
33
33
|
let scopeId;
|
|
34
|
+
let contentRef;
|
|
34
35
|
let hostTagName;
|
|
36
|
+
let useNativeShadowDom = false;
|
|
37
|
+
let checkSlotFallbackVisibility = false;
|
|
38
|
+
let checkSlotRelocate = false;
|
|
35
39
|
let isSvgMode = false;
|
|
36
40
|
let queuePending = false;
|
|
37
41
|
const createTime = (fnName, tagName = '') => {
|
|
@@ -101,6 +105,7 @@ function queryNonceMetaTagContent(doc) {
|
|
|
101
105
|
const h = (nodeName, vnodeData, ...children) => {
|
|
102
106
|
let child = null;
|
|
103
107
|
let key = null;
|
|
108
|
+
let slotName = null;
|
|
104
109
|
let simple = false;
|
|
105
110
|
let lastSimple = false;
|
|
106
111
|
const vNodeChildren = [];
|
|
@@ -132,6 +137,9 @@ const h = (nodeName, vnodeData, ...children) => {
|
|
|
132
137
|
if (vnodeData.key) {
|
|
133
138
|
key = vnodeData.key;
|
|
134
139
|
}
|
|
140
|
+
if (vnodeData.name) {
|
|
141
|
+
slotName = vnodeData.name;
|
|
142
|
+
}
|
|
135
143
|
{
|
|
136
144
|
const classData = vnodeData.className || vnodeData.class;
|
|
137
145
|
if (classData) {
|
|
@@ -156,6 +164,9 @@ const h = (nodeName, vnodeData, ...children) => {
|
|
|
156
164
|
{
|
|
157
165
|
vnode.$key$ = key;
|
|
158
166
|
}
|
|
167
|
+
{
|
|
168
|
+
vnode.$name$ = slotName;
|
|
169
|
+
}
|
|
159
170
|
return vnode;
|
|
160
171
|
};
|
|
161
172
|
/**
|
|
@@ -180,6 +191,9 @@ const newVNode = (tag, text) => {
|
|
|
180
191
|
{
|
|
181
192
|
vnode.$key$ = null;
|
|
182
193
|
}
|
|
194
|
+
{
|
|
195
|
+
vnode.$name$ = null;
|
|
196
|
+
}
|
|
183
197
|
return vnode;
|
|
184
198
|
};
|
|
185
199
|
const Host = {};
|
|
@@ -582,16 +596,39 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
582
596
|
let i = 0;
|
|
583
597
|
let elm;
|
|
584
598
|
let childNode;
|
|
599
|
+
let oldVNode;
|
|
600
|
+
if (!useNativeShadowDom) {
|
|
601
|
+
// remember for later we need to check to relocate nodes
|
|
602
|
+
checkSlotRelocate = true;
|
|
603
|
+
if (newVNode.$tag$ === 'slot') {
|
|
604
|
+
if (scopeId) {
|
|
605
|
+
// scoped css needs to add its scoped id to the parent element
|
|
606
|
+
parentElm.classList.add(scopeId + '-s');
|
|
607
|
+
}
|
|
608
|
+
newVNode.$flags$ |= newVNode.$children$
|
|
609
|
+
? // slot element has fallback content
|
|
610
|
+
2 /* VNODE_FLAGS.isSlotFallback */
|
|
611
|
+
: // slot element does not have fallback content
|
|
612
|
+
1 /* VNODE_FLAGS.isSlotReference */;
|
|
613
|
+
}
|
|
614
|
+
}
|
|
585
615
|
if (newVNode.$text$ !== null) {
|
|
586
616
|
// create text node
|
|
587
617
|
elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
|
|
588
618
|
}
|
|
619
|
+
else if (newVNode.$flags$ & 1 /* VNODE_FLAGS.isSlotReference */) {
|
|
620
|
+
// create a slot reference node
|
|
621
|
+
elm = newVNode.$elm$ =
|
|
622
|
+
doc.createTextNode('');
|
|
623
|
+
}
|
|
589
624
|
else {
|
|
590
625
|
if (!isSvgMode) {
|
|
591
626
|
isSvgMode = newVNode.$tag$ === 'svg';
|
|
592
627
|
}
|
|
593
628
|
// create element
|
|
594
|
-
elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$
|
|
629
|
+
elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$flags$ & 2 /* VNODE_FLAGS.isSlotFallback */
|
|
630
|
+
? 'slot-fb'
|
|
631
|
+
: newVNode.$tag$)
|
|
595
632
|
);
|
|
596
633
|
if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
|
|
597
634
|
isSvgMode = false;
|
|
@@ -608,7 +645,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
608
645
|
if (newVNode.$children$) {
|
|
609
646
|
for (i = 0; i < newVNode.$children$.length; ++i) {
|
|
610
647
|
// create the node
|
|
611
|
-
childNode = createElm(oldParentVNode, newVNode, i);
|
|
648
|
+
childNode = createElm(oldParentVNode, newVNode, i, elm);
|
|
612
649
|
// return node could have been null
|
|
613
650
|
if (childNode) {
|
|
614
651
|
// append our new node
|
|
@@ -627,8 +664,50 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
627
664
|
}
|
|
628
665
|
}
|
|
629
666
|
}
|
|
667
|
+
{
|
|
668
|
+
elm['s-hn'] = hostTagName;
|
|
669
|
+
if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
|
|
670
|
+
// remember the content reference comment
|
|
671
|
+
elm['s-sr'] = true;
|
|
672
|
+
// remember the content reference comment
|
|
673
|
+
elm['s-cr'] = contentRef;
|
|
674
|
+
// remember the slot name, or empty string for default slot
|
|
675
|
+
elm['s-sn'] = newVNode.$name$ || '';
|
|
676
|
+
// check if we've got an old vnode for this slot
|
|
677
|
+
oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
|
|
678
|
+
if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
|
|
679
|
+
// we've got an old slot vnode and the wrapper is being replaced
|
|
680
|
+
// so let's move the old slot content back to it's original location
|
|
681
|
+
putBackInOriginalLocation(oldParentVNode.$elm$, false);
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
}
|
|
630
685
|
return elm;
|
|
631
686
|
};
|
|
687
|
+
const putBackInOriginalLocation = (parentElm, recursive) => {
|
|
688
|
+
plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
|
|
689
|
+
const oldSlotChildNodes = parentElm.childNodes;
|
|
690
|
+
for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
|
|
691
|
+
const childNode = oldSlotChildNodes[i];
|
|
692
|
+
if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
|
|
693
|
+
// // this child node in the old element is from another component
|
|
694
|
+
// // remove this node from the old slot's parent
|
|
695
|
+
// childNode.remove();
|
|
696
|
+
// and relocate it back to it's original location
|
|
697
|
+
parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
|
|
698
|
+
// remove the old original location comment entirely
|
|
699
|
+
// later on the patch function will know what to do
|
|
700
|
+
// and move this to the correct spot in need be
|
|
701
|
+
childNode['s-ol'].remove();
|
|
702
|
+
childNode['s-ol'] = undefined;
|
|
703
|
+
checkSlotRelocate = true;
|
|
704
|
+
}
|
|
705
|
+
if (recursive) {
|
|
706
|
+
putBackInOriginalLocation(childNode, recursive);
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
|
|
710
|
+
};
|
|
632
711
|
/**
|
|
633
712
|
* Create DOM nodes corresponding to a list of {@link d.Vnode} objects and
|
|
634
713
|
* add them to the DOM in the appropriate place.
|
|
@@ -645,17 +724,17 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
645
724
|
* creating DOM nodes (inclusive)
|
|
646
725
|
*/
|
|
647
726
|
const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
|
|
648
|
-
let containerElm = (parentElm);
|
|
727
|
+
let containerElm = ((parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);
|
|
649
728
|
let childNode;
|
|
650
729
|
if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
|
|
651
730
|
containerElm = containerElm.shadowRoot;
|
|
652
731
|
}
|
|
653
732
|
for (; startIdx <= endIdx; ++startIdx) {
|
|
654
733
|
if (vnodes[startIdx]) {
|
|
655
|
-
childNode = createElm(null, parentVNode, startIdx);
|
|
734
|
+
childNode = createElm(null, parentVNode, startIdx, parentElm);
|
|
656
735
|
if (childNode) {
|
|
657
736
|
vnodes[startIdx].$elm$ = childNode;
|
|
658
|
-
containerElm.insertBefore(childNode, before);
|
|
737
|
+
containerElm.insertBefore(childNode, referenceNode(before) );
|
|
659
738
|
}
|
|
660
739
|
}
|
|
661
740
|
}
|
|
@@ -678,6 +757,20 @@ const removeVnodes = (vnodes, startIdx, endIdx) => {
|
|
|
678
757
|
const elm = vnode.$elm$;
|
|
679
758
|
nullifyVNodeRefs(vnode);
|
|
680
759
|
if (elm) {
|
|
760
|
+
{
|
|
761
|
+
// we're removing this element
|
|
762
|
+
// so it's possible we need to show slot fallback content now
|
|
763
|
+
checkSlotFallbackVisibility = true;
|
|
764
|
+
if (elm['s-ol']) {
|
|
765
|
+
// remove the original location comment
|
|
766
|
+
elm['s-ol'].remove();
|
|
767
|
+
}
|
|
768
|
+
else {
|
|
769
|
+
// it's possible that child nodes of the node
|
|
770
|
+
// that's being removed are slot nodes
|
|
771
|
+
putBackInOriginalLocation(elm, true);
|
|
772
|
+
}
|
|
773
|
+
}
|
|
681
774
|
// remove the vnode's element from the dom
|
|
682
775
|
elm.remove();
|
|
683
776
|
}
|
|
@@ -797,6 +890,23 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
797
890
|
newEndVnode = newCh[--newEndIdx];
|
|
798
891
|
}
|
|
799
892
|
else if (isSameVnode(oldStartVnode, newEndVnode)) {
|
|
893
|
+
// case: "Vnode moved right"
|
|
894
|
+
//
|
|
895
|
+
// We've found that the last node in our window on the new children is
|
|
896
|
+
// the same VNode as the _first_ node in our window on the old children
|
|
897
|
+
// we're dealing with now. Visually, this is the layout of these two
|
|
898
|
+
// nodes:
|
|
899
|
+
//
|
|
900
|
+
// newCh: [..., newStartVnode , ... , newEndVnode , ...]
|
|
901
|
+
// ^^^^^^^^^^^
|
|
902
|
+
// oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
|
|
903
|
+
// ^^^^^^^^^^^^^
|
|
904
|
+
//
|
|
905
|
+
// In this situation we need to patch `newEndVnode` onto `oldStartVnode`
|
|
906
|
+
// and move the DOM element for `oldStartVnode`.
|
|
907
|
+
if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
|
|
908
|
+
putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
|
|
909
|
+
}
|
|
800
910
|
patch(oldStartVnode, newEndVnode);
|
|
801
911
|
// We need to move the element for `oldStartVnode` into a position which
|
|
802
912
|
// will be appropriate for `newEndVnode`. For this we can use
|
|
@@ -820,6 +930,24 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
820
930
|
newEndVnode = newCh[--newEndIdx];
|
|
821
931
|
}
|
|
822
932
|
else if (isSameVnode(oldEndVnode, newStartVnode)) {
|
|
933
|
+
// case: "Vnode moved left"
|
|
934
|
+
//
|
|
935
|
+
// We've found that the first node in our window on the new children is
|
|
936
|
+
// the same VNode as the _last_ node in our window on the old children.
|
|
937
|
+
// Visually, this is the layout of these two nodes:
|
|
938
|
+
//
|
|
939
|
+
// newCh: [..., newStartVnode , ... , newEndVnode , ...]
|
|
940
|
+
// ^^^^^^^^^^^^^
|
|
941
|
+
// oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
|
|
942
|
+
// ^^^^^^^^^^^
|
|
943
|
+
//
|
|
944
|
+
// In this situation we need to patch `newStartVnode` onto `oldEndVnode`
|
|
945
|
+
// (which will handle updating any changed attributes, reconciling their
|
|
946
|
+
// children etc) but we also need to move the DOM node to which
|
|
947
|
+
// `oldEndVnode` corresponds.
|
|
948
|
+
if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
|
|
949
|
+
putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
|
|
950
|
+
}
|
|
823
951
|
patch(oldEndVnode, newStartVnode);
|
|
824
952
|
// We've already checked above if `oldStartVnode` and `newStartVnode` are
|
|
825
953
|
// the same node, so since we're here we know that they are not. Thus we
|
|
@@ -854,7 +982,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
854
982
|
elmToMove = oldCh[idxInOld];
|
|
855
983
|
if (elmToMove.$tag$ !== newStartVnode.$tag$) {
|
|
856
984
|
// the tag doesn't match so we'll need a new DOM element
|
|
857
|
-
node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld);
|
|
985
|
+
node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm);
|
|
858
986
|
}
|
|
859
987
|
else {
|
|
860
988
|
patch(elmToMove, newStartVnode);
|
|
@@ -870,13 +998,13 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
870
998
|
// the key of the first new child OR the build is not using `key`
|
|
871
999
|
// attributes at all. In either case we need to create a new element
|
|
872
1000
|
// for the new node.
|
|
873
|
-
node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
|
|
1001
|
+
node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);
|
|
874
1002
|
newStartVnode = newCh[++newStartIdx];
|
|
875
1003
|
}
|
|
876
1004
|
if (node) {
|
|
877
1005
|
// if we created a new node then handle inserting it to the DOM
|
|
878
1006
|
{
|
|
879
|
-
oldStartVnode.$elm
|
|
1007
|
+
parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));
|
|
880
1008
|
}
|
|
881
1009
|
}
|
|
882
1010
|
}
|
|
@@ -914,6 +1042,9 @@ const isSameVnode = (leftVNode, rightVNode) => {
|
|
|
914
1042
|
// compare if two vnode to see if they're "technically" the same
|
|
915
1043
|
// need to have the same element tag, and same key to be the same
|
|
916
1044
|
if (leftVNode.$tag$ === rightVNode.$tag$) {
|
|
1045
|
+
if (leftVNode.$tag$ === 'slot') {
|
|
1046
|
+
return leftVNode.$name$ === rightVNode.$name$;
|
|
1047
|
+
}
|
|
917
1048
|
// this will be set if components in the build have `key` attrs set on them
|
|
918
1049
|
{
|
|
919
1050
|
return leftVNode.$key$ === rightVNode.$key$;
|
|
@@ -921,6 +1052,14 @@ const isSameVnode = (leftVNode, rightVNode) => {
|
|
|
921
1052
|
}
|
|
922
1053
|
return false;
|
|
923
1054
|
};
|
|
1055
|
+
const referenceNode = (node) => {
|
|
1056
|
+
// this node was relocated to a new location in the dom
|
|
1057
|
+
// because of some other component's slot
|
|
1058
|
+
// but we still have an html comment in place of where
|
|
1059
|
+
// it's original location was according to it's original vdom
|
|
1060
|
+
return (node && node['s-ol']) || node;
|
|
1061
|
+
};
|
|
1062
|
+
const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode;
|
|
924
1063
|
/**
|
|
925
1064
|
* Handle reconciling an outdated VNode with a new one which corresponds to
|
|
926
1065
|
* it. This function handles flushing updates to the DOM and reconciling the
|
|
@@ -935,6 +1074,7 @@ const patch = (oldVNode, newVNode) => {
|
|
|
935
1074
|
const newChildren = newVNode.$children$;
|
|
936
1075
|
const tag = newVNode.$tag$;
|
|
937
1076
|
const text = newVNode.$text$;
|
|
1077
|
+
let defaultHolder;
|
|
938
1078
|
if (text === null) {
|
|
939
1079
|
{
|
|
940
1080
|
// test if we're rendering an svg element, or still rendering nodes inside of one
|
|
@@ -973,12 +1113,147 @@ const patch = (oldVNode, newVNode) => {
|
|
|
973
1113
|
isSvgMode = false;
|
|
974
1114
|
}
|
|
975
1115
|
}
|
|
1116
|
+
else if ((defaultHolder = elm['s-cr'])) {
|
|
1117
|
+
// this element has slotted content
|
|
1118
|
+
defaultHolder.parentNode.textContent = text;
|
|
1119
|
+
}
|
|
976
1120
|
else if (oldVNode.$text$ !== text) {
|
|
977
1121
|
// update the text content for the text only vnode
|
|
978
1122
|
// and also only if the text is different than before
|
|
979
1123
|
elm.data = text;
|
|
980
1124
|
}
|
|
981
1125
|
};
|
|
1126
|
+
const updateFallbackSlotVisibility = (elm) => {
|
|
1127
|
+
// tslint:disable-next-line: prefer-const
|
|
1128
|
+
const childNodes = elm.childNodes;
|
|
1129
|
+
let childNode;
|
|
1130
|
+
let i;
|
|
1131
|
+
let ilen;
|
|
1132
|
+
let j;
|
|
1133
|
+
let slotNameAttr;
|
|
1134
|
+
let nodeType;
|
|
1135
|
+
for (i = 0, ilen = childNodes.length; i < ilen; i++) {
|
|
1136
|
+
childNode = childNodes[i];
|
|
1137
|
+
if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
1138
|
+
if (childNode['s-sr']) {
|
|
1139
|
+
// this is a slot fallback node
|
|
1140
|
+
// get the slot name for this slot reference node
|
|
1141
|
+
slotNameAttr = childNode['s-sn'];
|
|
1142
|
+
// by default always show a fallback slot node
|
|
1143
|
+
// then hide it if there are other slots in the light dom
|
|
1144
|
+
childNode.hidden = false;
|
|
1145
|
+
for (j = 0; j < ilen; j++) {
|
|
1146
|
+
nodeType = childNodes[j].nodeType;
|
|
1147
|
+
if (childNodes[j]['s-hn'] !== childNode['s-hn'] || slotNameAttr !== '') {
|
|
1148
|
+
// this sibling node is from a different component OR is a named fallback slot node
|
|
1149
|
+
if (nodeType === 1 /* NODE_TYPE.ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {
|
|
1150
|
+
childNode.hidden = true;
|
|
1151
|
+
break;
|
|
1152
|
+
}
|
|
1153
|
+
}
|
|
1154
|
+
else {
|
|
1155
|
+
// this is a default fallback slot node
|
|
1156
|
+
// any element or text node (with content)
|
|
1157
|
+
// should hide the default fallback slot node
|
|
1158
|
+
if (nodeType === 1 /* NODE_TYPE.ElementNode */ ||
|
|
1159
|
+
(nodeType === 3 /* NODE_TYPE.TextNode */ && childNodes[j].textContent.trim() !== '')) {
|
|
1160
|
+
childNode.hidden = true;
|
|
1161
|
+
break;
|
|
1162
|
+
}
|
|
1163
|
+
}
|
|
1164
|
+
}
|
|
1165
|
+
}
|
|
1166
|
+
// keep drilling down
|
|
1167
|
+
updateFallbackSlotVisibility(childNode);
|
|
1168
|
+
}
|
|
1169
|
+
}
|
|
1170
|
+
};
|
|
1171
|
+
const relocateNodes = [];
|
|
1172
|
+
const relocateSlotContent = (elm) => {
|
|
1173
|
+
// tslint:disable-next-line: prefer-const
|
|
1174
|
+
let childNode;
|
|
1175
|
+
let node;
|
|
1176
|
+
let hostContentNodes;
|
|
1177
|
+
let slotNameAttr;
|
|
1178
|
+
let relocateNodeData;
|
|
1179
|
+
let j;
|
|
1180
|
+
let i = 0;
|
|
1181
|
+
const childNodes = elm.childNodes;
|
|
1182
|
+
const ilen = childNodes.length;
|
|
1183
|
+
for (; i < ilen; i++) {
|
|
1184
|
+
childNode = childNodes[i];
|
|
1185
|
+
if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
|
|
1186
|
+
// first got the content reference comment node
|
|
1187
|
+
// then we got it's parent, which is where all the host content is in now
|
|
1188
|
+
hostContentNodes = node.parentNode.childNodes;
|
|
1189
|
+
slotNameAttr = childNode['s-sn'];
|
|
1190
|
+
for (j = hostContentNodes.length - 1; j >= 0; j--) {
|
|
1191
|
+
node = hostContentNodes[j];
|
|
1192
|
+
if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {
|
|
1193
|
+
// let's do some relocating to its new home
|
|
1194
|
+
// but never relocate a content reference node
|
|
1195
|
+
// that is suppose to always represent the original content location
|
|
1196
|
+
if (isNodeLocatedInSlot(node, slotNameAttr)) {
|
|
1197
|
+
// it's possible we've already decided to relocate this node
|
|
1198
|
+
relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
|
|
1199
|
+
// made some changes to slots
|
|
1200
|
+
// let's make sure we also double check
|
|
1201
|
+
// fallbacks are correctly hidden or shown
|
|
1202
|
+
checkSlotFallbackVisibility = true;
|
|
1203
|
+
node['s-sn'] = node['s-sn'] || slotNameAttr;
|
|
1204
|
+
if (relocateNodeData) {
|
|
1205
|
+
// previously we never found a slot home for this node
|
|
1206
|
+
// but turns out we did, so let's remember it now
|
|
1207
|
+
relocateNodeData.$slotRefNode$ = childNode;
|
|
1208
|
+
}
|
|
1209
|
+
else {
|
|
1210
|
+
// add to our list of nodes to relocate
|
|
1211
|
+
relocateNodes.push({
|
|
1212
|
+
$slotRefNode$: childNode,
|
|
1213
|
+
$nodeToRelocate$: node,
|
|
1214
|
+
});
|
|
1215
|
+
}
|
|
1216
|
+
if (node['s-sr']) {
|
|
1217
|
+
relocateNodes.map((relocateNode) => {
|
|
1218
|
+
if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {
|
|
1219
|
+
relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
|
|
1220
|
+
if (relocateNodeData && !relocateNode.$slotRefNode$) {
|
|
1221
|
+
relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
});
|
|
1225
|
+
}
|
|
1226
|
+
}
|
|
1227
|
+
else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
|
|
1228
|
+
// so far this element does not have a slot home, not setting slotRefNode on purpose
|
|
1229
|
+
// if we never find a home for this element then we'll need to hide it
|
|
1230
|
+
relocateNodes.push({
|
|
1231
|
+
$nodeToRelocate$: node,
|
|
1232
|
+
});
|
|
1233
|
+
}
|
|
1234
|
+
}
|
|
1235
|
+
}
|
|
1236
|
+
}
|
|
1237
|
+
if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
1238
|
+
relocateSlotContent(childNode);
|
|
1239
|
+
}
|
|
1240
|
+
}
|
|
1241
|
+
};
|
|
1242
|
+
const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
|
|
1243
|
+
if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
1244
|
+
if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {
|
|
1245
|
+
return true;
|
|
1246
|
+
}
|
|
1247
|
+
if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {
|
|
1248
|
+
return true;
|
|
1249
|
+
}
|
|
1250
|
+
return false;
|
|
1251
|
+
}
|
|
1252
|
+
if (nodeToRelocate['s-sn'] === slotNameAttr) {
|
|
1253
|
+
return true;
|
|
1254
|
+
}
|
|
1255
|
+
return slotNameAttr === '';
|
|
1256
|
+
};
|
|
982
1257
|
/**
|
|
983
1258
|
* 'Nullify' any VDom `ref` callbacks on a VDom node or its children by
|
|
984
1259
|
* calling them with `null`. This signals that the DOM element corresponding to
|
|
@@ -1021,8 +1296,90 @@ const renderVdom = (hostRef, renderFnResults) => {
|
|
|
1021
1296
|
{
|
|
1022
1297
|
scopeId = hostElm['s-sc'];
|
|
1023
1298
|
}
|
|
1299
|
+
{
|
|
1300
|
+
contentRef = hostElm['s-cr'];
|
|
1301
|
+
useNativeShadowDom = (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) !== 0;
|
|
1302
|
+
// always reset
|
|
1303
|
+
checkSlotFallbackVisibility = false;
|
|
1304
|
+
}
|
|
1024
1305
|
// synchronous patch
|
|
1025
1306
|
patch(oldVNode, rootVnode);
|
|
1307
|
+
{
|
|
1308
|
+
// while we're moving nodes around existing nodes, temporarily disable
|
|
1309
|
+
// the disconnectCallback from working
|
|
1310
|
+
plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
|
|
1311
|
+
if (checkSlotRelocate) {
|
|
1312
|
+
relocateSlotContent(rootVnode.$elm$);
|
|
1313
|
+
let relocateData;
|
|
1314
|
+
let nodeToRelocate;
|
|
1315
|
+
let orgLocationNode;
|
|
1316
|
+
let parentNodeRef;
|
|
1317
|
+
let insertBeforeNode;
|
|
1318
|
+
let refNode;
|
|
1319
|
+
let i = 0;
|
|
1320
|
+
for (; i < relocateNodes.length; i++) {
|
|
1321
|
+
relocateData = relocateNodes[i];
|
|
1322
|
+
nodeToRelocate = relocateData.$nodeToRelocate$;
|
|
1323
|
+
if (!nodeToRelocate['s-ol']) {
|
|
1324
|
+
// add a reference node marking this node's original location
|
|
1325
|
+
// keep a reference to this node for later lookups
|
|
1326
|
+
orgLocationNode =
|
|
1327
|
+
doc.createTextNode('');
|
|
1328
|
+
orgLocationNode['s-nr'] = nodeToRelocate;
|
|
1329
|
+
nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
|
|
1330
|
+
}
|
|
1331
|
+
}
|
|
1332
|
+
for (i = 0; i < relocateNodes.length; i++) {
|
|
1333
|
+
relocateData = relocateNodes[i];
|
|
1334
|
+
nodeToRelocate = relocateData.$nodeToRelocate$;
|
|
1335
|
+
if (relocateData.$slotRefNode$) {
|
|
1336
|
+
// by default we're just going to insert it directly
|
|
1337
|
+
// after the slot reference node
|
|
1338
|
+
parentNodeRef = relocateData.$slotRefNode$.parentNode;
|
|
1339
|
+
insertBeforeNode = relocateData.$slotRefNode$.nextSibling;
|
|
1340
|
+
orgLocationNode = nodeToRelocate['s-ol'];
|
|
1341
|
+
while ((orgLocationNode = orgLocationNode.previousSibling)) {
|
|
1342
|
+
refNode = orgLocationNode['s-nr'];
|
|
1343
|
+
if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
|
|
1344
|
+
refNode = refNode.nextSibling;
|
|
1345
|
+
if (!refNode || !refNode['s-nr']) {
|
|
1346
|
+
insertBeforeNode = refNode;
|
|
1347
|
+
break;
|
|
1348
|
+
}
|
|
1349
|
+
}
|
|
1350
|
+
}
|
|
1351
|
+
if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
|
|
1352
|
+
nodeToRelocate.nextSibling !== insertBeforeNode) {
|
|
1353
|
+
// we've checked that it's worth while to relocate
|
|
1354
|
+
// since that the node to relocate
|
|
1355
|
+
// has a different next sibling or parent relocated
|
|
1356
|
+
if (nodeToRelocate !== insertBeforeNode) {
|
|
1357
|
+
if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
|
|
1358
|
+
// probably a component in the index.html that doesn't have it's hostname set
|
|
1359
|
+
nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
|
|
1360
|
+
}
|
|
1361
|
+
// add it back to the dom but in its new home
|
|
1362
|
+
parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
|
|
1363
|
+
}
|
|
1364
|
+
}
|
|
1365
|
+
}
|
|
1366
|
+
else {
|
|
1367
|
+
// this node doesn't have a slot home to go to, so let's hide it
|
|
1368
|
+
if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
1369
|
+
nodeToRelocate.hidden = true;
|
|
1370
|
+
}
|
|
1371
|
+
}
|
|
1372
|
+
}
|
|
1373
|
+
}
|
|
1374
|
+
if (checkSlotFallbackVisibility) {
|
|
1375
|
+
updateFallbackSlotVisibility(rootVnode.$elm$);
|
|
1376
|
+
}
|
|
1377
|
+
// done moving nodes around
|
|
1378
|
+
// allow the disconnect callback to work again
|
|
1379
|
+
plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
|
|
1380
|
+
// always reset
|
|
1381
|
+
relocateNodes.length = 0;
|
|
1382
|
+
}
|
|
1026
1383
|
};
|
|
1027
1384
|
const attachToAncestor = (hostRef, ancestorComponent) => {
|
|
1028
1385
|
if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
|
|
@@ -1523,6 +1880,16 @@ const connectedCallback = (elm) => {
|
|
|
1523
1880
|
if (!(hostRef.$flags$ & 1 /* HOST_FLAGS.hasConnected */)) {
|
|
1524
1881
|
// first time this component has connected
|
|
1525
1882
|
hostRef.$flags$ |= 1 /* HOST_FLAGS.hasConnected */;
|
|
1883
|
+
{
|
|
1884
|
+
// initUpdate
|
|
1885
|
+
// if the slot polyfill is required we'll need to put some nodes
|
|
1886
|
+
// in here to act as original content anchors as we move nodes around
|
|
1887
|
+
// host element has been connected to the DOM
|
|
1888
|
+
if ((// TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
|
|
1889
|
+
cmpMeta.$flags$ & (4 /* CMP_FLAGS.hasSlotRelocation */ | 8 /* CMP_FLAGS.needsShadowDomShim */))) {
|
|
1890
|
+
setContentReference(elm);
|
|
1891
|
+
}
|
|
1892
|
+
}
|
|
1526
1893
|
{
|
|
1527
1894
|
// find the first ancestor component (if there is one) and register
|
|
1528
1895
|
// this component as one of the actively loading child components for its ancestor
|
|
@@ -1564,6 +1931,17 @@ const connectedCallback = (elm) => {
|
|
|
1564
1931
|
endConnected();
|
|
1565
1932
|
}
|
|
1566
1933
|
};
|
|
1934
|
+
const setContentReference = (elm) => {
|
|
1935
|
+
// only required when we're NOT using native shadow dom (slot)
|
|
1936
|
+
// or this browser doesn't support native shadow dom
|
|
1937
|
+
// and this host element was NOT created with SSR
|
|
1938
|
+
// let's pick out the inner content for slot projection
|
|
1939
|
+
// create a node to represent where the original
|
|
1940
|
+
// content was first placed, which is useful later on
|
|
1941
|
+
const contentRefElm = (elm['s-cr'] = doc.createComment(''));
|
|
1942
|
+
contentRefElm['s-cn'] = true;
|
|
1943
|
+
elm.insertBefore(contentRefElm, elm.firstChild);
|
|
1944
|
+
};
|
|
1567
1945
|
const disconnectedCallback = (elm) => {
|
|
1568
1946
|
if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
|
|
1569
1947
|
const hostRef = getHostRef(elm);
|
|
@@ -1847,4 +2225,4 @@ exports.promiseResolve = promiseResolve;
|
|
|
1847
2225
|
exports.registerInstance = registerInstance;
|
|
1848
2226
|
exports.setNonce = setNonce;
|
|
1849
2227
|
|
|
1850
|
-
//# sourceMappingURL=index-
|
|
2228
|
+
//# sourceMappingURL=index-174a078a.js.map
|