@limetech/lime-elements 40.23.0 → 40.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/cjs/{checkbox.template-CNJ29zDR.js → checkbox.template-DgiUCPna.js} +1 -1
- package/dist/cjs/dom-BWMDM6En.js +32 -0
- package/dist/cjs/{image.template-DlF-f23b.js → image.template-B_HZH9t-.js} +1 -1
- package/dist/cjs/{index-BlsqxTB1.js → index-CQn9p_mp.js} +12 -0
- package/dist/cjs/lime-elements.cjs.js +2 -2
- package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +2 -2
- package/dist/cjs/limel-action-bar_3.cjs.entry.js +5 -6
- package/dist/cjs/limel-ai-avatar.cjs.entry.js +3 -4
- package/dist/cjs/limel-badge_7.cjs.entry.js +13 -13
- package/dist/cjs/limel-banner.cjs.entry.js +2 -2
- package/dist/cjs/limel-button-group.cjs.entry.js +2 -2
- package/dist/cjs/limel-button.cjs.entry.js +3 -3
- package/dist/cjs/limel-callout.cjs.entry.js +3 -4
- package/dist/cjs/limel-card.cjs.entry.js +3 -3
- package/dist/cjs/limel-chart.cjs.entry.js +782 -180
- package/dist/cjs/limel-checkbox.cjs.entry.js +3 -3
- package/dist/cjs/limel-chip-set.cjs.entry.js +3 -4
- package/dist/cjs/limel-chip_2.cjs.entry.js +4 -5
- package/dist/cjs/limel-circular-progress.cjs.entry.js +2 -2
- package/dist/cjs/limel-code-diff.cjs.entry.js +3 -4
- package/dist/cjs/limel-code-editor.cjs.entry.js +3 -4
- package/dist/cjs/limel-collapsible-section.cjs.entry.js +3 -4
- package/dist/cjs/limel-color-picker-palette.cjs.entry.js +3 -3
- package/dist/cjs/limel-color-picker.cjs.entry.js +2 -2
- package/dist/cjs/limel-config.cjs.entry.js +1 -1
- package/dist/cjs/limel-date-picker.cjs.entry.js +439 -28
- package/dist/cjs/limel-dialog.cjs.entry.js +3 -3
- package/dist/cjs/limel-dock-button.cjs.entry.js +1 -1
- package/dist/cjs/limel-dock.cjs.entry.js +4 -5
- package/dist/cjs/limel-drag-handle_2.cjs.entry.js +5 -6
- package/dist/cjs/limel-dynamic-label.cjs.entry.js +1 -1
- package/dist/cjs/limel-email-viewer.cjs.entry.js +3 -4
- package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +3 -3
- package/dist/cjs/limel-file-viewer.cjs.entry.js +3 -4
- package/dist/cjs/limel-file.cjs.entry.js +3 -4
- package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +124 -16
- package/dist/cjs/limel-flex-container.cjs.entry.js +2 -2
- package/dist/cjs/limel-form-header.cjs.entry.js +2 -2
- package/dist/cjs/limel-form.cjs.entry.js +66 -6
- package/dist/cjs/limel-grid.cjs.entry.js +2 -2
- package/dist/cjs/limel-header.cjs.entry.js +2 -2
- package/dist/cjs/limel-help_2.cjs.entry.js +4 -4
- package/dist/cjs/limel-helper-line_3.cjs.entry.js +5 -5
- package/dist/cjs/limel-hotkey_4.cjs.entry.js +6 -6
- package/dist/cjs/limel-icon-button.cjs.entry.js +2 -2
- package/dist/cjs/limel-icon.cjs.entry.js +2 -2
- package/dist/cjs/limel-info-tile.cjs.entry.js +3 -3
- package/dist/cjs/limel-list-item.cjs.entry.js +7 -8
- package/dist/cjs/limel-markdown.cjs.entry.js +2 -2
- package/dist/cjs/limel-masonry-layout.cjs.entry.js +2 -2
- package/dist/cjs/limel-menu-item-meta.cjs.entry.js +2 -2
- package/dist/cjs/limel-pagination-jump.cjs.entry.js +2 -3
- package/dist/cjs/limel-pagination.cjs.entry.js +7 -8
- package/dist/cjs/limel-picker.cjs.entry.js +7 -7
- package/dist/cjs/limel-popover_2.cjs.entry.js +3 -3
- package/dist/cjs/limel-profile-picture.cjs.entry.js +3 -4
- package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
- package/dist/cjs/limel-progress-flow.cjs.entry.js +1 -1
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +3 -4
- package/dist/cjs/limel-radio-button-group.cjs.entry.js +2 -2
- package/dist/cjs/limel-radio-button.cjs.entry.js +3 -3
- package/dist/cjs/limel-resize-handle.cjs.entry.js +3 -4
- package/dist/cjs/limel-select.cjs.entry.js +3 -3
- package/dist/cjs/limel-shortcut.cjs.entry.js +2 -2
- package/dist/cjs/limel-side-panel.cjs.entry.js +3 -4
- package/dist/cjs/limel-slider.cjs.entry.js +5 -6
- package/dist/cjs/limel-snackbar.cjs.entry.js +4 -5
- package/dist/cjs/limel-split-button.cjs.entry.js +3 -3
- package/dist/cjs/limel-switch.cjs.entry.js +2 -2
- package/dist/cjs/limel-tab-bar.cjs.entry.js +2 -2
- package/dist/cjs/limel-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/limel-table.cjs.entry.js +4 -5
- package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +5 -6
- package/dist/cjs/limel-text-editor.cjs.entry.js +2 -2
- package/dist/cjs/{live-message-BNl3Ihcz.js → live-message-CwxlKd60.js} +0 -30
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{render-list-component-BtAliHQp.js → render-list-component-BOYFHMFE.js} +1 -1
- package/dist/cjs/{translations-JLP5icQ9.js → translations-BPsptVkN.js} +73 -3
- package/dist/collection/components/3d-hover-effect-glow/3d-hover-effect-glow.js +1 -1
- package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js +1 -1
- package/dist/collection/components/action-bar/action-bar.js +2 -2
- package/dist/collection/components/ai-avatar/ai-avatar.js +1 -1
- package/dist/collection/components/badge/badge.js +2 -2
- package/dist/collection/components/banner/banner.js +1 -1
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
- package/dist/collection/components/button/button.js +2 -2
- package/dist/collection/components/button-group/button-group.js +1 -1
- package/dist/collection/components/callout/callout.js +1 -1
- package/dist/collection/components/card/card.js +1 -1
- package/dist/collection/components/chart/chart.css +29 -0
- package/dist/collection/components/chart/chart.js +352 -67
- package/dist/collection/components/chart/options.js +342 -109
- package/dist/collection/components/chart/scale.js +25 -2
- package/dist/collection/components/chart/series.js +110 -0
- package/dist/collection/components/checkbox/checkbox.js +1 -1
- package/dist/collection/components/chip/chip.js +1 -1
- package/dist/collection/components/chip-set/chip-set.js +1 -1
- package/dist/collection/components/circular-progress/circular-progress.js +1 -1
- package/dist/collection/components/code-diff/code-diff.js +1 -1
- package/dist/collection/components/code-editor/code-editor.js +1 -1
- package/dist/collection/components/collapsible-section/collapsible-section.js +1 -1
- package/dist/collection/components/color-picker/color-picker-palette.js +2 -2
- package/dist/collection/components/color-picker/color-picker.js +1 -1
- package/dist/collection/components/date-picker/date-formatter.js +147 -1
- package/dist/collection/components/date-picker/date-picker.css +112 -0
- package/dist/collection/components/date-picker/date-picker.js +307 -26
- package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +77 -30
- package/dist/collection/components/date-picker/pickers/month-picker.js +3 -0
- package/dist/collection/components/date-picker/pickers/picker.js +37 -1
- package/dist/collection/components/date-picker/pickers/quarter-picker.js +3 -0
- package/dist/collection/components/date-picker/pickers/week-picker.js +21 -0
- package/dist/collection/components/date-picker/pickers/year-picker.js +24 -0
- package/dist/collection/components/dialog/dialog.js +2 -2
- package/dist/collection/components/dock/dock.js +2 -2
- package/dist/collection/components/drag-handle/drag-handle.js +1 -1
- package/dist/collection/components/email-viewer/email-viewer.js +1 -1
- package/dist/collection/components/file/file.js +1 -1
- package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
- package/dist/collection/components/file-input/file-input.js +1 -1
- package/dist/collection/components/flex-container/flex-container.js +1 -1
- package/dist/collection/components/form/fields/schema-field.js +19 -1
- package/dist/collection/components/form/form.js +30 -3
- package/dist/collection/components/form/form.test-schemas.js +11 -0
- package/dist/collection/components/form/invalid-input.js +14 -0
- package/dist/collection/components/form/widgets/date-picker.js +3 -1
- package/dist/collection/components/form-header/form-header.js +1 -1
- package/dist/collection/components/grid/grid.js +1 -1
- package/dist/collection/components/header/header.js +1 -1
- package/dist/collection/components/help/help-content.js +1 -1
- package/dist/collection/components/help/help.js +2 -2
- package/dist/collection/components/helper-line/helper-line.js +2 -2
- package/dist/collection/components/hotkey/hotkey.js +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/icon-button/icon-button.js +1 -1
- package/dist/collection/components/info-tile/info-tile.js +2 -2
- package/dist/collection/components/input-field/input-field.js +1 -1
- package/dist/collection/components/list/list.js +1 -1
- package/dist/collection/components/list-item/list-item.js +2 -2
- package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +1 -1
- package/dist/collection/components/markdown/markdown.js +1 -1
- package/dist/collection/components/masonry-layout/masonry-layout.js +1 -1
- package/dist/collection/components/menu/menu.js +1 -1
- package/dist/collection/components/menu-list/menu-list.js +1 -1
- package/dist/collection/components/menu-surface/menu-surface.js +1 -1
- package/dist/collection/components/notched-outline/notched-outline.js +1 -1
- package/dist/collection/components/pagination/pagination.js +1 -1
- package/dist/collection/components/picker/picker.js +1 -1
- package/dist/collection/components/popover/popover.js +1 -1
- package/dist/collection/components/popover-surface/popover-surface.js +1 -1
- package/dist/collection/components/portal/portal.js +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
- package/dist/collection/components/radio-button-group/radio-button.js +2 -2
- package/dist/collection/components/resize-handle/resize-handle.js +1 -1
- package/dist/collection/components/scroller/scroller.js +2 -2
- package/dist/collection/components/select/select.js +1 -1
- package/dist/collection/components/shortcut/shortcut.js +1 -1
- package/dist/collection/components/side-panel/side-panel.js +1 -1
- package/dist/collection/components/slider/slider.js +3 -3
- package/dist/collection/components/snackbar/snackbar.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-button/split-button.js +2 -2
- package/dist/collection/components/switch/switch.js +1 -1
- package/dist/collection/components/tab-bar/tab-bar.js +1 -1
- package/dist/collection/components/tab-panel/tab-panel.js +1 -1
- package/dist/collection/components/table/table.js +2 -2
- package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +3 -3
- package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +1 -1
- package/dist/collection/components/text-editor/text-editor.js +1 -1
- package/dist/collection/components/tooltip/tooltip-content.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js +2 -2
- package/dist/collection/translations/da.js +2 -0
- package/dist/collection/translations/de.js +2 -0
- package/dist/collection/translations/en.js +2 -0
- package/dist/collection/translations/fi.js +2 -0
- package/dist/collection/translations/fr.js +2 -0
- package/dist/collection/translations/nl.js +2 -0
- package/dist/collection/translations/no.js +2 -0
- package/dist/collection/translations/sv.js +2 -0
- package/dist/esm/{checkbox.template-CAja2LKZ.js → checkbox.template-BJJmiDJP.js} +1 -1
- package/dist/esm/dom-B9Ofc5RB.js +30 -0
- package/dist/esm/{image.template-BGjw97m_.js → image.template-Cw2q5IS7.js} +1 -1
- package/dist/esm/{index-BU9IJqli.js → index-D3SUrFhp.js} +12 -1
- package/dist/esm/{keyboard-navigation-BF7IKmnG.js → keyboard-navigation-DeMxdkNf.js} +1 -1
- package/dist/esm/lime-elements.js +3 -3
- package/dist/esm/limel-3d-hover-effect-glow.entry.js +2 -2
- package/dist/esm/limel-action-bar_3.entry.js +5 -6
- package/dist/esm/limel-ai-avatar.entry.js +3 -4
- package/dist/esm/limel-badge_7.entry.js +12 -12
- package/dist/esm/limel-banner.entry.js +2 -2
- package/dist/esm/limel-button-group.entry.js +2 -2
- package/dist/esm/limel-button.entry.js +3 -3
- package/dist/esm/limel-callout.entry.js +3 -4
- package/dist/esm/limel-card.entry.js +3 -3
- package/dist/esm/limel-chart.entry.js +779 -177
- package/dist/esm/limel-checkbox.entry.js +3 -3
- package/dist/esm/limel-chip-set.entry.js +3 -4
- package/dist/esm/limel-chip_2.entry.js +4 -5
- package/dist/esm/limel-circular-progress.entry.js +2 -2
- package/dist/esm/limel-code-diff.entry.js +3 -4
- package/dist/esm/limel-code-editor.entry.js +3 -4
- package/dist/esm/limel-collapsible-section.entry.js +3 -4
- package/dist/esm/limel-color-picker-palette.entry.js +3 -3
- package/dist/esm/limel-color-picker.entry.js +2 -2
- package/dist/esm/limel-config.entry.js +1 -1
- package/dist/esm/limel-date-picker.entry.js +436 -25
- package/dist/esm/limel-dialog.entry.js +3 -3
- package/dist/esm/limel-dock-button.entry.js +1 -1
- package/dist/esm/limel-dock.entry.js +4 -5
- package/dist/esm/limel-drag-handle_2.entry.js +5 -6
- package/dist/esm/limel-dynamic-label.entry.js +1 -1
- package/dist/esm/limel-email-viewer.entry.js +3 -4
- package/dist/esm/limel-file-dropzone_2.entry.js +3 -3
- package/dist/esm/limel-file-viewer.entry.js +3 -4
- package/dist/esm/limel-file.entry.js +3 -4
- package/dist/esm/limel-flatpickr-adapter.entry.js +118 -10
- package/dist/esm/limel-flex-container.entry.js +2 -2
- package/dist/esm/limel-form-header.entry.js +2 -2
- package/dist/esm/limel-form.entry.js +66 -6
- package/dist/esm/limel-grid.entry.js +2 -2
- package/dist/esm/limel-header.entry.js +2 -2
- package/dist/esm/limel-help_2.entry.js +4 -4
- package/dist/esm/limel-helper-line_3.entry.js +5 -5
- package/dist/esm/limel-hotkey_4.entry.js +6 -6
- package/dist/esm/limel-icon-button.entry.js +2 -2
- package/dist/esm/limel-icon.entry.js +2 -2
- package/dist/esm/limel-info-tile.entry.js +3 -3
- package/dist/esm/limel-list-item.entry.js +7 -8
- package/dist/esm/limel-markdown.entry.js +2 -2
- package/dist/esm/limel-masonry-layout.entry.js +2 -2
- package/dist/esm/limel-menu-item-meta.entry.js +2 -2
- package/dist/esm/limel-pagination-jump.entry.js +2 -3
- package/dist/esm/limel-pagination.entry.js +3 -4
- package/dist/esm/limel-picker.entry.js +5 -5
- package/dist/esm/limel-popover_2.entry.js +3 -3
- package/dist/esm/limel-profile-picture.entry.js +3 -4
- package/dist/esm/limel-progress-flow-item.entry.js +1 -1
- package/dist/esm/limel-progress-flow.entry.js +1 -1
- package/dist/esm/limel-prosemirror-adapter.entry.js +3 -4
- package/dist/esm/limel-radio-button-group.entry.js +2 -2
- package/dist/esm/limel-radio-button.entry.js +3 -3
- package/dist/esm/limel-resize-handle.entry.js +3 -4
- package/dist/esm/limel-select.entry.js +3 -3
- package/dist/esm/limel-shortcut.entry.js +2 -2
- package/dist/esm/limel-side-panel.entry.js +3 -4
- package/dist/esm/limel-slider.entry.js +5 -6
- package/dist/esm/limel-snackbar.entry.js +4 -5
- package/dist/esm/limel-split-button.entry.js +3 -3
- package/dist/esm/limel-switch.entry.js +2 -2
- package/dist/esm/limel-tab-bar.entry.js +3 -3
- package/dist/esm/limel-tab-panel.entry.js +2 -2
- package/dist/esm/limel-table.entry.js +4 -5
- package/dist/esm/limel-text-editor-link-menu.entry.js +5 -6
- package/dist/esm/limel-text-editor.entry.js +2 -2
- package/dist/esm/{live-message-BQAYeNiX.js → live-message-BKB4vu28.js} +1 -30
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{render-list-component-J1IzNpbv.js → render-list-component-CnMNjOaj.js} +1 -1
- package/dist/esm/{translations-D9ZGrMhe.js → translations--i932i_D.js} +70 -2
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/p--i932i_D.js +1 -0
- package/dist/lime-elements/p-07961d4f.entry.js +1 -0
- package/dist/lime-elements/p-099e9e1a.entry.js +1 -0
- package/dist/lime-elements/p-0dd5cb25.entry.js +1 -0
- package/dist/lime-elements/{p-40940a6c.entry.js → p-1d57370e.entry.js} +1 -1
- package/dist/lime-elements/p-1ef92aa3.entry.js +1 -0
- package/dist/lime-elements/p-1eff9347.entry.js +56 -0
- package/dist/lime-elements/{p-6053608a.entry.js → p-22458db2.entry.js} +2 -2
- package/dist/lime-elements/{p-db9cb7ef.entry.js → p-2520a91b.entry.js} +1 -1
- package/dist/lime-elements/{p-85318636.entry.js → p-25473848.entry.js} +1 -1
- package/dist/lime-elements/p-27000dfb.entry.js +1 -0
- package/dist/lime-elements/p-29800b71.entry.js +1 -0
- package/dist/lime-elements/{p-438fe49b.entry.js → p-2e1fd8c4.entry.js} +1 -1
- package/dist/lime-elements/p-2f6ee1b0.entry.js +1 -0
- package/dist/lime-elements/{p-c61e9b83.entry.js → p-427a3da3.entry.js} +1 -1
- package/dist/lime-elements/p-447a2633.entry.js +1 -0
- package/dist/lime-elements/{p-909466b8.entry.js → p-4c54780d.entry.js} +1 -1
- package/dist/lime-elements/p-4f81f0b4.entry.js +1 -0
- package/dist/lime-elements/{p-7d0ffc60.entry.js → p-5062b51a.entry.js} +1 -1
- package/dist/lime-elements/p-5295b4c7.entry.js +1 -0
- package/dist/lime-elements/p-5a1b7f4d.entry.js +1 -0
- package/dist/lime-elements/{p-a6387dc7.entry.js → p-5b9c1f8f.entry.js} +1 -1
- package/dist/lime-elements/p-5be1e9e8.entry.js +159 -0
- package/dist/lime-elements/p-5c6589aa.entry.js +1 -0
- package/dist/lime-elements/{p-3f7fa772.entry.js → p-5e7ca1fd.entry.js} +1 -1
- package/dist/lime-elements/{p-95a486c8.entry.js → p-5f66e497.entry.js} +1 -1
- package/dist/lime-elements/p-667759da.entry.js +1 -0
- package/dist/lime-elements/{p-48a412ed.entry.js → p-6a340609.entry.js} +1 -1
- package/dist/lime-elements/{p-a891f3e8.entry.js → p-6d3cde2e.entry.js} +1 -1
- package/dist/lime-elements/{p-f59447bf.entry.js → p-6e529563.entry.js} +1 -1
- package/dist/lime-elements/{p-c2056ebc.entry.js → p-743f014f.entry.js} +1 -1
- package/dist/lime-elements/{p-c6b3448c.entry.js → p-7aa034e2.entry.js} +1 -1
- package/dist/lime-elements/p-7b2ec934.entry.js +1 -0
- package/dist/lime-elements/p-7b99624f.entry.js +1 -0
- package/dist/lime-elements/p-7ea96b80.entry.js +1 -0
- package/dist/lime-elements/{p-e5abe390.entry.js → p-7fe1d9ad.entry.js} +1 -1
- package/dist/lime-elements/p-842694af.entry.js +1 -0
- package/dist/lime-elements/{p-d3f13124.entry.js → p-848aeaa6.entry.js} +1 -1
- package/dist/lime-elements/{p-1e0ced6a.entry.js → p-868a8b12.entry.js} +1 -1
- package/dist/lime-elements/p-891f6a07.entry.js +1 -0
- package/dist/lime-elements/{p-28957b5c.entry.js → p-8dcb9ef1.entry.js} +1 -1
- package/dist/lime-elements/p-92f79a62.entry.js +1 -0
- package/dist/lime-elements/p-93907698.entry.js +16 -0
- package/dist/lime-elements/{p-c0ebf7cc.entry.js → p-9b3c7341.entry.js} +1 -1
- package/dist/lime-elements/p-B9Ofc5RB.js +1 -0
- package/dist/lime-elements/{p-_1yBt1pG.js → p-BJrZuSu3.js} +1 -1
- package/dist/lime-elements/{p-Cadm4-WZ.js → p-BzHrLZdr.js} +1 -1
- package/dist/lime-elements/p-CMedqTpE.js +1 -0
- package/dist/lime-elements/{p-BU9IJqli.js → p-D3SUrFhp.js} +2 -2
- package/dist/lime-elements/p-DpXrxCh5.js +1 -0
- package/dist/lime-elements/p-DwxRLqY6.js +1 -0
- package/dist/lime-elements/{p-c8a34cef.entry.js → p-a0501e84.entry.js} +1 -1
- package/dist/lime-elements/p-a5419b44.entry.js +1 -0
- package/dist/lime-elements/{p-ce71c5b9.entry.js → p-abd612b3.entry.js} +1 -1
- package/dist/lime-elements/{p-f3b93ce8.entry.js → p-aeac9588.entry.js} +2 -2
- package/dist/lime-elements/p-b01e8af9.entry.js +1 -0
- package/dist/lime-elements/{p-f97ec7a5.entry.js → p-b08c9b52.entry.js} +1 -1
- package/dist/lime-elements/{p-54537c85.entry.js → p-b1f6412e.entry.js} +1 -1
- package/dist/lime-elements/{p-6ae093c8.entry.js → p-b3967ab3.entry.js} +1 -1
- package/dist/lime-elements/{p-5dce791c.entry.js → p-b8bfec0e.entry.js} +1 -1
- package/dist/lime-elements/p-ba4b44ad.entry.js +1 -0
- package/dist/lime-elements/{p-783fd221.entry.js → p-bf726f16.entry.js} +1 -1
- package/dist/lime-elements/p-c2f27d2a.entry.js +1 -0
- package/dist/lime-elements/{p-271662d4.entry.js → p-c3bd19ea.entry.js} +1 -1
- package/dist/lime-elements/p-cc560bbd.entry.js +1 -0
- package/dist/lime-elements/{p-0319f07f.entry.js → p-d2953c11.entry.js} +1 -1
- package/dist/lime-elements/{p-764d2f86.entry.js → p-d3d01dd4.entry.js} +1 -1
- package/dist/lime-elements/{p-4b75e653.entry.js → p-d9e6175b.entry.js} +1 -1
- package/dist/lime-elements/p-dab5421d.entry.js +1 -0
- package/dist/lime-elements/p-dcaeefc9.entry.js +1 -0
- package/dist/lime-elements/{p-f71fbc9e.entry.js → p-df8aa135.entry.js} +4 -4
- package/dist/lime-elements/p-e2fb2af4.entry.js +1 -0
- package/dist/lime-elements/p-e929fc64.entry.js +1 -0
- package/dist/lime-elements/p-ea02dade.entry.js +1 -0
- package/dist/lime-elements/p-ecd633cb.entry.js +1 -0
- package/dist/lime-elements/{p-39d1e157.entry.js → p-f5cd53e8.entry.js} +1 -1
- package/dist/lime-elements/{p-8fe28845.entry.js → p-f7cae25a.entry.js} +1 -1
- package/dist/types/components/chart/chart.d.ts +59 -8
- package/dist/types/components/chart/chart.types.d.ts +23 -0
- package/dist/types/components/chart/options.d.ts +83 -8
- package/dist/types/components/chart/scale.d.ts +10 -0
- package/dist/types/components/chart/series.d.ts +71 -0
- package/dist/types/components/date-picker/date-formatter.d.ts +12 -0
- package/dist/types/components/date-picker/date-picker.d.ts +59 -3
- package/dist/types/components/date-picker/flatpickr-adapter/flatpickr-adapter.d.ts +13 -2
- package/dist/types/components/date-picker/pickers/month-picker.d.ts +1 -0
- package/dist/types/components/date-picker/pickers/picker.d.ts +8 -1
- package/dist/types/components/date-picker/pickers/quarter-picker.d.ts +1 -0
- package/dist/types/components/date-picker/pickers/week-picker.d.ts +4 -0
- package/dist/types/components/date-picker/pickers/year-picker.d.ts +7 -0
- package/dist/types/components/form/fields/schema-field.d.ts +2 -0
- package/dist/types/components/form/form.d.ts +2 -0
- package/dist/types/components/form/form.test-schemas.d.ts +1 -0
- package/dist/types/components/form/invalid-input.d.ts +14 -0
- package/dist/types/components/form/widgets/date-picker.d.ts +1 -0
- package/dist/types/components.d.ts +73 -26
- package/dist/types/translations/da.d.ts +2 -0
- package/dist/types/translations/de.d.ts +2 -0
- package/dist/types/translations/en.d.ts +2 -0
- package/dist/types/translations/fi.d.ts +2 -0
- package/dist/types/translations/fr.d.ts +2 -0
- package/dist/types/translations/nl.d.ts +2 -0
- package/dist/types/translations/no.d.ts +2 -0
- package/dist/types/translations/sv.d.ts +2 -0
- package/package.json +3 -3
- package/dist/cjs/language-s0bKUCvO.js +0 -58
- package/dist/esm/language-VamkUr90.js +0 -55
- package/dist/lime-elements/p-0a7cbdc3.entry.js +0 -1
- package/dist/lime-elements/p-0f96e94d.entry.js +0 -1
- package/dist/lime-elements/p-1a0c5e45.entry.js +0 -1
- package/dist/lime-elements/p-401d5c92.entry.js +0 -1
- package/dist/lime-elements/p-430db3b9.entry.js +0 -1
- package/dist/lime-elements/p-43b62587.entry.js +0 -1
- package/dist/lime-elements/p-48dccb83.entry.js +0 -1
- package/dist/lime-elements/p-5c918155.entry.js +0 -1
- package/dist/lime-elements/p-66101ed6.entry.js +0 -1
- package/dist/lime-elements/p-7ab72b52.entry.js +0 -1
- package/dist/lime-elements/p-8d602078.entry.js +0 -1
- package/dist/lime-elements/p-8d9a2a22.entry.js +0 -1
- package/dist/lime-elements/p-8de4f0f3.entry.js +0 -1
- package/dist/lime-elements/p-8e80a884.entry.js +0 -56
- package/dist/lime-elements/p-99984c66.entry.js +0 -1
- package/dist/lime-elements/p-9d46f720.entry.js +0 -1
- package/dist/lime-elements/p-9e2b426c.entry.js +0 -1
- package/dist/lime-elements/p-C9dBa_Im.js +0 -1
- package/dist/lime-elements/p-Cw7VQSGU.js +0 -1
- package/dist/lime-elements/p-N9vxZMhe.js +0 -1
- package/dist/lime-elements/p-VamkUr90.js +0 -1
- package/dist/lime-elements/p-b1c7033b.entry.js +0 -16
- package/dist/lime-elements/p-b5451350.entry.js +0 -1
- package/dist/lime-elements/p-c75f3b0d.entry.js +0 -1
- package/dist/lime-elements/p-ca4247c4.entry.js +0 -1
- package/dist/lime-elements/p-cf2d43c7.entry.js +0 -1
- package/dist/lime-elements/p-d53421af.entry.js +0 -1
- package/dist/lime-elements/p-d8901e39.entry.js +0 -1
- package/dist/lime-elements/p-d89553b3.entry.js +0 -1
- package/dist/lime-elements/p-d93b8ce0.entry.js +0 -1
- package/dist/lime-elements/p-e97340c4.entry.js +0 -1
- package/dist/lime-elements/p-eF09GxA_.js +0 -1
- package/dist/lime-elements/p-ec0c113d.entry.js +0 -1
- package/dist/lime-elements/p-f036ad27.entry.js +0 -1
- package/dist/lime-elements/p-f197000b.entry.js +0 -159
- package/dist/lime-elements/p-f5bb17eb.entry.js +0 -1
- package/dist/lime-elements/p-f6bc6658.entry.js +0 -1
- package/dist/lime-elements/p-fa1aa440.entry.js +0 -1
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { format } from "echarts/core";
|
|
2
|
-
import { getAxisRange, getDateRange, getDateTicks, getMaximumValue, getMinimumValue, getScatterRanges, getXValue, getYValue, getShare, getValueSpan, getWholeRange, isPartOfWhole, isRangeItem, } from "./scale";
|
|
2
|
+
import { canDrawSeries, canStack, getAxisRange, getDateRange, getDateTicks, getMaximumValue, getMinimumValue, getScatterRanges, getXValue, getYValue, getShare, getValueSpan, getWholeRange, isPartOfWhole, isRangeItem, } from "./scale";
|
|
3
3
|
import { formatShare, formatValue, getAxisValueFormatter, } from "./format";
|
|
4
|
+
import { alignSeries, endsStack, getAxisItems, } from "./series";
|
|
4
5
|
const DOT_SIZE = 8;
|
|
5
6
|
const LINE_DOT_SIZE = 6;
|
|
6
7
|
const CONNECTOR_WIDTH = 2;
|
|
7
8
|
const DIMMED_OPACITY = 0.4;
|
|
8
9
|
const AREA_OPACITY = 0.4;
|
|
10
|
+
const SERIES_AREA_OPACITY = 0.15;
|
|
11
|
+
const SERIES_STACK = { stack: 'series', stackStrategy: 'samesign' };
|
|
9
12
|
const PADDING = 8;
|
|
10
13
|
const NPS_MIN = -100;
|
|
11
14
|
const NPS_MAX = 100;
|
|
@@ -16,6 +19,15 @@ const NPS_ARC_WIDTH = 16;
|
|
|
16
19
|
const ITEM_TEXT_MIN_WIDTH = 40;
|
|
17
20
|
const ITEM_TEXT_GAP = 4;
|
|
18
21
|
const ITEM_TEXT_LINE_HEIGHT = 14;
|
|
22
|
+
const SWATCH = {
|
|
23
|
+
width: '0.625rem',
|
|
24
|
+
height: '0.625rem',
|
|
25
|
+
'border-radius': '0.125rem',
|
|
26
|
+
};
|
|
27
|
+
const SWATCH_SHAPES = {
|
|
28
|
+
line: { height: '0.125rem' },
|
|
29
|
+
dot: { 'border-radius': '50%' },
|
|
30
|
+
};
|
|
19
31
|
const emphasis = { focus: 'self' };
|
|
20
32
|
const blur = { itemStyle: { opacity: DIMMED_OPACITY } };
|
|
21
33
|
const hidden = { show: false };
|
|
@@ -27,34 +39,116 @@ const hidden = { show: false };
|
|
|
27
39
|
* when it is known from an earlier drawing
|
|
28
40
|
*/
|
|
29
41
|
export function drawChart(settings, theme, itemSpace) {
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
42
|
+
const drawn = getDrawnSettings(settings);
|
|
43
|
+
const grid = getSeriesGrid(drawn);
|
|
44
|
+
const drawing = drawSeries(drawn, grid, theme, itemSpace);
|
|
45
|
+
return Object.assign(Object.assign({}, drawing), { option: Object.assign({ animation: theme.animate, textStyle: { fontFamily: theme.fontFamily, color: theme.textColor }, tooltip: Object.assign({ appendTo: 'body', backgroundColor: theme.surfaceColor, borderColor: theme.axisLineColor, textStyle: { color: theme.textColor } }, (drawn.series
|
|
46
|
+
? getCategoryTooltipOption(drawn, grid, theme)
|
|
47
|
+
: {
|
|
48
|
+
trigger: 'item',
|
|
49
|
+
formatter: (params) => getTooltip(drawn, findItem(drawing, params).index),
|
|
50
|
+
})) }, drawing.option) });
|
|
39
51
|
}
|
|
40
52
|
/**
|
|
41
|
-
* The
|
|
53
|
+
* The item drawn at a position, if an item is drawn there. A position in a
|
|
54
|
+
* series of ECharts that draws no items of its own, such as the invisible
|
|
55
|
+
* column of an item, belongs to the first series.
|
|
42
56
|
* @param drawing - the drawing of the chart
|
|
43
57
|
* @param location - a position within the drawn series
|
|
44
58
|
*/
|
|
45
|
-
export function
|
|
46
|
-
|
|
59
|
+
export function findItem(drawing, location) {
|
|
60
|
+
var _a, _b;
|
|
61
|
+
if (drawing.itemsAreSeries) {
|
|
62
|
+
return { series: 0, index: location.seriesIndex };
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
series: (_b = (_a = drawing.partsOfSeries) === null || _a === void 0 ? void 0 : _a[location.seriesIndex]) !== null && _b !== void 0 ? _b : 0,
|
|
66
|
+
index: location.dataIndex,
|
|
67
|
+
};
|
|
47
68
|
}
|
|
48
69
|
/**
|
|
49
70
|
* Where an item is drawn, for highlighting it and showing its tooltip.
|
|
50
71
|
* @param drawing - the drawing of the chart
|
|
51
|
-
* @param
|
|
72
|
+
* @param position - where the item is among the series
|
|
52
73
|
*/
|
|
53
|
-
export function locateItem(drawing,
|
|
74
|
+
export function locateItem(drawing, position) {
|
|
54
75
|
if (drawing.itemsAreSeries) {
|
|
55
|
-
return { seriesIndex: index, dataIndex: 0 };
|
|
76
|
+
return { seriesIndex: position.index, dataIndex: 0 };
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
seriesIndex: drawing.seriesIndexes[position.series],
|
|
80
|
+
dataIndex: position.index,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* The series that the chart draws: its series, when its type can draw them.
|
|
85
|
+
* @param settings - what the chart is given
|
|
86
|
+
*/
|
|
87
|
+
export function getDrawnSeries(settings) {
|
|
88
|
+
var _a;
|
|
89
|
+
if (!((_a = settings.series) === null || _a === void 0 ? void 0 : _a.length) || !canDrawSeries(settings.type)) {
|
|
90
|
+
return;
|
|
56
91
|
}
|
|
57
|
-
return
|
|
92
|
+
return settings.series;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* The series whose items the chart draws as its items: its first series,
|
|
96
|
+
* when its type cannot draw series and it has no items.
|
|
97
|
+
* @param settings - what the chart is given
|
|
98
|
+
*/
|
|
99
|
+
export function getSeriesOfDrawnItems(settings) {
|
|
100
|
+
var _a, _b;
|
|
101
|
+
if (getDrawnSeries(settings) || ((_a = settings.items) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
return (_b = settings.series) === null || _b === void 0 ? void 0 : _b[0];
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* The items that the chart draws when it draws no series: its items, or the
|
|
108
|
+
* items of its first series when it has no items.
|
|
109
|
+
* @param settings - what the chart is given
|
|
110
|
+
*/
|
|
111
|
+
export function getDrawnItems(settings) {
|
|
112
|
+
var _a, _b, _c;
|
|
113
|
+
if (getDrawnSeries(settings)) {
|
|
114
|
+
return [];
|
|
115
|
+
}
|
|
116
|
+
return (_c = (_b = (_a = getSeriesOfDrawnItems(settings)) === null || _a === void 0 ? void 0 : _a.items) !== null && _b !== void 0 ? _b : settings.items) !== null && _c !== void 0 ? _c : [];
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Whether the chart stacks its series on each other. Only the types that
|
|
120
|
+
* can stack series do, and never with dates, since a sum of dates means
|
|
121
|
+
* nothing.
|
|
122
|
+
* @param settings - what the chart is given
|
|
123
|
+
*/
|
|
124
|
+
export function isStacked(settings) {
|
|
125
|
+
return Boolean(settings.stacked &&
|
|
126
|
+
getDrawnSeries(settings) &&
|
|
127
|
+
canStack(settings.type) &&
|
|
128
|
+
settings.valueFormat !== 'date');
|
|
129
|
+
}
|
|
130
|
+
function getDrawnSettings(settings) {
|
|
131
|
+
return Object.assign(Object.assign({}, settings), { items: getDrawnItems(settings), series: getDrawnSeries(settings), stacked: isStacked(settings) });
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* The series that the chart draws lined up by category, or the items it
|
|
135
|
+
* draws as the only series when it draws no series.
|
|
136
|
+
* @param settings - what the chart is given
|
|
137
|
+
*/
|
|
138
|
+
export function getSeriesGrid(settings) {
|
|
139
|
+
var _a;
|
|
140
|
+
return alignSeries((_a = getDrawnSeries(settings)) !== null && _a !== void 0 ? _a : [
|
|
141
|
+
{ text: '', items: getDrawnItems(settings) },
|
|
142
|
+
]);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* The style of the marker of a series, in the legend and in the tooltip: a
|
|
146
|
+
* square for bars and areas, a line for lines, and a dot for dots.
|
|
147
|
+
* @param type - the chart type
|
|
148
|
+
* @param color - the color of the series
|
|
149
|
+
*/
|
|
150
|
+
export function getSwatchStyle(type, color = '') {
|
|
151
|
+
return Object.assign(Object.assign(Object.assign({}, SWATCH), SWATCH_SHAPES[type]), { 'background-color': color });
|
|
58
152
|
}
|
|
59
153
|
/**
|
|
60
154
|
* Shows the text of every item on the axis, cut short to the space of the
|
|
@@ -113,7 +207,51 @@ export function getTooltip(settings, index) {
|
|
|
113
207
|
.map((text) => format.encodeHTML(text))
|
|
114
208
|
.join('<br/>');
|
|
115
209
|
}
|
|
116
|
-
|
|
210
|
+
/**
|
|
211
|
+
* The tooltip of a category of a chart with series, as HTML: its text, and
|
|
212
|
+
* the name and value of each series that has an item there.
|
|
213
|
+
* @param grid - the series of the chart, lined up by category
|
|
214
|
+
* @param style - how the chart writes values
|
|
215
|
+
* @param index - the index of the category
|
|
216
|
+
*/
|
|
217
|
+
export function getCategoryTooltip(grid, style, index) {
|
|
218
|
+
const category = grid.categories[index];
|
|
219
|
+
if (category === undefined) {
|
|
220
|
+
return '';
|
|
221
|
+
}
|
|
222
|
+
const lines = grid.series
|
|
223
|
+
.filter((series) => series.items[index] !== undefined)
|
|
224
|
+
.map((series) => {
|
|
225
|
+
var _a;
|
|
226
|
+
const item = series.items[index];
|
|
227
|
+
return getTooltipLine(getSwatch(style.type, (_a = item.color) !== null && _a !== void 0 ? _a : series.color), series.text, formatValue(item, style));
|
|
228
|
+
});
|
|
229
|
+
return [`<div>${format.encodeHTML(category)}</div>`, ...lines].join('');
|
|
230
|
+
}
|
|
231
|
+
function getTooltipLine(swatch, name, value) {
|
|
232
|
+
return `<div style="display:flex;justify-content:space-between;gap:1rem"><span>${swatch}${format.encodeHTML(name)}</span><span>${format.encodeHTML(value)}</span></div>`;
|
|
233
|
+
}
|
|
234
|
+
function getSwatch(type, color = '') {
|
|
235
|
+
const style = Object.assign({ display: 'inline-block', 'vertical-align': 'middle', 'margin-right': '0.375rem' }, getSwatchStyle(type, format.encodeHTML(color)));
|
|
236
|
+
const declarations = Object.entries(style).map(([property, value]) => `${property}:${value}`);
|
|
237
|
+
return `<span style="${declarations.join(';')}"></span>`;
|
|
238
|
+
}
|
|
239
|
+
function getCategoryTooltipOption(settings, grid, theme) {
|
|
240
|
+
return {
|
|
241
|
+
trigger: 'axis',
|
|
242
|
+
axisPointer: settings.type === 'bar'
|
|
243
|
+
? {
|
|
244
|
+
type: 'shadow',
|
|
245
|
+
shadowStyle: { color: theme.axisLineColor, opacity: 0.2 },
|
|
246
|
+
}
|
|
247
|
+
: { type: 'line', lineStyle: { color: theme.axisLineColor } },
|
|
248
|
+
formatter: (params) => {
|
|
249
|
+
const [first] = [params].flat();
|
|
250
|
+
return getCategoryTooltip(grid, settings, first === null || first === void 0 ? void 0 : first.dataIndex);
|
|
251
|
+
},
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
function drawSeries(settings, grid, theme, itemSpace) {
|
|
117
255
|
switch (settings.type) {
|
|
118
256
|
case 'pie':
|
|
119
257
|
case 'doughnut': {
|
|
@@ -132,46 +270,54 @@ function drawSeries(settings, theme, itemSpace) {
|
|
|
132
270
|
return drawNps(settings, theme);
|
|
133
271
|
}
|
|
134
272
|
default: {
|
|
135
|
-
return drawOnAxes(settings, theme, itemSpace);
|
|
273
|
+
return drawOnAxes(settings, grid, theme, itemSpace);
|
|
136
274
|
}
|
|
137
275
|
}
|
|
138
276
|
}
|
|
139
|
-
function drawOnAxes(settings, theme, itemSpace) {
|
|
140
|
-
const {
|
|
141
|
-
const range = settings
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
getMaximumValue(item),
|
|
145
|
-
]), settings.maxValue)
|
|
146
|
-
: getAxisRange(items, settings.maxValue, settings.axisIncrement);
|
|
147
|
-
const itemTextAxis = getItemTextAxis(settings);
|
|
148
|
-
const categoryAxis = Object.assign(Object.assign(Object.assign({}, getCategoryAxis(settings)), { axisLabel: Object.assign({ show: settings.displayItemText, color: theme.textColor }, (itemTextAxis &&
|
|
277
|
+
function drawOnAxes(settings, grid, theme, itemSpace) {
|
|
278
|
+
const { orientation } = settings;
|
|
279
|
+
const range = getValueRange(settings, grid);
|
|
280
|
+
const itemTextAxis = getItemTextAxis(settings, grid);
|
|
281
|
+
const categoryAxis = Object.assign(Object.assign(Object.assign({}, getCategoryAxis(settings, grid)), { axisLabel: Object.assign({ show: settings.displayItemText, color: theme.textColor }, (itemTextAxis &&
|
|
149
282
|
itemSpace &&
|
|
150
283
|
getItemTextLayout(itemTextAxis, itemSpace))), axisTick: hidden, axisLine: { lineStyle: { color: theme.axisLineColor } } }), getAxisName(settings, settings.itemsLabel, theme));
|
|
151
284
|
const valueAxis = getValueAxis(range, getAxisName(settings, settings.valuesLabel, theme), settings, theme);
|
|
152
|
-
const { series,
|
|
285
|
+
const { series, seriesIndexes, partsOfSeries } = getAxisSeries(settings, grid, theme);
|
|
153
286
|
const option = {
|
|
154
287
|
grid: getGrid(theme),
|
|
155
288
|
xAxis: orientation === 'landscape' ? categoryAxis : valueAxis,
|
|
156
289
|
yAxis: orientation === 'landscape' ? valueAxis : categoryAxis,
|
|
157
290
|
series: series,
|
|
158
291
|
};
|
|
292
|
+
const hasColumns = settings.type !== 'bar' && !settings.series;
|
|
159
293
|
return {
|
|
160
|
-
|
|
294
|
+
seriesIndexes: seriesIndexes,
|
|
295
|
+
partsOfSeries: partsOfSeries,
|
|
161
296
|
itemsAreSeries: false,
|
|
162
297
|
itemTextAxis: itemTextAxis,
|
|
163
|
-
|
|
298
|
+
valueRange: range,
|
|
299
|
+
option: hasColumns ? withColumns(option, settings, grid) : option,
|
|
164
300
|
};
|
|
165
301
|
}
|
|
166
|
-
function
|
|
302
|
+
function getValueRange(settings, grid) {
|
|
303
|
+
const items = getAxisItems(grid, Boolean(settings.stacked));
|
|
304
|
+
if (settings.valueFormat === 'date') {
|
|
305
|
+
return getDateRange(items.flatMap((item) => [
|
|
306
|
+
getMinimumValue(item),
|
|
307
|
+
getMaximumValue(item),
|
|
308
|
+
]), settings.maxValue);
|
|
309
|
+
}
|
|
310
|
+
return getAxisRange(items, settings.maxValue, settings.axisIncrement);
|
|
311
|
+
}
|
|
312
|
+
function getCategoryAxis(settings, grid) {
|
|
167
313
|
return {
|
|
168
314
|
type: 'category',
|
|
169
|
-
data:
|
|
315
|
+
data: grid.categories,
|
|
170
316
|
inverse: settings.orientation === 'portrait',
|
|
171
317
|
};
|
|
172
318
|
}
|
|
173
|
-
function getItemTextAxis(settings) {
|
|
174
|
-
if (!settings.displayItemText ||
|
|
319
|
+
function getItemTextAxis(settings, grid) {
|
|
320
|
+
if (!settings.displayItemText || grid.categories.length < 2) {
|
|
175
321
|
return;
|
|
176
322
|
}
|
|
177
323
|
return settings.orientation === 'landscape' ? 'xAxis' : 'yAxis';
|
|
@@ -180,9 +326,9 @@ function getItemTextAxis(settings) {
|
|
|
180
326
|
// column across the whole plot that shows its tooltip and takes its clicks.
|
|
181
327
|
// The columns have axes of their own, so they are not laid out next to the
|
|
182
328
|
// bars that draw ranges.
|
|
183
|
-
function withColumns(option, settings) {
|
|
329
|
+
function withColumns(option, settings, grid) {
|
|
184
330
|
const { items, orientation } = settings;
|
|
185
|
-
const categoryAxis = Object.assign(Object.assign({}, getCategoryAxis(settings)), { show: false });
|
|
331
|
+
const categoryAxis = Object.assign(Object.assign({}, getCategoryAxis(settings, grid)), { show: false });
|
|
186
332
|
const valueAxis = { type: 'value', min: 0, max: 1, show: false };
|
|
187
333
|
const columns = {
|
|
188
334
|
type: 'bar',
|
|
@@ -197,78 +343,140 @@ function withColumns(option, settings) {
|
|
|
197
343
|
const landscape = orientation === 'landscape';
|
|
198
344
|
return Object.assign(Object.assign({}, option), { xAxis: [option.xAxis, landscape ? categoryAxis : valueAxis], yAxis: [option.yAxis, landscape ? valueAxis : categoryAxis], series: [...option.series, columns] });
|
|
199
345
|
}
|
|
200
|
-
function getAxisSeries(settings, theme) {
|
|
346
|
+
function getAxisSeries(settings, grid, theme) {
|
|
347
|
+
const series = [];
|
|
348
|
+
const seriesIndexes = [];
|
|
349
|
+
const partsOfSeries = [];
|
|
350
|
+
for (const index of grid.series.keys()) {
|
|
351
|
+
const drawn = drawItemSeries(settings, grid, index, theme);
|
|
352
|
+
seriesIndexes.push(series.length + drawn.seriesIndex);
|
|
353
|
+
series.push(...drawn.series);
|
|
354
|
+
partsOfSeries.push(...drawn.series.map(() => index));
|
|
355
|
+
}
|
|
356
|
+
return {
|
|
357
|
+
series: series,
|
|
358
|
+
seriesIndexes: seriesIndexes,
|
|
359
|
+
partsOfSeries: partsOfSeries,
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
function drawItemSeries(settings, grid, index, theme) {
|
|
363
|
+
const series = grid.series[index];
|
|
201
364
|
if (settings.type === 'line' || settings.type === 'area') {
|
|
202
|
-
return getLineSeries(settings, theme);
|
|
365
|
+
return getLineSeries(settings, series, index, theme);
|
|
203
366
|
}
|
|
204
367
|
if (settings.type === 'dot') {
|
|
205
|
-
return getDotSeries(settings, theme);
|
|
368
|
+
return getDotSeries(settings, series, index, theme);
|
|
369
|
+
}
|
|
370
|
+
if (settings.stacked) {
|
|
371
|
+
return {
|
|
372
|
+
series: [getStackedBars(settings, grid, index, theme)],
|
|
373
|
+
seriesIndex: 0,
|
|
374
|
+
};
|
|
206
375
|
}
|
|
207
|
-
return getBarSeries(settings, theme);
|
|
376
|
+
return getBarSeries(settings, series, index, theme);
|
|
208
377
|
}
|
|
209
|
-
function
|
|
210
|
-
const
|
|
378
|
+
function getStackedBars(settings, grid, index, theme) {
|
|
379
|
+
const series = grid.series[index];
|
|
380
|
+
return Object.assign(Object.assign({ type: 'bar' }, SERIES_STACK), { data: series.items.map((item, category) => item
|
|
381
|
+
? {
|
|
382
|
+
value: getValueSpan(item),
|
|
383
|
+
itemStyle: {
|
|
384
|
+
color: item.color,
|
|
385
|
+
borderRadius: endsStack(grid, {
|
|
386
|
+
series: index,
|
|
387
|
+
index: category,
|
|
388
|
+
})
|
|
389
|
+
? getOuterCorners(settings, item, theme)
|
|
390
|
+
: 0,
|
|
391
|
+
borderColor: theme.dividerColor,
|
|
392
|
+
borderWidth: 1,
|
|
393
|
+
},
|
|
394
|
+
}
|
|
395
|
+
: null), label: Object.assign(Object.assign({}, getValueLabel(settings, series, theme)), { position: 'inside', color: undefined }), cursor: getSeriesCursor(series.items), emphasis: emphasis, blur: blur });
|
|
396
|
+
}
|
|
397
|
+
function getOuterCorners(settings, item, theme) {
|
|
398
|
+
const [topLeft, topRight, bottomRight, bottomLeft] = theme.itemBorderRadius;
|
|
399
|
+
const positive = getValueSpan(item) >= 0;
|
|
400
|
+
if (settings.orientation === 'portrait') {
|
|
401
|
+
return positive
|
|
402
|
+
? [0, topRight, bottomRight, 0]
|
|
403
|
+
: [topLeft, 0, 0, bottomLeft];
|
|
404
|
+
}
|
|
405
|
+
return positive
|
|
406
|
+
? [topLeft, topRight, 0, 0]
|
|
407
|
+
: [0, 0, bottomRight, bottomLeft];
|
|
408
|
+
}
|
|
409
|
+
function getBarSeries(settings, series, index, theme) {
|
|
410
|
+
const { items } = series;
|
|
211
411
|
const bars = {
|
|
212
412
|
type: 'bar',
|
|
213
|
-
data: items.map((item) =>
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
413
|
+
data: items.map((item) => item
|
|
414
|
+
? {
|
|
415
|
+
value: getValueSpan(item),
|
|
416
|
+
itemStyle: {
|
|
417
|
+
color: item.color,
|
|
418
|
+
borderRadius: theme.itemBorderRadius,
|
|
419
|
+
},
|
|
420
|
+
}
|
|
421
|
+
: null),
|
|
422
|
+
label: getValueLabel(settings, series, theme),
|
|
221
423
|
cursor: getSeriesCursor(items),
|
|
222
424
|
emphasis: emphasis,
|
|
223
425
|
blur: blur,
|
|
224
426
|
};
|
|
225
|
-
if (
|
|
427
|
+
if (!hasRanges(items)) {
|
|
226
428
|
return { series: [bars], seriesIndex: 0 };
|
|
227
429
|
}
|
|
228
430
|
return {
|
|
229
431
|
series: [
|
|
230
|
-
Object.assign(Object.assign({ type: 'bar' },
|
|
231
|
-
Object.assign(Object.assign({}, bars),
|
|
432
|
+
Object.assign(Object.assign({ type: 'bar' }, getRangeBase(index)), { data: getRangeStarts(items) }),
|
|
433
|
+
Object.assign(Object.assign({}, bars), getRangeStack(index)),
|
|
232
434
|
],
|
|
233
435
|
seriesIndex: 1,
|
|
234
436
|
};
|
|
235
437
|
}
|
|
236
|
-
function getDotSeries(settings, theme) {
|
|
237
|
-
const { items
|
|
238
|
-
const
|
|
438
|
+
function getDotSeries(settings, series, index, theme) {
|
|
439
|
+
const { items } = series;
|
|
440
|
+
const { orientation } = settings;
|
|
441
|
+
const point = (category, value) => orientation === 'landscape' ? [category, value] : [value, category];
|
|
239
442
|
const ends = {
|
|
240
443
|
type: 'scatter',
|
|
241
444
|
symbolSize: DOT_SIZE,
|
|
242
|
-
data: items.map((item,
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
445
|
+
data: items.map((item, category) => item
|
|
446
|
+
? {
|
|
447
|
+
value: point(category, getMaximumValue(item)),
|
|
448
|
+
itemStyle: { color: item.color },
|
|
449
|
+
}
|
|
450
|
+
: null),
|
|
451
|
+
label: getValueLabel(settings, series, theme),
|
|
247
452
|
cursor: getSeriesCursor(items),
|
|
248
453
|
emphasis: emphasis,
|
|
249
454
|
blur: blur,
|
|
250
455
|
};
|
|
251
|
-
if (
|
|
456
|
+
if (!hasRanges(items)) {
|
|
252
457
|
return { series: [ends], seriesIndex: 0 };
|
|
253
458
|
}
|
|
254
|
-
const connectors = Object.assign(Object.assign({ type: 'bar' },
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
459
|
+
const connectors = Object.assign(Object.assign({ type: 'bar' }, getRangeStack(index)), { cursor: getSeriesCursor(items), emphasis: { disabled: true }, barWidth: CONNECTOR_WIDTH, barGap: '-100%', data: items.map((item) => item && isRangeItem(item)
|
|
460
|
+
? {
|
|
461
|
+
value: getValueSpan(item),
|
|
462
|
+
itemStyle: { color: item.color },
|
|
463
|
+
}
|
|
464
|
+
: null) });
|
|
258
465
|
const starts = {
|
|
259
466
|
type: 'scatter',
|
|
260
|
-
|
|
467
|
+
cursor: getSeriesCursor(items),
|
|
468
|
+
emphasis: { disabled: true },
|
|
261
469
|
symbolSize: DOT_SIZE,
|
|
262
|
-
data: items.map((item,
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
:
|
|
266
|
-
|
|
267
|
-
|
|
470
|
+
data: items.map((item, category) => item && isRangeItem(item)
|
|
471
|
+
? {
|
|
472
|
+
value: point(category, getMinimumValue(item)),
|
|
473
|
+
itemStyle: { color: item.color },
|
|
474
|
+
}
|
|
475
|
+
: null),
|
|
268
476
|
};
|
|
269
477
|
return {
|
|
270
478
|
series: [
|
|
271
|
-
Object.assign(Object.assign({ type: 'bar' },
|
|
479
|
+
Object.assign(Object.assign({ type: 'bar' }, getRangeBase(index)), { barGap: '-100%', data: getRangeStarts(items) }),
|
|
272
480
|
connectors,
|
|
273
481
|
starts,
|
|
274
482
|
ends,
|
|
@@ -276,38 +484,63 @@ function getDotSeries(settings, theme) {
|
|
|
276
484
|
seriesIndex: 3,
|
|
277
485
|
};
|
|
278
486
|
}
|
|
279
|
-
function getLineSeries(settings, theme) {
|
|
280
|
-
|
|
281
|
-
const
|
|
487
|
+
function getLineSeries(settings, series, index, theme) {
|
|
488
|
+
var _a;
|
|
489
|
+
const { items } = series;
|
|
490
|
+
const color = (_a = series.color) !== null && _a !== void 0 ? _a : theme.lineColor;
|
|
282
491
|
const area = settings.type === 'area';
|
|
283
|
-
const line = {
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
}
|
|
298
|
-
if (
|
|
492
|
+
const line = Object.assign(Object.assign({ type: 'line', color: color, symbol: 'circle', symbolSize: LINE_DOT_SIZE }, (settings.series &&
|
|
493
|
+
hasClickableItems(items) && {
|
|
494
|
+
showAllSymbol: true,
|
|
495
|
+
labelLayout: { hideOverlap: true },
|
|
496
|
+
})), { data: items.map((item) => item
|
|
497
|
+
? {
|
|
498
|
+
value: getValueSpan(item),
|
|
499
|
+
itemStyle: { color: item.color },
|
|
500
|
+
}
|
|
501
|
+
: null), areaStyle: area
|
|
502
|
+
? { color: color, opacity: getAreaOpacity(settings) }
|
|
503
|
+
: undefined, label: getValueLabel(settings, series, theme), cursor: getSeriesCursor(items), emphasis: emphasis, blur: blur });
|
|
504
|
+
if (settings.stacked) {
|
|
505
|
+
return { series: [Object.assign(Object.assign({}, line), SERIES_STACK)], seriesIndex: 0 };
|
|
506
|
+
}
|
|
507
|
+
if (!hasRanges(items)) {
|
|
299
508
|
return { series: [line], seriesIndex: 0 };
|
|
300
509
|
}
|
|
301
|
-
const base = Object.assign(Object.assign({ type: 'line' },
|
|
302
|
-
return {
|
|
510
|
+
const base = Object.assign(Object.assign({ type: 'line' }, getRangeBase(index)), { symbol: 'none', color: color, lineStyle: { opacity: area ? 0 : 1 }, data: getRangeStarts(items) });
|
|
511
|
+
return {
|
|
512
|
+
series: [base, Object.assign(Object.assign({}, line), getRangeStack(index))],
|
|
513
|
+
seriesIndex: 1,
|
|
514
|
+
};
|
|
515
|
+
}
|
|
516
|
+
function getAreaOpacity(settings) {
|
|
517
|
+
var _a;
|
|
518
|
+
return ((_a = settings.series) === null || _a === void 0 ? void 0 : _a.length) > 1 && !settings.stacked
|
|
519
|
+
? SERIES_AREA_OPACITY
|
|
520
|
+
: AREA_OPACITY;
|
|
521
|
+
}
|
|
522
|
+
function hasClickableItems(items) {
|
|
523
|
+
return items.some((item) => item === null || item === void 0 ? void 0 : item.clickable);
|
|
524
|
+
}
|
|
525
|
+
function hasRanges(items) {
|
|
526
|
+
return items.some((item) => item && isRangeItem(item));
|
|
303
527
|
}
|
|
304
|
-
const stacked = { stack: 'range', stackStrategy: 'all' };
|
|
305
528
|
// A range is drawn as a stack of an invisible part from zero to its start,
|
|
306
529
|
// and a visible part from its start to its end. Items that are not ranges
|
|
307
|
-
// start at zero.
|
|
308
|
-
|
|
530
|
+
// start at zero. Each series has a stack of its own.
|
|
531
|
+
function getRangeStack(index) {
|
|
532
|
+
return { stack: `range${index}`, stackStrategy: 'all' };
|
|
533
|
+
}
|
|
534
|
+
function getRangeBase(index) {
|
|
535
|
+
return Object.assign(Object.assign({}, getRangeStack(index)), { silent: true, tooltip: hidden, emphasis: { disabled: true }, itemStyle: { color: 'transparent' } });
|
|
536
|
+
}
|
|
309
537
|
function getRangeStarts(items) {
|
|
310
|
-
return items.map((item) =>
|
|
538
|
+
return items.map((item) => {
|
|
539
|
+
if (!item) {
|
|
540
|
+
return null;
|
|
541
|
+
}
|
|
542
|
+
return isRangeItem(item) ? getMinimumValue(item) : 0;
|
|
543
|
+
});
|
|
311
544
|
}
|
|
312
545
|
function drawScatter(settings, theme) {
|
|
313
546
|
const { items } = settings;
|
|
@@ -337,7 +570,7 @@ function drawScatter(settings, theme) {
|
|
|
337
570
|
blur: blur,
|
|
338
571
|
};
|
|
339
572
|
return {
|
|
340
|
-
|
|
573
|
+
seriesIndexes: [0],
|
|
341
574
|
itemsAreSeries: false,
|
|
342
575
|
option: {
|
|
343
576
|
grid: getGrid(theme),
|
|
@@ -366,7 +599,7 @@ function drawPie(settings, theme) {
|
|
|
366
599
|
}
|
|
367
600
|
const innerRadius = settings.type === 'doughnut' ? '50%' : 0;
|
|
368
601
|
return {
|
|
369
|
-
|
|
602
|
+
seriesIndexes: [0],
|
|
370
603
|
itemsAreSeries: false,
|
|
371
604
|
option: {
|
|
372
605
|
series: [
|
|
@@ -401,7 +634,7 @@ function drawProportionBar(settings, theme) {
|
|
|
401
634
|
const categoryAxis = { type: 'category', data: [''], show: false };
|
|
402
635
|
const landscape = settings.orientation === 'landscape';
|
|
403
636
|
return {
|
|
404
|
-
|
|
637
|
+
seriesIndexes: [0],
|
|
405
638
|
itemsAreSeries: true,
|
|
406
639
|
option: {
|
|
407
640
|
backgroundColor: theme.backgroundColor,
|
|
@@ -430,7 +663,7 @@ function drawRing(settings, theme) {
|
|
|
430
663
|
const { items } = settings;
|
|
431
664
|
const whole = getWholeRange(items, settings.maxValue).totalRange;
|
|
432
665
|
return {
|
|
433
|
-
|
|
666
|
+
seriesIndexes: [0],
|
|
434
667
|
itemsAreSeries: false,
|
|
435
668
|
option: {
|
|
436
669
|
polar: { radius: ['20%', '90%'] },
|
|
@@ -467,7 +700,7 @@ function drawRing(settings, theme) {
|
|
|
467
700
|
function drawNps(settings, theme) {
|
|
468
701
|
const { items } = settings;
|
|
469
702
|
return {
|
|
470
|
-
|
|
703
|
+
seriesIndexes: [0],
|
|
471
704
|
itemsAreSeries: false,
|
|
472
705
|
option: {
|
|
473
706
|
series: [
|
|
@@ -556,8 +789,8 @@ function getAxisName(settings, name, theme) {
|
|
|
556
789
|
nameTextStyle: { color: theme.textColor },
|
|
557
790
|
};
|
|
558
791
|
}
|
|
559
|
-
function getValueLabel(settings, theme) {
|
|
560
|
-
return Object.assign(Object.assign({ show: settings.displayItemValue, position: settings.orientation === 'landscape' ? 'top' : 'right' }, getLabelStyle(theme)), { formatter: ({ dataIndex }) => formatValue(
|
|
792
|
+
function getValueLabel(settings, series, theme) {
|
|
793
|
+
return Object.assign(Object.assign({ show: settings.displayItemValue, position: settings.orientation === 'landscape' ? 'top' : 'right' }, getLabelStyle(theme)), { formatter: ({ dataIndex }) => formatValue(series.items[dataIndex], settings) });
|
|
561
794
|
}
|
|
562
795
|
function getLabelStyle(theme) {
|
|
563
796
|
return { color: theme.textColor, textBorderWidth: 0 };
|
|
@@ -573,7 +806,7 @@ function getPointLabel(settings, item) {
|
|
|
573
806
|
return parts.join(' ');
|
|
574
807
|
}
|
|
575
808
|
function getSeriesCursor(items) {
|
|
576
|
-
return getCursor(items
|
|
809
|
+
return getCursor(hasClickableItems(items));
|
|
577
810
|
}
|
|
578
811
|
function getCursor(clickable) {
|
|
579
812
|
return clickable ? 'pointer' : 'default';
|