@limetech/lime-elements 40.14.5 → 40.16.0
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 +19 -0
- package/dist/cjs/_Map-BsuE0Kgq.js +57 -0
- package/dist/cjs/_arrayPush-0Rd-eNkQ.js +420 -0
- package/dist/cjs/_baseFlatten-BonTAUIo.js +199 -0
- package/dist/cjs/{_baseForOwn-8jMPwf3X.js → _baseForOwn-Bflq946d.js} +1 -1
- package/dist/cjs/{_baseIsEqual-zzV9DKMv.js → _baseIsEqual-DNSR68qD.js} +16 -428
- package/dist/cjs/_baseIteratee-Cistiy8H.js +263 -0
- package/dist/cjs/{_baseSet-DykMx7uF.js → _basePickBy-DeOMws-h.js} +29 -43
- package/dist/cjs/{_getPrototype-CCLHkBHj.js → _getPrototype-D74M8h-k.js} +1 -1
- package/dist/cjs/{_getTag-BC28Za7d.js → _getTag-CxGZ3DRt.js} +7 -57
- package/dist/cjs/{cloneDeep-D2immmwT.js → cloneDeep-CiuKX6HE.js} +3 -3
- package/dist/cjs/{drag-to-reorder-BP5YkPuu.js → drag-to-reorder-BmVz_kUy.js} +3 -193
- package/dist/cjs/{_baseIteratee-BIMRm4nq.js → hasIn-BQ92Jk0F.js} +10 -264
- package/dist/cjs/help-props-Ds30nnt1.js +90 -0
- package/dist/cjs/isArrayLike-0-cyPB5I.js +35 -0
- package/dist/cjs/{isEmpty-CCxl3bYc.js → isEmpty-BsdhcVKT.js} +4 -3
- package/dist/cjs/{isEqual-D3eFkhqd.js → isEqual-QhCilNoo.js} +1 -1
- package/dist/cjs/isLength-DvlFY_9S.js +37 -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 +3 -3
- package/dist/cjs/limel-ai-avatar.cjs.entry.js +1 -1
- 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 +1 -1
- package/dist/cjs/limel-card.cjs.entry.js +1 -1
- package/dist/cjs/limel-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/limel-chip-set.cjs.entry.js +11 -8
- package/dist/cjs/limel-chip_2.cjs.entry.js +7 -5
- package/dist/cjs/limel-circular-progress.cjs.entry.js +1 -1
- package/dist/cjs/limel-code-diff.cjs.entry.js +1 -1
- package/dist/cjs/limel-code-editor.cjs.entry.js +1 -1
- package/dist/cjs/limel-collapsible-section.cjs.entry.js +40 -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 +12 -9
- package/dist/cjs/limel-dock.cjs.entry.js +2 -2
- package/dist/cjs/limel-drag-handle_2.cjs.entry.js +3 -3
- package/dist/cjs/limel-email-viewer.cjs.entry.js +1 -1
- package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +14 -10
- package/dist/cjs/limel-file.cjs.entry.js +1 -1
- package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +3 -2
- package/dist/cjs/limel-flex-container.cjs.entry.js +1 -1
- package/dist/cjs/limel-form-header.cjs.entry.js +59 -0
- package/dist/cjs/limel-form.cjs.entry.js +140 -45
- 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.cjs.entry.js → limel-help_2.cjs.entry.js} +22 -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 +2 -2
- 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.cjs.entry.js +1 -1
- package/dist/cjs/limel-picker.cjs.entry.js +1 -1
- package/dist/cjs/limel-popover_2.cjs.entry.js +2 -2
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +15 -12
- 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 +1 -1
- 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 +1 -1
- package/dist/cjs/limel-slider.cjs.entry.js +3 -3
- package/dist/cjs/limel-snackbar.cjs.entry.js +2 -2
- 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 +14 -10
- package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/limel-table.cjs.entry.js +196 -126
- package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +3 -3
- package/dist/cjs/limel-text-editor.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/negate-Bg3SqQh6.js +42 -0
- 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-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 +62 -2
- 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/fields/object-field.js +2 -2
- package/dist/collection/components/form/form.css +21 -21
- package/dist/collection/components/form/form.js +60 -3
- package/dist/collection/components/form/form.test-schemas.js +62 -0
- package/dist/collection/components/form/help/help.js +2 -5
- package/dist/collection/components/form/row/row.js +4 -1
- package/dist/collection/components/form/templates/array-field.js +4 -4
- package/dist/collection/components/form/templates/common.js +21 -4
- package/dist/collection/components/form/templates/heading-level.js +51 -0
- package/dist/collection/components/form/templates/object-field.js +3 -9
- package/dist/collection/components/form-header/form-header.css +3 -0
- package/dist/collection/components/form-header/form-header.js +163 -0
- package/dist/collection/components/form-header/help-props.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.js +1 -1
- 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 +1 -1
- 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.js +1 -1
- package/dist/collection/components/tab-panel/tab-panel.js +1 -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/esm/_Map-LWJCQc-c.js +54 -0
- package/dist/esm/_arrayPush-NEl7BpFy.js +416 -0
- package/dist/esm/_baseFlatten-mvFj07qD.js +195 -0
- package/dist/esm/{_baseForOwn-vKFWmmaS.js → _baseForOwn-C3COyhQS.js} +1 -1
- package/dist/esm/{_baseIsEqual-B_JRErB0.js → _baseIsEqual-CJf575VC.js} +9 -419
- package/dist/esm/_baseIteratee-DM5xljbg.js +260 -0
- package/dist/esm/{_baseSet-BUAq8NGm.js → _basePickBy-D_9Hus6l.js} +27 -41
- package/dist/esm/{_getPrototype-B0kMNv1F.js → _getPrototype-CQlOogH0.js} +1 -1
- package/dist/esm/{_getTag-BiAaLWvH.js → _getTag-BTNY_Z_q.js} +5 -53
- package/dist/esm/{cloneDeep-Bcll-3f8.js → cloneDeep-BYrS7zqD.js} +3 -3
- package/dist/esm/{drag-to-reorder-BXmXIwCa.js → drag-to-reorder-9gxiYkIo.js} +3 -192
- package/dist/esm/{_baseIteratee-CVz7aes3.js → hasIn-CKUl04DZ.js} +5 -259
- package/dist/esm/help-props-DULV6dHr.js +88 -0
- package/dist/esm/isArrayLike-wfLI14yj.js +33 -0
- package/dist/esm/{isEmpty-BGVZ12Ea.js → isEmpty-CvLNUkER.js} +3 -2
- package/dist/esm/{isEqual-C-pK6AAU.js → isEqual-BIfg0KPc.js} +1 -1
- package/dist/esm/isLength-BZrtP4vv.js +35 -0
- 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 +3 -3
- package/dist/esm/limel-ai-avatar.entry.js +1 -1
- 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 +1 -1
- package/dist/esm/limel-card.entry.js +1 -1
- package/dist/esm/limel-checkbox.entry.js +1 -1
- package/dist/esm/limel-chip-set.entry.js +11 -8
- package/dist/esm/limel-chip_2.entry.js +7 -5
- package/dist/esm/limel-circular-progress.entry.js +1 -1
- package/dist/esm/limel-code-diff.entry.js +1 -1
- package/dist/esm/limel-code-editor.entry.js +1 -1
- package/dist/esm/limel-collapsible-section.entry.js +40 -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 +12 -9
- package/dist/esm/limel-dock.entry.js +2 -2
- package/dist/esm/limel-drag-handle_2.entry.js +3 -3
- package/dist/esm/limel-email-viewer.entry.js +1 -1
- package/dist/esm/limel-file-dropzone_2.entry.js +14 -10
- package/dist/esm/limel-file.entry.js +1 -1
- package/dist/esm/limel-flatpickr-adapter.entry.js +3 -2
- package/dist/esm/limel-flex-container.entry.js +1 -1
- package/dist/esm/limel-form-header.entry.js +57 -0
- package/dist/esm/limel-form.entry.js +136 -41
- package/dist/esm/limel-grid.entry.js +1 -1
- package/dist/esm/limel-header.entry.js +1 -1
- package/dist/esm/{limel-help.entry.js → limel-help_2.entry.js} +22 -3
- 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 +2 -2
- 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.entry.js +1 -1
- package/dist/esm/limel-picker.entry.js +1 -1
- package/dist/esm/limel-popover_2.entry.js +2 -2
- package/dist/esm/limel-prosemirror-adapter.entry.js +15 -12
- 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 +1 -1
- 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 +1 -1
- package/dist/esm/limel-slider.entry.js +3 -3
- package/dist/esm/limel-snackbar.entry.js +2 -2
- 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 +14 -10
- package/dist/esm/limel-tab-panel.entry.js +1 -1
- package/dist/esm/limel-table.entry.js +191 -121
- package/dist/esm/limel-text-editor-link-menu.entry.js +3 -3
- package/dist/esm/limel-text-editor.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/negate-ooVD-6_a.js +40 -0
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/{p-1d6014ed.entry.js → p-05c1f5a0.entry.js} +1 -1
- package/dist/lime-elements/p-0c314c3c.entry.js +1 -0
- package/dist/lime-elements/{p-aac603af.entry.js → p-153e91e1.entry.js} +1 -1
- package/dist/lime-elements/{p-f455150b.entry.js → p-164e1ad0.entry.js} +1 -1
- package/dist/lime-elements/{p-67536ac3.entry.js → p-19681a98.entry.js} +1 -1
- package/dist/lime-elements/p-1d13245d.entry.js +1 -0
- package/dist/lime-elements/{p-87c9f4de.entry.js → p-22c44279.entry.js} +1 -1
- package/dist/lime-elements/{p-7375fac2.entry.js → p-26347009.entry.js} +1 -1
- package/dist/lime-elements/{p-f0e3a147.entry.js → p-27d7c255.entry.js} +2 -2
- package/dist/lime-elements/{p-3fa66fb1.entry.js → p-29815107.entry.js} +1 -1
- package/dist/lime-elements/{p-27d375f3.entry.js → p-2a375a65.entry.js} +1 -1
- package/dist/lime-elements/{p-aee75ad1.entry.js → p-2c29c27f.entry.js} +1 -1
- package/dist/lime-elements/{p-19426c76.entry.js → p-2f5face5.entry.js} +1 -1
- package/dist/lime-elements/{p-8f133cd6.entry.js → p-3ae5fb67.entry.js} +1 -1
- package/dist/lime-elements/{p-bb40b96c.entry.js → p-3c861ca8.entry.js} +1 -1
- package/dist/lime-elements/{p-f96a8e2c.entry.js → p-40a48f70.entry.js} +1 -1
- package/dist/lime-elements/p-513d2a5e.entry.js +1 -0
- package/dist/lime-elements/{p-9e9187ce.entry.js → p-519603f5.entry.js} +1 -1
- package/dist/lime-elements/{p-4a381bc6.entry.js → p-545c087b.entry.js} +1 -1
- package/dist/lime-elements/{p-89316964.entry.js → p-55abec82.entry.js} +1 -1
- package/dist/lime-elements/{p-8e78fd4f.entry.js → p-55f7c9f5.entry.js} +1 -1
- package/dist/lime-elements/{p-2370ff51.entry.js → p-565e5ea7.entry.js} +1 -1
- package/dist/lime-elements/{p-3b4f6329.entry.js → p-586ee40c.entry.js} +1 -1
- package/dist/lime-elements/{p-ddabfac0.entry.js → p-5f2a34ed.entry.js} +1 -1
- package/dist/lime-elements/{p-dd065596.entry.js → p-5f82ea0b.entry.js} +1 -1
- package/dist/lime-elements/{p-82672504.entry.js → p-65eafc85.entry.js} +1 -1
- package/dist/lime-elements/p-67acf39d.entry.js +1 -0
- package/dist/lime-elements/{p-d1eaba10.entry.js → p-6aae3f58.entry.js} +1 -1
- package/dist/lime-elements/p-7035d93d.entry.js +1 -0
- package/dist/lime-elements/{p-674680f9.entry.js → p-707d4b28.entry.js} +1 -1
- package/dist/lime-elements/{p-068b141b.entry.js → p-713a1158.entry.js} +1 -1
- package/dist/lime-elements/{p-d94f1c0f.entry.js → p-7235d147.entry.js} +1 -1
- package/dist/lime-elements/p-72907ffd.entry.js +1 -0
- package/dist/lime-elements/{p-242f1032.entry.js → p-7aae3d13.entry.js} +1 -1
- package/dist/lime-elements/{p-88dcba1e.entry.js → p-7af16e1d.entry.js} +1 -1
- package/dist/lime-elements/{p-56fe13ef.entry.js → p-7d27d572.entry.js} +1 -1
- package/dist/lime-elements/{p-8339d921.entry.js → p-7f1a1ed5.entry.js} +1 -1
- package/dist/lime-elements/{p-3f447d22.entry.js → p-8045eb7f.entry.js} +1 -1
- package/dist/lime-elements/p-813cb15c.entry.js +1 -0
- package/dist/lime-elements/{p-0de00849.entry.js → p-9436aba6.entry.js} +4 -4
- package/dist/lime-elements/{p-b5ebcbfc.entry.js → p-9e30d206.entry.js} +1 -1
- package/dist/lime-elements/p-BIYP3lTf.js +1 -0
- package/dist/lime-elements/p-BZrtP4vv.js +1 -0
- package/dist/lime-elements/p-BqoaAMnl.js +1 -0
- package/dist/lime-elements/p-BuX-Eb_J.js +1 -0
- package/dist/lime-elements/p-C-Qy5a39.js +1 -0
- package/dist/lime-elements/p-Cn3Alk9P.js +1 -0
- package/dist/lime-elements/p-CnpoFRmN.js +1 -0
- package/dist/lime-elements/p-CzTSYn-I.js +1 -0
- package/dist/lime-elements/p-D5dy3YDO.js +1 -0
- package/dist/lime-elements/p-DVx8ZwG_.js +7 -0
- package/dist/lime-elements/p-DWd0MyPU.js +1 -0
- package/dist/lime-elements/p-DpFfRQwV.js +1 -0
- package/dist/lime-elements/p-UDFTKggt.js +1 -0
- package/dist/lime-elements/{p-9d354eca.entry.js → p-a608ebe3.entry.js} +1 -1
- package/dist/lime-elements/p-a81f6962.entry.js +1 -0
- package/dist/lime-elements/{p-6770cf06.entry.js → p-af53caab.entry.js} +1 -1
- package/dist/lime-elements/{p-150010b5.entry.js → p-b80433be.entry.js} +1 -1
- package/dist/lime-elements/{p-e13e0001.entry.js → p-b983531f.entry.js} +3 -3
- package/dist/lime-elements/{p-e9b1e0bd.entry.js → p-be0a8125.entry.js} +1 -1
- package/dist/lime-elements/{p-f0bf3fd1.entry.js → p-be2b8c1e.entry.js} +1 -1
- package/dist/lime-elements/p-c2_jcMp6.js +1 -0
- package/dist/lime-elements/{p-de3cf7d8.entry.js → p-c73f4160.entry.js} +1 -1
- package/dist/lime-elements/{p-5ea07cbe.entry.js → p-cc8d6198.entry.js} +1 -1
- package/dist/lime-elements/{p-026eed2d.entry.js → p-cced022b.entry.js} +1 -1
- package/dist/lime-elements/{p-BAqAt5It.js → p-cv8kR73y.js} +1 -1
- package/dist/lime-elements/{p-be8950a6.entry.js → p-d0908a85.entry.js} +2 -2
- package/dist/lime-elements/{p-17aa9235.entry.js → p-da4b4a81.entry.js} +1 -1
- package/dist/lime-elements/{p-5d623004.entry.js → p-dd383c12.entry.js} +1 -1
- package/dist/lime-elements/{p-41172b62.entry.js → p-e0ab0046.entry.js} +1 -1
- package/dist/lime-elements/{p-8a9361a2.entry.js → p-eb5a18ff.entry.js} +1 -1
- package/dist/lime-elements/p-f35880ef.entry.js +1 -0
- package/dist/lime-elements/p-f8566c5b.entry.js +1 -0
- package/dist/lime-elements/{p-64540beb.entry.js → p-fad7a3fa.entry.js} +1 -1
- package/dist/lime-elements/p-fdc7da58.entry.js +1 -0
- package/dist/lime-elements/p-ooVD-6_a.js +1 -0
- package/dist/lime-elements/p-rJbGuVxd.js +1 -0
- package/dist/lime-elements/p-xGeCwSnE.js +1 -0
- package/dist/types/components/collapsible-section/collapsible-section.d.ts +14 -0
- package/dist/types/components/form/form.d.ts +15 -1
- package/dist/types/components/form/form.test-schemas.d.ts +4 -0
- package/dist/types/components/form/form.types.d.ts +6 -0
- package/dist/types/components/form/help/help.d.ts +0 -2
- package/dist/types/components/form/row/row.d.ts +3 -0
- package/dist/types/components/form/templates/common.d.ts +17 -4
- package/dist/types/components/form/templates/heading-level.d.ts +49 -0
- package/dist/types/components/form-header/form-header.d.ts +47 -0
- package/dist/types/components/form-header/help-props.d.ts +7 -0
- package/dist/types/components.d.ts +155 -2
- package/dist/types/interface.d.ts +1 -1
- package/package.json +3 -3
- package/dist/cjs/isArrayLike-C2RwZMG4.js +0 -69
- package/dist/cjs/limel-help-content.cjs.entry.js +0 -24
- package/dist/esm/isArrayLike-CyVGB489.js +0 -66
- package/dist/esm/limel-help-content.entry.js +0 -22
- package/dist/lime-elements/p-01de145c.entry.js +0 -1
- package/dist/lime-elements/p-09f8f883.entry.js +0 -1
- package/dist/lime-elements/p-41fb6e88.entry.js +0 -1
- package/dist/lime-elements/p-5633c069.entry.js +0 -1
- package/dist/lime-elements/p-600466a9.entry.js +0 -1
- package/dist/lime-elements/p-7829198d.entry.js +0 -1
- package/dist/lime-elements/p-BYfPV0O4.js +0 -1
- package/dist/lime-elements/p-CW2-jhzP.js +0 -1
- package/dist/lime-elements/p-Cu9Ji1iJ.js +0 -1
- package/dist/lime-elements/p-D2VFSWDU.js +0 -1
- package/dist/lime-elements/p-D9Ezd43A.js +0 -1
- package/dist/lime-elements/p-DFu1q54T.js +0 -1
- package/dist/lime-elements/p-DK0pjX-Y.js +0 -1
- package/dist/lime-elements/p-DdnBHYb-.js +0 -7
- package/dist/lime-elements/p-DeIIlp6m.js +0 -1
- package/dist/lime-elements/p-Dq0uNStc.js +0 -1
- package/dist/lime-elements/p-afbe54e6.entry.js +0 -1
- package/dist/lime-elements/p-e2971111.entry.js +0 -1
- package/dist/lime-elements/p-e332bb9b.entry.js +0 -1
- package/dist/lime-elements/p-e50acec1.entry.js +0 -1
- package/dist/lime-elements/p-f1ac7608.entry.js +0 -1
|
@@ -96,7 +96,7 @@ export class DatePickerCalendar {
|
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
98
|
render() {
|
|
99
|
-
return (h("div", { key: '
|
|
99
|
+
return (h("div", { key: 'c9e65b096f57f96afaffcdca7889cf3addb3227f', class: "container", ref: (el) => (this.container = el), style: {
|
|
100
100
|
'--today-label': `"${translate.get('date-picker.today', this.language)}"`,
|
|
101
101
|
} }));
|
|
102
102
|
}
|
|
@@ -84,10 +84,10 @@ export class Dialog {
|
|
|
84
84
|
this.mdcDialog.destroy();
|
|
85
85
|
}
|
|
86
86
|
render() {
|
|
87
|
-
return (h("div", { key: '
|
|
87
|
+
return (h("div", { key: 'c25d2992895829671727b0d3a52c89d5cd6d3586', class: {
|
|
88
88
|
'mdc-dialog': true,
|
|
89
89
|
'full-screen': !!this.fullscreen,
|
|
90
|
-
}, role: "alertdialog", "aria-modal": "true", "aria-labelledby": 'limel-dialog-title-' + this.id, "aria-describedby": 'limel-dialog-content-' + this.id }, h("input", { key: '
|
|
90
|
+
}, role: "alertdialog", "aria-modal": "true", "aria-labelledby": 'limel-dialog-title-' + this.id, "aria-describedby": 'limel-dialog-content-' + this.id }, h("input", { key: 'bee5a5e54bc971b2ebf33fbcd4d84feba6ca9353', hidden: true, id: "initialFocusEl" }), h("div", { key: '3e5beb7bb0d881de3449cfe26ba5776f3ece4c42', class: "mdc-dialog__container" }, h("div", { key: '928c11c5eca38e7e4065c55d8ec6872c6c0dbd71', class: "mdc-dialog__surface" }, h("input", { key: 'c81d5586e8bf3c3f57d7ea6b33585a5e16c016e3', type: "button", id: "initialFocusElement" }), this.renderHeading(), h("div", { key: 'd7f278245136ea690182f82ad717ff57e4e4855b', class: "mdc-dialog__content", id: 'limel-dialog-content-' + this.id }, h("slot", { key: '40c910630b7df325a5e15829f96d6ce0f8e52ff0' })), this.renderFooter())), h("div", { key: '8aa1010d47e375d2ef607f87d4e724c674493cf9', class: "mdc-dialog__scrim" })));
|
|
91
91
|
}
|
|
92
92
|
watchHandler(newValue, oldValue) {
|
|
93
93
|
if (oldValue === newValue || !this.mdcDialog) {
|
|
@@ -94,11 +94,11 @@ export class Dock {
|
|
|
94
94
|
this.resizeObserver.disconnect();
|
|
95
95
|
}
|
|
96
96
|
render() {
|
|
97
|
-
return (h(Host, { key: '
|
|
97
|
+
return (h(Host, { key: '89d1c5d33de71c5b78b572ec3f72b36424c5b12a', class: {
|
|
98
98
|
dock: true,
|
|
99
99
|
expanded: this.expanded,
|
|
100
100
|
'has-mobile-layout': this.useMobileLayout,
|
|
101
|
-
} }, h("nav", { key: '
|
|
101
|
+
} }, h("nav", { key: 'bd58281fb439dbc3eb2b8fb159fb2a5fd95fc553', "aria-label": this.accessibleLabel }, this.dockItems.map(this.renderDockItem), this.renderSeparator(), this.dockFooterItems.map(this.renderDockItem)), this.renderExpandShrinkToggle()));
|
|
102
102
|
}
|
|
103
103
|
renderExpandShrinkToggle() {
|
|
104
104
|
if (this.useMobileLayout || !this.allowResize) {
|
|
@@ -51,7 +51,7 @@ export class DragHandleComponent {
|
|
|
51
51
|
render() {
|
|
52
52
|
const tooltipLabel = translate.get('drag-handle.drag-to-reorder', this.language);
|
|
53
53
|
const ariaLabel = translate.get('drag-handle.drag-handle', this.language);
|
|
54
|
-
return (h(Host, { key: '
|
|
54
|
+
return (h(Host, { key: '49a2335a2c2603c7fcdd3c329f71a27f52024f96' }, h("button", { key: '8a8caa87f2e6b43936753f11991e84e81f0385c6', "data-drag-handle": true, type: "button", class: "limel-drag-handle", tabindex: -1, "aria-label": ariaLabel, id: this.dragHandleId, onClick: this.handleClick }, h("div", { key: '841ce098bb464c79773cdac0ea40e89a941d439f', class: "drag-icon", role: "presentation", "aria-hidden": "true" }, h("div", { key: "1" }), h("div", { key: "2" }), h("div", { key: "3" }), h("div", { key: "4" }), h("div", { key: "5" }), h("div", { key: "6" })), h("limel-tooltip", { key: '650342114d7c64c5e621e1b65751b242c0a7c5a7', openDirection: this.tooltipOpenDirection, elementId: this.dragHandleId, label: tooltipLabel }))));
|
|
55
55
|
}
|
|
56
56
|
static get is() { return "limel-drag-handle"; }
|
|
57
57
|
static get originalStyleUrls() {
|
|
@@ -75,7 +75,7 @@ export class EmailViewer {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
render() {
|
|
78
|
-
return (h(Host, { key: '
|
|
78
|
+
return (h(Host, { key: '81c11ddad6377f11be8c2f82915708c16fd2ac77' }, h("div", { key: '4be342e3c746106d45eb4cd357f771a252a90ab8', class: "email", part: "email" }, this.renderHeaders(), this.renderRemoteImageBanner(), h("section", { key: 'd6b9661596131110ac40e7fa90dba17e8a5c99fd' }, this.renderAttachments(), this.renderBody()))));
|
|
79
79
|
}
|
|
80
80
|
renderHeaders() {
|
|
81
81
|
const headerFields = [
|
|
@@ -154,7 +154,7 @@ export class File {
|
|
|
154
154
|
this.resizingFile = undefined;
|
|
155
155
|
}
|
|
156
156
|
render() {
|
|
157
|
-
return (h(Host, { key: '
|
|
157
|
+
return (h(Host, { key: '31fa16f6246cd4a6e7a7ce9ec6d32aadf245d84f', "aria-busy": this.isBusy ? 'true' : 'false' }, h("limel-file-dropzone", { key: 'f294201908569c70656ef52fff2fcca3e9b72bf0', disabled: this.disabled || this.readonly || !!this.displayedFile, accept: this.accept, onFilesSelected: this.handleNewFiles }, this.renderChipset()), this.renderDragAndDropTip(), this.renderSpinner()));
|
|
158
158
|
}
|
|
159
159
|
get statusText() {
|
|
160
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: 'd04afa2b6b4b0cb45ac908891f8b0b5da8d9867b', onDrop: this.handleDrop, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave }, h("slot", { key: '1b125711e06ccd2357375127b6cf2dd12779e584' }), this.renderOnDragLayout()));
|
|
94
94
|
}
|
|
95
95
|
static get is() { return "limel-file-dropzone"; }
|
|
96
96
|
static get encapsulation() { return "shadow"; }
|
|
@@ -72,7 +72,7 @@ export class FileInput {
|
|
|
72
72
|
this.fileInput = this.element.shadowRoot.getElementById(this.fileInputId);
|
|
73
73
|
}
|
|
74
74
|
render() {
|
|
75
|
-
return (h(Host, { key: '
|
|
75
|
+
return (h(Host, { key: '2ec5c6a56f846b4c606633fd418c4867f50f470d', onClick: this.handleClick, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown }, h("input", { key: 'c6a782ec3d71be85ca6e4fe13f5616b7c3809989', hidden: true, id: this.fileInputId, onChange: this.handleFileChange, type: "file", accept: this.accept, disabled: this.disabled, multiple: this.multiple }), h("slot", { key: '86efec1ed582204301530ecd549367be1c952b1d' })));
|
|
76
76
|
}
|
|
77
77
|
handleKeyDown(event) {
|
|
78
78
|
if (['Tab', 'Backspace', 'Enter'].includes(event.code)) {
|
|
@@ -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: '15e4e05dceb2966750d9fce29f401585c1e7332d' });
|
|
35
35
|
}
|
|
36
36
|
static get is() { return "limel-flex-container"; }
|
|
37
37
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { getDefaultRegistry } from "@rjsf/core";
|
|
3
3
|
import { CodeEditor } from "../widgets/code-editor";
|
|
4
|
-
import {
|
|
4
|
+
import { renderHeader } from "../templates/common";
|
|
5
5
|
import { isCustomObjectSchema } from "./field-helpers";
|
|
6
6
|
const { fields: defaultFields } = getDefaultRegistry();
|
|
7
7
|
const BaseObjectField = defaultFields.ObjectField;
|
|
@@ -10,6 +10,6 @@ export class ObjectField extends React.Component {
|
|
|
10
10
|
if (!isCustomObjectSchema(this.props.schema)) {
|
|
11
11
|
return React.createElement(BaseObjectField, this.props);
|
|
12
12
|
}
|
|
13
|
-
return React.createElement(React.Fragment, {},
|
|
13
|
+
return React.createElement(React.Fragment, {}, renderHeader(this.props.schema.title, this.props.schema.description), React.createElement(CodeEditor, this.props));
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -358,7 +358,7 @@ limel-collapsible-section.is-being-dragged {
|
|
|
358
358
|
width: 100%;
|
|
359
359
|
}
|
|
360
360
|
|
|
361
|
-
h1 {
|
|
361
|
+
:is(h1, h2, h3, h4, h5, h6) {
|
|
362
362
|
position: relative;
|
|
363
363
|
margin-top: 0;
|
|
364
364
|
margin-bottom: 0;
|
|
@@ -366,8 +366,8 @@ h1 {
|
|
|
366
366
|
hyphens: auto;
|
|
367
367
|
-webkit-hyphens: auto;
|
|
368
368
|
text-wrap: balance;
|
|
369
|
-
font-size: var(--limel-form-
|
|
370
|
-
line-height: calc(var(--limel-form-
|
|
369
|
+
font-size: var(--limel-form-heading-font-size);
|
|
370
|
+
line-height: calc(var(--limel-form-heading-font-size) * 1.42857);
|
|
371
371
|
letter-spacing: -0.01rem;
|
|
372
372
|
font-weight: 500;
|
|
373
373
|
}
|
|
@@ -385,18 +385,18 @@ limel-markdown {
|
|
|
385
385
|
top: calc(var(--form-row-gap, 1rem) * -0.5);
|
|
386
386
|
left: calc(var(--form-column-gap, 1rem) * -0.5);
|
|
387
387
|
}
|
|
388
|
-
.rjsf-field h1 {
|
|
388
|
+
.rjsf-field :is(h1, h2, h3, h4, h5, h6) {
|
|
389
389
|
color: rgb(var(--contrast-1400), 0.8);
|
|
390
390
|
}
|
|
391
|
-
.rjsf-field h1 {
|
|
392
|
-
--limel-form-
|
|
391
|
+
.rjsf-field :is(h1, h2, h3, h4, h5, h6) {
|
|
392
|
+
--limel-form-heading-font-size: 1.476rem;
|
|
393
393
|
font-weight: 800;
|
|
394
394
|
}
|
|
395
|
-
.rjsf-field .rjsf-field h1 {
|
|
396
|
-
--limel-form-
|
|
395
|
+
.rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6) {
|
|
396
|
+
--limel-form-heading-font-size: 1.383rem;
|
|
397
397
|
font-weight: 700;
|
|
398
398
|
}
|
|
399
|
-
.rjsf-field .rjsf-field h1:before {
|
|
399
|
+
.rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6):before {
|
|
400
400
|
content: "";
|
|
401
401
|
display: block;
|
|
402
402
|
position: absolute;
|
|
@@ -410,29 +410,29 @@ limel-markdown {
|
|
|
410
410
|
border-radius: 0.125rem;
|
|
411
411
|
opacity: 0.6;
|
|
412
412
|
}
|
|
413
|
-
.rjsf-field .rjsf-field .rjsf-field h1 {
|
|
414
|
-
--limel-form-
|
|
413
|
+
.rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6) {
|
|
414
|
+
--limel-form-heading-font-size: 1.296rem;
|
|
415
415
|
font-weight: 600;
|
|
416
416
|
}
|
|
417
|
-
.rjsf-field .rjsf-field .rjsf-field h1:before {
|
|
417
|
+
.rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6):before {
|
|
418
418
|
display: none;
|
|
419
419
|
}
|
|
420
|
-
.rjsf-field .rjsf-field .rjsf-field .rjsf-field h1 {
|
|
421
|
-
--limel-form-
|
|
420
|
+
.rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6) {
|
|
421
|
+
--limel-form-heading-font-size: 1.215rem;
|
|
422
422
|
}
|
|
423
|
-
.rjsf-field .rjsf-field .rjsf-field .rjsf-field h1:before {
|
|
423
|
+
.rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6):before {
|
|
424
424
|
display: none;
|
|
425
425
|
}
|
|
426
|
-
.rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field h1 {
|
|
427
|
-
--limel-form-
|
|
426
|
+
.rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6) {
|
|
427
|
+
--limel-form-heading-font-size: 1.138rem;
|
|
428
428
|
}
|
|
429
|
-
.rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field h1:before {
|
|
429
|
+
.rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6):before {
|
|
430
430
|
display: none;
|
|
431
431
|
}
|
|
432
|
-
.rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field h1 {
|
|
433
|
-
--limel-form-
|
|
432
|
+
.rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6) {
|
|
433
|
+
--limel-form-heading-font-size: 1.067rem;
|
|
434
434
|
}
|
|
435
|
-
.rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field h1:before {
|
|
435
|
+
.rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6):before {
|
|
436
436
|
display: none;
|
|
437
437
|
}
|
|
438
438
|
|
|
@@ -22,6 +22,7 @@ import { widgets } from "./widgets";
|
|
|
22
22
|
import { rjsfValidator } from "./validator";
|
|
23
23
|
import { isEqual, mapValues } from "lodash-es";
|
|
24
24
|
import { showField } from "./show-field";
|
|
25
|
+
import { HeadingLevelContext, isHeadingLevel } from "./templates/heading-level";
|
|
25
26
|
/**
|
|
26
27
|
* @exampleComponent limel-example-form
|
|
27
28
|
* @exampleComponent limel-example-nested-form
|
|
@@ -40,6 +41,7 @@ import { showField } from "./show-field";
|
|
|
40
41
|
* @exampleComponent limel-example-builtin-field-types-form
|
|
41
42
|
* @exampleComponent limel-example-code-editor-form
|
|
42
43
|
* @exampleComponent limel-example-form-highlighted-field
|
|
44
|
+
* @exampleComponent limel-example-form-heading-level
|
|
43
45
|
*/
|
|
44
46
|
export class Form {
|
|
45
47
|
constructor() {
|
|
@@ -51,6 +53,16 @@ export class Form {
|
|
|
51
53
|
* Set to `true` to disable the whole form.
|
|
52
54
|
*/
|
|
53
55
|
this.disabled = false;
|
|
56
|
+
/**
|
|
57
|
+
* The level, from `1` to `6`, of the topmost headings in the form.
|
|
58
|
+
* The headings of the sections inside them get one level more for each
|
|
59
|
+
* level of nesting, down to `6`.
|
|
60
|
+
*
|
|
61
|
+
* Set it so that the headings of the form fit below the headings of
|
|
62
|
+
* the page around it. For example, when the form is in a section with
|
|
63
|
+
* an `h2` heading, set it to `3`.
|
|
64
|
+
*/
|
|
65
|
+
this.headingLevel = 1;
|
|
54
66
|
/**
|
|
55
67
|
* Set to `true` to render every field with a validation error as
|
|
56
68
|
* invalid, even untouched ones, and to reflect that on each
|
|
@@ -66,10 +78,21 @@ export class Form {
|
|
|
66
78
|
connectedCallback() {
|
|
67
79
|
this.initialize();
|
|
68
80
|
}
|
|
81
|
+
componentWillLoad() {
|
|
82
|
+
this.warnIfHeadingLevelIsInvalid();
|
|
83
|
+
}
|
|
69
84
|
componentDidLoad() {
|
|
70
85
|
this.initialize();
|
|
71
86
|
this.showHighlightedField();
|
|
72
87
|
}
|
|
88
|
+
handleHeadingLevelChange() {
|
|
89
|
+
this.warnIfHeadingLevelIsInvalid();
|
|
90
|
+
}
|
|
91
|
+
warnIfHeadingLevelIsInvalid() {
|
|
92
|
+
if (!isHeadingLevel(this.headingLevel)) {
|
|
93
|
+
console.warn(`limel-form: headingLevel must be a number from 1 to 6, but it is ${this.headingLevel}. The headings start at level 1 instead.`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
73
96
|
handleHighlightedFieldChange(newPath, oldPath) {
|
|
74
97
|
// A host that renders again passes an equal path in a new array.
|
|
75
98
|
if (!isEqual(newPath, oldPath)) {
|
|
@@ -96,14 +119,18 @@ export class Form {
|
|
|
96
119
|
this.initialized = false;
|
|
97
120
|
}
|
|
98
121
|
render() {
|
|
99
|
-
return h("div", { key: '
|
|
122
|
+
return h("div", { key: '3f2e4aedf778c43f02ab87c32074cb3face9a55b', class: "root" });
|
|
100
123
|
}
|
|
101
124
|
reactRender() {
|
|
102
125
|
if (!this.root) {
|
|
103
126
|
const rootElement = this.host.shadowRoot.querySelector('.root');
|
|
104
127
|
this.root = createRoot(rootElement);
|
|
105
128
|
}
|
|
106
|
-
this.root.render(React.createElement(
|
|
129
|
+
this.root.render(React.createElement(HeadingLevelContext.Provider, {
|
|
130
|
+
value: isHeadingLevel(this.headingLevel)
|
|
131
|
+
? this.headingLevel
|
|
132
|
+
: 1,
|
|
133
|
+
}, React.createElement(JSONSchemaForm, {
|
|
107
134
|
schema: this.prepareSchema(this.schema),
|
|
108
135
|
formData: this.value,
|
|
109
136
|
onChange: this.handleChange,
|
|
@@ -141,7 +168,7 @@ export class Form {
|
|
|
141
168
|
ArrayField: CustomArrayField,
|
|
142
169
|
ObjectField: CustomObjectField,
|
|
143
170
|
},
|
|
144
|
-
}, []));
|
|
171
|
+
}, [])));
|
|
145
172
|
}
|
|
146
173
|
showHighlightedField() {
|
|
147
174
|
if (!this.highlightedField) {
|
|
@@ -383,6 +410,33 @@ export class Form {
|
|
|
383
410
|
"getter": false,
|
|
384
411
|
"setter": false
|
|
385
412
|
},
|
|
413
|
+
"headingLevel": {
|
|
414
|
+
"type": "number",
|
|
415
|
+
"mutable": false,
|
|
416
|
+
"complexType": {
|
|
417
|
+
"original": "HeadingLevel",
|
|
418
|
+
"resolved": "1 | 2 | 3 | 4 | 5 | 6",
|
|
419
|
+
"references": {
|
|
420
|
+
"HeadingLevel": {
|
|
421
|
+
"location": "import",
|
|
422
|
+
"path": "./form.types",
|
|
423
|
+
"id": "src/components/form/form.types.ts::HeadingLevel",
|
|
424
|
+
"referenceLocation": "HeadingLevel"
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
},
|
|
428
|
+
"required": false,
|
|
429
|
+
"optional": false,
|
|
430
|
+
"docs": {
|
|
431
|
+
"tags": [],
|
|
432
|
+
"text": "The level, from `1` to `6`, of the topmost headings in the form.\nThe headings of the sections inside them get one level more for each\nlevel of nesting, down to `6`.\n\nSet it so that the headings of the form fit below the headings of\nthe page around it. For example, when the form is in a section with\nan `h2` heading, set it to `3`."
|
|
433
|
+
},
|
|
434
|
+
"getter": false,
|
|
435
|
+
"setter": false,
|
|
436
|
+
"reflect": false,
|
|
437
|
+
"attribute": "heading-level",
|
|
438
|
+
"defaultValue": "1"
|
|
439
|
+
},
|
|
386
440
|
"revealErrors": {
|
|
387
441
|
"type": "boolean",
|
|
388
442
|
"mutable": false,
|
|
@@ -473,6 +527,9 @@ export class Form {
|
|
|
473
527
|
static get elementRef() { return "host"; }
|
|
474
528
|
static get watchers() {
|
|
475
529
|
return [{
|
|
530
|
+
"propName": "headingLevel",
|
|
531
|
+
"methodName": "handleHeadingLevelChange"
|
|
532
|
+
}, {
|
|
476
533
|
"propName": "highlightedField",
|
|
477
534
|
"methodName": "handleHighlightedFieldChange"
|
|
478
535
|
}];
|
|
@@ -680,3 +680,65 @@ export const requiredCheckboxSchema = {
|
|
|
680
680
|
},
|
|
681
681
|
required: ['accept'],
|
|
682
682
|
};
|
|
683
|
+
export const nestedTitlesSchema = {
|
|
684
|
+
type: 'object',
|
|
685
|
+
title: 'Form',
|
|
686
|
+
properties: {
|
|
687
|
+
section: {
|
|
688
|
+
type: 'object',
|
|
689
|
+
title: 'Section',
|
|
690
|
+
properties: {
|
|
691
|
+
subsection: {
|
|
692
|
+
type: 'object',
|
|
693
|
+
title: 'Subsection',
|
|
694
|
+
properties: {
|
|
695
|
+
name: { type: 'string', title: 'Name' },
|
|
696
|
+
},
|
|
697
|
+
},
|
|
698
|
+
},
|
|
699
|
+
},
|
|
700
|
+
list: {
|
|
701
|
+
type: 'array',
|
|
702
|
+
title: 'List',
|
|
703
|
+
items: { type: 'string' },
|
|
704
|
+
},
|
|
705
|
+
},
|
|
706
|
+
};
|
|
707
|
+
export const titledRowLayoutSchema = {
|
|
708
|
+
type: 'object',
|
|
709
|
+
title: 'Form',
|
|
710
|
+
properties: {
|
|
711
|
+
first: { type: 'string', title: 'First' },
|
|
712
|
+
second: { type: 'string', title: 'Second' },
|
|
713
|
+
},
|
|
714
|
+
lime: {
|
|
715
|
+
layout: {
|
|
716
|
+
type: 'row',
|
|
717
|
+
},
|
|
718
|
+
},
|
|
719
|
+
};
|
|
720
|
+
export const untitledRootSchema = {
|
|
721
|
+
type: 'object',
|
|
722
|
+
properties: {
|
|
723
|
+
section: {
|
|
724
|
+
type: 'object',
|
|
725
|
+
title: 'Section',
|
|
726
|
+
properties: {
|
|
727
|
+
name: { type: 'string', title: 'Name' },
|
|
728
|
+
},
|
|
729
|
+
},
|
|
730
|
+
},
|
|
731
|
+
};
|
|
732
|
+
export const untitledRowSchema = {
|
|
733
|
+
type: 'object',
|
|
734
|
+
title: 'Form',
|
|
735
|
+
properties: {
|
|
736
|
+
first: { type: 'string', title: 'First' },
|
|
737
|
+
second: { type: 'string' },
|
|
738
|
+
},
|
|
739
|
+
lime: {
|
|
740
|
+
layout: {
|
|
741
|
+
type: 'row',
|
|
742
|
+
},
|
|
743
|
+
},
|
|
744
|
+
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { getHelpProps } from "../../form-header/help-props";
|
|
2
3
|
/**
|
|
3
4
|
*
|
|
4
5
|
* @param schema
|
|
@@ -10,9 +11,5 @@ export function getHelpComponent(schema, extraProps) {
|
|
|
10
11
|
if (!help) {
|
|
11
12
|
return;
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
-
return React.createElement('limel-help', Object.assign({ value: help }, extraProps));
|
|
15
|
-
}
|
|
16
|
-
const helpProps = help;
|
|
17
|
-
return React.createElement('limel-help', Object.assign(Object.assign({}, helpProps), extraProps));
|
|
14
|
+
return React.createElement('limel-help', Object.assign(Object.assign({}, getHelpProps(help)), extraProps));
|
|
18
15
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { RowLayoutContext } from "./row-context";
|
|
3
|
+
import { HeadingLevelContext } from "../templates/heading-level";
|
|
3
4
|
export class Row extends React.Component {
|
|
4
5
|
constructor(props) {
|
|
5
6
|
super(props);
|
|
@@ -26,7 +27,8 @@ export class Row extends React.Component {
|
|
|
26
27
|
}
|
|
27
28
|
renderTitle() {
|
|
28
29
|
var _a;
|
|
29
|
-
|
|
30
|
+
const title = (_a = this.schema) === null || _a === void 0 ? void 0 : _a.title;
|
|
31
|
+
return React.createElement(title ? `h${this.context}` : 'div', { className: 'title' }, title);
|
|
30
32
|
}
|
|
31
33
|
renderDescription() {
|
|
32
34
|
var _a;
|
|
@@ -48,3 +50,4 @@ export class Row extends React.Component {
|
|
|
48
50
|
return (_c = (_b = (_a = this.schema) === null || _a === void 0 ? void 0 : _a.lime) === null || _b === void 0 ? void 0 : _b.layout) === null || _c === void 0 ? void 0 : _c.icon;
|
|
49
51
|
}
|
|
50
52
|
}
|
|
53
|
+
Row.contextType = HeadingLevelContext;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { renderSection } from "./common";
|
|
3
3
|
import { toSchemaPath } from "./object-field";
|
|
4
|
-
import { getHelpComponent } from "../help";
|
|
5
4
|
import { DragToReorder } from "../../../util/drag-to-reorder";
|
|
6
5
|
import { ArrayFieldContext } from "./array-context";
|
|
7
6
|
export const ARRAY_REORDER_EVENT = 'arrayReorder';
|
|
@@ -64,12 +63,13 @@ export class ArrayFieldTemplate extends React.Component {
|
|
|
64
63
|
}
|
|
65
64
|
}
|
|
66
65
|
render() {
|
|
66
|
+
var _a;
|
|
67
67
|
const orderedItems = this.getOrderedItems();
|
|
68
68
|
const contextValue = this.getContextValue();
|
|
69
|
-
return React.createElement(ArrayFieldContext.Provider, { value: contextValue }, React.createElement('div', {},
|
|
69
|
+
return React.createElement(ArrayFieldContext.Provider, { value: contextValue }, React.createElement('div', {}, renderSection(this.props.title, this.props.schema.description, (_a = this.props.schema.lime) === null || _a === void 0 ? void 0 : _a.help, React.createElement('div', {
|
|
70
70
|
className: 'array-items',
|
|
71
71
|
ref: this.setContainer,
|
|
72
|
-
}, orderedItems), this.renderAddButton()));
|
|
72
|
+
}, orderedItems), this.renderAddButton())));
|
|
73
73
|
}
|
|
74
74
|
renderAddButton() {
|
|
75
75
|
if (!this.props.canAdd) {
|
|
@@ -1,15 +1,32 @@
|
|
|
1
1
|
import { get, isEmpty } from "lodash-es";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { isArrayType, isObjectType } from "../schema";
|
|
4
|
+
import { BelowHeading, Header } from "./heading-level";
|
|
4
5
|
/**
|
|
6
|
+
* Render the title of a field, with its description and help, as a
|
|
7
|
+
* heading.
|
|
5
8
|
*
|
|
6
|
-
* @param title
|
|
9
|
+
* @param title - the title of the field
|
|
10
|
+
* @param description - the description of the field, in markdown
|
|
11
|
+
* @param help - the help of the field, as in `lime.help` of the schema
|
|
7
12
|
*/
|
|
8
|
-
export function
|
|
9
|
-
if (!title) {
|
|
13
|
+
export function renderHeader(title, description, help) {
|
|
14
|
+
if (!title && !description && !help) {
|
|
10
15
|
return;
|
|
11
16
|
}
|
|
12
|
-
return React.createElement(
|
|
17
|
+
return React.createElement(Header, { title, description, help });
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Render a field with its header, followed by its content. The headings in
|
|
21
|
+
* the content are one level below the heading of the field.
|
|
22
|
+
*
|
|
23
|
+
* @param title - the title of the field
|
|
24
|
+
* @param description - the description of the field, in markdown
|
|
25
|
+
* @param help - the help of the field, as in `lime.help` of the schema
|
|
26
|
+
* @param content - the content of the field
|
|
27
|
+
*/
|
|
28
|
+
export function renderSection(title, description, help, ...content) {
|
|
29
|
+
return React.createElement(React.Fragment, {}, renderHeader(title, description, help), React.createElement(BelowHeading, { hasHeading: !!title }, ...content));
|
|
13
30
|
}
|
|
14
31
|
/**
|
|
15
32
|
*
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React, { useContext } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* @param level - any value
|
|
4
|
+
* @returns whether the value is a heading level, from `1` to `6`
|
|
5
|
+
*/
|
|
6
|
+
export function isHeadingLevel(level) {
|
|
7
|
+
return (typeof level === 'number' &&
|
|
8
|
+
Number.isSafeInteger(level) &&
|
|
9
|
+
level >= 1 &&
|
|
10
|
+
level <= 6);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The heading level that a title at the current depth in the form gets.
|
|
14
|
+
*/
|
|
15
|
+
export const HeadingLevelContext = React.createContext(1);
|
|
16
|
+
/**
|
|
17
|
+
* @param level - a heading level
|
|
18
|
+
* @returns the level of the headings one step below, down to `h6`
|
|
19
|
+
*/
|
|
20
|
+
export function nextHeadingLevel(level) {
|
|
21
|
+
return Math.min(level + 1, 6);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The title of a field, drawn with the heading level of its depth.
|
|
25
|
+
*
|
|
26
|
+
* @param props
|
|
27
|
+
* @param props.title - the title of the field
|
|
28
|
+
* @param props.description - the description of the field, in markdown
|
|
29
|
+
* @param props.help - the help of the field
|
|
30
|
+
*/
|
|
31
|
+
export function Header({ title, description, help }) {
|
|
32
|
+
const headingLevel = useContext(HeadingLevelContext);
|
|
33
|
+
return React.createElement('limel-form-header', {
|
|
34
|
+
heading: title,
|
|
35
|
+
headingLevel: headingLevel,
|
|
36
|
+
description: description,
|
|
37
|
+
help: help,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Gives the fields it wraps one heading level more than the level of the
|
|
42
|
+
* heading above them, if there is one.
|
|
43
|
+
*
|
|
44
|
+
* @param props
|
|
45
|
+
* @param props.hasHeading - whether the fields are below a heading
|
|
46
|
+
* @param props.children - the fields
|
|
47
|
+
*/
|
|
48
|
+
export function BelowHeading({ hasHeading, children, }) {
|
|
49
|
+
const level = useContext(HeadingLevelContext);
|
|
50
|
+
return React.createElement(HeadingLevelContext.Provider, { value: hasHeading ? nextHeadingLevel(level) : level }, children);
|
|
51
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useContext } from "react";
|
|
2
|
-
import { hasNestedErrors, renderDescription,
|
|
2
|
+
import { hasNestedErrors, renderDescription, renderSection } from "./common";
|
|
3
3
|
import { GridLayout } from "./grid-layout";
|
|
4
4
|
import { RowLayout } from "./row-layout";
|
|
5
5
|
import { getHelpComponent } from "../help";
|
|
@@ -16,14 +16,8 @@ export const ObjectFieldTemplate = (props) => {
|
|
|
16
16
|
return renderCollapsibleField(props);
|
|
17
17
|
};
|
|
18
18
|
function renderFieldWithTitle(props) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
function renderSectionHeader(props) {
|
|
22
|
-
const help = getHelpComponent(props.schema);
|
|
23
|
-
if (!help) {
|
|
24
|
-
return renderTitle(props.title);
|
|
25
|
-
}
|
|
26
|
-
return React.createElement(React.Fragment, {}, renderTitle(props.title), help);
|
|
19
|
+
var _a;
|
|
20
|
+
return renderSection(props.title, props.description, (_a = props.schema.lime) === null || _a === void 0 ? void 0 : _a.help, renderProperties(props.properties, props.schema, props.fieldPathId.path.map(String)));
|
|
27
21
|
}
|
|
28
22
|
function renderCollapsibleField(props) {
|
|
29
23
|
var _a;
|