@limetech/lime-elements 36.4.0 → 37.0.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/_arrayIncludesWith-29083f83.js +2 -0
- package/dist/cjs/_arrayIncludesWith-29083f83.js.map +1 -0
- package/dist/cjs/_assignValue-7c18d8d6.js +2 -0
- package/dist/cjs/_assignValue-7c18d8d6.js.map +1 -0
- package/dist/cjs/_commonjsHelpers-0c557e26.js +2 -0
- package/dist/cjs/_commonjsHelpers-0c557e26.js.map +1 -0
- package/dist/cjs/_defineProperty-8f56146d.js +2 -0
- package/dist/cjs/_defineProperty-8f56146d.js.map +1 -0
- package/dist/cjs/_getNative-60328036.js +2 -0
- package/dist/cjs/_getNative-60328036.js.map +1 -0
- package/dist/cjs/animationframe-e4c1798e.js +2 -0
- package/dist/cjs/animationframe-e4c1798e.js.map +1 -0
- package/dist/cjs/{checkbox.template-60ed3ee2.js → checkbox.template-234f4813.js} +3 -1
- package/dist/cjs/checkbox.template-234f4813.js.map +1 -0
- package/dist/cjs/component-66df95e7.js +2 -0
- package/dist/cjs/component-66df95e7.js.map +1 -0
- package/dist/cjs/component-67144c1c.js +2 -0
- package/dist/cjs/component-67144c1c.js.map +1 -0
- package/dist/cjs/component-ae3bfacf.js +2 -0
- package/dist/cjs/component-ae3bfacf.js.map +1 -0
- package/dist/cjs/component-cf490570.js +2 -0
- package/dist/cjs/component-cf490570.js.map +1 -0
- package/dist/cjs/component-dd795ff0.js +2 -0
- package/dist/cjs/component-dd795ff0.js.map +1 -0
- package/dist/cjs/config-c6520559.js +2 -0
- package/dist/cjs/config-c6520559.js.map +1 -0
- package/dist/cjs/device-c5841113.js +2 -0
- package/dist/cjs/device-c5841113.js.map +1 -0
- package/dist/cjs/dispatch-resize-event-4462d78f.js +2 -0
- package/dist/cjs/dispatch-resize-event-4462d78f.js.map +1 -0
- package/dist/cjs/dom-eb080f70.js +2 -0
- package/dist/cjs/dom-eb080f70.js.map +1 -0
- package/dist/cjs/eq-9a943b00.js +2 -0
- package/dist/cjs/eq-9a943b00.js.map +1 -0
- package/dist/cjs/format-5b928cf3.js +2 -0
- package/dist/cjs/format-5b928cf3.js.map +1 -0
- package/dist/cjs/identity-6dc34885.js +2 -0
- package/dist/cjs/identity-6dc34885.js.map +1 -0
- package/dist/cjs/{index-287e25e0.js → index-aafa56ee.js} +209 -23
- package/dist/cjs/index-aafa56ee.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/isArray-d188a04f.js +2 -0
- package/dist/cjs/isArray-d188a04f.js.map +1 -0
- package/dist/cjs/isArrayLike-ac53bdac.js +2 -0
- package/dist/cjs/isArrayLike-ac53bdac.js.map +1 -0
- package/dist/cjs/isEqual-d2a13a24.js +2 -0
- package/dist/cjs/isEqual-d2a13a24.js.map +1 -0
- package/dist/cjs/isObject-e28b7997.js +2 -0
- package/dist/cjs/isObject-e28b7997.js.map +1 -0
- package/dist/cjs/isObjectLike-3e3f0cba.js +2 -0
- package/dist/cjs/isObjectLike-3e3f0cba.js.map +1 -0
- package/dist/cjs/isSymbol-d22b2798.js +2 -0
- package/dist/cjs/isSymbol-d22b2798.js.map +1 -0
- package/dist/cjs/keyboard-9477d3a8.js +2 -0
- package/dist/cjs/keyboard-9477d3a8.js.map +1 -0
- package/dist/cjs/keycodes-3949f425.js +2 -0
- package/dist/cjs/keycodes-3949f425.js.map +1 -0
- package/dist/cjs/lime-elements.cjs.js +12 -3
- package/dist/cjs/lime-elements.cjs.js.map +1 -0
- package/dist/cjs/limel-action-bar-item_2.cjs.entry.js +3 -1
- package/dist/cjs/limel-action-bar-item_2.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-action-bar.cjs.entry.js +3 -1
- package/dist/cjs/limel-action-bar.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-badge.cjs.entry.js +3 -1
- package/dist/cjs/limel-badge.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-banner.cjs.entry.js +3 -1
- package/dist/cjs/limel-banner.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-button-group.cjs.entry.js +3 -1
- package/dist/cjs/limel-button-group.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-button.cjs.entry.js +3 -1
- package/dist/cjs/limel-button.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-callout.cjs.entry.js +3 -1
- package/dist/cjs/limel-callout.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-checkbox.cjs.entry.js +4 -2
- package/dist/cjs/limel-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-chip-set.cjs.entry.js +3 -1
- package/dist/cjs/limel-chip-set.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-circular-progress_2.cjs.entry.js +3 -1
- package/dist/cjs/limel-circular-progress_2.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-code-editor.cjs.entry.js +3 -1
- package/dist/cjs/limel-code-editor.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-collapsible-section.cjs.entry.js +3 -1
- package/dist/cjs/limel-collapsible-section.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-color-picker-palette.cjs.entry.js +3 -1
- package/dist/cjs/limel-color-picker-palette.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-color-picker.cjs.entry.js +3 -1
- package/dist/cjs/limel-color-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-config.cjs.entry.js +3 -1
- package/dist/cjs/limel-config.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-date-picker.cjs.entry.js +3 -1
- package/dist/cjs/limel-date-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-dialog.cjs.entry.js +3 -1
- package/dist/cjs/limel-dialog.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-dock-button.cjs.entry.js +3 -1
- package/dist/cjs/limel-dock-button.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-dock.cjs.entry.js +3 -1
- package/dist/cjs/limel-dock.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-file.cjs.entry.js +3 -1
- package/dist/cjs/limel-file.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +3 -1
- package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-flex-container.cjs.entry.js +3 -1
- package/dist/cjs/limel-flex-container.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-form.cjs.entry.js +3 -1
- package/dist/cjs/limel-form.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-grid.cjs.entry.js +3 -1
- package/dist/cjs/limel-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-header.cjs.entry.js +3 -1
- package/dist/cjs/limel-header.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-helper-line.cjs.entry.js +3 -1
- package/dist/cjs/limel-helper-line.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-icon-button.cjs.entry.js +3 -1
- package/dist/cjs/limel-icon-button.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-icon.cjs.entry.js +3 -1
- package/dist/cjs/limel-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-info-tile.cjs.entry.js +3 -1
- package/dist/cjs/limel-info-tile.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-input-field.cjs.entry.js +3 -1
- package/dist/cjs/limel-input-field.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-list_2.cjs.entry.js +4 -2
- package/dist/cjs/limel-list_2.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-menu_2.cjs.entry.js +3 -1
- package/dist/cjs/limel-menu_2.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-picker.cjs.entry.js +3 -1
- package/dist/cjs/limel-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-popover_2.cjs.entry.js +3 -1
- package/dist/cjs/limel-popover_2.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-portal.cjs.entry.js +15 -13
- package/dist/cjs/limel-portal.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-progress-flow-item.cjs.entry.js +3 -1
- package/dist/cjs/limel-progress-flow-item.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-progress-flow.cjs.entry.js +3 -1
- package/dist/cjs/limel-progress-flow.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-select.cjs.entry.js +3 -1
- package/dist/cjs/limel-select.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-shortcut.cjs.entry.js +3 -1
- package/dist/cjs/limel-shortcut.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-slider.cjs.entry.js +3 -1
- package/dist/cjs/limel-slider.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-snackbar.cjs.entry.js +3 -1
- package/dist/cjs/limel-snackbar.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-spinner.cjs.entry.js +3 -1
- package/dist/cjs/limel-spinner.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-split-button.cjs.entry.js +3 -1
- package/dist/cjs/limel-split-button.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-switch.cjs.entry.js +3 -1
- package/dist/cjs/limel-switch.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-tab-bar.cjs.entry.js +3 -1
- package/dist/cjs/limel-tab-bar.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-tab-panel.cjs.entry.js +3 -1
- package/dist/cjs/limel-tab-panel.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-table.cjs.entry.js +3 -1
- package/dist/cjs/limel-table.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-tooltip_2.cjs.entry.js +3 -1
- package/dist/cjs/limel-tooltip_2.cjs.entry.js.map +1 -0
- package/dist/cjs/link-helper-4f75d41d.js +2 -0
- package/dist/cjs/link-helper-4f75d41d.js.map +1 -0
- package/dist/cjs/loader.cjs.js +6 -3
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/moment-d1e35cdc.js +2 -0
- package/dist/cjs/moment-d1e35cdc.js.map +1 -0
- package/dist/cjs/multiple-2af83b6d.js +2 -0
- package/dist/cjs/multiple-2af83b6d.js.map +1 -0
- package/dist/cjs/pickBy-3ef47bf2.js +2 -0
- package/dist/cjs/pickBy-3ef47bf2.js.map +1 -0
- package/dist/cjs/ponyfill-98ca4766.js +2 -0
- package/dist/cjs/ponyfill-98ca4766.js.map +1 -0
- package/dist/cjs/random-string-4c3b7f1c.js +2 -0
- package/dist/cjs/random-string-4c3b7f1c.js.map +1 -0
- package/dist/cjs/sv-dffe48b5.js +2 -0
- package/dist/cjs/sv-dffe48b5.js.map +1 -0
- package/dist/cjs/toNumber-062ea29c.js +2 -0
- package/dist/cjs/toNumber-062ea29c.js.map +1 -0
- package/dist/cjs/translations-f8080c48.js +2 -0
- package/dist/cjs/translations-f8080c48.js.map +1 -0
- package/dist/cjs/util-b0f5741e.js +2 -0
- package/dist/cjs/util-b0f5741e.js.map +1 -0
- package/dist/cjs/zipObject-93a471fa.js +2 -0
- package/dist/cjs/zipObject-93a471fa.js.map +1 -0
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/action-bar/action-bar-item/action-bar-item.js +1 -0
- package/dist/collection/components/action-bar/action-bar-item/action-bar-item.js.map +1 -0
- package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js +2 -1
- package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js.map +1 -0
- package/dist/collection/components/action-bar/action-bar.js +1 -0
- package/dist/collection/components/action-bar/action-bar.js.map +1 -0
- package/dist/collection/components/action-bar/action-bar.types.js +1 -0
- package/dist/collection/components/action-bar/action-bar.types.js.map +1 -0
- package/dist/collection/components/action-bar/isItem.js +1 -0
- package/dist/collection/components/action-bar/isItem.js.map +1 -0
- package/dist/collection/components/badge/badge.js +1 -0
- package/dist/collection/components/badge/badge.js.map +1 -0
- package/dist/collection/components/badge/format.js +1 -0
- package/dist/collection/components/badge/format.js.map +1 -0
- package/dist/collection/components/banner/banner.js +1 -0
- package/dist/collection/components/banner/banner.js.map +1 -0
- package/dist/collection/components/button/button.js +1 -0
- package/dist/collection/components/button/button.js.map +1 -0
- package/dist/collection/components/button/button.types.js +1 -0
- package/dist/collection/components/button/button.types.js.map +1 -0
- package/dist/collection/components/button-group/button-group.js +1 -0
- package/dist/collection/components/button-group/button-group.js.map +1 -0
- package/dist/collection/components/callout/callout.helpers.js +1 -0
- package/dist/collection/components/callout/callout.helpers.js.map +1 -0
- package/dist/collection/components/callout/callout.js +3 -2
- package/dist/collection/components/callout/callout.js.map +1 -0
- package/dist/collection/components/callout/callout.types.js +1 -0
- package/dist/collection/components/callout/callout.types.js.map +1 -0
- package/dist/collection/components/checkbox/checkbox.js +1 -0
- package/dist/collection/components/checkbox/checkbox.js.map +1 -0
- package/dist/collection/components/checkbox/checkbox.template.js +1 -0
- package/dist/collection/components/checkbox/checkbox.template.js.map +1 -0
- package/dist/collection/components/chip-set/chip-set-input-helpers.js +1 -0
- package/dist/collection/components/chip-set/chip-set-input-helpers.js.map +1 -0
- package/dist/collection/components/chip-set/chip-set.js +6 -5
- package/dist/collection/components/chip-set/chip-set.js.map +1 -0
- package/dist/collection/components/chip-set/chip.types.js +1 -0
- package/dist/collection/components/chip-set/chip.types.js.map +1 -0
- package/dist/collection/components/circular-progress/circular-progress.js +1 -0
- package/dist/collection/components/circular-progress/circular-progress.js.map +1 -0
- package/dist/collection/components/circular-progress/circular-progress.types.js +1 -0
- package/dist/collection/components/circular-progress/circular-progress.types.js.map +1 -0
- package/dist/collection/components/code-editor/code-editor.js +1 -0
- package/dist/collection/components/code-editor/code-editor.js.map +1 -0
- package/dist/collection/components/code-editor/code-editor.types.js +1 -0
- package/dist/collection/components/code-editor/code-editor.types.js.map +1 -0
- package/dist/collection/components/collapsible-section/action.js +1 -0
- package/dist/collection/components/collapsible-section/action.js.map +1 -0
- package/dist/collection/components/collapsible-section/collapsible-section.js +1 -0
- package/dist/collection/components/collapsible-section/collapsible-section.js.map +1 -0
- package/dist/collection/components/color-picker/color-picker-palette.js +1 -0
- package/dist/collection/components/color-picker/color-picker-palette.js.map +1 -0
- package/dist/collection/components/color-picker/color-picker.js +1 -0
- package/dist/collection/components/color-picker/color-picker.js.map +1 -0
- package/dist/collection/components/color-picker/swatches.js +1 -0
- package/dist/collection/components/color-picker/swatches.js.map +1 -0
- package/dist/collection/components/config/config.js +1 -0
- package/dist/collection/components/config/config.js.map +1 -0
- package/dist/collection/components/date-picker/date-picker.js +5 -4
- package/dist/collection/components/date-picker/date-picker.js.map +1 -0
- package/dist/collection/components/date-picker/date.types.js +1 -0
- package/dist/collection/components/date-picker/date.types.js.map +1 -0
- package/dist/collection/components/date-picker/dateFormatter.js +1 -0
- package/dist/collection/components/date-picker/dateFormatter.js.map +1 -0
- package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +5 -4
- package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js.map +1 -0
- package/dist/collection/components/date-picker/pickers/DatePicker.js +1 -0
- package/dist/collection/components/date-picker/pickers/DatePicker.js.map +1 -0
- package/dist/collection/components/date-picker/pickers/DatetimePicker.js +1 -0
- package/dist/collection/components/date-picker/pickers/DatetimePicker.js.map +1 -0
- package/dist/collection/components/date-picker/pickers/MonthPicker.js +1 -0
- package/dist/collection/components/date-picker/pickers/MonthPicker.js.map +1 -0
- package/dist/collection/components/date-picker/pickers/Picker.js +1 -0
- package/dist/collection/components/date-picker/pickers/Picker.js.map +1 -0
- package/dist/collection/components/date-picker/pickers/QuarterPicker.js +1 -0
- package/dist/collection/components/date-picker/pickers/QuarterPicker.js.map +1 -0
- package/dist/collection/components/date-picker/pickers/TimePicker.js +1 -0
- package/dist/collection/components/date-picker/pickers/TimePicker.js.map +1 -0
- package/dist/collection/components/date-picker/pickers/WeekPicker.js +1 -0
- package/dist/collection/components/date-picker/pickers/WeekPicker.js.map +1 -0
- package/dist/collection/components/date-picker/pickers/YearPicker.js +1 -0
- package/dist/collection/components/date-picker/pickers/YearPicker.js.map +1 -0
- package/dist/collection/components/dialog/dialog.js +6 -3
- package/dist/collection/components/dialog/dialog.js.map +1 -0
- package/dist/collection/components/dialog/dialog.types.js +1 -0
- package/dist/collection/components/dialog/dialog.types.js.map +1 -0
- package/dist/collection/components/dock/dock-button/dock-button.js +1 -0
- package/dist/collection/components/dock/dock-button/dock-button.js.map +1 -0
- package/dist/collection/components/dock/dock.js +1 -0
- package/dist/collection/components/dock/dock.js.map +1 -0
- package/dist/collection/components/dock/dock.types.js +1 -0
- package/dist/collection/components/dock/dock.types.js.map +1 -0
- package/dist/collection/components/file/file-metadata.js +1 -0
- package/dist/collection/components/file/file-metadata.js.map +1 -0
- package/dist/collection/components/file/file.js +7 -4
- package/dist/collection/components/file/file.js.map +1 -0
- package/dist/collection/components/file/file.types.js +1 -0
- package/dist/collection/components/file/file.types.js.map +1 -0
- package/dist/collection/components/file/icon-background-colors.js +1 -0
- package/dist/collection/components/file/icon-background-colors.js.map +1 -0
- package/dist/collection/components/file/icon-fill-colors.js +1 -0
- package/dist/collection/components/file/icon-fill-colors.js.map +1 -0
- package/dist/collection/components/file/icons.js +1 -0
- package/dist/collection/components/file/icons.js.map +1 -0
- package/dist/collection/components/flex-container/flex-container.js +7 -6
- package/dist/collection/components/flex-container/flex-container.js.map +1 -0
- package/dist/collection/components/flex-container/flex-container.types.js +1 -0
- package/dist/collection/components/flex-container/flex-container.types.js.map +1 -0
- package/dist/collection/components/form/adapters/base-adapter.js +3 -1
- package/dist/collection/components/form/adapters/base-adapter.js.map +1 -0
- package/dist/collection/components/form/adapters/index.js +1 -0
- package/dist/collection/components/form/adapters/index.js.map +1 -0
- package/dist/collection/components/form/adapters/widget-adapter.js +1 -0
- package/dist/collection/components/form/adapters/widget-adapter.js.map +1 -0
- package/dist/collection/components/form/fields/array-field.js +1 -0
- package/dist/collection/components/form/fields/array-field.js.map +1 -0
- package/dist/collection/components/form/fields/field-helpers.js +1 -0
- package/dist/collection/components/form/fields/field-helpers.js.map +1 -0
- package/dist/collection/components/form/fields/object-field.js +1 -0
- package/dist/collection/components/form/fields/object-field.js.map +1 -0
- package/dist/collection/components/form/fields/schema-field.js +1 -0
- package/dist/collection/components/form/fields/schema-field.js.map +1 -0
- package/dist/collection/components/form/fields/types.js +1 -0
- package/dist/collection/components/form/fields/types.js.map +1 -0
- package/dist/collection/components/form/form.js +1 -0
- package/dist/collection/components/form/form.js.map +1 -0
- package/dist/collection/components/form/form.types.js +1 -0
- package/dist/collection/components/form/form.types.js.map +1 -0
- package/dist/collection/components/form/internal.types.js +1 -0
- package/dist/collection/components/form/internal.types.js.map +1 -0
- package/dist/collection/components/form/row/row.js +1 -0
- package/dist/collection/components/form/row/row.js.map +1 -0
- package/dist/collection/components/form/schema.js +1 -0
- package/dist/collection/components/form/schema.js.map +1 -0
- package/dist/collection/components/form/templates/array-field-collapsible-item.js +1 -0
- package/dist/collection/components/form/templates/array-field-collapsible-item.js.map +1 -0
- package/dist/collection/components/form/templates/array-field-simple-item.js +1 -0
- package/dist/collection/components/form/templates/array-field-simple-item.js.map +1 -0
- package/dist/collection/components/form/templates/array-field.js +1 -0
- package/dist/collection/components/form/templates/array-field.js.map +1 -0
- package/dist/collection/components/form/templates/common.js +1 -0
- package/dist/collection/components/form/templates/common.js.map +1 -0
- package/dist/collection/components/form/templates/field.js +1 -0
- package/dist/collection/components/form/templates/field.js.map +1 -0
- package/dist/collection/components/form/templates/grid-layout.js +1 -0
- package/dist/collection/components/form/templates/grid-layout.js.map +1 -0
- package/dist/collection/components/form/templates/index.js +1 -0
- package/dist/collection/components/form/templates/index.js.map +1 -0
- package/dist/collection/components/form/templates/object-field.js +1 -0
- package/dist/collection/components/form/templates/object-field.js.map +1 -0
- package/dist/collection/components/form/templates/row-layout.js +1 -0
- package/dist/collection/components/form/templates/row-layout.js.map +1 -0
- package/dist/collection/components/form/templates/types.js +1 -0
- package/dist/collection/components/form/templates/types.js.map +1 -0
- package/dist/collection/components/form/validators/format.js +1 -0
- package/dist/collection/components/form/validators/format.js.map +1 -0
- package/dist/collection/components/form/validators/index.js +1 -0
- package/dist/collection/components/form/validators/index.js.map +1 -0
- package/dist/collection/components/form/widgets/checkbox.js +1 -0
- package/dist/collection/components/form/widgets/checkbox.js.map +1 -0
- package/dist/collection/components/form/widgets/code-editor.js +1 -0
- package/dist/collection/components/form/widgets/code-editor.js.map +1 -0
- package/dist/collection/components/form/widgets/date-picker.js +1 -0
- package/dist/collection/components/form/widgets/date-picker.js.map +1 -0
- package/dist/collection/components/form/widgets/index.js +1 -0
- package/dist/collection/components/form/widgets/index.js.map +1 -0
- package/dist/collection/components/form/widgets/input-field.js +1 -0
- package/dist/collection/components/form/widgets/input-field.js.map +1 -0
- package/dist/collection/components/form/widgets/select.js +1 -0
- package/dist/collection/components/form/widgets/select.js.map +1 -0
- package/dist/collection/components/form/widgets/slider.js +1 -0
- package/dist/collection/components/form/widgets/slider.js.map +1 -0
- package/dist/collection/components/form/widgets/types.js +1 -0
- package/dist/collection/components/form/widgets/types.js.map +1 -0
- package/dist/collection/components/grid/grid.js +1 -0
- package/dist/collection/components/grid/grid.js.map +1 -0
- package/dist/collection/components/header/header.js +1 -0
- package/dist/collection/components/header/header.js.map +1 -0
- package/dist/collection/components/helper-line/helper-line.js +1 -0
- package/dist/collection/components/helper-line/helper-line.js.map +1 -0
- package/dist/collection/components/icon/icon.js +1 -0
- package/dist/collection/components/icon/icon.js.map +1 -0
- package/dist/collection/components/icon/icon.types.js +1 -0
- package/dist/collection/components/icon/icon.types.js.map +1 -0
- package/dist/collection/components/icon-button/icon-button.js +1 -0
- package/dist/collection/components/icon-button/icon-button.js.map +1 -0
- package/dist/collection/components/info-tile/info-tile.js +5 -2
- package/dist/collection/components/info-tile/info-tile.js.map +1 -0
- package/dist/collection/components/info-tile/info-tile.types.js +1 -0
- package/dist/collection/components/info-tile/info-tile.types.js.map +1 -0
- package/dist/collection/components/input-field/input-field.js +1 -0
- package/dist/collection/components/input-field/input-field.js.map +1 -0
- package/dist/collection/components/input-field/input-field.types.js +1 -0
- package/dist/collection/components/input-field/input-field.types.js.map +1 -0
- package/dist/collection/components/linear-progress/linear-progress.js +1 -0
- package/dist/collection/components/linear-progress/linear-progress.js.map +1 -0
- package/dist/collection/components/list/list-item.types.js +1 -0
- package/dist/collection/components/list/list-item.types.js.map +1 -0
- package/dist/collection/components/list/list-renderer-config.js +1 -0
- package/dist/collection/components/list/list-renderer-config.js.map +1 -0
- package/dist/collection/components/list/list-renderer.js +1 -0
- package/dist/collection/components/list/list-renderer.js.map +1 -0
- package/dist/collection/components/list/list.js +6 -5
- package/dist/collection/components/list/list.js.map +1 -0
- package/dist/collection/components/list/list.types.js +1 -0
- package/dist/collection/components/list/list.types.js.map +1 -0
- package/dist/collection/components/list/radio-button/radio-button.template.js +1 -0
- package/dist/collection/components/list/radio-button/radio-button.template.js.map +1 -0
- package/dist/collection/components/menu/menu.js +3 -2
- package/dist/collection/components/menu/menu.js.map +1 -0
- package/dist/collection/components/menu/menu.types.js +1 -0
- package/dist/collection/components/menu/menu.types.js.map +1 -0
- package/dist/collection/components/menu-list/menu-list-renderer-config.js +1 -0
- package/dist/collection/components/menu-list/menu-list-renderer-config.js.map +1 -0
- package/dist/collection/components/menu-list/menu-list-renderer.js +1 -0
- package/dist/collection/components/menu-list/menu-list-renderer.js.map +1 -0
- package/dist/collection/components/menu-list/menu-list.js +5 -4
- package/dist/collection/components/menu-list/menu-list.js.map +1 -0
- package/dist/collection/components/menu-list/menu-list.types.js +1 -0
- package/dist/collection/components/menu-list/menu-list.types.js.map +1 -0
- package/dist/collection/components/menu-surface/menu-surface.js +1 -0
- package/dist/collection/components/menu-surface/menu-surface.js.map +1 -0
- package/dist/collection/components/picker/actions.types.js +1 -0
- package/dist/collection/components/picker/actions.types.js.map +1 -0
- package/dist/collection/components/picker/picker.js +12 -7
- package/dist/collection/components/picker/picker.js.map +1 -0
- package/dist/collection/components/picker/searcher.types.js +1 -0
- package/dist/collection/components/picker/searcher.types.js.map +1 -0
- package/dist/collection/components/popover/popover.js +1 -0
- package/dist/collection/components/popover/popover.js.map +1 -0
- package/dist/collection/components/popover-surface/popover-surface.js +1 -0
- package/dist/collection/components/popover-surface/popover-surface.js.map +1 -0
- package/dist/collection/components/portal/contains.js +1 -0
- package/dist/collection/components/portal/contains.js.map +1 -0
- package/dist/collection/components/portal/portal.js +12 -11
- package/dist/collection/components/portal/portal.js.map +1 -0
- package/dist/collection/components/progress-flow/progress-flow-item/progress-flow-item.js +1 -0
- package/dist/collection/components/progress-flow/progress-flow-item/progress-flow-item.js.map +1 -0
- package/dist/collection/components/progress-flow/progress-flow.js +1 -0
- package/dist/collection/components/progress-flow/progress-flow.js.map +1 -0
- package/dist/collection/components/progress-flow/progress-flow.types.js +1 -0
- package/dist/collection/components/progress-flow/progress-flow.types.js.map +1 -0
- package/dist/collection/components/select/option.types.js +1 -0
- package/dist/collection/components/select/option.types.js.map +1 -0
- package/dist/collection/components/select/select.js +8 -5
- package/dist/collection/components/select/select.js.map +1 -0
- package/dist/collection/components/select/select.template.js +1 -0
- package/dist/collection/components/select/select.template.js.map +1 -0
- package/dist/collection/components/shortcut/shortcut.js +5 -2
- package/dist/collection/components/shortcut/shortcut.js.map +1 -0
- package/dist/collection/components/slider/getPercentageClass.js +1 -0
- package/dist/collection/components/slider/getPercentageClass.js.map +1 -0
- package/dist/collection/components/slider/slider.js +1 -0
- package/dist/collection/components/slider/slider.js.map +1 -0
- package/dist/collection/components/snackbar/snackbar.js +3 -2
- package/dist/collection/components/snackbar/snackbar.js.map +1 -0
- package/dist/collection/components/spinner/spinner.js +3 -2
- package/dist/collection/components/spinner/spinner.js.map +1 -0
- package/dist/collection/components/spinner/spinner.types.js +1 -0
- package/dist/collection/components/spinner/spinner.types.js.map +1 -0
- package/dist/collection/components/split-button/split-button.js +3 -2
- package/dist/collection/components/split-button/split-button.js.map +1 -0
- package/dist/collection/components/switch/switch.js +1 -0
- package/dist/collection/components/switch/switch.js.map +1 -0
- package/dist/collection/components/tab-bar/tab-bar.js +1 -0
- package/dist/collection/components/tab-bar/tab-bar.js.map +1 -0
- package/dist/collection/components/tab-bar/tab.types.js +1 -0
- package/dist/collection/components/tab-bar/tab.types.js.map +1 -0
- package/dist/collection/components/tab-bar/tabs.js +1 -0
- package/dist/collection/components/tab-bar/tabs.js.map +1 -0
- package/dist/collection/components/tab-panel/tab-panel.js +1 -0
- package/dist/collection/components/tab-panel/tab-panel.js.map +1 -0
- package/dist/collection/components/tab-panel/tab-panel.types.js +1 -0
- package/dist/collection/components/tab-panel/tab-panel.types.js.map +1 -0
- package/dist/collection/components/table/columns.js +1 -0
- package/dist/collection/components/table/columns.js.map +1 -0
- package/dist/collection/components/table/element-pool.js +1 -0
- package/dist/collection/components/table/element-pool.js.map +1 -0
- package/dist/collection/components/table/layout.js +1 -0
- package/dist/collection/components/table/layout.js.map +1 -0
- package/dist/collection/components/table/selection.js +1 -0
- package/dist/collection/components/table/selection.js.map +1 -0
- package/dist/collection/components/table/table-selection.js +1 -0
- package/dist/collection/components/table/table-selection.js.map +1 -0
- package/dist/collection/components/table/table.js +1 -0
- package/dist/collection/components/table/table.js.map +1 -0
- package/dist/collection/components/table/table.types.js +1 -0
- package/dist/collection/components/table/table.types.js.map +1 -0
- package/dist/collection/components/tooltip/tooltip-content.js +1 -0
- package/dist/collection/components/tooltip/tooltip-content.js.map +1 -0
- package/dist/collection/components/tooltip/tooltip.js +1 -0
- package/dist/collection/components/tooltip/tooltip.js.map +1 -0
- package/dist/collection/global/config.js +1 -0
- package/dist/collection/global/config.js.map +1 -0
- package/dist/collection/global/icon-cache.js +1 -0
- package/dist/collection/global/icon-cache.js.map +1 -0
- package/dist/collection/global/shared-types/link.types.js +1 -0
- package/dist/collection/global/shared-types/link.types.js.map +1 -0
- package/dist/collection/global/translations.js +1 -0
- package/dist/collection/global/translations.js.map +1 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/translations/da.js +1 -0
- package/dist/collection/translations/da.js.map +1 -0
- package/dist/collection/translations/en.js +1 -0
- package/dist/collection/translations/en.js.map +1 -0
- package/dist/collection/translations/fi.js +1 -0
- package/dist/collection/translations/fi.js.map +1 -0
- package/dist/collection/translations/nl.js +1 -0
- package/dist/collection/translations/nl.js.map +1 -0
- package/dist/collection/translations/no.js +1 -0
- package/dist/collection/translations/no.js.map +1 -0
- package/dist/collection/translations/sv.js +1 -0
- package/dist/collection/translations/sv.js.map +1 -0
- package/dist/collection/util/device.js +1 -0
- package/dist/collection/util/device.js.map +1 -0
- package/dist/collection/util/dispatch-resize-event.js +1 -0
- package/dist/collection/util/dispatch-resize-event.js.map +1 -0
- package/dist/collection/util/dom.js +1 -0
- package/dist/collection/util/dom.js.map +1 -0
- package/dist/collection/util/keycodes.js +1 -0
- package/dist/collection/util/keycodes.js.map +1 -0
- package/dist/collection/util/link-helper.js +1 -0
- package/dist/collection/util/link-helper.js.map +1 -0
- package/dist/collection/util/multiple.js +1 -0
- package/dist/collection/util/multiple.js.map +1 -0
- package/dist/collection/util/random-string.js +1 -0
- package/dist/collection/util/random-string.js.map +1 -0
- package/dist/esm/_arrayIncludesWith-969bccda.js +2 -0
- package/dist/esm/_arrayIncludesWith-969bccda.js.map +1 -0
- package/dist/esm/_assignValue-fb2bf80a.js +2 -0
- package/dist/esm/_assignValue-fb2bf80a.js.map +1 -0
- package/dist/esm/_commonjsHelpers-5ec8f9b7.js +2 -0
- package/dist/esm/_commonjsHelpers-5ec8f9b7.js.map +1 -0
- package/dist/esm/_defineProperty-2105cb48.js +2 -0
- package/dist/esm/_defineProperty-2105cb48.js.map +1 -0
- package/dist/esm/_getNative-93d6bfe9.js +2 -0
- package/dist/esm/_getNative-93d6bfe9.js.map +1 -0
- package/dist/esm/animationframe-b52af02d.js +2 -0
- package/dist/esm/animationframe-b52af02d.js.map +1 -0
- package/dist/esm/{checkbox.template-4ce8d92f.js → checkbox.template-c838ee7b.js} +3 -1
- package/dist/esm/checkbox.template-c838ee7b.js.map +1 -0
- package/dist/esm/component-19eb6e2b.js +2 -0
- package/dist/esm/component-19eb6e2b.js.map +1 -0
- package/dist/esm/component-288691f3.js +2 -0
- package/dist/esm/component-288691f3.js.map +1 -0
- package/dist/esm/component-410aad5a.js +2 -0
- package/dist/esm/component-410aad5a.js.map +1 -0
- package/dist/esm/component-5b4ac85a.js +2 -0
- package/dist/esm/component-5b4ac85a.js.map +1 -0
- package/dist/esm/component-fffa3419.js +2 -0
- package/dist/esm/component-fffa3419.js.map +1 -0
- package/dist/esm/config-f7362aeb.js +2 -0
- package/dist/esm/config-f7362aeb.js.map +1 -0
- package/dist/esm/device-39db3b5f.js +2 -0
- package/dist/esm/device-39db3b5f.js.map +1 -0
- package/dist/esm/dispatch-resize-event-cd1d230c.js +2 -0
- package/dist/esm/dispatch-resize-event-cd1d230c.js.map +1 -0
- package/dist/esm/dom-2fe617e7.js +2 -0
- package/dist/esm/dom-2fe617e7.js.map +1 -0
- package/dist/esm/eq-c1c7f528.js +2 -0
- package/dist/esm/eq-c1c7f528.js.map +1 -0
- package/dist/esm/format-c76733cb.js +2 -0
- package/dist/esm/format-c76733cb.js.map +1 -0
- package/dist/esm/identity-87aa3962.js +2 -0
- package/dist/esm/identity-87aa3962.js.map +1 -0
- package/dist/esm/{index-cdfd351d.js → index-9bd6d7c6.js} +209 -24
- package/dist/esm/index-9bd6d7c6.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/isArray-80298bc7.js +2 -0
- package/dist/esm/isArray-80298bc7.js.map +1 -0
- package/dist/esm/isArrayLike-385e0f31.js +2 -0
- package/dist/esm/isArrayLike-385e0f31.js.map +1 -0
- package/dist/esm/isEqual-c5a636a4.js +2 -0
- package/dist/esm/isEqual-c5a636a4.js.map +1 -0
- package/dist/esm/isObject-c74e273c.js +2 -0
- package/dist/esm/isObject-c74e273c.js.map +1 -0
- package/dist/esm/isObjectLike-38996507.js +2 -0
- package/dist/esm/isObjectLike-38996507.js.map +1 -0
- package/dist/esm/isSymbol-5bf20921.js +2 -0
- package/dist/esm/isSymbol-5bf20921.js.map +1 -0
- package/dist/esm/keyboard-4b9e12e3.js +2 -0
- package/dist/esm/keyboard-4b9e12e3.js.map +1 -0
- package/dist/esm/keycodes-44c01beb.js +2 -0
- package/dist/esm/keycodes-44c01beb.js.map +1 -0
- package/dist/esm/lime-elements.js +9 -3
- package/dist/esm/lime-elements.js.map +1 -0
- package/dist/esm/limel-action-bar-item_2.entry.js +3 -1
- package/dist/esm/limel-action-bar-item_2.entry.js.map +1 -0
- package/dist/esm/limel-action-bar.entry.js +3 -1
- package/dist/esm/limel-action-bar.entry.js.map +1 -0
- package/dist/esm/limel-badge.entry.js +3 -1
- package/dist/esm/limel-badge.entry.js.map +1 -0
- package/dist/esm/limel-banner.entry.js +3 -1
- package/dist/esm/limel-banner.entry.js.map +1 -0
- package/dist/esm/limel-button-group.entry.js +3 -1
- package/dist/esm/limel-button-group.entry.js.map +1 -0
- package/dist/esm/limel-button.entry.js +3 -1
- package/dist/esm/limel-button.entry.js.map +1 -0
- package/dist/esm/limel-callout.entry.js +3 -1
- package/dist/esm/limel-callout.entry.js.map +1 -0
- package/dist/esm/limel-checkbox.entry.js +4 -2
- package/dist/esm/limel-checkbox.entry.js.map +1 -0
- package/dist/esm/limel-chip-set.entry.js +3 -1
- package/dist/esm/limel-chip-set.entry.js.map +1 -0
- package/dist/esm/limel-circular-progress_2.entry.js +3 -1
- package/dist/esm/limel-circular-progress_2.entry.js.map +1 -0
- package/dist/esm/limel-code-editor.entry.js +3 -1
- package/dist/esm/limel-code-editor.entry.js.map +1 -0
- package/dist/esm/limel-collapsible-section.entry.js +3 -1
- package/dist/esm/limel-collapsible-section.entry.js.map +1 -0
- package/dist/esm/limel-color-picker-palette.entry.js +3 -1
- package/dist/esm/limel-color-picker-palette.entry.js.map +1 -0
- package/dist/esm/limel-color-picker.entry.js +3 -1
- package/dist/esm/limel-color-picker.entry.js.map +1 -0
- package/dist/esm/limel-config.entry.js +3 -1
- package/dist/esm/limel-config.entry.js.map +1 -0
- package/dist/esm/limel-date-picker.entry.js +3 -1
- package/dist/esm/limel-date-picker.entry.js.map +1 -0
- package/dist/esm/limel-dialog.entry.js +3 -1
- package/dist/esm/limel-dialog.entry.js.map +1 -0
- package/dist/esm/limel-dock-button.entry.js +3 -1
- package/dist/esm/limel-dock-button.entry.js.map +1 -0
- package/dist/esm/limel-dock.entry.js +3 -1
- package/dist/esm/limel-dock.entry.js.map +1 -0
- package/dist/esm/limel-file.entry.js +3 -1
- package/dist/esm/limel-file.entry.js.map +1 -0
- package/dist/esm/limel-flatpickr-adapter.entry.js +3 -1
- package/dist/esm/limel-flatpickr-adapter.entry.js.map +1 -0
- package/dist/esm/limel-flex-container.entry.js +3 -1
- package/dist/esm/limel-flex-container.entry.js.map +1 -0
- package/dist/esm/limel-form.entry.js +3 -1
- package/dist/esm/limel-form.entry.js.map +1 -0
- package/dist/esm/limel-grid.entry.js +3 -1
- package/dist/esm/limel-grid.entry.js.map +1 -0
- package/dist/esm/limel-header.entry.js +3 -1
- package/dist/esm/limel-header.entry.js.map +1 -0
- package/dist/esm/limel-helper-line.entry.js +3 -1
- package/dist/esm/limel-helper-line.entry.js.map +1 -0
- package/dist/esm/limel-icon-button.entry.js +3 -1
- package/dist/esm/limel-icon-button.entry.js.map +1 -0
- package/dist/esm/limel-icon.entry.js +3 -1
- package/dist/esm/limel-icon.entry.js.map +1 -0
- package/dist/esm/limel-info-tile.entry.js +3 -1
- package/dist/esm/limel-info-tile.entry.js.map +1 -0
- package/dist/esm/limel-input-field.entry.js +3 -1
- package/dist/esm/limel-input-field.entry.js.map +1 -0
- package/dist/esm/limel-list_2.entry.js +4 -2
- package/dist/esm/limel-list_2.entry.js.map +1 -0
- package/dist/esm/limel-menu_2.entry.js +3 -1
- package/dist/esm/limel-menu_2.entry.js.map +1 -0
- package/dist/esm/limel-picker.entry.js +3 -1
- package/dist/esm/limel-picker.entry.js.map +1 -0
- package/dist/esm/limel-popover_2.entry.js +3 -1
- package/dist/esm/limel-popover_2.entry.js.map +1 -0
- package/dist/esm/limel-portal.entry.js +15 -13
- package/dist/esm/limel-portal.entry.js.map +1 -0
- package/dist/esm/limel-progress-flow-item.entry.js +3 -1
- package/dist/esm/limel-progress-flow-item.entry.js.map +1 -0
- package/dist/esm/limel-progress-flow.entry.js +3 -1
- package/dist/esm/limel-progress-flow.entry.js.map +1 -0
- package/dist/esm/limel-select.entry.js +3 -1
- package/dist/esm/limel-select.entry.js.map +1 -0
- package/dist/esm/limel-shortcut.entry.js +3 -1
- package/dist/esm/limel-shortcut.entry.js.map +1 -0
- package/dist/esm/limel-slider.entry.js +3 -1
- package/dist/esm/limel-slider.entry.js.map +1 -0
- package/dist/esm/limel-snackbar.entry.js +3 -1
- package/dist/esm/limel-snackbar.entry.js.map +1 -0
- package/dist/esm/limel-spinner.entry.js +3 -1
- package/dist/esm/limel-spinner.entry.js.map +1 -0
- package/dist/esm/limel-split-button.entry.js +3 -1
- package/dist/esm/limel-split-button.entry.js.map +1 -0
- package/dist/esm/limel-switch.entry.js +3 -1
- package/dist/esm/limel-switch.entry.js.map +1 -0
- package/dist/esm/limel-tab-bar.entry.js +3 -1
- package/dist/esm/limel-tab-bar.entry.js.map +1 -0
- package/dist/esm/limel-tab-panel.entry.js +3 -1
- package/dist/esm/limel-tab-panel.entry.js.map +1 -0
- package/dist/esm/limel-table.entry.js +3 -1
- package/dist/esm/limel-table.entry.js.map +1 -0
- package/dist/esm/limel-tooltip_2.entry.js +3 -1
- package/dist/esm/limel-tooltip_2.entry.js.map +1 -0
- package/dist/esm/link-helper-b08fe56c.js +2 -0
- package/dist/esm/link-helper-b08fe56c.js.map +1 -0
- package/dist/esm/loader.js +6 -3
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/moment-faa8a4a8.js +2 -0
- package/dist/esm/moment-faa8a4a8.js.map +1 -0
- package/dist/esm/multiple-0bd62427.js +2 -0
- package/dist/esm/multiple-0bd62427.js.map +1 -0
- package/dist/esm/pickBy-d359eb12.js +2 -0
- package/dist/esm/pickBy-d359eb12.js.map +1 -0
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/esm/ponyfill-30263d5e.js +2 -0
- package/dist/esm/ponyfill-30263d5e.js.map +1 -0
- package/dist/esm/random-string-2246b81e.js +2 -0
- package/dist/esm/random-string-2246b81e.js.map +1 -0
- package/dist/esm/sv-336c4576.js +2 -0
- package/dist/esm/sv-336c4576.js.map +1 -0
- package/dist/esm/toNumber-a6ed64f0.js +2 -0
- package/dist/esm/toNumber-a6ed64f0.js.map +1 -0
- package/dist/esm/translations-f88bb584.js +2 -0
- package/dist/esm/translations-f88bb584.js.map +1 -0
- package/dist/esm/util-f1bde91c.js +2 -0
- package/dist/esm/util-f1bde91c.js.map +1 -0
- package/dist/esm/zipObject-2bb1968e.js +2 -0
- package/dist/esm/zipObject-2bb1968e.js.map +1 -0
- package/dist/lime-elements/index.esm.js +2 -0
- package/dist/lime-elements/index.esm.js.map +1 -0
- package/dist/lime-elements/lime-elements.esm.js +2 -1
- package/dist/lime-elements/lime-elements.esm.js.map +1 -0
- package/dist/lime-elements/p-0137d2fb.entry.js +2 -0
- package/dist/lime-elements/p-0137d2fb.entry.js.map +1 -0
- package/dist/lime-elements/p-0b1af919.js +2 -1
- package/dist/lime-elements/p-0b1af919.js.map +1 -0
- package/dist/lime-elements/p-0eabb204.js +2 -1
- package/dist/lime-elements/p-0eabb204.js.map +1 -0
- package/dist/lime-elements/p-13ed01eb.entry.js +236 -0
- package/dist/lime-elements/p-13ed01eb.entry.js.map +1 -0
- package/dist/lime-elements/p-17ac8cca.entry.js +2 -0
- package/dist/lime-elements/p-17ac8cca.entry.js.map +1 -0
- package/dist/lime-elements/p-1a80da5e.entry.js +104 -0
- package/dist/lime-elements/p-1a80da5e.entry.js.map +1 -0
- package/dist/lime-elements/p-1c284626.js +372 -5
- package/dist/lime-elements/p-1c284626.js.map +1 -0
- package/dist/lime-elements/p-1dc042e5.entry.js +2 -0
- package/dist/lime-elements/p-1dc042e5.entry.js.map +1 -0
- package/dist/lime-elements/p-2118b9ae.entry.js +2 -0
- package/dist/lime-elements/p-2118b9ae.entry.js.map +1 -0
- package/dist/lime-elements/p-2359d139.entry.js +82 -0
- package/dist/lime-elements/p-2359d139.entry.js.map +1 -0
- package/dist/lime-elements/p-240fda3b.js +2 -1
- package/dist/lime-elements/p-240fda3b.js.map +1 -0
- package/dist/lime-elements/p-2565927b.entry.js +21 -0
- package/dist/lime-elements/p-2565927b.entry.js.map +1 -0
- package/dist/lime-elements/p-28da3c47.entry.js +2 -0
- package/dist/lime-elements/p-28da3c47.entry.js.map +1 -0
- package/dist/lime-elements/p-2b0c6ccd.entry.js +17 -0
- package/dist/lime-elements/p-2b0c6ccd.entry.js.map +1 -0
- package/dist/lime-elements/p-2f71d4d4.js +2 -1
- package/dist/lime-elements/p-2f71d4d4.js.map +1 -0
- package/dist/lime-elements/p-30df2bb6.entry.js +2 -0
- package/dist/lime-elements/p-30df2bb6.entry.js.map +1 -0
- package/dist/lime-elements/p-365098fe.js +2 -1
- package/dist/lime-elements/p-365098fe.js.map +1 -0
- package/dist/lime-elements/p-3670f018.entry.js +2 -0
- package/dist/lime-elements/p-3670f018.entry.js.map +1 -0
- package/dist/lime-elements/p-40b7d717.entry.js +2 -0
- package/dist/lime-elements/p-40b7d717.entry.js.map +1 -0
- package/dist/lime-elements/p-4114c214.entry.js +82 -0
- package/dist/lime-elements/p-4114c214.entry.js.map +1 -0
- package/dist/lime-elements/p-42a24572.entry.js +2 -0
- package/dist/lime-elements/p-42a24572.entry.js.map +1 -0
- package/dist/lime-elements/p-48105d44.js +2 -1
- package/dist/lime-elements/p-48105d44.js.map +1 -0
- package/dist/lime-elements/p-48d4ef20.js +4 -3
- package/dist/lime-elements/p-48d4ef20.js.map +1 -0
- package/dist/lime-elements/p-4c3358cb.js +2 -1
- package/dist/lime-elements/p-4c3358cb.js.map +1 -0
- package/dist/lime-elements/p-4dd9a5a5.js +12 -5
- package/dist/lime-elements/p-4dd9a5a5.js.map +1 -0
- package/dist/lime-elements/p-4ed75a11.entry.js +162 -0
- package/dist/lime-elements/p-4ed75a11.entry.js.map +1 -0
- package/dist/lime-elements/p-4ef9aa7d.entry.js +104 -0
- package/dist/lime-elements/p-4ef9aa7d.entry.js.map +1 -0
- package/dist/lime-elements/p-55a09930.entry.js +126 -0
- package/dist/lime-elements/p-55a09930.entry.js.map +1 -0
- package/dist/lime-elements/p-5b374246.entry.js +476 -0
- package/dist/lime-elements/p-5b374246.entry.js.map +1 -0
- package/dist/lime-elements/p-5b6d2d55.js +2 -0
- package/dist/lime-elements/p-5b6d2d55.js.map +1 -0
- package/dist/lime-elements/p-5f020b3c.js +2 -1
- package/dist/lime-elements/p-5f020b3c.js.map +1 -0
- package/dist/lime-elements/p-5fdb83c9.js +2 -1
- package/dist/lime-elements/p-5fdb83c9.js.map +1 -0
- package/dist/lime-elements/p-623d09d9.entry.js +2 -0
- package/dist/lime-elements/p-623d09d9.entry.js.map +1 -0
- package/dist/lime-elements/p-63111b62.entry.js +2 -0
- package/dist/lime-elements/p-63111b62.entry.js.map +1 -0
- package/dist/lime-elements/p-648d9057.entry.js +2 -0
- package/dist/lime-elements/p-648d9057.entry.js.map +1 -0
- package/dist/lime-elements/p-669626e5.js +2 -1
- package/dist/lime-elements/p-669626e5.js.map +1 -0
- package/dist/lime-elements/p-6b952164.entry.js +2 -0
- package/dist/lime-elements/p-6b952164.entry.js.map +1 -0
- package/dist/lime-elements/p-6c094f3f.js +2 -1
- package/dist/lime-elements/p-6c094f3f.js.map +1 -0
- package/dist/lime-elements/p-6e219bb4.js +2 -1
- package/dist/lime-elements/p-6e219bb4.js.map +1 -0
- package/dist/lime-elements/p-715d3252.entry.js +2 -0
- package/dist/lime-elements/p-715d3252.entry.js.map +1 -0
- package/dist/lime-elements/p-753f500b.entry.js +82 -0
- package/dist/lime-elements/p-753f500b.entry.js.map +1 -0
- package/dist/lime-elements/p-795079c9.entry.js +2 -0
- package/dist/lime-elements/p-795079c9.entry.js.map +1 -0
- package/dist/lime-elements/p-7a3f58cd.entry.js +2 -0
- package/dist/lime-elements/p-7a3f58cd.entry.js.map +1 -0
- package/dist/lime-elements/p-7cda574b.js +2 -1
- package/dist/lime-elements/p-7cda574b.js.map +1 -0
- package/dist/lime-elements/p-848437f8.entry.js +2 -0
- package/dist/lime-elements/p-848437f8.entry.js.map +1 -0
- package/dist/lime-elements/p-858c6b82.js +2 -1
- package/dist/lime-elements/p-858c6b82.js.map +1 -0
- package/dist/lime-elements/p-896043d6.entry.js +2 -0
- package/dist/lime-elements/p-896043d6.entry.js.map +1 -0
- package/dist/lime-elements/p-8b339748.entry.js +2 -0
- package/dist/lime-elements/p-8b339748.entry.js.map +1 -0
- package/dist/lime-elements/p-945afca2.js +3 -2
- package/dist/lime-elements/p-945afca2.js.map +1 -0
- package/dist/lime-elements/p-9aab2892.entry.js +2 -0
- package/dist/lime-elements/p-9aab2892.entry.js.map +1 -0
- package/dist/lime-elements/p-9acf7b5d.js +2 -1
- package/dist/lime-elements/p-9acf7b5d.js.map +1 -0
- package/dist/lime-elements/p-9e78a21c.entry.js +16 -0
- package/dist/lime-elements/p-9e78a21c.entry.js.map +1 -0
- package/dist/lime-elements/p-9faad6eb.js +2 -1
- package/dist/lime-elements/p-9faad6eb.js.map +1 -0
- package/dist/lime-elements/p-9fe3bc64.entry.js +2 -0
- package/dist/lime-elements/p-9fe3bc64.entry.js.map +1 -0
- package/dist/lime-elements/p-a11a971e.entry.js +2 -0
- package/dist/lime-elements/p-a11a971e.entry.js.map +1 -0
- package/dist/lime-elements/p-a3bea367.entry.js +2 -0
- package/dist/lime-elements/p-a3bea367.entry.js.map +1 -0
- package/dist/lime-elements/p-a40e05c3.entry.js +2 -0
- package/dist/lime-elements/p-a40e05c3.entry.js.map +1 -0
- package/dist/lime-elements/p-a8714655.entry.js +2 -0
- package/dist/lime-elements/p-a8714655.entry.js.map +1 -0
- package/dist/lime-elements/p-acf307d9.js +2 -1
- package/dist/lime-elements/p-acf307d9.js.map +1 -0
- package/dist/lime-elements/p-ad8cb388.js +2 -1
- package/dist/lime-elements/p-ad8cb388.js.map +1 -0
- package/dist/lime-elements/p-ade76f1d.js +2 -1
- package/dist/lime-elements/p-ade76f1d.js.map +1 -0
- package/dist/lime-elements/p-b28128d2.js +2 -1
- package/dist/lime-elements/p-b28128d2.js.map +1 -0
- package/dist/lime-elements/p-b59e4287.js +2 -1
- package/dist/lime-elements/p-b59e4287.js.map +1 -0
- package/dist/lime-elements/p-b8ed25b3.entry.js +2 -0
- package/dist/lime-elements/p-b8ed25b3.entry.js.map +1 -0
- package/dist/lime-elements/p-c647b197.entry.js +2 -0
- package/dist/lime-elements/p-c647b197.entry.js.map +1 -0
- package/dist/lime-elements/p-c70b1ea3.js +2 -1
- package/dist/lime-elements/p-c70b1ea3.js.map +1 -0
- package/dist/lime-elements/p-c8818b66.js +3 -0
- package/dist/lime-elements/p-c8818b66.js.map +1 -0
- package/dist/lime-elements/p-c93050d6.js +2 -1
- package/dist/lime-elements/p-c93050d6.js.map +1 -0
- package/dist/lime-elements/p-ca9b383b.entry.js +2 -0
- package/dist/lime-elements/p-ca9b383b.entry.js.map +1 -0
- package/dist/lime-elements/p-cbc43682.js +27 -4
- package/dist/lime-elements/p-cbc43682.js.map +1 -0
- package/dist/lime-elements/p-cc9ebbef.js +2 -1
- package/dist/lime-elements/p-cc9ebbef.js.map +1 -0
- package/dist/lime-elements/p-d07f1a1f.entry.js +2 -0
- package/dist/lime-elements/p-d07f1a1f.entry.js.map +1 -0
- package/dist/lime-elements/p-d0a7de87.js +48 -3
- package/dist/lime-elements/p-d0a7de87.js.map +1 -0
- package/dist/lime-elements/p-d228fd62.entry.js +2 -0
- package/dist/lime-elements/p-d228fd62.entry.js.map +1 -0
- package/dist/lime-elements/p-d529bb7d.js +2 -1
- package/dist/lime-elements/p-d529bb7d.js.map +1 -0
- package/dist/lime-elements/p-d7801e00.js +2 -1
- package/dist/lime-elements/p-d7801e00.js.map +1 -0
- package/dist/lime-elements/p-d7c39d02.entry.js +126 -0
- package/dist/lime-elements/p-d7c39d02.entry.js.map +1 -0
- package/dist/lime-elements/p-da25e94d.entry.js +2 -0
- package/dist/lime-elements/p-da25e94d.entry.js.map +1 -0
- package/dist/lime-elements/p-dcc97cc2.js +2 -1
- package/dist/lime-elements/p-dcc97cc2.js.map +1 -0
- package/dist/lime-elements/p-dfba92de.js +88 -8
- package/dist/lime-elements/p-dfba92de.js.map +1 -0
- package/dist/lime-elements/p-e0fa49ca.entry.js +2 -0
- package/dist/lime-elements/p-e0fa49ca.entry.js.map +1 -0
- package/dist/lime-elements/p-e59e0040.entry.js +2 -0
- package/dist/lime-elements/p-e59e0040.entry.js.map +1 -0
- package/dist/lime-elements/p-eab67c09.js +2 -1
- package/dist/lime-elements/p-eab67c09.js.map +1 -0
- package/dist/lime-elements/p-eda23c05.js +2 -1
- package/dist/lime-elements/p-eda23c05.js.map +1 -0
- package/dist/lime-elements/p-f1d9723a.entry.js +2 -0
- package/dist/lime-elements/p-f1d9723a.entry.js.map +1 -0
- package/dist/lime-elements/p-fa607ed3.js +2 -1
- package/dist/lime-elements/p-fa607ed3.js.map +1 -0
- package/dist/lime-elements/p-fb799569.entry.js +2 -0
- package/dist/lime-elements/p-fb799569.entry.js.map +1 -0
- package/dist/loader/index.d.ts +9 -0
- package/dist/types/components/callout/callout.types.d.ts +1 -1
- package/dist/types/components/circular-progress/circular-progress.types.d.ts +1 -1
- package/dist/types/components/code-editor/code-editor.types.d.ts +2 -2
- package/dist/types/components/date-picker/date.types.d.ts +2 -2
- package/dist/types/components/file/file-metadata.d.ts +5 -5
- package/dist/types/components/flex-container/flex-container.types.d.ts +3 -3
- package/dist/types/components/form/form.types.d.ts +1 -1
- package/dist/types/components/form/templates/types.d.ts +3 -3
- package/dist/types/components/form/widgets/index.d.ts +1 -1
- package/dist/types/components/icon/icon.types.d.ts +1 -1
- package/dist/types/components/input-field/input-field.types.d.ts +1 -1
- package/dist/types/components/list/list.types.d.ts +1 -1
- package/dist/types/components/menu/menu.types.d.ts +1 -1
- package/dist/types/components/menu-list/menu-list.types.d.ts +1 -1
- package/dist/types/components/picker/actions.types.d.ts +2 -2
- package/dist/types/components/picker/searcher.types.d.ts +1 -1
- package/dist/types/components/spinner/spinner.types.d.ts +1 -1
- package/dist/types/components/table/layout.d.ts +1 -1
- package/dist/types/components/table/table.types.d.ts +2 -2
- package/dist/types/components.d.ts +2848 -0
- package/dist/types/interface.d.ts +5 -14
- package/dist/types/stencil-public-runtime.d.ts +74 -15
- package/package.json +2 -2
- package/dist/lime-elements/p-076de623.entry.js +0 -1
- package/dist/lime-elements/p-07dd6729.entry.js +0 -1
- package/dist/lime-elements/p-094dd76a.entry.js +0 -126
- package/dist/lime-elements/p-10e259de.entry.js +0 -1
- package/dist/lime-elements/p-123f5fbb.entry.js +0 -1
- package/dist/lime-elements/p-29350441.entry.js +0 -37
- package/dist/lime-elements/p-30f5cc4d.entry.js +0 -1
- package/dist/lime-elements/p-35a6ab13.entry.js +0 -1
- package/dist/lime-elements/p-3618f8be.entry.js +0 -1
- package/dist/lime-elements/p-3be2dfc7.entry.js +0 -1
- package/dist/lime-elements/p-3cdc210b.entry.js +0 -1
- package/dist/lime-elements/p-3fda3473.entry.js +0 -1
- package/dist/lime-elements/p-46a76d55.entry.js +0 -1
- package/dist/lime-elements/p-4a62273c.entry.js +0 -1
- package/dist/lime-elements/p-4eeabc1f.entry.js +0 -1
- package/dist/lime-elements/p-5338663b.entry.js +0 -1
- package/dist/lime-elements/p-55900379.entry.js +0 -59
- package/dist/lime-elements/p-55c8cb64.entry.js +0 -131
- package/dist/lime-elements/p-6b8142ba.entry.js +0 -73
- package/dist/lime-elements/p-6c38b505.entry.js +0 -1
- package/dist/lime-elements/p-727fd4ea.entry.js +0 -38
- package/dist/lime-elements/p-7719a91d.entry.js +0 -1
- package/dist/lime-elements/p-79049482.entry.js +0 -1
- package/dist/lime-elements/p-7d7d19de.entry.js +0 -1
- package/dist/lime-elements/p-803cc4b7.entry.js +0 -1
- package/dist/lime-elements/p-82cd7bb6.entry.js +0 -1
- package/dist/lime-elements/p-8a2d1761.entry.js +0 -11
- package/dist/lime-elements/p-8acabe02.entry.js +0 -59
- package/dist/lime-elements/p-9336fd7f.entry.js +0 -1
- package/dist/lime-elements/p-95cefb5f.entry.js +0 -1
- package/dist/lime-elements/p-a3acc38f.entry.js +0 -83
- package/dist/lime-elements/p-a5d5efc4.entry.js +0 -1
- package/dist/lime-elements/p-b0bfec52.entry.js +0 -1
- package/dist/lime-elements/p-b40f37d7.entry.js +0 -1
- package/dist/lime-elements/p-b526ebd4.entry.js +0 -1
- package/dist/lime-elements/p-b80de0ea.entry.js +0 -1
- package/dist/lime-elements/p-bf3d6097.entry.js +0 -1
- package/dist/lime-elements/p-c6e913a4.entry.js +0 -82
- package/dist/lime-elements/p-cb2c9562.entry.js +0 -16
- package/dist/lime-elements/p-cc3529bb.entry.js +0 -82
- package/dist/lime-elements/p-cfaa685f.entry.js +0 -1
- package/dist/lime-elements/p-d2a3d50b.js +0 -1
- package/dist/lime-elements/p-d4e788e1.js +0 -2
- package/dist/lime-elements/p-d55d88a5.entry.js +0 -1
- package/dist/lime-elements/p-da4d1bc1.entry.js +0 -16
- package/dist/lime-elements/p-eda87f8c.entry.js +0 -1
- package/dist/lime-elements/p-edbd8d62.entry.js +0 -1
- package/dist/lime-elements/p-ef93fd3e.entry.js +0 -1
- package/dist/lime-elements/p-f11e7ce1.entry.js +0 -1
- package/dist/lime-elements/p-f979c0f2.entry.js +0 -1
|
@@ -36,11 +36,11 @@ export class FlexContainer {
|
|
|
36
36
|
static get properties() {
|
|
37
37
|
return {
|
|
38
38
|
"direction": {
|
|
39
|
-
"type": "
|
|
39
|
+
"type": "any",
|
|
40
40
|
"mutable": false,
|
|
41
41
|
"complexType": {
|
|
42
42
|
"original": "FlexContainerDirection",
|
|
43
|
-
"resolved": "
|
|
43
|
+
"resolved": "FlexContainerDirection",
|
|
44
44
|
"references": {
|
|
45
45
|
"FlexContainerDirection": {
|
|
46
46
|
"location": "import",
|
|
@@ -59,11 +59,11 @@ export class FlexContainer {
|
|
|
59
59
|
"defaultValue": "'horizontal'"
|
|
60
60
|
},
|
|
61
61
|
"justify": {
|
|
62
|
-
"type": "
|
|
62
|
+
"type": "any",
|
|
63
63
|
"mutable": false,
|
|
64
64
|
"complexType": {
|
|
65
65
|
"original": "FlexContainerJustify",
|
|
66
|
-
"resolved": "
|
|
66
|
+
"resolved": "FlexContainerJustify",
|
|
67
67
|
"references": {
|
|
68
68
|
"FlexContainerJustify": {
|
|
69
69
|
"location": "import",
|
|
@@ -82,11 +82,11 @@ export class FlexContainer {
|
|
|
82
82
|
"defaultValue": "'space-between'"
|
|
83
83
|
},
|
|
84
84
|
"align": {
|
|
85
|
-
"type": "
|
|
85
|
+
"type": "any",
|
|
86
86
|
"mutable": false,
|
|
87
87
|
"complexType": {
|
|
88
88
|
"original": "FlexContainerAlign",
|
|
89
|
-
"resolved": "
|
|
89
|
+
"resolved": "FlexContainerAlign",
|
|
90
90
|
"references": {
|
|
91
91
|
"FlexContainerAlign": {
|
|
92
92
|
"location": "import",
|
|
@@ -125,3 +125,4 @@ export class FlexContainer {
|
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
+
//# sourceMappingURL=flex-container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flex-container.js","sourceRoot":"","sources":["../../../src/components/flex-container/flex-container.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;;;;GAOG;AAMH,MAAM,OAAO,aAAa;;qBAKqB,YAAY;mBAMhB,eAAe;iBAMnB,QAAQ;mBAM1B,KAAK;;EAEf,iBAAiB;IACpB,yCAAyC;IACzC,OAAO,CAAC,IAAI,CACR,gKAAgK,CACnK,CAAC;EACN,CAAC;EAEM,MAAM;IACT,OAAO,eAAQ,CAAC;EACpB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import {\n FlexContainerAlign,\n FlexContainerDirection,\n FlexContainerJustify,\n} from '@limetech/lime-elements';\nimport { Component, h, Prop } from '@stencil/core';\n\n/**\n * This component is deprecated and will be removed in a future version of\n * Lime Elements. Please use CSS for your flexible container needs 🙂\n * https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox\n * @deprecated\n * @private\n * @slot - Container content\n */\n@Component({\n tag: 'limel-flex-container',\n shadow: true,\n styleUrl: 'flex-container.scss',\n})\nexport class FlexContainer {\n /**\n * Direction of the main axis\n */\n @Prop({ reflect: true })\n public direction: FlexContainerDirection = 'horizontal';\n\n /**\n * Specify how items are aligned along the main axis\n */\n @Prop({ reflect: true })\n public justify: FlexContainerJustify = 'space-between';\n\n /**\n * Specify how items are aligned along the cross axis\n */\n @Prop({ reflect: true })\n public align: FlexContainerAlign = 'center';\n\n /**\n * Reverse the order of the items\n */\n @Prop({ reflect: true })\n public reverse = false;\n\n public componentWillLoad() {\n /* eslint-disable-next-line no-console */\n console.warn(\n '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'\n );\n }\n\n public render() {\n return <slot />;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flex-container.types.js","sourceRoot":"","sources":["../../../src/components/flex-container/flex-container.types.ts"],"names":[],"mappings":"","sourcesContent":["export type FlexContainerDirection = 'horizontal' | 'vertical';\nexport type FlexContainerAlign = 'start' | 'end' | 'center' | 'stretch';\nexport type FlexContainerJustify =\n | 'start'\n | 'end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly';\n"]}
|
|
@@ -28,7 +28,7 @@ const isPrimitive = (value) => isNil(value) || isNumber(value) || isString(value
|
|
|
28
28
|
* event listener functions, event listeners are either never updated for the lifetime of the component, or
|
|
29
29
|
* new event listeners are added event cycle causing a continuous increase in event listeners.
|
|
30
30
|
*/
|
|
31
|
-
|
|
31
|
+
class LimeElementsAdapter extends React.Component {
|
|
32
32
|
constructor(props) {
|
|
33
33
|
super(props);
|
|
34
34
|
this.props = props;
|
|
@@ -200,3 +200,5 @@ LimeElementsAdapter.defaultProps = {
|
|
|
200
200
|
// The props to pass to the web component
|
|
201
201
|
elementProps: {},
|
|
202
202
|
};
|
|
203
|
+
export { LimeElementsAdapter };
|
|
204
|
+
//# sourceMappingURL=base-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-adapter.js","sourceRoot":"","sources":["../../../../src/components/form/adapters/base-adapter.ts"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n isNil,\n isNumber,\n isString,\n isBoolean,\n pickBy,\n negate,\n kebabCase,\n mapKeys,\n has,\n isEmpty,\n toPairs,\n isEqual,\n} from 'lodash-es';\n\n/**\n * Given a value, check if it is primitive or not\n *\n * This function treats the definition of primitive a little differently than\n * the real definition of a primitive in javascript. In this context, primitive\n * really means \"can be properly rendered to the dom by react\". It just so\n * happens that react can render most primitives to the dom correctly.\n * @see https://developer.mozilla.org/en-US/docs/Glossary/Primitive\n * @param {any} value the value to check\n * @returns {boolean} Whether or not the value is primitive\n */\nconst isPrimitive = (value) =>\n isNil(value) || isNumber(value) || isString(value) || isBoolean(value);\n\n/**\n * Renders a webcomponent by name\n *\n * Much of the complexity of this component comes from:\n * 1. Splitting primitive and non primitive properties\n * 2. Setting and updating events\n *\n * We need to split primitive and non primitive values because React will not properly\n * render non primitive values on the web component. So we have to set non primitive values manually\n *\n * We need to set events manually because React does not properly subscribe to events on web components\n *\n * We need to update events correctly because we want to avoid duplicate event listeners. With checking for changing\n * event listener functions, event listeners are either never updated for the lifetime of the component, or\n * new event listeners are added event cycle causing a continuous increase in event listeners.\n */\nexport class LimeElementsAdapter extends React.Component<any, any> {\n component = null;\n\n static defaultProps = {\n // The events to bind the the web component\n events: {},\n // The props to pass to the web component\n elementProps: {},\n };\n\n constructor(\n public props: {\n name: string;\n events?: any;\n elementProps?: any;\n }\n ) {\n super(props);\n\n this.state = {\n prevEvents: {},\n };\n\n this.component = React.createRef();\n\n this.setComponentProperty = this.setComponentProperty.bind(this);\n }\n\n /**\n * Given a key a value set the value of property named `key` to\n * the value of `value`\n * @param {string} key The name of the property\n * @param {any} value The value of the property\n * @returns {void}\n */\n setComponentProperty(key: string, value: any): void {\n const element = this.component.current;\n element[key] = value;\n }\n\n /**\n * Get the handler for an event.\n *\n * Events must be bound using this function otherwise events will bubble up too far\n * since react events are different that native dom events\n * @param {string} eventName the name of the event to get the handler for\n * @returns {any} the handler to bind to the component for the event name\n */\n getHandler(eventName: string) {\n const { events } = this.props;\n\n return (event) => {\n event.stopPropagation();\n events[eventName](event);\n };\n }\n\n /**\n * Set events on the web component\n * @param {object} events Event names to handlers\n * @returns {void}\n */\n setEvents(events: object) {\n const element = this.component.current;\n for (const event of Object.keys(events)) {\n element.addEventListener(event, this.getHandler(event));\n }\n }\n\n /**\n * Remove events on the web component\n * @param {object} events Event names to handlers\n * @returns {void}\n */\n removeEvents(events: object) {\n const element = this.component.current;\n for (const event of Object.keys(events)) {\n element.removeEventListener(event, events[event]);\n }\n }\n\n /**\n * Get the events to remove from the component\n * @param {object} prevEvents previous events\n * @param {object} nextEvents new events\n * @returns {object} the events to remove\n */\n getEventsToRemove(prevEvents: object, nextEvents: object): object {\n return pickBy(\n prevEvents,\n (value, key) => !has(nextEvents, key) || nextEvents[key] !== value\n );\n }\n\n /**\n * Get the events to add to the component\n * @param {object} prevEvents previous events\n * @param {object} nextEvents new events\n * @returns {object} the events to add\n */\n getEventsToAdd(prevEvents: object, nextEvents: object): object {\n return pickBy(\n nextEvents,\n (value, key) => !has(prevEvents, key) || prevEvents[key] !== value\n );\n }\n\n /**\n * Detect if event handlers have changed. If they\n * have changed, store them in the state, and remove and\n * re-add the changed event handlers\n * @returns {void}\n */\n updateEvents() {\n const { prevEvents } = this.state;\n const { events } = this.props;\n\n // isEqual does a deep equal but since events is just an object of string keys to\n // function values it won't be very expensive especially because isEqual\n // compares functions with ===. But we want to check equality of the functions\n // not the wrapping object to avoid excessive rerenders.\n if (isEqual(prevEvents, events)) {\n return;\n }\n\n this.setState({ prevEvents: events });\n\n const eventsToAdd = this.getEventsToAdd(prevEvents, events);\n const eventsToRemove = this.getEventsToRemove(prevEvents, events);\n\n if (!isEmpty(eventsToRemove)) {\n this.removeEvents(eventsToRemove);\n }\n\n if (!isEmpty(eventsToAdd)) {\n this.setEvents(eventsToAdd);\n }\n }\n\n /**\n * Get non primitive props. i.e. object, function, array, etc\n * @param {object} elementProps the props to pass the webcomponet\n * @returns {object} non primitive props\n */\n getNonPrimitiveProps(elementProps: object) {\n return pickBy(elementProps, negate(isPrimitive));\n }\n\n /**\n * Get primitive props. i.e. integer, boolean, etc\n * @param {object} elementProps the props to pass the webcomponet\n * @returns {object} primitive props\n */\n getPrimitiveProps(elementProps: object): object {\n return pickBy(elementProps, isPrimitive);\n }\n\n /**\n * Given the previous renders props and the next renders props,\n * check if any of the property values have changed and return an\n * object with only those values\n * @param {object} prevNonPrimitiveProps the previous renders non primitive props\n * @param {object} nextNonPrimitiveProps the current renders non primitive props\n * @returns {object} the changed primitive props\n */\n getChangedNonPrimitiveProps(\n prevNonPrimitiveProps: object,\n nextNonPrimitiveProps: object\n ): object {\n return pickBy(\n nextNonPrimitiveProps,\n (value, key) => prevNonPrimitiveProps[key] !== value\n );\n }\n\n /**\n * Set non primitive props on the web component.\n *\n * We have to set non primitive props via the setComponentProperty\n * instead of passing them as props the the React.createElement\n * function because non primitive props are not passed properly to the web\n * component via React.createElement\n * @param {object} elementProps element props to set\n * @returns {void}\n */\n setNonPrimitives(elementProps: object): void {\n toPairs(elementProps).forEach(([key, value]) =>\n this.setComponentProperty(key, value)\n );\n }\n\n componentDidMount() {\n const { elementProps } = this.props;\n\n this.setNonPrimitives(this.getNonPrimitiveProps(elementProps));\n\n this.updateEvents();\n }\n\n componentWillUnmount() {\n this.removeEvents(this.state.prevEvents);\n }\n\n componentDidUpdate(prevProps) {\n const { elementProps: nextElementProps } = this.props;\n const { elementProps: prevElementProps } = prevProps;\n\n this.setNonPrimitives(\n this.getChangedNonPrimitiveProps(prevElementProps, nextElementProps)\n );\n\n this.updateEvents();\n }\n\n render() {\n const { name, elementProps } = this.props;\n\n let primitiveProps = this.getPrimitiveProps(elementProps);\n\n // Map all keys to kebabcase for react because react doesn't properly map\n // camelCase to kebab-case when setting properties on web-components\n primitiveProps = mapKeys(primitiveProps, (_, key) => kebabCase(key));\n\n return React.createElement(name, {\n ...primitiveProps,\n ref: this.component,\n });\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/form/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './base-adapter';\nexport * from './widget-adapter';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-adapter.js","sourceRoot":"","sources":["../../../../src/components/form/adapters/widget-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAWvC;;;;;;;;;GASG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK,CAAC,SAAS;EAK1D,YAAmB,KAAyB;IACxC,KAAK,CAAC,KAAK,CAAC,CAAC;IADE,UAAK,GAAL,KAAK,CAAoB;IAJ5C,UAAK,GAAG;MACJ,QAAQ,EAAE,KAAK;KAClB,CAAC;IAKE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;EACrB,CAAC;EAEO,SAAS;IACb,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;MACjB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;KAC9B;EACL,CAAC;EAEO,QAAQ;IACZ,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,IAAI,CAAC,KAAK,EAAE;MACR,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;MACtB,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;KACzB;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;MAC3B,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;KACzC;IAED,OAAO,IAAI,CAAC;EAChB,CAAC;EAEO,UAAU;IACd,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;EACtC,CAAC;EAEO,QAAQ;IACZ,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAEjD,OAAO,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;EACjC,CAAC;EAEO,SAAS;IACb,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;IAChC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAE7C,IAAI,CAAC,QAAQ,EAAE;MACX,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,CAAC,CAAC,SAAS,CAAC;EACvB,CAAC;EAEO,UAAU;IACd,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAEpD,OAAO,QAAQ,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;EAC3C,CAAC;EAEO,aAAa;IACjB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAErD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;MACnB,OAAO,MAAM,CAAC,WAAW,CAAC;KAC7B;IAED,IAAI,SAAS,EAAE;MACX,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;KACnC;IAED,OAAO,MAAM,CAAC,WAAW,CAAC;EAC9B,CAAC;EAEO,QAAQ;IACZ,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;IAC7B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAEtD,iDAAiD;IACjD,OAAO,KAAK,IAAI,WAAW,CAAC;EAChC,CAAC;EAED,MAAM;IACF,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAEnC,MAAM,SAAS,mBACX,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EACvC,IAAI,EAAE,IAAI,CAAC,UAAU,IAClB,MAAM,CACZ,CAAC;IAEF,OAAO,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE;MAC5C,IAAI,EAAE,IAAI;MACV,YAAY,kBACR,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,EAC3B,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,EACzB,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,IAChC,UAAU,CAChB;MACD,MAAM,EAAE,SAAS;KACpB,CAAC,CAAC;EACP,CAAC;EAEO,UAAU;;IACd,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAC3C,MAAM,OAAO,GAAsB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;IAE3D,OAAO,CACH,WAAW,CAAC,QAAQ;OACpB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAA;OACjB,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,KAAK,0CAAE,QAAQ,CAAA,CACtC,CAAC;EACN,CAAC;EAEO,UAAU;IACd,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAE3C,OAAO,WAAW,CAAC,QAAQ,CAAC;EAChC,CAAC;CACJ","sourcesContent":["import React from 'react';\nimport { WidgetProps } from '../widgets/types';\nimport { LimeElementsAdapter } from './base-adapter';\nimport { capitalize } from 'lodash-es';\nimport { LimeSchemaOptions } from '../form.types';\n\ninterface WidgetAdapterProps {\n name: string;\n value?: any;\n widgetProps: WidgetProps;\n extraProps?: any;\n events?: { [key: string]: (event: any) => void };\n}\n\n/**\n * A widget is a concept in react-jsonschema-form (rjsf).\n * It represents a HTML tag for the user to enter data, eg. input, select, etc.\n *\n * We use the widget adapter exclusively so we can use lime-elements instead of the\n * default input/select/checkbox/etc fields that rjsf provides.\n *\n * Please read the docs for more info.\n * Link: https://react-jsonschema-form.readthedocs.io/\n */\nexport class LimeElementsWidgetAdapter extends React.Component {\n state = {\n modified: false,\n };\n\n constructor(public props: WidgetAdapterProps) {\n super(props);\n\n this.handleBlur = this.handleBlur.bind(this);\n this.initState();\n }\n\n private initState() {\n if (this.hasValue()) {\n this.state.modified = true;\n }\n }\n\n private hasValue() {\n const value = this.getValue();\n if (!value) {\n return false;\n }\n\n if (Array.isArray(value)) {\n return !!value.length;\n }\n\n if (typeof value === 'object') {\n return !!Object.entries(value).length;\n }\n\n return true;\n }\n\n private handleBlur() {\n this.setState({ modified: true });\n }\n\n private getLabel() {\n const { schema, label } = this.props.widgetProps;\n\n return label || schema.title;\n }\n\n private isInvalid() {\n const { modified } = this.state;\n const { rawErrors } = this.props.widgetProps;\n\n if (!modified) {\n return false;\n }\n\n return !!rawErrors;\n }\n\n private isRequired() {\n const { required, schema } = this.props.widgetProps;\n\n return required || schema.minItems > 0;\n }\n\n private getHelperText() {\n const { rawErrors, schema } = this.props.widgetProps;\n\n if (!this.isInvalid()) {\n return schema.description;\n }\n\n if (rawErrors) {\n return capitalize(rawErrors[0]);\n }\n\n return schema.description;\n }\n\n private getValue() {\n const { value } = this.props;\n const { value: widgetValue } = this.props.widgetProps;\n\n // Use widgetValue unless its overriden in widget\n return value || widgetValue;\n }\n\n render() {\n const { name, events, extraProps } = this.props;\n const disabled = this.isDisabled();\n const value = this.getValue();\n const readonly = this.isReadOnly();\n\n const newEvents = {\n change: this.props.widgetProps.onChange,\n blur: this.handleBlur,\n ...events,\n };\n\n return React.createElement(LimeElementsAdapter, {\n name: name,\n elementProps: {\n value: value,\n label: this.getLabel(),\n disabled: disabled,\n readonly: readonly,\n required: this.isRequired(),\n invalid: this.isInvalid(),\n 'helper-text': this.getHelperText(),\n ...extraProps,\n },\n events: newEvents,\n });\n }\n\n private isDisabled() {\n const widgetProps = this.props.widgetProps;\n const options: LimeSchemaOptions = widgetProps.schema.lime;\n\n return (\n widgetProps.disabled ||\n options?.disabled ||\n options?.component?.props?.disabled\n );\n }\n\n private isReadOnly() {\n const widgetProps = this.props.widgetProps;\n\n return widgetProps.readonly;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-field.js","sourceRoot":"","sources":["../../../../src/components/form/fields/array-field.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,6CAA6C,CAAC;AACzE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK,CAAC,SAAqB;EACvD,YAAY,KAAK;IACb,KAAK,CAAC,KAAK,CAAC,CAAC;IACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACrD,CAAC;EAEO,YAAY,CAAC,OAAO,EAAE,WAAW;IACrC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;IACjD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAE3C,yEAAyE;IACzE,uCAAuC;IACvC,IAAI,CAAC,OAAO,EAAE;MACV,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;MAE1C,OAAO;KACV;IAED,gEAAgE;IAChE,8DAA8D;IAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE;MACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;MAE1C,OAAO;KACV;IAED,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAE9B,wDAAwD;IACxD,eAAe;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;MACrC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE;QAC3B,SAAS;OACZ;MAED,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC9B;IAED,6FAA6F;IAC7F,sEAAsE;IACtE,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;MACjC,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;MAChC,OAAO,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAC7B,OAAO,CAAC,CAAC,CAAC,EACV,OAAO,CAAC,CAAC,CAAC,EACV,MAAM,CAAC,KAAK,EACZ,UAAU,CACb,CAAC;KACL;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;EAC9C,CAAC;EAED,MAAM;IACF,MAAM,UAAU,mCACT,IAAI,CAAC,KAAK,KACb,QAAQ,EAAE,IAAI,CAAC,YAAY,GAC9B,CAAC;IAEF,OAAO,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;EAC3D,CAAC;CACJ","sourcesContent":["import JSONArrayField from '@rjsf/core/lib/components/fields/ArrayField';\nimport React from 'react';\nimport { ArrayProps } from './types';\nimport { resetDependentFields } from './field-helpers';\n\n/**\n * This override field exists to supplement the need to reset dependent fields\n * in SchemaField. The `resetDependentFields` function requires that the schema that\n * is passed to it be a raw schema with dependencies and all. However, when rendering list items\n * react jsonschema form calls `retrieveSchema` on the raw schema resulting in a schema for the current\n * data. This schema from `retrieveSchema` cannot be used to detect changes in a schema due to data changes\n * as the schema will not change when passed again into `retrieveSchema` with old and then new data.\n * So since the SchemaFields directly rendered by a list have a modified schema, they cannot properly reset\n * dependent fields by calling `resetDependentFields` due to the above limitations. To fix this, we do the\n * same resetting of dependent fields here in this component by detecting changed list items and calling\n * `resetDependentFields` on the changed list items. This is possible because the ArrayField is also given\n * the raw schema so it can properly call `resetDependentFields`\n *\n * This form has to handle several events that can affect the list:\n *\n * 1. An on change where no list item changes\n * Solution: Ignore all changes and just pass the event through\n *\n * 2. An on change where one list item is changed\n * Solution: Call `resetDependentFields` with the old list item and the new list item as old and new data\n *\n * 3. An on change event where the size of the list of items has changed due to adding or removing a list item\n * Solution: Ignore all changes and just pass the event through\n *\n * 4. An on change event where list items are swapped or scrambled due to list items being swapped or sorted\n * Solution: Ignore all changes and just pass the event through\n */\nexport class ArrayField extends React.Component<ArrayProps> {\n constructor(props) {\n super(props);\n this.handleChange = this.handleChange.bind(this);\n }\n\n private handleChange(newData, errorSchema) {\n const { formData: oldData, schema } = this.props;\n const { rootSchema } = this.props.registry;\n\n // This case handles when the first list item is added. When there are no\n // items we get undefined instead of []\n if (!oldData) {\n this.props.onChange(newData, errorSchema);\n\n return;\n }\n\n // This case happens when we add or remove an item from the list\n // No need to check for resetting fields unless we change data\n if (oldData.length !== newData.length) {\n this.props.onChange(newData, errorSchema);\n\n return;\n }\n\n const nonMatchingIndices = [];\n\n // Find all items in the new data list that do not match\n // the old data\n for (let i = 0; i < oldData.length; i++) {\n if (newData[i] === oldData[i]) {\n continue;\n }\n\n nonMatchingIndices.push(i);\n }\n\n // If we have one non matching index, then one item has been changed indicating that its data\n // has been changed so we check if it needs its dependent fields reset\n if (nonMatchingIndices.length === 1) {\n const i = nonMatchingIndices[0];\n newData[i] = resetDependentFields(\n oldData[i],\n newData[i],\n schema.items,\n rootSchema\n );\n }\n\n this.props.onChange(newData, errorSchema);\n }\n\n render() {\n const arrayProps = {\n ...this.props,\n onChange: this.handleChange,\n };\n\n return React.createElement(JSONArrayField, arrayProps);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-helpers.js","sourceRoot":"","sources":["../../../../src/components/form/fields/field-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE,IAAY,EAAE,EAAS,EAAE;EAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;EAEnD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;IACvB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;EACpC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;EACzE,0CAA0C;EAC1C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;IACzB,OAAO,OAAO,CAAC;GAClB;EAED,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE;IAC9B,OAAO,OAAO,CAAC;GAClB;EAED,+CAA+C;EAC/C,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;EAElE,yDAAyD;EACzD,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;EAE9D,8DAA8D;EAC9D,8EAA8E;EAC9E,sDAAsD;EACtD,MAAM,qBAAqB,GAAG,gBAAgB,CAC1C,SAAS,CAAC,UAAU,EACpB,aAAa,CAAC,UAAU,CAC3B,CAAC;EAEF,sDAAsD;EACtD,4DAA4D;EAC5D,uCAAuC;EACvC,KAAK,MAAM,oBAAoB,IAAI,qBAAqB,EAAE;IACtD,OAAO,OAAO,CAAC,oBAAoB,CAAC,CAAC;GACxC;EAED,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAW;EAC5C,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE;IAC9B,OAAO,KAAK,CAAC;GAChB;EAED,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,EAAE;IAC3B,OAAO,IAAI,CAAC;GACf;EAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;EAEpD,OAAO,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAW;EACrC,OAAO,MAAM,CAAC,wBAAwB,CAAC,KAAK,IAAI,CAAC;AACrD,CAAC","sourcesContent":["import { union, isEqual, isPlainObject, negate } from 'lodash-es';\nimport { retrieveSchema, ADDITIONAL_PROPERTY_FLAG } from '@rjsf/core/lib/utils';\n\n/**\n * Given two objects, get a list of keys for each value that is different between\n * the two objects. Compares using deep comparison\n * @param {object} a first object\n * @param {object} b second object\n * @returns {any[]} the array of keys\n */\nconst getDifferentKeys = (a: object = {}, b: object = {}): any[] => {\n const keys = union(Object.keys(a), Object.keys(b));\n\n return keys.filter((key) => {\n return !isEqual(b[key], a[key]);\n });\n};\n\n/**\n * Given the data for the current SchemaField, detect if the changed data\n * has any other fields that are dependent on it, and if so reset those dependent fields\n * (by deleting them from the data so that their defaults are populated on the next rerender).\n * Call onChange with the updated data\n * @param {any} oldData The previous data before a data change event\n * @param {any} newData The form data from a change event\n * @param {object} schema The schema associated with the data\n * @param {object} rootSchema The root schema\n * @returns {void}\n */\nexport const resetDependentFields = (oldData, newData, schema, rootSchema) => {\n // Dependencies only exist on object types\n if (!isPlainObject(newData)) {\n return newData;\n }\n\n if (isCustomObjectSchema(schema)) {\n return newData;\n }\n\n // Get the schema generated by the current data\n const currentSchema = retrieveSchema(schema, rootSchema, oldData);\n\n // Get the new schema that is calculated for the new data\n const newSchema = retrieveSchema(schema, rootSchema, newData);\n\n // Get property keys whose schema changed due to the new data.\n // These properties that have changed are the properties that are dependent on\n // data that has changed in the current onChange event\n const dependentPropertyKeys = getDifferentKeys(\n newSchema.properties,\n currentSchema.properties\n );\n\n // Reset keys that are dependent on the changed value.\n // The values for these dependent fields will be repopulated\n // with defaults during the next render\n for (const dependentPropertyKey of dependentPropertyKeys) {\n delete newData[dependentPropertyKey];\n }\n\n return newData;\n};\n\n/**\n * Check if the schema is of type object and have no declared properties\n * @param {any} schema the schema\n * @returns {boolean} true if the schema is for a custom object\n */\nexport function isCustomObjectSchema(schema: any) {\n if (!schema.additionalProperties) {\n return false;\n }\n\n if (!('properties' in schema)) {\n return true;\n }\n\n const properties = Object.values(schema.properties);\n\n return properties.filter(negate(isAdditionalProperty)).length === 0;\n}\n\nfunction isAdditionalProperty(schema: any): boolean {\n return schema[ADDITIONAL_PROPERTY_FLAG] === true;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-field.js","sourceRoot":"","sources":["../../../../src/components/form/fields/object-field.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,8CAA8C,CAAC;AAC3E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,OAAO,WAAY,SAAQ,KAAK,CAAC,SAA0B;EAC7D,YAAY,KAAK;IACb,KAAK,CAAC,KAAK,CAAC,CAAC;IAOT,qBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE;MACzC,IAAI,CAAC,QAAQ,CAAC;QACV,KAAK,EAAE,KAAK;OACf,CAAC,CAAC;IACP,CAAC,CAAC;IATE,IAAI,CAAC,KAAK,GAAG;MACT,KAAK,EAAE,IAAI;KACd,CAAC;EACN,CAAC;EAQD,MAAM;IACF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;MAC1C,OAAO,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3D;IAED,OAAO,KAAK,CAAC,aAAa,CACtB,KAAK,CAAC,QAAQ,EACd,EAAE,EACF,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACpC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAChD,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,gCACzB,IAAI,CAAC,KAAK,KACb,UAAU,EAAE,IAAI,CAAC,gBAAgB,GAC7B,CAAC,EACT,IAAI,CAAC,YAAY,EAAE,CACtB,CAAC;EACN,CAAC;EAEO,YAAY;IAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;MACnB,OAAO;KACV;IAED,OAAO,KAAK,CAAC,aAAa,CACtB,KAAK,EACL;MACI,IAAI,EAAE,OAAO;MACb,SAAS,EAAE,YAAY;KAC1B,EACD,IAAI,CAAC,KAAK,CAAC,KAAK,CACnB,CAAC;EACN,CAAC;CACJ","sourcesContent":["import JSONObjectField from '@rjsf/core/lib/components/fields/ObjectField';\nimport React from 'react';\nimport { FieldProps } from '@rjsf/core';\nimport { CodeEditor } from '../widgets/code-editor';\nimport { renderDescription, renderTitle } from '../templates/common';\nimport { isCustomObjectSchema } from './field-helpers';\n\nexport class ObjectField extends React.Component<FieldProps, any> {\n constructor(props) {\n super(props);\n\n this.state = {\n error: null,\n };\n }\n\n private handleValidation = (error: string) => {\n this.setState({\n error: error,\n });\n };\n\n render() {\n if (!isCustomObjectSchema(this.props.schema)) {\n return React.createElement(JSONObjectField, this.props);\n }\n\n return React.createElement(\n React.Fragment,\n {},\n renderTitle(this.props.schema.title),\n renderDescription(this.props.schema.description),\n React.createElement(CodeEditor, {\n ...this.props,\n onValidate: this.handleValidation,\n } as any),\n this.renderErrors()\n );\n }\n\n private renderErrors() {\n if (!this.state.error) {\n return;\n }\n\n return React.createElement(\n 'div',\n {\n role: 'alert',\n className: 'form-error',\n },\n this.state.error\n );\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-field.js","sourceRoot":"","sources":["../../../../src/components/form/fields/schema-field.ts"],"names":[],"mappings":"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","sourcesContent":["import { LimeElementsAdapter } from '../adapters';\nimport JSONSchemaField from '@rjsf/core/lib/components/fields/SchemaField';\nimport React from 'react';\nimport { FieldProps } from './types';\nimport { isEmpty, capitalize } from 'lodash-es';\nimport { resetDependentFields } from './field-helpers';\nimport { FieldTemplate } from '../templates';\n\n/**\n * If given a value and schema, check if the value should be translated\n * from null to undefined to avoid issues with validation\n *\n * This function needs to be used for several reasons:\n * 1. CustomEvent does not allow `detail` to equal `undefined`, but we can call onChange with `undefined` in React\n * 2. `null` is treated as a valid value in a jsonschema and with marshmallow and it has its own type (null)\n * 3. Without changing `null` to `undefined` there would be no way to remove a field from\n * from the submitted form data once it had any data. (when POSTing, undefined is not posted since its not valid json)\n * 4. The only applies to custom web components since widgets handle transforming null/'' to undefined depending on the widget\n * and its purpose.\n *\n * Example:\n * If I have an object { name?: string, email?: string } that I am using a custom web component for `name`,\n * then initially, the formData will be {} which is fine because neither name or email are required. Then if i input a\n * value for name the formData will be { name: 'some_value' } which is also fine. But then if I want to remove name\n * from the form data I would delete all the text from the name input field. Web components would emit this empty value\n * as '' or null. If the web component tries to emit `undefined`, null would be emitted instead because CustomEvent has\n * a default `detail` value of null\n * @param {any} value the value associated with the schema\n * @param {any} schema the schema for the value\n * @returns {boolean} whether or not null should be changed to undefined\n */\nconst shouldChangeToUndefined = (value, schema): boolean => {\n return value === null && !schema.type.includes('null');\n};\n\nconst hasCustomComponent = (schema): boolean => {\n return Boolean(schema.lime?.component?.name);\n};\n\nconst verifyCustomComponentIsDefined = (elementName): void => {\n const supportsCustomElements = 'customElements' in window;\n\n if (!supportsCustomElements) {\n throw new Error(\n 'Custom form elements are not supported by this browser!'\n );\n }\n\n if (!customElements.get(elementName)) {\n throw new Error(`Custom form element '${elementName}' is not defined!`);\n }\n};\n\nconst getCustomComponent = (\n schema\n): { name: string; props: { [key: string]: any } } => {\n const name = schema.lime?.component?.name;\n const props = schema.lime?.component?.props || {};\n\n return { name: name, props: props };\n};\n\n/**\n * Create properties from the factory that is set on `limel-form`\n * @param {*} formContext the form context\n * @param {*} schema the schema for the current field\n * @returns {object} the properties created by the factory\n */\nexport function getFactoryProps(\n formContext: any,\n schema: any\n): Record<string, any> {\n const factory: (schema: any) => Record<string, any> =\n formContext.propsFactory;\n if (typeof factory !== 'function') {\n return {};\n }\n\n const props = factory(schema);\n if (!props) {\n return {};\n }\n\n return props;\n}\n\nexport class SchemaField extends React.Component<FieldProps> {\n state = {\n modified: false,\n };\n\n constructor(props) {\n super(props);\n this.handleChange = this.handleChange.bind(this);\n this.handleCustomComponentChange =\n this.handleCustomComponentChange.bind(this);\n this.initState();\n }\n\n private initState() {\n if (this.hasValue()) {\n this.state.modified = true;\n }\n }\n\n private hasValue() {\n const value = this.getValue();\n if (!value) {\n return false;\n }\n\n if (Array.isArray(value)) {\n return !!value.length;\n }\n\n if (typeof value === 'object') {\n return !isEmpty(value);\n }\n\n return true;\n }\n\n private getLabel() {\n const { schema } = this.props;\n\n return schema.title;\n }\n\n private isInvalid() {\n const { modified } = this.state;\n const { errorSchema } = this.props;\n\n if (!modified) {\n return false;\n }\n\n return !isEmpty(errorSchema);\n }\n\n private isRequired() {\n const { required, schema } = this.props;\n\n return required || schema.minItems > 0;\n }\n\n private getHelperText() {\n const { errorSchema, schema } = this.props;\n\n if (!this.isInvalid()) {\n const helperText = schema.lime?.component?.props?.helperText;\n\n return helperText || schema.description;\n }\n\n if (!isEmpty(errorSchema) && '__errors' in errorSchema) {\n return capitalize(errorSchema.__errors[0]); // eslint-disable-line no-underscore-dangle\n }\n\n return schema.description;\n }\n\n private getValue() {\n const { formData } = this.props;\n\n return formData;\n }\n\n private handleCustomComponentChange(event) {\n const { schema } = this.props;\n event.stopPropagation();\n\n let value = event.detail;\n\n if (shouldChangeToUndefined(value, schema)) {\n value = undefined;\n }\n\n this.handleChange(value);\n }\n\n private handleChange(data) {\n const { formData, schema } = this.props;\n const { rootSchema } = this.props.registry;\n\n this.setState({ modified: true });\n\n const newData = resetDependentFields(\n formData,\n data,\n schema,\n rootSchema\n );\n\n this.props.onChange(newData);\n }\n\n private buildCustomComponentProps() {\n const {\n disabled,\n readonly,\n name,\n registry,\n schema,\n errorSchema,\n idSchema,\n } = this.props;\n const factoryProps = getFactoryProps(registry.formContext, schema);\n\n return {\n ...factoryProps,\n value: this.getValue(),\n required: this.isRequired(),\n readonly: readonly || schema.readOnly,\n disabled: disabled,\n invalid: this.isInvalid(),\n label: this.getLabel(),\n helperText: this.getHelperText(),\n formInfo: {\n schema: schema,\n rootSchema: registry.formContext.schema,\n errorSchema: errorSchema,\n rootValue: registry.formContext.rootValue,\n name: name,\n schemaPath: this.getSchemaPath(idSchema?.$id),\n },\n };\n }\n\n private renderCustomComponent(props: FieldProps) {\n const { name, props: userDefinedComponentProps } = getCustomComponent(\n props.schema\n );\n\n verifyCustomComponentIsDefined(name);\n\n const component = React.createElement(LimeElementsAdapter, {\n name: name,\n elementProps: {\n ...userDefinedComponentProps,\n ...this.buildCustomComponentProps(),\n },\n events: {\n change: this.handleCustomComponentChange,\n },\n });\n\n return React.createElement(\n FieldTemplate,\n {\n ...this.props,\n classNames: 'form-group field field-custom',\n },\n component\n );\n }\n\n render() {\n if (hasCustomComponent(this.props.schema)) {\n return this.renderCustomComponent(this.props);\n }\n\n const fieldProps = {\n ...this.props,\n onChange: this.handleChange,\n };\n\n return React.createElement(JSONSchemaField, fieldProps);\n }\n\n /**\n * Gets the path to the current property within the schema\n * @param {string} schemaId the id of the schema\n * @returns {string[]} an array with the schema path for the current property\n * @example\n * const schemaId = 'root_sections_0_controls_0_name';\n * const schemaPath = getSchemaPath(schemaId);\n * // => ['sections', '0', 'controls', '0', 'name']\n */\n private getSchemaPath(schemaId: string): string[] {\n if (schemaId === undefined) {\n return undefined;\n }\n\n return schemaId.replace('root_', '').split('_');\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/form/fields/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface FieldProps {\n readonly: boolean;\n title?: string;\n disabled: boolean;\n required: boolean;\n name: string;\n schema: any;\n uiSchema: any;\n idSchema: any;\n formData: any;\n errorSchema: any;\n registry: Registry;\n formContext: any;\n onChange: (formData: any) => void;\n}\n\nexport interface ArrayProps {\n disabled: boolean;\n errorSchema: any;\n formContext: any;\n formData: any;\n idPrefix: any;\n idSchema: any;\n name: string;\n rawErrors: any;\n readonly: boolean;\n registry: any;\n required: boolean;\n schema: any;\n uiSchema: any;\n wasPropertyKeyModified: boolean;\n onChange: (formData: any, errorSchema: any) => void;\n}\n\nexport interface Registry {\n fields: any;\n widgets: any;\n rootSchema: any;\n formContext: any;\n definitions: any;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.js","sourceRoot":"","sources":["../../../src/components/form/form.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n Watch,\n} from '@stencil/core';\nimport React from 'react';\nimport { render, unmountComponentAtNode } from 'react-dom';\nimport JSONSchemaForm, { AjvError } from '@rjsf/core';\nimport retargetEvents from 'react-shadow-dom-retarget-events';\nimport { FormError, ValidationError, ValidationStatus } from './form.types';\nimport {\n ArrayFieldTemplate,\n FieldTemplate,\n ObjectFieldTemplate,\n} from './templates';\nimport { SchemaField as CustomSchemaField } from './fields/schema-field';\nimport { ArrayField as CustomArrayField } from './fields/array-field';\nimport { ObjectField as CustomObjectField } from './fields/object-field';\nimport { widgets } from './widgets';\nimport { createRandomString } from '../../util/random-string';\nimport Ajv, { RequiredParams } from 'ajv';\nimport { isInteger } from './validators';\nimport { mapValues } from 'lodash-es';\n\n/**\n * @exampleComponent limel-example-form\n * @exampleComponent limel-example-nested-form\n * @exampleComponent limel-example-list-form\n * @exampleComponent limel-example-dynamic-form\n * @exampleComponent limel-example-custom-component-form\n * @exampleComponent limel-example-props-factory-form\n * @exampleComponent limel-example-form-layout\n * @exampleComponent limel-example-form-span-fields\n * @exampleComponent limel-example-custom-error-message\n * @exampleComponent limel-example-server-errors\n * @exampleComponent limel-example-form-row-layout\n */\n@Component({\n tag: 'limel-form',\n shadow: true,\n styleUrl: 'form.scss',\n})\nexport class Form {\n /**\n * The schema used to render the form\n */\n @Prop()\n public schema: {\n id?: string;\n [key: string]: any;\n } = {};\n\n /**\n * Value of the form\n */\n @Prop()\n public value: object;\n\n /**\n * Set to `true` to disable the whole form.\n */\n @Prop()\n public disabled = false;\n\n /**\n * Factory for creating properties for custom form components\n *\n * When using custom components in the form some properties might have to be\n * set dynamically. If this factory is set, it will be called with the\n * current schema for the field for each custom component in the form. The\n * factory must return an object where each key is the name of the property\n * that should be set, along with its value.\n */\n @Prop()\n public propsFactory?: (schema: Record<string, any>) => Record<string, any>;\n\n /**\n * Custom function to customize the default error messages\n */\n @Prop()\n public transformErrors?: (errors: FormError[]) => FormError[];\n\n /**\n * Extra errors to display in the form. Typical use case is asynchronous\n * errors generated server side.\n */\n @Prop()\n public errors: ValidationError;\n\n /**\n * Emitted when a change is made within the form\n */\n @Event()\n public change: EventEmitter<object>;\n\n /**\n * Emitted when the validity of the form changes, or when\n * a change is made to an invalid form\n */\n @Event()\n public validate: EventEmitter<ValidationStatus>;\n\n @Element()\n private host: HTMLLimelFormElement;\n\n private isValid = true;\n private modifiedSchema: object;\n private validator: Ajv.ValidateFunction;\n\n public constructor() {\n this.handleChange = this.handleChange.bind(this);\n this.getCustomErrorMessages = this.getCustomErrorMessages.bind(this);\n }\n\n public connectedCallback() {\n this.initialize();\n }\n\n public componentWillLoad() {\n this.setSchemaId();\n this.createValidator();\n }\n\n public componentDidLoad() {\n this.initialize();\n }\n\n private initialize() {\n if (!this.host.shadowRoot.querySelector('.root')) {\n return;\n }\n\n this.reactRender();\n retargetEvents(this.host.shadowRoot);\n this.validateForm(this.value);\n }\n\n public componentDidUpdate() {\n this.reactRender();\n this.validateForm(this.value);\n }\n\n public disconnectedCallback() {\n const rootElement = this.host.shadowRoot.querySelector('.root');\n if (rootElement) {\n unmountComponentAtNode(rootElement);\n }\n }\n\n public render() {\n return <div class=\"root\" />;\n }\n\n private reactRender() {\n const rootElement = this.host.shadowRoot.querySelector('.root');\n\n render(\n React.createElement(\n JSONSchemaForm,\n {\n schema: this.modifiedSchema,\n formData: this.value,\n onChange: this.handleChange,\n widgets: widgets,\n liveValidate: true,\n showErrorList: false,\n extraErrors: this.getExtraErrors(this.errors),\n FieldTemplate: FieldTemplate,\n ArrayFieldTemplate: ArrayFieldTemplate as any,\n ObjectFieldTemplate: ObjectFieldTemplate,\n disabled: this.disabled,\n transformErrors: this.getCustomErrorMessages,\n formContext: {\n schema: this.modifiedSchema,\n rootValue: this.value,\n propsFactory: this.propsFactory,\n },\n fields: {\n SchemaField: CustomSchemaField as any,\n ArrayField: CustomArrayField as any,\n ObjectField: CustomObjectField as any,\n },\n },\n []\n ),\n rootElement\n );\n }\n\n private handleChange(event: any) {\n this.change.emit(event.formData);\n }\n\n private validateForm(value: object) {\n const isValid = this.validator(value) === true;\n const errors: FormError[] = this.getValidationErrors();\n const status: ValidationStatus = {\n valid: isValid,\n errors: errors,\n };\n\n if (this.isValid !== status.valid || !status.valid) {\n this.validate.emit(status);\n }\n\n this.isValid = status.valid;\n }\n\n @Watch('schema')\n public setSchema() {\n this.setSchemaId();\n this.createValidator();\n }\n\n private setSchemaId() {\n // Due to a bug in react-jsonschema-form, validation will stop working if the schema is updated.\n // A workaround at the moment is to always give it a unique ID\n // https://github.com/rjsf-team/react-jsonschema-form/issues/1563\n const id = `${this.schema.$id}-${createRandomString()}`;\n this.modifiedSchema = {\n ...this.schema,\n id: id,\n $id: id,\n };\n }\n\n private createValidator() {\n const validator = new Ajv({\n unknownFormats: 'ignore',\n allErrors: true,\n multipleOfPrecision: 2,\n }).addFormat('integer', isInteger);\n this.validator = validator.compile(this.schema);\n }\n\n private getValidationErrors(): FormError[] {\n const errors = this.validator.errors || [];\n\n return errors.map((error: Ajv.ErrorObject): FormError => {\n let property = error.dataPath;\n if (error.keyword === 'required') {\n property = (error.params as RequiredParams).missingProperty;\n }\n\n return {\n name: error.keyword,\n property: property,\n message: error.message,\n schemaPath: error.schemaPath,\n };\n });\n }\n\n private getExtraErrors(errors: ValidationError): ExtraError | undefined {\n if (!errors) {\n return;\n }\n\n return mapValues(errors, (error) => {\n if (Array.isArray(error)) {\n return { __errors: error };\n }\n\n return this.getExtraErrors(error);\n });\n }\n\n private getCustomErrorMessages(originalErrors: AjvError[]): AjvError[] {\n if (!this.transformErrors) {\n return originalErrors;\n }\n\n const errors: FormError[] = originalErrors.map((error: AjvError) => {\n return {\n name: error.name,\n params: error.params,\n property: error.property,\n message: error.message,\n // For some reason 'schemaPath' is missing from the AjvError type definition:\n // https://github.com/rjsf-team/react-jsonschema-form/issues/2140\n // eslint-disable-next-line @typescript-eslint/dot-notation\n schemaPath: error['schemaPath'],\n };\n });\n\n // Use `.call({}, …)` here to bind `this` to an empty object to prevent\n // the consumer submitted `transformErrors` from getting access to our\n // component's internals. /Ads\n return this.transformErrors\n .call({}, errors)\n .map((transformedError: FormError) => {\n const originalError = originalErrors.find((error: AjvError) => {\n return transformedError.property === error.property;\n });\n\n return {\n ...originalError,\n message: transformedError.message,\n };\n });\n }\n}\n\ninterface ExtraError {\n [key: string]:\n | ExtraError\n | {\n __errors: string[];\n };\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.types.js","sourceRoot":"","sources":["../../../src/components/form/form.types.ts"],"names":[],"mappings":"AAsOA,MAAM,CAAN,IAAY,cAmBX;AAnBD,WAAY,cAAc;EACtB;;KAEG;EACH,qCAAmB,CAAA;EAEnB;;KAEG;EACH,+BAAa,CAAA;EAEb;;;;;;KAMG;EACH,6BAAW,CAAA;AACf,CAAC,EAnBW,cAAc,KAAd,cAAc,QAmBzB","sourcesContent":["import { EventEmitter } from '@stencil/core';\n\nexport interface ValidationStatus {\n /**\n * True if the form is valid, false otherwise\n *\n * If the form is invalid, any errors can be found on the `errors` property\n */\n valid: boolean;\n\n /**\n * List of validation errors\n */\n errors?: FormError[];\n}\n\nexport interface FormError {\n /**\n * Name of the error\n */\n name: string;\n\n /**\n * Params of the error\n */\n params?: unknown;\n\n /**\n * Name of the invalid property\n */\n property: string;\n\n /**\n * Path to the property within the schema\n */\n schemaPath: string;\n\n /**\n * String describing the error\n */\n message: string;\n}\n\nexport type ValidationError = {\n /**\n * Name of the field the error belongs to\n */\n [key: string]: string[] | ValidationError;\n};\n\nexport interface FormComponent<T = any> {\n /**\n * The value of the current property\n */\n value: T;\n\n /**\n * Whether or not the current property is required\n */\n required?: boolean;\n\n /**\n * Whether or not the current property is readonly\n */\n readonly?: boolean;\n\n /**\n * Whether or not the current property is disabled\n */\n disabled?: boolean;\n\n /**\n * The label of the current property\n */\n label?: string;\n\n /**\n * The helper text for the current property\n */\n helperText?: string;\n\n /**\n * Additional contextual information about the form\n */\n formInfo?: FormInfo;\n\n /**\n * The event to emit when the value of the current property has changed\n */\n change: EventEmitter<T>;\n}\n\nexport interface FormInfo {\n /**\n * The schema of the current property\n */\n schema?: object;\n\n /**\n * The schema of the whole form\n */\n rootSchema?: object;\n\n /**\n * A tree of errors for this property and its children\n */\n errorSchema?: object;\n\n /**\n * The value of the whole form\n */\n rootValue?: any;\n\n /**\n * The name of the current property\n */\n name?: string;\n\n /**\n * Path to the property within the schema\n */\n schemaPath?: string[];\n}\n\n/**\n * Lime elements specific options that can be specified under the `lime` key in\n * a schema, e.g.\n *\n * ```ts\n * const schema = {\n * type: 'object',\n * lime: {\n * collapsible: true,\n * },\n * };\n * ```\n */\nexport interface LimeSchemaOptions {\n /**\n * When specified on an object it will render all sub components inside a\n * collapsible section\n */\n collapsible?: boolean;\n\n /**\n * When `collapsible` is `true`, set this to `false` to make the\n * collapsible section load in the open state.\n * Defaults to `true`.\n */\n collapsed?: boolean;\n\n /**\n * Will render the field using the specified component. The component\n * should implement the `FormComponent` interface\n */\n component?: FormComponentOptions;\n\n /**\n * When specified on an object it will render the sub components with the\n * specified layout\n */\n layout?: FormLayoutOptions<any>;\n\n /**\n * Mark the field as disabled\n */\n disabled?: boolean;\n}\n\n/**\n * Options for a component to be rendered inside a form\n */\nexport interface FormComponentOptions {\n /**\n * Name of the component\n */\n name?: string;\n\n /**\n * Extra properties to give the component in addition to the properties\n * specified on the `FormComponent` interface\n */\n props?: Record<string, any>;\n}\n\nexport interface FormLayoutOptions<T = FormLayoutType.Default> {\n /**\n * The type of layout to use\n */\n type: T;\n}\n\nexport interface GridLayoutOptions\n extends FormLayoutOptions<FormLayoutType.Grid> {\n /**\n * When specified on a component within the grid, the component will take\n * up the the specified number of columns in the form\n */\n // eslint-disable-next-line no-magic-numbers\n colSpan?: 1 | 2 | 3 | 4 | 5 | 'all';\n\n /**\n * When specified on a component within the grid, the component will take\n * up the the specified number of rows in the form\n */\n rowSpan?: number;\n\n /**\n * Number of columns to use in the layout\n */\n // eslint-disable-next-line no-magic-numbers\n columns?: 1 | 2 | 3 | 4 | 5;\n\n /**\n * Attempts to fill in holes earlier in the grid, if smaller items come up\n * later. This may cause items to appear out-of-order, when doing so would\n * fill holes left by larger items. Defaults to `true`.\n */\n dense?: boolean;\n}\n\nexport interface RowLayoutOptions\n extends FormLayoutOptions<FormLayoutType.Row> {\n /**\n * When specified on a field, the chosen icon will be displayed\n * on the left side of the row, beside the title.\n */\n icon?: string;\n}\n\nexport enum FormLayoutType {\n /**\n * The default layout\n */\n Default = 'default',\n\n /**\n * Render the form fields using a responsive grid layout\n */\n Grid = 'grid',\n\n /**\n * Render the form fields in full-width rows.\n * Each row can have a leading `icon`, and a field.\n * `title` and `description` provided by the schema will be placed\n * on the row itself, and not on the field.\n * This layout is good for creating UIs for user settings pages.\n */\n Row = 'row',\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.types.js","sourceRoot":"","sources":["../../../src/components/form/internal.types.ts"],"names":[],"mappings":"","sourcesContent":["import { JSONSchema7 } from 'json-schema';\nimport { LimeSchemaOptions } from './form.types';\n\nexport interface LimeJSONSchema extends JSONSchema7 {\n lime?: LimeSchemaOptions;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row.js","sourceRoot":"","sources":["../../../../src/components/form/row/row.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,OAAO,GAAI,SAAQ,KAAK,CAAC,SAAmB;EAC9C,YAAmB,KAAe;IAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;IADE,UAAK,GAAL,KAAK,CAAU;EAElC,CAAC;EAEM,MAAM;IACT,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,IAAI,CAAC,IAAI,EAAE;MACX,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC5B;IAED,OAAO,KAAK,CAAC,aAAa,CACtB,KAAK,EACL;MACI,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;KAC/B,EACD,IAAI,CAAC,qBAAqB,EAAE,EAC5B,IAAI,CAAC,iBAAiB,EAAE,CAC3B,CAAC;EACN,CAAC;EAEO,UAAU;IACd,IAAI,IAAI,CAAC,IAAI,EAAE;MACX,OAAO,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE;QACrC,IAAI,EAAE,IAAI,CAAC,IAAI;OAClB,CAAC,CAAC;KACN;EACL,CAAC;EAEO,qBAAqB;IACzB,OAAO,KAAK,CAAC,aAAa,CACtB,KAAK,EACL,EAAE,SAAS,EAAE,kBAAkB,EAAE,EACjC,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,cAAc,EAAE,CACxB,CAAC;EACN,CAAC;EACO,WAAW;;IACf,OAAO,KAAK,CAAC,aAAa,CACtB,IAAI,EACJ,EAAE,SAAS,EAAE,OAAO,EAAE,EACtB,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,CACrB,CAAC;EACN,CAAC;EAEO,iBAAiB;;IACrB,IAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,WAAW,EAAE;MAC1B,OAAO,KAAK,CAAC,aAAa,CACtB,GAAG,EACH,EAAE,SAAS,EAAE,aAAa,EAAE,EAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAC1B,CAAC;KACL;EACL,CAAC;EAEO,cAAc;IAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAErC,uCACO,QAAQ,KACX,KAAK,kCACE,QAAQ,CAAC,KAAK,KACjB,MAAM,kCACC,QAAQ,CAAC,KAAK,CAAC,MAAM,KACxB,KAAK,EAAE,IAAI,EACX,WAAW,EAAE,IAAI,UAG3B;EACN,CAAC;EAED,IAAY,MAAM;IACd,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;EAC5C,CAAC;EAED,IAAY,IAAI;;IACZ,OAAO,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,0CAAE,MAAM,0CAAE,IAAI,CAAC;EAC3C,CAAC;CACJ","sourcesContent":["import React from 'react';\nimport { RowProps } from '../templates/types';\n\nexport class Row extends React.Component<RowProps> {\n constructor(public props: RowProps) {\n super(props);\n }\n\n public render() {\n const classes = ['row'];\n if (this.icon) {\n classes.push('has-icon');\n }\n\n return React.createElement(\n 'div',\n {\n className: classes.join(' '),\n },\n this.renderMainInformation(),\n this.renderDescription()\n );\n }\n\n private renderIcon() {\n if (this.icon) {\n return React.createElement('limel-icon', {\n name: this.icon,\n });\n }\n }\n\n private renderMainInformation() {\n return React.createElement(\n 'div',\n { className: 'main-information' },\n this.renderIcon(),\n this.renderTitle(),\n this.renderChildren()\n );\n }\n private renderTitle() {\n return React.createElement(\n 'h1',\n { className: 'title' },\n this.schema?.title\n );\n }\n\n private renderDescription() {\n if (this.schema?.description) {\n return React.createElement(\n 'p',\n { className: 'description' },\n this.schema.description\n );\n }\n }\n\n private renderChildren() {\n const children = this.props.children;\n\n return {\n ...children,\n props: {\n ...children.props,\n schema: {\n ...children.props.schema,\n title: null,\n description: null,\n },\n },\n };\n }\n\n private get schema() {\n return this.props.children.props.schema;\n }\n\n private get icon() {\n return this.schema?.lime?.layout?.icon;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/components/form/schema.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,SAAc,EAAE;EACzC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAW;EACnC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAW;EACpC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAW;EACpC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAW;EACrC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,MAAM,CAAC,KAAwB,EAAE,IAAY;EAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;IACtB,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;GAC/B;EAED,OAAO,KAAK,KAAK,IAAI,CAAC;AAC1B,CAAC","sourcesContent":["export function isObjectType(schema: any = {}) {\n return isType(schema.type, 'object');\n}\n\nexport function isArrayType(schema: any) {\n return isType(schema.type, 'array');\n}\n\nexport function isStringType(schema: any) {\n return isType(schema.type, 'string');\n}\n\nexport function isNumberType(schema: any) {\n return isType(schema.type, 'number');\n}\n\nexport function isIntegerType(schema: any) {\n return isType(schema.type, 'integer');\n}\n\nfunction isType(input: string | string[], type: string) {\n if (Array.isArray(input)) {\n return input.includes(type);\n }\n\n return input === type;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-field-collapsible-item.js","sourceRoot":"","sources":["../../../../src/components/form/templates/array-field-collapsible-item.ts"],"names":[],"mappings":"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","sourcesContent":["import { Action } from '@limetech/lime-elements';\nimport React from 'react';\nimport { findTitle } from './common';\nimport { ArrayFieldItem, Runnable } from './types';\nimport { isEmpty } from 'lodash-es';\n\ninterface CollapsibleItemProps {\n /**\n * Data from reach-jsonschema-form\n */\n item: ArrayFieldItem;\n\n /**\n * The index of the field in the array\n */\n index: number;\n\n /**\n * The value of the field\n */\n data: any;\n\n /**\n * Schema for the field\n */\n schema: any;\n\n /**\n * Schema for the entire form\n */\n formSchema: any;\n}\n\nexport class CollapsibleItemTemplate extends React.Component {\n public refs: { section: any };\n private isOpen: boolean;\n\n constructor(public props: CollapsibleItemProps) {\n super(props);\n this.handleAction = this.handleAction.bind(this);\n this.isDeepEmpty = this.isDeepEmpty.bind(this);\n\n this.isOpen = this.isDeepEmpty(props.data);\n }\n\n public componentDidMount() {\n const section: HTMLLimelCollapsibleSectionElement = this.refs.section;\n section.addEventListener('action', this.handleAction);\n\n this.setActions(section);\n }\n\n public componentDidUpdate() {\n const section: HTMLLimelCollapsibleSectionElement = this.refs.section;\n this.setActions(section);\n }\n\n public componentWillUnmount() {\n const section: HTMLLimelCollapsibleSectionElement = this.refs.section;\n section.removeEventListener('action', this.handleAction);\n }\n\n public render() {\n const { data, schema, formSchema } = this.props;\n\n return React.createElement(\n 'limel-collapsible-section',\n {\n header: findTitle(data, schema, formSchema) || 'New item',\n class: 'limel-form-array-item--object',\n ref: 'section',\n 'is-open': this.isOpen,\n },\n this.props.item.children\n );\n }\n\n private setActions(element: HTMLLimelCollapsibleSectionElement) {\n const { item, index } = this.props;\n const actions: Array<Action & Runnable> = [\n {\n id: 'down',\n icon: 'down_arrow',\n disabled: !item.hasMoveDown,\n run: item.onReorderClick(index, index + 1),\n },\n {\n id: 'up',\n icon: 'up_arrow',\n disabled: !item.hasMoveUp,\n run: item.onReorderClick(index, index - 1),\n },\n {\n id: 'remove',\n icon: 'trash',\n disabled: !item.hasRemove,\n run: item.onDropIndexClick(index),\n },\n ];\n\n element.actions = actions;\n }\n\n private handleAction(event: CustomEvent<Action & Runnable>) {\n event.stopPropagation();\n event.detail.run(event);\n }\n\n private isDeepEmpty(data) {\n if (typeof data !== 'object') {\n return false;\n }\n\n if (isEmpty(data)) {\n return true;\n }\n\n return Object.values(data).every(this.isDeepEmpty);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-field-simple-item.js","sourceRoot":"","sources":["../../../../src/components/form/templates/array-field-simple-item.ts"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { ArrayFieldItem } from './types';\n\ninterface SimpleItemProps {\n item: ArrayFieldItem;\n index: number;\n}\n\nconst LIMEL_ICON_BUTTON = 'limel-icon-button';\n\nexport class SimpleItemTemplate extends React.Component {\n public refs: { removeButton: any; moveUpButton: any; moveDownButton: any };\n\n constructor(public props: SimpleItemProps) {\n super(props);\n }\n\n private removeHandler: (event: any) => void;\n private moveUpHandler: (event: any) => void;\n private moveDownHandler: (event: any) => void;\n\n public componentDidMount() {\n const { item, index } = this.props;\n const removeButton: HTMLLimelButtonElement = this.refs.removeButton;\n this.removeHandler = item.onDropIndexClick(index);\n removeButton.addEventListener('click', this.removeHandler);\n\n const upButton: HTMLLimelButtonElement = this.refs.moveUpButton;\n this.moveUpHandler = item.onReorderClick(index, index - 1);\n upButton.addEventListener('click', this.moveUpHandler);\n\n const downButton: HTMLLimelButtonElement = this.refs.moveDownButton;\n this.moveDownHandler = item.onReorderClick(index, index + 1);\n downButton.addEventListener('click', this.moveDownHandler);\n }\n\n public componentWillUnmount() {\n const removeButton: HTMLLimelButtonElement = this.refs.removeButton;\n removeButton.removeEventListener('click', this.removeHandler);\n\n const upButton: HTMLLimelButtonElement = this.refs.moveUpButton;\n upButton.removeEventListener('click', this.moveUpHandler);\n\n const downButton: HTMLLimelButtonElement = this.refs.moveDownButton;\n downButton.removeEventListener('click', this.moveDownHandler);\n }\n\n public render() {\n const { item } = this.props;\n\n return React.createElement(\n 'div',\n {\n className: 'limel-form-array-item--simple',\n },\n this.props.item.children,\n this.renderRemoveButton(item),\n this.renderMoveUpButton(item),\n this.renderMoveDownButton(item)\n );\n }\n\n private renderRemoveButton(item: ArrayFieldItem) {\n const props: any = {\n icon: 'trash',\n ref: 'removeButton',\n };\n if (!item.hasRemove) {\n props.disabled = true;\n }\n\n return React.createElement(LIMEL_ICON_BUTTON, props);\n }\n\n private renderMoveUpButton(item: ArrayFieldItem) {\n const props: any = {\n icon: 'up_arrow',\n ref: 'moveUpButton',\n };\n if (!item.hasMoveUp) {\n props.disabled = true;\n }\n\n return React.createElement(LIMEL_ICON_BUTTON, props);\n }\n\n private renderMoveDownButton(item: ArrayFieldItem) {\n const props: any = {\n icon: 'down_arrow',\n ref: 'moveDownButton',\n };\n if (!item.hasMoveDown) {\n props.disabled = true;\n }\n\n return React.createElement(LIMEL_ICON_BUTTON, props);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-field.js","sourceRoot":"","sources":["../../../../src/components/form/templates/array-field.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG1D,MAAM,OAAO,kBAAmB,SAAQ,KAAK,CAAC,SAAS;EACnD,YAAmB,KAA8B;IAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;IADE,UAAK,GAAL,KAAK,CAAyB;IAE7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACzD,CAAC;EAEM,MAAM;IACT,OAAO,KAAK,CAAC,aAAa,CACtB,KAAK,EACL,EAAE,EACF,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAC7B,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAChD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EACrC,IAAI,CAAC,eAAe,EAAE,CACzB,CAAC;EACN,CAAC;EAEO,eAAe;IACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;MACpB,OAAO;KACV;IAED,OAAO,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE;MACvC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK;MAChC,OAAO,EAAE,IAAI,CAAC,cAAc;MAC5B,IAAI,EAAE,WAAW;MACjB,KAAK,EAAE,gBAAgB;KAC1B,CAAC,CAAC;EACP,CAAC;EAEO,UAAU,CAAC,IAAoB,EAAE,KAAa;IAClD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;IAErD,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;MAC5B,OAAO,KAAK,CAAC,aAAa,CAAC,uBAAuB,EAAE;QAChD,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC;QACrB,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,WAAW,CAAC,MAAM;QAC9B,KAAK,EAAE,KAAK;OACf,CAAC,CAAC;KACN;IAED,OAAO,KAAK,CAAC,aAAa,CAAC,kBAAkB,EAAE;MAC3C,GAAG,EAAE,IAAI,CAAC,GAAG;MACb,IAAI,EAAE,IAAI;MACV,KAAK,EAAE,KAAK;KACf,CAAC,CAAC;EACP,CAAC;EAEO,cAAc,CAAC,KAAiB;IACpC,KAAK,CAAC,eAAe,EAAE,CAAC;IACxB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;EACjC,CAAC;CACJ","sourcesContent":["import React from 'react';\nimport { isObjectType } from '../schema';\nimport { CollapsibleItemTemplate } from './array-field-collapsible-item';\nimport { SimpleItemTemplate } from './array-field-simple-item';\nimport { renderDescription, renderTitle } from './common';\nimport { ArrayFieldItem, ArrayFieldTemplateProps } from './types';\n\nexport class ArrayFieldTemplate extends React.Component {\n constructor(public props: ArrayFieldTemplateProps) {\n super(props);\n this.renderItem = this.renderItem.bind(this);\n this.handleAddClick = this.handleAddClick.bind(this);\n }\n\n public render() {\n return React.createElement(\n 'div',\n {},\n renderTitle(this.props.title),\n renderDescription(this.props.schema.description),\n this.props.items.map(this.renderItem),\n this.renderAddButton()\n );\n }\n\n private renderAddButton() {\n if (!this.props.canAdd) {\n return;\n }\n\n return React.createElement('limel-button', {\n label: this.props.title || 'Add',\n onClick: this.handleAddClick,\n icon: 'plus_math',\n class: 'button-add-new',\n });\n }\n\n private renderItem(item: ArrayFieldItem, index: number) {\n const { schema, formData, formContext } = this.props;\n\n if (isObjectType(schema.items)) {\n return React.createElement(CollapsibleItemTemplate, {\n key: item.key,\n item: item,\n data: formData[index],\n schema: schema,\n formSchema: formContext.schema,\n index: index,\n });\n }\n\n return React.createElement(SimpleItemTemplate, {\n key: item.key,\n item: item,\n index: index,\n });\n }\n\n private handleAddClick(event: MouseEvent) {\n event.stopPropagation();\n this.props.onAddClick(event);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/components/form/templates/common.ts"],"names":[],"mappings":"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","sourcesContent":["import { get, isEmpty } from 'lodash-es';\nimport React from 'react';\nimport { isArrayType, isObjectType } from '../schema';\n\nexport function renderTitle(title: string) {\n if (!title) {\n return;\n }\n\n return React.createElement(\n 'h1',\n { className: 'mdc-typography mdc-typography--headline1' },\n title\n );\n}\n\nexport function renderDescription(description: string) {\n if (!description) {\n return;\n }\n\n return React.createElement(\n 'p',\n { className: 'mdc-typography mdc-typography--body1' },\n description\n );\n}\n\n/**\n * Find a suitable title for a nested structure.\n *\n * If an object has the key 'title' it will have priority, followed by the key 'name'.\n * If 'title' nor 'name' is found, a required item will be considered.\n * Otherwise the first occurrence of a nonempty string is chosen.\n * @param {*} data the data to find the title for\n * @param {*} fieldSchema schema for the item\n * @param {*} formSchema schema for the form\n * @returns {string} describing title of the data\n */\nexport function findTitle(data: any, fieldSchema: any, formSchema: any) {\n if (!data) {\n return null;\n }\n\n if (Array.isArray(data) && isObjectType(fieldSchema.items)) {\n return findTitle(data[0], fieldSchema, formSchema);\n }\n\n if (Array.isArray(data) || typeof data !== 'object') {\n return findSchemaTitle(data, fieldSchema);\n }\n\n const subSchema = findSubSchema(fieldSchema, formSchema);\n\n data = sortDataByProperties(data, subSchema.properties);\n\n const firstEntry = findFirstEntry(data, subSchema);\n if (!firstEntry) {\n return null;\n }\n\n if (!subSchema.properties) {\n return null;\n }\n\n const [key, value] = firstEntry;\n\n return findTitle(value, subSchema.properties[key], formSchema);\n}\n\nfunction sortDataByProperties(data: any, properties: object) {\n if (!properties || isEmpty(properties)) {\n return data;\n }\n\n const newData = {};\n Object.keys(properties).forEach((key) => (newData[key] = data[key]));\n\n return newData;\n}\n\nfunction findFirstEntry(data: any, subSchema: any) {\n const entries = [\n ['title', data.title],\n ['name', data.name],\n getRequiredEntry(data, subSchema),\n ...Object.entries(data),\n ];\n\n return entries.filter((entry) => {\n const value = entry[1];\n\n return !!value && typeof value !== 'boolean';\n })[0];\n}\n\nfunction getRequiredEntry(data: any, subSchema: any) {\n if (!('required' in subSchema)) {\n return [null, null];\n }\n\n const firstNonEmptyRequiredKey = Object.keys(data).find((key) =>\n subSchema.required.includes(key)\n );\n if (!firstNonEmptyRequiredKey) {\n return [null, null];\n }\n\n return [firstNonEmptyRequiredKey, data[firstNonEmptyRequiredKey]];\n}\n\nfunction findSubSchema(schema: any, formSchema: any) {\n let subSchema = schema;\n if (isArrayType(schema)) {\n subSchema = schema.items;\n }\n\n if (subSchema.$ref) {\n const path = subSchema.$ref.split('/').slice(1).join('.');\n subSchema = get(formSchema, path);\n }\n\n return subSchema;\n}\n\nfunction findSchemaTitle(value: any, schema: any) {\n if (isArrayType(schema) && schema.items.anyOf) {\n const titles = schema.items.anyOf\n .filter((item) => value.includes(item.const))\n .map((item) => item.title);\n\n return titles.join(', ');\n }\n\n if (schema.oneOf) {\n return (\n schema.oneOf.find((item) => value === item.const)?.title ||\n `${value} is an invalid option`\n );\n }\n\n return value;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../src/components/form/templates/field.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE;EACnC,IAAI,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;EAClC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;EACzC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;EACzC,IAAI,KAAoB,CAAC;EAEzB,IAAI,OAAO,EAAE;IACT,UAAU,IAAI,+BAA+B,OAAO,EAAE,CAAC;GAC1D;EAED,IAAI,OAAO,EAAE;IACT,KAAK,GAAG;MACJ,OAAO,EAAE,QAAQ,OAAO,EAAE;MAC1B,SAAS,EAAE,uCAAuC,OAAO,GAAG;KAC/D,CAAC;GACL;EAED,OAAO,KAAK,CAAC,aAAa,CACtB,KAAK,EACL;IACI,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,KAAK;GACf,EACD,KAAK,CAAC,QAAQ,CACjB,CAAC;AACN,CAAC,CAAC;AAEF,SAAS,UAAU,CAAC,MAAW;;EAC3B,MAAM,MAAM,GAAsB,MAAA,MAAM,CAAC,IAAI,0CAAE,MAAM,CAAC;EACtD,MAAM,OAAO,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC;EAEhC,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;IAClC,OAAO,KAAK,CAAC;GAChB;EAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,UAAU,CAAC,MAAW;;EAC3B,MAAM,MAAM,GAAsB,MAAA,MAAM,CAAC,IAAI,0CAAE,MAAM,CAAC;EAEtD,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC;AAC3B,CAAC","sourcesContent":["import React, { CSSProperties } from 'react';\nimport { GridLayoutOptions } from '../form.types';\nimport { isObjectType } from '../schema';\n\nexport const FieldTemplate = (props) => {\n let classNames = props.classNames;\n const colSpan = getColSpan(props.schema);\n const rowSpan = getRowSpan(props.schema);\n let style: CSSProperties;\n\n if (colSpan) {\n classNames += ` limel-form-layout-colspan--${colSpan}`;\n }\n\n if (rowSpan) {\n style = {\n gridRow: `span ${rowSpan}`,\n minHeight: `calc(var(--min-height-of-one-row) * ${rowSpan})`,\n };\n }\n\n return React.createElement(\n 'div',\n {\n className: classNames,\n style: style,\n },\n props.children\n );\n};\n\nfunction getColSpan(schema: any) {\n const layout: GridLayoutOptions = schema.lime?.layout;\n const colSpan = layout?.colSpan;\n\n if (!colSpan && isObjectType(schema)) {\n return 'all';\n }\n\n return colSpan;\n}\n\nfunction getRowSpan(schema: any) {\n const layout: GridLayoutOptions = schema.lime?.layout;\n\n return layout?.rowSpan;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-layout.js","sourceRoot":"","sources":["../../../../src/components/form/templates/grid-layout.ts"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FormLayoutOptions, GridLayoutOptions } from '../form.types';\n\nconst MAX_COLUMNS = 5;\nconst MAX_COLUMN_WIDTH = 15;\nconst PX_PER_REM = 16;\nconst COLUMN_COUNT = '--number-of-columns';\n\nexport class GridLayout extends React.Component<LayoutProps, LayoutState> {\n private elementRef: React.RefObject<HTMLElement>;\n private observer: ResizeObserver;\n\n constructor(public props: LayoutProps) {\n super(props);\n\n this.handleResize = this.handleResize.bind(this);\n\n this.state = {\n maxColumns: MAX_COLUMNS,\n };\n this.elementRef = React.createRef();\n }\n\n public componentDidMount() {\n this.observer = new ResizeObserver(this.handleResize);\n this.observer.observe(this.elementRef.current);\n }\n\n public componentWillUnmount() {\n this.observer.unobserve(this.elementRef.current);\n }\n\n public handleResize() {\n const element = this.elementRef.current;\n const width = element.getBoundingClientRect().width;\n const maxColumns = Math.min(\n MAX_COLUMNS,\n Math.max(1, Math.floor(width / (MAX_COLUMN_WIDTH * PX_PER_REM)))\n );\n\n const columns = this.getColumnCount(maxColumns);\n if (element.style.getPropertyValue(COLUMN_COUNT) !== `${columns}`) {\n element.style.setProperty(COLUMN_COUNT, `${columns}`);\n }\n\n if (maxColumns !== this.state.maxColumns) {\n this.setState({\n maxColumns: maxColumns,\n });\n }\n }\n\n public render() {\n const classes = ['limel-form-layout--grid'];\n const columns = this.getColumnCount(this.state.maxColumns);\n\n classes.push(`layout-${columns}-columns`);\n if (this.hasAutoFlowDense()) {\n classes.push('auto-reorder-to-avoid-empty-cells');\n }\n\n return React.createElement(\n 'div',\n {\n className: classes.join(' '),\n ref: this.elementRef,\n },\n this.props.children\n );\n }\n\n private getColumnCount(maxColumns: number) {\n const layout: GridLayoutOptions = this.props.options as any;\n\n return Math.min(layout.columns || MAX_COLUMNS, maxColumns);\n }\n\n private hasAutoFlowDense(): boolean {\n const layout: GridLayoutOptions = this.props.options as any;\n\n return layout.dense !== false;\n }\n}\n\ninterface LayoutProps {\n options: FormLayoutOptions;\n children?: any;\n}\n\ninterface LayoutState {\n maxColumns: number;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/form/templates/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC","sourcesContent":["export * from './field';\nexport * from './array-field';\nexport * from './object-field';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-field.js","sourceRoot":"","sources":["../../../../src/components/form/templates/object-field.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAqB,cAAc,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAmC,EAAE,EAAE;EACvE,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;EAC9B,IAAI,EAAE,KAAK,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;IAC/C,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;GACtC;EAED,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;IAC7B,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;GACxC;EAED,OAAO,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,SAAS,oBAAoB,CAAC,KAAmC;EAC7D,OAAO,KAAK,CAAC,aAAa,CACtB,KAAK,CAAC,QAAQ,EACd,EAAE,EACF,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EACxB,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,EACpC,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CACnD,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAmC;EAC/D,MAAM,WAAW,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;EAE/C,OAAO,KAAK,CAAC,aAAa,CACtB,2BAA2B,EAC3B;IACI,MAAM,EAAE,KAAK,CAAC,KAAK;IACnB,EAAE,EAAE,2BAA2B,CAC3B,KAAK,CAAC,WAAW,CAAC,MAAM,EACxB,KAAK,CAAC,QAAQ,CACjB;IACD,SAAS,EAAE,WAAW;GACzB,EACD,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,EACpC,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CACnD,CAAC;AACN,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAW,EAAE,SAAyB;;EACvE,MAAM,eAAe,GAAG,CAAC,CAAC;EAC1B,MAAM,sBAAsB,GAAG,KAAK,CAAC;EACrC,MAAM,QAAQ,GAAG,MAAC,MAAM,CAAC,IAAe,0CAClC,OAAO,CAAC,sBAAsB,EAAE,GAAG,EACpC,KAAK,CAAC,eAAe,CAAC,CAAC;EAC5B,MAAM,aAAa,GAAG,MAAA,SAAS,CAAC,GAAG,0CAAE,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;EAElE,OAAO,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,gBAAgB,CACrB,UAAiC,EACjC,MAAsB;;EAEtB,MAAM,MAAM,GAAsB,MAAA,MAAM,CAAC,IAAI,0CAAE,MAAM,CAAC;EAEtD,OAAO,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,YAAY,CACjB,UAAiC,EACjC,MAAyB;EAEzB,MAAM,IAAI,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,cAAc,CAAC,OAAO,CAAC;EACpD,MAAM,OAAO,GAAqC;IAC9C,OAAO,EAAE,mBAAmB;IAC5B,IAAI,EAAE,gBAAgB;IACtB,GAAG,EAAE,eAAe;GACvB,CAAC;EAEF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAiC;EAC1D,OAAO,KAAK,CAAC,aAAa,CACtB,KAAK,EACL;IACI,SAAS,EAAE,4BAA4B;GAC1C,EACD,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAC/C,CAAC;AACN,CAAC;AAED,SAAS,gBAAgB,CACrB,UAAiC,EACjC,MAAyB;EAEzB,OAAO,KAAK,CAAC,aAAa,CACtB,UAAU,EACV;IACI,OAAO,EAAE,MAAM;GAClB,EACD,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAC/C,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,UAAiC;EACtD,OAAO,KAAK,CAAC,aAAa,CACtB,SAAS,EACT,EAAE,EACF,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAC/C,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,MAAsB;;EACzC,OAAO,CAAC,CAAC,CAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,WAAW,CAAA,CAAC;AACtC,CAAC;AAED,SAAS,WAAW,CAAC,MAAsB;EACvC,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC;AAC3C,CAAC","sourcesContent":["import React from 'react';\nimport { FormLayoutOptions, FormLayoutType } from '../form.types';\nimport { LimeJSONSchema } from '../internal.types';\nimport { renderDescription, renderTitle } from './common';\nimport { GridLayout } from './grid-layout';\nimport { RowLayout } from './row-layout';\nimport { LimeObjectFieldTemplateProps, ObjectFieldProperty } from './types';\n\nexport const ObjectFieldTemplate = (props: LimeObjectFieldTemplateProps) => {\n const id = props.idSchema.$id;\n if (id === 'root' || !isCollapsible(props.schema)) {\n return renderFieldWithTitle(props);\n }\n\n if (isCollapsible(props.schema)) {\n return renderCollapsibleField(props);\n }\n\n return renderProperties(props.properties, props.schema);\n};\n\nfunction renderFieldWithTitle(props: LimeObjectFieldTemplateProps) {\n return React.createElement(\n React.Fragment,\n {},\n renderTitle(props.title),\n renderDescription(props.description),\n renderProperties(props.properties, props.schema)\n );\n}\n\nfunction renderCollapsibleField(props: LimeObjectFieldTemplateProps) {\n const defaultOpen = !isCollapsed(props.schema);\n\n return React.createElement(\n 'limel-collapsible-section',\n {\n header: props.title,\n id: getSchemaObjectPropertyPath(\n props.formContext.schema,\n props.idSchema\n ),\n 'is-open': defaultOpen,\n },\n renderDescription(props.description),\n renderProperties(props.properties, props.schema)\n );\n}\n\nfunction getSchemaObjectPropertyPath(schema: any, subSchema: LimeJSONSchema) {\n const refPrefixLength = 2;\n const matchAllForwardSlashes = /\\//g;\n const rootPath = (schema.$ref as string)\n ?.replace(matchAllForwardSlashes, '.')\n .slice(refPrefixLength);\n const subSchemaPath = subSchema.$id?.replace('_', '.properties.');\n\n return subSchemaPath.replace('root', rootPath);\n}\n\nfunction renderProperties(\n properties: ObjectFieldProperty[],\n schema: LimeJSONSchema\n) {\n const layout: FormLayoutOptions = schema.lime?.layout;\n\n return renderLayout(properties, layout);\n}\n\nfunction renderLayout(\n properties: ObjectFieldProperty[],\n layout: FormLayoutOptions\n) {\n const type = layout?.type || FormLayoutType.Default;\n const layouts: Record<FormLayoutType, Function> = {\n default: renderDefaultLayout,\n grid: renderGridLayout,\n row: renderRowLayout,\n };\n\n return layouts[type](properties, layout);\n}\n\nfunction renderDefaultLayout(properties: ObjectFieldProperty[]) {\n return React.createElement(\n 'div',\n {\n className: 'limel-form-layout--default',\n },\n properties.map((element) => element.content)\n );\n}\n\nfunction renderGridLayout(\n properties: ObjectFieldProperty[],\n layout: FormLayoutOptions\n) {\n return React.createElement(\n GridLayout,\n {\n options: layout,\n },\n properties.map((element) => element.content)\n );\n}\n\nfunction renderRowLayout(properties: ObjectFieldProperty[]) {\n return React.createElement(\n RowLayout,\n {},\n properties.map((element) => element.content)\n );\n}\n\nfunction isCollapsible(schema: LimeJSONSchema) {\n return !!schema.lime?.collapsible;\n}\n\nfunction isCollapsed(schema: LimeJSONSchema) {\n return schema.lime.collapsed !== false;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row-layout.js","sourceRoot":"","sources":["../../../../src/components/form/templates/row-layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,OAAO,SAAU,SAAQ,KAAK,CAAC,SAAmB;EAGpD,YAAmB,KAAe;IAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;IADE,UAAK,GAAL,KAAK,CAAU;IAG9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;EACxC,CAAC;EAEM,MAAM;IACT,MAAM,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAE3C,OAAO,KAAK,CAAC,aAAa,CACtB,KAAK,EACL;MACI,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;MAC5B,GAAG,EAAE,IAAI,CAAC,UAAU;KACvB,EACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;MACrC,OAAO,KAAK,CAAC,aAAa,CACtB,GAAG,EACH;QACI,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE;OACxB,EACD,KAAK,CACR,CAAC;IACN,CAAC,CAAC,CACL,CAAC;EACN,CAAC;CACJ","sourcesContent":["import React from 'react';\nimport { Row } from '../row/row';\nimport { RowProps } from './types';\nexport class RowLayout extends React.Component<RowProps> {\n private elementRef: React.RefObject<HTMLElement>;\n\n constructor(public props: RowProps) {\n super(props);\n\n this.elementRef = React.createRef();\n }\n\n public render() {\n const classes = ['limel-form-row--layout'];\n\n return React.createElement(\n 'div',\n {\n className: classes.join(' '),\n ref: this.elementRef,\n },\n this.props.children.map((child, index) => {\n return React.createElement(\n Row,\n {\n key: index.toString(),\n },\n child\n );\n })\n );\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/form/templates/types.ts"],"names":[],"mappings":"","sourcesContent":["import { ObjectFieldTemplateProps, ArrayFieldTemplateProps } from '@rjsf/core';\nimport { LimeJSONSchema } from '../internal.types';\nexport { FieldTemplateProps, ArrayFieldTemplateProps } from '@rjsf/core';\n\nexport type TemplateProps = ObjectFieldTemplateProps | ArrayFieldTemplateProps;\n\nexport type ObjectFieldProperty = ObjectFieldTemplateProps['properties'][0];\n\nexport type ArrayFieldItem = ArrayFieldTemplateProps['items'][0];\n\nexport interface LimeObjectFieldTemplateProps extends ObjectFieldTemplateProps {\n schema: LimeJSONSchema;\n}\n\nexport interface Runnable {\n run: (event: any) => void;\n}\n\nexport interface RowProps {\n children?: any;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../src/components/form/validators/format.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAC,IAAY;EAClC,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC","sourcesContent":["export function isInteger(data: string): boolean {\n return Number.isInteger(Number(data));\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/form/validators/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC","sourcesContent":["export * from './format';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../../src/components/form/widgets/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,OAAO,QAAS,SAAQ,KAAK,CAAC,SAAS;EAGzC,YAAmB,KAAkB;IACjC,KAAK,CAAC,KAAK,CAAC,CAAC;IADE,UAAK,GAAL,KAAK,CAAa;IAEjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACrD,CAAC;EAEM,MAAM;IACT,MAAM,KAAK,GAAgB,IAAI,CAAC,KAAK,CAAC;IAEtC,OAAO,KAAK,CAAC,aAAa,CAAC,yBAAyB,EAAE;MAClD,IAAI,EAAE,gBAAgB;MACtB,KAAK,EAAE,KAAK,CAAC,KAAK;MAClB,WAAW,EAAE,KAAK;MAClB,UAAU,EAAE;QACR,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK;OACzB;MACD,MAAM,EAAE;QACJ,MAAM,EAAE,IAAI,CAAC,YAAY;OAC5B;KACJ,CAAC,CAAC;EACP,CAAC;EAEO,YAAY,CAAC,KAA2B;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,KAAK,CAAC,eAAe,EAAE,CAAC;IAExB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;MACjB,OAAO;KACV;IAED,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;EACjC,CAAC;CACJ","sourcesContent":["import React from 'react';\nimport { WidgetProps } from './types';\nimport { LimeElementsWidgetAdapter } from '../adapters';\n\nexport class Checkbox extends React.Component {\n public refs: any;\n\n constructor(public props: WidgetProps) {\n super(props);\n this.handleChange = this.handleChange.bind(this);\n }\n\n public render() {\n const props: WidgetProps = this.props;\n\n return React.createElement(LimeElementsWidgetAdapter, {\n name: 'limel-checkbox',\n value: props.value,\n widgetProps: props,\n extraProps: {\n checked: !!props.value,\n },\n events: {\n change: this.handleChange,\n },\n });\n }\n\n private handleChange(event: CustomEvent<boolean>) {\n const props = this.props;\n event.stopPropagation();\n\n if (!props.onChange) {\n return;\n }\n\n props.onChange(event.detail);\n }\n}\n"]}
|