@limetech/lime-elements 40.12.3 → 40.13.1
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 +18 -0
- package/dist/cjs/drag-to-reorder-BP5YkPuu.js +3092 -0
- package/dist/cjs/lime-elements.cjs.js +1 -1
- package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +1 -1
- package/dist/cjs/limel-action-bar_3.cjs.entry.js +4 -4
- package/dist/cjs/limel-ai-avatar.cjs.entry.js +2 -2
- package/dist/cjs/limel-badge.cjs.entry.js +2 -2
- package/dist/cjs/limel-banner.cjs.entry.js +1 -1
- package/dist/cjs/limel-breadcrumbs_6.cjs.entry.js +6 -6
- 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 +2 -2
- 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 +1 -1
- package/dist/cjs/limel-chip-set.cjs.entry.js +2 -2
- package/dist/cjs/limel-chip_2.cjs.entry.js +2 -2
- package/dist/cjs/limel-circular-progress.cjs.entry.js +1 -1
- package/dist/cjs/limel-code-diff.cjs.entry.js +2 -2
- package/dist/cjs/limel-code-editor.cjs.entry.js +2 -2
- package/dist/cjs/limel-collapsible-section.cjs.entry.js +2 -2
- package/dist/cjs/limel-color-picker-palette.cjs.entry.js +2 -2
- package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
- package/dist/cjs/limel-dialog.cjs.entry.js +2 -2
- package/dist/cjs/limel-dock.cjs.entry.js +3 -3
- package/dist/cjs/{limel-scroller.cjs.entry.js → limel-drag-handle_2.cjs.entry.js} +40 -2
- package/dist/cjs/limel-email-viewer.cjs.entry.js +2 -2
- package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +2 -2
- package/dist/cjs/limel-file-viewer.cjs.entry.js +65 -56
- package/dist/cjs/limel-file.cjs.entry.js +2 -2
- package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +2 -2
- package/dist/cjs/limel-flex-container.cjs.entry.js +1 -1
- package/dist/cjs/limel-form.cjs.entry.js +539 -3171
- 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 +2 -2
- package/dist/cjs/limel-helper-line_3.cjs.entry.js +4 -4
- package/dist/cjs/limel-hotkey_4.cjs.entry.js +5 -5
- package/dist/cjs/limel-icon-button.cjs.entry.js +1 -1
- package/dist/cjs/limel-icon.cjs.entry.js +1 -1
- package/dist/cjs/limel-info-tile.cjs.entry.js +2 -2
- package/dist/cjs/limel-list-item.cjs.entry.js +3 -3
- package/dist/cjs/limel-markdown.cjs.entry.js +1 -1
- package/dist/cjs/limel-masonry-layout.cjs.entry.js +1 -1
- package/dist/cjs/limel-menu-item-meta.cjs.entry.js +1 -1
- package/dist/cjs/limel-pagination-jump.cjs.entry.js +1 -1
- package/dist/cjs/limel-pagination.cjs.entry.js +2 -2
- package/dist/cjs/limel-picker.cjs.entry.js +2 -2
- package/dist/cjs/limel-popover_2.cjs.entry.js +2 -2
- package/dist/cjs/limel-profile-picture.cjs.entry.js +1 -1
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +2 -2
- package/dist/cjs/limel-radio-button-group.cjs.entry.js +1 -1
- package/dist/cjs/limel-radio-button.cjs.entry.js +2 -2
- package/dist/cjs/limel-resize-handle.cjs.entry.js +43 -2
- package/dist/cjs/limel-select.cjs.entry.js +1 -1
- package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
- package/dist/cjs/limel-side-panel.cjs.entry.js +16 -6
- package/dist/cjs/limel-slider.cjs.entry.js +4 -4
- package/dist/cjs/limel-snackbar.cjs.entry.js +3 -3
- package/dist/cjs/limel-split-button.cjs.entry.js +2 -2
- package/dist/cjs/limel-switch.cjs.entry.js +1 -1
- package/dist/cjs/limel-tab-bar.cjs.entry.js +120 -16
- package/dist/cjs/limel-tab-panel.cjs.entry.js +7 -1
- package/dist/cjs/limel-table.cjs.entry.js +3 -3
- package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +4 -4
- package/dist/cjs/limel-text-editor.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{translations-DDyw5Zzz.js → translations-CLSqfR3x.js} +56 -0
- package/dist/collection/components/3d-hover-effect-glow/3d-hover-effect-glow.js +1 -1
- package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js +1 -1
- package/dist/collection/components/action-bar/action-bar.js +2 -2
- package/dist/collection/components/ai-avatar/ai-avatar.js +1 -1
- package/dist/collection/components/badge/badge.js +2 -2
- package/dist/collection/components/banner/banner.js +1 -1
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
- package/dist/collection/components/button/button.js +2 -2
- package/dist/collection/components/button-group/button-group.js +1 -1
- package/dist/collection/components/callout/callout.js +1 -1
- package/dist/collection/components/card/card.js +1 -1
- package/dist/collection/components/checkbox/checkbox.js +1 -1
- package/dist/collection/components/chip/chip.js +1 -1
- package/dist/collection/components/chip-set/chip-set.js +1 -1
- package/dist/collection/components/circular-progress/circular-progress.js +1 -1
- package/dist/collection/components/code-diff/code-diff.js +1 -1
- package/dist/collection/components/code-editor/code-editor.js +1 -1
- package/dist/collection/components/collapsible-section/collapsible-section.js +1 -1
- package/dist/collection/components/color-picker/color-picker-palette.js +2 -2
- package/dist/collection/components/color-picker/color-picker.js +1 -1
- package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +1 -1
- package/dist/collection/components/dialog/dialog.js +2 -2
- package/dist/collection/components/dock/dock.js +2 -2
- package/dist/collection/components/drag-handle/drag-handle.js +1 -1
- package/dist/collection/components/email-viewer/email-viewer.js +1 -1
- package/dist/collection/components/file/file.js +1 -1
- package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
- package/dist/collection/components/file-input/file-input.js +1 -1
- package/dist/collection/components/flex-container/flex-container.js +1 -1
- package/dist/collection/components/form/form.css +59 -0
- package/dist/collection/components/form/form.js +49 -2
- package/dist/collection/components/form/show-field.js +116 -0
- package/dist/collection/components/form/templates/array-field-collapsible-item.js +1 -0
- package/dist/collection/components/form/templates/array-field-item.js +5 -0
- package/dist/collection/components/form/templates/array-field.js +20 -158
- package/dist/collection/components/form/templates/field.js +17 -0
- package/dist/collection/components/grid/grid.js +1 -1
- package/dist/collection/components/header/header.js +1 -1
- package/dist/collection/components/help/help-content.js +1 -1
- package/dist/collection/components/help/help.js +2 -2
- package/dist/collection/components/helper-line/helper-line.js +2 -2
- package/dist/collection/components/hotkey/hotkey.js +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/icon-button/icon-button.js +1 -1
- package/dist/collection/components/info-tile/info-tile.js +2 -2
- package/dist/collection/components/input-field/input-field.js +1 -1
- package/dist/collection/components/list/list.js +1 -1
- package/dist/collection/components/list-item/list-item.js +2 -2
- package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +1 -1
- package/dist/collection/components/markdown/markdown.js +1 -1
- package/dist/collection/components/masonry-layout/masonry-layout.js +1 -1
- package/dist/collection/components/menu/menu.js +1 -1
- package/dist/collection/components/menu-list/menu-list.js +1 -1
- package/dist/collection/components/menu-surface/menu-surface.js +1 -1
- package/dist/collection/components/notched-outline/notched-outline.js +1 -1
- package/dist/collection/components/pagination/pagination.js +1 -1
- package/dist/collection/components/picker/picker.js +1 -1
- package/dist/collection/components/popover/popover.js +1 -1
- package/dist/collection/components/popover-surface/popover-surface.js +1 -1
- package/dist/collection/components/portal/portal.js +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
- package/dist/collection/components/radio-button-group/radio-button.js +2 -2
- package/dist/collection/components/resize-handle/resize-handle.css +35 -33
- package/dist/collection/components/resize-handle/resize-handle.js +86 -4
- package/dist/collection/components/scroller/scroller.js +2 -2
- package/dist/collection/components/select/select.js +1 -1
- package/dist/collection/components/shortcut/shortcut.js +1 -1
- package/dist/collection/components/side-panel/side-panel.js +44 -27
- package/dist/collection/components/slider/slider.js +3 -3
- package/dist/collection/components/snackbar/snackbar.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-button/split-button.js +2 -2
- package/dist/collection/components/switch/switch.js +1 -1
- package/dist/collection/components/tab-bar/tab-bar.css +68 -22
- package/dist/collection/components/tab-bar/tab-bar.js +131 -4
- package/dist/collection/components/tab-bar/tabs.js +23 -0
- package/dist/collection/components/tab-panel/tab-panel.js +54 -1
- package/dist/collection/components/table/table.js +2 -2
- package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +3 -3
- package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +1 -1
- package/dist/collection/components/text-editor/text-editor.js +1 -1
- package/dist/collection/components/tooltip/tooltip-content.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js +2 -2
- package/dist/collection/translations/da.js +7 -0
- package/dist/collection/translations/de.js +7 -0
- package/dist/collection/translations/en.js +7 -0
- package/dist/collection/translations/fi.js +7 -0
- package/dist/collection/translations/fr.js +7 -0
- package/dist/collection/translations/nl.js +7 -0
- package/dist/collection/translations/no.js +7 -0
- package/dist/collection/translations/sv.js +7 -0
- package/dist/collection/util/drag-to-reorder.js +116 -0
- package/dist/esm/{_baseForOwn-D5j7fHlv.js → _baseForOwn-vKFWmmaS.js} +1 -1
- package/dist/esm/{_baseIsEqual-CyF4P8uM.js → _baseIsEqual-B_JRErB0.js} +1 -1
- package/dist/esm/{_baseIteratee-CpbczHY1.js → _baseIteratee-CVz7aes3.js} +1 -1
- package/dist/esm/{_baseSet-Cw2IE6ZF.js → _baseSet-BUAq8NGm.js} +1 -1
- package/dist/esm/{cloneDeep-DAbOtbs8.js → cloneDeep-Bcll-3f8.js} +1 -1
- package/dist/esm/drag-to-reorder-BXmXIwCa.js +3086 -0
- package/dist/esm/{isEqual-CE83yS8T.js → isEqual-C-pK6AAU.js} +1 -1
- package/dist/esm/lime-elements.js +1 -1
- package/dist/esm/limel-3d-hover-effect-glow.entry.js +1 -1
- package/dist/esm/limel-action-bar_3.entry.js +4 -4
- package/dist/esm/limel-ai-avatar.entry.js +2 -2
- package/dist/esm/limel-badge.entry.js +2 -2
- package/dist/esm/limel-banner.entry.js +1 -1
- package/dist/esm/limel-breadcrumbs_6.entry.js +6 -6
- 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 +2 -2
- 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 +1 -1
- package/dist/esm/limel-chip-set.entry.js +4 -4
- package/dist/esm/limel-chip_2.entry.js +2 -2
- package/dist/esm/limel-circular-progress.entry.js +1 -1
- package/dist/esm/limel-code-diff.entry.js +2 -2
- package/dist/esm/limel-code-editor.entry.js +2 -2
- package/dist/esm/limel-collapsible-section.entry.js +2 -2
- package/dist/esm/limel-color-picker-palette.entry.js +2 -2
- package/dist/esm/limel-color-picker.entry.js +1 -1
- package/dist/esm/limel-dialog.entry.js +4 -4
- package/dist/esm/limel-dock.entry.js +3 -3
- package/dist/esm/{limel-scroller.entry.js → limel-drag-handle_2.entry.js} +40 -3
- package/dist/esm/limel-email-viewer.entry.js +2 -2
- package/dist/esm/limel-file-dropzone_2.entry.js +5 -5
- package/dist/esm/limel-file-viewer.entry.js +65 -56
- package/dist/esm/limel-file.entry.js +2 -2
- package/dist/esm/limel-flatpickr-adapter.entry.js +2 -2
- package/dist/esm/limel-flex-container.entry.js +1 -1
- package/dist/esm/limel-form.entry.js +536 -3168
- 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 +2 -2
- package/dist/esm/limel-helper-line_3.entry.js +4 -4
- package/dist/esm/limel-hotkey_4.entry.js +5 -5
- package/dist/esm/limel-icon-button.entry.js +1 -1
- package/dist/esm/limel-icon.entry.js +1 -1
- package/dist/esm/limel-info-tile.entry.js +2 -2
- package/dist/esm/limel-list-item.entry.js +3 -3
- package/dist/esm/limel-markdown.entry.js +1 -1
- package/dist/esm/limel-masonry-layout.entry.js +1 -1
- package/dist/esm/limel-menu-item-meta.entry.js +1 -1
- package/dist/esm/limel-pagination-jump.entry.js +1 -1
- package/dist/esm/limel-pagination.entry.js +2 -2
- package/dist/esm/limel-picker.entry.js +2 -2
- package/dist/esm/limel-popover_2.entry.js +2 -2
- package/dist/esm/limel-profile-picture.entry.js +1 -1
- package/dist/esm/limel-prosemirror-adapter.entry.js +5 -5
- package/dist/esm/limel-radio-button-group.entry.js +1 -1
- package/dist/esm/limel-radio-button.entry.js +2 -2
- package/dist/esm/limel-resize-handle.entry.js +43 -2
- package/dist/esm/limel-select.entry.js +1 -1
- package/dist/esm/limel-shortcut.entry.js +1 -1
- package/dist/esm/limel-side-panel.entry.js +16 -6
- package/dist/esm/limel-slider.entry.js +4 -4
- package/dist/esm/limel-snackbar.entry.js +3 -3
- package/dist/esm/limel-split-button.entry.js +2 -2
- package/dist/esm/limel-switch.entry.js +1 -1
- package/dist/esm/limel-tab-bar.entry.js +117 -13
- package/dist/esm/limel-tab-panel.entry.js +7 -1
- package/dist/esm/limel-table.entry.js +7 -7
- package/dist/esm/limel-text-editor-link-menu.entry.js +4 -4
- package/dist/esm/limel-text-editor.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{translations-UrIr-5_D.js → translations-Drl5LNAD.js} +56 -0
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/{p-35bc5ed2.entry.js → p-01de145c.entry.js} +1 -1
- package/dist/lime-elements/{p-3ee121fa.entry.js → p-026eed2d.entry.js} +1 -1
- package/dist/lime-elements/{p-9ff6a455.entry.js → p-068b141b.entry.js} +1 -1
- package/dist/lime-elements/{p-9168793f.entry.js → p-09f8f883.entry.js} +1 -1
- package/dist/lime-elements/p-1066a057.entry.js +1 -0
- package/dist/lime-elements/{p-95322502.entry.js → p-1663fa9d.entry.js} +1 -1
- package/dist/lime-elements/{p-def7b38f.entry.js → p-17aa9235.entry.js} +1 -1
- package/dist/lime-elements/{p-910807cb.entry.js → p-19426c76.entry.js} +1 -1
- package/dist/lime-elements/{p-622660dd.entry.js → p-1d6014ed.entry.js} +1 -1
- package/dist/lime-elements/p-2370ff51.entry.js +1 -0
- package/dist/lime-elements/{p-0f18981d.entry.js → p-242f1032.entry.js} +1 -1
- package/dist/lime-elements/{p-828558cf.entry.js → p-27d375f3.entry.js} +1 -1
- package/dist/lime-elements/{p-2ba9d62f.entry.js → p-300f80e7.entry.js} +1 -1
- package/dist/lime-elements/{p-9ca18ba5.entry.js → p-3b4f6329.entry.js} +1 -1
- package/dist/lime-elements/{p-2528f75e.entry.js → p-3de45ea6.entry.js} +2 -2
- package/dist/lime-elements/{p-675a7469.entry.js → p-3f447d22.entry.js} +1 -1
- package/dist/lime-elements/{p-780dae0b.entry.js → p-3fa66fb1.entry.js} +1 -1
- package/dist/lime-elements/{p-09390c6a.entry.js → p-41172b62.entry.js} +1 -1
- package/dist/lime-elements/{p-d5144955.entry.js → p-41fb6e88.entry.js} +1 -1
- package/dist/lime-elements/{p-f4c9940e.entry.js → p-44ec1f22.entry.js} +1 -1
- package/dist/lime-elements/{p-268b4da1.entry.js → p-4a272ac2.entry.js} +1 -1
- package/dist/lime-elements/{p-e25bfb2c.entry.js → p-4a381bc6.entry.js} +1 -1
- package/dist/lime-elements/p-56fe13ef.entry.js +1 -0
- package/dist/lime-elements/p-5d623004.entry.js +1 -0
- package/dist/lime-elements/{p-8a59698f.entry.js → p-5ea07cbe.entry.js} +1 -1
- package/dist/lime-elements/p-600466a9.entry.js +1 -0
- package/dist/lime-elements/{p-657bfa36.entry.js → p-62b6e235.entry.js} +1 -1
- package/dist/lime-elements/p-64540beb.entry.js +1 -0
- package/dist/lime-elements/{p-1020ca20.entry.js → p-674680f9.entry.js} +1 -1
- package/dist/lime-elements/{p-d79d777e.entry.js → p-67536ac3.entry.js} +1 -1
- package/dist/lime-elements/{p-dd075353.entry.js → p-6770cf06.entry.js} +1 -1
- package/dist/lime-elements/{p-887eea11.entry.js → p-7375fac2.entry.js} +1 -1
- package/dist/lime-elements/{p-fb15f608.entry.js → p-7829198d.entry.js} +1 -1
- package/dist/lime-elements/{p-abed5afd.entry.js → p-82672504.entry.js} +1 -1
- package/dist/lime-elements/{p-24e5d420.entry.js → p-8339d921.entry.js} +1 -1
- package/dist/lime-elements/{p-33ed0c68.entry.js → p-87c9f4de.entry.js} +1 -1
- package/dist/lime-elements/{p-7a290372.entry.js → p-89316964.entry.js} +1 -1
- package/dist/lime-elements/{p-527e9c95.entry.js → p-8a9361a2.entry.js} +1 -1
- package/dist/lime-elements/{p-46bf8b22.entry.js → p-8e78fd4f.entry.js} +1 -1
- package/dist/lime-elements/{p-db1f9eba.entry.js → p-8f133cd6.entry.js} +1 -1
- package/dist/lime-elements/{p-ff4a8b89.entry.js → p-90198515.entry.js} +1 -1
- package/dist/lime-elements/{p-236743f1.entry.js → p-95ca7426.entry.js} +1 -1
- package/dist/lime-elements/{p-55b56742.entry.js → p-9aa921a2.entry.js} +1 -1
- package/dist/lime-elements/{p-540b2b24.entry.js → p-9bbf2612.entry.js} +1 -1
- package/dist/lime-elements/{p-a449ca04.entry.js → p-9d354eca.entry.js} +1 -1
- package/dist/lime-elements/{p-68542e00.entry.js → p-9e9187ce.entry.js} +1 -1
- package/dist/lime-elements/p-B26k4gw8.js +1 -0
- package/dist/lime-elements/p-BAqAt5It.js +1 -0
- package/dist/lime-elements/p-Cu9Ji1iJ.js +1 -0
- package/dist/lime-elements/{p-BY5NjPj8.js → p-D9Ezd43A.js} +1 -1
- package/dist/lime-elements/{p-nVemxylR.js → p-DFu1q54T.js} +1 -1
- package/dist/lime-elements/p-DdnBHYb-.js +7 -0
- package/dist/lime-elements/{p-B6-3WXAv.js → p-DeIIlp6m.js} +1 -1
- package/dist/lime-elements/p-Dq0uNStc.js +1 -0
- package/dist/lime-elements/{p-4a7df81a.entry.js → p-aac603af.entry.js} +1 -1
- package/dist/lime-elements/{p-5473eb74.entry.js → p-aee75ad1.entry.js} +1 -1
- package/dist/lime-elements/{p-4882acaa.entry.js → p-afbe54e6.entry.js} +1 -1
- package/dist/lime-elements/{p-a78aaf37.entry.js → p-b5ebcbfc.entry.js} +1 -1
- package/dist/lime-elements/{p-07916acc.entry.js → p-be8950a6.entry.js} +2 -2
- package/dist/lime-elements/p-c8cb4912.entry.js +16 -0
- package/dist/lime-elements/{p-de4d261a.entry.js → p-dd065596.entry.js} +1 -1
- package/dist/lime-elements/{p-0c2ce99b.entry.js → p-ddabfac0.entry.js} +1 -1
- package/dist/lime-elements/{p-d3475514.entry.js → p-de3cf7d8.entry.js} +1 -1
- package/dist/lime-elements/{p-458c131f.entry.js → p-e13e0001.entry.js} +2 -2
- package/dist/lime-elements/p-e2971111.entry.js +1 -0
- package/dist/lime-elements/{p-ecded772.entry.js → p-e332bb9b.entry.js} +1 -1
- package/dist/lime-elements/{p-54631dbf.entry.js → p-e50acec1.entry.js} +1 -1
- package/dist/lime-elements/{p-074275f4.entry.js → p-e9b1e0bd.entry.js} +1 -1
- package/dist/lime-elements/p-ec531ecb.entry.js +1 -0
- package/dist/lime-elements/{p-90286e5c.entry.js → p-f0bf3fd1.entry.js} +1 -1
- package/dist/lime-elements/p-f1ac7608.entry.js +1 -0
- package/dist/lime-elements/{p-c12fbc91.entry.js → p-f455150b.entry.js} +1 -1
- package/dist/types/components/form/form.d.ts +15 -0
- package/dist/types/components/form/show-field.d.ts +9 -0
- package/dist/types/components/form/templates/array-context.d.ts +4 -0
- package/dist/types/components/form/templates/array-field-collapsible-item.d.ts +5 -0
- package/dist/types/components/form/templates/array-field.d.ts +3 -13
- package/dist/types/components/form/templates/field.d.ts +1 -0
- package/dist/types/components/form/templates/object-field.d.ts +2 -2
- package/dist/types/components/resize-handle/resize-handle.d.ts +31 -2
- package/dist/types/components/side-panel/side-panel.d.ts +11 -4
- package/dist/types/components/tab-bar/tab-bar.d.ts +25 -0
- package/dist/types/components/tab-bar/tab.types.d.ts +18 -0
- package/dist/types/components/tab-bar/tabs.d.ts +12 -1
- package/dist/types/components/tab-panel/tab-panel.d.ts +18 -1
- package/dist/types/components.d.ts +143 -18
- package/dist/types/translations/da.d.ts +7 -0
- package/dist/types/translations/de.d.ts +7 -0
- package/dist/types/translations/en.d.ts +7 -0
- package/dist/types/translations/fi.d.ts +7 -0
- package/dist/types/translations/fr.d.ts +7 -0
- package/dist/types/translations/nl.d.ts +7 -0
- package/dist/types/translations/no.d.ts +7 -0
- package/dist/types/translations/sv.d.ts +7 -0
- package/dist/types/util/drag-to-reorder.d.ts +65 -0
- package/package.json +4 -4
- package/dist/cjs/isArrayLikeObject-U2Ddbw4n.js +0 -326
- package/dist/cjs/limel-drag-handle.cjs.entry.js +0 -42
- package/dist/esm/isArrayLikeObject-CJB8HbtH.js +0 -321
- package/dist/esm/limel-drag-handle.entry.js +0 -40
- package/dist/lime-elements/p-26813b2c.entry.js +0 -1
- package/dist/lime-elements/p-49eb2f64.entry.js +0 -13
- package/dist/lime-elements/p-4f58c6b3.entry.js +0 -1
- package/dist/lime-elements/p-646731b6.entry.js +0 -1
- package/dist/lime-elements/p-8d567e42.entry.js +0 -1
- package/dist/lime-elements/p-9b384d62.entry.js +0 -1
- package/dist/lime-elements/p-BQeIv4aA.js +0 -1
- package/dist/lime-elements/p-COdirXg1.js +0 -1
- package/dist/lime-elements/p-ORUNaKm-.js +0 -1
- package/dist/lime-elements/p-a317f2fa.entry.js +0 -1
- package/dist/lime-elements/p-a5246373.entry.js +0 -1
- package/dist/lime-elements/p-b609552e.entry.js +0 -1
- package/dist/lime-elements/p-bf849dc9.entry.js +0 -1
- package/dist/lime-elements/p-d7e5a4a7.entry.js +0 -1
- package/dist/lime-elements/p-pk5KIdKH.js +0 -1
- package/dist/lime-elements/p-w3yKYfBQ.js +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-BlsqxTB1.js');
|
|
4
|
-
var translations = require('./translations-
|
|
4
|
+
var translations = require('./translations-CLSqfR3x.js');
|
|
5
5
|
require('./language-v-MMS6ym.js');
|
|
6
6
|
|
|
7
7
|
const dockCss = () => `@charset "UTF-8";button.expand-shrink{appearance:none;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit;box-sizing:border-box;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:transparent}button.expand-shrink:hover,button.expand-shrink:focus,button.expand-shrink:focus-visible{will-change:color, background-color, box-shadow, transform}button.expand-shrink:hover,button.expand-shrink:focus-visible{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color)}button.expand-shrink:hover{box-shadow:var(--button-shadow-hovered)}button.expand-shrink:active{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}button.expand-shrink:hover,button.expand-shrink:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}button.expand-shrink:focus{outline:none}button.expand-shrink:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}button.expand-shrink{display:flex;justify-content:center;align-items:center;height:var(--dock-expand-shrink-button-height);padding:0 0.5rem;margin:var(--limel-dock-padding);border-radius:0.375rem}button.expand-shrink.expanded{justify-content:flex-end}button.expand-shrink.expanded limel-icon{transform:rotateY(180deg)}button.expand-shrink limel-icon{width:calc(var(--dock-expand-shrink-button-height) - 0.25rem);color:var(--dock-item-icon-color, var(--limel-dock-item-text-color))}:host(limel-dock){--badge-background-color:rgb(var(--color-red-default));--badge-text-color:rgb(var(--color-white));--dock-item-height:2.75rem;--limel-dock-padding:0.25rem;--dock-expand-shrink-button-height:1rem;--limel-dock-item-text-color:var( --dock-item-text-color, rgb(var(--contrast-1100)) );--limel-dock-item-text-color--selected:var( --dock-item-text-color--selected, rgb(var(--contrast-1300)) );isolation:isolate;position:relative;box-sizing:border-box;display:inline-flex;flex-direction:column;background-color:var(--dock-background-color, rgb(var(--contrast-100)));box-shadow:var(--shadow-depth-8);padding-top:var(--dock-padding-top);padding-right:var(--dock-padding-right);padding-bottom:var(--dock-padding-bottom);padding-left:var(--dock-padding-left)}:host(limel-dock:not(.has-mobile-layout)){height:100%;width:calc(var(--limel-dock-padding) * 2 + var(--dock-item-height) + var(--dock-padding-left, 0px) + var(--dock-padding-right, 0px))}:host(limel-dock:not(.has-mobile-layout)) nav{padding-bottom:calc(var(--limel-dock-padding) + 0.25rem)}:host(limel-dock.expanded:not(.has-mobile-layout)){width:calc(var(--dock-expanded-max-width, 10rem) + var(--dock-padding-left, 0px) + var(--dock-padding-right, 0px))}.footer-separator{margin-top:auto;justify-self:flex-end}nav{box-sizing:border-box;display:inline-flex;flex-direction:column;gap:0.375rem;flex-grow:1;padding:var(--limel-dock-padding);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}nav::-webkit-scrollbar{display:none}:host(limel-dock.has-mobile-layout) nav{justify-content:space-between;flex-direction:row}limel-dock-button:first-of-type{--limel-custom-home-icon-enabler:var(--crm-custom-home-icon-enabler);--limel-custom-home-icon:var(--crm-custom-home-icon)}`;
|
|
@@ -97,11 +97,11 @@ const Dock = class {
|
|
|
97
97
|
this.resizeObserver.disconnect();
|
|
98
98
|
}
|
|
99
99
|
render() {
|
|
100
|
-
return (index.h(index.Host, { key: '
|
|
100
|
+
return (index.h(index.Host, { key: '59f51282a849383ecc23d3699ab20d9eadef800a', class: {
|
|
101
101
|
dock: true,
|
|
102
102
|
expanded: this.expanded,
|
|
103
103
|
'has-mobile-layout': this.useMobileLayout,
|
|
104
|
-
} }, index.h("nav", { key: '
|
|
104
|
+
} }, index.h("nav", { key: 'c60abf3144c58aac33e321548b3167387f1bc2a9', "aria-label": this.accessibleLabel }, this.dockItems.map(this.renderDockItem), this.renderSeparator(), this.dockFooterItems.map(this.renderDockItem)), this.renderExpandShrinkToggle()));
|
|
105
105
|
}
|
|
106
106
|
renderExpandShrinkToggle() {
|
|
107
107
|
if (this.useMobileLayout || !this.allowResize) {
|
|
@@ -1,6 +1,43 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-BlsqxTB1.js');
|
|
4
|
+
var translations = require('./translations-CLSqfR3x.js');
|
|
5
|
+
require('./language-v-MMS6ym.js');
|
|
6
|
+
|
|
7
|
+
const dragHandleCss = () => `@charset "UTF-8";limel-drag-handle{display:inline-flex;align-items:center;justify-content:center}button.limel-drag-handle{appearance:none;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit}button.limel-drag-handle:focus{outline:none}button.limel-drag-handle:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}button.limel-drag-handle{transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:transparent}button.limel-drag-handle:hover,button.limel-drag-handle:focus,button.limel-drag-handle:focus-visible{will-change:color, background-color, box-shadow, transform}button.limel-drag-handle:hover,button.limel-drag-handle:focus-visible{transform:translate3d(0, 0.01rem, 0);color:var(--mdc-theme-primary);background-color:transparent}button.limel-drag-handle:hover{box-shadow:var(--button-shadow-hovered)}button.limel-drag-handle:active{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}button.limel-drag-handle:hover,button.limel-drag-handle:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}button.limel-drag-handle{touch-action:none;cursor:grab}button.limel-drag-handle:active{cursor:grabbing}button.limel-drag-handle:active,button.limel-drag-handle:hover{box-shadow:none !important}button.limel-drag-handle{display:inline-flex;align-items:center;justify-content:center;border-radius:0.4rem;padding:0.5rem;max-height:2.25rem;max-width:2.25rem;color:rgb(var(--contrast-900))}button.limel-drag-handle .drag-icon{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.2rem}limel-drag-handle[drag-direction=horizontal] button.limel-drag-handle .drag-icon{grid-template-columns:1fr 1fr}button.limel-drag-handle .drag-icon div{transition:transform 0.2s ease, background-color 0.2s ease;height:0.125rem;width:0.125rem;border-radius:1rem;background-color:currentColor;transform:scale(1)}.is-being-dragged button.limel-drag-handle .drag-icon div,button.limel-drag-handle:active .drag-icon div,button.limel-drag-handle:focus .drag-icon div,button.limel-drag-handle:hover .drag-icon div,button.limel-drag-handle:focus-visible .drag-icon div{background-color:var(--mdc-theme-primary);transform:scale(1.5)}`;
|
|
8
|
+
|
|
9
|
+
const DragHandleComponent = class {
|
|
10
|
+
constructor(hostRef) {
|
|
11
|
+
index.registerInstance(this, hostRef);
|
|
12
|
+
/**
|
|
13
|
+
* The direction in which the drag handle can be used to reorder items.
|
|
14
|
+
*/
|
|
15
|
+
this.dragDirection = 'vertical';
|
|
16
|
+
/**
|
|
17
|
+
* The preferred direction for the tooltip to open.
|
|
18
|
+
* Defaults to 'left', as our recommended placement for a drag handle
|
|
19
|
+
* in the UI is on the far right side of draggable elements.
|
|
20
|
+
*/
|
|
21
|
+
this.tooltipOpenDirection = 'left';
|
|
22
|
+
/**
|
|
23
|
+
* Language to use for translations.
|
|
24
|
+
*/
|
|
25
|
+
this.language = 'en';
|
|
26
|
+
this.dragHandleId = 'drag-handle-' + crypto.randomUUID();
|
|
27
|
+
this.handleClick = (event) => {
|
|
28
|
+
// Prevent bubbling so the parent item does not treat the pointer click as
|
|
29
|
+
// a toggle or reorder action.
|
|
30
|
+
event.preventDefault();
|
|
31
|
+
event.stopPropagation();
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
render() {
|
|
35
|
+
const tooltipLabel = translations.translations.get('drag-handle.drag-to-reorder', this.language);
|
|
36
|
+
const ariaLabel = translations.translations.get('drag-handle.drag-handle', this.language);
|
|
37
|
+
return (index.h(index.Host, { key: 'c88e3c81d5c24052b01bb44a6dd6d1abdddc75cb' }, index.h("button", { key: 'e45a3d7ca735bc27a4a05c13c65ec0d6e2b4df04', "data-drag-handle": true, type: "button", class: "limel-drag-handle", tabindex: -1, "aria-label": ariaLabel, id: this.dragHandleId, onClick: this.handleClick }, index.h("div", { key: '8a91aa1f70775148fb4262a9ef51129cfd89cf07', class: "drag-icon", role: "presentation", "aria-hidden": "true" }, index.h("div", { key: "1" }), index.h("div", { key: "2" }), index.h("div", { key: "3" }), index.h("div", { key: "4" }), index.h("div", { key: "5" }), index.h("div", { key: "6" })), index.h("limel-tooltip", { key: '645f814490598b794def31fde73de3bf61041904', openDirection: this.tooltipOpenDirection, elementId: this.dragHandleId, label: tooltipLabel }))));
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
DragHandleComponent.style = dragHandleCss();
|
|
4
41
|
|
|
5
42
|
const scrollerCss = () => `@charset "UTF-8";:host(limel-scroller){display:block}div.scroller{position:relative;overflow:hidden;height:100%}div.scroll-area{display:flex;height:100%;scrollbar-width:none}div.scroll-area::-webkit-scrollbar{display:none}div.scroll-content{display:flex;flex:1 0 auto;position:relative;isolation:isolate;padding:var(--limel-scroller-content-padding, 0)}::slotted(*){flex-shrink:0}div.scroll-fade,div.scroll-button{position:absolute;transition:transform 0.3s ease-out}div.scroll-fade{pointer-events:none}div.scroll-button{display:flex;align-items:center;justify-content:center}div.scroll-button div.arrow-button{display:flex;align-items:center;justify-content:center;border-radius:0.25rem;color:var(--limel-theme-on-surface-color)}div.scroll-button svg.arrow{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}div.scroller.horizontal div.scroll-area{overflow-x:auto;overflow-y:hidden}div.scroller.horizontal ::slotted(*){scroll-margin-inline:2.25rem}div.scroller.horizontal div.scroll-fade{top:0;width:4rem;height:100%}div.scroller.horizontal div.scroll-fade.start{left:0;transform:translate3d(-4rem, 0, 0);background:linear-gradient(270deg, rgba(var(--limel-scroller-fade-color, var(--contrast-100)), 0) 0%, rgba(var(--limel-scroller-fade-color, var(--contrast-100)), 0.8) 40%, rgba(var(--limel-scroller-fade-color, var(--contrast-100)), 0.8) 100%)}div.scroller.horizontal div.scroll-fade.end{right:0;transform:translate3d(4rem, 0, 0);background:linear-gradient(90deg, rgba(var(--limel-scroller-fade-color, var(--contrast-100)), 0) 0%, rgba(var(--limel-scroller-fade-color, var(--contrast-100)), 0.8) 40%, rgba(var(--limel-scroller-fade-color, var(--contrast-100)), 0.8) 100%)}div.scroller.horizontal div.scroll-button{top:0;bottom:0}div.scroller.horizontal div.scroll-button.start{left:0.25rem;transform:translate3d(-4rem, 0, 0)}div.scroller.horizontal div.scroll-button.start svg.arrow{transform:rotate(180deg)}div.scroller.horizontal div.scroll-button.end{right:0.25rem;transform:translate3d(4rem, 0, 0)}div.scroller.horizontal div.scroll-button div.arrow-button{width:1.25rem;height:calc(100% - 0.5rem)}div.scroller.vertical div.scroll-area{flex-direction:column;overflow-x:hidden;overflow-y:auto}div.scroller.vertical div.scroll-content{flex-direction:column}div.scroller.vertical ::slotted(*){scroll-margin-block:2.25rem}div.scroller.vertical div.scroll-fade{left:0;width:100%;height:4rem}div.scroller.vertical div.scroll-fade.start{top:0;transform:translate3d(0, -4rem, 0);background:linear-gradient(0deg, rgba(var(--limel-scroller-fade-color, var(--contrast-100)), 0) 0%, rgba(var(--limel-scroller-fade-color, var(--contrast-100)), 0.8) 40%, rgba(var(--limel-scroller-fade-color, var(--contrast-100)), 0.8) 100%)}div.scroller.vertical div.scroll-fade.end{bottom:0;transform:translate3d(0, 4rem, 0);background:linear-gradient(180deg, rgba(var(--limel-scroller-fade-color, var(--contrast-100)), 0) 0%, rgba(var(--limel-scroller-fade-color, var(--contrast-100)), 0.8) 40%, rgba(var(--limel-scroller-fade-color, var(--contrast-100)), 0.8) 100%)}div.scroller.vertical div.scroll-button{left:0;right:0}div.scroller.vertical div.scroll-button.start{top:0.25rem;transform:translate3d(0, -4rem, 0)}div.scroller.vertical div.scroll-button.start svg.arrow{transform:rotate(-90deg)}div.scroller.vertical div.scroll-button.end{bottom:0.25rem;transform:translate3d(0, 4rem, 0)}div.scroller.vertical div.scroll-button.end svg.arrow{transform:rotate(90deg)}div.scroller.vertical div.scroll-button div.arrow-button{height:1.25rem;width:calc(100% - 0.5rem)}div.scroller.can-scroll-to-start div.scroll-fade.start,div.scroller.can-scroll-to-start div.scroll-button.start{transform:translate3d(0, 0, 0)}div.scroller.can-scroll-to-end div.scroll-fade.end,div.scroller.can-scroll-to-end div.scroll-button.end{transform:translate3d(0, 0, 0)}div.scroller.can-scroll-to-start:not(.can-scroll-to-end) div.scroll-button.end,div.scroller.can-scroll-to-end:not(.can-scroll-to-start) div.scroll-button.start{opacity:0.5;transition-delay:0.5s}div.scroller.can-scroll-to-start div.scroll-button.start div.arrow-button,div.scroller.can-scroll-to-end div.scroll-button.end div.arrow-button{transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-normal)}div.scroller.can-scroll-to-start div.scroll-button.start div.arrow-button:hover,div.scroller.can-scroll-to-start div.scroll-button.start div.arrow-button:focus,div.scroller.can-scroll-to-start div.scroll-button.start div.arrow-button:focus-visible,div.scroller.can-scroll-to-end div.scroll-button.end div.arrow-button:hover,div.scroller.can-scroll-to-end div.scroll-button.end div.arrow-button:focus,div.scroller.can-scroll-to-end div.scroll-button.end div.arrow-button:focus-visible{will-change:color, background-color, box-shadow, transform}div.scroller.can-scroll-to-start div.scroll-button.start div.arrow-button:hover,div.scroller.can-scroll-to-start div.scroll-button.start div.arrow-button:focus-visible,div.scroller.can-scroll-to-end div.scroll-button.end div.arrow-button:hover,div.scroller.can-scroll-to-end div.scroll-button.end div.arrow-button:focus-visible{transform:translate3d(0, -0.04rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}div.scroller.can-scroll-to-start div.scroll-button.start div.arrow-button:active,div.scroller.can-scroll-to-end div.scroll-button.end div.arrow-button:active{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}div.scroller.can-scroll-to-start div.scroll-button.start div.arrow-button:hover,div.scroller.can-scroll-to-start div.scroll-button.start div.arrow-button:active,div.scroller.can-scroll-to-end div.scroll-button.end div.arrow-button:hover,div.scroller.can-scroll-to-end div.scroll-button.end div.arrow-button:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}div.scroller div.scroll-button.start:hover,div.scroller div.scroll-button.end:hover{transform:translate3d(0, 0, 0)}`;
|
|
6
43
|
|
|
@@ -65,12 +102,12 @@ const Scroller = class {
|
|
|
65
102
|
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
66
103
|
}
|
|
67
104
|
render() {
|
|
68
|
-
return (index.h(index.Host, { key: '
|
|
105
|
+
return (index.h(index.Host, { key: '6e546a2b31136af45497d3de8369754b33992da9' }, index.h("div", { key: '22fbd0723a170201a422d073f41ce8e2a0d726d3', class: {
|
|
69
106
|
scroller: true,
|
|
70
107
|
[this.orientation]: true,
|
|
71
108
|
'can-scroll-to-start': this.canScrollToStart,
|
|
72
109
|
'can-scroll-to-end': this.canScrollToEnd,
|
|
73
|
-
} }, index.h("div", { key: '
|
|
110
|
+
} }, index.h("div", { key: '379da89bc7f3b7b2a4700d1740df7c63906e065f', class: "scroll-area", ref: (element) => (this.scrollArea = element), onScroll: this.updateScrollability, onFocusin: this.revealFocusedItem }, index.h("div", { key: '448ee73f8e9c68db5cadbd0910c9d1135d8d40ee', class: "scroll-content", ref: (element) => (this.scrollContent = element) }, index.h("slot", { key: 'fc12618e40799918647a37be83fe8d8d5f7b8077', ref: (element) => (this.slotElement = element) }))), this.renderEdge('start'), this.renderEdge('end'))));
|
|
74
111
|
}
|
|
75
112
|
renderEdge(edge) {
|
|
76
113
|
return [
|
|
@@ -177,4 +214,5 @@ function getScrollBehavior() {
|
|
|
177
214
|
}
|
|
178
215
|
Scroller.style = scrollerCss();
|
|
179
216
|
|
|
217
|
+
exports.limel_drag_handle = DragHandleComponent;
|
|
180
218
|
exports.limel_scroller = Scroller;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-BlsqxTB1.js');
|
|
4
|
-
var translations = require('./translations-
|
|
4
|
+
var translations = require('./translations-CLSqfR3x.js');
|
|
5
5
|
var formatBytes = require('./format-bytes-WTHVI718.js');
|
|
6
6
|
var adaptColorContrast = require('./adapt-color-contrast-h6iwOfZd.js');
|
|
7
7
|
var icons = require('./icons-isR5V1X0.js');
|
|
@@ -216,7 +216,7 @@ const EmailViewer = class {
|
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
render() {
|
|
219
|
-
return (index.h(index.Host, { key: '
|
|
219
|
+
return (index.h(index.Host, { key: '988ce952ec8bfb1a3f6107687bf99eb921e82a68' }, index.h("div", { key: '0c0551cf33923837a4fbc0be84bef92e5f42084a', class: "email", part: "email" }, this.renderHeaders(), this.renderRemoteImageBanner(), index.h("section", { key: '62189859a9796e38bfa2c3aa7af83c3f2cc1e5a6' }, this.renderAttachments(), this.renderBody()))));
|
|
220
220
|
}
|
|
221
221
|
renderHeaders() {
|
|
222
222
|
const headerFields = [
|
|
@@ -233,7 +233,7 @@ const FileDropzone = class {
|
|
|
233
233
|
};
|
|
234
234
|
}
|
|
235
235
|
render() {
|
|
236
|
-
return (index.h(index.Host, { key: '
|
|
236
|
+
return (index.h(index.Host, { key: '0209f44f7cfe46ccb98b3e15d597555ac57c0dce', onDrop: this.handleDrop, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave }, index.h("slot", { key: '1198fc4141e15527cd7575f5dd88b06b1a9d61c1' }), this.renderOnDragLayout()));
|
|
237
237
|
}
|
|
238
238
|
};
|
|
239
239
|
FileDropzone.style = fileDropzoneCss();
|
|
@@ -294,7 +294,7 @@ const FileInput = class {
|
|
|
294
294
|
this.fileInput = this.element.shadowRoot.getElementById(this.fileInputId);
|
|
295
295
|
}
|
|
296
296
|
render() {
|
|
297
|
-
return (index.h(index.Host, { key: '
|
|
297
|
+
return (index.h(index.Host, { key: 'e499bde6727abc2123d0aa70d446860de930a838', onClick: this.handleClick, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown }, index.h("input", { key: '9e3ba97f8f43b90d6d63e348acda5fa2a3976432', hidden: true, id: this.fileInputId, onChange: this.handleFileChange, type: "file", accept: this.accept, disabled: this.disabled, multiple: this.multiple }), index.h("slot", { key: 'c29534ed1ee305ba85afd02c4b66e61eae817a5e' })));
|
|
298
298
|
}
|
|
299
299
|
handleKeyDown(event) {
|
|
300
300
|
if (['Tab', 'Backspace', 'Enter'].includes(event.code)) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index$1 = require('./index-BlsqxTB1.js');
|
|
4
|
-
var translations = require('./translations-
|
|
4
|
+
var translations = require('./translations-CLSqfR3x.js');
|
|
5
5
|
var index = require('./index-zZvs6xK-.js');
|
|
6
6
|
var image_template = require('./image.template-DlF-f23b.js');
|
|
7
7
|
require('./language-v-MMS6ym.js');
|
|
@@ -659,7 +659,11 @@ function canJoinWords(left, right) {
|
|
|
659
659
|
return false;
|
|
660
660
|
}
|
|
661
661
|
if (encoding === 'B') {
|
|
662
|
-
|
|
662
|
+
// The length of a string built by concatenation is stored with it, but a regex or
|
|
663
|
+
// endsWith on it flattens everything joined so far first. Testing the growing text
|
|
664
|
+
// for a pad on every word made a subject of a hundred thousand short words cost
|
|
665
|
+
// seconds, so the pad is tracked as the words are appended instead.
|
|
666
|
+
return left.encodedText.length % 4 === 0 && !left.padded;
|
|
663
667
|
}
|
|
664
668
|
return true;
|
|
665
669
|
}
|
|
@@ -690,12 +694,18 @@ function renderTokens(tokens, joinWords) {
|
|
|
690
694
|
}
|
|
691
695
|
if (pending && joinWords && canJoinWords(pending, token)) {
|
|
692
696
|
pending.encodedText += token.encodedText;
|
|
697
|
+
pending.padded = token.encodedText.endsWith('=');
|
|
693
698
|
continue;
|
|
694
699
|
}
|
|
695
700
|
if (pending) {
|
|
696
701
|
result += decodeWord(pending.charset, pending.encoding, pending.encodedText);
|
|
697
702
|
}
|
|
698
|
-
pending = {
|
|
703
|
+
pending = {
|
|
704
|
+
charset: token.charset,
|
|
705
|
+
encoding: token.encoding,
|
|
706
|
+
encodedText: token.encodedText,
|
|
707
|
+
padded: token.encodedText.endsWith('=')
|
|
708
|
+
};
|
|
699
709
|
}
|
|
700
710
|
if (pending) {
|
|
701
711
|
result += decodeWord(pending.charset, pending.encoding, pending.encodedText);
|
|
@@ -1060,6 +1070,12 @@ class QPDecoder {
|
|
|
1060
1070
|
const headerDecoder = new TextDecoder('utf-8', { ignoreBOM: true });
|
|
1061
1071
|
// number of pieces decodeFlowedText collects before joining them
|
|
1062
1072
|
const FLOWED_JOIN_INTERVAL = 4096;
|
|
1073
|
+
// What a header line costs to hold, at the least. The decoded line, its entry in
|
|
1074
|
+
// rawHeaderLines and the parsed header come to a few hundred bytes for a line of one
|
|
1075
|
+
// byte, so two million such lines stayed inside maxHeadersSize while they held a few
|
|
1076
|
+
// hundred megabytes. Counting every line for at least this much keeps the memory in step
|
|
1077
|
+
// with the budget, 32768 lines at the default 2 MiB.
|
|
1078
|
+
const HEADER_LINE_MIN_COST = 64;
|
|
1063
1079
|
// Trims only the whitespace RFC 5322 allows around a field name. String.prototype.trim
|
|
1064
1080
|
// also strips U+00A0, U+FEFF, U+2028 and the rest of the Unicode spaces, which turns a
|
|
1065
1081
|
// line that a strict parser rejects into a canonical field name: a `From:` line with a
|
|
@@ -1099,11 +1115,13 @@ class MimeNode {
|
|
|
1099
1115
|
constructor(options) {
|
|
1100
1116
|
this.options = options;
|
|
1101
1117
|
this.postalMime = options.postalMime;
|
|
1102
|
-
// Counted across the whole message like the header size,
|
|
1103
|
-
//
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1118
|
+
// Counted across the whole message like the header size, nested message/rfc822
|
|
1119
|
+
// parts included, so that neither a multipart nor a forward can carry the budget
|
|
1120
|
+
// again for every part it declares
|
|
1121
|
+
const limits = this.postalMime.limits;
|
|
1122
|
+
this.postalMime.counters.partCount++;
|
|
1123
|
+
if (this.postalMime.counters.partCount > limits.maxPartCount) {
|
|
1124
|
+
throw new Error(`Maximum MIME part count of ${limits.maxPartCount} parts exceeded`);
|
|
1107
1125
|
}
|
|
1108
1126
|
this.childNodes = [];
|
|
1109
1127
|
// Cursor into childNodes for finalizeChildNodes. Every new part of a multipart
|
|
@@ -1113,8 +1131,8 @@ class MimeNode {
|
|
|
1113
1131
|
if (options.parentNode) {
|
|
1114
1132
|
this.parentNode = options.parentNode;
|
|
1115
1133
|
this.depth = this.parentNode.depth + 1;
|
|
1116
|
-
if (this.depth >
|
|
1117
|
-
throw new Error(`Maximum MIME nesting depth of ${
|
|
1134
|
+
if (this.depth > limits.maxNestingDepth) {
|
|
1135
|
+
throw new Error(`Maximum MIME nesting depth of ${limits.maxNestingDepth} levels exceeded`);
|
|
1118
1136
|
}
|
|
1119
1137
|
options.parentNode.childNodes.push(this);
|
|
1120
1138
|
}
|
|
@@ -1588,6 +1606,8 @@ class MimeNode {
|
|
|
1588
1606
|
.toLowerCase()
|
|
1589
1607
|
.match(/[\w-]+/) || [''])[0];
|
|
1590
1608
|
this.setupContentDecoder(this.contentTransferEncoding.encoding);
|
|
1609
|
+
// the lines live on in rawHeaderLines and headers, so the raw copies are released
|
|
1610
|
+
this.headerLines = [];
|
|
1591
1611
|
}
|
|
1592
1612
|
// Ends the header section and sets up the body
|
|
1593
1613
|
endHeaders() {
|
|
@@ -1607,10 +1627,10 @@ class MimeNode {
|
|
|
1607
1627
|
// Counted across the whole message, not per part. A per-node budget lets a
|
|
1608
1628
|
// multipart carry the limit again for every part it declares, so a message
|
|
1609
1629
|
// many times over the limit still parses.
|
|
1610
|
-
this.postalMime.headerSize += line.length;
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
throw
|
|
1630
|
+
this.postalMime.counters.headerSize += Math.max(line.length, HEADER_LINE_MIN_COST);
|
|
1631
|
+
const maxHeadersSize = this.postalMime.limits.maxHeadersSize;
|
|
1632
|
+
if (this.postalMime.counters.headerSize > maxHeadersSize) {
|
|
1633
|
+
throw new Error(`Maximum header size of ${maxHeadersSize} bytes exceeded`);
|
|
1614
1634
|
}
|
|
1615
1635
|
const text = decodeUtf8OrWindows1252(line, headerDecoder);
|
|
1616
1636
|
// A line of nothing but whitespace is legal folding (RFC 5322 4.2, obs-FWS),
|
|
@@ -5291,8 +5311,8 @@ const MAX_PART_COUNT = 10000;
|
|
|
5291
5311
|
const MAX_RFC822_NESTING_DEPTH = 10;
|
|
5292
5312
|
// The From, To, Cc and Bcc of every inline message/rfc822 part are rendered into the
|
|
5293
5313
|
// text and html of the parent, an address of one or two bytes as some 60 characters of
|
|
5294
|
-
// html. maxHeadersSize bounds the header bytes
|
|
5295
|
-
//
|
|
5314
|
+
// html. maxHeadersSize bounds the header bytes, not the addresses they hold, so without
|
|
5315
|
+
// a limit of their own the output grows with the number of forwards.
|
|
5296
5316
|
const MAX_FORWARDED_ADDRESSES = 10000;
|
|
5297
5317
|
// the number of entries the header formatters render for a list of addresses, a group
|
|
5298
5318
|
// counted along with each of its members
|
|
@@ -5320,6 +5340,17 @@ function parseLimitOption(value, defaultValue, name) {
|
|
|
5320
5340
|
}
|
|
5321
5341
|
return value;
|
|
5322
5342
|
}
|
|
5343
|
+
function parseLimits(options) {
|
|
5344
|
+
return {
|
|
5345
|
+
maxNestingDepth: parseLimitOption(options.maxNestingDepth, MAX_NESTING_DEPTH, 'maxNestingDepth'),
|
|
5346
|
+
maxHeadersSize: parseLimitOption(options.maxHeadersSize, MAX_HEADERS_SIZE, 'maxHeadersSize'),
|
|
5347
|
+
maxPartCount: parseLimitOption(options.maxPartCount, MAX_PART_COUNT, 'maxPartCount'),
|
|
5348
|
+
// A limit of 0 disables inline parsing entirely, so every message/rfc822 part
|
|
5349
|
+
// becomes an attachment.
|
|
5350
|
+
maxRfc822NestingDepth: parseLimitOption(options.maxRfc822NestingDepth, MAX_RFC822_NESTING_DEPTH, 'maxRfc822NestingDepth'),
|
|
5351
|
+
maxForwardedAddresses: parseLimitOption(options.maxForwardedAddresses, MAX_FORWARDED_ADDRESSES, 'maxForwardedAddresses')
|
|
5352
|
+
};
|
|
5353
|
+
}
|
|
5323
5354
|
class PostalMime {
|
|
5324
5355
|
/**
|
|
5325
5356
|
* Parses a raw email message
|
|
@@ -5334,32 +5365,16 @@ class PostalMime {
|
|
|
5334
5365
|
const parser = new PostalMime(options);
|
|
5335
5366
|
return parser.parse(buf);
|
|
5336
5367
|
}
|
|
5337
|
-
constructor(options) {
|
|
5368
|
+
constructor(options, parent) {
|
|
5338
5369
|
this.options = options || {};
|
|
5339
|
-
|
|
5340
|
-
|
|
5341
|
-
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
|
|
5345
|
-
|
|
5346
|
-
this.
|
|
5347
|
-
// Internal state that a nested parser receives from its parent, see collectSubMessage.
|
|
5348
|
-
// It is deliberately not an option, so that forwarding a caller supplied options
|
|
5349
|
-
// object can not seed it and switch the recursion limit off.
|
|
5350
|
-
this.rfc822NestingDepth = 0;
|
|
5351
|
-
this.maxForwardedAddresses = parseLimitOption(this.options.maxForwardedAddresses, MAX_FORWARDED_ADDRESSES, 'maxForwardedAddresses');
|
|
5352
|
-
// Like rfc822NestingDepth, a nested parser gets the counter of its parent rather
|
|
5353
|
-
// than an option, so that the count runs across the whole message
|
|
5354
|
-
this.forwardedAddresses = { count: 0 };
|
|
5355
|
-
// Header bytes seen across every part of this message, see MimeNode.feed, and the
|
|
5356
|
-
// number of parts created for it, the root included, see the MimeNode constructor
|
|
5357
|
-
this.headerSize = 0;
|
|
5358
|
-
this.partCount = 0;
|
|
5359
|
-
this.root = this.currentNode = new MimeNode({
|
|
5360
|
-
postalMime: this,
|
|
5361
|
-
...this.mimeOptions
|
|
5362
|
-
});
|
|
5370
|
+
// Internal state that a nested parser receives from its parent. It is deliberately
|
|
5371
|
+
// not an option, so that forwarding a caller supplied options object can not seed
|
|
5372
|
+
// it and switch the recursion limit off or start the counters over.
|
|
5373
|
+
this.rfc822NestingDepth = parent ? parent.rfc822NestingDepth + 1 : 0;
|
|
5374
|
+
// Set before the root part is created, since the root is counted and checked too
|
|
5375
|
+
this.limits = parent ? parent.limits : parseLimits(this.options);
|
|
5376
|
+
this.counters = parent ? parent.counters : { headerSize: 0, partCount: 0, forwardedAddresses: 0 };
|
|
5377
|
+
this.root = this.currentNode = new MimeNode({ postalMime: this });
|
|
5363
5378
|
this.boundaries = [];
|
|
5364
5379
|
this.textContent = {};
|
|
5365
5380
|
this.textMap = new Map();
|
|
@@ -5432,8 +5447,7 @@ class PostalMime {
|
|
|
5432
5447
|
this.currentNode = new MimeNode({
|
|
5433
5448
|
postalMime: this,
|
|
5434
5449
|
parentNode: boundary.node,
|
|
5435
|
-
parentMultipartType: boundary.node.contentType.multipart
|
|
5436
|
-
...this.mimeOptions
|
|
5450
|
+
parentMultipartType: boundary.node.contentType.multipart
|
|
5437
5451
|
});
|
|
5438
5452
|
}
|
|
5439
5453
|
if (isFinal) {
|
|
@@ -5501,7 +5515,7 @@ class PostalMime {
|
|
|
5501
5515
|
async collectNode(node, alternative, related) {
|
|
5502
5516
|
if (!node.contentType.multipart) {
|
|
5503
5517
|
const inlineRfc822 = this.isInlineMessageRfc822(node);
|
|
5504
|
-
const rfc822DepthExceeded = inlineRfc822 && this.rfc822NestingDepth >= this.maxRfc822NestingDepth;
|
|
5518
|
+
const rfc822DepthExceeded = inlineRfc822 && this.rfc822NestingDepth >= this.limits.maxRfc822NestingDepth;
|
|
5505
5519
|
if (inlineRfc822 && !rfc822DepthExceeded) {
|
|
5506
5520
|
await this.collectSubMessage(node);
|
|
5507
5521
|
}
|
|
@@ -5528,25 +5542,20 @@ class PostalMime {
|
|
|
5528
5542
|
/** @internal */
|
|
5529
5543
|
async collectSubMessage(node) {
|
|
5530
5544
|
const subParser = new PostalMime({
|
|
5531
|
-
//
|
|
5532
|
-
//
|
|
5533
|
-
|
|
5534
|
-
maxRfc822NestingDepth: this.maxRfc822NestingDepth,
|
|
5535
|
-
maxForwardedAddresses: this.maxForwardedAddresses,
|
|
5536
|
-
// attachments are encoded by the parent parser, keep raw buffers here
|
|
5545
|
+
// Options that decide how a part is classified stay with the parser that
|
|
5546
|
+
// was configured, the limits and their counters come from this parser.
|
|
5547
|
+
// Attachments are encoded by the parent parser, so raw buffers are kept here.
|
|
5537
5548
|
attachmentEncoding: 'arraybuffer'
|
|
5538
|
-
});
|
|
5539
|
-
subParser.rfc822NestingDepth = this.rfc822NestingDepth + 1;
|
|
5540
|
-
subParser.forwardedAddresses = this.forwardedAddresses;
|
|
5549
|
+
}, this);
|
|
5541
5550
|
const subMessage = (node.subMessage = await subParser.parse(node.content || new ArrayBuffer(0)));
|
|
5542
5551
|
// counted before the header block below is rendered into the text and html
|
|
5543
|
-
this.forwardedAddresses
|
|
5552
|
+
this.counters.forwardedAddresses +=
|
|
5544
5553
|
countAddresses(subMessage.from) +
|
|
5545
5554
|
countAddresses(subMessage.to) +
|
|
5546
5555
|
countAddresses(subMessage.cc) +
|
|
5547
5556
|
countAddresses(subMessage.bcc);
|
|
5548
|
-
if (this.forwardedAddresses
|
|
5549
|
-
throw new Error(`Maximum forwarded address count of ${this.maxForwardedAddresses} addresses exceeded`);
|
|
5557
|
+
if (this.counters.forwardedAddresses > this.limits.maxForwardedAddresses) {
|
|
5558
|
+
throw new Error(`Maximum forwarded address count of ${this.limits.maxForwardedAddresses} addresses exceeded`);
|
|
5550
5559
|
}
|
|
5551
5560
|
// default to text if there is no content
|
|
5552
5561
|
if (subMessage.text || !subMessage.html) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-BlsqxTB1.js');
|
|
4
|
-
var translations = require('./translations-
|
|
4
|
+
var translations = require('./translations-CLSqfR3x.js');
|
|
5
5
|
var fileMetadata = require('./file-metadata-BrhOssGG.js');
|
|
6
6
|
var formatBytes = require('./format-bytes-WTHVI718.js');
|
|
7
7
|
var imageResize = require('./image-resize-JlRLB97I.js');
|
|
@@ -122,7 +122,7 @@ const File = class {
|
|
|
122
122
|
this.resizingFile = undefined;
|
|
123
123
|
}
|
|
124
124
|
render() {
|
|
125
|
-
return (index.h(index.Host, { key: '
|
|
125
|
+
return (index.h(index.Host, { key: 'f18050fc95a60bb3c7223ae12107d49e147def67', "aria-busy": this.isBusy ? 'true' : 'false' }, index.h("limel-file-dropzone", { key: 'ede8aa3e8c6e8406a0b38db4ecbe33159ec698bc', disabled: this.disabled || this.readonly || !!this.displayedFile, accept: this.accept, onFilesSelected: this.handleNewFiles }, this.renderChipset()), this.renderDragAndDropTip(), this.renderSpinner()));
|
|
126
126
|
}
|
|
127
127
|
get statusText() {
|
|
128
128
|
var _a, _b, _c;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-BlsqxTB1.js');
|
|
4
|
-
var translations = require('./translations-
|
|
4
|
+
var translations = require('./translations-CLSqfR3x.js');
|
|
5
5
|
var _commonjsHelpers = require('./_commonjsHelpers-CFO10eej.js');
|
|
6
6
|
require('./sv-Co78RX70.js');
|
|
7
7
|
var moment = require('./moment-Cfsz2WF1.js');
|
|
@@ -7724,7 +7724,7 @@ const DatePickerCalendar = class {
|
|
|
7724
7724
|
});
|
|
7725
7725
|
}
|
|
7726
7726
|
render() {
|
|
7727
|
-
return (index.h("div", { key: '
|
|
7727
|
+
return (index.h("div", { key: 'aad98186a855e3c4e30dbc597cfad23b9a4cbcbe', class: "container", ref: (el) => (this.container = el), style: {
|
|
7728
7728
|
'--today-label': `"${translations.translations.get('date-picker.today', this.language)}"`,
|
|
7729
7729
|
} }));
|
|
7730
7730
|
}
|
|
@@ -28,7 +28,7 @@ const FlexContainer = class {
|
|
|
28
28
|
console.warn('limel-flex-container is deprecated, please use CSS instead: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox');
|
|
29
29
|
}
|
|
30
30
|
render() {
|
|
31
|
-
return index.h("slot", { key: '
|
|
31
|
+
return index.h("slot", { key: '2049c195a3ded73e31597b1e51f3d4af9b7316ed' });
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
FlexContainer.style = flexContainerCss();
|