@oliasoft-open-source/react-ui-library 3.12.0-beta-20 → 3.12.0-beta-21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common-enum.d.ts +73 -0
- package/dist/common-enum.js +81 -0
- package/dist/components/accordion/accordion.d.ts +4 -0
- package/dist/components/accordion/accordion.interface.d.ts +17 -0
- package/dist/components/accordion/accordion.interface.js +1 -0
- package/dist/components/accordion/accordion.js +17 -0
- package/dist/components/accordion/accordion.stories.d.ts +11 -0
- package/dist/components/accordion/accordion.stories.js +140 -0
- package/dist/components/accordion/chevron/chevron.d.ts +5 -0
- package/dist/components/accordion/chevron/chevron.js +8 -0
- package/dist/components/accordion/enum.d.ts +4 -0
- package/dist/components/accordion/enum.js +5 -0
- package/dist/components/accordion/helpers/accordion-with-default-toggle.d.ts +12 -0
- package/dist/components/accordion/helpers/accordion-with-default-toggle.js +35 -0
- package/dist/components/actions/actions.d.ts +14 -0
- package/dist/components/actions/actions.interface.d.ts +25 -0
- package/dist/components/actions/actions.interface.js +1 -0
- package/dist/components/actions/actions.js +66 -0
- package/dist/components/actions/actions.stories.d.ts +25 -0
- package/dist/components/actions/actions.stories.js +67 -0
- package/dist/components/badge/badge.d.ts +10 -0
- package/dist/components/badge/badge.js +21 -0
- package/dist/components/badge/badge.stories.d.ts +7 -0
- package/dist/components/badge/badge.stories.js +21 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts +6 -0
- package/dist/components/breadcrumb/breadcrumb.js +11 -0
- package/dist/components/breadcrumb/breadcrumb.stories.d.ts +5 -0
- package/dist/components/breadcrumb/breadcrumb.stories.js +36 -0
- package/dist/components/breadcrumb/enum.d.ts +5 -0
- package/dist/components/breadcrumb/enum.js +6 -0
- package/dist/components/breadcrumb/link.d.ts +12 -0
- package/dist/components/breadcrumb/link.js +12 -0
- package/dist/components/button/button.d.ts +31 -0
- package/dist/components/button/button.js +52 -0
- package/dist/components/button/button.stories.d.ts +13 -0
- package/dist/components/button/button.stories.js +63 -0
- package/dist/components/button/enum.d.ts +5 -0
- package/dist/components/button/enum.js +6 -0
- package/dist/components/button-group/button-group.d.ts +38 -0
- package/dist/components/button-group/button-group.js +83 -0
- package/dist/components/button-group/button-group.stories-data.d.ts +6 -0
- package/dist/components/button-group/button-group.stories-data.js +61 -0
- package/dist/components/button-group/button-group.stories.d.ts +9 -0
- package/dist/components/button-group/button-group.stories.js +51 -0
- package/dist/components/card/card.d.ts +10 -0
- package/dist/components/card/card.js +6 -0
- package/dist/components/card/card.stories.d.ts +8 -0
- package/dist/components/card/card.stories.js +27 -0
- package/dist/components/check-box/check-box.d.ts +19 -0
- package/dist/components/check-box/check-box.js +19 -0
- package/dist/components/check-box/check-box.stories.d.ts +6 -0
- package/dist/components/check-box/check-box.stories.js +29 -0
- package/dist/components/color/color.stories-data.d.ts +9 -0
- package/dist/components/color/color.stories-data.js +55 -0
- package/dist/components/dialog/dialog.d.ts +17 -0
- package/dist/components/dialog/dialog.js +18 -0
- package/dist/components/divider/divider.d.ts +9 -0
- package/dist/components/divider/divider.js +19 -0
- package/dist/components/divider/divider.stories.d.ts +7 -0
- package/dist/components/divider/divider.stories.js +41 -0
- package/dist/components/drawer/drawer-resize-wrapper.d.ts +2 -0
- package/dist/components/drawer/drawer-resize-wrapper.js +33 -0
- package/dist/components/drawer/drawer-tabs.d.ts +2 -0
- package/dist/components/drawer/drawer-tabs.js +15 -0
- package/dist/components/drawer/drawer.constants.d.ts +2 -0
- package/dist/components/drawer/drawer.constants.js +2 -0
- package/dist/components/drawer/drawer.d.ts +2 -0
- package/dist/components/drawer/drawer.interface.d.ts +55 -0
- package/dist/components/drawer/drawer.interface.js +1 -0
- package/dist/components/drawer/drawer.js +80 -0
- package/dist/components/drawer/drawer.stories.d.ts +40 -0
- package/dist/components/drawer/drawer.stories.js +176 -0
- package/dist/components/empty/empty.d.ts +8 -0
- package/dist/components/empty/empty.js +6 -0
- package/dist/components/empty/empty.stories.d.ts +5 -0
- package/dist/components/empty/empty.stories.js +19 -0
- package/dist/components/file-input/enum.d.ts +6 -0
- package/dist/components/file-input/enum.js +7 -0
- package/dist/components/file-input/file-input.d.ts +18 -0
- package/dist/components/file-input/file-input.js +47 -0
- package/dist/components/file-input/file-input.stories.d.ts +7 -0
- package/dist/components/file-input/file-input.stories.js +65 -0
- package/dist/components/form/field.d.ts +16 -0
- package/dist/components/form/field.js +13 -0
- package/dist/components/form/field.stories.d.ts +12 -0
- package/dist/components/form/field.stories.js +51 -0
- package/dist/components/form/form.stories.d.ts +27 -0
- package/dist/components/form/form.stories.js +76 -0
- package/dist/components/heading/heading.d.ts +19 -0
- package/dist/components/heading/heading.js +9 -0
- package/dist/components/heading/heading.stories.d.ts +10 -0
- package/dist/components/heading/heading.stories.js +46 -0
- package/dist/components/help-icon/help-icon.d.ts +10 -0
- package/dist/components/help-icon/help-icon.js +19 -0
- package/dist/components/help-icon/help-icon.stories.d.ts +10 -0
- package/dist/components/help-icon/help-icon.stories.js +37 -0
- package/dist/components/icon/icon.d.ts +16 -0
- package/dist/components/icon/icon.js +31 -0
- package/dist/components/icon/icon.stories.d.ts +25 -0
- package/dist/components/icon/icon.stories.js +37 -0
- package/dist/components/icon/named-icon.d.ts +6 -0
- package/dist/components/icon/named-icon.js +418 -0
- package/dist/components/input/input.d.ts +26 -0
- package/dist/components/input/input.js +40 -0
- package/dist/components/input/input.stories.d.ts +5 -0
- package/dist/components/input/input.stories.js +22 -0
- package/dist/components/input-group/input-group-addon/input-group-addon.d.ts +8 -0
- package/dist/components/input-group/input-group-addon/input-group-addon.js +20 -0
- package/dist/components/input-group/input-group.d.ts +7 -0
- package/dist/components/input-group/input-group.js +27 -0
- package/dist/components/input-group/input-group.stories.d.ts +8 -0
- package/dist/components/input-group/input-group.stories.js +65 -0
- package/dist/components/label/label.d.ts +24 -0
- package/dist/components/label/label.js +14 -0
- package/dist/components/label/label.stories.d.ts +10 -0
- package/dist/components/label/label.stories.js +42 -0
- package/dist/components/layout/column/column.d.ts +18 -0
- package/dist/components/layout/column/column.js +13 -0
- package/dist/components/layout/column/styles.d.ts +15 -0
- package/dist/components/layout/column/styles.js +41 -0
- package/dist/components/layout/column.stories.d.ts +20 -0
- package/dist/components/layout/column.stories.js +53 -0
- package/dist/components/layout/flex/flex.d.ts +11 -0
- package/dist/components/layout/flex/flex.js +18 -0
- package/dist/components/layout/flex/flex.stories.d.ts +10 -0
- package/dist/components/layout/flex/flex.stories.js +52 -0
- package/dist/components/layout/form-row/form-row.d.ts +5 -0
- package/dist/components/layout/form-row/form-row.js +5 -0
- package/dist/components/layout/grid/grid.d.ts +11 -0
- package/dist/components/layout/grid/grid.js +41 -0
- package/dist/components/layout/grid/grid.stories.d.ts +9 -0
- package/dist/components/layout/grid/grid.stories.js +48 -0
- package/dist/components/layout/page/page.d.ts +9 -0
- package/dist/components/layout/page/page.js +11 -0
- package/dist/components/layout/page.stories.d.ts +9 -0
- package/dist/components/layout/page.stories.js +32 -0
- package/dist/components/layout/placeholder.d.ts +1 -0
- package/dist/components/layout/placeholder.js +1 -0
- package/dist/components/layout/print-header/print-header.d.ts +7 -0
- package/dist/components/layout/print-header/print-header.js +3 -0
- package/dist/components/layout/row/row.d.ts +15 -0
- package/dist/components/layout/row/row.js +24 -0
- package/dist/components/layout/spacer/spacer.d.ts +6 -0
- package/dist/components/layout/spacer/spacer.js +8 -0
- package/dist/components/list/list-row/item-content.d.ts +2 -0
- package/dist/components/list/list-row/item-content.js +9 -0
- package/dist/components/list/list-row/label.d.ts +2 -0
- package/dist/components/list/list-row/label.js +6 -0
- package/dist/components/list/list-row/list-heading.d.ts +3 -0
- package/dist/components/list/list-row/list-heading.js +10 -0
- package/dist/components/list/list-row/list-row.d.ts +3 -0
- package/dist/components/list/list-row/list-row.interface.d.ts +105 -0
- package/dist/components/list/list-row/list-row.interface.js +1 -0
- package/dist/components/list/list-row/list-row.js +56 -0
- package/dist/components/list/list-row/list-subheading.d.ts +3 -0
- package/dist/components/list/list-row/list-subheading.js +27 -0
- package/dist/components/list/list-row/meta-content.d.ts +2 -0
- package/dist/components/list/list-row/meta-content.js +12 -0
- package/dist/components/list/list-row/meta-count.d.ts +2 -0
- package/dist/components/list/list-row/meta-count.js +5 -0
- package/dist/components/list/list-row/name.d.ts +3 -0
- package/dist/components/list/list-row/name.js +12 -0
- package/dist/components/list/list.d.ts +2 -0
- package/dist/components/list/list.interface.d.ts +55 -0
- package/dist/components/list/list.interface.js +1 -0
- package/dist/components/list/list.js +86 -0
- package/dist/components/list/list.stories-data.d.ts +310 -0
- package/dist/components/list/list.stories-data.js +270 -0
- package/dist/components/list/list.stories.d.ts +22 -0
- package/dist/components/list/list.stories.js +411 -0
- package/dist/components/list/toggle-narrow.d.ts +2 -0
- package/dist/components/list/toggle-narrow.js +7 -0
- package/dist/components/loader/loader.d.ts +14 -0
- package/dist/components/loader/loader.js +15 -0
- package/dist/components/loader/loader.stories.d.ts +32 -0
- package/dist/components/loader/loader.stories.js +92 -0
- package/dist/components/menu/enum.d.ts +11 -0
- package/dist/components/menu/enum.js +13 -0
- package/dist/components/menu/index.d.ts +4 -0
- package/dist/components/menu/index.js +8 -0
- package/dist/components/menu/layer/divider.d.ts +1 -0
- package/dist/components/menu/layer/divider.js +3 -0
- package/dist/components/menu/layer/heading.d.ts +8 -0
- package/dist/components/menu/layer/heading.js +3 -0
- package/dist/components/menu/layer/layer.d.ts +15 -0
- package/dist/components/menu/layer/layer.js +47 -0
- package/dist/components/menu/layer/option.d.ts +19 -0
- package/dist/components/menu/layer/option.js +22 -0
- package/dist/components/menu/layer/path.d.ts +5 -0
- package/dist/components/menu/layer/path.js +30 -0
- package/dist/components/menu/layer/placementOptions.d.ts +3 -0
- package/dist/components/menu/layer/placementOptions.js +6 -0
- package/dist/components/menu/layer/section.d.ts +10 -0
- package/dist/components/menu/layer/section.js +23 -0
- package/dist/components/menu/menu.d.ts +3 -0
- package/dist/components/menu/menu.interface.d.ts +82 -0
- package/dist/components/menu/menu.interface.js +1 -0
- package/dist/components/menu/menu.js +92 -0
- package/dist/components/menu/menu.stories-data.d.ts +101 -0
- package/dist/components/menu/menu.stories-data.js +182 -0
- package/dist/components/menu/menu.stories.d.ts +31 -0
- package/dist/components/menu/menu.stories.js +104 -0
- package/dist/components/menu/menu.test.d.ts +1 -0
- package/dist/components/menu/menu.test.js +46 -0
- package/dist/components/menu/trigger/button.d.ts +14 -0
- package/dist/components/menu/trigger/button.js +13 -0
- package/dist/components/menu/trigger/component.d.ts +8 -0
- package/dist/components/menu/trigger/component.js +6 -0
- package/dist/components/menu/trigger/text.d.ts +10 -0
- package/dist/components/menu/trigger/text.js +9 -0
- package/dist/components/menu/trigger/trigger.d.ts +27 -0
- package/dist/components/menu/trigger/trigger.js +35 -0
- package/dist/components/message/dismiss.d.ts +8 -0
- package/dist/components/message/dismiss.js +17 -0
- package/dist/components/message/enum.d.ts +9 -0
- package/dist/components/message/enum.js +11 -0
- package/dist/components/message/message.d.ts +19 -0
- package/dist/components/message/message.js +49 -0
- package/dist/components/message/message.stories.d.ts +11 -0
- package/dist/components/message/message.stories.js +82 -0
- package/dist/components/modal/modal.d.ts +8 -0
- package/dist/components/modal/modal.js +7 -0
- package/dist/components/modal/modal.stories.d.ts +12 -0
- package/dist/components/modal/modal.stories.js +107 -0
- package/dist/components/number-input/number-input.d.ts +26 -0
- package/dist/components/number-input/number-input.js +66 -0
- package/dist/components/number-input/number-input.stories.d.ts +13 -0
- package/dist/components/number-input/number-input.stories.js +43 -0
- package/dist/components/option-dropdown/enum.d.ts +5 -0
- package/dist/components/option-dropdown/enum.js +6 -0
- package/dist/components/option-dropdown/heading.d.ts +4 -0
- package/dist/components/option-dropdown/heading.js +3 -0
- package/dist/components/option-dropdown/layer.d.ts +16 -0
- package/dist/components/option-dropdown/layer.js +43 -0
- package/dist/components/option-dropdown/option-dropdown.d.ts +19 -0
- package/dist/components/option-dropdown/option-dropdown.js +17 -0
- package/dist/components/option-dropdown/option-dropdown.stories.d.ts +5 -0
- package/dist/components/option-dropdown/option-dropdown.stories.js +35 -0
- package/dist/components/option-dropdown/option.d.ts +10 -0
- package/dist/components/option-dropdown/option.js +7 -0
- package/dist/components/pagination/pagination.d.ts +13 -0
- package/dist/components/pagination/pagination.interface.d.ts +15 -0
- package/dist/components/pagination/pagination.interface.js +1 -0
- package/dist/components/pagination/pagination.js +33 -0
- package/dist/components/pagination/pagination.stories.d.ts +7 -0
- package/dist/components/pagination/pagination.stories.js +62 -0
- package/dist/components/pagination/pagination.test.d.ts +1 -0
- package/dist/components/pagination/pagination.test.js +84 -0
- package/dist/components/pagination/pagination.viewdata.d.ts +17 -0
- package/dist/components/pagination/pagination.viewdata.js +53 -0
- package/dist/components/pop-confirm/content.d.ts +9 -0
- package/dist/components/pop-confirm/content.js +5 -0
- package/dist/components/pop-confirm/pop-confirm.d.ts +14 -0
- package/dist/components/pop-confirm/pop-confirm.js +7 -0
- package/dist/components/pop-confirm/pop-confirm.stories.d.ts +4 -0
- package/dist/components/pop-confirm/pop-confirm.stories.js +43 -0
- package/dist/components/popover/popover.d.ts +14 -0
- package/dist/components/popover/popover.js +39 -0
- package/dist/components/popover/popover.stories.d.ts +7 -0
- package/dist/components/popover/popover.stories.js +43 -0
- package/dist/components/portal/portal.d.ts +6 -0
- package/dist/components/portal/portal.js +11 -0
- package/dist/components/portal/portal.stories.d.ts +7 -0
- package/dist/components/portal/portal.stories.js +51 -0
- package/dist/components/progress-bar/progress-bar.d.ts +9 -0
- package/dist/components/progress-bar/progress-bar.js +21 -0
- package/dist/components/progress-bar/progress-bar.stories.d.ts +4 -0
- package/dist/components/progress-bar/progress-bar.stories.js +16 -0
- package/dist/components/radio-button/radio-button.d.ts +27 -0
- package/dist/components/radio-button/radio-button.js +45 -0
- package/dist/components/radio-button/radio-button.stories.d.ts +5 -0
- package/dist/components/radio-button/radio-button.stories.js +45 -0
- package/dist/components/radio-button/radio-input.d.ts +16 -0
- package/dist/components/radio-button/radio-input.js +9 -0
- package/dist/components/rich-text-input/rich-text-input.d.ts +10 -0
- package/dist/components/rich-text-input/rich-text-input.js +35 -0
- package/dist/components/rich-text-input/rich-text-input.stories.d.ts +9 -0
- package/dist/components/rich-text-input/rich-text-input.stories.js +60 -0
- package/dist/components/rich-text-input/rich-text-toolbar/enum.d.ts +7 -0
- package/dist/components/rich-text-input/rich-text-toolbar/enum.js +8 -0
- package/dist/components/rich-text-input/rich-text-toolbar/rich-text-toolbar.d.ts +7 -0
- package/dist/components/rich-text-input/rich-text-toolbar/rich-text-toolbar.js +42 -0
- package/dist/components/select/custom-select/custom-select.d.ts +2 -0
- package/dist/components/select/custom-select/custom-select.interface.d.ts +47 -0
- package/dist/components/select/custom-select/custom-select.interface.js +1 -0
- package/dist/components/select/custom-select/custom-select.js +51 -0
- package/dist/components/select/custom-select/custom-select.reducer.d.ts +6 -0
- package/dist/components/select/custom-select/custom-select.reducer.js +140 -0
- package/dist/components/select/custom-select/enum.d.ts +11 -0
- package/dist/components/select/custom-select/enum.js +12 -0
- package/dist/components/select/custom-select/helper.d.ts +3 -0
- package/dist/components/select/custom-select/helper.js +55 -0
- package/dist/components/select/custom-select/hooks/enum.d.ts +20 -0
- package/dist/components/select/custom-select/hooks/enum.js +22 -0
- package/dist/components/select/custom-select/hooks/use-custom-select-logic.d.ts +39 -0
- package/dist/components/select/custom-select/hooks/use-custom-select-logic.js +222 -0
- package/dist/components/select/custom-select/layer/heading.d.ts +3 -0
- package/dist/components/select/custom-select/layer/heading.js +5 -0
- package/dist/components/select/custom-select/layer/layer.d.ts +17 -0
- package/dist/components/select/custom-select/layer/layer.js +25 -0
- package/dist/components/select/custom-select/layer/option.d.ts +15 -0
- package/dist/components/select/custom-select/layer/option.js +10 -0
- package/dist/components/select/custom-select/layer/placementOptions.d.ts +10 -0
- package/dist/components/select/custom-select/layer/placementOptions.js +7 -0
- package/dist/components/select/custom-select/layer/section.d.ts +15 -0
- package/dist/components/select/custom-select/layer/section.js +16 -0
- package/dist/components/select/custom-select/reducer.interface.d.ts +34 -0
- package/dist/components/select/custom-select/reducer.interface.js +1 -0
- package/dist/components/select/custom-select/trigger/input.d.ts +14 -0
- package/dist/components/select/custom-select/trigger/input.js +21 -0
- package/dist/components/select/custom-select/trigger/multi-selected-options.d.ts +8 -0
- package/dist/components/select/custom-select/trigger/multi-selected-options.js +41 -0
- package/dist/components/select/custom-select/trigger/trigger.d.ts +34 -0
- package/dist/components/select/custom-select/trigger/trigger.js +53 -0
- package/dist/components/select/native-select/native-select.d.ts +29 -0
- package/dist/components/select/native-select/native-select.js +61 -0
- package/dist/components/select/select.d.ts +2 -0
- package/dist/components/select/select.input.d.ts +21 -0
- package/dist/components/select/select.input.js +114 -0
- package/dist/components/select/select.interface.d.ts +39 -0
- package/dist/components/select/select.interface.js +1 -0
- package/dist/components/select/select.js +61 -0
- package/dist/components/select/select.stories-data.d.ts +25 -0
- package/dist/components/select/select.stories-data.js +113 -0
- package/dist/components/select/select.stories.d.ts +30 -0
- package/dist/components/select/select.stories.js +93 -0
- package/dist/components/select/select.test.d.ts +1 -0
- package/dist/components/select/select.test.js +303 -0
- package/dist/components/side-bar/link.d.ts +17 -0
- package/dist/components/side-bar/link.js +20 -0
- package/dist/components/side-bar/sections.d.ts +21 -0
- package/dist/components/side-bar/sections.js +7 -0
- package/dist/components/side-bar/side-bar.d.ts +26 -0
- package/dist/components/side-bar/side-bar.js +28 -0
- package/dist/components/side-bar/side-bar.stories.d.ts +5 -0
- package/dist/components/side-bar/side-bar.stories.js +90 -0
- package/dist/components/slider/slider-tooltip.d.ts +5 -0
- package/dist/components/slider/slider-tooltip.js +13 -0
- package/dist/components/slider/slider.d.ts +37 -0
- package/dist/components/slider/slider.js +57 -0
- package/dist/components/slider/slider.stories.d.ts +16 -0
- package/dist/components/slider/slider.stories.js +85 -0
- package/dist/components/spinner/spinner.d.ts +7 -0
- package/dist/components/spinner/spinner.js +6 -0
- package/dist/components/spinner/spinner.stories.d.ts +4 -0
- package/dist/components/spinner/spinner.stories.js +14 -0
- package/dist/components/table/cell/cell-types/action-cell.d.ts +5 -0
- package/dist/components/table/cell/cell-types/action-cell.js +5 -0
- package/dist/components/table/cell/cell-types/cell-help-icon.d.ts +5 -0
- package/dist/components/table/cell/cell-types/cell-help-icon.js +7 -0
- package/dist/components/table/cell/cell-types/cell-library-icon.d.ts +5 -0
- package/dist/components/table/cell/cell-types/cell-library-icon.js +8 -0
- package/dist/components/table/cell/cell-types/cell-types.interface.d.ts +150 -0
- package/dist/components/table/cell/cell-types/cell-types.interface.js +1 -0
- package/dist/components/table/cell/cell-types/check-box-cell.d.ts +7 -0
- package/dist/components/table/cell/cell-types/check-box-cell.js +5 -0
- package/dist/components/table/cell/cell-types/icon-cell.d.ts +5 -0
- package/dist/components/table/cell/cell-types/icon-cell.js +9 -0
- package/dist/components/table/cell/cell-types/input-cell.d.ts +8 -0
- package/dist/components/table/cell/cell-types/input-cell.js +6 -0
- package/dist/components/table/cell/cell-types/link-cell.d.ts +7 -0
- package/dist/components/table/cell/cell-types/link-cell.js +23 -0
- package/dist/components/table/cell/cell-types/number-input-cell.d.ts +7 -0
- package/dist/components/table/cell/cell-types/number-input-cell.js +5 -0
- package/dist/components/table/cell/cell-types/popover-cell.d.ts +6 -0
- package/dist/components/table/cell/cell-types/popover-cell.js +8 -0
- package/dist/components/table/cell/cell-types/select-cell.d.ts +8 -0
- package/dist/components/table/cell/cell-types/select-cell.js +6 -0
- package/dist/components/table/cell/cell-types/slider-cell.d.ts +6 -0
- package/dist/components/table/cell/cell-types/slider-cell.js +6 -0
- package/dist/components/table/cell/cell-types/sort-cell.d.ts +5 -0
- package/dist/components/table/cell/cell-types/sort-cell.js +9 -0
- package/dist/components/table/cell/cell-types/static-cell.d.ts +7 -0
- package/dist/components/table/cell/cell-types/static-cell.js +16 -0
- package/dist/components/table/cell/cell-wrapper.d.ts +8 -0
- package/dist/components/table/cell/cell-wrapper.js +33 -0
- package/dist/components/table/cell/cell.d.ts +12 -0
- package/dist/components/table/cell/cell.js +45 -0
- package/dist/components/table/cell/cell.stories.d.ts +21 -0
- package/dist/components/table/cell/cell.stories.js +209 -0
- package/dist/components/table/cell/input-cell-wrapper.d.ts +7 -0
- package/dist/components/table/cell/input-cell-wrapper.js +8 -0
- package/dist/components/table/enum.d.ts +9 -0
- package/dist/components/table/enum.js +10 -0
- package/dist/components/table/footer/footer.d.ts +10 -0
- package/dist/components/table/footer/footer.js +18 -0
- package/dist/components/table/footer/footer.stories.d.ts +3 -0
- package/dist/components/table/footer/footer.stories.js +19 -0
- package/dist/components/table/helper.d.ts +22 -0
- package/dist/components/table/helper.js +49 -0
- package/dist/components/table/helper.test.d.ts +1 -0
- package/dist/components/table/helper.test.js +127 -0
- package/dist/components/table/row/expanded-content-row.d.ts +7 -0
- package/dist/components/table/row/expanded-content-row.js +6 -0
- package/dist/components/table/row/row.d.ts +37 -0
- package/dist/components/table/row/row.js +46 -0
- package/dist/components/table/row/row.stories.d.ts +9 -0
- package/dist/components/table/row/row.stories.js +132 -0
- package/dist/components/table/table-scroll-wrapper.d.ts +13 -0
- package/dist/components/table/table-scroll-wrapper.js +24 -0
- package/dist/components/table/table.d.ts +34 -0
- package/dist/components/table/table.js +91 -0
- package/dist/components/table/table.stories-data.d.ts +1970 -0
- package/dist/components/table/table.stories-data.js +996 -0
- package/dist/components/table/table.stories.d.ts +17 -0
- package/dist/components/table/table.stories.js +521 -0
- package/dist/components/table/table.test.d.ts +1 -0
- package/dist/components/table/table.test.js +27 -0
- package/dist/components/table/table.viewdata.d.ts +16 -0
- package/dist/components/table/table.viewdata.js +17 -0
- package/dist/components/table/title/title.d.ts +8 -0
- package/dist/components/table/title/title.js +22 -0
- package/dist/components/table/title/title.stories.d.ts +11 -0
- package/dist/components/table/title/title.stories.js +53 -0
- package/dist/components/tabs/content.d.ts +7 -0
- package/dist/components/tabs/content.js +6 -0
- package/dist/components/tabs/label.d.ts +14 -0
- package/dist/components/tabs/label.js +8 -0
- package/dist/components/tabs/tabs.d.ts +33 -0
- package/dist/components/tabs/tabs.js +64 -0
- package/dist/components/tabs/tabs.stories.d.ts +10 -0
- package/dist/components/tabs/tabs.stories.js +86 -0
- package/dist/components/text/text.d.ts +15 -0
- package/dist/components/text/text.js +6 -0
- package/dist/components/text/text.stories.d.ts +6 -0
- package/dist/components/text/text.stories.js +22 -0
- package/dist/components/text-link/text-link.d.ts +9 -0
- package/dist/components/text-link/text-link.js +5 -0
- package/dist/components/text-link/text-link.stories.d.ts +5 -0
- package/dist/components/text-link/text-link.stories.js +17 -0
- package/dist/components/textarea/textarea.d.ts +22 -0
- package/dist/components/textarea/textarea.js +15 -0
- package/dist/components/textarea/textarea.stories.d.ts +4 -0
- package/dist/components/textarea/textarea.stories.js +18 -0
- package/dist/components/toaster/toaster.d.ts +19 -0
- package/dist/components/toaster/toaster.js +51 -0
- package/dist/components/toaster/toaster.stories.d.ts +15 -0
- package/dist/components/toaster/toaster.stories.js +84 -0
- package/dist/components/toggle/toggle.d.ts +14 -0
- package/dist/components/toggle/toggle.js +17 -0
- package/dist/components/toggle/toggle.stories.d.ts +10 -0
- package/dist/components/toggle/toggle.stories.js +41 -0
- package/dist/components/tooltip/tooltip-layer.d.ts +16 -0
- package/dist/components/tooltip/tooltip-layer.js +19 -0
- package/dist/components/tooltip/tooltip.d.ts +19 -0
- package/dist/components/tooltip/tooltip.js +31 -0
- package/dist/components/tooltip/tooltip.stories.d.ts +11 -0
- package/dist/components/tooltip/tooltip.stories.js +50 -0
- package/dist/components/tooltip/tooltip.test-case.stories.d.ts +4 -0
- package/dist/components/tooltip/tooltip.test-case.stories.js +20 -0
- package/dist/components/top-bar/element/element.d.ts +32 -0
- package/dist/components/top-bar/element/element.js +28 -0
- package/dist/components/top-bar/element/enum.d.ts +6 -0
- package/dist/components/top-bar/element/enum.js +7 -0
- package/dist/components/top-bar/element/link.d.ts +11 -0
- package/dist/components/top-bar/element/link.js +15 -0
- package/dist/components/top-bar/title.d.ts +9 -0
- package/dist/components/top-bar/title.js +7 -0
- package/dist/components/top-bar/top-bar.d.ts +11 -0
- package/dist/components/top-bar/top-bar.js +19 -0
- package/dist/components/top-bar/top-bar.stories.d.ts +6 -0
- package/dist/components/top-bar/top-bar.stories.js +124 -0
- package/dist/components/top-bar/top-bar.testcase.stories.d.ts +5 -0
- package/dist/components/top-bar/top-bar.testcase.stories.js +53 -0
- package/dist/components/top-bar/warning.d.ts +5 -0
- package/dist/components/top-bar/warning.js +5 -0
- package/dist/components/tree/tree-item.d.ts +10 -0
- package/dist/components/tree/tree-item.js +27 -0
- package/dist/components/tree/tree-placeholder.d.ts +4 -0
- package/dist/components/tree/tree-placeholder.js +3 -0
- package/dist/components/tree/tree.d.ts +42 -0
- package/dist/components/tree/tree.js +50 -0
- package/dist/components/tree/tree.stories-data.d.ts +126 -0
- package/dist/components/tree/tree.stories-data.js +83 -0
- package/dist/components/tree/tree.stories.d.ts +11 -0
- package/dist/components/tree/tree.stories.js +98 -0
- package/dist/helpers/disabled-context.d.ts +2 -0
- package/dist/helpers/disabled-context.js +2 -0
- package/dist/helpers/text.d.ts +1 -0
- package/dist/helpers/text.js +9 -0
- package/dist/helpers/types.d.ts +3 -0
- package/dist/helpers/types.js +8 -0
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/index.js +4 -0
- package/dist/hooks/use-focus.d.ts +4 -0
- package/dist/hooks/use-focus.js +10 -0
- package/dist/hooks/use-fonts-ready.d.ts +1 -0
- package/dist/hooks/use-fonts-ready.js +13 -0
- package/dist/hooks/use-keyboard-event.d.ts +2 -0
- package/dist/hooks/use-keyboard-event.js +14 -0
- package/dist/hooks/use-window-width.d.ts +1 -0
- package/dist/hooks/use-window-width.js +16 -0
- package/dist/index.d.ts +79 -1467
- package/dist/index.js +86 -72363
- package/dist/my-dummy.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useContext } from 'react';
|
|
3
|
+
import cx from 'classnames';
|
|
4
|
+
import styles from './native-select.module.less';
|
|
5
|
+
import { Tooltip } from '../../tooltip/tooltip';
|
|
6
|
+
import { isStringNumberOrNode } from '../../../helpers/types';
|
|
7
|
+
import { DisabledContext } from '../../../helpers/disabled-context';
|
|
8
|
+
import { GroupOrder } from "../../../common-enum";
|
|
9
|
+
export const NativeSelect = ({ disabled = false, error = null, warning = null, tooltip = null, options, onChange = () => { }, onFocus = () => { }, onBlur = () => { }, right = false, small = false, tabIndex = 0, selectedOption, width = null, groupOrder = null, testId, isInTable = false, clearable, placeholder, hasNonExistentValue, maxTooltipWidth, borderRadius, }) => {
|
|
10
|
+
const disabledContext = useContext(DisabledContext);
|
|
11
|
+
const internalValue = selectedOption === null
|
|
12
|
+
? 'unselected'
|
|
13
|
+
: selectedOption?.value === null
|
|
14
|
+
? 'unselected'
|
|
15
|
+
: selectedOption?.value; //null not allowed as a React prop to a select input
|
|
16
|
+
const isUnselected = internalValue === 'unselected';
|
|
17
|
+
const viewOptions = (internalValue === 'unselected' || clearable
|
|
18
|
+
? [
|
|
19
|
+
_jsx("option", { value: "unselected", disabled: !clearable, hidden: !clearable, children: placeholder || 'Select...' }, "unselected"),
|
|
20
|
+
]
|
|
21
|
+
: [])
|
|
22
|
+
.concat(hasNonExistentValue
|
|
23
|
+
? [
|
|
24
|
+
_jsx("option", { value: selectedOption?.value, disabled: disabled || disabledContext, children: selectedOption?.label }, "selectedNonExistentValue"),
|
|
25
|
+
]
|
|
26
|
+
: [])
|
|
27
|
+
.concat(options.map((option, i) => {
|
|
28
|
+
return (_jsx("option", { value: option.value, "data-testid": option.testId, children: option.label }, i));
|
|
29
|
+
}));
|
|
30
|
+
const order = (() => {
|
|
31
|
+
if (groupOrder) {
|
|
32
|
+
switch (groupOrder) {
|
|
33
|
+
case GroupOrder.FIRST:
|
|
34
|
+
return styles.groupOrderFirst;
|
|
35
|
+
case GroupOrder.LAST:
|
|
36
|
+
return styles.groupOrderLast;
|
|
37
|
+
default:
|
|
38
|
+
return styles.groupOrderMiddle;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return '';
|
|
42
|
+
})();
|
|
43
|
+
return (_jsx(Tooltip, { error: !!error, warning: !!warning, text: tooltip || error || warning, enabled: (tooltip && isStringNumberOrNode(tooltip)) ||
|
|
44
|
+
(error && isStringNumberOrNode(error)) ||
|
|
45
|
+
(warning && isStringNumberOrNode(warning)) ||
|
|
46
|
+
false, maxWidth: maxTooltipWidth, placement: "bottom-center", children: _jsx("select", { className: cx(styles.select, isUnselected ? styles.unSelected : '', error ? styles.error : warning ? styles.warning : '', right ? styles.right : '', small ? styles.small : '', isInTable ? styles.isInTable : '', order), style: {
|
|
47
|
+
width: width || '',
|
|
48
|
+
borderRadius: borderRadius || '',
|
|
49
|
+
}, onChange: (evt) => {
|
|
50
|
+
const { value } = evt.target;
|
|
51
|
+
let nextValue;
|
|
52
|
+
if (value === 'unselected') {
|
|
53
|
+
nextValue = { value: null };
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
const foundOption = options.find((o) => String(o.value) === String(value));
|
|
57
|
+
nextValue = foundOption || { value: null };
|
|
58
|
+
}
|
|
59
|
+
onChange(evt, nextValue);
|
|
60
|
+
}, onFocus: onFocus, onBlur: onBlur, tabIndex: tabIndex, value: internalValue, disabled: disabled || disabledContext, "data-testid": testId, children: viewOptions }) }));
|
|
61
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ISelectSelectedOption } from './select.interface';
|
|
2
|
+
type Option = ISelectSelectedOption;
|
|
3
|
+
type SimpleOption = string | number;
|
|
4
|
+
type SelectedOption = Option | SimpleOption;
|
|
5
|
+
export declare const isMulti: (selectedOptions: any) => boolean;
|
|
6
|
+
export declare const standardizeOptions: (options: any[], simple: boolean) => Option[];
|
|
7
|
+
export declare const standardizeSelectedOption: (standardizedOptions: Option[], selectedOption: SelectedOption) => Option | undefined;
|
|
8
|
+
export declare const standardizeSelectedOptions: (standardizedOptions: Option[], selectedOptions: SelectedOption[] | SelectedOption) => Option[] | Option | undefined;
|
|
9
|
+
export declare const isSimpleOptions: (options: Option[]) => boolean;
|
|
10
|
+
export declare const isSimpleSelectedOptions: (selectedOptions: SelectedOption | SelectedOption[]) => boolean;
|
|
11
|
+
export declare const getFirstSelectedOptionIndex: (options: Option[], selectedOptions: SelectedOption | SelectedOption[]) => number | null;
|
|
12
|
+
export declare const nonExistentValue: (options: Option[], selectedOptions: SelectedOption | SelectedOption[]) => boolean;
|
|
13
|
+
export declare const standardizeInputs: (options: Option[], selectedOptions: SelectedOption | SelectedOption[], enableAutoScroll?: boolean, checkNonExistentValues?: boolean) => {
|
|
14
|
+
options: ISelectSelectedOption[];
|
|
15
|
+
selectedOptions: ISelectSelectedOption | ISelectSelectedOption[] | undefined;
|
|
16
|
+
multi: boolean;
|
|
17
|
+
simpleInputs: boolean;
|
|
18
|
+
firstSelectedOptionIndex: number | null;
|
|
19
|
+
hasNonExistentValue: boolean;
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { MenuType } from "../menu/enum";
|
|
2
|
+
export const isMulti = (selectedOptions) => selectedOptions instanceof Array;
|
|
3
|
+
const isEmptyNullOrUndefined = (value) => value === null || value === undefined || value === '';
|
|
4
|
+
export const standardizeOptions = (options, simple) => {
|
|
5
|
+
return simple && options instanceof Array
|
|
6
|
+
? options.map((o) => typeof o === 'string' || typeof o === 'number'
|
|
7
|
+
? { label: o, value: o }
|
|
8
|
+
: o)
|
|
9
|
+
: options;
|
|
10
|
+
};
|
|
11
|
+
export const standardizeSelectedOption = (standardizedOptions, selectedOption) => {
|
|
12
|
+
if (selectedOption !== null &&
|
|
13
|
+
typeof selectedOption === 'object' &&
|
|
14
|
+
selectedOption.hasOwnProperty('label') &&
|
|
15
|
+
selectedOption.hasOwnProperty('value')) {
|
|
16
|
+
return selectedOption;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
const value = selectedOption !== null &&
|
|
20
|
+
typeof selectedOption === 'object' &&
|
|
21
|
+
selectedOption.hasOwnProperty('value')
|
|
22
|
+
? selectedOption.value
|
|
23
|
+
: selectedOption;
|
|
24
|
+
const foundFullValue = standardizedOptions instanceof Array
|
|
25
|
+
? standardizedOptions
|
|
26
|
+
.filter((o) => o.type !== MenuType.HEADING)
|
|
27
|
+
.find((o) => o.value == value /* allow coercion */)
|
|
28
|
+
: undefined;
|
|
29
|
+
return (foundFullValue ||
|
|
30
|
+
(isEmptyNullOrUndefined(value)
|
|
31
|
+
? undefined
|
|
32
|
+
: {
|
|
33
|
+
value: value,
|
|
34
|
+
label: value,
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
export const standardizeSelectedOptions = (standardizedOptions, selectedOptions) => {
|
|
39
|
+
const multi = isMulti(selectedOptions);
|
|
40
|
+
if (multi) {
|
|
41
|
+
return selectedOptions
|
|
42
|
+
.map((selectedOption) => standardizeSelectedOption(standardizedOptions, selectedOption))
|
|
43
|
+
.filter((selectedOption) => selectedOption !== undefined);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return selectedOptions === null
|
|
47
|
+
? undefined
|
|
48
|
+
: standardizeSelectedOption(standardizedOptions, selectedOptions);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
export const isSimpleOptions = (options) => options instanceof Array &&
|
|
52
|
+
options.some((o) => typeof o === 'string' || typeof o === 'number');
|
|
53
|
+
export const isSimpleSelectedOptions = (selectedOptions) => {
|
|
54
|
+
return (typeof selectedOptions === 'string' ||
|
|
55
|
+
typeof selectedOptions === 'number' ||
|
|
56
|
+
(selectedOptions instanceof Array &&
|
|
57
|
+
isSimpleOptions(selectedOptions)));
|
|
58
|
+
};
|
|
59
|
+
export const getFirstSelectedOptionIndex = (options, selectedOptions) => {
|
|
60
|
+
const firstSelected = selectedOptions instanceof Array
|
|
61
|
+
? selectedOptions.length
|
|
62
|
+
? selectedOptions[0]
|
|
63
|
+
: null
|
|
64
|
+
: selectedOptions;
|
|
65
|
+
const firstSelectedValue = firstSelected === null || firstSelected === undefined
|
|
66
|
+
? null
|
|
67
|
+
: typeof firstSelected === 'string' || typeof firstSelected === 'number'
|
|
68
|
+
? firstSelected
|
|
69
|
+
: firstSelected.value;
|
|
70
|
+
const index = options
|
|
71
|
+
.filter((o) => o.type !== MenuType.HEADING)
|
|
72
|
+
.findIndex((o) => {
|
|
73
|
+
if (typeof o === 'string' || typeof o === 'number') {
|
|
74
|
+
return o == firstSelectedValue; //allow coercion
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
return o.value == firstSelectedValue; //allow coercion
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
return index === -1 ? null : index;
|
|
81
|
+
};
|
|
82
|
+
export const nonExistentValue = (options, selectedOptions) => {
|
|
83
|
+
const multi = isMulti(selectedOptions);
|
|
84
|
+
const selected = multi
|
|
85
|
+
? selectedOptions
|
|
86
|
+
: isEmptyNullOrUndefined(selectedOptions)
|
|
87
|
+
? []
|
|
88
|
+
: [selectedOptions];
|
|
89
|
+
return !selected.every((selectedValue) => {
|
|
90
|
+
const found = options.find((o) => o.value === selectedValue.value);
|
|
91
|
+
return found !== undefined;
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
export const standardizeInputs = (options, selectedOptions, enableAutoScroll, checkNonExistentValues) => {
|
|
95
|
+
const cleanedOptions = options instanceof Array ? options : []; // don't crash when options is null or wrong type
|
|
96
|
+
const multi = isMulti(selectedOptions);
|
|
97
|
+
const simpleOptions = isSimpleOptions(cleanedOptions);
|
|
98
|
+
const standardizedOptions = standardizeOptions(cleanedOptions, simpleOptions);
|
|
99
|
+
const firstSelectedOptionIndex = enableAutoScroll
|
|
100
|
+
? getFirstSelectedOptionIndex(cleanedOptions, selectedOptions)
|
|
101
|
+
: null;
|
|
102
|
+
const standardizedSelectedOptions = standardizeSelectedOptions(standardizedOptions, selectedOptions);
|
|
103
|
+
const hasNonExistentValue = checkNonExistentValues && standardizedSelectedOptions !== undefined
|
|
104
|
+
? nonExistentValue(standardizedOptions, standardizedSelectedOptions)
|
|
105
|
+
: false;
|
|
106
|
+
return {
|
|
107
|
+
options: standardizedOptions,
|
|
108
|
+
selectedOptions: standardizedSelectedOptions,
|
|
109
|
+
multi,
|
|
110
|
+
simpleInputs: simpleOptions,
|
|
111
|
+
firstSelectedOptionIndex,
|
|
112
|
+
hasNonExistentValue,
|
|
113
|
+
};
|
|
114
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface ISelectSelectedOption {
|
|
3
|
+
value?: string | number | boolean;
|
|
4
|
+
label?: string | ReactNode;
|
|
5
|
+
details?: string;
|
|
6
|
+
actions?: any[];
|
|
7
|
+
icon?: boolean | ReactNode;
|
|
8
|
+
type?: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
testId?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ISelectProps {
|
|
13
|
+
name?: string;
|
|
14
|
+
multi?: boolean;
|
|
15
|
+
options?: ISelectSelectedOption[];
|
|
16
|
+
value?: any;
|
|
17
|
+
native?: boolean;
|
|
18
|
+
onChange?: (value: any) => void;
|
|
19
|
+
deprecatedEventHandler?: boolean;
|
|
20
|
+
autoScroll?: boolean;
|
|
21
|
+
warning?: string | number | ReactNode;
|
|
22
|
+
error?: string | number | ReactNode;
|
|
23
|
+
checkNonExistentValues?: boolean;
|
|
24
|
+
closeOnOptionActionClick?: boolean;
|
|
25
|
+
small?: boolean;
|
|
26
|
+
width?: string | number | null;
|
|
27
|
+
borderRadius?: string | number;
|
|
28
|
+
onCreate?: (evt: any) => any;
|
|
29
|
+
disabled?: boolean;
|
|
30
|
+
placeholder?: string;
|
|
31
|
+
isInTable?: boolean;
|
|
32
|
+
clearable?: boolean;
|
|
33
|
+
searchable?: boolean;
|
|
34
|
+
maxTooltipWidth?: string | number;
|
|
35
|
+
autoLayerWidth?: boolean;
|
|
36
|
+
right?: boolean;
|
|
37
|
+
tabIndex?: number;
|
|
38
|
+
testId?: string;
|
|
39
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { NativeSelect } from './native-select/native-select';
|
|
3
|
+
import { CustomSelect } from './custom-select/custom-select';
|
|
4
|
+
import { standardizeInputs } from './select.input';
|
|
5
|
+
export const Select = (props) => {
|
|
6
|
+
const { name = '', options: rawOptions = [], value: rawSelectedOptions, native = false, onChange = () => { }, deprecatedEventHandler = false, autoScroll = true, warning, error, checkNonExistentValues = true, closeOnOptionActionClick = true, testId, } = props;
|
|
7
|
+
const enableAutoScroll = !native && autoScroll === true;
|
|
8
|
+
const { multi, simpleInputs, options, selectedOptions, firstSelectedOptionIndex, hasNonExistentValue, } = standardizeInputs(rawOptions, rawSelectedOptions, enableAutoScroll, checkNonExistentValues);
|
|
9
|
+
const canUseNative = !multi; //ignore searchable since it's on by default
|
|
10
|
+
const useNative = native && canUseNative;
|
|
11
|
+
if (native && !canUseNative) {
|
|
12
|
+
console.warn('Native select does not support provided props (see stories)');
|
|
13
|
+
}
|
|
14
|
+
const nonExistentWarning = 'Value no longer available for re-selection';
|
|
15
|
+
const fullWarning = hasNonExistentValue ? (warning ? (_jsxs("div", { children: [_jsx("div", { children: nonExistentWarning }), _jsx("div", { children: warning })] })) : (nonExistentWarning)) : (warning);
|
|
16
|
+
const fullError = hasNonExistentValue && error ? (_jsxs("div", { children: [_jsx("div", { children: nonExistentWarning }), _jsx("div", { children: error })] })) : (error);
|
|
17
|
+
const onChangeSelectedValue = (evt, selectedOptions) => {
|
|
18
|
+
if (deprecatedEventHandler) {
|
|
19
|
+
const newSelectedOptions = multi
|
|
20
|
+
? selectedOptions.map((o) => simpleInputs ? o.value : o)
|
|
21
|
+
: simpleInputs
|
|
22
|
+
? selectedOptions.value
|
|
23
|
+
: selectedOptions;
|
|
24
|
+
onChange(newSelectedOptions);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
/*
|
|
28
|
+
- For React synthetic events, mutate the values and forward the event
|
|
29
|
+
- For native (keyboard) events, clone the enumerable properties and forward
|
|
30
|
+
- Explanation:
|
|
31
|
+
https://gitlab.com/oliasoft-open-source/react-ui-library/-/issues/77
|
|
32
|
+
*/
|
|
33
|
+
const isSyntheticEvent = !(evt instanceof Event);
|
|
34
|
+
const value = multi
|
|
35
|
+
? selectedOptions.map((o) => o.value)
|
|
36
|
+
: selectedOptions.value;
|
|
37
|
+
if (isSyntheticEvent) {
|
|
38
|
+
evt.target.name = name;
|
|
39
|
+
evt.target.value = value;
|
|
40
|
+
if (!multi) {
|
|
41
|
+
evt.target.label = selectedOptions.label;
|
|
42
|
+
}
|
|
43
|
+
onChange(evt);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
onChange({
|
|
47
|
+
...evt,
|
|
48
|
+
target: {
|
|
49
|
+
...evt.target,
|
|
50
|
+
name,
|
|
51
|
+
value,
|
|
52
|
+
...(!multi && {
|
|
53
|
+
label: selectedOptions.label,
|
|
54
|
+
}),
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
return useNative ? (_jsx(NativeSelect, { ...props, options: options, selectedOption: selectedOptions, onChange: onChangeSelectedValue, hasNonExistentValue: hasNonExistentValue, warning: fullWarning, error: fullError, testId: testId })) : (_jsx(CustomSelect, { ...props, options: options, selectedOptions: selectedOptions, onChange: onChangeSelectedValue, multi: multi, firstSelectedOptionIndex: firstSelectedOptionIndex, warning: fullWarning, error: fullError, testId: testId, closeOnOptionActionClick: closeOnOptionActionClick }));
|
|
61
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { ISelectSelectedOption } from './select.interface';
|
|
3
|
+
type Action = {
|
|
4
|
+
label: string;
|
|
5
|
+
icon: string | ReactElement;
|
|
6
|
+
onClick: () => void;
|
|
7
|
+
};
|
|
8
|
+
type Option = ISelectSelectedOption;
|
|
9
|
+
type Heading = {
|
|
10
|
+
type: 'Heading';
|
|
11
|
+
label: string;
|
|
12
|
+
};
|
|
13
|
+
type OptionOrHeading = Option | Heading;
|
|
14
|
+
export declare const options: Option[];
|
|
15
|
+
export declare const optionsWithDetails: Option[];
|
|
16
|
+
export declare const optionsWithHeadings: OptionOrHeading[];
|
|
17
|
+
export declare const optionsNumeric: Option[];
|
|
18
|
+
export declare const optionsBoolean: Option[];
|
|
19
|
+
export declare const optionsWithIcons: Option[];
|
|
20
|
+
export declare const actions: Action[];
|
|
21
|
+
export declare const optionsWithActions: Option[];
|
|
22
|
+
export declare const optionsWithEverything: Option[];
|
|
23
|
+
export declare const optionsLong: Option[];
|
|
24
|
+
export declare const optionsSimple: string[];
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Icon } from '../icon/icon';
|
|
3
|
+
import { IconType } from "../../common-enum";
|
|
4
|
+
export const options = [
|
|
5
|
+
{ label: 'Aardvarks', value: 'termites' },
|
|
6
|
+
{ label: 'Kangaroos', value: 'grass' },
|
|
7
|
+
{ label: 'Koalas', value: 'leaves' },
|
|
8
|
+
{ label: 'Monkeys', value: 'bananas', disabled: true },
|
|
9
|
+
{ label: 'Wombats', value: 'bark' },
|
|
10
|
+
];
|
|
11
|
+
export const optionsWithDetails = [
|
|
12
|
+
{ label: 'Kangaroos', value: 'grass', details: '(grass)' },
|
|
13
|
+
{ label: 'Monkeys', value: 'bananas', details: '(bananas)' },
|
|
14
|
+
{ label: 'Possums', value: 'slugs', details: '(slugs)' },
|
|
15
|
+
];
|
|
16
|
+
export const optionsWithHeadings = [
|
|
17
|
+
{ type: 'Heading', label: 'Large' },
|
|
18
|
+
{ label: 'Aardvarks', value: 'termites' },
|
|
19
|
+
{ label: 'Kangaroos', value: 'grass' },
|
|
20
|
+
{ label: 'Monkeys', value: 'bananas' },
|
|
21
|
+
{ type: 'Heading', label: 'Small' },
|
|
22
|
+
{ label: 'Possums', value: 'slugs' },
|
|
23
|
+
];
|
|
24
|
+
export const optionsNumeric = [
|
|
25
|
+
{ label: 1, value: 1 },
|
|
26
|
+
{ label: 2, value: 2 },
|
|
27
|
+
{ label: 3, value: 3 },
|
|
28
|
+
{ label: 4, value: 4 },
|
|
29
|
+
];
|
|
30
|
+
export const optionsBoolean = [
|
|
31
|
+
{ label: 'Yes', value: true },
|
|
32
|
+
{ label: 'No', value: false },
|
|
33
|
+
];
|
|
34
|
+
export const optionsWithIcons = [
|
|
35
|
+
{
|
|
36
|
+
label: 'Aardvarks',
|
|
37
|
+
value: 'termites',
|
|
38
|
+
},
|
|
39
|
+
{ label: 'Monkeys', value: 'bananas' },
|
|
40
|
+
{
|
|
41
|
+
label: 'Vampires',
|
|
42
|
+
value: 'blood',
|
|
43
|
+
icon: _jsx(Icon, { icon: IconType.WARNING, color: "var(--color-text-warning)" }),
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
label: 'Zombies',
|
|
47
|
+
value: 'brains',
|
|
48
|
+
icon: _jsx(Icon, { icon: IconType.ERROR, color: "var(--color-text-error)" }),
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
export const actions = [
|
|
52
|
+
{
|
|
53
|
+
label: 'Delete',
|
|
54
|
+
icon: 'delete',
|
|
55
|
+
onClick: () => { },
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
label: 'Rename',
|
|
59
|
+
icon: 'rename',
|
|
60
|
+
onClick: () => { },
|
|
61
|
+
},
|
|
62
|
+
];
|
|
63
|
+
export const optionsWithActions = [
|
|
64
|
+
{
|
|
65
|
+
label: 'Kangaroos',
|
|
66
|
+
value: 'grass',
|
|
67
|
+
actions,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
label: 'Monkeys',
|
|
71
|
+
value: 'bananas',
|
|
72
|
+
actions,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
label: 'Possums',
|
|
76
|
+
value: 'slugs',
|
|
77
|
+
actions,
|
|
78
|
+
details: '(some details)',
|
|
79
|
+
},
|
|
80
|
+
];
|
|
81
|
+
export const optionsWithEverything = [
|
|
82
|
+
{
|
|
83
|
+
label: 'Kangaroos',
|
|
84
|
+
value: 'grass',
|
|
85
|
+
actions,
|
|
86
|
+
icon: _jsx(Icon, { icon: IconType.WARNING, color: "var(--color-text-warning)" }),
|
|
87
|
+
details: '(grass)',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
label: 'Monkeys',
|
|
91
|
+
value: 'bananas',
|
|
92
|
+
actions,
|
|
93
|
+
icon: _jsx(Icon, { icon: IconType.WARNING, color: "var(--color-text-warning)" }),
|
|
94
|
+
details: '(bananas)',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
label: 'Possums',
|
|
98
|
+
value: 'slugs',
|
|
99
|
+
actions,
|
|
100
|
+
icon: _jsx(Icon, { icon: IconType.WARNING, color: "var(--color-text-warning)" }),
|
|
101
|
+
details: '(slugs)',
|
|
102
|
+
},
|
|
103
|
+
];
|
|
104
|
+
export const optionsLong = [...Array(10000).keys()].map((o, i) => ({
|
|
105
|
+
label: Math.random().toString(36).substring(7),
|
|
106
|
+
value: i,
|
|
107
|
+
}));
|
|
108
|
+
export const optionsSimple = [
|
|
109
|
+
'Aardvarks',
|
|
110
|
+
'Kangaroos',
|
|
111
|
+
'Monkeys',
|
|
112
|
+
'Possums',
|
|
113
|
+
];
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { StoryFn } from '@storybook/react';
|
|
2
|
+
import { ISelectProps } from './select.interface';
|
|
3
|
+
import { ICustomSelectProps } from './custom-select/custom-select.interface';
|
|
4
|
+
declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
|
|
5
|
+
export default _default;
|
|
6
|
+
type TSelectType = ISelectProps | ICustomSelectProps;
|
|
7
|
+
export declare const Default: StoryFn<TSelectType>;
|
|
8
|
+
export declare const Native: StoryFn<TSelectType>;
|
|
9
|
+
export declare const Multiselect: StoryFn<TSelectType>;
|
|
10
|
+
export declare const Empty: StoryFn<TSelectType>;
|
|
11
|
+
export declare const Clearable: StoryFn<TSelectType>;
|
|
12
|
+
export declare const NonExistentValue: StoryFn<TSelectType>;
|
|
13
|
+
export declare const CustomPlaceholder: StoryFn<TSelectType>;
|
|
14
|
+
export declare const OptionsWithHeadings: StoryFn<TSelectType>;
|
|
15
|
+
export declare const OptionsWithDetails: StoryFn<TSelectType>;
|
|
16
|
+
export declare const OptionsWithIcons: StoryFn<TSelectType>;
|
|
17
|
+
export declare const OptionsWithActions: StoryFn<TSelectType>;
|
|
18
|
+
export declare const OptionsWithEverything: StoryFn<TSelectType>;
|
|
19
|
+
export declare const NotSearchable: StoryFn<TSelectType>;
|
|
20
|
+
export declare const RightAligned: StoryFn<TSelectType>;
|
|
21
|
+
export declare const AutoLayerWidth: StoryFn<TSelectType>;
|
|
22
|
+
export declare const Tooltip: StoryFn<TSelectType>;
|
|
23
|
+
export declare const Error: StoryFn<TSelectType>;
|
|
24
|
+
export declare const Warning: StoryFn<TSelectType>;
|
|
25
|
+
export declare const Disabled: StoryFn<TSelectType>;
|
|
26
|
+
export declare const NumericOptions: StoryFn<TSelectType>;
|
|
27
|
+
export declare const BooleanOptions: StoryFn<TSelectType>;
|
|
28
|
+
export declare const SimpleOptions: StoryFn<TSelectType>;
|
|
29
|
+
export declare const VeryLongList: StoryFn<TSelectType>;
|
|
30
|
+
export declare const DeprecatedEventHandler: StoryFn<TSelectType>;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Select } from './select';
|
|
4
|
+
import { Spacer } from '../layout/spacer/spacer';
|
|
5
|
+
import * as storyData from './select.stories-data';
|
|
6
|
+
import { Text } from '../text/text';
|
|
7
|
+
export default {
|
|
8
|
+
title: 'Forms/Select',
|
|
9
|
+
component: Select,
|
|
10
|
+
args: {
|
|
11
|
+
options: storyData.options,
|
|
12
|
+
native: false,
|
|
13
|
+
multi: false,
|
|
14
|
+
disabled: false,
|
|
15
|
+
autoLayerWidth: false,
|
|
16
|
+
clearable: false,
|
|
17
|
+
searchable: true,
|
|
18
|
+
right: false,
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
const Template = (args) => {
|
|
22
|
+
const { multi, value } = args;
|
|
23
|
+
const [selectedValue, setSelectedValue] = useState(value || (multi ? [] : undefined));
|
|
24
|
+
const handleChange = (evt) => {
|
|
25
|
+
const { value } = evt.target;
|
|
26
|
+
setSelectedValue(multi ? value : { value });
|
|
27
|
+
};
|
|
28
|
+
return (_jsxs(_Fragment, { children: [_jsx(Select, { value: selectedValue, onChange: handleChange, placeholder: "Full width", ...args }), _jsx(Spacer, {}), _jsx(Select, { value: selectedValue, onChange: handleChange, width: "200px", placeholder: "Fixed width", ...args }), _jsx(Spacer, {}), _jsx(Select, { value: selectedValue, onChange: handleChange, width: "auto", placeholder: "Auto width", ...args }), _jsx(Spacer, {}), _jsx(Select, { value: selectedValue, onChange: handleChange, width: "auto", placeholder: "Small", small: true, ...args }), _jsx(Spacer, {}), _jsx(Text, { small: true, muted: true, children: "Avoid auto width for very long lists." })] }));
|
|
29
|
+
};
|
|
30
|
+
export const Default = Template.bind({});
|
|
31
|
+
export const Native = Template.bind({});
|
|
32
|
+
Native.args = { native: true };
|
|
33
|
+
export const Multiselect = Template.bind({});
|
|
34
|
+
Multiselect.args = { multi: true, clearable: true };
|
|
35
|
+
export const Empty = Template.bind({});
|
|
36
|
+
Empty.args = { options: [] };
|
|
37
|
+
export const Clearable = Template.bind({});
|
|
38
|
+
Clearable.args = { clearable: true };
|
|
39
|
+
export const NonExistentValue = Template.bind({});
|
|
40
|
+
NonExistentValue.args = { value: { label: 'Vampires', value: 'blood' } };
|
|
41
|
+
export const CustomPlaceholder = Template.bind({});
|
|
42
|
+
CustomPlaceholder.args = { placeholder: 'Select the best animal...' };
|
|
43
|
+
export const OptionsWithHeadings = Template.bind({});
|
|
44
|
+
OptionsWithHeadings.args = { options: storyData.optionsWithHeadings };
|
|
45
|
+
export const OptionsWithDetails = Template.bind({});
|
|
46
|
+
OptionsWithDetails.args = { options: storyData.optionsWithDetails };
|
|
47
|
+
export const OptionsWithIcons = Template.bind({});
|
|
48
|
+
OptionsWithIcons.args = { options: storyData.optionsWithIcons };
|
|
49
|
+
export const OptionsWithActions = Template.bind({});
|
|
50
|
+
OptionsWithActions.args = { options: storyData.optionsWithActions };
|
|
51
|
+
export const OptionsWithEverything = Template.bind({});
|
|
52
|
+
OptionsWithEverything.args = { options: storyData.optionsWithEverything };
|
|
53
|
+
export const NotSearchable = Template.bind({});
|
|
54
|
+
NotSearchable.args = { searchable: false };
|
|
55
|
+
export const RightAligned = Template.bind({});
|
|
56
|
+
RightAligned.args = { right: true };
|
|
57
|
+
export const AutoLayerWidth = Template.bind({});
|
|
58
|
+
AutoLayerWidth.parameters = {
|
|
59
|
+
docs: {
|
|
60
|
+
description: {
|
|
61
|
+
story: 'Avoid autoLayerWidth for very long lists in custom selects (slow)',
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
AutoLayerWidth.args = { width: '70px', autoLayerWidth: true };
|
|
66
|
+
export const Tooltip = Template.bind({});
|
|
67
|
+
Tooltip.args = { tooltip: 'Some info' };
|
|
68
|
+
export const Error = Template.bind({});
|
|
69
|
+
Error.args = { error: 'Some info' };
|
|
70
|
+
export const Warning = Template.bind({});
|
|
71
|
+
Warning.args = { warning: 'Some info' };
|
|
72
|
+
export const Disabled = Template.bind({});
|
|
73
|
+
Disabled.args = { disabled: true };
|
|
74
|
+
export const NumericOptions = Template.bind({});
|
|
75
|
+
NumericOptions.args = {
|
|
76
|
+
options: storyData.optionsNumeric,
|
|
77
|
+
placeholder: undefined,
|
|
78
|
+
};
|
|
79
|
+
export const BooleanOptions = Template.bind({});
|
|
80
|
+
BooleanOptions.args = { options: storyData.optionsBoolean };
|
|
81
|
+
export const SimpleOptions = Template.bind({});
|
|
82
|
+
SimpleOptions.args = { options: storyData.optionsSimple };
|
|
83
|
+
export const VeryLongList = Template.bind({});
|
|
84
|
+
VeryLongList.parameters = {
|
|
85
|
+
docs: {
|
|
86
|
+
description: {
|
|
87
|
+
story: 'Avoid `width: auto` and autoLayerWidth for very long lists in custom selects (slow). Consider checkNonExistentValues={false}.',
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
VeryLongList.args = { options: storyData.optionsLong };
|
|
92
|
+
export const DeprecatedEventHandler = Template.bind({});
|
|
93
|
+
DeprecatedEventHandler.args = { deprecatedEventHandler: true };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|