draft-components 1.0.0-beta → 1.0.0-beta.10
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/cjs/components/alert/alert.cjs +18 -0
- package/cjs/components/avatar/avatar.cjs +31 -0
- package/cjs/components/avatar-group/avatar-group.cjs +10 -0
- package/{dist/components/badge/badge.js → cjs/components/badge/badge.cjs} +7 -6
- package/cjs/components/breadcrumbs/breadcrumbs-context.cjs +19 -0
- package/cjs/components/breadcrumbs/breadcrumbs-item.cjs +21 -0
- package/cjs/components/breadcrumbs/breadcrumbs.cjs +12 -0
- package/cjs/components/button/button.cjs +41 -0
- package/cjs/components/button/icon-button.cjs +12 -0
- package/cjs/components/button-group/button-group.cjs +10 -0
- package/cjs/components/caption/caption.cjs +27 -0
- package/cjs/components/caption/icons.cjs +21 -0
- package/cjs/components/checkbox/checkbox.cjs +16 -0
- package/cjs/components/color-picker/color-picker-button.cjs +16 -0
- package/cjs/components/color-picker/color-picker.cjs +14 -0
- package/{dist/components/date-picker/calendar-day.js → cjs/components/date-picker/calendar-day.cjs} +8 -7
- package/cjs/components/date-picker/calendar-grid-head.cjs +16 -0
- package/cjs/components/date-picker/calendar-grid.cjs +106 -0
- package/cjs/components/date-picker/calendar-header.cjs +48 -0
- package/cjs/components/date-picker/calendar.cjs +24 -0
- package/{dist/components/date-picker/date-helpers.js → cjs/components/date-picker/date-helpers.cjs} +30 -26
- package/cjs/components/date-picker/date-picker.cjs +20 -0
- package/cjs/components/date-picker/date-range-picker.cjs +61 -0
- package/cjs/components/date-picker/date-range.cjs +28 -0
- package/cjs/components/date-picker/icons.cjs +13 -0
- package/{dist/components/date-picker/parse-min-max-props.js → cjs/components/date-picker/parse-min-max-props.cjs} +7 -6
- package/cjs/components/date-picker-popover/date-picker-popover.cjs +24 -0
- package/cjs/components/date-range-picker-popover/date-range-picker-popover-footer.cjs +11 -0
- package/cjs/components/date-range-picker-popover/date-range-picker-popover-presets.cjs +35 -0
- package/cjs/components/date-range-picker-popover/date-range-picker-popover.cjs +59 -0
- package/{dist/components/date-range-picker-popover/helpers.js → cjs/components/date-range-picker-popover/helpers.cjs} +3 -3
- package/{dist/components/date-range-picker-popover/use-is-compact-view.js → cjs/components/date-range-picker-popover/use-is-compact-view.cjs} +8 -7
- package/{dist/components/dialog/dialog-body.js → cjs/components/dialog/dialog-body.cjs} +17 -16
- package/{dist/components/dialog/dialog-context.js → cjs/components/dialog/dialog-context.cjs} +10 -9
- package/cjs/components/dialog/dialog-footer.cjs +10 -0
- package/cjs/components/dialog/dialog-header.cjs +18 -0
- package/cjs/components/dialog/dialog.cjs +50 -0
- package/cjs/components/dialog/x-mark-icon.cjs +9 -0
- package/cjs/components/empty-state/empty-state.cjs +10 -0
- package/cjs/components/file-picker/file-picker.cjs +47 -0
- package/cjs/components/filter-buttons/filter-button.cjs +11 -0
- package/cjs/components/filter-buttons/filter-buttons.cjs +27 -0
- package/cjs/components/form-field/form-field.cjs +26 -0
- package/cjs/components/index.cjs +129 -0
- package/cjs/components/label/label.cjs +13 -0
- package/cjs/components/menu/menu-item.cjs +21 -0
- package/cjs/components/menu/menu-separator.cjs +10 -0
- package/{dist/components/menu/menu.js → cjs/components/menu/menu.cjs} +52 -55
- package/cjs/components/nav-list/nav-list-item.cjs +20 -0
- package/cjs/components/nav-list/nav-list-title.cjs +10 -0
- package/cjs/components/nav-list/nav-list.cjs +10 -0
- package/cjs/components/password-input/icons.cjs +13 -0
- package/cjs/components/password-input/password-input.cjs +30 -0
- package/cjs/components/popover/popover.cjs +97 -0
- package/{dist/components/popover/use-page-click.js → cjs/components/popover/use-page-click.cjs} +8 -7
- package/cjs/components/portal/portal-context.cjs +22 -0
- package/cjs/components/portal/portal.cjs +11 -0
- package/{dist/components/positioner/calc-position.js → cjs/components/positioner/calc-position.cjs} +4 -4
- package/{dist/components/positioner/positioner.js → cjs/components/positioner/positioner.cjs} +14 -13
- package/cjs/components/radio/radio.cjs +24 -0
- package/cjs/components/segmented-control/segmented-control-button.cjs +15 -0
- package/cjs/components/segmented-control/segmented-control.cjs +48 -0
- package/cjs/components/select/select.cjs +27 -0
- package/cjs/components/selection-control/selection-control.cjs +18 -0
- package/cjs/components/slider/slider-tick-marks.cjs +17 -0
- package/{dist/components/slider/slider.js → cjs/components/slider/slider.cjs} +16 -14
- package/cjs/components/spinner/spinner.cjs +11 -0
- package/cjs/components/switch/switch.cjs +15 -0
- package/cjs/components/table/icons.cjs +17 -0
- package/cjs/components/table/table-body.cjs +11 -0
- package/cjs/components/table/table-cell.cjs +11 -0
- package/cjs/components/table/table-container.cjs +23 -0
- package/cjs/components/table/table-head-cell.cjs +30 -0
- package/cjs/components/table/table-head.cjs +14 -0
- package/cjs/components/table/table-row.cjs +14 -0
- package/cjs/components/table/table.cjs +16 -0
- package/cjs/components/tabs/tab-list.cjs +67 -0
- package/cjs/components/tabs/tab-panel.cjs +16 -0
- package/cjs/components/tabs/tab.cjs +19 -0
- package/{dist/components/tabs/tabs-context.js → cjs/components/tabs/tabs-context.cjs} +13 -12
- package/cjs/components/tabs/tabs.cjs +11 -0
- package/cjs/components/tag/tag.cjs +15 -0
- package/cjs/components/text-input/text-input.cjs +26 -0
- package/cjs/components/textarea/textarea.cjs +40 -0
- package/cjs/components/toast/toast-button.cjs +11 -0
- package/cjs/components/toast/toast.cjs +11 -0
- package/cjs/components/toast/x-mark-icon.cjs +9 -0
- package/cjs/components/toaster/toaster.cjs +115 -0
- package/cjs/components/tooltip/tooltip.cjs +75 -0
- package/cjs/hooks/index.cjs +13 -0
- package/{dist/hooks/use-disable-body-scroll.js → cjs/hooks/use-disable-body-scroll.cjs} +9 -8
- package/{dist/hooks/use-esc-key-down.js → cjs/hooks/use-esc-key-down.cjs} +10 -9
- package/{dist/hooks/use-focus-trap.js → cjs/hooks/use-focus-trap.cjs} +12 -11
- package/{dist/hooks/use-mount-transition.js → cjs/hooks/use-mount-transition.cjs} +13 -12
- package/cjs/index.cjs +147 -0
- package/{dist/shared/util.js → cjs/lib/helpers.cjs} +4 -4
- package/cjs/lib/index.cjs +15 -0
- package/{dist/shared/keyboard-keys.js → cjs/lib/keyboard-keys.cjs} +5 -4
- package/{dist/shared/react-helpers.js → cjs/lib/react-helpers.cjs} +9 -8
- package/css/draft-components-utilities.css +4 -0
- package/css/draft-components.css +500 -468
- package/esm/components/alert/alert.js +9 -5
- package/esm/components/avatar/avatar.js +17 -14
- package/esm/components/avatar-group/avatar-group.js +7 -4
- package/esm/components/badge/badge.js +7 -4
- package/esm/components/breadcrumbs/breadcrumbs-context.js +7 -4
- package/esm/components/breadcrumbs/breadcrumbs-item.js +10 -7
- package/esm/components/breadcrumbs/breadcrumbs.js +9 -6
- package/esm/components/button/button.js +19 -14
- package/esm/components/button/icon-button.js +8 -5
- package/esm/components/button-group/button-group.js +7 -4
- package/esm/components/caption/caption.js +10 -7
- package/esm/components/caption/icons.js +12 -9
- package/esm/components/checkbox/checkbox.js +12 -9
- package/esm/components/color-picker/color-picker-button.js +8 -5
- package/esm/components/color-picker/color-picker.js +9 -6
- package/esm/components/date-picker/calendar-day.js +8 -5
- package/esm/components/date-picker/calendar-grid-head.js +8 -5
- package/esm/components/date-picker/calendar-grid.js +15 -12
- package/esm/components/date-picker/calendar-header.js +20 -16
- package/esm/components/date-picker/calendar.js +11 -8
- package/esm/components/date-picker/date-helpers.js +22 -20
- package/esm/components/date-picker/date-picker.js +10 -7
- package/esm/components/date-picker/date-range-picker.js +15 -12
- package/esm/components/date-picker/date-range.js +5 -2
- package/esm/components/date-picker/icons.js +8 -5
- package/esm/components/date-picker/parse-min-max-props.js +5 -2
- package/esm/components/date-picker-popover/date-picker-popover.js +14 -8
- package/esm/components/date-range-picker-popover/date-range-picker-popover-footer.js +8 -4
- package/esm/components/date-range-picker-popover/date-range-picker-popover-presets.js +12 -9
- package/esm/components/date-range-picker-popover/date-range-picker-popover.js +20 -13
- package/esm/components/date-range-picker-popover/helpers.js +3 -1
- package/esm/components/date-range-picker-popover/use-is-compact-view.js +6 -3
- package/esm/components/dialog/dialog-body.js +14 -11
- package/esm/components/dialog/dialog-context.js +7 -4
- package/esm/components/dialog/dialog-footer.js +7 -4
- package/esm/components/dialog/dialog-header.js +11 -7
- package/esm/components/dialog/dialog.js +18 -12
- package/esm/components/dialog/x-mark-icon.js +6 -3
- package/esm/components/empty-state/empty-state.js +7 -4
- package/esm/components/file-picker/file-picker.js +13 -9
- package/esm/components/filter-buttons/filter-button.js +7 -4
- package/esm/components/filter-buttons/filter-buttons.js +9 -6
- package/esm/components/form-field/form-field.js +11 -8
- package/esm/components/index.js +62 -0
- package/esm/components/label/label.js +7 -4
- package/esm/components/menu/menu-item.js +17 -7
- package/esm/components/menu/menu-separator.js +7 -4
- package/esm/components/menu/menu.js +26 -27
- package/esm/components/nav-list/nav-list-item.js +10 -7
- package/esm/components/nav-list/nav-list-title.js +7 -4
- package/esm/components/nav-list/nav-list.js +7 -4
- package/esm/components/password-input/icons.js +8 -5
- package/esm/components/password-input/password-input.js +12 -9
- package/esm/components/popover/popover.js +22 -21
- package/esm/components/popover/use-page-click.js +5 -2
- package/esm/components/portal/portal-context.js +5 -6
- package/esm/components/portal/portal.js +5 -2
- package/esm/components/positioner/calc-position.js +4 -2
- package/esm/components/positioner/positioner.js +9 -6
- package/esm/components/radio/radio.js +12 -9
- package/esm/components/segmented-control/segmented-control-button.js +7 -4
- package/esm/components/segmented-control/segmented-control.js +12 -9
- package/esm/components/select/select.js +13 -10
- package/esm/components/selection-control/selection-control.js +10 -7
- package/esm/components/slider/slider-tick-marks.js +8 -5
- package/esm/components/slider/slider.js +13 -10
- package/esm/components/spinner/spinner.js +7 -4
- package/esm/components/switch/switch.js +11 -8
- package/esm/components/table/icons.js +10 -7
- package/esm/components/table/table-body.js +7 -4
- package/esm/components/table/table-cell.js +7 -4
- package/esm/components/table/table-container.js +7 -4
- package/esm/components/table/table-head-cell.js +18 -15
- package/esm/components/table/table-head.js +7 -4
- package/esm/components/table/table-row.js +7 -4
- package/esm/components/table/table.js +7 -4
- package/esm/components/tabs/tab-list.js +14 -11
- package/esm/components/tabs/tab-panel.js +8 -5
- package/esm/components/tabs/tab.js +10 -7
- package/esm/components/tabs/tabs-context.js +8 -5
- package/esm/components/tabs/tabs.js +8 -5
- package/esm/components/tag/tag.js +7 -4
- package/esm/components/text-input/text-input.js +11 -8
- package/esm/components/textarea/textarea.js +20 -17
- package/esm/components/toast/toast-button.js +7 -4
- package/esm/components/toast/toast.js +8 -5
- package/esm/components/toast/x-mark-icon.js +6 -3
- package/esm/components/toaster/toaster.js +29 -46
- package/esm/components/tooltip/tooltip.js +22 -24
- package/esm/hooks/index.js +4 -4
- package/esm/hooks/use-disable-body-scroll.js +5 -2
- package/esm/hooks/use-esc-key-down.js +6 -3
- package/esm/hooks/use-focus-trap.js +6 -3
- package/esm/hooks/use-mount-transition.js +6 -3
- package/esm/index.js +69 -37
- package/esm/{shared/util.js → lib/helpers.js} +4 -2
- package/esm/lib/index.js +3 -0
- package/esm/{shared → lib}/keyboard-keys.js +3 -1
- package/esm/{shared → lib}/react-helpers.js +8 -5
- package/package.json +33 -25
- package/{dist → types}/components/alert/alert.d.ts +0 -0
- package/{dist → types}/components/alert/index.d.ts +0 -0
- package/{dist → types}/components/avatar/avatar.d.ts +0 -0
- package/{dist → types}/components/avatar/index.d.ts +0 -0
- package/{dist → types}/components/avatar-group/avatar-group.d.ts +0 -0
- package/{dist → types}/components/avatar-group/index.d.ts +0 -0
- package/{dist → types}/components/badge/badge.d.ts +0 -0
- package/{dist → types}/components/badge/index.d.ts +0 -0
- package/{dist → types}/components/breadcrumbs/breadcrumbs-context.d.ts +0 -0
- package/{dist → types}/components/breadcrumbs/breadcrumbs-item.d.ts +0 -0
- package/{dist → types}/components/breadcrumbs/breadcrumbs.d.ts +0 -0
- package/{dist → types}/components/breadcrumbs/index.d.ts +0 -0
- package/{esm → types}/components/button/button.d.ts +5 -4
- package/{dist → types}/components/button/icon-button.d.ts +4 -3
- package/{dist → types}/components/button/index.d.ts +0 -0
- package/{dist → types}/components/button-group/button-group.d.ts +0 -0
- package/{dist → types}/components/button-group/index.d.ts +0 -0
- package/{dist → types}/components/caption/caption.d.ts +0 -0
- package/{dist → types}/components/caption/icons.d.ts +0 -0
- package/{dist → types}/components/caption/index.d.ts +0 -0
- package/{dist → types}/components/checkbox/checkbox.d.ts +1 -1
- package/{dist → types}/components/checkbox/index.d.ts +0 -0
- package/{dist → types}/components/color-picker/color-picker-button.d.ts +0 -0
- package/{dist → types}/components/color-picker/color-picker.d.ts +0 -0
- package/{dist → types}/components/color-picker/index.d.ts +0 -0
- package/{dist → types}/components/date-picker/calendar-day.d.ts +0 -0
- package/{dist → types}/components/date-picker/calendar-grid-head.d.ts +0 -0
- package/{dist → types}/components/date-picker/calendar-grid.d.ts +0 -0
- package/{dist → types}/components/date-picker/calendar-header.d.ts +0 -0
- package/{dist → types}/components/date-picker/calendar.d.ts +0 -0
- package/{dist → types}/components/date-picker/date-helpers.d.ts +0 -0
- package/{dist → types}/components/date-picker/date-picker.d.ts +0 -0
- package/{dist → types}/components/date-picker/date-range-picker.d.ts +0 -0
- package/{dist → types}/components/date-picker/date-range.d.ts +0 -0
- package/{dist → types}/components/date-picker/icons.d.ts +0 -0
- package/{dist → types}/components/date-picker/index.d.ts +0 -0
- package/{dist → types}/components/date-picker/parse-min-max-props.d.ts +0 -0
- package/{dist → types}/components/date-picker-popover/date-picker-popover.d.ts +0 -0
- package/{dist → types}/components/date-picker-popover/index.d.ts +0 -0
- package/{dist → types}/components/date-range-picker-popover/date-range-picker-popover-footer.d.ts +0 -0
- package/{dist → types}/components/date-range-picker-popover/date-range-picker-popover-presets.d.ts +0 -0
- package/{dist → types}/components/date-range-picker-popover/date-range-picker-popover.d.ts +0 -0
- package/{dist → types}/components/date-range-picker-popover/helpers.d.ts +0 -0
- package/{dist → types}/components/date-range-picker-popover/index.d.ts +0 -0
- package/{dist → types}/components/date-range-picker-popover/types.d.ts +0 -0
- package/{dist → types}/components/date-range-picker-popover/use-is-compact-view.d.ts +0 -0
- package/{dist → types}/components/dialog/dialog-body.d.ts +0 -0
- package/{dist → types}/components/dialog/dialog-context.d.ts +0 -0
- package/{dist → types}/components/dialog/dialog-footer.d.ts +0 -0
- package/{dist → types}/components/dialog/dialog-header.d.ts +0 -0
- package/{dist → types}/components/dialog/dialog.d.ts +0 -0
- package/{dist → types}/components/dialog/index.d.ts +0 -0
- package/{dist → types}/components/dialog/x-mark-icon.d.ts +0 -0
- package/{dist → types}/components/empty-state/empty-state.d.ts +0 -0
- package/{dist → types}/components/empty-state/index.d.ts +0 -0
- package/{esm → types}/components/file-picker/file-picker.d.ts +1 -1
- package/{dist → types}/components/file-picker/index.d.ts +0 -0
- package/{dist → types}/components/filter-buttons/filter-button.d.ts +0 -0
- package/{dist → types}/components/filter-buttons/filter-buttons.d.ts +0 -0
- package/{dist → types}/components/filter-buttons/index.d.ts +0 -0
- package/{dist → types}/components/form-field/form-field.d.ts +0 -0
- package/{dist → types}/components/form-field/index.d.ts +0 -0
- package/types/components/index.d.ts +40 -0
- package/{dist → types}/components/label/index.d.ts +0 -0
- package/{dist → types}/components/label/label.d.ts +0 -0
- package/{dist → types}/components/menu/index.d.ts +0 -0
- package/{esm → types}/components/menu/menu-item.d.ts +6 -3
- package/{dist → types}/components/menu/menu-separator.d.ts +1 -1
- package/{esm → types}/components/menu/menu.d.ts +4 -3
- package/{dist → types}/components/nav-list/index.d.ts +0 -0
- package/{dist → types}/components/nav-list/nav-list-item.d.ts +0 -0
- package/{dist → types}/components/nav-list/nav-list-title.d.ts +0 -0
- package/{dist → types}/components/nav-list/nav-list.d.ts +0 -0
- package/{dist → types}/components/password-input/icons.d.ts +0 -0
- package/{dist → types}/components/password-input/index.d.ts +0 -0
- package/{esm → types}/components/password-input/password-input.d.ts +1 -1
- package/{dist → types}/components/popover/index.d.ts +0 -0
- package/{dist → types}/components/popover/popover.d.ts +0 -0
- package/{dist → types}/components/popover/use-page-click.d.ts +0 -0
- package/{dist → types}/components/portal/index.d.ts +0 -0
- package/{dist → types}/components/portal/portal-context.d.ts +0 -0
- package/{dist → types}/components/portal/portal.d.ts +0 -0
- package/{dist → types}/components/positioner/calc-position.d.ts +0 -0
- package/{dist → types}/components/positioner/index.d.ts +0 -0
- package/{dist → types}/components/positioner/positioner.d.ts +0 -0
- package/{dist → types}/components/positioner/types.d.ts +0 -0
- package/{dist → types}/components/radio/index.d.ts +0 -0
- package/{dist → types}/components/radio/radio.d.ts +1 -1
- package/{dist → types}/components/segmented-control/index.d.ts +0 -0
- package/{dist → types}/components/segmented-control/segmented-control-button.d.ts +0 -0
- package/{dist → types}/components/segmented-control/segmented-control.d.ts +0 -0
- package/{dist → types}/components/select/index.d.ts +0 -0
- package/{dist → types}/components/select/select.d.ts +3 -3
- package/{dist → types}/components/selection-control/index.d.ts +0 -0
- package/{dist → types}/components/selection-control/selection-control.d.ts +0 -0
- package/{dist → types}/components/slider/index.d.ts +0 -0
- package/{dist → types}/components/slider/slider-tick-marks.d.ts +0 -0
- package/{esm → types}/components/slider/slider.d.ts +1 -1
- package/{dist → types}/components/spinner/index.d.ts +0 -0
- package/{dist → types}/components/spinner/spinner.d.ts +0 -0
- package/{dist → types}/components/switch/index.d.ts +0 -0
- package/{esm → types}/components/switch/switch.d.ts +1 -1
- package/{dist → types}/components/table/icons.d.ts +0 -0
- package/{dist → types}/components/table/index.d.ts +0 -0
- package/{dist → types}/components/table/table-body.d.ts +0 -0
- package/{dist → types}/components/table/table-cell.d.ts +0 -0
- package/{dist → types}/components/table/table-container.d.ts +0 -0
- package/{dist → types}/components/table/table-head-cell.d.ts +0 -0
- package/{dist → types}/components/table/table-head.d.ts +0 -0
- package/{dist → types}/components/table/table-row.d.ts +0 -0
- package/{dist → types}/components/table/table.d.ts +0 -0
- package/{dist → types}/components/tabs/index.d.ts +0 -0
- package/{dist → types}/components/tabs/tab-list.d.ts +0 -0
- package/{dist → types}/components/tabs/tab-panel.d.ts +0 -0
- package/{dist → types}/components/tabs/tab.d.ts +0 -0
- package/{dist → types}/components/tabs/tabs-context.d.ts +0 -0
- package/{dist → types}/components/tabs/tabs.d.ts +0 -0
- package/{dist → types}/components/tabs/types.d.ts +0 -0
- package/{dist → types}/components/tag/index.d.ts +0 -0
- package/{dist → types}/components/tag/tag.d.ts +0 -0
- package/{dist → types}/components/text-input/index.d.ts +0 -0
- package/{dist → types}/components/text-input/text-input.d.ts +1 -1
- package/{dist → types}/components/textarea/index.d.ts +0 -0
- package/{esm → types}/components/textarea/textarea.d.ts +1 -1
- package/{dist → types}/components/toast/index.d.ts +0 -0
- package/{dist → types}/components/toast/toast-button.d.ts +0 -0
- package/{dist → types}/components/toast/toast.d.ts +0 -0
- package/{dist → types}/components/toast/x-mark-icon.d.ts +0 -0
- package/{dist → types}/components/toaster/index.d.ts +0 -0
- package/{esm → types}/components/toaster/toaster.d.ts +5 -1
- package/{dist → types}/components/tooltip/index.d.ts +0 -0
- package/{dist → types}/components/tooltip/tooltip.d.ts +0 -0
- package/{dist → types}/hooks/index.d.ts +0 -0
- package/{dist → types}/hooks/use-disable-body-scroll.d.ts +0 -0
- package/{dist → types}/hooks/use-esc-key-down.d.ts +0 -0
- package/{dist → types}/hooks/use-focus-trap.d.ts +0 -0
- package/{dist → types}/hooks/use-mount-transition.d.ts +0 -0
- package/types/index.d.ts +3 -0
- package/types/lib/helpers.d.ts +4 -0
- package/types/lib/index.d.ts +3 -0
- package/{dist/shared → types/lib}/keyboard-keys.d.ts +0 -0
- package/{dist/shared → types/lib}/react-helpers.d.ts +0 -0
- package/css/draft-components-utilities.min.css +0 -1
- package/css/draft-components.dark.min.css +0 -1
- package/css/draft-components.min.css +0 -1
- package/dist/components/alert/alert.js +0 -16
- package/dist/components/alert/index.js +0 -17
- package/dist/components/avatar/avatar.js +0 -29
- package/dist/components/avatar/index.js +0 -17
- package/dist/components/avatar-group/avatar-group.js +0 -9
- package/dist/components/avatar-group/index.js +0 -17
- package/dist/components/badge/index.js +0 -17
- package/dist/components/breadcrumbs/breadcrumbs-context.js +0 -18
- package/dist/components/breadcrumbs/breadcrumbs-item.js +0 -20
- package/dist/components/breadcrumbs/breadcrumbs.js +0 -11
- package/dist/components/breadcrumbs/index.js +0 -18
- package/dist/components/button/button.d.ts +0 -19
- package/dist/components/button/button.js +0 -37
- package/dist/components/button/icon-button.js +0 -10
- package/dist/components/button/index.js +0 -18
- package/dist/components/button-group/button-group.js +0 -9
- package/dist/components/button-group/index.js +0 -17
- package/dist/components/caption/caption.js +0 -25
- package/dist/components/caption/icons.js +0 -20
- package/dist/components/caption/index.js +0 -17
- package/dist/components/checkbox/checkbox.js +0 -14
- package/dist/components/checkbox/index.js +0 -17
- package/dist/components/color-picker/color-picker-button.js +0 -15
- package/dist/components/color-picker/color-picker.js +0 -13
- package/dist/components/color-picker/index.js +0 -17
- package/dist/components/date-picker/calendar-grid-head.js +0 -15
- package/dist/components/date-picker/calendar-grid.js +0 -105
- package/dist/components/date-picker/calendar-header.js +0 -46
- package/dist/components/date-picker/calendar.js +0 -23
- package/dist/components/date-picker/date-picker.js +0 -19
- package/dist/components/date-picker/date-range-picker.js +0 -60
- package/dist/components/date-picker/date-range.js +0 -27
- package/dist/components/date-picker/icons.js +0 -12
- package/dist/components/date-picker/index.js +0 -18
- package/dist/components/date-picker-popover/date-picker-popover.js +0 -20
- package/dist/components/date-picker-popover/index.js +0 -17
- package/dist/components/date-range-picker-popover/date-range-picker-popover-footer.js +0 -9
- package/dist/components/date-range-picker-popover/date-range-picker-popover-presets.js +0 -34
- package/dist/components/date-range-picker-popover/date-range-picker-popover.js +0 -54
- package/dist/components/date-range-picker-popover/index.js +0 -18
- package/dist/components/date-range-picker-popover/types.js +0 -2
- package/dist/components/dialog/dialog-footer.js +0 -9
- package/dist/components/dialog/dialog-header.js +0 -16
- package/dist/components/dialog/dialog.js +0 -46
- package/dist/components/dialog/index.js +0 -20
- package/dist/components/dialog/x-mark-icon.js +0 -8
- package/dist/components/empty-state/empty-state.js +0 -9
- package/dist/components/empty-state/index.js +0 -17
- package/dist/components/file-picker/file-picker.d.ts +0 -13
- package/dist/components/file-picker/file-picker.js +0 -44
- package/dist/components/file-picker/index.js +0 -17
- package/dist/components/filter-buttons/filter-button.js +0 -9
- package/dist/components/filter-buttons/filter-buttons.js +0 -26
- package/dist/components/filter-buttons/index.js +0 -18
- package/dist/components/form-field/form-field.js +0 -25
- package/dist/components/form-field/index.js +0 -17
- package/dist/components/label/index.js +0 -17
- package/dist/components/label/label.js +0 -11
- package/dist/components/menu/index.js +0 -19
- package/dist/components/menu/menu-item.d.ts +0 -11
- package/dist/components/menu/menu-item.js +0 -12
- package/dist/components/menu/menu-separator.js +0 -9
- package/dist/components/menu/menu.d.ts +0 -31
- package/dist/components/nav-list/index.js +0 -19
- package/dist/components/nav-list/nav-list-item.js +0 -19
- package/dist/components/nav-list/nav-list-title.js +0 -9
- package/dist/components/nav-list/nav-list.js +0 -9
- package/dist/components/password-input/icons.js +0 -12
- package/dist/components/password-input/index.js +0 -17
- package/dist/components/password-input/password-input.d.ts +0 -10
- package/dist/components/password-input/password-input.js +0 -28
- package/dist/components/popover/index.js +0 -17
- package/dist/components/popover/popover.js +0 -97
- package/dist/components/portal/index.js +0 -17
- package/dist/components/portal/portal-context.js +0 -26
- package/dist/components/portal/portal.js +0 -10
- package/dist/components/positioner/index.js +0 -17
- package/dist/components/positioner/types.js +0 -2
- package/dist/components/radio/index.js +0 -17
- package/dist/components/radio/radio.js +0 -22
- package/dist/components/segmented-control/index.js +0 -17
- package/dist/components/segmented-control/segmented-control-button.js +0 -14
- package/dist/components/segmented-control/segmented-control.js +0 -47
- package/dist/components/select/index.js +0 -17
- package/dist/components/select/select.js +0 -25
- package/dist/components/selection-control/index.js +0 -17
- package/dist/components/selection-control/selection-control.js +0 -17
- package/dist/components/slider/index.js +0 -20
- package/dist/components/slider/slider-tick-marks.js +0 -16
- package/dist/components/slider/slider.d.ts +0 -17
- package/dist/components/spinner/index.js +0 -17
- package/dist/components/spinner/spinner.js +0 -9
- package/dist/components/switch/index.js +0 -17
- package/dist/components/switch/switch.d.ts +0 -10
- package/dist/components/switch/switch.js +0 -13
- package/dist/components/table/icons.js +0 -16
- package/dist/components/table/index.js +0 -23
- package/dist/components/table/table-body.js +0 -9
- package/dist/components/table/table-cell.js +0 -9
- package/dist/components/table/table-container.js +0 -21
- package/dist/components/table/table-head-cell.js +0 -28
- package/dist/components/table/table-head.js +0 -12
- package/dist/components/table/table-row.js +0 -12
- package/dist/components/table/table.js +0 -14
- package/dist/components/tabs/index.js +0 -20
- package/dist/components/tabs/tab-list.js +0 -66
- package/dist/components/tabs/tab-panel.js +0 -15
- package/dist/components/tabs/tab.js +0 -18
- package/dist/components/tabs/tabs.js +0 -10
- package/dist/components/tabs/types.js +0 -2
- package/dist/components/tag/index.js +0 -17
- package/dist/components/tag/tag.js +0 -14
- package/dist/components/text-input/index.js +0 -17
- package/dist/components/text-input/text-input.js +0 -24
- package/dist/components/textarea/index.js +0 -17
- package/dist/components/textarea/textarea.d.ts +0 -20
- package/dist/components/textarea/textarea.js +0 -38
- package/dist/components/toast/index.js +0 -18
- package/dist/components/toast/toast-button.js +0 -9
- package/dist/components/toast/toast.js +0 -10
- package/dist/components/toast/x-mark-icon.js +0 -8
- package/dist/components/toaster/index.js +0 -17
- package/dist/components/toaster/toaster.d.ts +0 -40
- package/dist/components/toaster/toaster.js +0 -134
- package/dist/components/tooltip/index.js +0 -17
- package/dist/components/tooltip/tooltip.js +0 -79
- package/dist/hooks/index.js +0 -20
- package/dist/index.d.ts +0 -37
- package/dist/index.js +0 -53
- package/dist/shared/util.d.ts +0 -2
- package/esm/components/alert/alert.d.ts +0 -10
- package/esm/components/alert/index.d.ts +0 -1
- package/esm/components/alert/index.js +0 -1
- package/esm/components/avatar/avatar.d.ts +0 -13
- package/esm/components/avatar/index.d.ts +0 -1
- package/esm/components/avatar/index.js +0 -1
- package/esm/components/avatar-group/avatar-group.d.ts +0 -7
- package/esm/components/avatar-group/index.d.ts +0 -1
- package/esm/components/avatar-group/index.js +0 -1
- package/esm/components/badge/badge.d.ts +0 -8
- package/esm/components/badge/index.d.ts +0 -1
- package/esm/components/badge/index.js +0 -1
- package/esm/components/breadcrumbs/breadcrumbs-context.d.ts +0 -9
- package/esm/components/breadcrumbs/breadcrumbs-item.d.ts +0 -12
- package/esm/components/breadcrumbs/breadcrumbs.d.ts +0 -7
- package/esm/components/breadcrumbs/index.d.ts +0 -2
- package/esm/components/breadcrumbs/index.js +0 -2
- package/esm/components/button/icon-button.d.ts +0 -6
- package/esm/components/button/index.d.ts +0 -2
- package/esm/components/button/index.js +0 -2
- package/esm/components/button-group/button-group.d.ts +0 -7
- package/esm/components/button-group/index.d.ts +0 -1
- package/esm/components/button-group/index.js +0 -1
- package/esm/components/caption/caption.d.ts +0 -7
- package/esm/components/caption/icons.d.ts +0 -5
- package/esm/components/caption/index.d.ts +0 -1
- package/esm/components/caption/index.js +0 -1
- package/esm/components/checkbox/checkbox.d.ts +0 -10
- package/esm/components/checkbox/index.d.ts +0 -1
- package/esm/components/checkbox/index.js +0 -1
- package/esm/components/color-picker/color-picker-button.d.ts +0 -12
- package/esm/components/color-picker/color-picker.d.ts +0 -13
- package/esm/components/color-picker/index.d.ts +0 -1
- package/esm/components/color-picker/index.js +0 -1
- package/esm/components/date-picker/calendar-day.d.ts +0 -17
- package/esm/components/date-picker/calendar-grid-head.d.ts +0 -7
- package/esm/components/date-picker/calendar-grid.d.ts +0 -17
- package/esm/components/date-picker/calendar-header.d.ts +0 -12
- package/esm/components/date-picker/calendar.d.ts +0 -11
- package/esm/components/date-picker/date-helpers.d.ts +0 -22
- package/esm/components/date-picker/date-picker.d.ts +0 -13
- package/esm/components/date-picker/date-range-picker.d.ts +0 -14
- package/esm/components/date-picker/date-range.d.ts +0 -13
- package/esm/components/date-picker/icons.d.ts +0 -3
- package/esm/components/date-picker/index.d.ts +0 -2
- package/esm/components/date-picker/index.js +0 -2
- package/esm/components/date-picker/parse-min-max-props.d.ts +0 -8
- package/esm/components/date-picker-popover/date-picker-popover.d.ts +0 -13
- package/esm/components/date-picker-popover/index.d.ts +0 -1
- package/esm/components/date-picker-popover/index.js +0 -1
- package/esm/components/date-range-picker-popover/date-range-picker-popover-footer.d.ts +0 -9
- package/esm/components/date-range-picker-popover/date-range-picker-popover-presets.d.ts +0 -10
- package/esm/components/date-range-picker-popover/date-range-picker-popover.d.ts +0 -26
- package/esm/components/date-range-picker-popover/helpers.d.ts +0 -2
- package/esm/components/date-range-picker-popover/index.d.ts +0 -2
- package/esm/components/date-range-picker-popover/index.js +0 -2
- package/esm/components/date-range-picker-popover/types.d.ts +0 -10
- package/esm/components/date-range-picker-popover/types.js +0 -1
- package/esm/components/date-range-picker-popover/use-is-compact-view.d.ts +0 -1
- package/esm/components/dialog/dialog-body.d.ts +0 -8
- package/esm/components/dialog/dialog-context.d.ts +0 -15
- package/esm/components/dialog/dialog-footer.d.ts +0 -5
- package/esm/components/dialog/dialog-header.d.ts +0 -8
- package/esm/components/dialog/dialog.d.ts +0 -12
- package/esm/components/dialog/index.d.ts +0 -4
- package/esm/components/dialog/index.js +0 -4
- package/esm/components/dialog/x-mark-icon.d.ts +0 -2
- package/esm/components/empty-state/empty-state.d.ts +0 -11
- package/esm/components/empty-state/index.d.ts +0 -1
- package/esm/components/empty-state/index.js +0 -1
- package/esm/components/file-picker/index.d.ts +0 -1
- package/esm/components/file-picker/index.js +0 -1
- package/esm/components/filter-buttons/filter-button.d.ts +0 -7
- package/esm/components/filter-buttons/filter-buttons.d.ts +0 -5
- package/esm/components/filter-buttons/index.d.ts +0 -2
- package/esm/components/filter-buttons/index.js +0 -2
- package/esm/components/form-field/form-field.d.ts +0 -15
- package/esm/components/form-field/index.d.ts +0 -1
- package/esm/components/form-field/index.js +0 -1
- package/esm/components/label/index.d.ts +0 -1
- package/esm/components/label/index.js +0 -1
- package/esm/components/label/label.d.ts +0 -5
- package/esm/components/menu/index.d.ts +0 -3
- package/esm/components/menu/index.js +0 -3
- package/esm/components/menu/menu-separator.d.ts +0 -6
- package/esm/components/nav-list/index.d.ts +0 -3
- package/esm/components/nav-list/index.js +0 -3
- package/esm/components/nav-list/nav-list-item.d.ts +0 -13
- package/esm/components/nav-list/nav-list-title.d.ts +0 -8
- package/esm/components/nav-list/nav-list.d.ts +0 -5
- package/esm/components/password-input/icons.d.ts +0 -3
- package/esm/components/password-input/index.d.ts +0 -1
- package/esm/components/password-input/index.js +0 -1
- package/esm/components/popover/index.d.ts +0 -1
- package/esm/components/popover/index.js +0 -1
- package/esm/components/popover/popover.d.ts +0 -49
- package/esm/components/popover/use-page-click.d.ts +0 -16
- package/esm/components/portal/index.d.ts +0 -1
- package/esm/components/portal/index.js +0 -1
- package/esm/components/portal/portal-context.d.ts +0 -6
- package/esm/components/portal/portal.d.ts +0 -5
- package/esm/components/positioner/calc-position.d.ts +0 -32
- package/esm/components/positioner/index.d.ts +0 -1
- package/esm/components/positioner/index.js +0 -1
- package/esm/components/positioner/positioner.d.ts +0 -20
- package/esm/components/positioner/types.d.ts +0 -14
- package/esm/components/positioner/types.js +0 -1
- package/esm/components/radio/index.d.ts +0 -1
- package/esm/components/radio/index.js +0 -1
- package/esm/components/radio/radio.d.ts +0 -11
- package/esm/components/segmented-control/index.d.ts +0 -1
- package/esm/components/segmented-control/index.js +0 -1
- package/esm/components/segmented-control/segmented-control-button.d.ts +0 -10
- package/esm/components/segmented-control/segmented-control.d.ts +0 -15
- package/esm/components/select/index.d.ts +0 -1
- package/esm/components/select/index.js +0 -1
- package/esm/components/select/select.d.ts +0 -46
- package/esm/components/selection-control/index.d.ts +0 -1
- package/esm/components/selection-control/index.js +0 -1
- package/esm/components/selection-control/selection-control.d.ts +0 -14
- package/esm/components/slider/index.d.ts +0 -2
- package/esm/components/slider/index.js +0 -2
- package/esm/components/slider/slider-tick-marks.d.ts +0 -7
- package/esm/components/spinner/index.d.ts +0 -1
- package/esm/components/spinner/index.js +0 -1
- package/esm/components/spinner/spinner.d.ts +0 -7
- package/esm/components/switch/index.d.ts +0 -1
- package/esm/components/switch/index.js +0 -1
- package/esm/components/table/icons.d.ts +0 -4
- package/esm/components/table/index.d.ts +0 -7
- package/esm/components/table/index.js +0 -7
- package/esm/components/table/table-body.d.ts +0 -5
- package/esm/components/table/table-cell.d.ts +0 -5
- package/esm/components/table/table-container.d.ts +0 -13
- package/esm/components/table/table-head-cell.d.ts +0 -10
- package/esm/components/table/table-head.d.ts +0 -7
- package/esm/components/table/table-row.d.ts +0 -7
- package/esm/components/table/table.d.ts +0 -11
- package/esm/components/tabs/index.d.ts +0 -4
- package/esm/components/tabs/index.js +0 -4
- package/esm/components/tabs/tab-list.d.ts +0 -3
- package/esm/components/tabs/tab-panel.d.ts +0 -6
- package/esm/components/tabs/tab.d.ts +0 -7
- package/esm/components/tabs/tabs-context.d.ts +0 -20
- package/esm/components/tabs/tabs.d.ts +0 -7
- package/esm/components/tabs/types.d.ts +0 -2
- package/esm/components/tabs/types.js +0 -1
- package/esm/components/tag/index.d.ts +0 -1
- package/esm/components/tag/index.js +0 -1
- package/esm/components/tag/tag.d.ts +0 -13
- package/esm/components/text-input/index.d.ts +0 -1
- package/esm/components/text-input/index.js +0 -1
- package/esm/components/text-input/text-input.d.ts +0 -21
- package/esm/components/textarea/index.d.ts +0 -1
- package/esm/components/textarea/index.js +0 -1
- package/esm/components/toast/index.d.ts +0 -2
- package/esm/components/toast/index.js +0 -2
- package/esm/components/toast/toast-button.d.ts +0 -5
- package/esm/components/toast/toast.d.ts +0 -11
- package/esm/components/toast/x-mark-icon.d.ts +0 -2
- package/esm/components/toaster/index.d.ts +0 -1
- package/esm/components/toaster/index.js +0 -1
- package/esm/components/tooltip/index.d.ts +0 -1
- package/esm/components/tooltip/index.js +0 -1
- package/esm/components/tooltip/tooltip.d.ts +0 -25
- package/esm/hooks/index.d.ts +0 -4
- package/esm/hooks/use-disable-body-scroll.d.ts +0 -5
- package/esm/hooks/use-esc-key-down.d.ts +0 -17
- package/esm/hooks/use-focus-trap.d.ts +0 -15
- package/esm/hooks/use-mount-transition.d.ts +0 -32
- package/esm/index.d.ts +0 -37
- package/esm/shared/keyboard-keys.d.ts +0 -14
- package/esm/shared/react-helpers.d.ts +0 -13
- package/esm/shared/util.d.ts +0 -2
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
6
|
+
const useMountTransition = require('../../hooks/use-mount-transition.cjs');
|
|
7
|
+
const useEscKeyDown = require('../../hooks/use-esc-key-down.cjs');
|
|
8
|
+
const useFocusTrap = require('../../hooks/use-focus-trap.cjs');
|
|
9
|
+
const usePageClick = require('./use-page-click.cjs');
|
|
10
|
+
const positioner = require('../positioner/positioner.cjs');
|
|
11
|
+
|
|
12
|
+
const Popover = react.forwardRef(function Popover({ shouldTrapFocus = true, shouldFocusAnchorAfterEscPress = true, placement = 'bottom', alignment = 'start', anchorGap, viewportGap, anchor, className, children, onOpen, onClose, ...props }, ref) {
|
|
13
|
+
const [defaultIsOpen, setDefaultIsOpen] = react.useState(props.defaultIsOpen ?? false);
|
|
14
|
+
const anchorRef = react.useRef(null);
|
|
15
|
+
const contentRef = react.useRef(null);
|
|
16
|
+
const isOpen = props.isOpen ?? defaultIsOpen;
|
|
17
|
+
const durationMs = 100;
|
|
18
|
+
const { isMounted, className: transitionClass } = useMountTransition.useMountTransition({
|
|
19
|
+
durationMs,
|
|
20
|
+
isShown: isOpen,
|
|
21
|
+
enterFrom: 'dc-popover_closed',
|
|
22
|
+
enterTo: 'dc-popover_opened',
|
|
23
|
+
});
|
|
24
|
+
const openPopover = react.useCallback(() => {
|
|
25
|
+
setDefaultIsOpen(true);
|
|
26
|
+
onOpen?.();
|
|
27
|
+
}, [onOpen]);
|
|
28
|
+
const closePopover = react.useCallback(() => {
|
|
29
|
+
setDefaultIsOpen(false);
|
|
30
|
+
onClose?.();
|
|
31
|
+
}, [onClose]);
|
|
32
|
+
const togglePopover = react.useCallback(() => {
|
|
33
|
+
if (isOpen) {
|
|
34
|
+
closePopover();
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
openPopover();
|
|
38
|
+
}
|
|
39
|
+
}, [isOpen, closePopover, openPopover]);
|
|
40
|
+
react.useImperativeHandle(ref, () => ({
|
|
41
|
+
open: openPopover,
|
|
42
|
+
close: closePopover,
|
|
43
|
+
toggle: togglePopover,
|
|
44
|
+
}), [openPopover, closePopover, togglePopover]);
|
|
45
|
+
usePageClick.usePageClick((event) => {
|
|
46
|
+
const target = event.target;
|
|
47
|
+
const anchor = anchorRef.current;
|
|
48
|
+
const content = contentRef.current;
|
|
49
|
+
if (target instanceof Node &&
|
|
50
|
+
!anchor?.contains(target) &&
|
|
51
|
+
!content?.contains(target)) {
|
|
52
|
+
closePopover();
|
|
53
|
+
}
|
|
54
|
+
}, { isEnabled: isOpen });
|
|
55
|
+
useEscKeyDown.useEscKeyDown(() => {
|
|
56
|
+
closePopover();
|
|
57
|
+
if (shouldFocusAnchorAfterEscPress && anchorRef.current) {
|
|
58
|
+
reactHelpers.focusElement(anchorRef.current);
|
|
59
|
+
}
|
|
60
|
+
}, { isEnabled: isOpen });
|
|
61
|
+
useFocusTrap.useFocusTrap(contentRef, { isEnabled: shouldTrapFocus && isOpen });
|
|
62
|
+
const renderAnchor = ({ setRef }) => {
|
|
63
|
+
if (typeof anchor === 'function') {
|
|
64
|
+
return anchor({
|
|
65
|
+
ref: reactHelpers.mergeRefs(setRef, anchorRef),
|
|
66
|
+
}, {
|
|
67
|
+
isOpen: isOpen || isMounted,
|
|
68
|
+
openPopover,
|
|
69
|
+
closePopover,
|
|
70
|
+
togglePopover,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
if (reactHelpers.isReactElementWithRef(anchor)) {
|
|
74
|
+
return react.cloneElement(anchor, {
|
|
75
|
+
ref: reactHelpers.mergeRefs(setRef, anchorRef, anchor.ref),
|
|
76
|
+
onClick: (event) => {
|
|
77
|
+
togglePopover();
|
|
78
|
+
anchor.props.onClick?.(event);
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return anchor;
|
|
83
|
+
};
|
|
84
|
+
const renderContent = ({ setRef: portalRef, style: portalStyle, }) => {
|
|
85
|
+
if (isOpen || isMounted) {
|
|
86
|
+
delete props.defaultIsOpen;
|
|
87
|
+
delete props.isOpen;
|
|
88
|
+
return (jsxRuntime.jsx("div", { ref: portalRef, style: {
|
|
89
|
+
'--dc-popover-transition-duration': `${durationMs}ms`,
|
|
90
|
+
...portalStyle,
|
|
91
|
+
}, className: reactHelpers.classNames('dc-popover', transitionClass), children: jsxRuntime.jsx("div", { ...props, ref: contentRef, className: reactHelpers.classNames('dc-popover-modal', className), children: children }) }));
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
return (jsxRuntime.jsx(positioner.Positioner, { position: "absolute", placement: placement, alignment: alignment, anchorGap: anchorGap, viewportGap: viewportGap, renderAnchor: renderAnchor, renderContent: renderContent }));
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
exports.Popover = Popover;
|
package/{dist/components/popover/use-page-click.js → cjs/components/popover/use-page-click.cjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const react = require('react');
|
|
4
|
+
|
|
5
5
|
const handlers = [];
|
|
6
6
|
/**
|
|
7
7
|
* Invokes a given handler when the user clicks on any place on the page.
|
|
@@ -14,12 +14,12 @@ const handlers = [];
|
|
|
14
14
|
* the passed handler or not.
|
|
15
15
|
*/
|
|
16
16
|
function usePageClick(handler, options) {
|
|
17
|
-
const handlerRef =
|
|
17
|
+
const handlerRef = react.useRef(handler);
|
|
18
18
|
const isEnabled = options.isEnabled;
|
|
19
|
-
|
|
19
|
+
react.useEffect(() => {
|
|
20
20
|
handlerRef.current = handler;
|
|
21
21
|
}, [handler]);
|
|
22
|
-
|
|
22
|
+
react.useEffect(() => {
|
|
23
23
|
if (!isEnabled) {
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
@@ -47,4 +47,5 @@ function usePageClick(handler, options) {
|
|
|
47
47
|
};
|
|
48
48
|
}, [isEnabled]);
|
|
49
49
|
}
|
|
50
|
+
|
|
50
51
|
exports.usePageClick = usePageClick;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
|
|
6
|
+
let root = null;
|
|
7
|
+
const getPortalRoot = () => {
|
|
8
|
+
if (root == null) {
|
|
9
|
+
root = document.createElement('div');
|
|
10
|
+
root.id = 'portal-root';
|
|
11
|
+
root.dataset.testid = 'portal-root';
|
|
12
|
+
document.body.append(root);
|
|
13
|
+
}
|
|
14
|
+
return root;
|
|
15
|
+
};
|
|
16
|
+
const PortalContext = react.createContext(getPortalRoot);
|
|
17
|
+
function usePortalRoot() {
|
|
18
|
+
const getRoot = react.useContext(PortalContext);
|
|
19
|
+
return getRoot();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
exports.usePortalRoot = usePortalRoot;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const reactDom = require('react-dom');
|
|
4
|
+
const portalContext = require('./portal-context.cjs');
|
|
5
|
+
|
|
6
|
+
function Portal({ children }) {
|
|
7
|
+
const container = portalContext.usePortalRoot();
|
|
8
|
+
return reactDom.createPortal(children, container);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.Portal = Portal;
|
package/{dist/components/positioner/calc-position.js → cjs/components/positioner/calc-position.cjs}
RENAMED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.getYAxisOffset = exports.calcPosition = void 0;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
4
3
|
function calcPosition({ placement, alignment, anchorRect, contentRect, viewportWidth, viewportHeight, scrollX, scrollY, anchorGap, viewportGap, }) {
|
|
5
4
|
const maxWidth = viewportWidth - (2 * viewportGap);
|
|
6
5
|
const maxSideWidth = Math.max(anchorRect.left - anchorGap - viewportGap, viewportWidth - anchorRect.right - anchorGap - viewportGap);
|
|
@@ -72,7 +71,6 @@ function calcPosition({ placement, alignment, anchorRect, contentRect, viewportW
|
|
|
72
71
|
}
|
|
73
72
|
return { x, y, placement, alignment };
|
|
74
73
|
}
|
|
75
|
-
exports.calcPosition = calcPosition;
|
|
76
74
|
function getXAxisOffset({ alignment, viewportGap, scrollX, anchorX, viewportWidth, contentWidth, anchorWidth, }) {
|
|
77
75
|
let x;
|
|
78
76
|
if (alignment === 'start') {
|
|
@@ -114,4 +112,6 @@ function getYAxisOffset({ placement, anchorGap, scrollY, anchorY, viewportHeight
|
|
|
114
112
|
}
|
|
115
113
|
return { offset: y, placement };
|
|
116
114
|
}
|
|
115
|
+
|
|
116
|
+
exports.calcPosition = calcPosition;
|
|
117
117
|
exports.getYAxisOffset = getYAxisOffset;
|
package/{dist/components/positioner/positioner.js → cjs/components/positioner/positioner.cjs}
RENAMED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const calcPosition = require('./calc-position.cjs');
|
|
6
|
+
const portal = require('../portal/portal.cjs');
|
|
7
|
+
|
|
8
8
|
function Positioner({ anchorGap = 4, viewportGap = 8, position = 'fixed', placement = 'bottom', alignment = 'start', renderAnchor, renderContent, }) {
|
|
9
|
-
const [anchor, setAnchor] =
|
|
10
|
-
const [content, setContent] =
|
|
11
|
-
|
|
9
|
+
const [anchor, setAnchor] = react.useState(null);
|
|
10
|
+
const [content, setContent] = react.useState(null);
|
|
11
|
+
react.useLayoutEffect(() => {
|
|
12
12
|
if (!anchor || !content) {
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
15
|
const calcContentPosition = () => {
|
|
16
16
|
const isPositionedFixed = position === 'fixed';
|
|
17
|
-
const result =
|
|
17
|
+
const result = calcPosition.calcPosition({
|
|
18
18
|
placement,
|
|
19
19
|
alignment,
|
|
20
20
|
anchorGap,
|
|
@@ -37,7 +37,7 @@ function Positioner({ anchorGap = 4, viewportGap = 8, position = 'fixed', placem
|
|
|
37
37
|
window.removeEventListener('scroll', calcContentPosition);
|
|
38
38
|
};
|
|
39
39
|
}, [anchor, content, position, placement, alignment, anchorGap, viewportGap]);
|
|
40
|
-
return (
|
|
40
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [renderAnchor({ setRef: setAnchor }), jsxRuntime.jsx(portal.Portal, { children: renderContent({
|
|
41
41
|
setRef: setContent,
|
|
42
42
|
style: {
|
|
43
43
|
position,
|
|
@@ -45,7 +45,6 @@ function Positioner({ anchorGap = 4, viewportGap = 8, position = 'fixed', placem
|
|
|
45
45
|
},
|
|
46
46
|
}) })] }));
|
|
47
47
|
}
|
|
48
|
-
exports.Positioner = Positioner;
|
|
49
48
|
function getRect(element) {
|
|
50
49
|
const domRect = element.getBoundingClientRect();
|
|
51
50
|
const width = Math.round(domRect.width);
|
|
@@ -61,3 +60,5 @@ function getRect(element) {
|
|
|
61
60
|
bottom: top + height,
|
|
62
61
|
};
|
|
63
62
|
}
|
|
63
|
+
|
|
64
|
+
exports.Positioner = Positioner;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
6
|
+
|
|
7
|
+
const checkIcon = (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "24", height: "24", className: "dc-radio__icon", "data-testid": "radio-check-icon", children: jsxRuntime.jsx("path", { d: "M7 12.7222L11 16.5L17 8", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
8
|
+
const dotIcon = (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "24", height: "24", className: "dc-radio__icon", "data-testid": "radio-dot-icon", children: jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "5", fill: "currentColor" }) }));
|
|
9
|
+
const Radio = react.forwardRef(function Radio({ icon = 'dot', style = {}, className = '', onChange, onToggle, ...props }, ref) {
|
|
10
|
+
let renderedIcon;
|
|
11
|
+
switch (icon) {
|
|
12
|
+
case 'check':
|
|
13
|
+
renderedIcon = checkIcon;
|
|
14
|
+
break;
|
|
15
|
+
default:
|
|
16
|
+
renderedIcon = dotIcon;
|
|
17
|
+
}
|
|
18
|
+
return (jsxRuntime.jsxs("label", { style: style, className: reactHelpers.classNames('dc-radio', className), children: [jsxRuntime.jsx("input", { ...props, ref: ref, type: "radio", className: "dc-radio__input", onChange: (event) => {
|
|
19
|
+
onChange?.(event);
|
|
20
|
+
onToggle?.(event.target.checked);
|
|
21
|
+
} }), jsxRuntime.jsx("span", { className: "dc-radio__check", "data-testid": "radio-check", "aria-hidden": true, children: renderedIcon })] }));
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
exports.Radio = Radio;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
5
|
+
|
|
6
|
+
function SegmentedControlButton({ className, checked, icon, children, value, onChangeValue, }) {
|
|
7
|
+
function handleClick() {
|
|
8
|
+
if (!checked) {
|
|
9
|
+
onChangeValue(value);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return (jsxRuntime.jsxs("li", { className: reactHelpers.classNames(className, 'dc-segmented__button'), role: "radio", "data-value": value, "aria-checked": checked, tabIndex: checked ? 0 : -1, onClick: handleClick, children: [icon, children] }));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
exports.SegmentedControlButton = SegmentedControlButton;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const keyboardKeys = require('../../lib/keyboard-keys.cjs');
|
|
6
|
+
const helpers = require('../../lib/helpers.cjs');
|
|
7
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
8
|
+
const segmentedControlButton = require('./segmented-control-button.cjs');
|
|
9
|
+
|
|
10
|
+
function SegmentedControl({ size = 'md', disabled = false, className, value, options, onChangeValue, ...props }) {
|
|
11
|
+
const ref = react.useRef(null);
|
|
12
|
+
function handleKeyDown(event) {
|
|
13
|
+
const prevIndex = options.findIndex((option) => option.value === value);
|
|
14
|
+
const containerEl = ref.current;
|
|
15
|
+
helpers.assertIfNullable(containerEl, 'ref.current is null or undefined');
|
|
16
|
+
let index = prevIndex;
|
|
17
|
+
if (event.key === keyboardKeys.KeyboardKeys.ArrowRight ||
|
|
18
|
+
event.key === keyboardKeys.KeyboardKeys.ArrowDown) {
|
|
19
|
+
index += 1;
|
|
20
|
+
}
|
|
21
|
+
else if (event.key === keyboardKeys.KeyboardKeys.ArrowLeft ||
|
|
22
|
+
event.key === keyboardKeys.KeyboardKeys.ArrowUp) {
|
|
23
|
+
index -= 1;
|
|
24
|
+
}
|
|
25
|
+
if (index < 0) {
|
|
26
|
+
index = options.length - 1;
|
|
27
|
+
}
|
|
28
|
+
else if (index >= options.length) {
|
|
29
|
+
index = 0;
|
|
30
|
+
}
|
|
31
|
+
if (index !== prevIndex) {
|
|
32
|
+
event.stopPropagation();
|
|
33
|
+
event.preventDefault();
|
|
34
|
+
const option = options[index];
|
|
35
|
+
helpers.assertIfNullable(option, `Unable to get option at index ${index}`);
|
|
36
|
+
onChangeValue(option.value);
|
|
37
|
+
const radioEl = containerEl.children[index];
|
|
38
|
+
helpers.assertIfNullable(radioEl, `Unable to get radio at index ${index}`);
|
|
39
|
+
reactHelpers.focusElement(radioEl);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return (jsxRuntime.jsx("ul", { ...props, ref: ref, role: "radiogroup", className: reactHelpers.classNames(className, 'dc-segmented', {
|
|
43
|
+
[`dc-segmented_${size}`]: size,
|
|
44
|
+
'dc-segmented_disabled': disabled,
|
|
45
|
+
}), onKeyDown: handleKeyDown, children: options.map((option) => (jsxRuntime.jsx(segmentedControlButton.SegmentedControlButton, { icon: option.icon, value: option.value, checked: value === option.value, onChangeValue: onChangeValue, children: option.label }, option.value))) }));
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
exports.SegmentedControl = SegmentedControl;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
6
|
+
|
|
7
|
+
const Select = react.forwardRef(function Select({ hasError, isBlock, size = 'md', style, className, disabled, multiple, htmlSize, children, onChange, onChangeValue, ...props }, ref) {
|
|
8
|
+
return (jsxRuntime.jsxs("div", { style: style, className: reactHelpers.classNames(className, 'dc-select__container', {
|
|
9
|
+
[`dc-select__container_${size}`]: size !== undefined,
|
|
10
|
+
'dc-select__container_multiple': multiple,
|
|
11
|
+
'dc-select__container_disabled': disabled,
|
|
12
|
+
'dc-select__container_has_error': hasError,
|
|
13
|
+
'dc-select__container_block': isBlock,
|
|
14
|
+
}), children: [jsxRuntime.jsx("select", { ...props, ref: ref, className: "dc-select", size: htmlSize, multiple: multiple, disabled: disabled, onChange: (event) => {
|
|
15
|
+
onChange?.(event);
|
|
16
|
+
if (multiple === true) {
|
|
17
|
+
onChangeValue?.(Array.from(event.target.options)
|
|
18
|
+
.filter((option) => option.selected)
|
|
19
|
+
.map((option) => option.value));
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
onChangeValue?.(event.target.value);
|
|
23
|
+
}
|
|
24
|
+
}, children: children }), jsxRuntime.jsx("svg", { className: "dc-select__icon", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: 24, height: 24, fill: "none", stroke: "currentColor", strokeWidth: 1.5, "aria-hidden": true, children: jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8.25 15L12 18.75 15.75 15m-7.5-6L12 5.25 15.75 9" }) })] }));
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
exports.Select = Select;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
6
|
+
const label = require('../label/label.cjs');
|
|
7
|
+
const caption = require('../caption/caption.cjs');
|
|
8
|
+
|
|
9
|
+
function SelectionControl({ label: label$1, labelFor, caption: caption$1, className, children, ...props }) {
|
|
10
|
+
const defaultId = react.useId();
|
|
11
|
+
const controlId = labelFor || defaultId;
|
|
12
|
+
const shouldRenderCaption = Boolean(caption$1);
|
|
13
|
+
return (jsxRuntime.jsxs("div", { ...props, className: reactHelpers.classNames('dc-selection-control', className), children: [jsxRuntime.jsx("div", { className: "dc-selection-control__input", children: typeof children === 'function'
|
|
14
|
+
? children({ id: controlId })
|
|
15
|
+
: children }), jsxRuntime.jsx(label.Label, { className: "dc-selection-control__label", htmlFor: controlId, children: label$1 }), shouldRenderCaption && (jsxRuntime.jsx(caption.Caption, { className: "dc-selection-control__caption", children: caption$1 }))] }));
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
exports.SelectionControl = SelectionControl;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
|
|
5
|
+
function SliderTickMarks({ tickMarksCount, renderTickMarkLabel, }) {
|
|
6
|
+
if (tickMarksCount < 1) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
const tickMarks = [];
|
|
10
|
+
for (let index = 0; index < tickMarksCount; index += 1) {
|
|
11
|
+
const label = renderTickMarkLabel?.(index);
|
|
12
|
+
tickMarks.push((jsxRuntime.jsx("div", { className: "dc-slider-tick-mark", "data-testid": "tick-mark", children: Boolean(label) && (jsxRuntime.jsx("span", { className: "dc-slider-tick-mark__label", children: label })) }, index)));
|
|
13
|
+
}
|
|
14
|
+
return jsxRuntime.jsx("div", { className: "dc-slider__tick-marks", children: tickMarks });
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
exports.SliderTickMarks = SliderTickMarks;
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
6
|
+
const sliderTickMarks = require('./slider-tick-marks.cjs');
|
|
7
|
+
|
|
8
|
+
const Slider = react.forwardRef(function Slider({ thumbStyle = 'round', tickMarksCount = 0, renderTickMarkLabel, step = 1, min = 0, max = 100, style, className, disabled, value, defaultValue, onChange, onChangeValue, ...props }, ref) {
|
|
9
9
|
defaultValue = value == null ? defaultValue || 0 : undefined;
|
|
10
|
-
return (
|
|
10
|
+
return (jsxRuntime.jsxs("div", { style: style, className: reactHelpers.classNames(className, 'dc-slider', {
|
|
11
11
|
[`dc-slider_thumb_${thumbStyle}`]: thumbStyle !== undefined,
|
|
12
12
|
'dc-slider_disabled': disabled,
|
|
13
|
-
}), children: [
|
|
13
|
+
}), children: [jsxRuntime.jsx("input", { ...props, ref: ref, style: {
|
|
14
14
|
background: getTrackBackground({
|
|
15
15
|
min,
|
|
16
16
|
max,
|
|
17
|
-
value: value
|
|
17
|
+
value: value ?? defaultValue,
|
|
18
18
|
}),
|
|
19
19
|
}, className: "dc-slider__input", type: "range", value: value, defaultValue: defaultValue, min: min, max: max, step: step, disabled: disabled, onChange: (event) => {
|
|
20
20
|
const target = event.target;
|
|
21
21
|
const value = Number(target.value);
|
|
22
|
-
onChange
|
|
23
|
-
onChangeValue
|
|
22
|
+
onChange?.(event);
|
|
23
|
+
onChangeValue?.(value);
|
|
24
24
|
target.style.background = getTrackBackground({ min, max, value });
|
|
25
|
-
} }),
|
|
25
|
+
} }), jsxRuntime.jsx(sliderTickMarks.SliderTickMarks, { tickMarksCount: tickMarksCount, renderTickMarkLabel: renderTickMarkLabel })] }));
|
|
26
26
|
});
|
|
27
27
|
function getTrackBackground(params) {
|
|
28
28
|
const value = params.value || 0;
|
|
@@ -37,3 +37,5 @@ function getTrackBackground(params) {
|
|
|
37
37
|
var(--dc-slider-track-bg) ${valuePct}%
|
|
38
38
|
)`;
|
|
39
39
|
}
|
|
40
|
+
|
|
41
|
+
exports.Slider = Slider;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
6
|
+
|
|
7
|
+
const Spinner = react.forwardRef(function Spinner({ size = 24, width = size, height = size, className = '', ...props }, ref) {
|
|
8
|
+
return jsxRuntime.jsx("svg", { ...props, ref: ref, className: reactHelpers.classNames('dc-spinner', className), xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 50 50", width: width, height: height, children: jsxRuntime.jsx("circle", { cx: 25, cy: 25, r: 20, fill: "none", stroke: "currentColor", strokeWidth: 5 }) });
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
exports.Spinner = Spinner;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
6
|
+
|
|
7
|
+
const checkIcon = (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", width: "20", height: "20", className: "dc-switch__icon", "data-testid": "switch-check-icon", children: jsxRuntime.jsx("path", { d: "M6 10.353L9 13L13.5 7", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
8
|
+
const Switch = react.forwardRef(function Switch({ style = {}, className = '', showCheckIcon = true, onChange, onToggle, ...props }, ref) {
|
|
9
|
+
return (jsxRuntime.jsxs("label", { style: style, className: reactHelpers.classNames('dc-switch', className), children: [jsxRuntime.jsx("input", { ...props, ref: ref, className: "dc-switch__input", type: "checkbox", onChange: (event) => {
|
|
10
|
+
onChange?.(event);
|
|
11
|
+
onToggle?.(event.target.checked);
|
|
12
|
+
} }), jsxRuntime.jsx("span", { "data-testid": "switch-track", className: "dc-switch__track", "aria-hidden": true, children: jsxRuntime.jsx("span", { className: "dc-switch__thumb", children: showCheckIcon && checkIcon }) })] }));
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
exports.Switch = Switch;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
|
|
5
|
+
function ArrowsUpDown(props) {
|
|
6
|
+
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: 24, height: 24, strokeWidth: 1.5, stroke: "currentColor", ...props, children: jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3 7.5L7.5 3m0 0L12 7.5M7.5 3v13.5m13.5 0L16.5 21m0 0L12 16.5m4.5 4.5V7.5" }) }));
|
|
7
|
+
}
|
|
8
|
+
function ArrowSmallDown(props) {
|
|
9
|
+
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: 24, height: 24, strokeWidth: 1.5, stroke: "currentColor", ...props, children: jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 4.5v15m0 0l6.75-6.75M12 19.5l-6.75-6.75" }) }));
|
|
10
|
+
}
|
|
11
|
+
function ArrowSmallUp(props) {
|
|
12
|
+
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: 24, height: 24, strokeWidth: 1.5, stroke: "currentColor", ...props, children: jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 19.5v-15m0 0l-6.75 6.75M12 4.5l6.75 6.75" }) }));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
exports.ArrowSmallDown = ArrowSmallDown;
|
|
16
|
+
exports.ArrowSmallUp = ArrowSmallUp;
|
|
17
|
+
exports.ArrowsUpDown = ArrowsUpDown;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
6
|
+
|
|
7
|
+
const TableBody = react.forwardRef(function TableBody({ className, children, ...props }, ref) {
|
|
8
|
+
return (jsxRuntime.jsx("tbody", { ...props, ref: ref, className: reactHelpers.classNames(className, 'dc-table-body'), children: children }));
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
exports.TableBody = TableBody;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
6
|
+
|
|
7
|
+
const TableCell = react.forwardRef(function TableCell({ className, children, ...props }, ref) {
|
|
8
|
+
return (jsxRuntime.jsx("td", { ...props, ref: ref, className: reactHelpers.classNames('dc-table-cell', className), children: children }));
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
exports.TableCell = TableCell;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
6
|
+
|
|
7
|
+
const TableContainer = react.forwardRef(function TableContainer({ border, className, children, ...props }, ref) {
|
|
8
|
+
let modifier = '';
|
|
9
|
+
if (typeof border === 'object' && border != null) {
|
|
10
|
+
modifier = reactHelpers.classNames({
|
|
11
|
+
'dc-table-container_border_top': border.top,
|
|
12
|
+
'dc-table-container_border_right': border.right,
|
|
13
|
+
'dc-table-container_border_bottom': border.bottom,
|
|
14
|
+
'dc-table-container_border_left': border.left,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
else if (border === 'all') {
|
|
18
|
+
modifier = 'dc-table-container_border_all';
|
|
19
|
+
}
|
|
20
|
+
return (jsxRuntime.jsx("div", { ...props, ref: ref, className: reactHelpers.classNames(className, modifier, 'dc-table-container'), children: children }));
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
exports.TableContainer = TableContainer;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
6
|
+
const icons = require('./icons.cjs');
|
|
7
|
+
|
|
8
|
+
const iconMapping = {
|
|
9
|
+
none: icons.ArrowsUpDown,
|
|
10
|
+
ascending: icons.ArrowSmallUp,
|
|
11
|
+
descending: icons.ArrowSmallDown,
|
|
12
|
+
};
|
|
13
|
+
const stateMapping = {
|
|
14
|
+
none: 'ascending',
|
|
15
|
+
ascending: 'descending',
|
|
16
|
+
descending: 'none',
|
|
17
|
+
};
|
|
18
|
+
const TableHeadCell = react.forwardRef(function TableHeaderCell({ isSortable = false, sort = 'none', className, children, onChangeSort, ...props }, ref) {
|
|
19
|
+
if (isSortable) {
|
|
20
|
+
const Icon = iconMapping[sort];
|
|
21
|
+
children = (jsxRuntime.jsxs("button", { className: "dc-table-cell__sort-btn", type: "button", onClick: () => onChangeSort?.(stateMapping[sort]), children: [children, " ", jsxRuntime.jsx(Icon, { className: "dc-table-cell__sort-icon", "aria-hidden": true, strokeWidth: 2 })] }));
|
|
22
|
+
}
|
|
23
|
+
return (jsxRuntime.jsx("th", { ...props, className: reactHelpers.classNames(className, {
|
|
24
|
+
'dc-table-cell': true,
|
|
25
|
+
'dc-table-cell_head': true,
|
|
26
|
+
'dc-table-cell_sortable': isSortable,
|
|
27
|
+
}), ref: ref, "aria-sort": isSortable ? sort : props['aria-sort'], children: children }));
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
exports.TableHeadCell = TableHeadCell;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
6
|
+
|
|
7
|
+
const TableHead = react.forwardRef(function TableHead({ className, isTinted = false, ...props }, ref) {
|
|
8
|
+
return (jsxRuntime.jsx("thead", { ...props, ref: ref, className: reactHelpers.classNames(className, {
|
|
9
|
+
'dc-table-head': true,
|
|
10
|
+
'dc-table-head_tinted': isTinted,
|
|
11
|
+
}) }));
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
exports.TableHead = TableHead;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
6
|
+
|
|
7
|
+
const TableRow = react.forwardRef(function TableRow({ isSelected, className, ...props }, ref) {
|
|
8
|
+
return (jsxRuntime.jsx("tr", { ...props, ref: ref, className: reactHelpers.classNames(className, {
|
|
9
|
+
'dc-table-row': true,
|
|
10
|
+
'dc-table-row_selected': isSelected,
|
|
11
|
+
}) }));
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
exports.TableRow = TableRow;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const react = require('react');
|
|
5
|
+
const reactHelpers = require('../../lib/react-helpers.cjs');
|
|
6
|
+
|
|
7
|
+
const Table = react.forwardRef(function Table({ cellSize = 'md', isStriped = false, isBordered = false, highlightRowOnHover = false, className, children, ...props }, ref) {
|
|
8
|
+
return (jsxRuntime.jsx("table", { ...props, ref: ref, className: reactHelpers.classNames(className, 'dc-table', {
|
|
9
|
+
[`dc-table_cell_${cellSize}`]: cellSize,
|
|
10
|
+
'dc-table_striped': isStriped,
|
|
11
|
+
'dc-table_bordered': isBordered,
|
|
12
|
+
'dc-table_highlight_row': highlightRowOnHover,
|
|
13
|
+
}), children: children }));
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
exports.Table = Table;
|