@limetech/lime-elements 40.6.0 → 40.6.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 +15 -0
- package/dist/cjs/{adapt-color-contrast-Beo1IEl_.js → adapt-color-contrast-h6iwOfZd.js} +1 -1
- package/dist/cjs/{checkbox.template-BPk8WkQF.js → checkbox.template-CoNVC4Nf.js} +2 -2
- package/dist/cjs/{component-CFk7Dfoi.js → component-Cz24PdGy.js} +3 -3
- package/dist/cjs/{component-BrNWuGdj.js → component-DNiVfYHV.js} +1 -1
- package/dist/cjs/{component-y8swlNNR.js → component-GW2n79GH.js} +1 -1
- package/dist/cjs/{component-UyqdiWGc.js → component-xiw46M1b.js} +1 -1
- package/dist/cjs/{files-DI4jItxi.js → files-DpGigQ8k.js} +1 -1
- package/dist/cjs/{format-bytes-CpUKKU86.js → format-bytes-WTHVI718.js} +1 -4
- package/dist/cjs/{hotkeys-BtR8uxvl.js → hotkeys-D761KWnZ.js} +1 -0
- package/dist/cjs/{image-resize-CG2fitJT.js → image-resize-JlRLB97I.js} +1 -0
- package/dist/cjs/{image.template-DY7qwbuy.js → image.template-DlF-f23b.js} +1 -1
- package/dist/cjs/{index--B6-r0uo.js → index-BlsqxTB1.js} +1 -7
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/{keycodes-k-EdzcMX.js → keycodes-BQ_AERli.js} +4 -0
- package/dist/cjs/{language-CaqPKPyW.js → language-v-MMS6ym.js} +1 -1
- package/dist/cjs/lime-elements.cjs.js +2 -2
- package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +2 -2
- package/dist/cjs/limel-action-bar_3.cjs.entry.js +20 -18
- package/dist/cjs/limel-ai-avatar.cjs.entry.js +5 -5
- package/dist/cjs/limel-badge.cjs.entry.js +3 -3
- package/dist/cjs/limel-banner.cjs.entry.js +2 -2
- package/dist/cjs/limel-breadcrumbs_6.cjs.entry.js +86 -86
- package/dist/cjs/limel-button-group.cjs.entry.js +3 -3
- package/dist/cjs/limel-button.cjs.entry.js +4 -4
- package/dist/cjs/limel-callout.cjs.entry.js +6 -6
- package/dist/cjs/limel-card.cjs.entry.js +8 -7
- package/dist/cjs/limel-chart.cjs.entry.js +5 -5
- package/dist/cjs/limel-checkbox.cjs.entry.js +12 -10
- package/dist/cjs/limel-chip-set.cjs.entry.js +35 -44
- package/dist/cjs/limel-chip_2.cjs.entry.js +10 -10
- package/dist/cjs/limel-circular-progress.cjs.entry.js +2 -2
- package/dist/cjs/limel-code-diff.cjs.entry.js +25 -28
- package/dist/cjs/limel-code-editor.cjs.entry.js +17 -12
- package/dist/cjs/limel-collapsible-section.cjs.entry.js +8 -8
- package/dist/cjs/limel-color-picker-palette.cjs.entry.js +3 -3
- package/dist/cjs/limel-color-picker.cjs.entry.js +6 -5
- package/dist/cjs/limel-config.cjs.entry.js +3 -3
- package/dist/cjs/limel-date-picker.cjs.entry.js +12 -15
- package/dist/cjs/limel-dialog.cjs.entry.js +8 -11
- package/dist/cjs/limel-dock-button.cjs.entry.js +6 -11
- package/dist/cjs/limel-dock.cjs.entry.js +3 -3
- package/dist/cjs/limel-drag-handle.cjs.entry.js +6 -6
- package/dist/cjs/limel-dynamic-label.cjs.entry.js +1 -1
- package/dist/cjs/limel-email-viewer.cjs.entry.js +11 -17
- package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +11 -12
- package/dist/cjs/limel-file-viewer.cjs.entry.js +1098 -1146
- package/dist/cjs/limel-file.cjs.entry.js +17 -16
- package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +100 -94
- package/dist/cjs/limel-flex-container.cjs.entry.js +2 -2
- package/dist/cjs/limel-form.cjs.entry.js +65 -50
- package/dist/cjs/limel-grid.cjs.entry.js +2 -2
- package/dist/cjs/limel-header.cjs.entry.js +2 -2
- package/dist/cjs/limel-help-content.cjs.entry.js +2 -2
- package/dist/cjs/limel-help.cjs.entry.js +3 -3
- package/dist/cjs/limel-helper-line_3.cjs.entry.js +14 -16
- package/dist/cjs/limel-hotkey_4.cjs.entry.js +23 -23
- package/dist/cjs/limel-icon-button.cjs.entry.js +4 -4
- package/dist/cjs/limel-icon.cjs.entry.js +15 -13
- package/dist/cjs/limel-info-tile.cjs.entry.js +10 -10
- package/dist/cjs/limel-list-item.cjs.entry.js +10 -10
- package/dist/cjs/limel-markdown.cjs.entry.js +25 -22
- package/dist/cjs/limel-masonry-layout.cjs.entry.js +6 -5
- package/dist/cjs/limel-menu-item-meta.cjs.entry.js +3 -3
- package/dist/cjs/limel-pagination-jump.cjs.entry.js +18 -16
- package/dist/cjs/limel-pagination.cjs.entry.js +10 -9
- package/dist/cjs/limel-picker.cjs.entry.js +32 -30
- package/dist/cjs/limel-popover_2.cjs.entry.js +26 -22
- package/dist/cjs/limel-profile-picture.cjs.entry.js +12 -11
- package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
- package/dist/cjs/limel-progress-flow.cjs.entry.js +11 -10
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +475 -407
- package/dist/cjs/limel-radio-button-group.cjs.entry.js +2 -2
- package/dist/cjs/limel-radio-button.cjs.entry.js +3 -3
- package/dist/cjs/limel-scroller.cjs.entry.js +180 -0
- package/dist/cjs/limel-select.cjs.entry.js +20 -20
- package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
- package/dist/cjs/limel-slider.cjs.entry.js +18 -27
- package/dist/cjs/limel-snackbar.cjs.entry.js +5 -5
- package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
- package/dist/cjs/limel-switch.cjs.entry.js +3 -3
- package/dist/cjs/limel-tab-bar.cjs.entry.js +235 -2036
- package/dist/cjs/limel-tab-panel.cjs.entry.js +12 -9
- package/dist/cjs/limel-table.cjs.entry.js +527 -106
- package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +16 -15
- package/dist/cjs/limel-text-editor.cjs.entry.js +3 -3
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{make-enter-clickable-NuTMC9MU.js → make-enter-clickable-BZHEWIJD.js} +19 -12
- package/dist/cjs/{markdown-exporter-9p7d3Q76.js → markdown-exporter-C-UW43FF.js} +1 -1
- package/dist/cjs/{markdown-parser-Cgv5Y9Z4.js → markdown-parser-ssDij8_l.js} +24 -22
- package/dist/cjs/{moment-CqRdiK10.js → moment-Cfsz2WF1.js} +1062 -833
- package/dist/cjs/{ponyfill-BgIFyUG5.js → ponyfill-CHp7Zocr.js} +0 -1
- package/dist/cjs/{random-string-BTzDB2ee.js → random-string-CFCtFh5l.js} +1 -0
- package/dist/cjs/{render-list-component-5ZKWpCnM.js → render-list-component-BtAliHQp.js} +3 -5
- package/dist/cjs/{sv-BSR4W58y.js → sv-Co78RX70.js} +31 -3
- package/dist/cjs/{translations-DFFpR6AZ.js → translations-CNTWud2a.js} +5 -8
- package/dist/collection/collection-manifest.json +1 -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-item.js +8 -7
- 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 +6 -5
- 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 +2 -2
- 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 +6 -5
- package/dist/collection/components/checkbox/checkbox.js +9 -7
- package/dist/collection/components/checkbox/checkbox.template.js +1 -1
- package/dist/collection/components/chip/chip.js +1 -1
- package/dist/collection/components/chip-set/chip-set-input-helpers.js +18 -21
- package/dist/collection/components/chip-set/chip-set.js +7 -13
- package/dist/collection/components/circular-progress/circular-progress.js +1 -1
- package/dist/collection/components/code-diff/code-diff.js +19 -22
- package/dist/collection/components/code-diff/diff-engine.js +2 -2
- package/dist/collection/components/code-editor/code-editor.js +8 -3
- 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 +5 -4
- package/dist/collection/components/config/config.js +2 -2
- package/dist/collection/components/date-picker/date-picker.js +3 -6
- package/dist/collection/components/date-picker/flatpickr-adapter/deferred-destroy.js +4 -3
- package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +1 -1
- package/dist/collection/components/date-picker/pickers/month-picker.js +40 -36
- package/dist/collection/components/date-picker/pickers/quarter-picker.js +35 -30
- package/dist/collection/components/date-picker/pickers/year-picker.js +16 -20
- package/dist/collection/components/dialog/dialog.js +4 -7
- package/dist/collection/components/dock/dock-button/dock-button.js +4 -9
- 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-loader.js +14 -10
- package/dist/collection/components/email-viewer/email-viewer.js +1 -1
- package/dist/collection/components/email-viewer/sanitize-email-html.js +1 -4
- package/dist/collection/components/email-viewer/split-email-address-list.js +4 -10
- package/dist/collection/components/file/file.js +11 -10
- package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
- package/dist/collection/components/file-input/file-input.js +7 -8
- package/dist/collection/components/file-viewer/file-viewer.js +12 -9
- package/dist/collection/components/flex-container/flex-container.js +1 -1
- package/dist/collection/components/form/fields/schema-field.js +1 -1
- package/dist/collection/components/form/form.js +2 -5
- package/dist/collection/components/form/form.test-schemas.js +8 -10
- package/dist/collection/components/form/templates/array-field.js +7 -9
- package/dist/collection/components/form/templates/common.js +19 -19
- package/dist/collection/components/form/templates/object-field.js +1 -1
- package/dist/collection/components/form/validation-display.js +2 -2
- package/dist/collection/components/form/validators/format.js +1 -0
- package/dist/collection/components/form/widgets/code-editor.js +6 -9
- package/dist/collection/components/form/widgets/date-picker.js +1 -3
- 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 +3 -3
- package/dist/collection/components/hotkey/hotkey.js +1 -1
- package/dist/collection/components/icon/icon.js +11 -9
- package/dist/collection/components/icon-button/icon-button.js +1 -1
- package/dist/collection/components/info-tile/info-tile.js +9 -9
- package/dist/collection/components/input-field/input-field.js +11 -11
- package/dist/collection/components/list/list-renderer.js +5 -7
- package/dist/collection/components/list/list.js +2 -2
- 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/hydrate-custom-elements.js +6 -5
- package/dist/collection/components/markdown/image-intersection-observer.js +9 -8
- package/dist/collection/components/markdown/image-markdown-plugin.js +9 -7
- package/dist/collection/components/markdown/link-markdown-plugin.js +11 -10
- package/dist/collection/components/markdown/markdown.js +6 -5
- package/dist/collection/components/markdown/remove-empty-paragraphs-plugin.js +4 -5
- package/dist/collection/components/masonry-layout/masonry-layout.js +5 -4
- package/dist/collection/components/menu/menu.js +48 -46
- package/dist/collection/components/menu-list/menu-list-renderer.js +8 -8
- package/dist/collection/components/menu-list/menu-list.js +1 -1
- package/dist/collection/components/menu-surface/menu-surface.js +6 -8
- package/dist/collection/components/notched-outline/notched-outline.js +1 -1
- package/dist/collection/components/pagination/jump/pagination-jump.js +13 -11
- package/dist/collection/components/pagination/pagination.js +5 -4
- package/dist/collection/components/picker/picker.js +25 -23
- package/dist/collection/components/popover/popover.js +13 -10
- package/dist/collection/components/popover-surface/popover-surface.js +1 -1
- package/dist/collection/components/portal/contains.js +9 -8
- package/dist/collection/components/portal/portal.js +16 -16
- package/dist/collection/components/profile-picture/profile-picture.js +4 -3
- package/dist/collection/components/progress-flow/progress-flow.js +10 -9
- 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/scroller/scroller.css +317 -0
- package/dist/collection/components/scroller/scroller.js +284 -0
- package/dist/collection/components/select/select.js +13 -11
- package/dist/collection/components/select/select.template.js +1 -3
- package/dist/collection/components/slider/get-percentage-class.js +9 -18
- package/dist/collection/components/slider/slider.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.css +7 -289
- package/dist/collection/components/tab-bar/tab-bar.js +98 -128
- package/dist/collection/components/tab-panel/tab-panel.js +11 -8
- package/dist/collection/components/table/columns.js +1 -3
- package/dist/collection/components/table/element-pool.js +1 -1
- package/dist/collection/components/table/table-selection.js +6 -5
- package/dist/collection/components/table/table.css +15 -17
- package/dist/collection/components/table/table.js +44 -39
- package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +11 -10
- package/dist/collection/components/text-editor/prosemirror-adapter/menu/menu-command-utils/list-utils.js +1 -1
- package/dist/collection/components/text-editor/prosemirror-adapter/menu/menu-commands.js +6 -10
- package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/inserter.js +37 -40
- package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/node.js +2 -1
- package/dist/collection/components/text-editor/prosemirror-adapter/plugins/link/link-plugin.js +21 -20
- package/dist/collection/components/text-editor/prosemirror-adapter/plugins/menu-state-tracking-plugin.js +6 -5
- package/dist/collection/components/text-editor/prosemirror-adapter/plugins/trigger/factory-helpers/detect-trigger-removal.js +15 -14
- package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +40 -34
- package/dist/collection/components/text-editor/text-editor.js +1 -1
- package/dist/collection/components/text-editor/utils/metadata-utils.js +1 -1
- package/dist/collection/components/text-editor/utils/plugin-factory.js +3 -3
- package/dist/collection/components/tooltip/tooltip-content.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js +2 -2
- package/dist/collection/global/icon-cache/factory.js +2 -3
- package/dist/collection/global/icon-cache/in-memory-icon-cache.js +2 -0
- package/dist/collection/global/translations.js +1 -3
- package/dist/collection/translations/fr.js +3 -3
- package/dist/collection/util/adapt-color-contrast.js +1 -1
- package/dist/collection/util/files.js +1 -1
- package/dist/collection/util/format-bytes.js +1 -4
- package/dist/collection/util/hotkeys.js +1 -0
- package/dist/collection/util/image-resize.js +1 -0
- package/dist/collection/util/keyboard-navigation.js +144 -0
- package/dist/collection/util/keycodes.js +2 -0
- package/dist/collection/util/language.js +1 -1
- package/dist/collection/util/make-enter-clickable.js +19 -12
- package/dist/collection/util/random-string.js +1 -0
- package/dist/collection/util/render-list-component.js +2 -4
- package/dist/esm/{adapt-color-contrast-Dgcw_h7C.js → adapt-color-contrast-BQoih_t0.js} +1 -1
- package/dist/esm/{checkbox.template-Cx_3u92S.js → checkbox.template-IDyv2bgn.js} +2 -2
- package/dist/esm/{component-wGVqvUmL.js → component-CVihTrav.js} +3 -3
- package/dist/esm/{component-7QB0OUSF.js → component-CrjPGt1I.js} +1 -1
- package/dist/esm/{component-D4qgwaTf.js → component-CyFeUQ0l.js} +1 -1
- package/dist/esm/{component-B2Vy44Z3.js → component-kP1jCDLp.js} +1 -1
- package/dist/esm/{files-DnkFEKoB.js → files-CKnLqPDj.js} +1 -1
- package/dist/esm/{format-bytes-u_sd2HMb.js → format-bytes-24yUSW40.js} +1 -4
- package/dist/esm/{hotkeys-BxrRWYts.js → hotkeys-DjmlD0Mw.js} +1 -0
- package/dist/esm/{image-resize-BTSG--2-.js → image-resize-Dv2HOgWN.js} +1 -0
- package/dist/esm/{image.template-wqMwmOF-.js → image.template-BGjw97m_.js} +1 -1
- package/dist/esm/{index-Bnc9lzk2.js → index-BU9IJqli.js} +1 -7
- package/dist/esm/index.js +1 -1
- package/dist/esm/{keycodes-C4_9qUMP.js → keycodes-DQ5DmW_Y.js} +3 -1
- package/dist/esm/{language-C3hECvXE.js → language-ChagAaNf.js} +1 -1
- package/dist/esm/lime-elements.js +3 -3
- package/dist/esm/limel-3d-hover-effect-glow.entry.js +2 -2
- package/dist/esm/limel-action-bar_3.entry.js +20 -18
- package/dist/esm/limel-ai-avatar.entry.js +5 -5
- package/dist/esm/limel-badge.entry.js +3 -3
- package/dist/esm/limel-banner.entry.js +2 -2
- package/dist/esm/limel-breadcrumbs_6.entry.js +86 -86
- package/dist/esm/limel-button-group.entry.js +3 -3
- package/dist/esm/limel-button.entry.js +4 -4
- package/dist/esm/limel-callout.entry.js +6 -6
- package/dist/esm/limel-card.entry.js +8 -7
- package/dist/esm/limel-chart.entry.js +5 -5
- package/dist/esm/limel-checkbox.entry.js +12 -10
- package/dist/esm/limel-chip-set.entry.js +35 -44
- package/dist/esm/limel-chip_2.entry.js +10 -10
- package/dist/esm/limel-circular-progress.entry.js +2 -2
- package/dist/esm/limel-code-diff.entry.js +25 -28
- package/dist/esm/limel-code-editor.entry.js +17 -12
- package/dist/esm/limel-collapsible-section.entry.js +8 -8
- package/dist/esm/limel-color-picker-palette.entry.js +3 -3
- package/dist/esm/limel-color-picker.entry.js +6 -5
- package/dist/esm/limel-config.entry.js +3 -3
- package/dist/esm/limel-date-picker.entry.js +12 -15
- package/dist/esm/limel-dialog.entry.js +8 -11
- package/dist/esm/limel-dock-button.entry.js +6 -11
- package/dist/esm/limel-dock.entry.js +3 -3
- package/dist/esm/limel-drag-handle.entry.js +6 -6
- package/dist/esm/limel-dynamic-label.entry.js +1 -1
- package/dist/esm/limel-email-viewer.entry.js +11 -17
- package/dist/esm/limel-file-dropzone_2.entry.js +11 -12
- package/dist/esm/limel-file-viewer.entry.js +1098 -1146
- package/dist/esm/limel-file.entry.js +17 -16
- package/dist/esm/limel-flatpickr-adapter.entry.js +100 -94
- package/dist/esm/limel-flex-container.entry.js +2 -2
- package/dist/esm/limel-form.entry.js +65 -50
- package/dist/esm/limel-grid.entry.js +2 -2
- package/dist/esm/limel-header.entry.js +2 -2
- package/dist/esm/limel-help-content.entry.js +2 -2
- package/dist/esm/limel-help.entry.js +3 -3
- package/dist/esm/limel-helper-line_3.entry.js +14 -16
- package/dist/esm/limel-hotkey_4.entry.js +23 -23
- package/dist/esm/limel-icon-button.entry.js +4 -4
- package/dist/esm/limel-icon.entry.js +15 -13
- package/dist/esm/limel-info-tile.entry.js +10 -10
- package/dist/esm/limel-list-item.entry.js +10 -10
- package/dist/esm/limel-markdown.entry.js +25 -22
- package/dist/esm/limel-masonry-layout.entry.js +6 -5
- package/dist/esm/limel-menu-item-meta.entry.js +3 -3
- package/dist/esm/limel-pagination-jump.entry.js +18 -16
- package/dist/esm/limel-pagination.entry.js +10 -9
- package/dist/esm/limel-picker.entry.js +32 -30
- package/dist/esm/limel-popover_2.entry.js +26 -22
- package/dist/esm/limel-profile-picture.entry.js +12 -11
- package/dist/esm/limel-progress-flow-item.entry.js +1 -1
- package/dist/esm/limel-progress-flow.entry.js +11 -10
- package/dist/esm/limel-prosemirror-adapter.entry.js +475 -407
- package/dist/esm/limel-radio-button-group.entry.js +2 -2
- package/dist/esm/limel-radio-button.entry.js +3 -3
- package/dist/esm/limel-scroller.entry.js +178 -0
- package/dist/esm/limel-select.entry.js +20 -20
- package/dist/esm/limel-shortcut.entry.js +1 -1
- package/dist/esm/limel-slider.entry.js +18 -27
- package/dist/esm/limel-snackbar.entry.js +5 -5
- package/dist/esm/limel-split-button.entry.js +1 -1
- package/dist/esm/limel-switch.entry.js +3 -3
- package/dist/esm/limel-tab-bar.entry.js +235 -2036
- package/dist/esm/limel-tab-panel.entry.js +12 -9
- package/dist/esm/limel-table.entry.js +527 -106
- package/dist/esm/limel-text-editor-link-menu.entry.js +16 -15
- package/dist/esm/limel-text-editor.entry.js +3 -3
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{make-enter-clickable-BgTwPGeH.js → make-enter-clickable-CIf8aGSd.js} +19 -12
- package/dist/esm/{markdown-exporter--3_MaqwD.js → markdown-exporter-DblYRMhY.js} +1 -1
- package/dist/esm/{markdown-parser-DCf-3dKZ.js → markdown-parser-CAPDx7i8.js} +24 -22
- package/dist/esm/{moment-DQRNe8qq.js → moment-_DadZLWp.js} +1062 -833
- package/dist/esm/{ponyfill-ChRGk668.js → ponyfill-6YuZiAPi.js} +1 -1
- package/dist/esm/{random-string-JbKhhoXs.js → random-string-BrjD-ITe.js} +1 -0
- package/dist/esm/{render-list-component-cicbMp0l.js → render-list-component-J1IzNpbv.js} +3 -5
- package/dist/esm/{sv-CY-6-yEp.js → sv-DpsDSi7k.js} +31 -3
- package/dist/esm/{translations-DMtX4tTX.js → translations-Y4i8PVc9.js} +5 -8
- package/dist/lime-elements/index.esm.js +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/p-02a06cf7.entry.js +1 -0
- package/dist/lime-elements/{p-3916b316.entry.js → p-03cb609e.entry.js} +1 -1
- package/dist/lime-elements/p-05038bbb.entry.js +1 -0
- package/dist/lime-elements/{p-835149c4.entry.js → p-0d6925f4.entry.js} +1 -1
- package/dist/lime-elements/p-0e13ec91.entry.js +1 -0
- package/dist/lime-elements/p-0ece667e.entry.js +1 -0
- package/dist/lime-elements/{p-19344984.entry.js → p-107654bb.entry.js} +4 -4
- package/dist/lime-elements/p-120ca628.entry.js +1 -0
- package/dist/lime-elements/{p-BwJGg-WI.js → p-1CgnIGyd.js} +4 -4
- package/dist/lime-elements/p-22fd1c87.entry.js +1 -0
- package/dist/lime-elements/p-24yUSW40.js +1 -0
- package/dist/lime-elements/{p-f717cd7a.entry.js → p-271662d4.entry.js} +1 -1
- package/dist/lime-elements/{p-c2a60508.entry.js → p-29c73bdf.entry.js} +1 -1
- package/dist/lime-elements/{p-deceda00.entry.js → p-2a902e77.entry.js} +1 -1
- package/dist/lime-elements/{p-d0cec424.entry.js → p-2b033dfa.entry.js} +1 -1
- package/dist/lime-elements/{p-acba5700.entry.js → p-2b2253d4.entry.js} +1 -1
- package/dist/lime-elements/p-2e33d2a4.entry.js +1 -0
- package/dist/lime-elements/p-32a050a3.entry.js +1 -0
- package/dist/lime-elements/{p-3735111e.entry.js → p-3cfe0eaf.entry.js} +1 -1
- package/dist/lime-elements/{p-fbcd99a3.entry.js → p-3d3bdf45.entry.js} +1 -1
- package/dist/lime-elements/p-45461ec5.entry.js +1 -0
- package/dist/lime-elements/p-45c39fb4.entry.js +1 -0
- package/dist/lime-elements/p-45fde7a1.entry.js +1 -0
- package/dist/lime-elements/p-48afa6b7.entry.js +1 -0
- package/dist/lime-elements/{p-f04f7c8e.entry.js → p-4a88d365.entry.js} +1 -1
- package/dist/lime-elements/p-4b75e653.entry.js +1 -0
- package/dist/lime-elements/{p-5698e493.entry.js → p-4ecbc9f4.entry.js} +1 -1
- package/dist/lime-elements/{p-2e568c56.entry.js → p-54a9f48f.entry.js} +1 -1
- package/dist/lime-elements/{p-0fba64eb.entry.js → p-5df21b25.entry.js} +2 -2
- package/dist/lime-elements/p-5e448070.entry.js +1 -0
- package/dist/lime-elements/{p-408c4dcb.entry.js → p-5f5c6e7d.entry.js} +1 -1
- package/dist/lime-elements/{p-052c3bc6.entry.js → p-681cb6de.entry.js} +1 -1
- package/dist/lime-elements/{p-ChRGk668.js → p-6YuZiAPi.js} +3 -3
- package/dist/lime-elements/{p-90df3e1b.entry.js → p-6d9961f7.entry.js} +1 -1
- package/dist/lime-elements/p-74060535.entry.js +159 -0
- package/dist/lime-elements/{p-74bd0c1a.entry.js → p-7b4351f6.entry.js} +1 -1
- package/dist/lime-elements/{p-3fd7e8aa.entry.js → p-7eab1341.entry.js} +1 -1
- package/dist/lime-elements/p-7fa85785.entry.js +23 -0
- package/dist/lime-elements/{p-35fa1063.entry.js → p-85318636.entry.js} +1 -1
- package/dist/lime-elements/{p-4ffbfc79.entry.js → p-8ac79ef5.entry.js} +1 -1
- package/dist/lime-elements/{p-4902fb3f.entry.js → p-9218fa6a.entry.js} +1 -1
- package/dist/lime-elements/{p-38b09f87.entry.js → p-9415411e.entry.js} +1 -1
- package/dist/lime-elements/{p-be8610ff.entry.js → p-958396b5.entry.js} +1 -1
- package/dist/lime-elements/p-95ccd9e7.entry.js +1 -0
- package/dist/lime-elements/p-970e0810.entry.js +1 -0
- package/dist/lime-elements/{p-cb407bef.entry.js → p-9afa4721.entry.js} +1 -1
- package/dist/lime-elements/{p-54dcf46f.entry.js → p-9c8c2fb7.entry.js} +1 -1
- package/dist/lime-elements/p-9e084e7c.entry.js +1 -0
- package/dist/lime-elements/{p-B8hoCfhT.js → p-B3YP9GOq.js} +1 -1
- package/dist/lime-elements/{p-Dgcw_h7C.js → p-BQoih_t0.js} +1 -1
- package/dist/lime-elements/{p-Bnc9lzk2.js → p-BU9IJqli.js} +1 -1
- package/dist/lime-elements/{p-BN1-aIOw.js → p-BZXGwiAr.js} +1 -1
- package/dist/lime-elements/{p-CGVVDGcv.js → p-Bkvc4sus.js} +1 -1
- package/dist/lime-elements/{p-BPzhuHcl.js → p-Bvyt2bmV.js} +1 -1
- package/dist/lime-elements/{p-DZkKQUDM.js → p-C1FFnUvf.js} +3 -3
- package/dist/lime-elements/{p-BgTwPGeH.js → p-CIf8aGSd.js} +1 -1
- package/dist/lime-elements/{p-C3hECvXE.js → p-ChagAaNf.js} +1 -1
- package/dist/lime-elements/{p-C9yTLqR8.js → p-CmtleG1y.js} +1 -1
- package/dist/lime-elements/{p-C4_9qUMP.js → p-DQ5DmW_Y.js} +1 -1
- package/dist/lime-elements/p-DTcfed02.js +3 -0
- package/dist/lime-elements/{p-BY85K-4J.js → p-DqQOawxc.js} +1 -1
- package/dist/lime-elements/{p-CC4Usa-Q.js → p-I0PrvthC.js} +1 -1
- package/dist/lime-elements/p-N9vxZMhe.js +1 -0
- package/dist/lime-elements/{p-DsDkl4Sy.js → p-ZDFVISfu.js} +3 -3
- package/dist/lime-elements/p-a1c69e0c.entry.js +1 -0
- package/dist/lime-elements/{p-2daf0482.entry.js → p-a1d1470c.entry.js} +1 -1
- package/dist/lime-elements/{p-cef66e53.entry.js → p-a2e6f16e.entry.js} +1 -1
- package/dist/lime-elements/{p-36ce4fbc.entry.js → p-a42f8c2d.entry.js} +1 -1
- package/dist/lime-elements/p-a550ba18.entry.js +1 -0
- package/dist/lime-elements/{p-d146feda.entry.js → p-a65eb58e.entry.js} +1 -1
- package/dist/lime-elements/{p-03fb2603.entry.js → p-b22b52a1.entry.js} +1 -1
- package/dist/lime-elements/{p-c2a3ca7c.entry.js → p-b6d39581.entry.js} +1 -1
- package/dist/lime-elements/{p-8475a3b8.entry.js → p-c439b68b.entry.js} +1 -1
- package/dist/lime-elements/p-d19c7a3a.entry.js +1 -0
- package/dist/lime-elements/{p-d3bd4b80.entry.js → p-d1b7cc55.entry.js} +3 -3
- package/dist/lime-elements/{p-7cbf50fc.entry.js → p-d1e5dd12.entry.js} +1 -1
- package/dist/lime-elements/p-de4719a6.entry.js +1 -0
- package/dist/lime-elements/{p-b81a2728.entry.js → p-e02e2c5f.entry.js} +1 -1
- package/dist/lime-elements/{p-d351b9ae.entry.js → p-e6a34047.entry.js} +1 -1
- package/dist/lime-elements/p-eF09GxA_.js +1 -0
- package/dist/lime-elements/{p-8fa9c9ea.entry.js → p-ee719744.entry.js} +1 -1
- package/dist/lime-elements/p-f3cae1e7.entry.js +1 -0
- package/dist/lime-elements/{p-8115da75.entry.js → p-f4a0b1bc.entry.js} +1 -1
- package/dist/lime-elements/{p-4855dc9b.entry.js → p-f82f72e7.entry.js} +1 -1
- package/dist/lime-elements/{p-2d84ea04.entry.js → p-f97ec7a5.entry.js} +1 -1
- package/dist/lime-elements/{p-21109d9b.entry.js → p-fdd674fc.entry.js} +1 -1
- package/dist/lime-elements/{p-459eea13.entry.js → p-fdec09e9.entry.js} +1 -1
- package/dist/lime-elements/{p-2f57c3fa.entry.js → p-fe492ff3.entry.js} +1 -1
- package/dist/lime-elements/{p-65cded0e.entry.js → p-ff1a8b2e.entry.js} +1 -1
- package/dist/types/components/chip-set/chip-set-input-helpers.d.ts +1 -1
- package/dist/types/components/pagination/jump/pagination-jump.d.ts +1 -1
- package/dist/types/components/scroller/scroller.d.ts +67 -0
- package/dist/types/components/tab-bar/tab-bar.d.ts +23 -21
- package/dist/types/components.d.ts +132 -0
- package/dist/types/global/icon-cache/factory.d.ts +2 -2
- package/dist/types/global/translations.d.ts +2 -2
- package/dist/types/util/keyboard-navigation.d.ts +105 -0
- package/dist/types/util/keycodes.d.ts +2 -0
- package/package.json +12 -12
- package/dist/lime-elements/p-1e93473a.entry.js +0 -1
- package/dist/lime-elements/p-20658306.entry.js +0 -1
- package/dist/lime-elements/p-26c5c6b9.entry.js +0 -1
- package/dist/lime-elements/p-452b9b01.entry.js +0 -1
- package/dist/lime-elements/p-4aae63bd.entry.js +0 -1
- package/dist/lime-elements/p-507cc8a1.entry.js +0 -159
- package/dist/lime-elements/p-531b6a64.entry.js +0 -1
- package/dist/lime-elements/p-54793c06.entry.js +0 -1
- package/dist/lime-elements/p-5d974afa.entry.js +0 -1
- package/dist/lime-elements/p-66b125f2.entry.js +0 -1
- package/dist/lime-elements/p-7e212fa7.entry.js +0 -1
- package/dist/lime-elements/p-82696d24.entry.js +0 -1
- package/dist/lime-elements/p-9ac39039.entry.js +0 -1
- package/dist/lime-elements/p-9b631363.entry.js +0 -1
- package/dist/lime-elements/p-DQJU9gzh.js +0 -1
- package/dist/lime-elements/p-DpJgXIWf.js +0 -1
- package/dist/lime-elements/p-a1de9bbe.entry.js +0 -1
- package/dist/lime-elements/p-a71f6e87.entry.js +0 -67
- package/dist/lime-elements/p-bd7b3f8e.entry.js +0 -1
- package/dist/lime-elements/p-c72e5007.entry.js +0 -1
- package/dist/lime-elements/p-cafec335.entry.js +0 -1
- package/dist/lime-elements/p-d6dadc61.entry.js +0 -1
- package/dist/lime-elements/p-d93b7b9f.entry.js +0 -23
- package/dist/lime-elements/p-dc9cd793.entry.js +0 -1
- package/dist/lime-elements/p-dd62042a.entry.js +0 -1
- package/dist/lime-elements/p-u_sd2HMb.js +0 -1
- package/dist/lime-elements/p-zo6O9LC9.js +0 -3
- /package/dist/lime-elements/{p-JbKhhoXs.js → p-BrjD-ITe.js} +0 -0
- /package/dist/lime-elements/{p-BxrRWYts.js → p-DjmlD0Mw.js} +0 -0
- /package/dist/lime-elements/{p-BTSG--2-.js → p-Dv2HOgWN.js} +0 -0
|
@@ -43,7 +43,9 @@ async function fetchEmailBuffer(url) {
|
|
|
43
43
|
}
|
|
44
44
|
catch (error) {
|
|
45
45
|
const message = error instanceof Error ? error.message : String(error);
|
|
46
|
-
throw new Error(`Failed to load email from ${url}: ${message}
|
|
46
|
+
throw new Error(`Failed to load email from ${url}: ${message}`, {
|
|
47
|
+
cause: error,
|
|
48
|
+
});
|
|
47
49
|
}
|
|
48
50
|
}
|
|
49
51
|
async function parseEmail(url, buffer) {
|
|
@@ -54,7 +56,9 @@ async function parseEmail(url, buffer) {
|
|
|
54
56
|
}
|
|
55
57
|
catch (error) {
|
|
56
58
|
const message = error instanceof Error ? error.message : String(error);
|
|
57
|
-
throw new Error(`Failed to parse email from ${url}: ${message}
|
|
59
|
+
throw new Error(`Failed to parse email from ${url}: ${message}`, {
|
|
60
|
+
cause: error,
|
|
61
|
+
});
|
|
58
62
|
}
|
|
59
63
|
}
|
|
60
64
|
function getRawHeader(email, name) {
|
|
@@ -64,7 +68,8 @@ function getRawHeader(email, name) {
|
|
|
64
68
|
function extractAttachments(email) {
|
|
65
69
|
const attachments = [];
|
|
66
70
|
const cidUrlById = new Map();
|
|
67
|
-
|
|
71
|
+
const emailAttachments = email.attachments || [];
|
|
72
|
+
for (const attachment of emailAttachments) {
|
|
68
73
|
const contentId = normalizeContentId(attachment.contentId);
|
|
69
74
|
const hasContentId = Boolean(contentId);
|
|
70
75
|
const isInline = (hasContentId && attachment.disposition !== 'attachment') ||
|
|
@@ -168,7 +173,7 @@ function byteArrayToBase64(bytes) {
|
|
|
168
173
|
return btoa(binary);
|
|
169
174
|
}
|
|
170
175
|
// Jest/Node fallback
|
|
171
|
-
return
|
|
176
|
+
return Buffer.from(bytes).toString('base64');
|
|
172
177
|
}
|
|
173
178
|
function resolveDataUrlMimeType(mimeType, bytes, filename) {
|
|
174
179
|
const normalizedMimeType = typeof mimeType === 'string' ? mimeType.trim().toLowerCase() : '';
|
|
@@ -191,10 +196,7 @@ function resolveDataUrlMimeType(mimeType, bytes, filename) {
|
|
|
191
196
|
return normalizedMimeType || 'application/octet-stream';
|
|
192
197
|
}
|
|
193
198
|
function isTrustedDeclaredImageMimeType(declaredMimeType, detectedMimeType) {
|
|
194
|
-
if (!detectedMimeType) {
|
|
195
|
-
return true;
|
|
196
|
-
}
|
|
197
|
-
if (declaredMimeType === detectedMimeType) {
|
|
199
|
+
if (!detectedMimeType || declaredMimeType === detectedMimeType) {
|
|
198
200
|
return true;
|
|
199
201
|
}
|
|
200
202
|
if (declaredMimeType === 'image/jpg' && detectedMimeType === 'image/jpeg') {
|
|
@@ -239,7 +241,7 @@ function detectSvgMimeType(bytes) {
|
|
|
239
241
|
if (bytes.length < 5) {
|
|
240
242
|
return;
|
|
241
243
|
}
|
|
242
|
-
const utf8Prefix = new TextDecoder('
|
|
244
|
+
const utf8Prefix = new TextDecoder('utf-8', { fatal: false }).decode(bytes.slice(0, Math.min(bytes.length, 256)));
|
|
243
245
|
const normalizedPrefix = utf8Prefix.trimStart().toLowerCase();
|
|
244
246
|
if (normalizedPrefix.startsWith('<svg') ||
|
|
245
247
|
(normalizedPrefix.startsWith('<?xml') &&
|
|
@@ -331,7 +333,9 @@ function quoteDisplayNameIfNeeded(name) {
|
|
|
331
333
|
if (!name.includes(',') && !name.includes('"')) {
|
|
332
334
|
return name;
|
|
333
335
|
}
|
|
334
|
-
const escaped = name
|
|
336
|
+
const escaped = name
|
|
337
|
+
.replaceAll('\\', '\\\\')
|
|
338
|
+
.replaceAll('"', String.raw `\"`);
|
|
335
339
|
return `"${escaped}"`;
|
|
336
340
|
}
|
|
337
341
|
export const emailLoaderHelpers = {
|
|
@@ -75,7 +75,7 @@ export class EmailViewer {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
render() {
|
|
78
|
-
return (h(Host, { key: '
|
|
78
|
+
return (h(Host, { key: '1039e0b6331706b0a075d87c6156e2acd869e977' }, h("div", { key: '88dedb9af5a2d7a9870d484a23b649eae726633f', class: "email", part: "email" }, this.renderHeaders(), this.renderRemoteImageBanner(), h("section", { key: '107a24b3cb6199b79ce19331f2660d72854e06ce' }, this.renderAttachments(), this.renderBody()))));
|
|
79
79
|
}
|
|
80
80
|
renderHeaders() {
|
|
81
81
|
const headerFields = [
|
|
@@ -150,10 +150,7 @@ function getSafeEmailImageSrc(src) {
|
|
|
150
150
|
return;
|
|
151
151
|
}
|
|
152
152
|
const mimeType = getDataUrlMimeType(trimmedSrc);
|
|
153
|
-
if (!mimeType) {
|
|
154
|
-
return;
|
|
155
|
-
}
|
|
156
|
-
if (!allowedMimeTypes.has(mimeType)) {
|
|
153
|
+
if (!mimeType || !allowedMimeTypes.has(mimeType)) {
|
|
157
154
|
return;
|
|
158
155
|
}
|
|
159
156
|
return trimmedSrc;
|
|
@@ -40,16 +40,10 @@ export function splitEmailAddressList(value) {
|
|
|
40
40
|
current = '';
|
|
41
41
|
};
|
|
42
42
|
for (const character of value) {
|
|
43
|
-
if (consumeEscaped(character, state, append)
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
continue;
|
|
48
|
-
}
|
|
49
|
-
if (toggleQuote(character, state, append)) {
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
if (adjustAngleDepth(character, state, append)) {
|
|
43
|
+
if (consumeEscaped(character, state, append) ||
|
|
44
|
+
beginEscape(character, state, append) ||
|
|
45
|
+
toggleQuote(character, state, append) ||
|
|
46
|
+
adjustAngleDepth(character, state, append)) {
|
|
53
47
|
continue;
|
|
54
48
|
}
|
|
55
49
|
if (isAddressSeparator(character, state)) {
|
|
@@ -125,16 +125,17 @@ export class File {
|
|
|
125
125
|
this.handleChipSetChange = (event) => {
|
|
126
126
|
event.stopPropagation();
|
|
127
127
|
const file = event.detail.length === 0 ? event.detail[0] : null;
|
|
128
|
-
if (
|
|
129
|
-
|
|
130
|
-
// transient so the chip disappears immediately, and the token
|
|
131
|
-
// guard in `handleNewFiles` discards the resize result instead of
|
|
132
|
-
// re-emitting the removed file once it finishes. Without this, a
|
|
133
|
-
// removal during resize is swallowed, because `value` is already
|
|
134
|
-
// `undefined` so the `@Watch('value')` clear never fires.
|
|
135
|
-
this.resizingFile = undefined;
|
|
136
|
-
this.change.emit(file);
|
|
128
|
+
if (file) {
|
|
129
|
+
return;
|
|
137
130
|
}
|
|
131
|
+
// Removing the chip cancels any in-flight resize: drop the
|
|
132
|
+
// transient so the chip disappears immediately, and the token
|
|
133
|
+
// guard in `handleNewFiles` discards the resize result instead of
|
|
134
|
+
// re-emitting the removed file once it finishes. Without this, a
|
|
135
|
+
// removal during resize is swallowed, because `value` is already
|
|
136
|
+
// `undefined` so the `@Watch('value')` clear never fires.
|
|
137
|
+
this.resizingFile = undefined;
|
|
138
|
+
this.change.emit(file);
|
|
138
139
|
};
|
|
139
140
|
this.handleChipInteract = (event) => {
|
|
140
141
|
this.preventAndStop(event);
|
|
@@ -153,7 +154,7 @@ export class File {
|
|
|
153
154
|
this.resizingFile = undefined;
|
|
154
155
|
}
|
|
155
156
|
render() {
|
|
156
|
-
return (h(Host, { key: '
|
|
157
|
+
return (h(Host, { key: 'dfaf1d7c9ddb1a8e960547db042402fa690dc829', "aria-busy": this.isBusy ? 'true' : 'false' }, h("limel-file-dropzone", { key: 'a3ebe9b925c2e13ad1b87aa3f3a948b05e6b7473', disabled: this.disabled || this.readonly || !!this.displayedFile, accept: this.accept, onFilesSelected: this.handleNewFiles }, this.renderChipset()), this.renderDragAndDropTip(), this.renderSpinner()));
|
|
157
158
|
}
|
|
158
159
|
get statusText() {
|
|
159
160
|
var _a, _b, _c;
|
|
@@ -90,7 +90,7 @@ export class FileDropzone {
|
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
92
|
render() {
|
|
93
|
-
return (h(Host, { key: '
|
|
93
|
+
return (h(Host, { key: 'e9f43878405c9d969b0825e55322ae95b8770db1', onDrop: this.handleDrop, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave }, h("slot", { key: '39087bebe8f40c34b3905891d22c3f9a585e4824' }), this.renderOnDragLayout()));
|
|
94
94
|
}
|
|
95
95
|
static get is() { return "limel-file-dropzone"; }
|
|
96
96
|
static get encapsulation() { return "shadow"; }
|
|
@@ -59,11 +59,12 @@ export class FileInput {
|
|
|
59
59
|
};
|
|
60
60
|
this.handleFileChange = (event) => {
|
|
61
61
|
const files = [...this.fileInput.files];
|
|
62
|
-
if (files.length
|
|
63
|
-
|
|
64
|
-
this.filesSelected.emit(files.map(createFileInfo));
|
|
65
|
-
this.fileInput.value = '';
|
|
62
|
+
if (files.length === 0) {
|
|
63
|
+
return;
|
|
66
64
|
}
|
|
65
|
+
event.stopPropagation();
|
|
66
|
+
this.filesSelected.emit(files.map(createFileInfo));
|
|
67
|
+
this.fileInput.value = '';
|
|
67
68
|
};
|
|
68
69
|
}
|
|
69
70
|
componentDidLoad() {
|
|
@@ -71,12 +72,10 @@ export class FileInput {
|
|
|
71
72
|
this.fileInput = this.element.shadowRoot.getElementById(this.fileInputId);
|
|
72
73
|
}
|
|
73
74
|
render() {
|
|
74
|
-
return (h(Host, { key: '
|
|
75
|
+
return (h(Host, { key: '38213e8f3e58a565368415e61fce7fcc44975848', onClick: this.handleClick, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown }, h("input", { key: '1f75283470841c3821f601959038c31c72322f57', hidden: true, id: this.fileInputId, onChange: this.handleFileChange, type: "file", accept: this.accept, disabled: this.disabled, multiple: this.multiple }), h("slot", { key: '4509934962cbfddb994329102f80c4abe0879d63' })));
|
|
75
76
|
}
|
|
76
77
|
handleKeyDown(event) {
|
|
77
|
-
if (
|
|
78
|
-
event.code === 'Backspace' ||
|
|
79
|
-
event.code === 'Enter') {
|
|
78
|
+
if (['Tab', 'Backspace', 'Enter'].includes(event.code)) {
|
|
80
79
|
return;
|
|
81
80
|
}
|
|
82
81
|
event.preventDefault();
|
|
@@ -212,10 +212,11 @@ export class FileViewer {
|
|
|
212
212
|
this.fileUrl = this.url;
|
|
213
213
|
};
|
|
214
214
|
this.handleToggleFullscreen = () => {
|
|
215
|
-
if (this.fullscreen.isSupported()) {
|
|
216
|
-
|
|
217
|
-
this.isFullscreen = !this.isFullscreen;
|
|
215
|
+
if (!this.fullscreen.isSupported()) {
|
|
216
|
+
return;
|
|
218
217
|
}
|
|
218
|
+
this.fullscreen.toggle();
|
|
219
|
+
this.isFullscreen = !this.isFullscreen;
|
|
219
220
|
};
|
|
220
221
|
this.emitOnAction = (event) => {
|
|
221
222
|
event.stopPropagation();
|
|
@@ -233,10 +234,11 @@ export class FileViewer {
|
|
|
233
234
|
});
|
|
234
235
|
}
|
|
235
236
|
connectedCallback() {
|
|
236
|
-
if (this.revokeAnimationFrame
|
|
237
|
-
|
|
238
|
-
this.revokeAnimationFrame = undefined;
|
|
237
|
+
if (this.revokeAnimationFrame === undefined) {
|
|
238
|
+
return;
|
|
239
239
|
}
|
|
240
|
+
cancelAnimationFrame(this.revokeAnimationFrame);
|
|
241
|
+
this.revokeAnimationFrame = undefined;
|
|
240
242
|
}
|
|
241
243
|
async componentWillLoad() {
|
|
242
244
|
this.fileType = detectExtension(this.filename, this.url);
|
|
@@ -274,10 +276,11 @@ export class FileViewer {
|
|
|
274
276
|
return fileViewerFunction();
|
|
275
277
|
}
|
|
276
278
|
revokePdfBlobUrl() {
|
|
277
|
-
if (this.pdfBlobUrl) {
|
|
278
|
-
|
|
279
|
-
this.pdfBlobUrl = undefined;
|
|
279
|
+
if (!this.pdfBlobUrl) {
|
|
280
|
+
return;
|
|
280
281
|
}
|
|
282
|
+
URL.revokeObjectURL(this.pdfBlobUrl);
|
|
283
|
+
this.pdfBlobUrl = undefined;
|
|
281
284
|
}
|
|
282
285
|
sanitizeUrl(url) {
|
|
283
286
|
if (!(url === null || url === void 0 ? void 0 : url.trim())) {
|
|
@@ -31,7 +31,7 @@ export class FlexContainer {
|
|
|
31
31
|
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');
|
|
32
32
|
}
|
|
33
33
|
render() {
|
|
34
|
-
return h("slot", { key: '
|
|
34
|
+
return h("slot", { key: 'b198feb938d5eb26cf1f96aa6cbfd412c843a3b1' });
|
|
35
35
|
}
|
|
36
36
|
static get is() { return "limel-flex-container"; }
|
|
37
37
|
static get encapsulation() { return "shadow"; }
|
|
@@ -173,13 +173,13 @@ export class SchemaField extends React.Component {
|
|
|
173
173
|
}
|
|
174
174
|
render() {
|
|
175
175
|
var _a;
|
|
176
|
-
const schema = this.props.schema;
|
|
177
176
|
if ((_a = this.props.schema.lime) === null || _a === void 0 ? void 0 : _a.hidden) {
|
|
178
177
|
return null;
|
|
179
178
|
}
|
|
180
179
|
if (hasCustomComponent(this.props.schema)) {
|
|
181
180
|
return this.renderCustomComponent(this.props);
|
|
182
181
|
}
|
|
182
|
+
const schema = this.props.schema;
|
|
183
183
|
const fieldProps = Object.assign(Object.assign({}, this.props), { onChange: this.handleChange });
|
|
184
184
|
if (this.props.schema.format === 'time') {
|
|
185
185
|
fieldProps.uiSchema = Object.assign({ 'ui:widget': TimePicker }, fieldProps.uiSchema);
|
|
@@ -68,10 +68,7 @@ export class Form {
|
|
|
68
68
|
this.initialize();
|
|
69
69
|
}
|
|
70
70
|
initialize() {
|
|
71
|
-
if (this.initialized) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
if (!this.host.shadowRoot.querySelector('.root')) {
|
|
71
|
+
if (this.initialized || !this.host.shadowRoot.querySelector('.root')) {
|
|
75
72
|
return;
|
|
76
73
|
}
|
|
77
74
|
this.initialized = true;
|
|
@@ -90,7 +87,7 @@ export class Form {
|
|
|
90
87
|
this.initialized = false;
|
|
91
88
|
}
|
|
92
89
|
render() {
|
|
93
|
-
return h("div", { key: '
|
|
90
|
+
return h("div", { key: '843ccbe06e291ffa1958da88634f4aee41007f2b', class: "root" });
|
|
94
91
|
}
|
|
95
92
|
reactRender() {
|
|
96
93
|
if (!this.root) {
|
|
@@ -603,16 +603,14 @@ export const nestedLayoutSchemaPathSchema = {
|
|
|
603
603
|
};
|
|
604
604
|
export const getConditionalCustomComponentSchema = (value) => ({
|
|
605
605
|
type: 'object',
|
|
606
|
-
properties: Object.assign({ trigger: { type: 'string', title: 'Trigger' } }, ((value === null || value === void 0 ? void 0 : value.trigger) === 'show'
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
}
|
|
615
|
-
: {})),
|
|
606
|
+
properties: Object.assign({ trigger: { type: 'string', title: 'Trigger' } }, ((value === null || value === void 0 ? void 0 : value.trigger) === 'show' && {
|
|
607
|
+
color: {
|
|
608
|
+
type: 'string',
|
|
609
|
+
title: 'Color',
|
|
610
|
+
default: 'rgb(0, 0, 0)',
|
|
611
|
+
lime: { component: { name: 'limel-color-picker' } },
|
|
612
|
+
},
|
|
613
|
+
})),
|
|
616
614
|
});
|
|
617
615
|
export const arrayItemWithEnumAndDefaultSchema = {
|
|
618
616
|
type: 'object',
|
|
@@ -131,10 +131,7 @@ export class ArrayFieldTemplate extends React.Component {
|
|
|
131
131
|
if (items.length === 0) {
|
|
132
132
|
return [];
|
|
133
133
|
}
|
|
134
|
-
const byKey = new Map();
|
|
135
|
-
for (const [index, item] of items.entries()) {
|
|
136
|
-
byKey.set(index, item);
|
|
137
|
-
}
|
|
134
|
+
const byKey = new Map(items.entries());
|
|
138
135
|
const ordered = [];
|
|
139
136
|
const used = new Set();
|
|
140
137
|
for (const index of this.state.order) {
|
|
@@ -145,7 +142,7 @@ export class ArrayFieldTemplate extends React.Component {
|
|
|
145
142
|
ordered.push(entry);
|
|
146
143
|
used.add(index);
|
|
147
144
|
}
|
|
148
|
-
for (const [index, entry] of byKey
|
|
145
|
+
for (const [index, entry] of byKey) {
|
|
149
146
|
if (!used.has(index)) {
|
|
150
147
|
ordered.push(entry);
|
|
151
148
|
}
|
|
@@ -250,7 +247,7 @@ export class ArrayFieldTemplate extends React.Component {
|
|
|
250
247
|
}
|
|
251
248
|
const target = this.dropElevationTarget;
|
|
252
249
|
this.clearDropElevationTimer();
|
|
253
|
-
this.dropElevationTimeout =
|
|
250
|
+
this.dropElevationTimeout = setTimeout(() => {
|
|
254
251
|
target.classList.remove(DEFAULT_DROP_ELEVATION_CLASS);
|
|
255
252
|
if (this.dropElevationTarget === target) {
|
|
256
253
|
this.dropElevationTarget = undefined;
|
|
@@ -259,10 +256,11 @@ export class ArrayFieldTemplate extends React.Component {
|
|
|
259
256
|
}, DROP_ELEVATION_DURATION);
|
|
260
257
|
}
|
|
261
258
|
clearDropElevationTimer() {
|
|
262
|
-
if (this.dropElevationTimeout
|
|
263
|
-
|
|
264
|
-
this.dropElevationTimeout = undefined;
|
|
259
|
+
if (this.dropElevationTimeout === undefined) {
|
|
260
|
+
return;
|
|
265
261
|
}
|
|
262
|
+
clearTimeout(this.dropElevationTimeout);
|
|
263
|
+
this.dropElevationTimeout = undefined;
|
|
266
264
|
}
|
|
267
265
|
arraysEqual(a, b) {
|
|
268
266
|
if (a.length !== b.length) {
|
|
@@ -36,26 +36,26 @@ export function renderDescription(description) {
|
|
|
36
36
|
* @returns describing title of the data
|
|
37
37
|
*/
|
|
38
38
|
export function findTitle(data, fieldSchema, formSchema) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
39
|
+
while (data) {
|
|
40
|
+
if (Array.isArray(data) &&
|
|
41
|
+
isObjectType(fieldSchema.items)) {
|
|
42
|
+
data = data[0];
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
if (Array.isArray(data) || typeof data !== 'object') {
|
|
46
|
+
return findSchemaTitle(data, fieldSchema);
|
|
47
|
+
}
|
|
48
|
+
const subSchema = findSubSchema(fieldSchema, formSchema);
|
|
49
|
+
data = sortDataByProperties(data, subSchema.properties);
|
|
50
|
+
const firstEntry = findFirstEntry(data, subSchema);
|
|
51
|
+
if (!firstEntry || !subSchema.properties) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
const [key, value] = firstEntry;
|
|
55
|
+
data = value;
|
|
56
|
+
fieldSchema = subSchema.properties[key];
|
|
56
57
|
}
|
|
57
|
-
|
|
58
|
-
return findTitle(value, subSchema.properties[key], formSchema);
|
|
58
|
+
return null;
|
|
59
59
|
}
|
|
60
60
|
function sortDataByProperties(data, properties) {
|
|
61
61
|
if (!properties || isEmpty(properties)) {
|
|
@@ -44,7 +44,7 @@ function getSchemaObjectPropertyPath(schema, fieldPathId) {
|
|
|
44
44
|
var _a, _b;
|
|
45
45
|
const refPrefixLength = 2;
|
|
46
46
|
const matchAllForwardSlashes = /\//g;
|
|
47
|
-
const rootPath = (_b = (_a = schema.$ref) === null || _a === void 0 ? void 0 : _a.
|
|
47
|
+
const rootPath = (_b = (_a = schema.$ref) === null || _a === void 0 ? void 0 : _a.replaceAll(matchAllForwardSlashes, '.').slice(refPrefixLength)) !== null && _b !== void 0 ? _b : '';
|
|
48
48
|
const subSchemaPath = fieldPathId.path
|
|
49
49
|
.map((segment) => `.properties.${segment}`)
|
|
50
50
|
.join('');
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isEmpty, capitalize } from "lodash-es";
|
|
1
|
+
import { isEmpty, isNil, capitalize } from "lodash-es";
|
|
2
2
|
/**
|
|
3
3
|
* Check whether a form field value is non-empty.
|
|
4
4
|
* Treats `null`, `undefined`, `''`, empty arrays,
|
|
@@ -8,7 +8,7 @@ import { isEmpty, capitalize } from "lodash-es";
|
|
|
8
8
|
* @returns `true` when the field holds meaningful data
|
|
9
9
|
*/
|
|
10
10
|
export function hasValue(value) {
|
|
11
|
-
if (value
|
|
11
|
+
if (isNil(value) || value === '') {
|
|
12
12
|
return false;
|
|
13
13
|
}
|
|
14
14
|
if (Array.isArray(value)) {
|
|
@@ -10,7 +10,7 @@ export class CodeEditor extends React.Component {
|
|
|
10
10
|
const props = this.props;
|
|
11
11
|
let value = '{}';
|
|
12
12
|
try {
|
|
13
|
-
value = JSON.stringify(props.formData, null, '
|
|
13
|
+
value = JSON.stringify(props.formData, null, ' '.repeat(4));
|
|
14
14
|
}
|
|
15
15
|
catch (_a) {
|
|
16
16
|
// N/A
|
|
@@ -85,16 +85,13 @@ function findFirstError(schema) {
|
|
|
85
85
|
return errors[0];
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
for (const key of Object.
|
|
89
|
-
if (key === '__errors') {
|
|
88
|
+
for (const [key, nested] of Object.entries(schema)) {
|
|
89
|
+
if (key === '__errors' || !nested || typeof nested !== 'object') {
|
|
90
90
|
continue;
|
|
91
91
|
}
|
|
92
|
-
const
|
|
93
|
-
if (
|
|
94
|
-
|
|
95
|
-
if (found) {
|
|
96
|
-
return `${key}: ${found}`;
|
|
97
|
-
}
|
|
92
|
+
const found = findFirstError(nested);
|
|
93
|
+
if (found) {
|
|
94
|
+
return `${key}: ${found}`;
|
|
98
95
|
}
|
|
99
96
|
}
|
|
100
97
|
return undefined;
|
|
@@ -39,9 +39,7 @@ export class DatePicker extends React.Component {
|
|
|
39
39
|
if (typeof this.props.value === 'string') {
|
|
40
40
|
return new Date(this.props.value);
|
|
41
41
|
}
|
|
42
|
-
|
|
43
|
-
return this.props.value;
|
|
44
|
-
}
|
|
42
|
+
return this.props.value;
|
|
45
43
|
}
|
|
46
44
|
handleChange(event) {
|
|
47
45
|
const props = this.props;
|
|
@@ -12,7 +12,7 @@ export class Grid {
|
|
|
12
12
|
console.warn('limel-grid is deprecated, please use CSS instead: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout');
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
|
-
return h("slot", { key: '
|
|
15
|
+
return h("slot", { key: '4928fa4c63f2db778bde762470299c8bf05952b3' });
|
|
16
16
|
}
|
|
17
17
|
static get is() { return "limel-grid"; }
|
|
18
18
|
static get encapsulation() { return "shadow"; }
|
|
@@ -61,7 +61,7 @@ export class Header {
|
|
|
61
61
|
this.subheadingDivider = '·';
|
|
62
62
|
}
|
|
63
63
|
render() {
|
|
64
|
-
return (h(Host, { key: '
|
|
64
|
+
return (h(Host, { key: '77afcbc01f9ba4c71ad2aec82114564de1cfd591' }, h("div", { key: 'd20b369bd1ae5e472afeee2b6f1bed0c17eacb87', class: "information" }, this.renderIcon(), h("div", { key: '91e5a5aea8fad80316b890e88594da6aa8183182', class: "headings" }, h("h1", { key: '4477c5c6a2f134e98c8aaa4e9716399a4496e09a', class: "heading", title: this.heading }, this.heading), h("h2", { key: 'd81bd39f801ade017cd84d308141041faad4e33b', class: "subheading", title: this.subheading }, this.subheading, this.renderSupportingText()))), h("slot", { key: '7f1e532fb88771ecd3ab52c5581528e3aa7a14e4', name: "actions" }, h("slot", { key: '5cafb4367e7e9fed6dc3bffb17b4a310daec0c6a' }))));
|
|
65
65
|
}
|
|
66
66
|
renderIcon() {
|
|
67
67
|
var _a, _b, _c, _d, _e;
|
|
@@ -19,7 +19,7 @@ export class HelpContent {
|
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
render() {
|
|
22
|
-
return (h(Host, { key: '
|
|
22
|
+
return (h(Host, { key: '5c4eb2e9819635fb321c9544044521218677b2f6' }, h("limel-markdown", { key: 'bf231a4673cc49263838a41e0469636755df5772', value: this.value }), this.renderReadMoreLink()));
|
|
23
23
|
}
|
|
24
24
|
static get is() { return "limel-help-content"; }
|
|
25
25
|
static get encapsulation() { return "shadow"; }
|
|
@@ -41,9 +41,9 @@ export class HelpComponent {
|
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
43
|
render() {
|
|
44
|
-
return (h(Host, { key: '
|
|
44
|
+
return (h(Host, { key: 'ea89d810cf9e7406a4a299eb98d9470c758d82ec' }, h("limel-popover", { key: '3693e98650f4d94fef1abd8a033dac0cf12906d7', open: this.isOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("button", { key: '34db4bb7f2c61377b6068f14105d0e6a88fc827e', slot: "trigger", type: "button", onClick: this.openPopover, class: {
|
|
45
45
|
'is-open': this.isOpen,
|
|
46
|
-
} }, this.trigger), h("limel-help-content", { key: '
|
|
46
|
+
} }, this.trigger), h("limel-help-content", { key: '5e50557a652e842bf9846738b1aae1df63d55755', value: this.value, readMoreLink: this.readMoreLink }))));
|
|
47
47
|
}
|
|
48
48
|
static get is() { return "limel-help"; }
|
|
49
49
|
static get encapsulation() { return "shadow"; }
|
|
@@ -38,17 +38,17 @@ export class HelperLine {
|
|
|
38
38
|
return (h("span", { class: "helper-text", id: this.helperTextId }, this.helperText));
|
|
39
39
|
};
|
|
40
40
|
this.renderCharacterCounter = () => {
|
|
41
|
-
const counter = `${this.length} / ${this.maxLength}`;
|
|
42
41
|
if (!this.maxLength) {
|
|
43
42
|
return;
|
|
44
43
|
}
|
|
44
|
+
const counter = `${this.length} / ${this.maxLength}`;
|
|
45
45
|
return h("span", { class: "counter" }, counter);
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
render() {
|
|
49
|
-
return (h(Host, { key: '
|
|
49
|
+
return (h(Host, { key: '9fe6acba5a79d706deec8353cdb761565269ab0c', tabIndex: -1, class: {
|
|
50
50
|
invalid: this.invalid,
|
|
51
|
-
}, style: this.hasContent() ? {} : { display: 'none' }, "aria-hidden": !this.hasContent() }, h("div", { key: '
|
|
51
|
+
}, style: this.hasContent() ? {} : { display: 'none' }, "aria-hidden": !this.hasContent() }, h("div", { key: '8cec25fd07c608ee5bbbd97af8d3276d124efa64' }, this.renderHelperText(), this.renderCharacterCounter())));
|
|
52
52
|
}
|
|
53
53
|
static get is() { return "limel-helper-line"; }
|
|
54
54
|
static get encapsulation() { return "shadow"; }
|
|
@@ -32,7 +32,7 @@ export class Hotkey {
|
|
|
32
32
|
.map((p) => p.ariaName)
|
|
33
33
|
.filter(Boolean)
|
|
34
34
|
.join(' ');
|
|
35
|
-
return (h(Host, { key: '
|
|
35
|
+
return (h(Host, { key: 'dd8bc8134560dae3014e6ab5ab6eadeaa0bb6a4e', "aria-label": ariaLabel || undefined }, displayParts.map(({ display, isGlyph }, index) => (h("kbd", { key: `${parts[index]}-${index}`, class: isGlyph ? 'is-glyph' : undefined }, h("span", null, display))))));
|
|
36
36
|
}
|
|
37
37
|
static get is() { return "limel-hotkey"; }
|
|
38
38
|
static get encapsulation() { return "shadow"; }
|
|
@@ -19,7 +19,7 @@ export class Icon {
|
|
|
19
19
|
this.loadIcon(this.name);
|
|
20
20
|
}
|
|
21
21
|
render() {
|
|
22
|
-
return h("div", { key: '
|
|
22
|
+
return h("div", { key: '3e5dc80a0e19e21988169509b33685bdb3005f1d', class: "container" });
|
|
23
23
|
}
|
|
24
24
|
async loadIcon(name) {
|
|
25
25
|
if (name === undefined || name === '') {
|
|
@@ -45,14 +45,15 @@ export class Icon {
|
|
|
45
45
|
*/
|
|
46
46
|
renderSvg(svgData) {
|
|
47
47
|
const container = this.host.shadowRoot.querySelector('div.container');
|
|
48
|
-
if (container) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
48
|
+
if (!container) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
container.innerHTML = svgData;
|
|
52
|
+
// On initial render, only override the SVG's class if the
|
|
53
|
+
// consumer set `svgClass`. Otherwise leave the SVG's baked-in
|
|
54
|
+
// class alone — that's the default state stateless icons rely on.
|
|
55
|
+
if (this.svgClass !== undefined) {
|
|
56
|
+
this.applySvgClass(this.svgClass);
|
|
56
57
|
}
|
|
57
58
|
}
|
|
58
59
|
applySvgClass(value) {
|
|
@@ -61,6 +62,7 @@ export class Icon {
|
|
|
61
62
|
if (!svg) {
|
|
62
63
|
return;
|
|
63
64
|
}
|
|
65
|
+
// eslint-disable-next-line unicorn/prefer-toggle-attribute -- sets a string value, not a boolean attribute
|
|
64
66
|
if (value === undefined) {
|
|
65
67
|
svg.removeAttribute('class');
|
|
66
68
|
}
|
|
@@ -52,7 +52,7 @@ export class IconButton {
|
|
|
52
52
|
if (this.host.hasAttribute('tabindex')) {
|
|
53
53
|
buttonAttributes.tabindex = this.host.getAttribute('tabindex');
|
|
54
54
|
}
|
|
55
|
-
return (h(Host, { key: '
|
|
55
|
+
return (h(Host, { key: 'e2fa10697beccc59cb8f332695e445522391649d', onClick: this.filterClickWhenDisabled }, h("button", Object.assign({ key: '2dc00d1341e9a458f5a7d060abd777c29cd333e0', "aria-label": this.label, disabled: this.disabled, id: this.tooltipId }, buttonAttributes), this.renderIcon(), this.renderTooltip(this.tooltipId))));
|
|
56
56
|
}
|
|
57
57
|
renderIcon() {
|
|
58
58
|
var _a, _b;
|