@ukic/canary-web-components 2.0.0-canary.4 → 2.0.0-canary.40
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/README.md +7 -2
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/date-helpers-c9551119.js +150 -0
- package/dist/cjs/date-helpers-c9551119.js.map +1 -0
- package/dist/cjs/helpers-951fb33a.js +433 -0
- package/dist/cjs/helpers-951fb33a.js.map +1 -0
- package/dist/cjs/{helpers-bbe55215.js → helpers-eabe59b6.js} +147 -100
- package/dist/cjs/helpers-eabe59b6.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +31 -4
- package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +11 -4
- package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +20 -6
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +26 -17
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +86 -83
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +62 -25
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +145 -103
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-horizontal.cjs.entry.js +130 -0
- package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-card.cjs.entry.js +30 -7
- package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +27 -16
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +50 -31
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +45 -21
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js +13 -4
- package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-entity.cjs.entry.js +3 -6
- package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +21 -35
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +57 -0
- package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-data-table.cjs.entry.js +1079 -84
- package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-input.cjs.entry.js +1123 -0
- package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-date-picker.cjs.entry.js +1129 -0
- package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-dialog.cjs.entry.js +54 -12
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +1 -1
- package/dist/cjs/ic-empty-state_2.cjs.entry.js +388 -0
- package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +4 -4
- package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +18 -7
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +12 -2
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js +164 -0
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-link.cjs.entry.js +34 -16
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +21 -20
- package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-with-multi.cjs.entry.js +2740 -0
- package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +1 -0
- package/dist/cjs/{ic-input-component-container_3.cjs.entry.js → ic-menu.cjs.entry.js} +17 -80
- package/dist/cjs/ic-menu.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-navigation-button.cjs.entry.js +28 -7
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +32 -22
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +82 -36
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +10 -10
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination_4.cjs.entry.js +231 -116
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +40 -36
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +100 -59
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +59 -42
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +22 -30
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
- package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select-with-multi.cjs.entry.js +796 -0
- package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-side-navigation.cjs.entry.js +53 -73
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +16 -35
- package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +4 -2
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +5 -2
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +31 -9
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +7 -3
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +78 -130
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +5 -13
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +16 -14
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +13 -22
- package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast-region.cjs.entry.js +6 -0
- package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +21 -18
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +201 -0
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-toggle-button.cjs.entry.js +97 -0
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-top-navigation.cjs.entry.js +60 -82
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tree-item.cjs.entry.js +253 -0
- package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-tree-view.cjs.entry.js +215 -0
- package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-typography.cjs.entry.js +51 -14
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/index-4cf27b16.js +48 -12
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/assets/arrow-dropdown.svg +3 -0
- package/dist/collection/assets/calendar.svg +3 -0
- package/dist/collection/collection-manifest.json +11 -1
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +658 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +375 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.stories.js +605 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.stories.js.map +1 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.types.js +2 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.types.js.map +1 -0
- package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js +140 -0
- package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js.map +1 -0
- package/dist/collection/components/ic-data-table/ic-data-table.css +286 -10
- package/dist/collection/components/ic-data-table/ic-data-table.js +1533 -123
- package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.stories.js +414 -0
- package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -0
- package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
- package/dist/collection/components/ic-data-table/story-data.js +1326 -43
- package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
- package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +460 -3
- package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
- package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +91 -0
- package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +160 -0
- package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -0
- package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.stories.js +98 -0
- package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.stories.js.map +1 -0
- package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js +11 -0
- package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js +70 -0
- package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js.map +1 -0
- package/dist/collection/components/ic-date-input/ic-date-input.css +564 -0
- package/dist/collection/components/ic-date-input/ic-date-input.js +1808 -0
- package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -0
- package/dist/collection/components/ic-date-input/ic-date-input.stories.js +341 -0
- package/dist/collection/components/ic-date-input/ic-date-input.stories.js.map +1 -0
- package/dist/collection/components/ic-date-input/story-data.js +28 -0
- package/dist/collection/components/ic-date-input/story-data.js.map +1 -0
- package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js +1158 -0
- package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js.map +1 -0
- package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js +42 -0
- package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js.map +1 -0
- package/dist/collection/components/ic-date-picker/ic-date-picker.css +885 -0
- package/dist/collection/components/ic-date-picker/ic-date-picker.js +1688 -0
- package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -0
- package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js +167 -0
- package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js.map +1 -0
- package/dist/collection/components/ic-date-picker/ic-day-button.js +36 -0
- package/dist/collection/components/ic-date-picker/ic-day-button.js.map +1 -0
- package/dist/collection/components/ic-date-picker/ic-month-picker.js +29 -0
- package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +1 -0
- package/dist/collection/components/ic-date-picker/ic-year-picker.js +39 -0
- package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +1 -0
- package/dist/collection/components/ic-date-picker/story-data.js +179 -0
- package/dist/collection/components/ic-date-picker/story-data.js.map +1 -0
- package/dist/collection/components/ic-date-picker/test/a11y/ic-date-picker.test.a11y.js +13 -0
- package/dist/collection/components/ic-date-picker/test/a11y/ic-date-picker.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker-utils.spec.js +207 -0
- package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker-utils.spec.js.map +1 -0
- package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js +1030 -0
- package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js.map +1 -0
- package/dist/collection/components/ic-menu-with-multi/ic-menu.css +701 -0
- package/dist/collection/components/ic-menu-with-multi/ic-menu.js +1599 -0
- package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +1 -0
- package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js +1057 -0
- package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js.map +1 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +346 -166
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js +260 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js.map +1 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js +2 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js.map +1 -0
- package/dist/collection/components/ic-pagination-bar/test/a11y/ic-pagination-bar.test.a11y.js +8 -1
- package/dist/collection/components/ic-pagination-bar/test/a11y/ic-pagination-bar.test.a11y.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js +75 -12
- package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js.map +1 -1
- package/dist/collection/components/ic-select-with-multi/assets/Check.svg +3 -0
- package/dist/collection/components/ic-select-with-multi/assets/Clear.svg +3 -0
- package/dist/collection/components/ic-select-with-multi/assets/Expand.svg +3 -0
- package/dist/collection/components/ic-select-with-multi/ic-select-multi.stories.js +144 -0
- package/dist/collection/components/ic-select-with-multi/ic-select-multi.stories.js.map +1 -0
- package/dist/collection/components/ic-select-with-multi/ic-select.css +693 -0
- package/dist/collection/components/ic-select-with-multi/ic-select.js +1649 -0
- package/dist/collection/components/ic-select-with-multi/ic-select.js.map +1 -0
- package/dist/collection/components/ic-select-with-multi/story-data.js +216 -0
- package/dist/collection/components/ic-select-with-multi/story-data.js.map +1 -0
- package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js +1518 -0
- package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js.map +1 -0
- package/dist/collection/components/ic-tree-item/ic-tree-item.css +186 -0
- package/dist/collection/components/ic-tree-item/ic-tree-item.js +620 -0
- package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -0
- package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js +117 -0
- package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js.map +1 -0
- package/dist/collection/components/ic-tree-view/ic-tree-view.css +74 -0
- package/dist/collection/components/ic-tree-view/ic-tree-view.js +346 -0
- package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -0
- package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js +456 -0
- package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js.map +1 -0
- package/dist/collection/components/ic-tree-view/test/basic/ic-tree-view.spec.js +85 -0
- package/dist/collection/components/ic-tree-view/test/basic/ic-tree-view.spec.js.map +1 -0
- package/dist/collection/utils/constants.js +83 -0
- package/dist/collection/utils/constants.js.map +1 -0
- package/dist/collection/utils/date-helpers.js +133 -0
- package/dist/collection/utils/date-helpers.js.map +1 -0
- package/dist/collection/utils/helpers.js +473 -5
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/types.js +58 -0
- package/dist/collection/utils/types.js.map +1 -0
- package/dist/components/helpers.js +141 -98
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/helpers2.js +403 -0
- package/dist/components/helpers2.js.map +1 -0
- package/dist/components/ic-accordion-group.js +38 -7
- package/dist/components/ic-accordion-group.js.map +1 -1
- package/dist/components/ic-accordion.js +12 -4
- package/dist/components/ic-accordion.js.map +1 -1
- package/dist/components/ic-alert2.js +21 -6
- package/dist/components/ic-alert2.js.map +1 -1
- package/dist/components/ic-back-to-top.js +34 -18
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-badge.js +91 -84
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-breadcrumb-group.js +66 -25
- package/dist/components/ic-breadcrumb-group.js.map +1 -1
- package/dist/components/ic-breadcrumb2.js +2 -2
- package/dist/components/ic-breadcrumb2.js.map +1 -1
- package/dist/components/ic-button2.js +104 -74
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card-horizontal.d.ts +11 -0
- package/dist/components/ic-card-horizontal.js +168 -0
- package/dist/components/ic-card-horizontal.js.map +1 -0
- package/dist/components/ic-card.js +34 -21
- package/dist/components/ic-card.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +32 -17
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox.js +58 -33
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +52 -23
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-classification-banner.js +13 -4
- package/dist/components/ic-classification-banner.js.map +1 -1
- package/dist/components/ic-data-entity.js +3 -6
- package/dist/components/ic-data-entity.js.map +1 -1
- package/dist/components/ic-data-row.js +21 -35
- package/dist/components/ic-data-row.js.map +1 -1
- package/dist/components/ic-data-table-title-bar.d.ts +11 -0
- package/dist/components/ic-data-table-title-bar.js +136 -0
- package/dist/components/ic-data-table-title-bar.js.map +1 -0
- package/dist/components/ic-data-table.js +1119 -91
- package/dist/components/ic-data-table.js.map +1 -1
- package/dist/components/ic-date-input.d.ts +11 -0
- package/dist/components/ic-date-input.js +8 -0
- package/dist/components/ic-date-input.js.map +1 -0
- package/dist/components/ic-date-input2.js +1359 -0
- package/dist/components/ic-date-input2.js.map +1 -0
- package/dist/components/ic-date-picker.d.ts +11 -0
- package/dist/components/ic-date-picker.js +1258 -0
- package/dist/components/ic-date-picker.js.map +1 -0
- package/dist/components/ic-dialog.js +55 -12
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-divider2.js +1 -1
- package/dist/components/ic-empty-state.js +1 -57
- package/dist/components/ic-empty-state.js.map +1 -1
- package/dist/{esm/ic-empty-state.entry.js → components/ic-empty-state2.js} +47 -11
- package/dist/components/ic-empty-state2.js.map +1 -0
- package/dist/components/ic-footer-link-group.js +4 -4
- package/dist/components/ic-footer-link-group.js.map +1 -1
- package/dist/components/ic-footer-link.js +3 -3
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-footer.js +18 -7
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-hero.js +12 -2
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-horizontal-scroll2.js +5 -5
- package/dist/components/ic-horizontal-scroll2.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +24 -8
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-label2.js +7 -5
- package/dist/components/ic-input-label2.js.map +1 -1
- package/dist/components/ic-input-validation2.js +1 -1
- package/dist/components/ic-link2.js +35 -17
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +2 -2
- package/dist/components/ic-loading-indicator2.js.map +1 -1
- package/dist/components/ic-menu-group.js +2 -2
- package/dist/components/ic-menu-group.js.map +1 -1
- package/dist/components/ic-menu-item2.js +26 -23
- package/dist/components/ic-menu-item2.js.map +1 -1
- package/dist/components/ic-menu-with-multi.d.ts +11 -0
- package/dist/components/ic-menu-with-multi.js +8 -0
- package/dist/components/ic-menu-with-multi.js.map +1 -0
- package/dist/components/ic-menu2.js +14 -14
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-menu3.js +2806 -0
- package/dist/components/ic-menu3.js.map +1 -0
- package/dist/components/ic-navigation-button.js +29 -8
- package/dist/components/ic-navigation-button.js.map +1 -1
- package/dist/components/ic-navigation-group.js +34 -24
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +84 -37
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +1 -1
- package/dist/components/ic-page-header.js +10 -10
- package/dist/components/ic-page-header.js.map +1 -1
- package/dist/components/ic-pagination-bar2.js +244 -161
- package/dist/components/ic-pagination-bar2.js.map +1 -1
- package/dist/components/ic-pagination-item2.js +27 -12
- package/dist/components/ic-pagination-item2.js.map +1 -1
- package/dist/components/ic-pagination2.js +30 -10
- package/dist/components/ic-pagination2.js.map +1 -1
- package/dist/components/ic-popover-menu.js +43 -38
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +101 -59
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +63 -44
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +23 -30
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-section-container2.js +1 -1
- package/dist/components/ic-section-container2.js.map +1 -1
- package/dist/components/ic-select-with-multi.d.ts +11 -0
- package/dist/components/ic-select-with-multi.js +921 -0
- package/dist/components/ic-select-with-multi.js.map +1 -0
- package/dist/components/ic-select2.js +77 -30
- package/dist/components/ic-select2.js.map +1 -1
- package/dist/components/ic-side-navigation.js +56 -74
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-skeleton.js +17 -40
- package/dist/components/ic-skeleton.js.map +1 -1
- package/dist/components/ic-status-tag.js +3 -1
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-step.js +5 -2
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-stepper.js +35 -9
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-switch.js +9 -4
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-context.js +79 -130
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-panel.js +6 -17
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-tab.js +16 -14
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js +120 -72
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-theme.js +13 -22
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-toast-region.js +6 -0
- package/dist/components/ic-toast-region.js.map +1 -1
- package/dist/components/ic-toast.js +24 -19
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-toggle-button-group.js +230 -0
- package/dist/components/ic-toggle-button-group.js.map +1 -0
- package/dist/components/ic-toggle-button.js +148 -0
- package/dist/components/ic-toggle-button.js.map +1 -0
- package/dist/components/ic-tooltip2.js +52 -30
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +61 -83
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-tree-item.d.ts +11 -0
- package/dist/components/ic-tree-item.js +300 -0
- package/dist/components/ic-tree-item.js.map +1 -0
- package/dist/components/ic-tree-view.d.ts +11 -0
- package/dist/components/ic-tree-view.js +252 -0
- package/dist/components/ic-tree-view.js.map +1 -0
- package/dist/components/ic-typography2.js +57 -17
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.css +8 -5
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/p-0229eb46.entry.js +2 -0
- package/dist/core/p-0229eb46.entry.js.map +1 -0
- package/dist/core/p-04fe848d.entry.js +2 -0
- package/dist/core/p-04fe848d.entry.js.map +1 -0
- package/dist/core/p-05ae9a59.entry.js +2 -0
- package/dist/core/p-05ae9a59.entry.js.map +1 -0
- package/dist/core/p-074e64d0.entry.js +2 -0
- package/dist/core/p-074e64d0.entry.js.map +1 -0
- package/dist/core/p-0f1706e8.entry.js +2 -0
- package/dist/core/p-0f1706e8.entry.js.map +1 -0
- package/dist/core/p-11877d23.entry.js +2 -0
- package/dist/core/p-11877d23.entry.js.map +1 -0
- package/dist/core/p-1e450833.entry.js +2 -0
- package/dist/core/p-1e450833.entry.js.map +1 -0
- package/dist/core/{p-4409f656.entry.js → p-23408776.entry.js} +2 -2
- package/dist/core/p-23408776.entry.js.map +1 -0
- package/dist/core/p-2b15ea77.entry.js +2 -0
- package/dist/core/p-2b15ea77.entry.js.map +1 -0
- package/dist/core/p-2d44b81a.entry.js +2 -0
- package/dist/core/p-2d44b81a.entry.js.map +1 -0
- package/dist/core/p-2ea7af8b.entry.js +2 -0
- package/dist/core/p-2ea7af8b.entry.js.map +1 -0
- package/dist/core/p-33dd24eb.js +2 -0
- package/dist/core/p-33dd24eb.js.map +1 -0
- package/dist/core/p-38f329ab.entry.js +2 -0
- package/dist/core/p-38f329ab.entry.js.map +1 -0
- package/dist/core/p-3cd2056f.entry.js +2 -0
- package/dist/core/p-3cd2056f.entry.js.map +1 -0
- package/dist/core/p-3d00ad9e.entry.js +2 -0
- package/dist/core/p-3d00ad9e.entry.js.map +1 -0
- package/dist/core/p-3ebd4703.entry.js +2 -0
- package/dist/core/p-3ebd4703.entry.js.map +1 -0
- package/dist/core/p-44680720.entry.js +2 -0
- package/dist/core/p-44680720.entry.js.map +1 -0
- package/dist/core/{p-24945ee5.entry.js → p-452985d9.entry.js} +2 -2
- package/dist/core/p-452985d9.entry.js.map +1 -0
- package/dist/core/{p-b97dc365.entry.js → p-487fd924.entry.js} +2 -2
- package/dist/core/p-56db5123.entry.js +2 -0
- package/dist/core/p-56db5123.entry.js.map +1 -0
- package/dist/core/p-58331a86.entry.js +2 -0
- package/dist/core/p-58331a86.entry.js.map +1 -0
- package/dist/core/p-5a90eaa8.entry.js +2 -0
- package/dist/core/p-5a90eaa8.entry.js.map +1 -0
- package/dist/core/p-5dd6381a.entry.js +2 -0
- package/dist/core/p-5dd6381a.entry.js.map +1 -0
- package/dist/core/p-5f149106.entry.js +2 -0
- package/dist/core/p-5f149106.entry.js.map +1 -0
- package/dist/core/{p-d77960f6.entry.js → p-656378ba.entry.js} +2 -2
- package/dist/core/p-6cdf5de2.entry.js +2 -0
- package/dist/core/p-6cdf5de2.entry.js.map +1 -0
- package/dist/core/p-70ad364c.entry.js +2 -0
- package/dist/core/p-70ad364c.entry.js.map +1 -0
- package/dist/core/p-70c659ec.entry.js +2 -0
- package/dist/core/p-70c659ec.entry.js.map +1 -0
- package/dist/core/p-74b42302.entry.js +2 -0
- package/dist/core/p-74b42302.entry.js.map +1 -0
- package/dist/core/p-75bd12f8.entry.js +2 -0
- package/dist/core/p-75bd12f8.entry.js.map +1 -0
- package/dist/core/p-780294b8.entry.js +2 -0
- package/dist/core/p-780294b8.entry.js.map +1 -0
- package/dist/core/{p-baf81f30.entry.js → p-787ffd96.entry.js} +2 -2
- package/dist/core/p-787ffd96.entry.js.map +1 -0
- package/dist/core/p-7edc19be.entry.js +2 -0
- package/dist/core/p-7edc19be.entry.js.map +1 -0
- package/dist/core/p-8ab58daa.js +2 -0
- package/dist/core/p-8ab58daa.js.map +1 -0
- package/dist/core/p-8ced1495.entry.js +2 -0
- package/dist/core/p-8ced1495.entry.js.map +1 -0
- package/dist/core/{p-939baa93.entry.js → p-95545b4c.entry.js} +2 -2
- package/dist/core/p-95545b4c.entry.js.map +1 -0
- package/dist/core/p-95d057b8.entry.js +2 -0
- package/dist/core/p-95d057b8.entry.js.map +1 -0
- package/dist/core/p-987cd821.entry.js +2 -0
- package/dist/core/p-987cd821.entry.js.map +1 -0
- package/dist/core/{p-41aa0ed3.entry.js → p-9b386822.entry.js} +2 -2
- package/dist/core/p-9b386822.entry.js.map +1 -0
- package/dist/core/{p-39e20b87.entry.js → p-9bbe221f.entry.js} +2 -2
- package/dist/core/{p-39e20b87.entry.js.map → p-9bbe221f.entry.js.map} +1 -1
- package/dist/core/p-9f157649.entry.js +2 -0
- package/dist/core/p-9f157649.entry.js.map +1 -0
- package/dist/core/{p-356b8a4c.entry.js → p-9f3cf053.entry.js} +2 -2
- package/dist/core/{p-356b8a4c.entry.js.map → p-9f3cf053.entry.js.map} +1 -1
- package/dist/core/p-9f58998d.entry.js +2 -0
- package/dist/core/p-9f58998d.entry.js.map +1 -0
- package/dist/core/p-ab311c2e.entry.js +2 -0
- package/dist/core/p-ab311c2e.entry.js.map +1 -0
- package/dist/core/p-ac8090a5.entry.js +2 -0
- package/dist/core/p-ac8090a5.entry.js.map +1 -0
- package/dist/core/p-bc350ec5.entry.js +2 -0
- package/dist/core/p-bc350ec5.entry.js.map +1 -0
- package/dist/core/p-bd0328f3.entry.js +2 -0
- package/dist/core/p-bd0328f3.entry.js.map +1 -0
- package/dist/core/{p-03487f12.entry.js → p-bede1b52.entry.js} +2 -2
- package/dist/core/p-bede1b52.entry.js.map +1 -0
- package/dist/core/p-bf06977d.js +2 -0
- package/dist/core/p-bf06977d.js.map +1 -0
- package/dist/core/p-c0a2a040.entry.js +2 -0
- package/dist/core/p-c0a2a040.entry.js.map +1 -0
- package/dist/core/p-c7261d64.entry.js +2 -0
- package/dist/core/p-c7261d64.entry.js.map +1 -0
- package/dist/core/p-c97463bc.entry.js +2 -0
- package/dist/core/p-c97463bc.entry.js.map +1 -0
- package/dist/core/p-cc0e0b46.entry.js +2 -0
- package/dist/core/p-cc0e0b46.entry.js.map +1 -0
- package/dist/core/p-ccc37027.entry.js +2 -0
- package/dist/core/p-ccc37027.entry.js.map +1 -0
- package/dist/core/p-d0020f6f.entry.js +2 -0
- package/dist/core/p-d0020f6f.entry.js.map +1 -0
- package/dist/core/{p-3d618bc2.entry.js → p-d1045cd5.entry.js} +2 -2
- package/dist/core/p-d56248df.entry.js +2 -0
- package/dist/core/p-d56248df.entry.js.map +1 -0
- package/dist/core/p-d921dc2c.entry.js +2 -0
- package/dist/core/p-d921dc2c.entry.js.map +1 -0
- package/dist/core/p-da398a5d.entry.js +2 -0
- package/dist/core/p-da398a5d.entry.js.map +1 -0
- package/dist/core/{p-2e9e8e7c.entry.js → p-db5af9f7.entry.js} +2 -2
- package/dist/core/p-db5af9f7.entry.js.map +1 -0
- package/dist/core/p-dd4c83ad.entry.js +2 -0
- package/dist/core/p-dd4c83ad.entry.js.map +1 -0
- package/dist/core/p-e362b5f3.entry.js +2 -0
- package/dist/core/p-e362b5f3.entry.js.map +1 -0
- package/dist/core/{p-c2b5e7b1.entry.js → p-e52a9929.entry.js} +2 -2
- package/dist/core/{p-c2b5e7b1.entry.js.map → p-e52a9929.entry.js.map} +1 -1
- package/dist/core/p-e89c2feb.entry.js +2 -0
- package/dist/core/p-e89c2feb.entry.js.map +1 -0
- package/dist/core/p-eaeaa096.entry.js +2 -0
- package/dist/core/p-eaeaa096.entry.js.map +1 -0
- package/dist/core/p-f5dfcf4f.entry.js +2 -0
- package/dist/core/p-f5dfcf4f.entry.js.map +1 -0
- package/dist/core/p-f5fbfbc9.entry.js +2 -0
- package/dist/core/p-f5fbfbc9.entry.js.map +1 -0
- package/dist/core/p-fac387e8.entry.js +2 -0
- package/dist/core/p-fac387e8.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/date-helpers-0e5e32a7.js +136 -0
- package/dist/esm/date-helpers-0e5e32a7.js.map +1 -0
- package/dist/esm/helpers-948df101.js +403 -0
- package/dist/esm/helpers-948df101.js.map +1 -0
- package/dist/esm/{helpers-268c2b7f.js → helpers-cd64688a.js} +142 -99
- package/dist/esm/helpers-cd64688a.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +31 -4
- package/dist/esm/ic-accordion-group.entry.js.map +1 -1
- package/dist/esm/ic-accordion.entry.js +11 -4
- package/dist/esm/ic-accordion.entry.js.map +1 -1
- package/dist/esm/ic-alert.entry.js +20 -6
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +26 -17
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-badge.entry.js +86 -83
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +62 -25
- package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +2 -2
- package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +145 -103
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-horizontal.entry.js +126 -0
- package/dist/esm/ic-card-horizontal.entry.js.map +1 -0
- package/dist/esm/ic-card.entry.js +30 -7
- package/dist/esm/ic-card.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +27 -16
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +50 -31
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +45 -21
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-classification-banner.entry.js +13 -4
- package/dist/esm/ic-classification-banner.entry.js.map +1 -1
- package/dist/esm/ic-data-entity.entry.js +3 -6
- package/dist/esm/ic-data-entity.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +21 -35
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-data-table-title-bar.entry.js +53 -0
- package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -0
- package/dist/esm/ic-data-table.entry.js +1080 -85
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-date-input.entry.js +1119 -0
- package/dist/esm/ic-date-input.entry.js.map +1 -0
- package/dist/esm/ic-date-picker.entry.js +1125 -0
- package/dist/esm/ic-date-picker.entry.js.map +1 -0
- package/dist/esm/ic-dialog.entry.js +54 -12
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/ic-empty-state_2.entry.js +383 -0
- package/dist/esm/ic-empty-state_2.entry.js.map +1 -0
- package/dist/esm/ic-footer-link-group.entry.js +4 -4
- package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +3 -3
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +18 -7
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +12 -2
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +5 -5
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_4.entry.js +157 -0
- package/dist/esm/ic-input-component-container_4.entry.js.map +1 -0
- package/dist/esm/ic-link.entry.js +35 -17
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +2 -2
- package/dist/esm/ic-menu-group.entry.js.map +1 -1
- package/dist/esm/ic-menu-item.entry.js +21 -20
- package/dist/esm/ic-menu-item.entry.js.map +1 -1
- package/dist/esm/ic-menu-with-multi.entry.js +2736 -0
- package/dist/esm/ic-menu-with-multi.entry.js.map +1 -0
- package/dist/esm/{ic-input-component-container_3.entry.js → ic-menu.entry.js} +19 -80
- package/dist/esm/ic-menu.entry.js.map +1 -0
- package/dist/esm/ic-navigation-button.entry.js +29 -8
- package/dist/esm/ic-navigation-button.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +33 -23
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +83 -37
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +1 -1
- package/dist/esm/ic-page-header.entry.js +10 -10
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-pagination_4.entry.js +232 -117
- package/dist/esm/ic-pagination_4.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +40 -36
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +100 -59
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +59 -42
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +22 -30
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-section-container.entry.js +1 -1
- package/dist/esm/ic-section-container.entry.js.map +1 -1
- package/dist/esm/ic-select-with-multi.entry.js +792 -0
- package/dist/esm/ic-select-with-multi.entry.js.map +1 -0
- package/dist/esm/ic-side-navigation.entry.js +53 -73
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +16 -35
- package/dist/esm/ic-skeleton.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +4 -2
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +5 -2
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +31 -9
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +7 -3
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +78 -130
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +1 -1
- package/dist/esm/ic-tab-panel.entry.js +5 -13
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +16 -14
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +13 -22
- package/dist/esm/ic-theme.entry.js.map +1 -1
- package/dist/esm/ic-toast-region.entry.js +6 -0
- package/dist/esm/ic-toast-region.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +21 -18
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +197 -0
- package/dist/esm/ic-toggle-button-group.entry.js.map +1 -0
- package/dist/esm/ic-toggle-button.entry.js +93 -0
- package/dist/esm/ic-toggle-button.entry.js.map +1 -0
- package/dist/esm/ic-top-navigation.entry.js +60 -82
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-tree-item.entry.js +249 -0
- package/dist/esm/ic-tree-item.entry.js.map +1 -0
- package/dist/esm/ic-tree-view.entry.js +211 -0
- package/dist/esm/ic-tree-view.entry.js.map +1 -0
- package/dist/esm/ic-typography.entry.js +52 -15
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/index-93509377.js +48 -12
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +71 -0
- package/dist/types/components/ic-card-horizontal/ic-card-horizontal.stories.d.ts +82 -0
- package/dist/types/components/ic-card-horizontal/ic-card-horizontal.types.d.ts +1 -0
- package/dist/types/components/ic-data-table/ic-data-table.d.ts +218 -19
- package/dist/types/components/ic-data-table/ic-data-table.stories.d.ts +239 -0
- package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +43 -0
- package/dist/types/components/ic-data-table/story-data.d.ts +492 -2
- package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.d.ts +36 -0
- package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.stories.d.ts +47 -0
- package/dist/types/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.d.ts +1 -0
- package/dist/types/components/ic-date-input/ic-date-input.d.ts +264 -0
- package/dist/types/components/ic-date-input/ic-date-input.stories.d.ts +124 -0
- package/dist/types/components/ic-date-input/story-data.d.ts +1 -0
- package/dist/types/components/ic-date-input/test/helpers/ic-date-input.d.ts +23 -0
- package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +262 -0
- package/dist/types/components/ic-date-picker/ic-date-picker.stories.d.ts +153 -0
- package/dist/types/components/ic-date-picker/ic-day-button.d.ts +16 -0
- package/dist/types/components/ic-date-picker/ic-month-picker.d.ts +14 -0
- package/dist/types/components/ic-date-picker/ic-year-picker.d.ts +16 -0
- package/dist/types/components/ic-date-picker/story-data.d.ts +24 -0
- package/dist/types/components/ic-date-picker/test/a11y/ic-date-picker.test.a11y.d.ts +1 -0
- package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +218 -0
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +65 -23
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.stories.d.ts +106 -0
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.types.d.ts +4 -0
- package/dist/types/components/ic-select-with-multi/ic-select-multi.stories.d.ts +106 -0
- package/dist/types/components/ic-select-with-multi/ic-select.d.ts +289 -0
- package/dist/types/components/ic-select-with-multi/story-data.d.ts +32 -0
- package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +101 -0
- package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +51 -0
- package/dist/types/components/ic-tree-view/ic-tree-view.stories.d.ts +99 -0
- package/dist/types/components.d.ts +1711 -127
- package/dist/types/interface.d.ts +1 -0
- package/dist/types/utils/constants.d.ts +38 -0
- package/dist/types/utils/date-helpers.d.ts +22 -0
- package/dist/types/utils/helpers.d.ts +144 -2
- package/dist/types/utils/types.d.ts +126 -0
- package/hydrate/index.js +18296 -9130
- package/package.json +27 -17
- package/dist/cjs/helpers-bbe55215.js.map +0 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +0 -38
- package/dist/cjs/ic-empty-state.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +0 -86
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-pagination-bar.cjs.entry.js +0 -285
- package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +0 -1
- package/dist/collection/components/ic-pagination/ic-pagination.types.js +0 -2
- package/dist/collection/components/ic-pagination/ic-pagination.types.js.map +0 -1
- package/dist/core/p-0083465b.entry.js +0 -2
- package/dist/core/p-0083465b.entry.js.map +0 -1
- package/dist/core/p-03487f12.entry.js.map +0 -1
- package/dist/core/p-03f8fa1a.entry.js +0 -2
- package/dist/core/p-03f8fa1a.entry.js.map +0 -1
- package/dist/core/p-0c18b6a0.entry.js +0 -2
- package/dist/core/p-0c18b6a0.entry.js.map +0 -1
- package/dist/core/p-1bc034aa.entry.js +0 -2
- package/dist/core/p-1bc034aa.entry.js.map +0 -1
- package/dist/core/p-20a76d1d.entry.js +0 -2
- package/dist/core/p-20a76d1d.entry.js.map +0 -1
- package/dist/core/p-24945ee5.entry.js.map +0 -1
- package/dist/core/p-2dc35696.entry.js +0 -2
- package/dist/core/p-2dc35696.entry.js.map +0 -1
- package/dist/core/p-2e9e8e7c.entry.js.map +0 -1
- package/dist/core/p-3ee25a6d.entry.js +0 -2
- package/dist/core/p-3ee25a6d.entry.js.map +0 -1
- package/dist/core/p-41aa0ed3.entry.js.map +0 -1
- package/dist/core/p-4314aa0e.entry.js +0 -2
- package/dist/core/p-4314aa0e.entry.js.map +0 -1
- package/dist/core/p-4409f656.entry.js.map +0 -1
- package/dist/core/p-47abbd06.entry.js +0 -2
- package/dist/core/p-47abbd06.entry.js.map +0 -1
- package/dist/core/p-485823b6.entry.js +0 -2
- package/dist/core/p-485823b6.entry.js.map +0 -1
- package/dist/core/p-4ee59448.entry.js +0 -2
- package/dist/core/p-4ee59448.entry.js.map +0 -1
- package/dist/core/p-5157cfab.entry.js +0 -2
- package/dist/core/p-5157cfab.entry.js.map +0 -1
- package/dist/core/p-53083575.entry.js +0 -2
- package/dist/core/p-53083575.entry.js.map +0 -1
- package/dist/core/p-55d5541f.entry.js +0 -2
- package/dist/core/p-55d5541f.entry.js.map +0 -1
- package/dist/core/p-5bb32ee6.entry.js +0 -2
- package/dist/core/p-5bb32ee6.entry.js.map +0 -1
- package/dist/core/p-67eea079.entry.js +0 -2
- package/dist/core/p-67eea079.entry.js.map +0 -1
- package/dist/core/p-6bd0e984.entry.js +0 -2
- package/dist/core/p-6bd0e984.entry.js.map +0 -1
- package/dist/core/p-75bf6162.entry.js +0 -2
- package/dist/core/p-75bf6162.entry.js.map +0 -1
- package/dist/core/p-76959313.entry.js +0 -2
- package/dist/core/p-76959313.entry.js.map +0 -1
- package/dist/core/p-7de813a3.entry.js +0 -2
- package/dist/core/p-7de813a3.entry.js.map +0 -1
- package/dist/core/p-7eae5f70.entry.js +0 -2
- package/dist/core/p-7eae5f70.entry.js.map +0 -1
- package/dist/core/p-85508347.entry.js +0 -2
- package/dist/core/p-85508347.entry.js.map +0 -1
- package/dist/core/p-8da152c4.entry.js +0 -2
- package/dist/core/p-8da152c4.entry.js.map +0 -1
- package/dist/core/p-8fd4ca0a.js +0 -2
- package/dist/core/p-8fd4ca0a.js.map +0 -1
- package/dist/core/p-939baa93.entry.js.map +0 -1
- package/dist/core/p-9777ebb1.entry.js +0 -2
- package/dist/core/p-9777ebb1.entry.js.map +0 -1
- package/dist/core/p-9c27b73e.entry.js +0 -2
- package/dist/core/p-9c27b73e.entry.js.map +0 -1
- package/dist/core/p-9fa6844f.entry.js +0 -2
- package/dist/core/p-9fa6844f.entry.js.map +0 -1
- package/dist/core/p-9fdd7d73.entry.js +0 -2
- package/dist/core/p-9fdd7d73.entry.js.map +0 -1
- package/dist/core/p-a3ab9f4c.entry.js +0 -2
- package/dist/core/p-a3ab9f4c.entry.js.map +0 -1
- package/dist/core/p-a51e5c7c.entry.js +0 -2
- package/dist/core/p-a51e5c7c.entry.js.map +0 -1
- package/dist/core/p-a7481232.entry.js +0 -2
- package/dist/core/p-a7481232.entry.js.map +0 -1
- package/dist/core/p-ab9f8a3f.entry.js +0 -2
- package/dist/core/p-ab9f8a3f.entry.js.map +0 -1
- package/dist/core/p-b2aa3d7c.entry.js +0 -2
- package/dist/core/p-b2aa3d7c.entry.js.map +0 -1
- package/dist/core/p-b5cf6d65.entry.js +0 -2
- package/dist/core/p-b5cf6d65.entry.js.map +0 -1
- package/dist/core/p-baf81f30.entry.js.map +0 -1
- package/dist/core/p-bc187bb5.entry.js +0 -2
- package/dist/core/p-bc187bb5.entry.js.map +0 -1
- package/dist/core/p-bd9cecce.entry.js +0 -2
- package/dist/core/p-bd9cecce.entry.js.map +0 -1
- package/dist/core/p-be980606.entry.js +0 -2
- package/dist/core/p-be980606.entry.js.map +0 -1
- package/dist/core/p-c1256810.entry.js +0 -2
- package/dist/core/p-c1256810.entry.js.map +0 -1
- package/dist/core/p-d76cfa5a.entry.js +0 -2
- package/dist/core/p-d76cfa5a.entry.js.map +0 -1
- package/dist/core/p-e189f1d0.entry.js +0 -2
- package/dist/core/p-e189f1d0.entry.js.map +0 -1
- package/dist/core/p-e9e145aa.entry.js +0 -2
- package/dist/core/p-e9e145aa.entry.js.map +0 -1
- package/dist/core/p-f0e9a83f.entry.js +0 -2
- package/dist/core/p-f0e9a83f.entry.js.map +0 -1
- package/dist/core/p-f23d2102.entry.js +0 -2
- package/dist/core/p-f23d2102.entry.js.map +0 -1
- package/dist/core/p-f87e8411.entry.js +0 -2
- package/dist/core/p-f87e8411.entry.js.map +0 -1
- package/dist/esm/helpers-268c2b7f.js.map +0 -1
- package/dist/esm/ic-empty-state.entry.js.map +0 -1
- package/dist/esm/ic-input-component-container_3.entry.js.map +0 -1
- package/dist/esm/ic-input-label_2.entry.js +0 -81
- package/dist/esm/ic-input-label_2.entry.js.map +0 -1
- package/dist/esm/ic-pagination-bar.entry.js +0 -281
- package/dist/esm/ic-pagination-bar.entry.js.map +0 -1
- package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +0 -6
- /package/dist/core/{p-b97dc365.entry.js.map → p-487fd924.entry.js.map} +0 -0
- /package/dist/core/{p-d77960f6.entry.js.map → p-656378ba.entry.js.map} +0 -0
- /package/dist/core/{p-3d618bc2.entry.js.map → p-d1045cd5.entry.js.map} +0 -0
@@ -0,0 +1,117 @@
|
|
1
|
+
import { newSpecPage } from "@stencil/core/testing";
|
2
|
+
import { TreeItem } from "../../ic-tree-item";
|
3
|
+
import { IcTypography as Typography } from "@ukic/web-components/dist/components/ic-typography";
|
4
|
+
describe("ic-tree-item component", () => {
|
5
|
+
it("should render", async () => {
|
6
|
+
const page = await newSpecPage({
|
7
|
+
components: [TreeItem],
|
8
|
+
html: `<ic-tree-item label="Item 1"></ic-tree-item>`,
|
9
|
+
});
|
10
|
+
expect(page.root).toMatchSnapshot();
|
11
|
+
});
|
12
|
+
it("should render with icon", async () => {
|
13
|
+
const page = await newSpecPage({
|
14
|
+
components: [TreeItem],
|
15
|
+
html: `<ic-tree-item label="Item 1">
|
16
|
+
<svg
|
17
|
+
slot="icon"
|
18
|
+
xmlns="http://www.w3.org/2000/svg"
|
19
|
+
height="24px"
|
20
|
+
viewBox="0 0 24 24"
|
21
|
+
width="24px"
|
22
|
+
fill="#000000"
|
23
|
+
>
|
24
|
+
<path d="M0 0h24v24H0V0z" fill="none" />
|
25
|
+
<path
|
26
|
+
d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
|
27
|
+
/>
|
28
|
+
</svg>
|
29
|
+
</ic-tree-item>`,
|
30
|
+
});
|
31
|
+
expect(page.root).toMatchSnapshot();
|
32
|
+
});
|
33
|
+
it("should render with child tree items", async () => {
|
34
|
+
const page = await newSpecPage({
|
35
|
+
components: [TreeItem],
|
36
|
+
html: `<ic-tree-item label="Item 1">
|
37
|
+
<ic-tree-item label="Item 1.1"></ic-tree-item>
|
38
|
+
<ic-tree-item label="Item 1.2"></ic-tree-item>
|
39
|
+
</ic-tree-item>`,
|
40
|
+
});
|
41
|
+
expect(page.root).toMatchSnapshot();
|
42
|
+
});
|
43
|
+
it("should render with router item slot", async () => {
|
44
|
+
const page = await newSpecPage({
|
45
|
+
components: [TreeItem],
|
46
|
+
html: `<ic-tree-item label="Item 1">
|
47
|
+
<a slot="router-item" href="/">Item 1</a>
|
48
|
+
</ic-tree-item>`,
|
49
|
+
});
|
50
|
+
expect(page.root).toMatchSnapshot();
|
51
|
+
});
|
52
|
+
it("should render disabled", async () => {
|
53
|
+
const page = await newSpecPage({
|
54
|
+
components: [TreeItem],
|
55
|
+
html: `<ic-tree-item label="Item 1" disabled="true"></ic-tree-item>`,
|
56
|
+
});
|
57
|
+
expect(page.root).toMatchSnapshot();
|
58
|
+
page.rootInstance.disabled = false;
|
59
|
+
await page.waitForChanges();
|
60
|
+
expect(page.root).toMatchSnapshot("disabled-removed");
|
61
|
+
});
|
62
|
+
it("should render selected", async () => {
|
63
|
+
const page = await newSpecPage({
|
64
|
+
components: [TreeItem],
|
65
|
+
html: `<ic-tree-item label="Item 1" selected="true"></ic-tree-item>`,
|
66
|
+
});
|
67
|
+
expect(page.root).toMatchSnapshot();
|
68
|
+
});
|
69
|
+
it("should render with slotted label", async () => {
|
70
|
+
const page = await newSpecPage({
|
71
|
+
components: [TreeItem, Typography],
|
72
|
+
html: `<ic-tree-item>
|
73
|
+
<ic-typography slot="label" variant="body">Item 1</ic-typography>
|
74
|
+
</ic-tree-item>`,
|
75
|
+
});
|
76
|
+
expect(page.root).toMatchSnapshot();
|
77
|
+
});
|
78
|
+
it("should select tree item on Enter", async () => {
|
79
|
+
const page = await newSpecPage({
|
80
|
+
components: [TreeItem],
|
81
|
+
html: `<ic-tree-item label="Item 1"></ic-tree-item>`,
|
82
|
+
});
|
83
|
+
expect(page.rootInstance.selected).toBe(false);
|
84
|
+
const event = new KeyboardEvent("keydown", { key: "Enter" });
|
85
|
+
await page.rootInstance.handleKeyDown(event);
|
86
|
+
expect(page.rootInstance.selected).toBe(true);
|
87
|
+
});
|
88
|
+
it("should expand/collapse parent tree item on Enter", async () => {
|
89
|
+
const page = await newSpecPage({
|
90
|
+
components: [TreeItem],
|
91
|
+
html: `<ic-tree-item label="Item 1">
|
92
|
+
<ic-tree-item label="Item 1.1"></ic-tree-item>
|
93
|
+
<ic-tree-item label="Item 1.2"></ic-tree-item>
|
94
|
+
</ic-tree-item>`,
|
95
|
+
});
|
96
|
+
expect(page.rootInstance.expanded).toBe(false);
|
97
|
+
const event = new KeyboardEvent("keydown", { key: "Enter" });
|
98
|
+
await page.rootInstance.handleKeyDown(event);
|
99
|
+
expect(page.rootInstance.expanded).toBe(true);
|
100
|
+
});
|
101
|
+
it("should test rendering icon slot after initial render", async () => {
|
102
|
+
const page = await newSpecPage({
|
103
|
+
components: [TreeItem],
|
104
|
+
html: `<ic-tree-item label="Item 1"></ic-tree-item>`,
|
105
|
+
});
|
106
|
+
const icon = document.createElement("svg");
|
107
|
+
icon.setAttribute("slot", "icon");
|
108
|
+
page.rootInstance.hostMutationCallback([
|
109
|
+
{
|
110
|
+
type: "childList",
|
111
|
+
addedNodes: [icon],
|
112
|
+
removedNodes: [],
|
113
|
+
},
|
114
|
+
]);
|
115
|
+
});
|
116
|
+
});
|
117
|
+
//# sourceMappingURL=ic-tree-item.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ic-tree-item.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-tree-item/test/basic/ic-tree-item.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { TreeItem } from \"../../ic-tree-item\";\nimport { IcTypography as Typography } from \"@ukic/web-components/dist/components/ic-typography\";\n\ndescribe(\"ic-tree-item component\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [TreeItem],\n html: `<ic-tree-item label=\"Item 1\"></ic-tree-item>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with icon\", async () => {\n const page = await newSpecPage({\n components: [TreeItem],\n html: `<ic-tree-item label=\"Item 1\">\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#000000\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path\n d=\"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z\"\n />\n </svg>\n </ic-tree-item>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with child tree items\", async () => {\n const page = await newSpecPage({\n components: [TreeItem],\n html: `<ic-tree-item label=\"Item 1\">\n <ic-tree-item label=\"Item 1.1\"></ic-tree-item>\n <ic-tree-item label=\"Item 1.2\"></ic-tree-item>\n </ic-tree-item>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with router item slot\", async () => {\n const page = await newSpecPage({\n components: [TreeItem],\n html: `<ic-tree-item label=\"Item 1\">\n <a slot=\"router-item\" href=\"/\">Item 1</a>\n </ic-tree-item>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render disabled\", async () => {\n const page = await newSpecPage({\n components: [TreeItem],\n html: `<ic-tree-item label=\"Item 1\" disabled=\"true\"></ic-tree-item>`,\n });\n\n expect(page.root).toMatchSnapshot();\n\n page.rootInstance.disabled = false;\n\n await page.waitForChanges();\n expect(page.root).toMatchSnapshot(\"disabled-removed\");\n });\n\n it(\"should render selected\", async () => {\n const page = await newSpecPage({\n components: [TreeItem],\n html: `<ic-tree-item label=\"Item 1\" selected=\"true\"></ic-tree-item>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with slotted label\", async () => {\n const page = await newSpecPage({\n components: [TreeItem, Typography],\n html: `<ic-tree-item>\n <ic-typography slot=\"label\" variant=\"body\">Item 1</ic-typography>\n </ic-tree-item>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should select tree item on Enter\", async () => {\n const page = await newSpecPage({\n components: [TreeItem],\n html: `<ic-tree-item label=\"Item 1\"></ic-tree-item>`,\n });\n\n expect(page.rootInstance.selected).toBe(false);\n\n const event = new KeyboardEvent(\"keydown\", { key: \"Enter\" });\n\n await page.rootInstance.handleKeyDown(event);\n\n expect(page.rootInstance.selected).toBe(true);\n });\n\n it(\"should expand/collapse parent tree item on Enter\", async () => {\n const page = await newSpecPage({\n components: [TreeItem],\n html: `<ic-tree-item label=\"Item 1\">\n <ic-tree-item label=\"Item 1.1\"></ic-tree-item>\n <ic-tree-item label=\"Item 1.2\"></ic-tree-item>\n </ic-tree-item>`,\n });\n\n expect(page.rootInstance.expanded).toBe(false);\n\n const event = new KeyboardEvent(\"keydown\", { key: \"Enter\" });\n\n await page.rootInstance.handleKeyDown(event);\n\n expect(page.rootInstance.expanded).toBe(true);\n });\n\n it(\"should test rendering icon slot after initial render\", async () => {\n const page = await newSpecPage({\n components: [TreeItem],\n html: `<ic-tree-item label=\"Item 1\"></ic-tree-item>`,\n });\n\n const icon = document.createElement(\"svg\");\n icon.setAttribute(\"slot\", \"icon\");\n\n page.rootInstance.hostMutationCallback([\n {\n type: \"childList\",\n addedNodes: [icon],\n removedNodes: [],\n },\n ]);\n });\n});\n"]}
|
@@ -0,0 +1,74 @@
|
|
1
|
+
/**
|
2
|
+
* @prop --tree-view-width: Width of the tree view
|
3
|
+
*/
|
4
|
+
|
5
|
+
:host {
|
6
|
+
display: block;
|
7
|
+
width: var(--tree-view-width, 100%);
|
8
|
+
}
|
9
|
+
|
10
|
+
:host .heading-area-container {
|
11
|
+
border-bottom: var(--ic-border-default);
|
12
|
+
display: flex;
|
13
|
+
align-items: center;
|
14
|
+
min-height: calc(
|
15
|
+
var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px)
|
16
|
+
);
|
17
|
+
padding: 0 var(--ic-space-xs);
|
18
|
+
}
|
19
|
+
|
20
|
+
:host(.ic-tree-view-small) .heading-area-container {
|
21
|
+
min-height: calc(var(--ic-space-xl) - var(--ic-space-1px));
|
22
|
+
}
|
23
|
+
|
24
|
+
:host(.ic-tree-view-large) .heading-area-container {
|
25
|
+
min-height: calc(var(--ic-space-xxl) - var(--ic-space-1px));
|
26
|
+
}
|
27
|
+
|
28
|
+
:host(.ic-tree-view-truncate) .heading-area-container {
|
29
|
+
height: calc(var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px));
|
30
|
+
}
|
31
|
+
|
32
|
+
:host(.ic-tree-view-truncate.ic-tree-view-small) .heading-area-container {
|
33
|
+
height: calc(var(--ic-space-xl) - var(--ic-space-1px));
|
34
|
+
}
|
35
|
+
|
36
|
+
:host(.ic-tree-view-truncate.ic-tree-view-large) .heading-area-container {
|
37
|
+
height: calc(var(--ic-space-xxl) - var(--ic-space-1px));
|
38
|
+
}
|
39
|
+
|
40
|
+
:host(.ic-tree-view-light) .heading-area-container {
|
41
|
+
color: var(--ic-architectural-white);
|
42
|
+
fill: var(--ic-architectural-white);
|
43
|
+
}
|
44
|
+
|
45
|
+
.icon-container {
|
46
|
+
width: var(--ic-space-lg);
|
47
|
+
height: var(--ic-space-lg);
|
48
|
+
margin: 0 var(--ic-space-xs) 0 0;
|
49
|
+
}
|
50
|
+
|
51
|
+
:host(.ic-tree-view-small) .icon-container {
|
52
|
+
margin: 0 var(--ic-space-xxs) 0 0;
|
53
|
+
}
|
54
|
+
|
55
|
+
.ic-text-overflow {
|
56
|
+
white-space: nowrap;
|
57
|
+
text-overflow: ellipsis;
|
58
|
+
overflow: hidden;
|
59
|
+
}
|
60
|
+
|
61
|
+
.ic-tooltip-overflow {
|
62
|
+
overflow: hidden;
|
63
|
+
}
|
64
|
+
|
65
|
+
.tree-view-header.with-padding {
|
66
|
+
padding-right: var(--ic-space-xs);
|
67
|
+
}
|
68
|
+
|
69
|
+
/** High Contrast **/
|
70
|
+
@media (forced-colors: active) {
|
71
|
+
::slotted([slot="icon"]) {
|
72
|
+
fill: currentcolor;
|
73
|
+
}
|
74
|
+
}
|
@@ -0,0 +1,346 @@
|
|
1
|
+
import { h, Host, } from "@stencil/core";
|
2
|
+
import { isPropDefined, isSlotUsed, renderDynamicChildSlots, } from "../../utils/helpers";
|
3
|
+
let treeViewIds = 0;
|
4
|
+
/**
|
5
|
+
* @slot heading - Content is set as the tree view heading.
|
6
|
+
* @slot icon - Content is placed to the left of the heading.
|
7
|
+
*/
|
8
|
+
export class TreeView {
|
9
|
+
constructor() {
|
10
|
+
this.treeViewId = `ic-tree-view-${treeViewIds++}`;
|
11
|
+
this.treeItemTag = "IC-TREE-ITEM";
|
12
|
+
this.hostMutationObserver = null;
|
13
|
+
this.isLoaded = false;
|
14
|
+
this.handleKeyDown = (event) => {
|
15
|
+
var _a;
|
16
|
+
const focussedChild = this.treeItems.indexOf(this.treeItems.filter((el) => el === document.activeElement)[0]);
|
17
|
+
const expanded = (_a = this.treeItems[focussedChild]) === null || _a === void 0 ? void 0 : _a.expanded;
|
18
|
+
switch (event.key) {
|
19
|
+
case "ArrowDown":
|
20
|
+
this.treeItems[this.getNextItemToSelect(focussedChild, true)].setFocus();
|
21
|
+
if (focussedChild !== this.treeItems.length - 1) {
|
22
|
+
event.preventDefault();
|
23
|
+
}
|
24
|
+
break;
|
25
|
+
case "ArrowUp":
|
26
|
+
this.treeItems[this.getNextItemToSelect(focussedChild, false)].setFocus();
|
27
|
+
if (focussedChild !== 0) {
|
28
|
+
event.preventDefault();
|
29
|
+
}
|
30
|
+
break;
|
31
|
+
case "ArrowRight":
|
32
|
+
if (this.treeItems[focussedChild].isParent && !expanded) {
|
33
|
+
this.treeItems[focussedChild].expanded = true;
|
34
|
+
this.treeItems[focussedChild].hasParentExpanded = true;
|
35
|
+
this.treeItems[focussedChild].updateAriaLabel();
|
36
|
+
}
|
37
|
+
else if (this.treeItems[focussedChild].isParent && expanded) {
|
38
|
+
this.treeItems[focussedChild].children[0].setFocus();
|
39
|
+
}
|
40
|
+
event.preventDefault();
|
41
|
+
break;
|
42
|
+
case "ArrowLeft":
|
43
|
+
if (this.treeItems[focussedChild].isParent && expanded) {
|
44
|
+
this.treeItems[focussedChild].expanded = false;
|
45
|
+
this.treeItems[focussedChild].hasParentExpanded = false;
|
46
|
+
this.treeItems[focussedChild].updateAriaLabel();
|
47
|
+
}
|
48
|
+
else if (this.treeItems[focussedChild].parentElement.tagName ===
|
49
|
+
this.treeItemTag) {
|
50
|
+
this.treeItems[focussedChild].parentElement.setFocus();
|
51
|
+
}
|
52
|
+
event.preventDefault();
|
53
|
+
break;
|
54
|
+
}
|
55
|
+
};
|
56
|
+
this.getNextItemToSelect = (currentItem, movingDown) => {
|
57
|
+
const numItems = this.treeItems.length - 1;
|
58
|
+
if (currentItem < 1) {
|
59
|
+
currentItem = 0;
|
60
|
+
}
|
61
|
+
let nextItem = movingDown ? currentItem + 1 : currentItem - 1;
|
62
|
+
if (nextItem < 0) {
|
63
|
+
nextItem = 0;
|
64
|
+
}
|
65
|
+
else if (nextItem > numItems) {
|
66
|
+
nextItem = numItems;
|
67
|
+
}
|
68
|
+
const maxAttempts = numItems + 1;
|
69
|
+
let attempts = 0;
|
70
|
+
while (attempts < maxAttempts) {
|
71
|
+
if (nextItem < 0 || nextItem > numItems) {
|
72
|
+
return currentItem;
|
73
|
+
}
|
74
|
+
if (!this.treeItems[nextItem].disabled &&
|
75
|
+
(this.treeItems[nextItem].parentElement.tagName !== this.treeItemTag ||
|
76
|
+
this.treeItems[nextItem].parentElement
|
77
|
+
.expanded)) {
|
78
|
+
return nextItem;
|
79
|
+
}
|
80
|
+
if (nextItem === numItems && this.treeItems[nextItem].disabled) {
|
81
|
+
return currentItem;
|
82
|
+
}
|
83
|
+
nextItem = movingDown ? nextItem + 1 : nextItem - 1;
|
84
|
+
attempts++;
|
85
|
+
}
|
86
|
+
return currentItem;
|
87
|
+
};
|
88
|
+
this.linkTreeItems = () => {
|
89
|
+
this.treeItems.forEach((treeItem) => {
|
90
|
+
treeItem.setAttribute("context-id", this.treeViewId);
|
91
|
+
});
|
92
|
+
};
|
93
|
+
this.setTreeItems = () => {
|
94
|
+
this.treeItems = this.getAllTreeItems(this.el);
|
95
|
+
this.linkTreeItems();
|
96
|
+
};
|
97
|
+
this.addSlotChangeListener = () => {
|
98
|
+
this.el.addEventListener("slotchange", this.setTreeItems);
|
99
|
+
};
|
100
|
+
this.truncateTreeViewHeading = () => {
|
101
|
+
const typographyEl = this.el.shadowRoot.querySelector(".tree-view-header");
|
102
|
+
const tooltip = typographyEl === null || typographyEl === void 0 ? void 0 : typographyEl.closest("ic-tooltip");
|
103
|
+
const headingContainer = this.el.shadowRoot.querySelector(".heading-area-container");
|
104
|
+
if ((typographyEl === null || typographyEl === void 0 ? void 0 : typographyEl.scrollHeight) > (headingContainer === null || headingContainer === void 0 ? void 0 : headingContainer.clientHeight)) {
|
105
|
+
typographyEl.classList.add("ic-text-overflow");
|
106
|
+
if (!tooltip) {
|
107
|
+
const tooltipEl = document.createElement("ic-tooltip");
|
108
|
+
tooltipEl.setAttribute("target", this.el.id);
|
109
|
+
tooltipEl.setAttribute("label", typographyEl.textContent);
|
110
|
+
tooltipEl.classList.add("ic-tooltip-overflow");
|
111
|
+
tooltipEl.setAttribute("placement", "right");
|
112
|
+
headingContainer.appendChild(tooltipEl);
|
113
|
+
tooltipEl.appendChild(typographyEl);
|
114
|
+
}
|
115
|
+
}
|
116
|
+
};
|
117
|
+
this.isHeadingDefined = () => isPropDefined(this.heading) && this.heading !== null;
|
118
|
+
this.hasHeadingAreaContent = () => {
|
119
|
+
return (isSlotUsed(this.el, "heading") ||
|
120
|
+
this.isHeadingDefined() ||
|
121
|
+
isSlotUsed(this.el, "icon"));
|
122
|
+
};
|
123
|
+
this.treeItems = undefined;
|
124
|
+
this.appearance = "dark";
|
125
|
+
this.heading = "";
|
126
|
+
this.size = "default";
|
127
|
+
this.truncateHeading = false;
|
128
|
+
this.truncateTreeItems = false;
|
129
|
+
}
|
130
|
+
watchAppearanceHandler() {
|
131
|
+
this.treeItems.forEach((treeItem) => {
|
132
|
+
treeItem.appearance = this.appearance;
|
133
|
+
});
|
134
|
+
}
|
135
|
+
watchSizeHandler() {
|
136
|
+
this.treeItems.forEach((treeItem) => {
|
137
|
+
treeItem.size = this.size;
|
138
|
+
});
|
139
|
+
}
|
140
|
+
watchTruncateTreeItemsHandler() {
|
141
|
+
this.treeItems.forEach((treeItem) => {
|
142
|
+
if (treeItem.truncateTreeItem === undefined) {
|
143
|
+
treeItem.truncateTreeItem = this.truncateTreeItems;
|
144
|
+
}
|
145
|
+
});
|
146
|
+
}
|
147
|
+
disconnectedCallback() {
|
148
|
+
var _a, _b;
|
149
|
+
(_a = this.el) === null || _a === void 0 ? void 0 : _a.removeEventListener("slotchange", this.setTreeItems);
|
150
|
+
(_b = this.hostMutationObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
|
151
|
+
}
|
152
|
+
componentWillLoad() {
|
153
|
+
this.setTreeItems();
|
154
|
+
this.watchAppearanceHandler();
|
155
|
+
this.watchSizeHandler();
|
156
|
+
this.watchTruncateTreeItemsHandler();
|
157
|
+
}
|
158
|
+
componentDidRender() {
|
159
|
+
this.truncateHeading && this.truncateTreeViewHeading();
|
160
|
+
}
|
161
|
+
componentDidLoad() {
|
162
|
+
this.addSlotChangeListener();
|
163
|
+
this.hostMutationObserver = new MutationObserver((mutationList) => renderDynamicChildSlots(mutationList, "icon", this));
|
164
|
+
this.hostMutationObserver.observe(this.el, {
|
165
|
+
childList: true,
|
166
|
+
});
|
167
|
+
this.isLoaded = true;
|
168
|
+
}
|
169
|
+
handleTreeItemSelected(event) {
|
170
|
+
this.treeItems.forEach((treeItem) => {
|
171
|
+
if (treeItem.selected && treeItem.id !== event.detail.id) {
|
172
|
+
treeItem.selected = false;
|
173
|
+
}
|
174
|
+
});
|
175
|
+
}
|
176
|
+
getAllTreeItems(element) {
|
177
|
+
const treeItems = [];
|
178
|
+
const collectTreeItems = (el) => {
|
179
|
+
Array.from(el.children).forEach((child) => {
|
180
|
+
if (child.tagName === this.treeItemTag) {
|
181
|
+
treeItems.push(child);
|
182
|
+
}
|
183
|
+
collectTreeItems(child);
|
184
|
+
});
|
185
|
+
};
|
186
|
+
collectTreeItems(element);
|
187
|
+
return treeItems;
|
188
|
+
}
|
189
|
+
render() {
|
190
|
+
const { appearance, isLoaded, heading, size, truncateHeading } = this;
|
191
|
+
return (h(Host, { "context-id": this.treeViewId, class: {
|
192
|
+
[`ic-tree-view-${appearance}`]: true,
|
193
|
+
[`ic-tree-view-${size}`]: size !== "default",
|
194
|
+
"ic-tree-view-truncate": truncateHeading,
|
195
|
+
}, onKeyDown: this.handleKeyDown, "aria-label": this.isHeadingDefined() ? heading : null }, this.hasHeadingAreaContent() && (h("div", { class: "heading-area-container" }, isSlotUsed(this.el, "icon") && (h("div", { class: "icon-container" }, h("slot", { name: "icon" }))), h("ic-typography", { variant: "subtitle-large", class: {
|
196
|
+
"tree-view-header": true,
|
197
|
+
"with-padding": truncateHeading && !isLoaded,
|
198
|
+
} }, isSlotUsed(this.el, "heading") ? (h("slot", { name: "heading" })) : (heading)))), h("slot", null)));
|
199
|
+
}
|
200
|
+
static get is() { return "ic-tree-view"; }
|
201
|
+
static get encapsulation() { return "shadow"; }
|
202
|
+
static get originalStyleUrls() {
|
203
|
+
return {
|
204
|
+
"$": ["ic-tree-view.css"]
|
205
|
+
};
|
206
|
+
}
|
207
|
+
static get styleUrls() {
|
208
|
+
return {
|
209
|
+
"$": ["ic-tree-view.css"]
|
210
|
+
};
|
211
|
+
}
|
212
|
+
static get properties() {
|
213
|
+
return {
|
214
|
+
"appearance": {
|
215
|
+
"type": "string",
|
216
|
+
"mutable": false,
|
217
|
+
"complexType": {
|
218
|
+
"original": "IcThemeForegroundNoDefault",
|
219
|
+
"resolved": "\"dark\" | \"light\"",
|
220
|
+
"references": {
|
221
|
+
"IcThemeForegroundNoDefault": {
|
222
|
+
"location": "import",
|
223
|
+
"path": "../../utils/types",
|
224
|
+
"id": "src/utils/types.ts::IcThemeForegroundNoDefault"
|
225
|
+
}
|
226
|
+
}
|
227
|
+
},
|
228
|
+
"required": false,
|
229
|
+
"optional": true,
|
230
|
+
"docs": {
|
231
|
+
"tags": [],
|
232
|
+
"text": "The appearance of the tree view, e.g. dark, or light."
|
233
|
+
},
|
234
|
+
"attribute": "appearance",
|
235
|
+
"reflect": false,
|
236
|
+
"defaultValue": "\"dark\""
|
237
|
+
},
|
238
|
+
"heading": {
|
239
|
+
"type": "string",
|
240
|
+
"mutable": false,
|
241
|
+
"complexType": {
|
242
|
+
"original": "string",
|
243
|
+
"resolved": "string",
|
244
|
+
"references": {}
|
245
|
+
},
|
246
|
+
"required": false,
|
247
|
+
"optional": true,
|
248
|
+
"docs": {
|
249
|
+
"tags": [],
|
250
|
+
"text": "The heading of the tree view."
|
251
|
+
},
|
252
|
+
"attribute": "heading",
|
253
|
+
"reflect": false,
|
254
|
+
"defaultValue": "\"\""
|
255
|
+
},
|
256
|
+
"size": {
|
257
|
+
"type": "string",
|
258
|
+
"mutable": false,
|
259
|
+
"complexType": {
|
260
|
+
"original": "IcSizes",
|
261
|
+
"resolved": "\"default\" | \"large\" | \"small\"",
|
262
|
+
"references": {
|
263
|
+
"IcSizes": {
|
264
|
+
"location": "import",
|
265
|
+
"path": "../../utils/types",
|
266
|
+
"id": "src/utils/types.ts::IcSizes"
|
267
|
+
}
|
268
|
+
}
|
269
|
+
},
|
270
|
+
"required": false,
|
271
|
+
"optional": true,
|
272
|
+
"docs": {
|
273
|
+
"tags": [],
|
274
|
+
"text": "The size of the tree view."
|
275
|
+
},
|
276
|
+
"attribute": "size",
|
277
|
+
"reflect": false,
|
278
|
+
"defaultValue": "\"default\""
|
279
|
+
},
|
280
|
+
"truncateHeading": {
|
281
|
+
"type": "boolean",
|
282
|
+
"mutable": false,
|
283
|
+
"complexType": {
|
284
|
+
"original": "boolean",
|
285
|
+
"resolved": "boolean",
|
286
|
+
"references": {}
|
287
|
+
},
|
288
|
+
"required": false,
|
289
|
+
"optional": true,
|
290
|
+
"docs": {
|
291
|
+
"tags": [],
|
292
|
+
"text": "If `true`, the tree view heading will be truncated instead of text wrapping."
|
293
|
+
},
|
294
|
+
"attribute": "truncate-heading",
|
295
|
+
"reflect": false,
|
296
|
+
"defaultValue": "false"
|
297
|
+
},
|
298
|
+
"truncateTreeItems": {
|
299
|
+
"type": "boolean",
|
300
|
+
"mutable": false,
|
301
|
+
"complexType": {
|
302
|
+
"original": "boolean",
|
303
|
+
"resolved": "boolean",
|
304
|
+
"references": {}
|
305
|
+
},
|
306
|
+
"required": false,
|
307
|
+
"optional": true,
|
308
|
+
"docs": {
|
309
|
+
"tags": [],
|
310
|
+
"text": "If `true`, tree items will be truncated, unless they are individually overridden."
|
311
|
+
},
|
312
|
+
"attribute": "truncate-tree-items",
|
313
|
+
"reflect": false,
|
314
|
+
"defaultValue": "false"
|
315
|
+
}
|
316
|
+
};
|
317
|
+
}
|
318
|
+
static get states() {
|
319
|
+
return {
|
320
|
+
"treeItems": {}
|
321
|
+
};
|
322
|
+
}
|
323
|
+
static get elementRef() { return "el"; }
|
324
|
+
static get watchers() {
|
325
|
+
return [{
|
326
|
+
"propName": "appearance",
|
327
|
+
"methodName": "watchAppearanceHandler"
|
328
|
+
}, {
|
329
|
+
"propName": "size",
|
330
|
+
"methodName": "watchSizeHandler"
|
331
|
+
}, {
|
332
|
+
"propName": "truncateTreeItems",
|
333
|
+
"methodName": "watchTruncateTreeItemsHandler"
|
334
|
+
}];
|
335
|
+
}
|
336
|
+
static get listeners() {
|
337
|
+
return [{
|
338
|
+
"name": "icTreeItemSelected",
|
339
|
+
"method": "handleTreeItemSelected",
|
340
|
+
"target": undefined,
|
341
|
+
"capture": false,
|
342
|
+
"passive": false
|
343
|
+
}];
|
344
|
+
}
|
345
|
+
}
|
346
|
+
//# sourceMappingURL=ic-tree-view.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ic-tree-view.js","sourceRoot":"","sources":["../../../src/components/ic-tree-view/ic-tree-view.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n h,\n Prop,\n Element,\n Host,\n Watch,\n State,\n Listen,\n} from \"@stencil/core\";\nimport { IcSizes, IcThemeForegroundNoDefault } from \"../../utils/types\";\nimport {\n isPropDefined,\n isSlotUsed,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\n\nlet treeViewIds = 0;\n\n/**\n * @slot heading - Content is set as the tree view heading.\n * @slot icon - Content is placed to the left of the heading.\n */\n\n@Component({\n tag: \"ic-tree-view\",\n styleUrl: \"ic-tree-view.css\",\n shadow: true,\n})\nexport class TreeView {\n private treeViewId = `ic-tree-view-${treeViewIds++}`;\n private treeItemTag = \"IC-TREE-ITEM\";\n private hostMutationObserver: MutationObserver = null;\n private isLoaded = false;\n\n @Element() el: HTMLIcTreeViewElement;\n\n @State() treeItems: HTMLIcTreeItemElement[];\n\n /**\n * The appearance of the tree view, e.g. dark, or light.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n @Watch(\"appearance\")\n watchAppearanceHandler() {\n this.treeItems.forEach((treeItem) => {\n treeItem.appearance = this.appearance;\n });\n }\n\n /**\n * The heading of the tree view.\n */\n @Prop() heading?: string = \"\";\n\n /**\n * The size of the tree view.\n */\n @Prop() size?: IcSizes = \"default\";\n @Watch(\"size\")\n watchSizeHandler() {\n this.treeItems.forEach((treeItem) => {\n treeItem.size = this.size;\n });\n }\n\n /**\n * If `true`, the tree view heading will be truncated instead of text wrapping.\n */\n @Prop() truncateHeading?: boolean = false;\n\n /**\n * If `true`, tree items will be truncated, unless they are individually overridden.\n */\n @Prop() truncateTreeItems?: boolean = false;\n @Watch(\"truncateTreeItems\")\n watchTruncateTreeItemsHandler() {\n this.treeItems.forEach((treeItem) => {\n if (treeItem.truncateTreeItem === undefined) {\n treeItem.truncateTreeItem = this.truncateTreeItems;\n }\n });\n }\n\n disconnectedCallback(): void {\n this.el?.removeEventListener(\"slotchange\", this.setTreeItems);\n\n this.hostMutationObserver?.disconnect();\n }\n componentWillLoad(): void {\n this.setTreeItems();\n\n this.watchAppearanceHandler();\n this.watchSizeHandler();\n this.watchTruncateTreeItemsHandler();\n }\n\n componentDidRender(): void {\n this.truncateHeading && this.truncateTreeViewHeading();\n }\n\n componentDidLoad(): void {\n this.addSlotChangeListener();\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(mutationList, \"icon\", this)\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n\n this.isLoaded = true;\n }\n\n @Listen(\"icTreeItemSelected\")\n handleTreeItemSelected(event: CustomEvent): void {\n this.treeItems.forEach((treeItem) => {\n if (treeItem.selected && treeItem.id !== event.detail.id) {\n treeItem.selected = false;\n }\n });\n }\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n const focussedChild = this.treeItems.indexOf(\n this.treeItems.filter((el) => el === document.activeElement)[0]\n );\n const expanded = this.treeItems[focussedChild]?.expanded;\n switch (event.key) {\n case \"ArrowDown\":\n this.treeItems[\n this.getNextItemToSelect(focussedChild, true)\n ].setFocus();\n if (focussedChild !== this.treeItems.length - 1) {\n event.preventDefault();\n }\n break;\n case \"ArrowUp\":\n this.treeItems[\n this.getNextItemToSelect(focussedChild, false)\n ].setFocus();\n if (focussedChild !== 0) {\n event.preventDefault();\n }\n break;\n case \"ArrowRight\":\n if (this.treeItems[focussedChild].isParent && !expanded) {\n this.treeItems[focussedChild].expanded = true;\n this.treeItems[focussedChild].hasParentExpanded = true;\n this.treeItems[focussedChild].updateAriaLabel();\n } else if (this.treeItems[focussedChild].isParent && expanded) {\n (\n this.treeItems[focussedChild].children[0] as HTMLIcTreeItemElement\n ).setFocus();\n }\n event.preventDefault();\n break;\n case \"ArrowLeft\":\n if (this.treeItems[focussedChild].isParent && expanded) {\n this.treeItems[focussedChild].expanded = false;\n this.treeItems[focussedChild].hasParentExpanded = false;\n this.treeItems[focussedChild].updateAriaLabel();\n } else if (\n this.treeItems[focussedChild].parentElement.tagName ===\n this.treeItemTag\n ) {\n (\n this.treeItems[focussedChild].parentElement as HTMLIcTreeItemElement\n ).setFocus();\n }\n event.preventDefault();\n break;\n }\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numItems = this.treeItems.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n if (nextItem < 0) {\n nextItem = 0;\n } else if (nextItem > numItems) {\n nextItem = numItems;\n }\n\n const maxAttempts = numItems + 1;\n let attempts = 0;\n\n while (attempts < maxAttempts) {\n if (nextItem < 0 || nextItem > numItems) {\n return currentItem;\n }\n\n if (\n !this.treeItems[nextItem].disabled &&\n (this.treeItems[nextItem].parentElement.tagName !== this.treeItemTag ||\n (this.treeItems[nextItem].parentElement as HTMLIcTreeItemElement)\n .expanded)\n ) {\n return nextItem;\n }\n\n if (nextItem === numItems && this.treeItems[nextItem].disabled) {\n return currentItem;\n }\n\n nextItem = movingDown ? nextItem + 1 : nextItem - 1;\n attempts++;\n }\n\n return currentItem;\n };\n\n private linkTreeItems = () => {\n this.treeItems.forEach((treeItem) => {\n treeItem.setAttribute(\"context-id\", this.treeViewId);\n });\n };\n\n private setTreeItems = () => {\n this.treeItems = this.getAllTreeItems(this.el as HTMLElement);\n\n this.linkTreeItems();\n };\n\n private getAllTreeItems(element: HTMLElement): HTMLIcTreeItemElement[] {\n const treeItems: HTMLIcTreeItemElement[] = [];\n\n const collectTreeItems = (el: HTMLElement) => {\n Array.from(el.children).forEach((child) => {\n if (child.tagName === this.treeItemTag) {\n treeItems.push(child as HTMLIcTreeItemElement);\n }\n\n collectTreeItems(child as HTMLElement);\n });\n };\n\n collectTreeItems(element);\n return treeItems;\n }\n\n private addSlotChangeListener = () => {\n this.el.addEventListener(\"slotchange\", this.setTreeItems);\n };\n\n private truncateTreeViewHeading = () => {\n const typographyEl: HTMLIcTypographyElement =\n this.el.shadowRoot.querySelector(\".tree-view-header\");\n const tooltip = typographyEl?.closest(\"ic-tooltip\");\n const headingContainer: HTMLElement = this.el.shadowRoot.querySelector(\n \".heading-area-container\"\n );\n\n if (typographyEl?.scrollHeight > headingContainer?.clientHeight) {\n typographyEl.classList.add(\"ic-text-overflow\");\n\n if (!tooltip) {\n const tooltipEl = document.createElement(\"ic-tooltip\");\n tooltipEl.setAttribute(\"target\", this.el.id);\n tooltipEl.setAttribute(\"label\", typographyEl.textContent);\n tooltipEl.classList.add(\"ic-tooltip-overflow\");\n tooltipEl.setAttribute(\"placement\", \"right\");\n headingContainer.appendChild(tooltipEl);\n tooltipEl.appendChild(typographyEl);\n }\n }\n };\n\n private isHeadingDefined = () =>\n isPropDefined(this.heading) && this.heading !== null;\n\n private hasHeadingAreaContent = (): boolean => {\n return (\n isSlotUsed(this.el, \"heading\") ||\n this.isHeadingDefined() ||\n isSlotUsed(this.el, \"icon\")\n );\n };\n\n render() {\n const { appearance, isLoaded, heading, size, truncateHeading } = this;\n\n return (\n <Host\n context-id={this.treeViewId}\n class={{\n [`ic-tree-view-${appearance}`]: true,\n [`ic-tree-view-${size}`]: size !== \"default\",\n \"ic-tree-view-truncate\": truncateHeading,\n }}\n onKeyDown={this.handleKeyDown}\n aria-label={this.isHeadingDefined() ? heading : null}\n >\n {this.hasHeadingAreaContent() && (\n <div class=\"heading-area-container\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n <ic-typography\n variant=\"subtitle-large\"\n class={{\n \"tree-view-header\": true,\n \"with-padding\": truncateHeading && !isLoaded,\n }}\n >\n {isSlotUsed(this.el, \"heading\") ? (\n <slot name=\"heading\" />\n ) : (\n heading\n )}\n </ic-typography>\n </div>\n )}\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
|