draft-components 1.12.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{css → dist/css}/draft-components.css +553 -558
- package/{css → dist/css}/draft-components.dark.css +185 -113
- package/dist/esm/components/alert/alert.d.ts +15 -0
- package/dist/esm/components/alert/alert.js +12 -0
- package/dist/esm/components/alert/index.d.ts +1 -0
- package/dist/esm/components/alert/index.js +1 -0
- package/{types → dist/esm}/components/avatar/avatar.d.ts +8 -7
- package/dist/esm/components/avatar/avatar.js +41 -0
- package/dist/esm/components/avatar/index.d.ts +1 -0
- package/dist/esm/components/avatar/index.js +1 -0
- package/dist/esm/components/avatar-group/avatar-group.js +5 -0
- package/dist/esm/components/avatar-group/index.d.ts +1 -0
- package/dist/esm/components/avatar-group/index.js +1 -0
- package/{esm → dist/esm}/components/badge/badge.js +3 -6
- package/dist/esm/components/badge/index.d.ts +1 -0
- package/dist/esm/components/badge/index.js +1 -0
- package/dist/esm/components/breadcrumbs/breadcrumbs-context.js +13 -0
- package/dist/esm/components/breadcrumbs/breadcrumbs-item.js +16 -0
- package/dist/esm/components/breadcrumbs/breadcrumbs.js +7 -0
- package/dist/esm/components/breadcrumbs/index.d.ts +2 -0
- package/dist/esm/components/breadcrumbs/index.js +2 -0
- package/{types → dist/esm}/components/button/button.d.ts +12 -10
- package/dist/esm/components/button/button.js +22 -0
- package/dist/esm/components/button/icon-button.d.ts +4 -0
- package/dist/esm/components/button/icon-button.js +7 -0
- package/dist/esm/components/button/index.d.ts +2 -0
- package/dist/esm/components/button/index.js +2 -0
- package/dist/esm/components/button-group/button-group.js +5 -0
- package/dist/esm/components/button-group/index.d.ts +1 -0
- package/dist/esm/components/button-group/index.js +1 -0
- package/dist/esm/components/caption/caption.d.ts +10 -0
- package/dist/esm/components/caption/caption.js +10 -0
- package/dist/esm/components/caption/index.d.ts +1 -0
- package/dist/esm/components/caption/index.js +1 -0
- package/dist/esm/components/checkbox/checkbox.js +15 -0
- package/dist/esm/components/checkbox/index.d.ts +1 -0
- package/dist/esm/components/checkbox/index.js +1 -0
- package/dist/esm/components/color-picker/color-picker-button.js +11 -0
- package/{esm → dist/esm}/components/color-picker/color-picker.js +4 -7
- package/dist/esm/components/color-picker/index.d.ts +1 -0
- package/dist/esm/components/color-picker/index.js +1 -0
- package/{esm → dist/esm}/components/date-picker/calendar-day.js +4 -7
- package/{types → dist/esm}/components/date-picker/calendar-grid-head.d.ts +1 -1
- package/dist/esm/components/date-picker/calendar-grid-head.js +11 -0
- package/{types → dist/esm}/components/date-picker/calendar-grid.d.ts +2 -2
- package/{esm → dist/esm}/components/date-picker/calendar-grid.js +7 -10
- package/dist/esm/components/date-picker/calendar-header.js +43 -0
- package/{types → dist/esm}/components/date-picker/calendar.d.ts +3 -3
- package/dist/esm/components/date-picker/calendar.js +19 -0
- package/{esm → dist/esm}/components/date-picker/date-helpers.js +20 -22
- package/{types → dist/esm}/components/date-picker/date-picker.d.ts +2 -2
- package/dist/esm/components/date-picker/date-picker.js +15 -0
- package/{types → dist/esm}/components/date-picker/date-range-picker.d.ts +3 -3
- package/{esm → dist/esm}/components/date-picker/date-range-picker.js +4 -7
- package/{types → dist/esm}/components/date-picker/date-range.d.ts +1 -1
- package/{esm → dist/esm}/components/date-picker/date-range.js +1 -4
- package/dist/esm/components/date-picker/index.d.ts +2 -0
- package/dist/esm/components/date-picker/index.js +2 -0
- package/{types → dist/esm}/components/date-picker/parse-min-max-props.d.ts +1 -1
- package/{esm → dist/esm}/components/date-picker/parse-min-max-props.js +1 -4
- package/{types → dist/esm}/components/date-picker-popover/date-picker-popover.d.ts +2 -2
- package/dist/esm/components/date-picker-popover/date-picker-popover.js +15 -0
- package/dist/esm/components/date-picker-popover/index.d.ts +1 -0
- package/dist/esm/components/date-picker-popover/index.js +1 -0
- package/dist/esm/components/date-range-picker-popover/date-range-picker-popover-footer.js +5 -0
- package/{types → dist/esm}/components/date-range-picker-popover/date-range-picker-popover-presets.d.ts +1 -1
- package/dist/esm/components/date-range-picker-popover/date-range-picker-popover-presets.js +30 -0
- package/{types → dist/esm}/components/date-range-picker-popover/date-range-picker-popover.d.ts +3 -3
- package/{esm → dist/esm}/components/date-range-picker-popover/date-range-picker-popover.js +7 -14
- package/{types → dist/esm}/components/date-range-picker-popover/helpers.d.ts +1 -1
- package/{esm → dist/esm}/components/date-range-picker-popover/helpers.js +1 -3
- package/dist/esm/components/date-range-picker-popover/index.d.ts +2 -0
- package/dist/esm/components/date-range-picker-popover/index.js +2 -0
- package/{types → dist/esm}/components/date-range-picker-popover/types.d.ts +1 -1
- package/dist/esm/components/date-range-picker-popover/types.js +1 -0
- package/{esm → dist/esm}/components/date-range-picker-popover/use-is-compact-view.js +2 -5
- package/dist/esm/components/dialog/dialog-body.js +7 -0
- package/{esm → dist/esm}/components/dialog/dialog-context.js +4 -7
- package/dist/esm/components/dialog/dialog-footer.js +8 -0
- package/dist/esm/components/dialog/dialog-header.js +15 -0
- package/{esm → dist/esm}/components/dialog/dialog.js +9 -15
- package/dist/esm/components/dialog/index.d.ts +4 -0
- package/dist/esm/components/dialog/index.js +4 -0
- package/dist/esm/components/empty-state/empty-state.d.ts +12 -0
- package/dist/esm/components/empty-state/empty-state.js +17 -0
- package/dist/esm/components/empty-state/index.d.ts +1 -0
- package/dist/esm/components/empty-state/index.js +1 -0
- package/{esm → dist/esm}/components/file-picker/file-picker.js +6 -10
- package/dist/esm/components/file-picker/index.d.ts +1 -0
- package/dist/esm/components/file-picker/index.js +1 -0
- package/dist/esm/components/filter-buttons/filter-button.js +6 -0
- package/{esm → dist/esm}/components/filter-buttons/filter-buttons.js +4 -7
- package/dist/esm/components/filter-buttons/index.d.ts +2 -0
- package/dist/esm/components/filter-buttons/index.js +2 -0
- package/{types → dist/esm}/components/filtered-search/filter-item.d.ts +1 -1
- package/dist/esm/components/filtered-search/filter-item.js +17 -0
- package/dist/esm/components/filtered-search/filter-operator-select.js +12 -0
- package/dist/esm/components/filtered-search/filter-token.js +12 -0
- package/dist/esm/components/filtered-search/filter-value-list.js +15 -0
- package/{types → dist/esm}/components/filtered-search/filtered-search.d.ts +1 -1
- package/{esm → dist/esm}/components/filtered-search/filtered-search.js +11 -16
- package/{types → dist/esm}/components/filtered-search/index.d.ts +4 -4
- package/dist/esm/components/filtered-search/index.js +3 -0
- package/dist/esm/components/filtered-search/model/abstract-filter.js +2 -0
- package/{types → dist/esm}/components/filtered-search/model/string-filter.d.ts +2 -2
- package/{esm → dist/esm}/components/filtered-search/model/string-filter.js +1 -4
- package/{types → dist/esm}/components/filtered-search/model/string-set-filter.d.ts +1 -1
- package/{esm → dist/esm}/components/filtered-search/model/string-set-filter.js +1 -4
- package/dist/esm/components/filtered-search/model/validation-result.js +1 -0
- package/dist/esm/components/filtered-search/string-filter-input.js +15 -0
- package/{types → dist/esm}/components/filtered-search/string-filter-item.d.ts +1 -1
- package/{esm → dist/esm}/components/filtered-search/string-filter-item.js +6 -10
- package/{types → dist/esm}/components/filtered-search/string-set-filter-item.d.ts +1 -1
- package/{esm → dist/esm}/components/filtered-search/string-set-filter-item.js +6 -10
- package/{types → dist/esm}/components/filtered-search/types.d.ts +2 -2
- package/dist/esm/components/filtered-search/types.js +1 -0
- package/{esm → dist/esm}/components/filtered-search/use-combobox-ids.js +2 -5
- package/{esm → dist/esm}/components/filtered-search/use-translations.js +4 -7
- package/{types → dist/esm}/components/form-field/form-field.d.ts +7 -3
- package/dist/esm/components/form-field/form-field.js +37 -0
- package/dist/esm/components/form-field/index.d.ts +1 -0
- package/dist/esm/components/form-field/index.js +1 -0
- package/dist/esm/components/hero-icons/24/outline/arrow-small-down-icon.d.ts +4 -0
- package/dist/esm/components/hero-icons/24/outline/arrow-small-down-icon.js +5 -0
- package/dist/esm/components/hero-icons/24/outline/arrow-small-up-icon.d.ts +4 -0
- package/dist/esm/components/hero-icons/24/outline/arrow-small-up-icon.js +5 -0
- package/dist/esm/components/hero-icons/24/outline/arrows-up-down-icon.d.ts +4 -0
- package/dist/esm/components/hero-icons/24/outline/arrows-up-down-icon.js +5 -0
- package/dist/esm/components/hero-icons/24/outline/chevron-left-icon.d.ts +4 -0
- package/dist/esm/components/hero-icons/24/outline/chevron-left-icon.js +5 -0
- package/dist/esm/components/hero-icons/24/outline/chevron-right-icon.d.ts +4 -0
- package/dist/esm/components/hero-icons/24/outline/chevron-right-icon.js +5 -0
- package/dist/esm/components/hero-icons/24/outline/eye-icon.d.ts +4 -0
- package/dist/esm/components/hero-icons/24/outline/eye-icon.js +5 -0
- package/dist/esm/components/hero-icons/24/outline/eye-slash-icon.d.ts +4 -0
- package/dist/esm/components/hero-icons/24/outline/eye-slash-icon.js +5 -0
- package/dist/esm/components/hero-icons/24/outline/magnifying-glass-icon.d.ts +4 -0
- package/dist/esm/components/hero-icons/24/outline/magnifying-glass-icon.js +5 -0
- package/dist/esm/components/hero-icons/24/outline/trash-icon.d.ts +4 -0
- package/dist/esm/components/hero-icons/24/outline/trash-icon.js +5 -0
- package/dist/esm/components/hero-icons/24/outline/x-mark-icon.d.ts +4 -0
- package/dist/esm/components/hero-icons/24/outline/x-mark-icon.js +5 -0
- package/dist/esm/components/hero-icons/24/solid/exclamation-triangle-icon.d.ts +4 -0
- package/dist/esm/components/hero-icons/24/solid/exclamation-triangle-icon.js +5 -0
- package/dist/esm/components/index.d.ts +42 -0
- package/dist/esm/components/index.js +42 -0
- package/dist/esm/components/label/index.d.ts +1 -0
- package/dist/esm/components/label/index.js +1 -0
- package/dist/esm/components/label/label.js +8 -0
- package/dist/esm/components/menu/index.d.ts +3 -0
- package/dist/esm/components/menu/index.js +3 -0
- package/{types → dist/esm}/components/menu/menu-item.d.ts +4 -6
- package/dist/esm/components/menu/menu-item.js +16 -0
- package/dist/esm/components/menu/menu-separator.js +5 -0
- package/{types → dist/esm}/components/menu/menu.d.ts +6 -5
- package/{esm → dist/esm}/components/menu/menu.js +7 -11
- package/dist/esm/components/nav-list/index.d.ts +3 -0
- package/dist/esm/components/nav-list/index.js +3 -0
- package/dist/esm/components/nav-list/nav-list-item.js +15 -0
- package/dist/esm/components/nav-list/nav-list-title.js +5 -0
- package/dist/esm/components/nav-list/nav-list.js +5 -0
- package/dist/esm/components/password-input/index.d.ts +1 -0
- package/dist/esm/components/password-input/index.js +1 -0
- package/dist/esm/components/password-input/password-input.d.ts +9 -0
- package/dist/esm/components/password-input/password-input.js +17 -0
- package/dist/esm/components/popover/index.d.ts +1 -0
- package/dist/esm/components/popover/index.js +1 -0
- package/{types → dist/esm}/components/popover/popover.d.ts +1 -1
- package/{esm → dist/esm}/components/popover/popover.js +8 -11
- package/{esm → dist/esm}/components/popover/use-page-click.js +2 -5
- package/dist/esm/components/portal/index.d.ts +1 -0
- package/dist/esm/components/portal/index.js +1 -0
- package/{esm → dist/esm}/components/portal/portal-context.js +6 -5
- package/{esm → dist/esm}/components/portal/portal.js +1 -4
- package/{types → dist/esm}/components/positioner/calc-position.d.ts +1 -1
- package/{esm → dist/esm}/components/positioner/calc-position.js +2 -4
- package/dist/esm/components/positioner/index.d.ts +1 -0
- package/dist/esm/components/positioner/index.js +1 -0
- package/{types → dist/esm}/components/positioner/positioner.d.ts +1 -1
- package/{esm → dist/esm}/components/positioner/positioner.js +5 -8
- package/dist/esm/components/positioner/types.js +1 -0
- package/dist/esm/components/radio/index.d.ts +1 -0
- package/dist/esm/components/radio/index.js +1 -0
- package/dist/esm/components/radio/radio.js +23 -0
- package/dist/esm/components/segmented-control/index.d.ts +1 -0
- package/dist/esm/components/segmented-control/index.js +1 -0
- package/dist/esm/components/segmented-control/segmented-button.d.ts +11 -0
- package/dist/esm/components/segmented-control/segmented-button.js +10 -0
- package/{types → dist/esm}/components/segmented-control/segmented-control.d.ts +5 -3
- package/dist/esm/components/segmented-control/segmented-control.js +15 -0
- package/dist/esm/components/select/index.d.ts +1 -0
- package/dist/esm/components/select/index.js +1 -0
- package/{types → dist/esm}/components/select/select.d.ts +9 -9
- package/dist/esm/components/select/select.js +34 -0
- package/dist/esm/components/selection-control/index.d.ts +1 -0
- package/dist/esm/components/selection-control/index.js +1 -0
- package/dist/esm/components/selection-control/selection-control.js +15 -0
- package/dist/esm/components/slide-over/index.d.ts +4 -0
- package/dist/esm/components/slide-over/index.js +3 -0
- package/dist/esm/components/slide-over/slide-over-body.js +5 -0
- package/{types → dist/esm}/components/slide-over/slide-over-context.d.ts +1 -1
- package/{esm → dist/esm}/components/slide-over/slide-over-context.js +4 -7
- package/dist/esm/components/slide-over/slide-over-header.js +13 -0
- package/dist/esm/components/slide-over/slide-over.d.ts +25 -0
- package/{esm → dist/esm}/components/slide-over/slide-over.js +19 -17
- package/dist/esm/components/slide-over/types.d.ts +1 -0
- package/dist/esm/components/slide-over/types.js +1 -0
- package/dist/esm/components/slider/index.d.ts +2 -0
- package/dist/esm/components/slider/index.js +2 -0
- package/dist/esm/components/slider/slider-tick-marks.js +12 -0
- package/{types → dist/esm}/components/slider/slider.d.ts +1 -1
- package/{esm → dist/esm}/components/slider/slider.js +5 -8
- package/dist/esm/components/spinner/index.d.ts +1 -0
- package/dist/esm/components/spinner/index.js +1 -0
- package/dist/esm/components/spinner/spinner.js +6 -0
- package/dist/esm/components/switch/index.d.ts +1 -0
- package/dist/esm/components/switch/index.js +1 -0
- package/dist/esm/components/switch/switch.js +12 -0
- package/dist/esm/components/table/index.d.ts +7 -0
- package/dist/esm/components/table/index.js +7 -0
- package/dist/esm/components/table/table-body.js +6 -0
- package/dist/esm/components/table/table-cell.js +6 -0
- package/{esm → dist/esm}/components/table/table-container.js +3 -6
- package/{types → dist/esm}/components/table/table-head-cell.d.ts +1 -1
- package/dist/esm/components/table/table-head-cell.js +27 -0
- package/dist/esm/components/table/table-head.js +9 -0
- package/dist/esm/components/table/table-row.js +9 -0
- package/{esm → dist/esm}/components/table/table.js +3 -6
- package/dist/esm/components/tabs/index.d.ts +4 -0
- package/dist/esm/components/tabs/index.js +4 -0
- package/{esm → dist/esm}/components/tabs/tab-list.js +3 -6
- package/{types → dist/esm}/components/tabs/tab-panel.d.ts +1 -1
- package/dist/esm/components/tabs/tab-panel.js +11 -0
- package/dist/esm/components/tabs/tab.js +14 -0
- package/{types → dist/esm}/components/tabs/tabs-context.d.ts +1 -1
- package/{esm → dist/esm}/components/tabs/tabs-context.js +5 -8
- package/{types → dist/esm}/components/tabs/tabs.d.ts +1 -1
- package/dist/esm/components/tabs/tabs.js +6 -0
- package/dist/esm/components/tabs/types.js +1 -0
- package/dist/esm/components/tag/index.d.ts +1 -0
- package/dist/esm/components/tag/index.js +1 -0
- package/dist/esm/components/tag/tag.d.ts +15 -0
- package/dist/esm/components/tag/tag.js +11 -0
- package/dist/esm/components/text-input/index.d.ts +1 -0
- package/dist/esm/components/text-input/index.js +1 -0
- package/{types → dist/esm}/components/text-input/text-input.d.ts +12 -13
- package/dist/esm/components/text-input/text-input.js +42 -0
- package/dist/esm/components/textarea/index.d.ts +1 -0
- package/dist/esm/components/textarea/index.js +1 -0
- package/dist/esm/components/textarea/textarea.d.ts +12 -0
- package/dist/esm/components/textarea/textarea.js +19 -0
- package/dist/esm/components/toast/index.d.ts +2 -0
- package/dist/esm/components/toast/index.js +2 -0
- package/dist/esm/components/toast/toast-button.js +6 -0
- package/dist/esm/components/toast/toast.js +6 -0
- package/dist/esm/components/toaster/index.d.ts +1 -0
- package/dist/esm/components/toaster/index.js +1 -0
- package/{esm → dist/esm}/components/toaster/toaster.js +9 -13
- package/dist/esm/components/tooltip/index.d.ts +1 -0
- package/dist/esm/components/tooltip/index.js +1 -0
- package/{types → dist/esm}/components/tooltip/tooltip.d.ts +1 -1
- package/{esm → dist/esm}/components/tooltip/tooltip.js +8 -11
- package/dist/esm/hooks/index.d.ts +4 -0
- package/dist/esm/hooks/index.js +4 -0
- package/{esm → dist/esm}/hooks/use-disable-body-scroll.js +1 -4
- package/{esm → dist/esm}/hooks/use-esc-key-down.js +2 -5
- package/{esm → dist/esm}/hooks/use-focus-trap.js +1 -4
- package/{esm → dist/esm}/hooks/use-mount-transition.js +2 -5
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +3 -0
- package/{esm → dist/esm}/lib/helpers.js +3 -5
- package/dist/esm/lib/index.d.ts +3 -0
- package/dist/esm/lib/index.js +3 -0
- package/{esm → dist/esm}/lib/keyboard-keys.js +1 -3
- package/{esm → dist/esm}/lib/react-helpers.js +6 -9
- package/package.json +41 -55
- package/cjs/components/alert/alert.cjs +0 -19
- package/cjs/components/avatar/avatar.cjs +0 -31
- package/cjs/components/avatar-group/avatar-group.cjs +0 -10
- package/cjs/components/badge/badge.cjs +0 -23
- package/cjs/components/breadcrumbs/breadcrumbs-context.cjs +0 -19
- package/cjs/components/breadcrumbs/breadcrumbs-item.cjs +0 -21
- package/cjs/components/breadcrumbs/breadcrumbs.cjs +0 -12
- package/cjs/components/button/button.cjs +0 -41
- package/cjs/components/button/icon-button.cjs +0 -12
- package/cjs/components/button-group/button-group.cjs +0 -10
- package/cjs/components/caption/caption.cjs +0 -27
- package/cjs/components/caption/icons.cjs +0 -21
- package/cjs/components/checkbox/checkbox.cjs +0 -20
- package/cjs/components/color-picker/color-picker-button.cjs +0 -16
- package/cjs/components/color-picker/color-picker.cjs +0 -24
- package/cjs/components/date-picker/calendar-day.cjs +0 -17
- package/cjs/components/date-picker/calendar-grid-head.cjs +0 -16
- package/cjs/components/date-picker/calendar-grid.cjs +0 -106
- package/cjs/components/date-picker/calendar-header.cjs +0 -48
- package/cjs/components/date-picker/calendar.cjs +0 -24
- package/cjs/components/date-picker/date-helpers.cjs +0 -112
- package/cjs/components/date-picker/date-picker.cjs +0 -20
- package/cjs/components/date-picker/date-range-picker.cjs +0 -61
- package/cjs/components/date-picker/date-range.cjs +0 -28
- package/cjs/components/date-picker/icons.cjs +0 -13
- package/cjs/components/date-picker/parse-min-max-props.cjs +0 -20
- package/cjs/components/date-picker-popover/date-picker-popover.cjs +0 -24
- package/cjs/components/date-range-picker-popover/date-range-picker-popover-footer.cjs +0 -11
- package/cjs/components/date-range-picker-popover/date-range-picker-popover-presets.cjs +0 -35
- package/cjs/components/date-range-picker-popover/date-range-picker-popover.cjs +0 -59
- package/cjs/components/date-range-picker-popover/helpers.cjs +0 -15
- package/cjs/components/date-range-picker-popover/use-is-compact-view.cjs +0 -27
- package/cjs/components/dialog/dialog-body.cjs +0 -12
- package/cjs/components/dialog/dialog-context.cjs +0 -24
- package/cjs/components/dialog/dialog-footer.cjs +0 -13
- package/cjs/components/dialog/dialog-header.cjs +0 -21
- package/cjs/components/dialog/dialog.cjs +0 -50
- package/cjs/components/dialog/x-mark-icon.cjs +0 -9
- package/cjs/components/empty-state/empty-state.cjs +0 -10
- package/cjs/components/file-picker/file-picker.cjs +0 -47
- package/cjs/components/filter-buttons/filter-button.cjs +0 -11
- package/cjs/components/filter-buttons/filter-buttons.cjs +0 -27
- package/cjs/components/filtered-search/filter-item.cjs +0 -23
- package/cjs/components/filtered-search/filter-operator-select.cjs +0 -17
- package/cjs/components/filtered-search/filter-token.cjs +0 -17
- package/cjs/components/filtered-search/filter-value-list.cjs +0 -20
- package/cjs/components/filtered-search/filtered-search.cjs +0 -225
- package/cjs/components/filtered-search/icons.cjs +0 -21
- package/cjs/components/filtered-search/model/abstract-filter.cjs +0 -6
- package/cjs/components/filtered-search/model/string-filter.cjs +0 -46
- package/cjs/components/filtered-search/model/string-set-filter.cjs +0 -44
- package/cjs/components/filtered-search/string-filter-input.cjs +0 -17
- package/cjs/components/filtered-search/string-filter-item.cjs +0 -68
- package/cjs/components/filtered-search/string-set-filter-item.cjs +0 -77
- package/cjs/components/filtered-search/use-combobox-ids.cjs +0 -17
- package/cjs/components/filtered-search/use-translations.cjs +0 -24
- package/cjs/components/form-field/form-field.cjs +0 -26
- package/cjs/components/index.cjs +0 -141
- package/cjs/components/label/label.cjs +0 -13
- package/cjs/components/menu/menu-item.cjs +0 -21
- package/cjs/components/menu/menu-separator.cjs +0 -10
- package/cjs/components/menu/menu.cjs +0 -191
- package/cjs/components/nav-list/nav-list-item.cjs +0 -20
- package/cjs/components/nav-list/nav-list-title.cjs +0 -10
- package/cjs/components/nav-list/nav-list.cjs +0 -10
- package/cjs/components/password-input/icons.cjs +0 -13
- package/cjs/components/password-input/password-input.cjs +0 -30
- package/cjs/components/popover/popover.cjs +0 -96
- package/cjs/components/popover/use-page-click.cjs +0 -51
- package/cjs/components/portal/portal-context.cjs +0 -22
- package/cjs/components/portal/portal.cjs +0 -11
- package/cjs/components/positioner/calc-position.cjs +0 -117
- package/cjs/components/positioner/positioner.cjs +0 -64
- package/cjs/components/radio/radio.cjs +0 -28
- package/cjs/components/segmented-control/segmented-control-button.cjs +0 -15
- package/cjs/components/segmented-control/segmented-control.cjs +0 -48
- package/cjs/components/select/select.cjs +0 -39
- package/cjs/components/selection-control/selection-control.cjs +0 -18
- package/cjs/components/slide-over/slide-over-body.cjs +0 -10
- package/cjs/components/slide-over/slide-over-context.cjs +0 -24
- package/cjs/components/slide-over/slide-over-header.cjs +0 -21
- package/cjs/components/slide-over/slide-over.cjs +0 -106
- package/cjs/components/slider/slider-tick-marks.cjs +0 -17
- package/cjs/components/slider/slider.cjs +0 -41
- package/cjs/components/spinner/spinner.cjs +0 -11
- package/cjs/components/switch/switch.cjs +0 -17
- package/cjs/components/table/icons.cjs +0 -17
- package/cjs/components/table/table-body.cjs +0 -11
- package/cjs/components/table/table-cell.cjs +0 -11
- package/cjs/components/table/table-container.cjs +0 -23
- package/cjs/components/table/table-head-cell.cjs +0 -30
- package/cjs/components/table/table-head.cjs +0 -14
- package/cjs/components/table/table-row.cjs +0 -14
- package/cjs/components/table/table.cjs +0 -16
- package/cjs/components/tabs/tab-list.cjs +0 -67
- package/cjs/components/tabs/tab-panel.cjs +0 -16
- package/cjs/components/tabs/tab.cjs +0 -19
- package/cjs/components/tabs/tabs-context.cjs +0 -31
- package/cjs/components/tabs/tabs.cjs +0 -11
- package/cjs/components/tag/tag.cjs +0 -16
- package/cjs/components/text-input/text-input.cjs +0 -42
- package/cjs/components/textarea/textarea.cjs +0 -40
- package/cjs/components/toast/toast-button.cjs +0 -11
- package/cjs/components/toast/toast.cjs +0 -11
- package/cjs/components/toast/x-mark-icon.cjs +0 -9
- package/cjs/components/toaster/toaster.cjs +0 -115
- package/cjs/components/tooltip/tooltip.cjs +0 -75
- package/cjs/hooks/index.cjs +0 -13
- package/cjs/hooks/use-disable-body-scroll.cjs +0 -37
- package/cjs/hooks/use-esc-key-down.cjs +0 -56
- package/cjs/hooks/use-focus-trap.cjs +0 -89
- package/cjs/hooks/use-mount-transition.cjs +0 -41
- package/cjs/index.cjs +0 -161
- package/cjs/lib/helpers.cjs +0 -25
- package/cjs/lib/index.cjs +0 -17
- package/cjs/lib/keyboard-keys.cjs +0 -19
- package/cjs/lib/react-helpers.cjs +0 -58
- package/esm/components/alert/alert.js +0 -17
- package/esm/components/avatar/avatar.js +0 -29
- package/esm/components/avatar-group/avatar-group.js +0 -8
- package/esm/components/breadcrumbs/breadcrumbs-context.js +0 -16
- package/esm/components/breadcrumbs/breadcrumbs-item.js +0 -19
- package/esm/components/breadcrumbs/breadcrumbs.js +0 -10
- package/esm/components/button/button.js +0 -39
- package/esm/components/button/icon-button.js +0 -10
- package/esm/components/button-group/button-group.js +0 -8
- package/esm/components/caption/caption.js +0 -25
- package/esm/components/caption/icons.js +0 -16
- package/esm/components/checkbox/checkbox.js +0 -18
- package/esm/components/color-picker/color-picker-button.js +0 -14
- package/esm/components/date-picker/calendar-grid-head.js +0 -14
- package/esm/components/date-picker/calendar-header.js +0 -46
- package/esm/components/date-picker/calendar.js +0 -22
- package/esm/components/date-picker/date-picker.js +0 -18
- package/esm/components/date-picker/icons.js +0 -10
- package/esm/components/date-picker-popover/date-picker-popover.js +0 -22
- package/esm/components/date-range-picker-popover/date-range-picker-popover-footer.js +0 -9
- package/esm/components/date-range-picker-popover/date-range-picker-popover-presets.js +0 -33
- package/esm/components/dialog/dialog-body.js +0 -10
- package/esm/components/dialog/dialog-footer.js +0 -11
- package/esm/components/dialog/dialog-header.js +0 -19
- package/esm/components/dialog/x-mark-icon.js +0 -7
- package/esm/components/empty-state/empty-state.js +0 -8
- package/esm/components/filter-buttons/filter-button.js +0 -9
- package/esm/components/filtered-search/filter-item.js +0 -21
- package/esm/components/filtered-search/filter-operator-select.js +0 -15
- package/esm/components/filtered-search/filter-token.js +0 -15
- package/esm/components/filtered-search/filter-value-list.js +0 -18
- package/esm/components/filtered-search/icons.js +0 -16
- package/esm/components/filtered-search/model/abstract-filter.js +0 -4
- package/esm/components/filtered-search/string-filter-input.js +0 -15
- package/esm/components/form-field/form-field.js +0 -24
- package/esm/components/index.js +0 -68
- package/esm/components/label/label.js +0 -11
- package/esm/components/menu/menu-item.js +0 -19
- package/esm/components/menu/menu-separator.js +0 -8
- package/esm/components/nav-list/nav-list-item.js +0 -18
- package/esm/components/nav-list/nav-list-title.js +0 -8
- package/esm/components/nav-list/nav-list.js +0 -8
- package/esm/components/password-input/icons.js +0 -10
- package/esm/components/password-input/password-input.js +0 -28
- package/esm/components/radio/radio.js +0 -26
- package/esm/components/segmented-control/segmented-control-button.js +0 -13
- package/esm/components/segmented-control/segmented-control.js +0 -46
- package/esm/components/select/select.js +0 -37
- package/esm/components/selection-control/selection-control.js +0 -16
- package/esm/components/slide-over/slide-over-body.js +0 -8
- package/esm/components/slide-over/slide-over-header.js +0 -19
- package/esm/components/slider/slider-tick-marks.js +0 -15
- package/esm/components/spinner/spinner.js +0 -9
- package/esm/components/switch/switch.js +0 -15
- package/esm/components/table/icons.js +0 -13
- package/esm/components/table/table-body.js +0 -9
- package/esm/components/table/table-cell.js +0 -9
- package/esm/components/table/table-head-cell.js +0 -28
- package/esm/components/table/table-head.js +0 -12
- package/esm/components/table/table-row.js +0 -12
- package/esm/components/tabs/tab-panel.js +0 -14
- package/esm/components/tabs/tab.js +0 -17
- package/esm/components/tabs/tabs.js +0 -9
- package/esm/components/tag/tag.js +0 -14
- package/esm/components/text-input/text-input.js +0 -40
- package/esm/components/textarea/textarea.js +0 -38
- package/esm/components/toast/toast-button.js +0 -9
- package/esm/components/toast/toast.js +0 -9
- package/esm/components/toast/x-mark-icon.js +0 -7
- package/esm/hooks/index.js +0 -4
- package/esm/index.js +0 -75
- package/esm/lib/index.js +0 -3
- package/types/components/alert/alert.d.ts +0 -12
- package/types/components/alert/index.d.ts +0 -1
- package/types/components/avatar/index.d.ts +0 -1
- package/types/components/avatar-group/index.d.ts +0 -1
- package/types/components/badge/index.d.ts +0 -1
- package/types/components/breadcrumbs/index.d.ts +0 -2
- package/types/components/button/icon-button.d.ts +0 -7
- package/types/components/button/index.d.ts +0 -2
- package/types/components/button-group/index.d.ts +0 -1
- package/types/components/caption/caption.d.ts +0 -7
- package/types/components/caption/icons.d.ts +0 -5
- package/types/components/caption/index.d.ts +0 -1
- package/types/components/checkbox/index.d.ts +0 -1
- package/types/components/color-picker/index.d.ts +0 -1
- package/types/components/date-picker/icons.d.ts +0 -3
- package/types/components/date-picker/index.d.ts +0 -2
- package/types/components/date-picker-popover/index.d.ts +0 -1
- package/types/components/date-range-picker-popover/index.d.ts +0 -2
- package/types/components/dialog/index.d.ts +0 -4
- package/types/components/dialog/x-mark-icon.d.ts +0 -2
- package/types/components/empty-state/empty-state.d.ts +0 -11
- package/types/components/empty-state/index.d.ts +0 -1
- package/types/components/file-picker/index.d.ts +0 -1
- package/types/components/filter-buttons/index.d.ts +0 -2
- package/types/components/filtered-search/icons.d.ts +0 -5
- package/types/components/form-field/index.d.ts +0 -1
- package/types/components/index.d.ts +0 -42
- package/types/components/label/index.d.ts +0 -1
- package/types/components/menu/index.d.ts +0 -3
- package/types/components/nav-list/index.d.ts +0 -3
- package/types/components/password-input/icons.d.ts +0 -3
- package/types/components/password-input/index.d.ts +0 -1
- package/types/components/password-input/password-input.d.ts +0 -10
- package/types/components/popover/index.d.ts +0 -1
- package/types/components/portal/index.d.ts +0 -1
- package/types/components/positioner/index.d.ts +0 -1
- package/types/components/radio/index.d.ts +0 -1
- package/types/components/segmented-control/index.d.ts +0 -1
- package/types/components/segmented-control/segmented-control-button.d.ts +0 -10
- package/types/components/select/index.d.ts +0 -1
- package/types/components/selection-control/index.d.ts +0 -1
- package/types/components/slide-over/index.d.ts +0 -4
- package/types/components/slide-over/slide-over.d.ts +0 -15
- package/types/components/slide-over/types.d.ts +0 -1
- package/types/components/slider/index.d.ts +0 -2
- package/types/components/spinner/index.d.ts +0 -1
- package/types/components/switch/index.d.ts +0 -1
- package/types/components/table/icons.d.ts +0 -4
- package/types/components/table/index.d.ts +0 -7
- package/types/components/tabs/index.d.ts +0 -4
- package/types/components/tag/index.d.ts +0 -1
- package/types/components/tag/tag.d.ts +0 -18
- package/types/components/text-input/index.d.ts +0 -1
- package/types/components/textarea/index.d.ts +0 -1
- package/types/components/textarea/textarea.d.ts +0 -20
- package/types/components/toast/index.d.ts +0 -2
- package/types/components/toast/x-mark-icon.d.ts +0 -2
- package/types/components/toaster/index.d.ts +0 -1
- package/types/components/tooltip/index.d.ts +0 -1
- package/types/hooks/index.d.ts +0 -4
- package/types/index.d.ts +0 -3
- package/types/lib/index.d.ts +0 -3
- /package/{css → dist/css}/draft-components-utilities.css +0 -0
- /package/{types → dist/esm}/components/avatar-group/avatar-group.d.ts +0 -0
- /package/{types → dist/esm}/components/badge/badge.d.ts +0 -0
- /package/{types → dist/esm}/components/breadcrumbs/breadcrumbs-context.d.ts +0 -0
- /package/{types → dist/esm}/components/breadcrumbs/breadcrumbs-item.d.ts +0 -0
- /package/{types → dist/esm}/components/breadcrumbs/breadcrumbs.d.ts +0 -0
- /package/{types → dist/esm}/components/button-group/button-group.d.ts +0 -0
- /package/{types → dist/esm}/components/checkbox/checkbox.d.ts +0 -0
- /package/{types → dist/esm}/components/color-picker/color-picker-button.d.ts +0 -0
- /package/{types → dist/esm}/components/color-picker/color-picker.d.ts +0 -0
- /package/{types → dist/esm}/components/date-picker/calendar-day.d.ts +0 -0
- /package/{types → dist/esm}/components/date-picker/calendar-header.d.ts +0 -0
- /package/{types → dist/esm}/components/date-picker/date-helpers.d.ts +0 -0
- /package/{types → dist/esm}/components/date-range-picker-popover/date-range-picker-popover-footer.d.ts +0 -0
- /package/{types → dist/esm}/components/date-range-picker-popover/use-is-compact-view.d.ts +0 -0
- /package/{types → dist/esm}/components/dialog/dialog-body.d.ts +0 -0
- /package/{types → dist/esm}/components/dialog/dialog-context.d.ts +0 -0
- /package/{types → dist/esm}/components/dialog/dialog-footer.d.ts +0 -0
- /package/{types → dist/esm}/components/dialog/dialog-header.d.ts +0 -0
- /package/{types → dist/esm}/components/dialog/dialog.d.ts +0 -0
- /package/{types → dist/esm}/components/file-picker/file-picker.d.ts +0 -0
- /package/{types → dist/esm}/components/filter-buttons/filter-button.d.ts +0 -0
- /package/{types → dist/esm}/components/filter-buttons/filter-buttons.d.ts +0 -0
- /package/{types → dist/esm}/components/filtered-search/filter-operator-select.d.ts +0 -0
- /package/{types → dist/esm}/components/filtered-search/filter-token.d.ts +0 -0
- /package/{types → dist/esm}/components/filtered-search/filter-value-list.d.ts +0 -0
- /package/{types → dist/esm}/components/filtered-search/model/abstract-filter.d.ts +0 -0
- /package/{types → dist/esm}/components/filtered-search/model/validation-result.d.ts +0 -0
- /package/{types → dist/esm}/components/filtered-search/string-filter-input.d.ts +0 -0
- /package/{types → dist/esm}/components/filtered-search/use-combobox-ids.d.ts +0 -0
- /package/{types → dist/esm}/components/filtered-search/use-translations.d.ts +0 -0
- /package/{types → dist/esm}/components/label/label.d.ts +0 -0
- /package/{types → dist/esm}/components/menu/menu-separator.d.ts +0 -0
- /package/{types → dist/esm}/components/nav-list/nav-list-item.d.ts +0 -0
- /package/{types → dist/esm}/components/nav-list/nav-list-title.d.ts +0 -0
- /package/{types → dist/esm}/components/nav-list/nav-list.d.ts +0 -0
- /package/{types → dist/esm}/components/popover/use-page-click.d.ts +0 -0
- /package/{types → dist/esm}/components/portal/portal-context.d.ts +0 -0
- /package/{types → dist/esm}/components/portal/portal.d.ts +0 -0
- /package/{types → dist/esm}/components/positioner/types.d.ts +0 -0
- /package/{types → dist/esm}/components/radio/radio.d.ts +0 -0
- /package/{types → dist/esm}/components/selection-control/selection-control.d.ts +0 -0
- /package/{types → dist/esm}/components/slide-over/slide-over-body.d.ts +0 -0
- /package/{types → dist/esm}/components/slide-over/slide-over-header.d.ts +0 -0
- /package/{types → dist/esm}/components/slider/slider-tick-marks.d.ts +0 -0
- /package/{types → dist/esm}/components/spinner/spinner.d.ts +0 -0
- /package/{types → dist/esm}/components/switch/switch.d.ts +0 -0
- /package/{types → dist/esm}/components/table/table-body.d.ts +0 -0
- /package/{types → dist/esm}/components/table/table-cell.d.ts +0 -0
- /package/{types → dist/esm}/components/table/table-container.d.ts +0 -0
- /package/{types → dist/esm}/components/table/table-head.d.ts +0 -0
- /package/{types → dist/esm}/components/table/table-row.d.ts +0 -0
- /package/{types → dist/esm}/components/table/table.d.ts +0 -0
- /package/{types → dist/esm}/components/tabs/tab-list.d.ts +0 -0
- /package/{types → dist/esm}/components/tabs/tab.d.ts +0 -0
- /package/{types → dist/esm}/components/tabs/types.d.ts +0 -0
- /package/{types → dist/esm}/components/toast/toast-button.d.ts +0 -0
- /package/{types → dist/esm}/components/toast/toast.d.ts +0 -0
- /package/{types → dist/esm}/components/toaster/toaster.d.ts +0 -0
- /package/{types → dist/esm}/hooks/use-disable-body-scroll.d.ts +0 -0
- /package/{types → dist/esm}/hooks/use-esc-key-down.d.ts +0 -0
- /package/{types → dist/esm}/hooks/use-focus-trap.d.ts +0 -0
- /package/{types → dist/esm}/hooks/use-mount-transition.d.ts +0 -0
- /package/{types → dist/esm}/lib/helpers.d.ts +0 -0
- /package/{types → dist/esm}/lib/keyboard-keys.d.ts +0 -0
- /package/{types → dist/esm}/lib/react-helpers.d.ts +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from 'react';
|
|
3
|
+
import { findSelectedOption } from './helpers.js';
|
|
4
|
+
import { Select } from '../select/index.js';
|
|
5
|
+
import { Radio } from '../radio/index.js';
|
|
6
|
+
import { SelectionControl } from '../selection-control/index.js';
|
|
7
|
+
export function DateRangePickerPopoverPresets({ isCompactView, customPresetLabel, options, value, onChangeValue, }) {
|
|
8
|
+
const id = useId();
|
|
9
|
+
const name = `${id}-date-preset`;
|
|
10
|
+
const selectedOption = findSelectedOption(value, options);
|
|
11
|
+
const selectedPreset = selectedOption ? selectedOption.preset : '';
|
|
12
|
+
function handleChange(event) {
|
|
13
|
+
const value = event.target.value;
|
|
14
|
+
const option = options.find((option) => option.preset === value);
|
|
15
|
+
if (option) {
|
|
16
|
+
onChangeValue({
|
|
17
|
+
preset: option.preset,
|
|
18
|
+
range: option.range,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
if (isCompactView) {
|
|
23
|
+
return (_jsx("div", { className: "dc-date-range-picker-popover__presets", children: _jsxs(Select, { size: "md", fullWidth: true, value: selectedPreset, onChange: handleChange, children: [_jsx("option", { value: "", disabled: true, children: customPresetLabel }), options.map((option) => (_jsx("option", { value: option.preset, children: option.label }, option.preset)))] }) }));
|
|
24
|
+
}
|
|
25
|
+
return (_jsx("ul", { className: "dc-date-range-picker-popover__presets", children: options.map((option) => {
|
|
26
|
+
const preset = option.preset;
|
|
27
|
+
const id = `${name}-${preset}`;
|
|
28
|
+
return (_jsx("li", { children: _jsx(SelectionControl, { label: option.label, labelFor: id, children: _jsx(Radio, { icon: "check", id: id, name: name, value: preset, checked: preset === selectedPreset, onChange: handleChange }) }) }, option.preset));
|
|
29
|
+
}) }));
|
|
30
|
+
}
|
package/{types → dist/esm}/components/date-range-picker-popover/date-range-picker-popover.d.ts
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { DateRangePickerPopoverOption, DateRangePickerPopoverSelection } from './types';
|
|
1
|
+
import { DateRangePickerPopoverOption, DateRangePickerPopoverSelection } from './types.js';
|
|
2
2
|
import { JSX, ReactNode } from 'react';
|
|
3
|
-
import { PopoverAlignment, PopoverPlacement } from '../popover';
|
|
4
|
-
import { DateRangePickerProps } from '../date-picker';
|
|
3
|
+
import { PopoverAlignment, PopoverPlacement } from '../popover/index.js';
|
|
4
|
+
import { DateRangePickerProps } from '../date-picker/index.js';
|
|
5
5
|
export type DateRangePickerPopoverPlacement = PopoverPlacement;
|
|
6
6
|
export type DateRangePickerPopoverAlignment = PopoverAlignment;
|
|
7
7
|
export type DateRangePickerPopoverRenderFooter = (context: {
|
|
@@ -1,19 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { classNames } from '../../lib/react-helpers.js';
|
|
3
3
|
import { assertIfNullable } from '../../lib/helpers.js';
|
|
4
4
|
import { findSelectedOption } from './helpers.js';
|
|
5
|
-
import {
|
|
5
|
+
import { useRef, useState } from 'react';
|
|
6
6
|
import { useIsCompactView } from './use-is-compact-view.js';
|
|
7
|
-
import { Popover } from '../popover/
|
|
8
|
-
import '../
|
|
9
|
-
import '../button/icon-button.js';
|
|
10
|
-
import '../select/select.js';
|
|
11
|
-
import '../text-input/text-input.js';
|
|
12
|
-
import { DateRangePicker } from '../date-picker/date-range-picker.js';
|
|
7
|
+
import { Popover } from '../popover/index.js';
|
|
8
|
+
import { DateRangePicker } from '../date-picker/index.js';
|
|
13
9
|
import { DateRangePickerPopoverFooter } from './date-range-picker-popover-footer.js';
|
|
14
10
|
import { DateRangePickerPopoverPresets } from './date-range-picker-popover-presets.js';
|
|
15
|
-
|
|
16
|
-
function DateRangePickerPopover({ defaultIsOpen = false, compactViewBreakpoint = '(max-width: 599px)', customPreset = 'custom', customPresetLabel = 'Custom date preset', placement = 'bottom', alignment = 'start', cancelButtonLabel = 'Cancel', confirmButtonLabel = 'Confirm', footer = null, className, options = [], children, value, onChangeValue,
|
|
11
|
+
export function DateRangePickerPopover({ defaultIsOpen = false, compactViewBreakpoint = '(max-width: 599px)', customPreset = 'custom', customPresetLabel = 'Custom date preset', placement = 'bottom', alignment = 'start', cancelButtonLabel = 'Cancel', confirmButtonLabel = 'Confirm', footer = null, className, options = [], children, value, onChangeValue,
|
|
17
12
|
// DateRangePickerProps
|
|
18
13
|
min, max, locale, weekStartsOn, prevMonthButtonLabel, nextMonthButtonLabel, monthSelectLabel, yearInputLabel, }) {
|
|
19
14
|
const [selection, setSelection] = useState(value);
|
|
@@ -46,12 +41,10 @@ min, max, locale, weekStartsOn, prevMonthButtonLabel, nextMonthButtonLabel, mont
|
|
|
46
41
|
setSelection(selection);
|
|
47
42
|
}
|
|
48
43
|
}
|
|
49
|
-
return (
|
|
44
|
+
return (_jsxs(Popover, { className: classNames(className, {
|
|
50
45
|
'dc-date-range-picker-popover': true,
|
|
51
46
|
'dc-date-range-picker-popover_compact': isCompactView,
|
|
52
|
-
}), ref: popoverRef, placement: placement, alignment: alignment, anchor: children, defaultIsOpen: defaultIsOpen, onOpen: () => setSelection(value), children: [options.length > 0 && (
|
|
47
|
+
}), ref: popoverRef, placement: placement, alignment: alignment, anchor: children, defaultIsOpen: defaultIsOpen, onOpen: () => setSelection(value), children: [options.length > 0 && (_jsx(DateRangePickerPopoverPresets, { isCompactView: isCompactView, customPresetLabel: customPresetLabel, options: options, value: selection, onChangeValue: setSelection })), _jsx(DateRangePicker, { className: "dc-date-range-picker-popover__calendar", min: min, max: max, locale: locale, weekStartsOn: weekStartsOn, prevMonthButtonLabel: prevMonthButtonLabel, nextMonthButtonLabel: nextMonthButtonLabel, monthSelectLabel: monthSelectLabel, yearInputLabel: yearInputLabel, value: selection && selection.range, onChangeValue: handleChangeDateRange }), _jsx(DateRangePickerPopoverFooter, { cancelButtonLabel: cancelButtonLabel, confirmButtonLabel: confirmButtonLabel, onClickCancelButton: handleClickCancelButton, onClickConfirmButton: handleClickConfirmButton, children: typeof footer === 'function'
|
|
53
48
|
? footer({ selection })
|
|
54
49
|
: footer })] }));
|
|
55
50
|
}
|
|
56
|
-
|
|
57
|
-
export { DateRangePickerPopover };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { DateRangePickerPopoverOption, DateRangePickerPopoverSelection } from './types';
|
|
1
|
+
import { DateRangePickerPopoverOption, DateRangePickerPopoverSelection } from './types.js';
|
|
2
2
|
export declare function findSelectedOption(selection: DateRangePickerPopoverSelection | null, options: DateRangePickerPopoverOption[]): DateRangePickerPopoverOption | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function findSelectedOption(selection, options) {
|
|
1
|
+
export function findSelectedOption(selection, options) {
|
|
2
2
|
if (!selection) {
|
|
3
3
|
return null;
|
|
4
4
|
}
|
|
@@ -9,5 +9,3 @@ function findSelectedOption(selection, options) {
|
|
|
9
9
|
});
|
|
10
10
|
return selectedOption || null;
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
export { findSelectedOption };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { useMemo, useState
|
|
2
|
-
|
|
3
|
-
function useIsCompactView(breakpoint) {
|
|
1
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
2
|
+
export function useIsCompactView(breakpoint) {
|
|
4
3
|
const compactViewMediaQuery = useMemo(() => {
|
|
5
4
|
if (typeof document !== 'undefined') {
|
|
6
5
|
return window.matchMedia(breakpoint);
|
|
@@ -21,5 +20,3 @@ function useIsCompactView(breakpoint) {
|
|
|
21
20
|
}, [compactViewMediaQuery]);
|
|
22
21
|
return isCompactView;
|
|
23
22
|
}
|
|
24
|
-
|
|
25
|
-
export { useIsCompactView };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useRef } from 'react';
|
|
3
|
+
import { classNames } from '../../lib/react-helpers.js';
|
|
4
|
+
export function DialogBody({ className, children, }) {
|
|
5
|
+
const ref = useRef(null);
|
|
6
|
+
return (_jsx("div", { ref: ref, className: classNames('dc-dialog-body', className), children: children }));
|
|
7
|
+
}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
import { jsx } from
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { createContext, useContext } from 'react';
|
|
3
|
-
|
|
4
3
|
const DialogContext = createContext(null);
|
|
5
|
-
function useDialogContext() {
|
|
4
|
+
export function useDialogContext() {
|
|
6
5
|
const context = useContext(DialogContext);
|
|
7
6
|
if (!context) {
|
|
8
7
|
throw new Error('useDialogContext must be used within DialogProvider');
|
|
9
8
|
}
|
|
10
9
|
return context;
|
|
11
10
|
}
|
|
12
|
-
function DialogContextProvider(props) {
|
|
13
|
-
return (
|
|
11
|
+
export function DialogContextProvider(props) {
|
|
12
|
+
return (_jsx(DialogContext.Provider, { value: {
|
|
14
13
|
titleId: props.titleId,
|
|
15
14
|
descriptionId: props.descriptionId,
|
|
16
15
|
isOpen: props.isOpen,
|
|
17
16
|
onClose: props.onClose,
|
|
18
17
|
}, children: props.children }));
|
|
19
18
|
}
|
|
20
|
-
|
|
21
|
-
export { DialogContextProvider, useDialogContext };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { classNames } from '../../lib/react-helpers.js';
|
|
3
|
+
export function DialogFooter({ hasBorder, className, children, }) {
|
|
4
|
+
return (_jsx("div", { className: classNames(className, {
|
|
5
|
+
'dc-dialog-footer': true,
|
|
6
|
+
'dc-dialog-footer_has_border': hasBorder,
|
|
7
|
+
}), children: children }));
|
|
8
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { classNames } from '../../lib/react-helpers.js';
|
|
3
|
+
import { useDialogContext } from './dialog-context.js';
|
|
4
|
+
import { IconButton } from '../button/index.js';
|
|
5
|
+
import { XMarkIcon } from '../hero-icons/24/outline/x-mark-icon.js';
|
|
6
|
+
export function DialogHeader({ hasBorder, heading, subheading, className, children, }) {
|
|
7
|
+
const { titleId, descriptionId, onClose, } = useDialogContext();
|
|
8
|
+
const shouldRenderHeading = Boolean(heading);
|
|
9
|
+
const shouldRenderDescription = Boolean(subheading);
|
|
10
|
+
const shouldRenderChildren = Boolean(children);
|
|
11
|
+
return (_jsxs("div", { className: classNames(className, {
|
|
12
|
+
'dc-dialog-header': true,
|
|
13
|
+
'dc-dialog-header_has_border': hasBorder,
|
|
14
|
+
}), children: [_jsxs("div", { className: "dc-dialog-header__title-bar", children: [shouldRenderHeading && (_jsx("h2", { id: titleId, className: "dc-dialog-header__heading", children: heading })), _jsx(IconButton, { className: "dc-dialog-header__close-btn", buttonStyle: "plain", onClick: () => onClose(), children: _jsx(XMarkIcon, { width: 18, height: 18, strokeWidth: 2 }) })] }), shouldRenderDescription && (_jsx("div", { id: descriptionId, className: "dc-dialog-header__subheading", children: subheading })), shouldRenderChildren && (_jsx("div", { className: "dc-dialog-header__body", children: children }))] }));
|
|
15
|
+
}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import { jsx, jsxs } from
|
|
2
|
-
import { useId, useRef
|
|
3
|
-
import {
|
|
4
|
-
import { useDisableBodyScroll } from '../../hooks/
|
|
5
|
-
import {
|
|
6
|
-
import { useFocusTrap } from '../../hooks/use-focus-trap.js';
|
|
7
|
-
import { useMountTransition } from '../../hooks/use-mount-transition.js';
|
|
8
|
-
import { Portal } from '../portal/portal.js';
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useId, useRef } from 'react';
|
|
3
|
+
import { classNames, focusElement } from '../../lib/react-helpers.js';
|
|
4
|
+
import { useDisableBodyScroll, useEscKeyDown, useFocusTrap, useMountTransition } from '../../hooks/index.js';
|
|
5
|
+
import { Portal } from '../portal/index.js';
|
|
9
6
|
import { DialogContextProvider } from './dialog-context.js';
|
|
10
|
-
|
|
11
|
-
function Dialog({ width = 'md', isOpen = false, openFocusRef, closeFocusRef, onClose, className, children, ...props }) {
|
|
7
|
+
export function Dialog({ width = 'md', isOpen = false, openFocusRef, closeFocusRef, onClose, className, children, ...props }) {
|
|
12
8
|
const defaultId = useId();
|
|
13
9
|
const dialogRef = useRef(null);
|
|
14
10
|
const durationMs = 200;
|
|
@@ -37,12 +33,10 @@ function Dialog({ width = 'md', isOpen = false, openFocusRef, closeFocusRef, onC
|
|
|
37
33
|
const id = props.id || defaultId;
|
|
38
34
|
const titleId = `dialog-title-${id}`;
|
|
39
35
|
const descriptionId = `dialog-description-${id}`;
|
|
40
|
-
return (
|
|
36
|
+
return (_jsx(Portal, { children: _jsxs("div", { style: {
|
|
41
37
|
'--dc-dialog-transition-duration': `${durationMs}ms`,
|
|
42
|
-
}, className: classNames('dc-dialog', transitionClass), children: [
|
|
38
|
+
}, className: classNames('dc-dialog', transitionClass), children: [_jsx("div", { className: "dc-dialog-backdrop" }), _jsx("div", { ...props, ref: dialogRef, className: classNames(className, {
|
|
43
39
|
'dc-dialog-modal': true,
|
|
44
40
|
[`dc-dialog-modal_${width}`]: width,
|
|
45
|
-
}), role: "dialog", id: id, "aria-labelledby": titleId, "aria-describedby": descriptionId, "aria-modal": true, children:
|
|
41
|
+
}), role: "dialog", id: id, "aria-labelledby": titleId, "aria-describedby": descriptionId, "aria-modal": true, children: _jsx(DialogContextProvider, { titleId: titleId, descriptionId: descriptionId, isOpen: isOpen, onClose: onClose, children: children }) })] }) }));
|
|
46
42
|
}
|
|
47
|
-
|
|
48
|
-
export { Dialog };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
type EmptyStateHTMLProps = ComponentPropsWithoutRef<'div'>;
|
|
3
|
+
type EmptyStateBaseProps = Omit<EmptyStateHTMLProps, 'title'>;
|
|
4
|
+
export type EmptyStateProps = {
|
|
5
|
+
image?: ReactNode;
|
|
6
|
+
title?: ReactNode;
|
|
7
|
+
message?: ReactNode;
|
|
8
|
+
primaryAction?: ReactNode;
|
|
9
|
+
secondaryAction?: ReactNode;
|
|
10
|
+
} & EmptyStateBaseProps;
|
|
11
|
+
export declare function EmptyState({ className, image, title, message, primaryAction, secondaryAction, children, }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { classNames } from '../../lib/react-helpers.js';
|
|
3
|
+
export function EmptyState({ className, image, title, message, primaryAction, secondaryAction, children, }) {
|
|
4
|
+
return (_jsxs("section", { className: classNames('dc-empty-state', className), children: [image
|
|
5
|
+
? _jsx("div", { className: "dc-empty-state__image", children: image })
|
|
6
|
+
: null, title
|
|
7
|
+
? _jsx("h2", { className: "dc-empty-state__title", children: title })
|
|
8
|
+
: null, message
|
|
9
|
+
? _jsx("div", { className: "dc-empty-state__message", children: message })
|
|
10
|
+
: null, primaryAction
|
|
11
|
+
? _jsx("div", { className: "dc-empty-state__primary-action", children: primaryAction })
|
|
12
|
+
: null, secondaryAction
|
|
13
|
+
? _jsx("div", { className: "dc-empty-state__secondary-action", children: secondaryAction })
|
|
14
|
+
: null, children
|
|
15
|
+
? _jsx("div", { className: "dc-empty-state__content", children: children })
|
|
16
|
+
: null] }));
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './empty-state.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './empty-state.js';
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { forwardRef, useId, useRef, useState } from 'react';
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, useId, useRef, useState, } from 'react';
|
|
3
3
|
import { classNames, mergeRefs } from '../../lib/react-helpers.js';
|
|
4
|
-
import { Button } from '../button/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const FilePicker = forwardRef(function FilePicker({ label, icon, caption, buttonLabel = 'Browse', id, style, className, disabled, onSelectFiles, ...props }, ref) {
|
|
4
|
+
import { Button } from '../button/index.js';
|
|
5
|
+
export const FilePicker = forwardRef(function FilePicker({ label, icon, caption, buttonLabel = 'Browse', id, style, className, disabled, onSelectFiles, ...props }, ref) {
|
|
8
6
|
const defaultId = useId();
|
|
9
7
|
const inputId = id || defaultId;
|
|
10
8
|
const inputRef = useRef(null);
|
|
@@ -36,10 +34,8 @@ const FilePicker = forwardRef(function FilePicker({ label, icon, caption, button
|
|
|
36
34
|
onSelectFiles?.(fileList ? Array.from(fileList) : []);
|
|
37
35
|
}
|
|
38
36
|
};
|
|
39
|
-
return (
|
|
37
|
+
return (_jsxs("div", { style: style, className: classNames(className, 'dc-file-picker', {
|
|
40
38
|
'dc-file-picker_disabled': disabled,
|
|
41
39
|
'dc-file-picker_dragging-over': draggingOver,
|
|
42
|
-
}), onDragOver: handleDragOver, onDragLeave: handleDragEnd, onDrop: handleDrop, "data-testid": "file-picker", children: [
|
|
40
|
+
}), onDragOver: handleDragOver, onDragLeave: handleDragEnd, onDrop: handleDrop, "data-testid": "file-picker", children: [_jsx("input", { ...props, id: inputId, ref: mergeRefs(ref, inputRef), className: "dc-file-picker__input", type: "file", disabled: disabled, onChange: handleChange }), _jsxs("div", { className: "dc-file-picker__body", children: [Boolean(icon) && (_jsx("div", { className: "dc-file-picker__icon", children: icon })), _jsxs("div", { children: [_jsx("label", { className: "dc-file-picker__label", htmlFor: inputId, children: label }), Boolean(caption) && (_jsx("div", { className: "dc-file-picker__caption", children: caption }))] })] }), _jsx(Button, { className: "dc-file-picker__button", onClick: () => inputRef.current?.click(), children: buttonLabel })] }));
|
|
43
41
|
});
|
|
44
|
-
|
|
45
|
-
export { FilePicker };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './file-picker.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './file-picker.js';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { classNames } from '../../lib/react-helpers.js';
|
|
4
|
+
export const FilterButton = forwardRef(function FilterButton({ isActive = false, 'aria-pressed': ariaPressed = isActive, className, children, ...props }, ref) {
|
|
5
|
+
return (_jsx("button", { ...props, ref: ref, className: classNames('dc-filter-button', isActive && 'active', className), "data-active": isActive, "aria-pressed": ariaPressed, children: children }));
|
|
6
|
+
});
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { jsx } from
|
|
2
|
-
import {
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useLayoutEffect, useRef } from 'react';
|
|
3
3
|
import { assertIfNullable } from '../../lib/helpers.js';
|
|
4
4
|
import { classNames } from '../../lib/react-helpers.js';
|
|
5
|
-
|
|
6
|
-
function FilterButtons({ className, children, ...props }) {
|
|
5
|
+
export function FilterButtons({ className, children, ...props }) {
|
|
7
6
|
const ref = useRef(null);
|
|
8
7
|
useLayoutEffect(() => {
|
|
9
8
|
const el = ref.current;
|
|
@@ -19,7 +18,5 @@ function FilterButtons({ className, children, ...props }) {
|
|
|
19
18
|
}
|
|
20
19
|
}
|
|
21
20
|
}, []);
|
|
22
|
-
return (
|
|
21
|
+
return (_jsx("div", { ...props, ref: ref, role: "group", className: classNames(className, 'dc-filter-buttons'), children: children }));
|
|
23
22
|
}
|
|
24
|
-
|
|
25
|
-
export { FilterButtons };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { StringFilter } from './model/string-filter.js';
|
|
3
|
+
import { StringSetFilter } from './model/string-set-filter.js';
|
|
4
|
+
import { exhaustiveCheck } from '../../lib/index.js';
|
|
5
|
+
import { StringFilterItem } from './string-filter-item.js';
|
|
6
|
+
import { StringSetFilterItem } from './string-set-filter-item.js';
|
|
7
|
+
export function FilterItem({ filter, isEditing, onEditStart, onEditCancel, onRemove, onChange, }) {
|
|
8
|
+
const filterType = filter.type;
|
|
9
|
+
switch (filterType) {
|
|
10
|
+
case StringFilter.Type:
|
|
11
|
+
return (_jsx(StringFilterItem, { filter: filter, isEditing: isEditing, onEditStart: onEditStart, onEditCancel: onEditCancel, onRemove: onRemove, onChange: onChange }));
|
|
12
|
+
case StringSetFilter.Type:
|
|
13
|
+
return (_jsx(StringSetFilterItem, { filter: filter, isEditing: isEditing, onEditStart: onEditStart, onEditCancel: onEditCancel, onRemove: onRemove, onChange: onChange }));
|
|
14
|
+
default:
|
|
15
|
+
exhaustiveCheck(filterType, `Unable to render filter type ${filterType}.`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { classNames } from '../../lib/index.js';
|
|
3
|
+
import { Select } from '../select/index.js';
|
|
4
|
+
export function FilterOperatorSelect({ accessibleName, className, label, values, value, onChange, formatValue, }) {
|
|
5
|
+
const shouldRenderSelect = values.length > 1;
|
|
6
|
+
const onValueChanged = (newValue) => {
|
|
7
|
+
onChange(newValue);
|
|
8
|
+
};
|
|
9
|
+
return (_jsxs("div", { className: classNames('dc-filter-operator-select', className), children: [_jsx("span", { children: shouldRenderSelect
|
|
10
|
+
? label
|
|
11
|
+
: `${label} ${formatValue(value)}` }), shouldRenderSelect && (_jsx(Select, { size: "sm", "data-testid": "filter-operator-select", "aria-label": accessibleName, value: value, onChangeValue: onValueChanged, children: values.map((value) => (_jsx("option", { value: value, children: formatValue(value) }, value))) }))] }));
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { classNames } from '../../lib/index.js';
|
|
4
|
+
import { useTranslations } from './use-translations.js';
|
|
5
|
+
import { XMarkIcon } from '../hero-icons/24/outline/x-mark-icon.js';
|
|
6
|
+
export const FilterToken = forwardRef(function FilterToken({ className, isHighlighted, children, onClickLabel, onClickCloseButton, }, ref) {
|
|
7
|
+
const { removeFilterButton } = useTranslations();
|
|
8
|
+
return (_jsxs("div", { ref: ref, "data-testid": "filter-token", className: classNames(className, {
|
|
9
|
+
'dc-filter-token': true,
|
|
10
|
+
'dc-filter-token_highlighted': isHighlighted,
|
|
11
|
+
}), children: [_jsx("button", { className: "dc-filter-token__label", onClick: onClickLabel, children: children }), _jsx("button", { className: "dc-filter-token__button", type: "button", "aria-label": removeFilterButton, onClick: onClickCloseButton, children: _jsx(XMarkIcon, { width: 16, height: 16 }) })] }));
|
|
12
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { classNames } from '../../lib/index.js';
|
|
3
|
+
import { SelectionControl } from '../selection-control/index.js';
|
|
4
|
+
import { Checkbox } from '../checkbox/index.js';
|
|
5
|
+
export function FilterValueList({ className, values, checkedValues, onChangeCheckedValues, formatValue, }) {
|
|
6
|
+
const onChange = (event) => {
|
|
7
|
+
const checkboxElement = event.currentTarget;
|
|
8
|
+
const value = checkboxElement.value;
|
|
9
|
+
const checked = checkboxElement.checked;
|
|
10
|
+
onChangeCheckedValues(checked
|
|
11
|
+
? [...checkedValues, value]
|
|
12
|
+
: checkedValues.filter((prevValue) => prevValue !== value));
|
|
13
|
+
};
|
|
14
|
+
return (_jsx("ul", { className: classNames('dc-filter-value-list', className), children: values.map((value) => (_jsx("li", { children: _jsx(SelectionControl, { label: formatValue(value), children: _jsx(Checkbox, { value: value, checked: checkedValues.includes(value), onChange: onChange }) }) }, value))) }));
|
|
15
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComponentPropsWithoutRef } from 'react';
|
|
2
|
-
import { Filter, FilterConfig } from './types';
|
|
2
|
+
import { Filter, FilterConfig } from './types.js';
|
|
3
3
|
export type FilteredSearchHTMLProps = ComponentPropsWithoutRef<'div'>;
|
|
4
4
|
export type FilteredSearchBaseProps = Omit<FilteredSearchHTMLProps, 'children' | 'placeholder'>;
|
|
5
5
|
export type FilteredSearchProps = FilteredSearchBaseProps & {
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
import { jsx, jsxs } from
|
|
2
|
-
import { useRef, useState,
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useRef, useState, } from 'react';
|
|
3
3
|
import { StringFilter } from './model/string-filter.js';
|
|
4
4
|
import { StringSetFilter } from './model/string-set-filter.js';
|
|
5
5
|
import { TranslationsProvider } from './use-translations.js';
|
|
6
6
|
import { useComboboxIds } from './use-combobox-ids.js';
|
|
7
|
-
import '../button/
|
|
8
|
-
import { IconButton } from '../button/icon-button.js';
|
|
7
|
+
import { IconButton } from '../button/index.js';
|
|
9
8
|
import { FilterItem } from './filter-item.js';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { exhaustiveCheck } from '../../lib/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
function FilteredSearch({ filters: appliedFilters, className, placeholder = 'Search and filter', applyButtonLabel = 'Apply', cancelButtonLabel = 'Cancel', clearButtonAccessibleName = 'Clear', removeFilterButtonAccessibleName = 'Remove filter', filtersConfig, onChangeFilters, onMouseDown, ...props }) {
|
|
9
|
+
import { TrashIcon } from '../hero-icons/24/outline/trash-icon.js';
|
|
10
|
+
import { MagnifyingGlassIcon } from '../hero-icons/24/outline/magnifying-glass-icon.js';
|
|
11
|
+
import { KeyboardKeys, classNames, exhaustiveCheck } from '../../lib/index.js';
|
|
12
|
+
export function FilteredSearch({ filters: appliedFilters, className, placeholder = 'Search and filter', applyButtonLabel = 'Apply', cancelButtonLabel = 'Cancel', clearButtonAccessibleName = 'Clear', removeFilterButtonAccessibleName = 'Remove filter', filtersConfig, onChangeFilters, onMouseDown, ...props }) {
|
|
16
13
|
const containerRef = useRef(null);
|
|
17
14
|
const [newFilter, setNewFilter] = useState(null);
|
|
18
15
|
const [query, setQuery] = useState('');
|
|
@@ -84,7 +81,7 @@ function FilteredSearch({ filters: appliedFilters, className, placeholder = 'Sea
|
|
|
84
81
|
for (const filter of filters) {
|
|
85
82
|
const field = filter.field;
|
|
86
83
|
fieldsWithAppliedFilters.add(field);
|
|
87
|
-
renderedFilters.push(
|
|
84
|
+
renderedFilters.push(_jsx(FilterItem, { filter: filter, isEditing: activeField === field, onEditStart: onFilterEditStarted, onEditCancel: onFilterEditCanceled, onChange: onFilterChanged, onRemove: removeFilter }, field));
|
|
88
85
|
}
|
|
89
86
|
const onOptionSelected = (config) => {
|
|
90
87
|
const filter = createFilter(config);
|
|
@@ -116,7 +113,7 @@ function FilteredSearch({ filters: appliedFilters, className, placeholder = 'Sea
|
|
|
116
113
|
if (!config.label.toLowerCase().includes(search)) {
|
|
117
114
|
continue;
|
|
118
115
|
}
|
|
119
|
-
renderedOptions.push(
|
|
116
|
+
renderedOptions.push(_jsx("li", { id: id, role: "option", "data-field": config.field, "aria-selected": selectedId === id, onMouseEnter: onOptionHovered, onMouseDown: onOptionPressed, children: config.label }, id));
|
|
120
117
|
}
|
|
121
118
|
const onInputFocused = () => {
|
|
122
119
|
setHasFocus(true);
|
|
@@ -197,10 +194,10 @@ function FilteredSearch({ filters: appliedFilters, className, placeholder = 'Sea
|
|
|
197
194
|
onMouseDown(event);
|
|
198
195
|
}
|
|
199
196
|
};
|
|
200
|
-
return (
|
|
197
|
+
return (_jsx(TranslationsProvider, { applyButton: applyButtonLabel, cancelButton: cancelButtonLabel, removeFilterButton: removeFilterButtonAccessibleName, children: _jsxs("div", { ref: containerRef, "data-testid": "combobox-container", className: classNames(className, {
|
|
201
198
|
'dc-filtered-search': true,
|
|
202
199
|
'dc-filtered-search_has_focus': hasFocus,
|
|
203
|
-
}), onMouseDown: onContainerPressed, ...props, children: [
|
|
200
|
+
}), role: "presentation", onMouseDown: onContainerPressed, ...props, children: [_jsx(MagnifyingGlassIcon, { className: "dc-filtered-search__icon", width: 18, height: 18 }), _jsxs("div", { className: "dc-filtered-search__filters", children: [renderedFilters, _jsx("input", { className: "dc-filtered-search__input", id: textBoxId, placeholder: placeholder, type: "text", role: "combobox", "aria-autocomplete": "list", "aria-expanded": expanded, "aria-controls": listBoxId, "aria-activedescendant": selectedId, value: query, onFocus: onInputFocused, onBlur: onInputBlurred, onKeyDown: onInputKeyPressed, onChange: onInputChanged })] }), _jsx(IconButton, { className: "dc-filtered-search__clear-button", "aria-label": clearButtonAccessibleName, buttonStyle: "plain", tint: "blue", size: "sm", onClick: onClearButtonPressed, children: _jsx(TrashIcon, { width: 18, height: 18 }) }), expanded && renderedOptions.length > 0 && (_jsx("ul", { className: "dc-filtered-search__list-box", id: listBoxId, role: "listbox", children: renderedOptions }))] }) }));
|
|
204
201
|
}
|
|
205
202
|
function createFilter(config) {
|
|
206
203
|
const filterType = config.type;
|
|
@@ -219,5 +216,3 @@ function createFilter(config) {
|
|
|
219
216
|
exhaustiveCheck(filterType, `Unable to create a filter with ${filterType} type.`);
|
|
220
217
|
}
|
|
221
218
|
}
|
|
222
|
-
|
|
223
|
-
export { FilteredSearch };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { FilteredSearch, type FilteredSearchProps, type FilteredSearchBaseProps, type FilteredSearchHTMLProps, } from './filtered-search';
|
|
2
|
-
export { type Filter, type FilterConfig, } from './types';
|
|
3
|
-
export { StringFilter, type StringFilterState, type StringFilterConfig, type StringFilterOperator, } from './model/string-filter';
|
|
4
|
-
export { StringSetFilter, type StringSetFilterState, type StringSetFilterConfig, type StringSetFilterOperator, } from './model/string-set-filter';
|
|
1
|
+
export { FilteredSearch, type FilteredSearchProps, type FilteredSearchBaseProps, type FilteredSearchHTMLProps, } from './filtered-search.js';
|
|
2
|
+
export { type Filter, type FilterConfig, } from './types.js';
|
|
3
|
+
export { StringFilter, type StringFilterState, type StringFilterConfig, type StringFilterOperator, } from './model/string-filter.js';
|
|
4
|
+
export { StringSetFilter, type StringSetFilterState, type StringSetFilterConfig, type StringSetFilterOperator, } from './model/string-set-filter.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AbstractFilter } from './abstract-filter';
|
|
2
|
-
import { ValidationResult } from './validation-result';
|
|
1
|
+
import { AbstractFilter } from './abstract-filter.js';
|
|
2
|
+
import { ValidationResult } from './validation-result.js';
|
|
3
3
|
declare const TYPE: "STRING";
|
|
4
4
|
declare const OPERATORS: {
|
|
5
5
|
readonly equal: "EQUAL";
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AbstractFilter } from './abstract-filter.js';
|
|
2
|
-
|
|
3
2
|
const TYPE = 'STRING';
|
|
4
3
|
const OPERATORS = {
|
|
5
4
|
equal: 'EQUAL',
|
|
@@ -7,7 +6,7 @@ const OPERATORS = {
|
|
|
7
6
|
contain: 'CONTAIN',
|
|
8
7
|
notContain: 'NOT_CONTAIN',
|
|
9
8
|
};
|
|
10
|
-
class StringFilter extends AbstractFilter {
|
|
9
|
+
export class StringFilter extends AbstractFilter {
|
|
11
10
|
constructor(config, state) {
|
|
12
11
|
super();
|
|
13
12
|
this.config = config;
|
|
@@ -40,5 +39,3 @@ class StringFilter extends AbstractFilter {
|
|
|
40
39
|
}
|
|
41
40
|
StringFilter.Type = TYPE;
|
|
42
41
|
StringFilter.Operators = OPERATORS;
|
|
43
|
-
|
|
44
|
-
export { StringFilter };
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { AbstractFilter } from './abstract-filter.js';
|
|
2
|
-
|
|
3
2
|
const TYPE = 'STRING_SET';
|
|
4
3
|
const OPERATORS = {
|
|
5
4
|
in: 'IN',
|
|
6
5
|
notIn: 'NOT_IN',
|
|
7
6
|
};
|
|
8
|
-
class StringSetFilter extends AbstractFilter {
|
|
7
|
+
export class StringSetFilter extends AbstractFilter {
|
|
9
8
|
constructor(config, state) {
|
|
10
9
|
super();
|
|
11
10
|
this.config = config;
|
|
@@ -38,5 +37,3 @@ class StringSetFilter extends AbstractFilter {
|
|
|
38
37
|
}
|
|
39
38
|
StringSetFilter.Type = TYPE;
|
|
40
39
|
StringSetFilter.Operators = OPERATORS;
|
|
41
|
-
|
|
42
|
-
export { StringSetFilter };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|