@cimpress-ui/react 0.3.0 → 1.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/README.md +0 -2
- package/dist/commonjs/components/alert/alert.d.ts +25 -0
- package/dist/commonjs/components/alert/alert.d.ts.map +1 -0
- package/dist/commonjs/components/alert/alert.js +51 -0
- package/dist/commonjs/components/alert/alert.js.map +1 -0
- package/dist/commonjs/components/alert-dialog/alert-dialog.d.ts +51 -0
- package/dist/commonjs/components/alert-dialog/alert-dialog.d.ts.map +1 -0
- package/dist/commonjs/components/alert-dialog/alert-dialog.js +26 -0
- package/dist/commonjs/components/alert-dialog/alert-dialog.js.map +1 -0
- package/dist/commonjs/components/app-header/app-header.d.ts +20 -0
- package/dist/commonjs/components/app-header/app-header.d.ts.map +1 -0
- package/dist/commonjs/components/app-header/app-header.js +26 -0
- package/dist/commonjs/components/app-header/app-header.js.map +1 -0
- package/dist/commonjs/components/app-header/cimpress-logo.d.ts +2 -0
- package/dist/commonjs/components/app-header/cimpress-logo.d.ts.map +1 -0
- package/dist/commonjs/components/app-header/cimpress-logo.js +9 -0
- package/dist/commonjs/components/app-header/cimpress-logo.js.map +1 -0
- package/dist/commonjs/components/app-header/simple-auth-tool.d.ts +29 -0
- package/dist/commonjs/components/app-header/simple-auth-tool.d.ts.map +1 -0
- package/dist/commonjs/components/app-header/simple-auth-tool.js +31 -0
- package/dist/commonjs/components/app-header/simple-auth-tool.js.map +1 -0
- package/dist/commonjs/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
- package/dist/commonjs/components/breadcrumbs/breadcrumbs.js +17 -1
- package/dist/commonjs/components/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/commonjs/components/button/button.d.ts.map +1 -1
- package/dist/commonjs/components/button/button.js +3 -3
- package/dist/commonjs/components/button/button.js.map +1 -1
- package/dist/commonjs/components/button/icon-button.d.ts.map +1 -1
- package/dist/commonjs/components/button/icon-button.js +3 -3
- package/dist/commonjs/components/button/icon-button.js.map +1 -1
- package/dist/commonjs/components/button/icon-link-button.js +1 -1
- package/dist/commonjs/components/button/icon-link-button.js.map +1 -1
- package/dist/commonjs/components/button/link-button.js +1 -1
- package/dist/commonjs/components/button/link-button.js.map +1 -1
- package/dist/commonjs/components/button/types.js.map +1 -1
- package/dist/commonjs/components/callout/callout.d.ts +27 -0
- package/dist/commonjs/components/callout/callout.d.ts.map +1 -0
- package/dist/commonjs/components/callout/callout.js +46 -0
- package/dist/commonjs/components/callout/callout.js.map +1 -0
- package/dist/commonjs/components/card/card.d.ts +51 -11
- package/dist/commonjs/components/card/card.d.ts.map +1 -1
- package/dist/commonjs/components/card/card.js +19 -13
- package/dist/commonjs/components/card/card.js.map +1 -1
- package/dist/commonjs/components/checkbox/checkbox-group.d.ts +1 -1
- package/dist/commonjs/components/checkbox/checkbox-group.d.ts.map +1 -1
- package/dist/commonjs/components/checkbox/checkbox-group.js +2 -2
- package/dist/commonjs/components/checkbox/checkbox-group.js.map +1 -1
- package/dist/commonjs/components/checkbox/checkbox.d.ts.map +1 -1
- package/dist/commonjs/components/checkbox/checkbox.js +3 -3
- package/dist/commonjs/components/checkbox/checkbox.js.map +1 -1
- package/dist/commonjs/components/combo-box/combo-box.d.ts +7 -1
- package/dist/commonjs/components/combo-box/combo-box.d.ts.map +1 -1
- package/dist/commonjs/components/combo-box/combo-box.js +15 -6
- package/dist/commonjs/components/combo-box/combo-box.js.map +1 -1
- package/dist/commonjs/components/container/container.d.ts +16 -0
- package/dist/commonjs/components/container/container.d.ts.map +1 -0
- package/dist/commonjs/components/container/container.js +13 -0
- package/dist/commonjs/components/container/container.js.map +1 -0
- package/dist/commonjs/components/date-picker/date-picker-calendar.d.ts +2 -0
- package/dist/commonjs/components/date-picker/date-picker-calendar.d.ts.map +1 -0
- package/dist/commonjs/components/date-picker/date-picker-calendar.js +26 -0
- package/dist/commonjs/components/date-picker/date-picker-calendar.js.map +1 -0
- package/dist/commonjs/components/date-picker/date-picker.d.ts +17 -0
- package/dist/commonjs/components/date-picker/date-picker.d.ts.map +1 -0
- package/dist/commonjs/components/date-picker/date-picker.js +54 -0
- package/dist/commonjs/components/date-picker/date-picker.js.map +1 -0
- package/dist/commonjs/components/date-picker/utils.d.ts +2 -0
- package/dist/commonjs/components/date-picker/utils.d.ts.map +1 -0
- package/dist/commonjs/components/date-picker/utils.js +31 -0
- package/dist/commonjs/components/date-picker/utils.js.map +1 -0
- package/dist/commonjs/components/date-picker/views/month/month-view.d.ts +2 -0
- package/dist/commonjs/components/date-picker/views/month/month-view.d.ts.map +1 -0
- package/dist/commonjs/components/date-picker/views/month/month-view.js +35 -0
- package/dist/commonjs/components/date-picker/views/month/month-view.js.map +1 -0
- package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.d.ts +2 -0
- package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.d.ts.map +1 -0
- package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.js +16 -0
- package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.js.map +1 -0
- package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts +2 -0
- package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts.map +1 -0
- package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.js +130 -0
- package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.js.map +1 -0
- package/dist/commonjs/components/date-picker/views/types.d.ts +2 -0
- package/dist/commonjs/components/date-picker/views/types.d.ts.map +1 -0
- package/dist/commonjs/components/date-picker/views/types.js +3 -0
- package/dist/commonjs/components/date-picker/views/types.js.map +1 -0
- package/dist/commonjs/components/date-picker/views/use-view-header.d.ts +2 -0
- package/dist/commonjs/components/date-picker/views/use-view-header.d.ts.map +1 -0
- package/dist/commonjs/components/date-picker/views/use-view-header.js +56 -0
- package/dist/commonjs/components/date-picker/views/use-view-header.js.map +1 -0
- package/dist/commonjs/components/date-picker/views/view-grid-cell.d.ts +2 -0
- package/dist/commonjs/components/date-picker/views/view-grid-cell.d.ts.map +1 -0
- package/dist/commonjs/components/date-picker/views/view-grid-cell.js +72 -0
- package/dist/commonjs/components/date-picker/views/view-grid-cell.js.map +1 -0
- package/dist/commonjs/components/date-picker/views/view-grid.d.ts +2 -0
- package/dist/commonjs/components/date-picker/views/view-grid.d.ts.map +1 -0
- package/dist/commonjs/components/date-picker/views/view-grid.js +75 -0
- package/dist/commonjs/components/date-picker/views/view-grid.js.map +1 -0
- package/dist/commonjs/components/date-picker/views/view-provider.d.ts +2 -0
- package/dist/commonjs/components/date-picker/views/view-provider.d.ts.map +1 -0
- package/dist/commonjs/components/date-picker/views/view-provider.js +21 -0
- package/dist/commonjs/components/date-picker/views/view-provider.js.map +1 -0
- package/dist/commonjs/components/date-picker/views/year/use-year-view-state.d.ts +2 -0
- package/dist/commonjs/components/date-picker/views/year/use-year-view-state.d.ts.map +1 -0
- package/dist/commonjs/components/date-picker/views/year/use-year-view-state.js +158 -0
- package/dist/commonjs/components/date-picker/views/year/use-year-view-state.js.map +1 -0
- package/dist/commonjs/components/date-picker/views/year/year-view.d.ts +2 -0
- package/dist/commonjs/components/date-picker/views/year/year-view.d.ts.map +1 -0
- package/dist/commonjs/components/date-picker/views/year/year-view.js +20 -0
- package/dist/commonjs/components/date-picker/views/year/year-view.js.map +1 -0
- package/dist/commonjs/components/dialog-root/dialog-root.d.ts +20 -0
- package/dist/commonjs/components/dialog-root/dialog-root.d.ts.map +1 -0
- package/dist/commonjs/components/dialog-root/dialog-root.js +15 -0
- package/dist/commonjs/components/dialog-root/dialog-root.js.map +1 -0
- package/dist/commonjs/components/disclosure/context.d.ts +3 -0
- package/dist/commonjs/components/disclosure/context.d.ts.map +1 -0
- package/dist/commonjs/components/disclosure/context.js +7 -0
- package/dist/commonjs/components/disclosure/context.js.map +1 -0
- package/dist/commonjs/components/disclosure/disclosure-group.d.ts +15 -4
- package/dist/commonjs/components/disclosure/disclosure-group.d.ts.map +1 -1
- package/dist/commonjs/components/disclosure/disclosure-group.js +11 -5
- package/dist/commonjs/components/disclosure/disclosure-group.js.map +1 -1
- package/dist/commonjs/components/disclosure/disclosure.d.ts +35 -4
- package/dist/commonjs/components/disclosure/disclosure.d.ts.map +1 -1
- package/dist/commonjs/components/disclosure/disclosure.js +16 -5
- package/dist/commonjs/components/disclosure/disclosure.js.map +1 -1
- package/dist/commonjs/components/divider/divider.d.ts +12 -0
- package/dist/commonjs/components/divider/divider.d.ts.map +1 -0
- package/dist/commonjs/components/divider/divider.js +19 -0
- package/dist/commonjs/components/divider/divider.js.map +1 -0
- package/dist/commonjs/components/drawer/drawer.d.ts +81 -0
- package/dist/commonjs/components/drawer/drawer.d.ts.map +1 -0
- package/dist/commonjs/components/drawer/drawer.js +59 -0
- package/dist/commonjs/components/drawer/drawer.js.map +1 -0
- package/dist/commonjs/components/file-picker/file-picker.d.ts +19 -0
- package/dist/commonjs/components/file-picker/file-picker.d.ts.map +1 -0
- package/dist/commonjs/components/file-picker/file-picker.js +68 -0
- package/dist/commonjs/components/file-picker/file-picker.js.map +1 -0
- package/dist/commonjs/components/internal/form-field/form-field.js +1 -1
- package/dist/commonjs/components/internal/form-field/form-field.js.map +1 -1
- package/dist/commonjs/components/internal/x-button/x-button.d.ts +2 -0
- package/dist/commonjs/components/internal/x-button/x-button.d.ts.map +1 -0
- package/dist/commonjs/components/internal/x-button/x-button.js +17 -0
- package/dist/commonjs/components/internal/x-button/x-button.js.map +1 -0
- package/dist/commonjs/components/link-tabs/context.d.ts +2 -0
- package/dist/commonjs/components/link-tabs/context.d.ts.map +1 -0
- package/dist/commonjs/components/link-tabs/context.js +7 -0
- package/dist/commonjs/components/link-tabs/context.js.map +1 -0
- package/dist/commonjs/components/link-tabs/link-tabs.d.ts +36 -0
- package/dist/commonjs/components/link-tabs/link-tabs.d.ts.map +1 -0
- package/dist/commonjs/components/link-tabs/link-tabs.js +54 -0
- package/dist/commonjs/components/link-tabs/link-tabs.js.map +1 -0
- package/dist/commonjs/components/menu/menu.d.ts +3 -6
- package/dist/commonjs/components/menu/menu.d.ts.map +1 -1
- package/dist/commonjs/components/menu/menu.js +4 -9
- package/dist/commonjs/components/menu/menu.js.map +1 -1
- package/dist/commonjs/components/modal-dialog/modal-dialog.d.ts +63 -0
- package/dist/commonjs/components/modal-dialog/modal-dialog.d.ts.map +1 -0
- package/dist/commonjs/components/modal-dialog/modal-dialog.js +46 -0
- package/dist/commonjs/components/modal-dialog/modal-dialog.js.map +1 -0
- package/dist/commonjs/components/number-field/number-field.d.ts +1 -1
- package/dist/commonjs/components/number-field/number-field.d.ts.map +1 -1
- package/dist/commonjs/components/number-field/number-field.js +6 -4
- package/dist/commonjs/components/number-field/number-field.js.map +1 -1
- package/dist/commonjs/components/pagination/base-pagination.d.ts.map +1 -1
- package/dist/commonjs/components/pagination/base-pagination.js +9 -10
- package/dist/commonjs/components/pagination/base-pagination.js.map +1 -1
- package/dist/commonjs/components/pagination/pagination.d.ts.map +1 -1
- package/dist/commonjs/components/pagination/pagination.js +7 -5
- package/dist/commonjs/components/pagination/pagination.js.map +1 -1
- package/dist/commonjs/components/popover/popover.d.ts +7 -2
- package/dist/commonjs/components/popover/popover.d.ts.map +1 -1
- package/dist/commonjs/components/popover/popover.js +2 -2
- package/dist/commonjs/components/popover/popover.js.map +1 -1
- package/dist/commonjs/components/radio/radio-group.d.ts +1 -1
- package/dist/commonjs/components/radio/radio-group.d.ts.map +1 -1
- package/dist/commonjs/components/radio/radio-group.js +2 -2
- package/dist/commonjs/components/radio/radio-group.js.map +1 -1
- package/dist/commonjs/components/radio/radio.d.ts.map +1 -1
- package/dist/commonjs/components/radio/radio.js +3 -3
- package/dist/commonjs/components/radio/radio.js.map +1 -1
- package/dist/commonjs/components/select/select.d.ts +7 -1
- package/dist/commonjs/components/select/select.d.ts.map +1 -1
- package/dist/commonjs/components/select/select.js +14 -6
- package/dist/commonjs/components/select/select.js.map +1 -1
- package/dist/commonjs/components/spacing/stack/stack.d.ts +1 -1
- package/dist/commonjs/components/spacing/stack/stack.js +1 -1
- package/dist/commonjs/components/spacing/stack/stack.js.map +1 -1
- package/dist/commonjs/components/spacing/types.d.ts +1 -1
- package/dist/commonjs/components/spacing/types.d.ts.map +1 -1
- package/dist/commonjs/components/spacing/types.js +2 -2
- package/dist/commonjs/components/spacing/types.js.map +1 -1
- package/dist/commonjs/components/spinner/spinner.d.ts.map +1 -1
- package/dist/commonjs/components/spinner/spinner.js +3 -3
- package/dist/commonjs/components/spinner/spinner.js.map +1 -1
- package/dist/commonjs/components/table/contexts/column-collection.d.ts.map +1 -1
- package/dist/commonjs/components/table/contexts/column-collection.js +2 -0
- package/dist/commonjs/components/table/contexts/column-collection.js.map +1 -1
- package/dist/commonjs/components/table/contexts/table-state.d.ts +1 -0
- package/dist/commonjs/components/table/contexts/table-state.d.ts.map +1 -1
- package/dist/commonjs/components/table/contexts/table-state.js +6 -1
- package/dist/commonjs/components/table/contexts/table-state.js.map +1 -1
- package/dist/commonjs/components/table/hooks/use-table-cell.js +2 -2
- package/dist/commonjs/components/table/hooks/use-table-cell.js.map +1 -1
- package/dist/commonjs/components/table/table-empty-state.js +1 -1
- package/dist/commonjs/components/table/table-empty-state.js.map +1 -1
- package/dist/commonjs/components/table/table-header-button.d.ts +2 -0
- package/dist/commonjs/components/table/table-header-button.d.ts.map +1 -0
- package/dist/commonjs/components/table/table-header-button.js +16 -0
- package/dist/commonjs/components/table/table-header-button.js.map +1 -0
- package/dist/commonjs/components/table/table-header-cell.d.ts.map +1 -1
- package/dist/commonjs/components/table/table-header-cell.js +7 -5
- package/dist/commonjs/components/table/table-header-cell.js.map +1 -1
- package/dist/commonjs/components/table/table.d.ts +1 -1
- package/dist/commonjs/components/table/table.d.ts.map +1 -1
- package/dist/commonjs/components/table/table.js +2 -2
- package/dist/commonjs/components/table/table.js.map +1 -1
- package/dist/commonjs/components/tabs/tabs.d.ts +53 -0
- package/dist/commonjs/components/tabs/tabs.d.ts.map +1 -0
- package/dist/commonjs/components/tabs/tabs.js +69 -0
- package/dist/commonjs/components/tabs/tabs.js.map +1 -0
- package/dist/commonjs/components/tag/tag-group.d.ts +1 -1
- package/dist/commonjs/components/tag/tag-group.d.ts.map +1 -1
- package/dist/commonjs/components/tag/tag-group.js.map +1 -1
- package/dist/commonjs/components/tag/tag.js +1 -1
- package/dist/commonjs/components/tag/tag.js.map +1 -1
- package/dist/commonjs/components/tag-field/tag-field-input.d.ts +2 -0
- package/dist/commonjs/components/tag-field/tag-field-input.d.ts.map +1 -0
- package/dist/commonjs/components/tag-field/tag-field-input.js +30 -0
- package/dist/commonjs/components/tag-field/tag-field-input.js.map +1 -0
- package/dist/commonjs/components/tag-field/tag-field-list-box.d.ts +2 -0
- package/dist/commonjs/components/tag-field/tag-field-list-box.d.ts.map +1 -0
- package/dist/commonjs/components/tag-field/tag-field-list-box.js +38 -0
- package/dist/commonjs/components/tag-field/tag-field-list-box.js.map +1 -0
- package/dist/commonjs/components/tag-field/tag-field-tags.d.ts +2 -0
- package/dist/commonjs/components/tag-field/tag-field-tags.d.ts.map +1 -0
- package/dist/commonjs/components/tag-field/tag-field-tags.js +29 -0
- package/dist/commonjs/components/tag-field/tag-field-tags.js.map +1 -0
- package/dist/commonjs/components/tag-field/tag-field.d.ts +51 -0
- package/dist/commonjs/components/tag-field/tag-field.d.ts.map +1 -0
- package/dist/commonjs/components/tag-field/tag-field.js +143 -0
- package/dist/commonjs/components/tag-field/tag-field.js.map +1 -0
- package/dist/commonjs/components/text-inputs/text-area.d.ts +1 -1
- package/dist/commonjs/components/text-inputs/text-area.d.ts.map +1 -1
- package/dist/commonjs/components/text-inputs/text-area.js +3 -3
- package/dist/commonjs/components/text-inputs/text-area.js.map +1 -1
- package/dist/commonjs/components/text-inputs/text-field.d.ts +1 -1
- package/dist/commonjs/components/text-inputs/text-field.d.ts.map +1 -1
- package/dist/commonjs/components/text-inputs/text-field.js +3 -3
- package/dist/commonjs/components/text-inputs/text-field.js.map +1 -1
- package/dist/commonjs/components/toast/toast-region.d.ts +5 -0
- package/dist/commonjs/components/toast/toast-region.d.ts.map +1 -0
- package/dist/commonjs/components/toast/toast-region.js +24 -0
- package/dist/commonjs/components/toast/toast-region.js.map +1 -0
- package/dist/commonjs/components/toast/toast.d.ts +2 -0
- package/dist/commonjs/components/toast/toast.d.ts.map +1 -0
- package/dist/commonjs/components/toast/toast.js +24 -0
- package/dist/commonjs/components/toast/toast.js.map +1 -0
- package/dist/commonjs/components/toast/types.d.ts +5 -0
- package/dist/commonjs/components/toast/types.d.ts.map +1 -0
- package/dist/commonjs/components/toast/types.js +3 -0
- package/dist/commonjs/components/toast/types.js.map +1 -0
- package/dist/commonjs/components/toggle/toggle.d.ts +14 -0
- package/dist/commonjs/components/toggle/toggle.d.ts.map +1 -0
- package/dist/commonjs/components/toggle/toggle.js +32 -0
- package/dist/commonjs/components/toggle/toggle.js.map +1 -0
- package/dist/commonjs/components/toggle-button/toggle-button-group.d.ts +15 -0
- package/dist/commonjs/components/toggle-button/toggle-button-group.d.ts.map +1 -0
- package/dist/commonjs/components/toggle-button/toggle-button-group.js +30 -0
- package/dist/commonjs/components/toggle-button/toggle-button-group.js.map +1 -0
- package/dist/commonjs/components/toggle-button/toggle-button.d.ts +16 -0
- package/dist/commonjs/components/toggle-button/toggle-button.d.ts.map +1 -0
- package/dist/commonjs/components/toggle-button/toggle-button.js +24 -0
- package/dist/commonjs/components/toggle-button/toggle-button.js.map +1 -0
- package/dist/commonjs/components/toggle-button/toggle-icon-button.d.ts +14 -0
- package/dist/commonjs/components/toggle-button/toggle-icon-button.d.ts.map +1 -0
- package/dist/commonjs/components/toggle-button/toggle-icon-button.js +24 -0
- package/dist/commonjs/components/toggle-button/toggle-icon-button.js.map +1 -0
- package/dist/commonjs/components/tooltip/tooltip.d.ts +4 -2
- package/dist/commonjs/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/commonjs/components/tooltip/tooltip.js.map +1 -1
- package/dist/commonjs/components/types.d.ts +4 -0
- package/dist/commonjs/components/types.d.ts.map +1 -1
- package/dist/commonjs/components/types.js.map +1 -1
- package/dist/commonjs/components/typography/text.d.ts.map +1 -1
- package/dist/commonjs/date.d.ts +2 -0
- package/dist/commonjs/date.d.ts.map +1 -0
- package/dist/commonjs/date.js +27 -0
- package/dist/commonjs/date.js.map +1 -0
- package/dist/commonjs/i18n/index.d.ts +3 -0
- package/dist/commonjs/i18n/index.d.ts.map +1 -0
- package/dist/commonjs/i18n/index.js +19 -0
- package/dist/commonjs/i18n/index.js.map +1 -0
- package/dist/commonjs/i18n/localization-provider.d.ts +59 -0
- package/dist/commonjs/i18n/localization-provider.d.ts.map +1 -0
- package/dist/commonjs/i18n/localization-provider.js +82 -0
- package/dist/commonjs/i18n/localization-provider.js.map +1 -0
- package/dist/commonjs/i18n/messages/en-US.d.ts +4 -0
- package/dist/commonjs/i18n/messages/en-US.d.ts.map +1 -0
- package/dist/commonjs/i18n/messages/en-US.js +44 -0
- package/dist/commonjs/i18n/messages/en-US.js.map +1 -0
- package/dist/commonjs/i18n/messages/index.d.ts +3 -0
- package/dist/commonjs/i18n/messages/index.d.ts.map +1 -0
- package/dist/commonjs/i18n/messages/index.js +6 -0
- package/dist/commonjs/i18n/messages/index.js.map +1 -0
- package/dist/commonjs/i18n/messages/types.d.ts +82 -0
- package/dist/commonjs/i18n/messages/types.d.ts.map +1 -0
- package/dist/commonjs/i18n/messages/types.js +3 -0
- package/dist/commonjs/i18n/messages/types.js.map +1 -0
- package/dist/commonjs/icons/index.d.ts +1 -0
- package/dist/commonjs/icons/index.d.ts.map +1 -1
- package/dist/commonjs/icons/index.js +3 -1
- package/dist/commonjs/icons/index.js.map +1 -1
- package/dist/commonjs/icons/rating-star.d.ts +8 -0
- package/dist/commonjs/icons/rating-star.d.ts.map +1 -0
- package/dist/commonjs/icons/rating-star.js +24 -0
- package/dist/commonjs/icons/rating-star.js.map +1 -0
- package/dist/commonjs/index.d.ts +26 -5
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +24 -5
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/providers/ssr/ssr-provider.d.ts +1 -3
- package/dist/commonjs/providers/ssr/ssr-provider.d.ts.map +1 -1
- package/dist/commonjs/providers/ssr/ssr-provider.js +2 -2
- package/dist/commonjs/providers/ssr/ssr-provider.js.map +1 -1
- package/dist/commonjs/utils/is-production.d.ts +2 -0
- package/dist/commonjs/utils/is-production.d.ts.map +1 -0
- package/dist/commonjs/utils/is-production.js +7 -0
- package/dist/commonjs/utils/is-production.js.map +1 -0
- package/dist/commonjs/utils/style/types.d.ts +1 -1
- package/dist/commonjs/utils/style/types.d.ts.map +1 -1
- package/dist/commonjs/utils/style/types.js.map +1 -1
- package/dist/commonjs/utils/use-media-query.d.ts +2 -0
- package/dist/commonjs/utils/use-media-query.d.ts.map +1 -0
- package/dist/commonjs/utils/use-media-query.js +35 -0
- package/dist/commonjs/utils/use-media-query.js.map +1 -0
- package/dist/commonjs/utils/use-production-warning.d.ts +3 -0
- package/dist/commonjs/utils/use-production-warning.d.ts.map +1 -0
- package/dist/commonjs/utils/use-production-warning.js +7 -0
- package/dist/commonjs/utils/use-production-warning.js.map +1 -0
- package/dist/commonjs/with-style-props.d.ts.map +1 -1
- package/dist/esm/components/alert/alert.d.ts +25 -0
- package/dist/esm/components/alert/alert.d.ts.map +1 -0
- package/dist/esm/components/alert/alert.js +45 -0
- package/dist/esm/components/alert/alert.js.map +1 -0
- package/dist/esm/components/alert-dialog/alert-dialog.d.ts +51 -0
- package/dist/esm/components/alert-dialog/alert-dialog.d.ts.map +1 -0
- package/dist/esm/components/alert-dialog/alert-dialog.js +20 -0
- package/dist/esm/components/alert-dialog/alert-dialog.js.map +1 -0
- package/dist/esm/components/app-header/app-header.d.ts +20 -0
- package/dist/esm/components/app-header/app-header.d.ts.map +1 -0
- package/dist/esm/components/app-header/app-header.js +20 -0
- package/dist/esm/components/app-header/app-header.js.map +1 -0
- package/dist/esm/components/app-header/cimpress-logo.d.ts +2 -0
- package/dist/esm/components/app-header/cimpress-logo.d.ts.map +1 -0
- package/dist/esm/components/app-header/cimpress-logo.js +6 -0
- package/dist/esm/components/app-header/cimpress-logo.js.map +1 -0
- package/dist/esm/components/app-header/simple-auth-tool.d.ts +29 -0
- package/dist/esm/components/app-header/simple-auth-tool.d.ts.map +1 -0
- package/dist/esm/components/app-header/simple-auth-tool.js +28 -0
- package/dist/esm/components/app-header/simple-auth-tool.js.map +1 -0
- package/dist/esm/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
- package/dist/esm/components/breadcrumbs/breadcrumbs.js +18 -2
- package/dist/esm/components/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/esm/components/button/button.d.ts.map +1 -1
- package/dist/esm/components/button/button.js +3 -3
- package/dist/esm/components/button/button.js.map +1 -1
- package/dist/esm/components/button/icon-button.d.ts.map +1 -1
- package/dist/esm/components/button/icon-button.js +3 -3
- package/dist/esm/components/button/icon-button.js.map +1 -1
- package/dist/esm/components/button/icon-link-button.js +1 -1
- package/dist/esm/components/button/icon-link-button.js.map +1 -1
- package/dist/esm/components/button/link-button.js +1 -1
- package/dist/esm/components/button/link-button.js.map +1 -1
- package/dist/esm/components/button/types.js.map +1 -1
- package/dist/esm/components/callout/callout.d.ts +27 -0
- package/dist/esm/components/callout/callout.d.ts.map +1 -0
- package/dist/esm/components/callout/callout.js +40 -0
- package/dist/esm/components/callout/callout.js.map +1 -0
- package/dist/esm/components/card/card.d.ts +51 -11
- package/dist/esm/components/card/card.d.ts.map +1 -1
- package/dist/esm/components/card/card.js +17 -12
- package/dist/esm/components/card/card.js.map +1 -1
- package/dist/esm/components/checkbox/checkbox-group.d.ts +1 -1
- package/dist/esm/components/checkbox/checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/checkbox/checkbox-group.js +2 -2
- package/dist/esm/components/checkbox/checkbox-group.js.map +1 -1
- package/dist/esm/components/checkbox/checkbox.d.ts.map +1 -1
- package/dist/esm/components/checkbox/checkbox.js +3 -3
- package/dist/esm/components/checkbox/checkbox.js.map +1 -1
- package/dist/esm/components/combo-box/combo-box.d.ts +7 -1
- package/dist/esm/components/combo-box/combo-box.d.ts.map +1 -1
- package/dist/esm/components/combo-box/combo-box.js +17 -8
- package/dist/esm/components/combo-box/combo-box.js.map +1 -1
- package/dist/esm/components/container/container.d.ts +16 -0
- package/dist/esm/components/container/container.d.ts.map +1 -0
- package/dist/esm/components/container/container.js +7 -0
- package/dist/esm/components/container/container.js.map +1 -0
- package/dist/esm/components/date-picker/date-picker-calendar.d.ts +2 -0
- package/dist/esm/components/date-picker/date-picker-calendar.d.ts.map +1 -0
- package/dist/esm/components/date-picker/date-picker-calendar.js +23 -0
- package/dist/esm/components/date-picker/date-picker-calendar.js.map +1 -0
- package/dist/esm/components/date-picker/date-picker.d.ts +17 -0
- package/dist/esm/components/date-picker/date-picker.d.ts.map +1 -0
- package/dist/esm/components/date-picker/date-picker.js +48 -0
- package/dist/esm/components/date-picker/date-picker.js.map +1 -0
- package/dist/esm/components/date-picker/utils.d.ts +2 -0
- package/dist/esm/components/date-picker/utils.d.ts.map +1 -0
- package/dist/esm/components/date-picker/utils.js +26 -0
- package/dist/esm/components/date-picker/utils.js.map +1 -0
- package/dist/esm/components/date-picker/views/month/month-view.d.ts +2 -0
- package/dist/esm/components/date-picker/views/month/month-view.d.ts.map +1 -0
- package/dist/esm/components/date-picker/views/month/month-view.js +29 -0
- package/dist/esm/components/date-picker/views/month/month-view.js.map +1 -0
- package/dist/esm/components/date-picker/views/multi-year/multi-year-view.d.ts +2 -0
- package/dist/esm/components/date-picker/views/multi-year/multi-year-view.d.ts.map +1 -0
- package/dist/esm/components/date-picker/views/multi-year/multi-year-view.js +13 -0
- package/dist/esm/components/date-picker/views/multi-year/multi-year-view.js.map +1 -0
- package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts +2 -0
- package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts.map +1 -0
- package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.js +127 -0
- package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.js.map +1 -0
- package/dist/esm/components/date-picker/views/types.d.ts +2 -0
- package/dist/esm/components/date-picker/views/types.d.ts.map +1 -0
- package/dist/esm/components/date-picker/views/types.js +2 -0
- package/dist/esm/components/date-picker/views/types.js.map +1 -0
- package/dist/esm/components/date-picker/views/use-view-header.d.ts +2 -0
- package/dist/esm/components/date-picker/views/use-view-header.d.ts.map +1 -0
- package/dist/esm/components/date-picker/views/use-view-header.js +53 -0
- package/dist/esm/components/date-picker/views/use-view-header.js.map +1 -0
- package/dist/esm/components/date-picker/views/view-grid-cell.d.ts +2 -0
- package/dist/esm/components/date-picker/views/view-grid-cell.d.ts.map +1 -0
- package/dist/esm/components/date-picker/views/view-grid-cell.js +66 -0
- package/dist/esm/components/date-picker/views/view-grid-cell.js.map +1 -0
- package/dist/esm/components/date-picker/views/view-grid.d.ts +2 -0
- package/dist/esm/components/date-picker/views/view-grid.d.ts.map +1 -0
- package/dist/esm/components/date-picker/views/view-grid.js +69 -0
- package/dist/esm/components/date-picker/views/view-grid.js.map +1 -0
- package/dist/esm/components/date-picker/views/view-provider.d.ts +2 -0
- package/dist/esm/components/date-picker/views/view-provider.d.ts.map +1 -0
- package/dist/esm/components/date-picker/views/view-provider.js +17 -0
- package/dist/esm/components/date-picker/views/view-provider.js.map +1 -0
- package/dist/esm/components/date-picker/views/year/use-year-view-state.d.ts +2 -0
- package/dist/esm/components/date-picker/views/year/use-year-view-state.d.ts.map +1 -0
- package/dist/esm/components/date-picker/views/year/use-year-view-state.js +155 -0
- package/dist/esm/components/date-picker/views/year/use-year-view-state.js.map +1 -0
- package/dist/esm/components/date-picker/views/year/year-view.d.ts +2 -0
- package/dist/esm/components/date-picker/views/year/year-view.d.ts.map +1 -0
- package/dist/esm/components/date-picker/views/year/year-view.js +17 -0
- package/dist/esm/components/date-picker/views/year/year-view.js.map +1 -0
- package/dist/esm/components/dialog-root/dialog-root.d.ts +20 -0
- package/dist/esm/components/dialog-root/dialog-root.d.ts.map +1 -0
- package/dist/esm/components/dialog-root/dialog-root.js +12 -0
- package/dist/esm/components/dialog-root/dialog-root.js.map +1 -0
- package/dist/esm/components/disclosure/context.d.ts +3 -0
- package/dist/esm/components/disclosure/context.d.ts.map +1 -0
- package/dist/esm/components/disclosure/context.js +4 -0
- package/dist/esm/components/disclosure/context.js.map +1 -0
- package/dist/esm/components/disclosure/disclosure-group.d.ts +15 -4
- package/dist/esm/components/disclosure/disclosure-group.d.ts.map +1 -1
- package/dist/esm/components/disclosure/disclosure-group.js +10 -4
- package/dist/esm/components/disclosure/disclosure-group.js.map +1 -1
- package/dist/esm/components/disclosure/disclosure.d.ts +35 -4
- package/dist/esm/components/disclosure/disclosure.d.ts.map +1 -1
- package/dist/esm/components/disclosure/disclosure.js +16 -5
- package/dist/esm/components/disclosure/disclosure.js.map +1 -1
- package/dist/esm/components/divider/divider.d.ts +12 -0
- package/dist/esm/components/divider/divider.d.ts.map +1 -0
- package/dist/esm/components/divider/divider.js +13 -0
- package/dist/esm/components/divider/divider.js.map +1 -0
- package/dist/esm/components/drawer/drawer.d.ts +81 -0
- package/dist/esm/components/drawer/drawer.d.ts.map +1 -0
- package/dist/esm/components/drawer/drawer.js +50 -0
- package/dist/esm/components/drawer/drawer.js.map +1 -0
- package/dist/esm/components/file-picker/file-picker.d.ts +19 -0
- package/dist/esm/components/file-picker/file-picker.d.ts.map +1 -0
- package/dist/esm/components/file-picker/file-picker.js +62 -0
- package/dist/esm/components/file-picker/file-picker.js.map +1 -0
- package/dist/esm/components/internal/form-field/form-field.js +1 -1
- package/dist/esm/components/internal/form-field/form-field.js.map +1 -1
- package/dist/esm/components/internal/x-button/x-button.d.ts +2 -0
- package/dist/esm/components/internal/x-button/x-button.d.ts.map +1 -0
- package/dist/esm/components/internal/x-button/x-button.js +11 -0
- package/dist/esm/components/internal/x-button/x-button.js.map +1 -0
- package/dist/esm/components/link-tabs/context.d.ts +2 -0
- package/dist/esm/components/link-tabs/context.d.ts.map +1 -0
- package/dist/esm/components/link-tabs/context.js +4 -0
- package/dist/esm/components/link-tabs/context.js.map +1 -0
- package/dist/esm/components/link-tabs/link-tabs.d.ts +36 -0
- package/dist/esm/components/link-tabs/link-tabs.d.ts.map +1 -0
- package/dist/esm/components/link-tabs/link-tabs.js +47 -0
- package/dist/esm/components/link-tabs/link-tabs.js.map +1 -0
- package/dist/esm/components/menu/menu.d.ts +3 -6
- package/dist/esm/components/menu/menu.d.ts.map +1 -1
- package/dist/esm/components/menu/menu.js +5 -9
- package/dist/esm/components/menu/menu.js.map +1 -1
- package/dist/esm/components/modal-dialog/modal-dialog.d.ts +63 -0
- package/dist/esm/components/modal-dialog/modal-dialog.d.ts.map +1 -0
- package/dist/esm/components/modal-dialog/modal-dialog.js +38 -0
- package/dist/esm/components/modal-dialog/modal-dialog.js.map +1 -0
- package/dist/esm/components/number-field/number-field.d.ts +1 -1
- package/dist/esm/components/number-field/number-field.d.ts.map +1 -1
- package/dist/esm/components/number-field/number-field.js +5 -3
- package/dist/esm/components/number-field/number-field.js.map +1 -1
- package/dist/esm/components/pagination/base-pagination.d.ts.map +1 -1
- package/dist/esm/components/pagination/base-pagination.js +6 -7
- package/dist/esm/components/pagination/base-pagination.js.map +1 -1
- package/dist/esm/components/pagination/pagination.d.ts.map +1 -1
- package/dist/esm/components/pagination/pagination.js +7 -5
- package/dist/esm/components/pagination/pagination.js.map +1 -1
- package/dist/esm/components/popover/popover.d.ts +7 -2
- package/dist/esm/components/popover/popover.d.ts.map +1 -1
- package/dist/esm/components/popover/popover.js +2 -2
- package/dist/esm/components/popover/popover.js.map +1 -1
- package/dist/esm/components/radio/radio-group.d.ts +1 -1
- package/dist/esm/components/radio/radio-group.d.ts.map +1 -1
- package/dist/esm/components/radio/radio-group.js +2 -2
- package/dist/esm/components/radio/radio-group.js.map +1 -1
- package/dist/esm/components/radio/radio.d.ts.map +1 -1
- package/dist/esm/components/radio/radio.js +3 -3
- package/dist/esm/components/radio/radio.js.map +1 -1
- package/dist/esm/components/select/select.d.ts +7 -1
- package/dist/esm/components/select/select.d.ts.map +1 -1
- package/dist/esm/components/select/select.js +15 -7
- package/dist/esm/components/select/select.js.map +1 -1
- package/dist/esm/components/spacing/stack/stack.d.ts +1 -1
- package/dist/esm/components/spacing/stack/stack.js +1 -1
- package/dist/esm/components/spacing/stack/stack.js.map +1 -1
- package/dist/esm/components/spacing/types.d.ts +1 -1
- package/dist/esm/components/spacing/types.d.ts.map +1 -1
- package/dist/esm/components/spacing/types.js +2 -2
- package/dist/esm/components/spacing/types.js.map +1 -1
- package/dist/esm/components/spinner/spinner.d.ts.map +1 -1
- package/dist/esm/components/spinner/spinner.js +3 -3
- package/dist/esm/components/spinner/spinner.js.map +1 -1
- package/dist/esm/components/table/contexts/column-collection.d.ts.map +1 -1
- package/dist/esm/components/table/contexts/column-collection.js +2 -0
- package/dist/esm/components/table/contexts/column-collection.js.map +1 -1
- package/dist/esm/components/table/contexts/table-state.d.ts +1 -0
- package/dist/esm/components/table/contexts/table-state.d.ts.map +1 -1
- package/dist/esm/components/table/contexts/table-state.js +8 -3
- package/dist/esm/components/table/contexts/table-state.js.map +1 -1
- package/dist/esm/components/table/hooks/use-table-cell.js +2 -2
- package/dist/esm/components/table/hooks/use-table-cell.js.map +1 -1
- package/dist/esm/components/table/table-empty-state.js +1 -1
- package/dist/esm/components/table/table-empty-state.js.map +1 -1
- package/dist/esm/components/table/table-header-button.d.ts +2 -0
- package/dist/esm/components/table/table-header-button.d.ts.map +1 -0
- package/dist/esm/components/table/table-header-button.js +10 -0
- package/dist/esm/components/table/table-header-button.js.map +1 -0
- package/dist/esm/components/table/table-header-cell.d.ts.map +1 -1
- package/dist/esm/components/table/table-header-cell.js +9 -7
- package/dist/esm/components/table/table-header-cell.js.map +1 -1
- package/dist/esm/components/table/table.d.ts +1 -1
- package/dist/esm/components/table/table.d.ts.map +1 -1
- package/dist/esm/components/table/table.js +2 -2
- package/dist/esm/components/table/table.js.map +1 -1
- package/dist/esm/components/tabs/tabs.d.ts +53 -0
- package/dist/esm/components/tabs/tabs.d.ts.map +1 -0
- package/dist/esm/components/tabs/tabs.js +59 -0
- package/dist/esm/components/tabs/tabs.js.map +1 -0
- package/dist/esm/components/tag/tag-group.d.ts +1 -1
- package/dist/esm/components/tag/tag-group.d.ts.map +1 -1
- package/dist/esm/components/tag/tag-group.js.map +1 -1
- package/dist/esm/components/tag/tag.js +1 -1
- package/dist/esm/components/tag/tag.js.map +1 -1
- package/dist/esm/components/tag-field/tag-field-input.d.ts +2 -0
- package/dist/esm/components/tag-field/tag-field-input.d.ts.map +1 -0
- package/dist/esm/components/tag-field/tag-field-input.js +24 -0
- package/dist/esm/components/tag-field/tag-field-input.js.map +1 -0
- package/dist/esm/components/tag-field/tag-field-list-box.d.ts +2 -0
- package/dist/esm/components/tag-field/tag-field-list-box.d.ts.map +1 -0
- package/dist/esm/components/tag-field/tag-field-list-box.js +35 -0
- package/dist/esm/components/tag-field/tag-field-list-box.js.map +1 -0
- package/dist/esm/components/tag-field/tag-field-tags.d.ts +2 -0
- package/dist/esm/components/tag-field/tag-field-tags.d.ts.map +1 -0
- package/dist/esm/components/tag-field/tag-field-tags.js +26 -0
- package/dist/esm/components/tag-field/tag-field-tags.js.map +1 -0
- package/dist/esm/components/tag-field/tag-field.d.ts +51 -0
- package/dist/esm/components/tag-field/tag-field.d.ts.map +1 -0
- package/dist/esm/components/tag-field/tag-field.js +135 -0
- package/dist/esm/components/tag-field/tag-field.js.map +1 -0
- package/dist/esm/components/text-inputs/text-area.d.ts +1 -1
- package/dist/esm/components/text-inputs/text-area.d.ts.map +1 -1
- package/dist/esm/components/text-inputs/text-area.js +3 -3
- package/dist/esm/components/text-inputs/text-area.js.map +1 -1
- package/dist/esm/components/text-inputs/text-field.d.ts +1 -1
- package/dist/esm/components/text-inputs/text-field.d.ts.map +1 -1
- package/dist/esm/components/text-inputs/text-field.js +3 -3
- package/dist/esm/components/text-inputs/text-field.js.map +1 -1
- package/dist/esm/components/toast/toast-region.d.ts +5 -0
- package/dist/esm/components/toast/toast-region.d.ts.map +1 -0
- package/dist/esm/components/toast/toast-region.js +20 -0
- package/dist/esm/components/toast/toast-region.js.map +1 -0
- package/dist/esm/components/toast/toast.d.ts +2 -0
- package/dist/esm/components/toast/toast.d.ts.map +1 -0
- package/dist/esm/components/toast/toast.js +21 -0
- package/dist/esm/components/toast/toast.js.map +1 -0
- package/dist/esm/components/toast/types.d.ts +5 -0
- package/dist/esm/components/toast/types.d.ts.map +1 -0
- package/dist/esm/components/toast/types.js +2 -0
- package/dist/esm/components/toast/types.js.map +1 -0
- package/dist/esm/components/toggle/toggle.d.ts +14 -0
- package/dist/esm/components/toggle/toggle.d.ts.map +1 -0
- package/dist/esm/components/toggle/toggle.js +26 -0
- package/dist/esm/components/toggle/toggle.js.map +1 -0
- package/dist/esm/components/toggle-button/toggle-button-group.d.ts +15 -0
- package/dist/esm/components/toggle-button/toggle-button-group.d.ts.map +1 -0
- package/dist/esm/components/toggle-button/toggle-button-group.js +24 -0
- package/dist/esm/components/toggle-button/toggle-button-group.js.map +1 -0
- package/dist/esm/components/toggle-button/toggle-button.d.ts +16 -0
- package/dist/esm/components/toggle-button/toggle-button.d.ts.map +1 -0
- package/dist/esm/components/toggle-button/toggle-button.js +18 -0
- package/dist/esm/components/toggle-button/toggle-button.js.map +1 -0
- package/dist/esm/components/toggle-button/toggle-icon-button.d.ts +14 -0
- package/dist/esm/components/toggle-button/toggle-icon-button.d.ts.map +1 -0
- package/dist/esm/components/toggle-button/toggle-icon-button.js +18 -0
- package/dist/esm/components/toggle-button/toggle-icon-button.js.map +1 -0
- package/dist/esm/components/tooltip/tooltip.d.ts +4 -2
- package/dist/esm/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/esm/components/tooltip/tooltip.js.map +1 -1
- package/dist/esm/components/types.d.ts +4 -0
- package/dist/esm/components/types.d.ts.map +1 -1
- package/dist/esm/components/types.js.map +1 -1
- package/dist/esm/components/typography/text.d.ts.map +1 -1
- package/dist/esm/date.d.ts +2 -0
- package/dist/esm/date.d.ts.map +1 -0
- package/dist/esm/date.js +11 -0
- package/dist/esm/date.js.map +1 -0
- package/dist/esm/i18n/index.d.ts +3 -0
- package/dist/esm/i18n/index.d.ts.map +1 -0
- package/dist/esm/i18n/index.js +3 -0
- package/dist/esm/i18n/index.js.map +1 -0
- package/dist/esm/i18n/localization-provider.d.ts +59 -0
- package/dist/esm/i18n/localization-provider.d.ts.map +1 -0
- package/dist/esm/i18n/localization-provider.js +76 -0
- package/dist/esm/i18n/localization-provider.js.map +1 -0
- package/dist/esm/i18n/messages/en-US.d.ts +4 -0
- package/dist/esm/i18n/messages/en-US.d.ts.map +1 -0
- package/dist/esm/i18n/messages/en-US.js +41 -0
- package/dist/esm/i18n/messages/en-US.js.map +1 -0
- package/dist/esm/i18n/messages/index.d.ts +3 -0
- package/dist/esm/i18n/messages/index.d.ts.map +1 -0
- package/dist/esm/i18n/messages/index.js +2 -0
- package/dist/esm/i18n/messages/index.js.map +1 -0
- package/dist/esm/i18n/messages/types.d.ts +82 -0
- package/dist/esm/i18n/messages/types.d.ts.map +1 -0
- package/dist/esm/i18n/messages/types.js +2 -0
- package/dist/esm/i18n/messages/types.js.map +1 -0
- package/dist/esm/icons/index.d.ts +1 -0
- package/dist/esm/icons/index.d.ts.map +1 -1
- package/dist/esm/icons/index.js +1 -0
- package/dist/esm/icons/index.js.map +1 -1
- package/dist/esm/icons/rating-star.d.ts +8 -0
- package/dist/esm/icons/rating-star.d.ts.map +1 -0
- package/dist/esm/icons/rating-star.js +19 -0
- package/dist/esm/icons/rating-star.js.map +1 -0
- package/dist/esm/index.d.ts +26 -5
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +24 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/providers/ssr/ssr-provider.d.ts +1 -3
- package/dist/esm/providers/ssr/ssr-provider.d.ts.map +1 -1
- package/dist/esm/providers/ssr/ssr-provider.js +3 -3
- package/dist/esm/providers/ssr/ssr-provider.js.map +1 -1
- package/dist/esm/utils/is-production.d.ts +2 -0
- package/dist/esm/utils/is-production.d.ts.map +1 -0
- package/dist/esm/utils/is-production.js +4 -0
- package/dist/esm/utils/is-production.js.map +1 -0
- package/dist/esm/utils/style/types.d.ts +1 -1
- package/dist/esm/utils/style/types.d.ts.map +1 -1
- package/dist/esm/utils/style/types.js.map +1 -1
- package/dist/esm/utils/use-media-query.d.ts +2 -0
- package/dist/esm/utils/use-media-query.d.ts.map +1 -0
- package/dist/esm/utils/use-media-query.js +32 -0
- package/dist/esm/utils/use-media-query.js.map +1 -0
- package/dist/esm/utils/use-production-warning.d.ts +3 -0
- package/dist/esm/utils/use-production-warning.d.ts.map +1 -0
- package/dist/esm/utils/use-production-warning.js +4 -0
- package/dist/esm/utils/use-production-warning.js.map +1 -0
- package/dist/esm/with-style-props.d.ts.map +1 -1
- package/dist-styles/core.css +1 -1
- package/dist-styles/normalize.css +1 -1
- package/dist-styles/styles.css +1 -1
- package/package.json +64 -20
- package/dist/commonjs/components/card/card-context.d.ts +0 -4
- package/dist/commonjs/components/card/card-context.d.ts.map +0 -1
- package/dist/commonjs/components/card/card-context.js +0 -6
- package/dist/commonjs/components/card/card-context.js.map +0 -1
- package/dist/commonjs/components/modal/modal.d.ts +0 -64
- package/dist/commonjs/components/modal/modal.d.ts.map +0 -1
- package/dist/commonjs/components/modal/modal.js +0 -40
- package/dist/commonjs/components/modal/modal.js.map +0 -1
- package/dist/commonjs/components/nav-tabs/nav-tabs.d.ts +0 -23
- package/dist/commonjs/components/nav-tabs/nav-tabs.d.ts.map +0 -1
- package/dist/commonjs/components/nav-tabs/nav-tabs.js +0 -27
- package/dist/commonjs/components/nav-tabs/nav-tabs.js.map +0 -1
- package/dist/esm/components/card/card-context.d.ts +0 -4
- package/dist/esm/components/card/card-context.d.ts.map +0 -1
- package/dist/esm/components/card/card-context.js +0 -3
- package/dist/esm/components/card/card-context.js.map +0 -1
- package/dist/esm/components/modal/modal.d.ts +0 -64
- package/dist/esm/components/modal/modal.d.ts.map +0 -1
- package/dist/esm/components/modal/modal.js +0 -33
- package/dist/esm/components/modal/modal.js.map +0 -1
- package/dist/esm/components/nav-tabs/nav-tabs.d.ts +0 -23
- package/dist/esm/components/nav-tabs/nav-tabs.d.ts.map +0 -1
- package/dist/esm/components/nav-tabs/nav-tabs.js +0 -20
- package/dist/esm/components/nav-tabs/nav-tabs.js.map +0 -1
|
@@ -10,6 +10,7 @@ export function useTableCell(ref, rowKey, columnKey) {
|
|
|
10
10
|
const tableFocus = useTableFocus();
|
|
11
11
|
const { pendingRowSelectionState, setPendingRowSelectionState } = useTableState();
|
|
12
12
|
const { onSelectionToggle } = useTableRowState();
|
|
13
|
+
const { focusProps, isFocusVisible: isCellFocusVisible } = useFocusRing();
|
|
13
14
|
const isTabbable = rowKey === tableFocus.focusedRowKey && columnKey === tableFocus.focusedColumnKey;
|
|
14
15
|
// Handles focusing the cell.
|
|
15
16
|
// If there is a focusable child, it is focused, otherwise the cell itself is focused.
|
|
@@ -125,14 +126,13 @@ export function useTableCell(ref, rowKey, columnKey) {
|
|
|
125
126
|
e.preventDefault();
|
|
126
127
|
e.stopPropagation();
|
|
127
128
|
};
|
|
128
|
-
const { focusProps, isFocused } = useFocusRing();
|
|
129
129
|
const customProps = {
|
|
130
130
|
tabIndex: isTabbable ? 0 : -1,
|
|
131
131
|
onFocus,
|
|
132
132
|
onKeyDownCapture,
|
|
133
133
|
'data-cell-row-key': rowKey,
|
|
134
134
|
'data-cell-column-key': columnKey,
|
|
135
|
-
'data-
|
|
135
|
+
'data-focus-visible': isCellFocusVisible || undefined,
|
|
136
136
|
};
|
|
137
137
|
return {
|
|
138
138
|
cellProps: mergeProps(focusProps, customProps),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-cell.js","sourceRoot":"","sources":["../../../../../src/components/table/hooks/use-table-cell.ts"],"names":[],"mappings":"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","sourcesContent":["import { getFocusableTreeWalker, useFocusRing } from '@react-aria/focus';\nimport { isFocusVisible } from '@react-aria/interactions';\nimport { mergeProps, useEffectEvent, useLayoutEffect } from '@react-aria/utils';\nimport { type KeyboardEventHandler, type FocusEventHandler, type RefObject, useEffect } from 'react';\nimport type { FocusableElement, NativeElementProps } from '../../types.js';\nimport { useTableFocus } from '../contexts/focus.js';\nimport { useTableRowState } from '../contexts/row-state.js';\nimport { useTableState } from '../contexts/table-state.js';\nimport { focusTableChild } from '../utils/focus-table-child.js';\n\nexport interface UseTableCell {\n cellProps: NativeElementProps<HTMLTableCellElement>;\n}\n\nexport function useTableCell(\n ref: RefObject<HTMLTableCellElement | null>,\n rowKey: string,\n columnKey: string,\n): UseTableCell {\n const tableFocus = useTableFocus();\n const { pendingRowSelectionState, setPendingRowSelectionState } = useTableState();\n const { onSelectionToggle } = useTableRowState();\n\n const isTabbable = rowKey === tableFocus.focusedRowKey && columnKey === tableFocus.focusedColumnKey;\n\n // Handles focusing the cell.\n // If there is a focusable child, it is focused, otherwise the cell itself is focused.\n const focusCell = () => {\n if (!ref.current) {\n return;\n }\n\n // If there's a pending selection state, apply it to this cell's row.\n // If this cell is a header cell, `onSelectionToggle` will be undefined, but we still want to clear the pending selection state.\n if (pendingRowSelectionState !== undefined) {\n onSelectionToggle?.(pendingRowSelectionState);\n setPendingRowSelectionState(undefined);\n }\n\n // If focus is already on a focusable child within the cell, early return so we don't shift focus\n if (ref.current.contains(document.activeElement) && ref.current !== document.activeElement) {\n return;\n }\n\n const treeWalker = getFocusableTreeWalker(ref.current);\n const focusable = tableFocus.childFocusStrategy === 'last' ? treeWalker.lastChild() : treeWalker.firstChild();\n\n if (focusable) {\n // Cell has focusable children, focus the child\n focusTableChild(focusable as FocusableElement);\n } else if (!ref.current.contains(document.activeElement)) {\n // Cell has no focusable children and current focus is outside of the cell, focus the cell itself\n focusTableChild(ref.current);\n } else if (ref.current === document.activeElement && !isTabbable) {\n // Focus is on the current cell, but table focus is elsewhere, update table focus state\n tableFocus.setFocus(rowKey, columnKey);\n }\n };\n\n // Focus the cell DOM node when table focus moves to this cell\n useLayoutEffect(() => {\n if (isTabbable && !ref.current!.contains(document.activeElement)) {\n focusCell();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ref, isTabbable]);\n\n const resetIfFocused = useEffectEvent(() => {\n if (isTabbable) {\n tableFocus.setFocus('', '');\n }\n });\n\n // Reset table focus when the focused cell unmounts\n useEffect(\n () => () => {\n resetIfFocused();\n },\n [resetIfFocused],\n );\n\n const onFocus: FocusEventHandler = (e) => {\n // Ignore focus events bubbling through portals\n if (!e.currentTarget.contains(e.target)) {\n return;\n }\n\n // If cell is already focused, return early.\n // However, if focus happens as a result of a press, we need to re-run the child-focusing logic,\n // otherwise `useFocusRing` will force the cell itself to become focused.\n if (e.currentTarget.contains(e.relatedTarget) && isFocusVisible()) {\n return;\n }\n\n // There are 3 scenarios for why a cell might receive focus:\n // - focus happens through a press, we need to update table focus state to the current cell\n // - focus happens through arrow key navigation within the table,\n // we do nothing as table focus state would have already been updated earlier\n // - focus happens through tabbing into the table from outside,\n // we do nothing because we want to restore focus to the previously focused cell,\n // and overriding table focus state would make that impossible\n if (!isFocusVisible()) {\n tableFocus.setFocus(rowKey, columnKey);\n }\n\n if (e.target === ref.current) {\n // If the cell itself receives focus, wait a frame so that focus finishes propagating\n // up to the tree, and move focus to a focusable child if possible.\n requestAnimationFrame(() => {\n if (document.activeElement === ref.current) {\n focusCell();\n }\n });\n }\n };\n\n // Handles keyboard navigation between focusable children within the cell.\n const onKeyDownCapture: KeyboardEventHandler = (e) => {\n // Ignore keyboard events bubbling through portals\n if (!e.currentTarget.contains(e.target as Element) || !ref.current || !document.activeElement) {\n return;\n }\n\n const walker = getFocusableTreeWalker(ref.current);\n walker.currentNode = document.activeElement;\n\n if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {\n // Move to the previous/next focusable element within the cell\n const childElementToFocus = e.key === 'ArrowLeft' ? walker.previousNode() : walker.nextNode();\n\n if (childElementToFocus && childElementToFocus !== ref.current) {\n focusTableChild(childElementToFocus as FocusableElement);\n } else {\n // If there is no previous/next focusable element within the current cell, focus should move to the previous/next cell.\n // This is handled by `useTable`, so we need to let the event bubble up to it.\n // But we also don't want this event to reach children of the current cell, as arrow keys should be used exclusively for table navigation.\n // Solution: re-dispatch the event from a parent element of the current cell.\n ref.current.parentElement!.dispatchEvent(new KeyboardEvent(e.nativeEvent.type, e.nativeEvent));\n }\n } else if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n // Move to the previous/next cell in the current column.\n // This is handled by `useTable`, so we need to let the event bubble up to it.\n // But we also don't want this event to reach children of the current cell, as arrow keys should be used exclusively for table navigation.\n // Solution: re-dispatch the event from a parent element of the current cell.\n ref.current.parentElement?.dispatchEvent(new KeyboardEvent(e.nativeEvent.type, e.nativeEvent));\n } else {\n // if we didn't handle anything, return early so we don't stop propagation and preventDefault\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n };\n\n const { focusProps, isFocused } = useFocusRing();\n\n const customProps: NativeElementProps<HTMLTableCellElement> = {\n tabIndex: isTabbable ? 0 : -1,\n onFocus,\n onKeyDownCapture,\n 'data-cell-row-key': rowKey,\n 'data-cell-column-key': columnKey,\n 'data-focused': isFocused || undefined,\n };\n\n return {\n cellProps: mergeProps(focusProps, customProps),\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"use-table-cell.js","sourceRoot":"","sources":["../../../../../src/components/table/hooks/use-table-cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAqE,SAAS,EAAE,MAAM,OAAO,CAAC;AAErG,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAMhE,MAAM,UAAU,YAAY,CAC1B,GAA2C,EAC3C,MAAc,EACd,SAAiB;IAEjB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,GAAG,aAAa,EAAE,CAAC;IAClF,MAAM,EAAE,iBAAiB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEjD,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,YAAY,EAAE,CAAC;IAE1E,MAAM,UAAU,GAAG,MAAM,KAAK,UAAU,CAAC,aAAa,IAAI,SAAS,KAAK,UAAU,CAAC,gBAAgB,CAAC;IAEpG,6BAA6B;IAC7B,sFAAsF;IACtF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,qEAAqE;QACrE,gIAAgI;QAChI,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;YAC3C,iBAAiB,EAAE,CAAC,wBAAwB,CAAC,CAAC;YAC9C,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QAED,iGAAiG;QACjG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC3F,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,UAAU,CAAC,kBAAkB,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAE9G,IAAI,SAAS,EAAE,CAAC;YACd,+CAA+C;YAC/C,eAAe,CAAC,SAA6B,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACzD,iGAAiG;YACjG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;YACjE,uFAAuF;YACvF,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC;IAEF,8DAA8D;IAC9D,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,UAAU,IAAI,CAAC,GAAG,CAAC,OAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACjE,SAAS,EAAE,CAAC;QACd,CAAC;QACD,uDAAuD;IACzD,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;IAEtB,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,EAAE;QACzC,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,mDAAmD;IACnD,SAAS,CACP,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,cAAc,EAAE,CAAC;IACnB,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,OAAO,GAAsB,CAAC,CAAC,EAAE,EAAE;QACvC,+CAA+C;QAC/C,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,4CAA4C;QAC5C,gGAAgG;QAChG,yEAAyE;QACzE,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,cAAc,EAAE,EAAE,CAAC;YAClE,OAAO;QACT,CAAC;QAED,4DAA4D;QAC5D,2FAA2F;QAC3F,iEAAiE;QACjE,+EAA+E;QAC/E,+DAA+D;QAC/D,mFAAmF;QACnF,gEAAgE;QAChE,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YACtB,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;YAC7B,qFAAqF;YACrF,mEAAmE;YACnE,qBAAqB,CAAC,GAAG,EAAE;gBACzB,IAAI,QAAQ,CAAC,aAAa,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;oBAC3C,SAAS,EAAE,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,0EAA0E;IAC1E,MAAM,gBAAgB,GAAyB,CAAC,CAAC,EAAE,EAAE;QACnD,kDAAkD;QAClD,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC9F,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC;QAE5C,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,EAAE,CAAC;YACpD,8DAA8D;YAC9D,MAAM,mBAAmB,GAAG,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAE9F,IAAI,mBAAmB,IAAI,mBAAmB,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/D,eAAe,CAAC,mBAAuC,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,uHAAuH;gBACvH,8EAA8E;gBAC9E,0IAA0I;gBAC1I,6EAA6E;gBAC7E,GAAG,CAAC,OAAO,CAAC,aAAc,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YACxD,wDAAwD;YACxD,8EAA8E;YAC9E,0IAA0I;YAC1I,6EAA6E;YAC7E,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACjG,CAAC;aAAM,CAAC;YACN,6FAA6F;YAC7F,OAAO;QACT,CAAC;QAED,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,WAAW,GAA6C;QAC5D,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO;QACP,gBAAgB;QAChB,mBAAmB,EAAE,MAAM;QAC3B,sBAAsB,EAAE,SAAS;QACjC,oBAAoB,EAAE,kBAAkB,IAAI,SAAS;KACtD,CAAC;IAEF,OAAO;QACL,SAAS,EAAE,UAAU,CAAC,UAAU,EAAE,WAAW,CAAC;KAC/C,CAAC;AACJ,CAAC","sourcesContent":["import { getFocusableTreeWalker, useFocusRing } from '@react-aria/focus';\nimport { isFocusVisible } from '@react-aria/interactions';\nimport { mergeProps, useEffectEvent, useLayoutEffect } from '@react-aria/utils';\nimport { type KeyboardEventHandler, type FocusEventHandler, type RefObject, useEffect } from 'react';\nimport type { FocusableElement, NativeElementProps } from '../../types.js';\nimport { useTableFocus } from '../contexts/focus.js';\nimport { useTableRowState } from '../contexts/row-state.js';\nimport { useTableState } from '../contexts/table-state.js';\nimport { focusTableChild } from '../utils/focus-table-child.js';\n\nexport interface UseTableCell {\n cellProps: NativeElementProps<HTMLTableCellElement>;\n}\n\nexport function useTableCell(\n ref: RefObject<HTMLTableCellElement | null>,\n rowKey: string,\n columnKey: string,\n): UseTableCell {\n const tableFocus = useTableFocus();\n const { pendingRowSelectionState, setPendingRowSelectionState } = useTableState();\n const { onSelectionToggle } = useTableRowState();\n\n const { focusProps, isFocusVisible: isCellFocusVisible } = useFocusRing();\n\n const isTabbable = rowKey === tableFocus.focusedRowKey && columnKey === tableFocus.focusedColumnKey;\n\n // Handles focusing the cell.\n // If there is a focusable child, it is focused, otherwise the cell itself is focused.\n const focusCell = () => {\n if (!ref.current) {\n return;\n }\n\n // If there's a pending selection state, apply it to this cell's row.\n // If this cell is a header cell, `onSelectionToggle` will be undefined, but we still want to clear the pending selection state.\n if (pendingRowSelectionState !== undefined) {\n onSelectionToggle?.(pendingRowSelectionState);\n setPendingRowSelectionState(undefined);\n }\n\n // If focus is already on a focusable child within the cell, early return so we don't shift focus\n if (ref.current.contains(document.activeElement) && ref.current !== document.activeElement) {\n return;\n }\n\n const treeWalker = getFocusableTreeWalker(ref.current);\n const focusable = tableFocus.childFocusStrategy === 'last' ? treeWalker.lastChild() : treeWalker.firstChild();\n\n if (focusable) {\n // Cell has focusable children, focus the child\n focusTableChild(focusable as FocusableElement);\n } else if (!ref.current.contains(document.activeElement)) {\n // Cell has no focusable children and current focus is outside of the cell, focus the cell itself\n focusTableChild(ref.current);\n } else if (ref.current === document.activeElement && !isTabbable) {\n // Focus is on the current cell, but table focus is elsewhere, update table focus state\n tableFocus.setFocus(rowKey, columnKey);\n }\n };\n\n // Focus the cell DOM node when table focus moves to this cell\n useLayoutEffect(() => {\n if (isTabbable && !ref.current!.contains(document.activeElement)) {\n focusCell();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ref, isTabbable]);\n\n const resetIfFocused = useEffectEvent(() => {\n if (isTabbable) {\n tableFocus.setFocus('', '');\n }\n });\n\n // Reset table focus when the focused cell unmounts\n useEffect(\n () => () => {\n resetIfFocused();\n },\n [resetIfFocused],\n );\n\n const onFocus: FocusEventHandler = (e) => {\n // Ignore focus events bubbling through portals\n if (!e.currentTarget.contains(e.target)) {\n return;\n }\n\n // If cell is already focused, return early.\n // However, if focus happens as a result of a press, we need to re-run the child-focusing logic,\n // otherwise `useFocusRing` will force the cell itself to become focused.\n if (e.currentTarget.contains(e.relatedTarget) && isFocusVisible()) {\n return;\n }\n\n // There are 3 scenarios for why a cell might receive focus:\n // - focus happens through a press, we need to update table focus state to the current cell\n // - focus happens through arrow key navigation within the table,\n // we do nothing as table focus state would have already been updated earlier\n // - focus happens through tabbing into the table from outside,\n // we do nothing because we want to restore focus to the previously focused cell,\n // and overriding table focus state would make that impossible\n if (!isFocusVisible()) {\n tableFocus.setFocus(rowKey, columnKey);\n }\n\n if (e.target === ref.current) {\n // If the cell itself receives focus, wait a frame so that focus finishes propagating\n // up to the tree, and move focus to a focusable child if possible.\n requestAnimationFrame(() => {\n if (document.activeElement === ref.current) {\n focusCell();\n }\n });\n }\n };\n\n // Handles keyboard navigation between focusable children within the cell.\n const onKeyDownCapture: KeyboardEventHandler = (e) => {\n // Ignore keyboard events bubbling through portals\n if (!e.currentTarget.contains(e.target as Element) || !ref.current || !document.activeElement) {\n return;\n }\n\n const walker = getFocusableTreeWalker(ref.current);\n walker.currentNode = document.activeElement;\n\n if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {\n // Move to the previous/next focusable element within the cell\n const childElementToFocus = e.key === 'ArrowLeft' ? walker.previousNode() : walker.nextNode();\n\n if (childElementToFocus && childElementToFocus !== ref.current) {\n focusTableChild(childElementToFocus as FocusableElement);\n } else {\n // If there is no previous/next focusable element within the current cell, focus should move to the previous/next cell.\n // This is handled by `useTable`, so we need to let the event bubble up to it.\n // But we also don't want this event to reach children of the current cell, as arrow keys should be used exclusively for table navigation.\n // Solution: re-dispatch the event from a parent element of the current cell.\n ref.current.parentElement!.dispatchEvent(new KeyboardEvent(e.nativeEvent.type, e.nativeEvent));\n }\n } else if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n // Move to the previous/next cell in the current column.\n // This is handled by `useTable`, so we need to let the event bubble up to it.\n // But we also don't want this event to reach children of the current cell, as arrow keys should be used exclusively for table navigation.\n // Solution: re-dispatch the event from a parent element of the current cell.\n ref.current.parentElement?.dispatchEvent(new KeyboardEvent(e.nativeEvent.type, e.nativeEvent));\n } else {\n // if we didn't handle anything, return early so we don't stop propagation and preventDefault\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n };\n\n const customProps: NativeElementProps<HTMLTableCellElement> = {\n tabIndex: isTabbable ? 0 : -1,\n onFocus,\n onKeyDownCapture,\n 'data-cell-row-key': rowKey,\n 'data-cell-column-key': columnKey,\n 'data-focus-visible': isCellFocusVisible || undefined,\n };\n\n return {\n cellProps: mergeProps(focusProps, customProps),\n };\n}\n"]}
|
|
@@ -24,7 +24,7 @@ function TableEmptyStateInner({ props: { UNSAFE_className, UNSAFE_style, title,
|
|
|
24
24
|
// `useTableCell` requires `TableRowStateProvider`
|
|
25
25
|
const { cellProps } = useTableCell(cellRef, rowKey, columnKey);
|
|
26
26
|
const columnData = useColumnData(columnKey);
|
|
27
|
-
return (_jsx("tr", { children: _jsx("td", { ...mergeProps(props, cellProps), ref: cellRef, className: clsx('cim-table-empty-state', UNSAFE_className), style: UNSAFE_style, "aria-colindex": columnData?.number, colSpan: colSpan, "data-alignment": "center", children: _jsxs("div", { className: "cim-table-empty-state-content", children: [_jsx(Text, { as: "span", variant: "title-6", tone: "
|
|
27
|
+
return (_jsx("tr", { children: _jsx("td", { ...mergeProps(props, cellProps), ref: cellRef, className: clsx('cim-table-empty-state', UNSAFE_className), style: UNSAFE_style, "aria-colindex": columnData?.number, colSpan: colSpan, "data-alignment": "center", children: _jsxs("div", { className: "cim-table-empty-state-content", children: [_jsx(Text, { as: "span", variant: "title-6", tone: "base", children: title }), _jsx(Text, { as: "span", variant: "medium", tone: "base", children: description }), action && _jsx("div", { className: "cim-table-empty-state-action", children: action })] }) }) }, "__cim__internal__empty-state__"));
|
|
28
28
|
}
|
|
29
29
|
export { _TableEmptyState as TableEmptyState };
|
|
30
30
|
//# sourceMappingURL=table-empty-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-empty-state.js","sourceRoot":"","sources":["../../../../src/components/table/table-empty-state.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAWzD,SAAS,eAAe,CAAC,KAA2B,EAAE,GAAuC;IAC3F,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;IAEvB,OAAO,CACL,KAAC,qBAAqB,IAAC,MAAM,EAAE,MAAM,YACnC,KAAC,oBAAoB,IAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,GAAI,GACnC,CACzB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,UAAU,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AAOxE,SAAS,oBAAoB,CAAC,EAC5B,KAAK,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAC/E,YAAY,GACc;IAC1B,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACtC,kDAAkD;IAClD,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAE5C,OAAO,CACL,uBACE,gBACM,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,EAChC,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,EAC1D,KAAK,EAAE,YAAY,mBACJ,UAAU,EAAE,MAAM,EACjC,OAAO,EAAE,OAAO,oBACD,QAAQ,YAEvB,eAAK,SAAS,EAAC,+BAA+B,aAC5C,KAAC,IAAI,IAAC,EAAE,EAAC,MAAM,EAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,
|
|
1
|
+
{"version":3,"file":"table-empty-state.js","sourceRoot":"","sources":["../../../../src/components/table/table-empty-state.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAWzD,SAAS,eAAe,CAAC,KAA2B,EAAE,GAAuC;IAC3F,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;IAEvB,OAAO,CACL,KAAC,qBAAqB,IAAC,MAAM,EAAE,MAAM,YACnC,KAAC,oBAAoB,IAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,GAAI,GACnC,CACzB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,UAAU,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AAOxE,SAAS,oBAAoB,CAAC,EAC5B,KAAK,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAC/E,YAAY,GACc;IAC1B,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACtC,kDAAkD;IAClD,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAE5C,OAAO,CACL,uBACE,gBACM,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,EAChC,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,EAC1D,KAAK,EAAE,YAAY,mBACJ,UAAU,EAAE,MAAM,EACjC,OAAO,EAAE,OAAO,oBACD,QAAQ,YAEvB,eAAK,SAAS,EAAC,+BAA+B,aAC5C,KAAC,IAAI,IAAC,EAAE,EAAC,MAAM,EAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,YAC1C,KAAK,GACD,EAEP,KAAC,IAAI,IAAC,EAAE,EAAC,MAAM,EAAC,OAAO,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,YACzC,WAAW,GACP,EAEN,MAAM,IAAI,cAAK,SAAS,EAAC,8BAA8B,YAAE,MAAM,GAAO,IACnE,GACH,IArBC,gCAAgC,CAsBnC,CACN,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,gBAAgB,IAAI,eAAe,EAAE,CAAC","sourcesContent":["'use client';\n\nimport { mergeProps, useId, useObjectRef } from '@react-aria/utils';\nimport clsx from 'clsx';\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { forwardRef } from '../../forward-ref.js';\nimport type { CommonProps } from '../types.js';\nimport { Text } from '../typography/text.js';\nimport { useColumnData, useEmptyStateCell } from './contexts/column-collection.js';\nimport { TableRowStateProvider, useTableRowState } from './contexts/row-state.js';\nimport { useTableCell } from './hooks/use-table-cell.js';\n\nexport interface TableEmptyStateProps extends CommonProps {\n /** The title of the empty state. */\n title: string;\n /** The description of the empty state. */\n description: string;\n /** An optional action button displayed within the empty state. */\n action?: ReactNode;\n}\n\nfunction TableEmptyState(props: TableEmptyStateProps, ref: ForwardedRef<HTMLTableCellElement>) {\n const rowKey = useId();\n\n return (\n <TableRowStateProvider rowKey={rowKey}>\n <TableEmptyStateInner props={props} forwardedRef={ref} />\n </TableRowStateProvider>\n );\n}\n\n/**\n * Renders an empty state within a table that has no data.\n *\n * See [table usage guidelines](https://ui.cimpress.io/components/table/) and [table building guide](https://ui.cimpress.io/dev-guides/tables/).\n */\nconst _TableEmptyState = forwardRef(TableEmptyState, 'TableEmptyState');\n\ninterface TableEmptyStateInnerProps {\n props: TableEmptyStateProps;\n forwardedRef: ForwardedRef<HTMLTableCellElement>;\n}\n\nfunction TableEmptyStateInner({\n props: { UNSAFE_className, UNSAFE_style, title, description, action, ...props },\n forwardedRef,\n}: TableEmptyStateInnerProps) {\n const cellRef = useObjectRef(forwardedRef);\n const { columnKey, colSpan } = useEmptyStateCell(cellRef);\n const { rowKey } = useTableRowState();\n // `useTableCell` requires `TableRowStateProvider`\n const { cellProps } = useTableCell(cellRef, rowKey, columnKey);\n const columnData = useColumnData(columnKey);\n\n return (\n <tr key=\"__cim__internal__empty-state__\">\n <td\n {...mergeProps(props, cellProps)}\n ref={cellRef}\n className={clsx('cim-table-empty-state', UNSAFE_className)}\n style={UNSAFE_style}\n aria-colindex={columnData?.number}\n colSpan={colSpan}\n data-alignment=\"center\"\n >\n <div className=\"cim-table-empty-state-content\">\n <Text as=\"span\" variant=\"title-6\" tone=\"base\">\n {title}\n </Text>\n\n <Text as=\"span\" variant=\"medium\" tone=\"base\">\n {description}\n </Text>\n\n {action && <div className=\"cim-table-empty-state-action\">{action}</div>}\n </div>\n </td>\n </tr>\n );\n}\n\nexport { _TableEmptyState as TableEmptyState };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-header-button.d.ts","sourceRoot":"","sources":["../../../../src/components/table/table-header-button.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import { Button as RACButton } from 'react-aria-components';
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export function TableHeaderButton({ UNSAFE_className, UNSAFE_style, icon, ...props }) {
|
|
8
|
+
return (_jsx(RACButton, { ...props, className: clsx('cim-table-header-button', UNSAFE_className), style: UNSAFE_style, children: icon }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=table-header-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-header-button.js","sourceRoot":"","sources":["../../../../src/components/table/table-header-button.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAsC,MAAM,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAQhG;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,KAAK,EAA0B;IAC1G,OAAO,CACL,KAAC,SAAS,OAAK,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,YACpG,IAAI,GACK,CACb,CAAC;AACJ,CAAC","sourcesContent":["import clsx from 'clsx';\nimport type { ReactNode } from 'react';\nimport { type ButtonProps as RACButtonProps, Button as RACButton } from 'react-aria-components';\nimport type { CommonProps, LabellableProps } from '../types.js';\n\ninterface TableHeaderButtonProps extends CommonProps, Omit<LabellableProps, 'label'>, Pick<RACButtonProps, 'onPress'> {\n /** The icon displayed within the button. */\n icon: ReactNode;\n}\n\n/**\n * @internal\n */\nexport function TableHeaderButton({ UNSAFE_className, UNSAFE_style, icon, ...props }: TableHeaderButtonProps) {\n return (\n <RACButton {...props} className={clsx('cim-table-header-button', UNSAFE_className)} style={UNSAFE_style}>\n {icon}\n </RACButton>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-header-cell.d.ts","sourceRoot":"","sources":["../../../../src/components/table/table-header-cell.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"table-header-cell.d.ts","sourceRoot":"","sources":["../../../../src/components/table/table-header-cell.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,sBAAsB,EAAyB,MAAM,iCAAiC,CAAC;AAMrG,mDAAmD;AACnD,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,YAAY,CAAC;AAE9D,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,uCAAuC;IACvC,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD;;OAEG;IACH,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,gDAAgD;IAChD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAgFD;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,2HAAiD,CAAC;AAExE,OAAO,EAAE,gBAAgB,IAAI,eAAe,EAAE,CAAC"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx,
|
|
3
|
-
import { mergeProps, useObjectRef } from '@react-aria/utils';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { mergeProps, useId, useObjectRef } from '@react-aria/utils';
|
|
4
4
|
import { useRef } from 'react';
|
|
5
|
-
import { Button as RACButton } from 'react-aria-components';
|
|
6
5
|
import { forwardRef } from '../../forward-ref.js';
|
|
7
6
|
import { IconSortAscending, IconSortDescending, IconSortUnsorted } from '../../icons/index.js';
|
|
8
7
|
import { useServerLayoutEffect } from '../../utils/use-server-layout-effect.js';
|
|
9
8
|
import { useColumnRegistration } from './contexts/column-collection.js';
|
|
10
9
|
import { useTableRowState } from './contexts/row-state.js';
|
|
10
|
+
import { useTableState } from './contexts/table-state.js';
|
|
11
11
|
import { useTableCell } from './hooks/use-table-cell.js';
|
|
12
|
+
import { TableHeaderButton } from './table-header-button.js';
|
|
12
13
|
const SORT_ORDER_ICONS = {
|
|
13
|
-
ascending: _jsx(IconSortAscending, {
|
|
14
|
-
descending: _jsx(IconSortDescending, {
|
|
14
|
+
ascending: _jsx(IconSortAscending, {}),
|
|
15
|
+
descending: _jsx(IconSortDescending, {}),
|
|
15
16
|
};
|
|
16
17
|
function TableHeaderCell({ children, UNSAFE_className, UNSAFE_style, columnKey, columnNumber, columnWidth, columnContentAlignment = 'start', sortOrder, onSortOrderToggle, iconStart, iconEnd, ...props }, ref) {
|
|
17
18
|
const cellRef = useObjectRef(ref);
|
|
@@ -19,6 +20,8 @@ function TableHeaderCell({ children, UNSAFE_className, UNSAFE_style, columnKey,
|
|
|
19
20
|
const { cellProps } = useTableCell(cellRef, rowKey, columnKey);
|
|
20
21
|
const registerColumn = useColumnRegistration();
|
|
21
22
|
const unregisterRef = useRef(null);
|
|
23
|
+
const { sortLabelId } = useTableState();
|
|
24
|
+
const contentId = useId();
|
|
22
25
|
const isSortable = typeof onSortOrderToggle === 'function';
|
|
23
26
|
// Columns need to be registered during SSR to prevent layout shifting on hydration
|
|
24
27
|
useServerLayoutEffect(() => {
|
|
@@ -32,8 +35,7 @@ function TableHeaderCell({ children, UNSAFE_className, UNSAFE_style, columnKey,
|
|
|
32
35
|
unregisterRef.current = null;
|
|
33
36
|
};
|
|
34
37
|
}, [registerColumn, columnKey, columnNumber, columnWidth, columnContentAlignment]);
|
|
35
|
-
|
|
36
|
-
return (_jsx("th", { ...mergeProps(props, cellProps), ref: cellRef, className: UNSAFE_className, style: columnWidth ? { ...UNSAFE_style, width: columnWidth } : UNSAFE_style, scope: "col", "aria-colindex": columnNumber, "aria-sort": sortOrder, "data-alignment": columnContentAlignment, children: isSortable ? (_jsx(RACButton, { className: "cim-table-sort-button cim-table-header-cell-container", onPress: () => onSortOrderToggle(), children: content })) : (_jsx("div", { className: "cim-table-header-cell-container", children: content })) }));
|
|
38
|
+
return (_jsx("th", { ...mergeProps(props, cellProps), ref: cellRef, className: UNSAFE_className, style: columnWidth ? { ...UNSAFE_style, width: columnWidth } : UNSAFE_style, scope: "col", "aria-colindex": columnNumber, "aria-sort": sortOrder, "data-alignment": columnContentAlignment, children: _jsxs("div", { className: "cim-table-header-cell-container", children: [iconStart, _jsx("span", { id: contentId, children: children }), iconEnd, isSortable ? (_jsx(TableHeaderButton, { UNSAFE_className: "cim-table-header-sort-button", "aria-labelledby": `${sortLabelId} ${contentId}`, icon: sortOrder ? SORT_ORDER_ICONS[sortOrder] : _jsx(IconSortUnsorted, {}), onPress: () => onSortOrderToggle(), "data-highlighted": !!sortOrder || undefined })) : sortOrder ? (SORT_ORDER_ICONS[sortOrder]) : undefined] }) }));
|
|
37
39
|
}
|
|
38
40
|
/**
|
|
39
41
|
* Renders a header cell within a table header row.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-header-cell.js","sourceRoot":"","sources":["../../../../src/components/table/table-header-cell.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"table-header-cell.js","sourceRoot":"","sources":["../../../../src/components/table/table-header-cell.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAqC,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,OAAO,EAA+B,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAgD7D,MAAM,gBAAgB,GAA4C;IAChE,SAAS,EAAE,KAAC,iBAAiB,KAAG;IAChC,UAAU,EAAE,KAAC,kBAAkB,KAAG;CACnC,CAAC;AAEF,SAAS,eAAe,CACtB,EACE,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,sBAAsB,GAAG,OAAO,EAChC,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACa,EACvB,GAAuC;IAEvC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACtC,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,qBAAqB,EAAE,CAAC;IAC/C,MAAM,aAAa,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAC;IAExD,MAAM,EAAE,WAAW,EAAE,GAAG,aAAa,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC;IAE1B,MAAM,UAAU,GAAG,OAAO,iBAAiB,KAAK,UAAU,CAAC;IAE3D,mFAAmF;IACnF,qBAAqB,CAAC,GAAG,EAAE;QACzB,aAAa,CAAC,OAAO,GAAG,cAAc,CAAC,SAAS,EAAE;YAChD,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,WAAW;YAClB,gBAAgB,EAAE,sBAAsB;SACzC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1B,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAEnF,OAAO,CACL,gBACM,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,EAChC,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY,EAC3E,KAAK,EAAC,KAAK,mBACI,YAAY,eAChB,SAAS,oBACJ,sBAAsB,YAEtC,eAAK,SAAS,EAAC,iCAAiC,aAC7C,SAAS,EACV,eAAM,EAAE,EAAE,SAAS,YAAG,QAAQ,GAAQ,EACrC,OAAO,EACP,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,iBAAiB,IAChB,gBAAgB,EAAC,8BAA8B,qBAC9B,GAAG,WAAW,IAAI,SAAS,EAAE,EAC9C,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAC,gBAAgB,KAAG,EACpE,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE,sBAChB,CAAC,CAAC,SAAS,IAAI,SAAS,GAC1C,CACH,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACd,gBAAgB,CAAC,SAAS,CAAC,CAC5B,CAAC,CAAC,CAAC,SAAS,IACT,GACH,CACN,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,UAAU,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AAExE,OAAO,EAAE,gBAAgB,IAAI,eAAe,EAAE,CAAC","sourcesContent":["'use client';\n\nimport { mergeProps, useId, useObjectRef } from '@react-aria/utils';\nimport { useRef, type ForwardedRef, type ReactNode } from 'react';\nimport { forwardRef } from '../../forward-ref.js';\nimport { IconSortAscending, IconSortDescending, IconSortUnsorted } from '../../icons/index.js';\nimport { useServerLayoutEffect } from '../../utils/use-server-layout-effect.js';\nimport type { CommonProps } from '../types.js';\nimport { type ColumnContentAlignment, useColumnRegistration } from './contexts/column-collection.js';\nimport { useTableRowState } from './contexts/row-state.js';\nimport { useTableState } from './contexts/table-state.js';\nimport { useTableCell } from './hooks/use-table-cell.js';\nimport { TableHeaderButton } from './table-header-button.js';\n\n/** Represents the sort order of a table column. */\nexport type TableColumnSortOrder = 'ascending' | 'descending';\n\nexport interface TableHeaderCellProps extends CommonProps {\n /** The contents of the header cell. */\n children: ReactNode;\n /**\n * A unique identifier for the column that this cell belongs to.\n * Cells that belong to the same column must have the same `columnKey`.\n */\n columnKey: string;\n /**\n * The position of the column that this cell belongs to within the full dataset.\n *\n * Provide this value if your table presents a subset of columns, such as when the user toggles column visibility.\n *\n * This number must be:\n * - greater than or equal to `1`\n * - greater than the `columnNumber` of any previous cells in the current row\n * - less than or equal to the `totalColumnCount` of the parent `Table`\n *\n * Use together with `totalColumnCount` on the `Table` component.\n */\n columnNumber?: number;\n /** The width of the column. Can be any valid value of the `width` CSS property. */\n columnWidth?: string | number;\n /**\n * Horizontal alignment of cell content within the column.\n * @default 'start'\n */\n columnContentAlignment?: ColumnContentAlignment;\n /**\n * The current sort order of the column.\n */\n sortOrder?: TableColumnSortOrder;\n /**\n * A function called when the column's sort order should change.\n * If not provided, the column will not be sortable.\n */\n onSortOrderToggle?: () => void;\n /** An icon displayed before the header text. */\n iconStart?: ReactNode;\n /** An icon displayed after the header text. */\n iconEnd?: ReactNode;\n}\n\nconst SORT_ORDER_ICONS: Record<TableColumnSortOrder, ReactNode> = {\n ascending: <IconSortAscending />,\n descending: <IconSortDescending />,\n};\n\nfunction TableHeaderCell(\n {\n children,\n UNSAFE_className,\n UNSAFE_style,\n columnKey,\n columnNumber,\n columnWidth,\n columnContentAlignment = 'start',\n sortOrder,\n onSortOrderToggle,\n iconStart,\n iconEnd,\n ...props\n }: TableHeaderCellProps,\n ref: ForwardedRef<HTMLTableCellElement>,\n) {\n const cellRef = useObjectRef(ref);\n const { rowKey } = useTableRowState();\n const { cellProps } = useTableCell(cellRef, rowKey, columnKey);\n const registerColumn = useColumnRegistration();\n const unregisterRef = useRef<(() => void) | null>(null);\n\n const { sortLabelId } = useTableState();\n const contentId = useId();\n\n const isSortable = typeof onSortOrderToggle === 'function';\n\n // Columns need to be registered during SSR to prevent layout shifting on hydration\n useServerLayoutEffect(() => {\n unregisterRef.current = registerColumn(columnKey, {\n number: columnNumber,\n width: columnWidth,\n contentAlignment: columnContentAlignment,\n });\n\n return () => {\n unregisterRef.current?.();\n unregisterRef.current = null;\n };\n }, [registerColumn, columnKey, columnNumber, columnWidth, columnContentAlignment]);\n\n return (\n <th\n {...mergeProps(props, cellProps)}\n ref={cellRef}\n className={UNSAFE_className}\n style={columnWidth ? { ...UNSAFE_style, width: columnWidth } : UNSAFE_style}\n scope=\"col\"\n aria-colindex={columnNumber}\n aria-sort={sortOrder}\n data-alignment={columnContentAlignment}\n >\n <div className=\"cim-table-header-cell-container\">\n {iconStart}\n <span id={contentId}>{children}</span>\n {iconEnd}\n {isSortable ? (\n <TableHeaderButton\n UNSAFE_className=\"cim-table-header-sort-button\"\n aria-labelledby={`${sortLabelId} ${contentId}`}\n icon={sortOrder ? SORT_ORDER_ICONS[sortOrder] : <IconSortUnsorted />}\n onPress={() => onSortOrderToggle()}\n data-highlighted={!!sortOrder || undefined}\n />\n ) : sortOrder ? (\n SORT_ORDER_ICONS[sortOrder]\n ) : undefined}\n </div>\n </th>\n );\n}\n\n/**\n * Renders a header cell within a table header row.\n *\n * See [table usage guidelines](https://ui.cimpress.io/components/table/) and [table building guide](https://ui.cimpress.io/dev-guides/tables/).\n */\nconst _TableHeaderCell = forwardRef(TableHeaderCell, 'TableHeaderCell');\n\nexport { _TableHeaderCell as TableHeaderCell };\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
2
|
import type { AriaLabelingProps, CommonProps } from '../types.js';
|
|
3
3
|
import { type RowSelectionMode } from './contexts/table-state.js';
|
|
4
4
|
export interface TableProps extends CommonProps, AriaLabelingProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/table.tsx"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/table.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AAGrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGlE,OAAO,EAAE,KAAK,gBAAgB,EAAqC,MAAM,2BAA2B,CAAC;AAGrG,MAAM,WAAW,UAAW,SAAQ,WAAW,EAAE,iBAAiB;IAChE,iCAAiC;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACtD;AAqED;;;;GAIG;AACH,QAAA,MAAM,MAAM,6GAA6B,CAAC;AAE1C,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,CAAC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { mergeProps, useObjectRef } from '@react-aria/utils';
|
|
4
|
-
import { useEffect } from 'react';
|
|
5
4
|
import { forwardRef } from '../../forward-ref.js';
|
|
5
|
+
import { useProductionWarning } from '../../utils/use-production-warning.js';
|
|
6
6
|
import { ColumnCollectionProvider } from './contexts/column-collection.js';
|
|
7
7
|
import { TableFocusProvider } from './contexts/focus.js';
|
|
8
8
|
import { TableStateProvider, useTableState } from './contexts/table-state.js';
|
|
9
9
|
import { useTable } from './hooks/use-table.js';
|
|
10
10
|
function Table({ rowSelectionMode = 'none', areAllRowsSelected, areSomeRowsSelected, onAllRowsSelectionToggle, ...props }, ref) {
|
|
11
11
|
const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
|
|
12
|
-
|
|
12
|
+
useProductionWarning(() => {
|
|
13
13
|
if (!ariaLabel && !ariaLabelledBy) {
|
|
14
14
|
console.warn('Table requires one of aria-label / aria-labelledby for accessibility');
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../src/components/table/table.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../src/components/table/table.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAyB,kBAAkB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AA+ChD,SAAS,KAAK,CACZ,EACE,gBAAgB,GAAG,MAAM,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,GAAG,KAAK,EACG,EACb,GAAmC;IAEnC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7E,oBAAoB,CAAC,GAAG,EAAE;QACxB,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEhC,OAAO,CACL,KAAC,kBAAkB,cACjB,KAAC,kBAAkB,IACjB,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACtC,mBAAmB,EAAE,mBAAmB,EACxC,wBAAwB,EAAE,wBAAwB,YAElD,MAAC,wBAAwB,eACvB,eAAM,QAAQ,EAAE,CAAC,CAAC,sDAAqC,EACvD,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,GAAI,EAC/C,eAAM,QAAQ,EAAE,CAAC,CAAC,sDAAqC,IAC9B,GACR,GACF,CACtB,CAAC;AACJ,CAAC;AAUD,SAAS,UAAU,CAAC,EAClB,KAAK,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,KAAK,EAAE,EAC9F,YAAY,GACI;IAChB,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,EAAE,gBAAgB,EAAE,GAAG,aAAa,EAAE,CAAC;IAE7C,OAAO,CACL,mBACM,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,EACjC,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,YAAY,mBACJ,aAAa,mBACb,gBAAgB,0BACT,gBAAgB,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,YAEvE,QAAQ,GACH,CACT,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAE1C,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,CAAC","sourcesContent":["'use client';\n\nimport { mergeProps, useObjectRef } from '@react-aria/utils';\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { forwardRef } from '../../forward-ref.js';\nimport { useProductionWarning } from '../../utils/use-production-warning.js';\nimport type { AriaLabelingProps, CommonProps } from '../types.js';\nimport { ColumnCollectionProvider } from './contexts/column-collection.js';\nimport { TableFocusProvider } from './contexts/focus.js';\nimport { type RowSelectionMode, TableStateProvider, useTableState } from './contexts/table-state.js';\nimport { useTable } from './hooks/use-table.js';\n\nexport interface TableProps extends CommonProps, AriaLabelingProps {\n /** The contents of the table. */\n children: ReactNode;\n /**\n * The number of rows in the full dataset, including headers.\n *\n * Provide this value if your table presents a subset of rows, such as when using pagination.\n * Use `-1` if the number of rows is not known.\n *\n * You must provide `rowNumber` on each table row if `totalRowCount` is defined.\n */\n totalRowCount?: number;\n /**\n * The number of columns in the full dataset.\n *\n * Provide this value if your table presents a subset of columns, such as when the user toggles column visibility.\n * Use `-1` if the number of columns is not known.\n *\n * You must provide `columnNumber` on each table header cell if `totalColumnCount` is defined.\n */\n totalColumnCount?: number;\n /**\n * The type of row selection that is allowed within the table.\n * @default 'none'\n */\n rowSelectionMode?: RowSelectionMode;\n /**\n * Whether all of the table's rows are selected.\n * The meaning of \"all rows\" is dictated by the consumer.\n */\n areAllRowsSelected?: boolean;\n /**\n * Whether some (but not all) of the table's rows are selected.\n * The meaning of \"some rows\" is dictated by the consumer.\n */\n areSomeRowsSelected?: boolean;\n /**\n * A function called when the selection state of all rows should change.\n *\n * If called without an argument, you are free to pick the new selection state based on your own logic.\n * If called with an argument, you must set the selection state to the provided value.\n */\n onAllRowsSelectionToggle?: (value?: boolean) => void;\n}\n\nfunction Table(\n {\n rowSelectionMode = 'none',\n areAllRowsSelected,\n areSomeRowsSelected,\n onAllRowsSelectionToggle,\n ...props\n }: TableProps,\n ref: ForwardedRef<HTMLTableElement>,\n) {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;\n\n useProductionWarning(() => {\n if (!ariaLabel && !ariaLabelledBy) {\n console.warn('Table requires one of aria-label / aria-labelledby for accessibility');\n }\n }, [ariaLabel, ariaLabelledBy]);\n\n return (\n <TableFocusProvider>\n <TableStateProvider\n rowSelectionMode={rowSelectionMode}\n areAllRowsSelected={areAllRowsSelected}\n areSomeRowsSelected={areSomeRowsSelected}\n onAllRowsSelectionToggle={onAllRowsSelectionToggle}\n >\n <ColumnCollectionProvider>\n <span tabIndex={-1} data-cim-table-guard aria-hidden />\n <TableInner props={props} forwardedRef={ref} />\n <span tabIndex={-1} data-cim-table-guard aria-hidden />\n </ColumnCollectionProvider>\n </TableStateProvider>\n </TableFocusProvider>\n );\n}\n\ninterface TableInnerProps {\n props: Omit<\n TableProps,\n 'rowSelectionMode' | 'areAllRowsSelected' | 'areSomeRowsSelected' | 'onAllRowsSelectionToggle'\n >;\n forwardedRef: ForwardedRef<HTMLTableElement>;\n}\n\nfunction TableInner({\n props: { children, UNSAFE_className, UNSAFE_style, totalRowCount, totalColumnCount, ...props },\n forwardedRef,\n}: TableInnerProps) {\n const tableRef = useObjectRef(forwardedRef);\n const { tableProps } = useTable(tableRef);\n const { rowSelectionMode } = useTableState();\n\n return (\n <table\n {...mergeProps(props, tableProps)}\n ref={tableRef}\n className={UNSAFE_className}\n style={UNSAFE_style}\n aria-rowcount={totalRowCount}\n aria-colcount={totalColumnCount}\n aria-multiselectable={rowSelectionMode === 'multiple' ? true : undefined}\n >\n {children}\n </table>\n );\n}\n\n/**\n * Displays data in an organized, tabular way.\n *\n * See [table usage guidelines](https://ui.cimpress.io/components/table/) and [table building guide](https://ui.cimpress.io/dev-guides/tables/).\n */\nconst _Table = forwardRef(Table, 'Table');\n\nexport { _Table as Table };\n"]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type TabsProps as RACTabsProps, type TabProps as RACTabProps } from 'react-aria-components';
|
|
3
|
+
import type { AriaLabelingProps, CollectionItem, CollectionProps, CommonProps, Key, StringLikeChildren } from '../types.js';
|
|
4
|
+
export interface TabsProps extends CommonProps, AriaLabelingProps, Pick<RACTabsProps, 'selectedKey' | 'defaultSelectedKey' | 'disabledKeys' | 'onSelectionChange'> {
|
|
5
|
+
/** The children of the `<Tabs>` element. Should include `<TabList>` and `<TabPanels>` elements. */
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Organizes content into multiple sections that users can switch between.
|
|
10
|
+
*
|
|
11
|
+
* See [tabs usage guidelines](https://ui.cimpress.io/components/tabs/).
|
|
12
|
+
*/
|
|
13
|
+
declare const _Tabs: (props: TabsProps & import("react").RefAttributes<HTMLDivElement> & import("../../with-style-props.js").StyleProps) => import("react").JSX.Element | null;
|
|
14
|
+
export { _Tabs as Tabs };
|
|
15
|
+
export interface TabListProps<T extends CollectionItem> extends CollectionProps<T> {
|
|
16
|
+
}
|
|
17
|
+
/** Renders a collection of `Tab` components within `Tabs`. */
|
|
18
|
+
export declare function TabList<T extends CollectionItem>({ children, ...props }: TabListProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export declare namespace TabList {
|
|
20
|
+
var displayName: string;
|
|
21
|
+
}
|
|
22
|
+
export interface TabProps extends Pick<RACTabProps, 'id' | 'isDisabled' | 'onHoverStart' | 'onHoverEnd'> {
|
|
23
|
+
/** The text to display as the tab title. */
|
|
24
|
+
children: StringLikeChildren;
|
|
25
|
+
/** An icon displayed before the tab title. */
|
|
26
|
+
iconStart?: ReactNode;
|
|
27
|
+
/** A badge displayed after the tab title. */
|
|
28
|
+
badge?: ReactNode;
|
|
29
|
+
}
|
|
30
|
+
/** Renders a single tab within `TabList`. */
|
|
31
|
+
export declare function Tab({ children, iconStart, badge, ...props }: TabProps): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
export declare namespace Tab {
|
|
33
|
+
var displayName: string;
|
|
34
|
+
}
|
|
35
|
+
export interface TabPanelsProps<T extends CollectionItem> extends CollectionProps<T> {
|
|
36
|
+
}
|
|
37
|
+
/** Renders a collection of `TabPanel` components within `Tabs`. */
|
|
38
|
+
export declare function TabPanels<T extends CollectionItem>({ ...props }: TabPanelsProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export declare namespace TabPanels {
|
|
40
|
+
var displayName: string;
|
|
41
|
+
}
|
|
42
|
+
export interface TabPanelProps {
|
|
43
|
+
/** The content to display in the tab panel. */
|
|
44
|
+
children: ReactNode;
|
|
45
|
+
/** The unique id of the associated tab. */
|
|
46
|
+
id?: Key;
|
|
47
|
+
}
|
|
48
|
+
/** Renders a single tab panel within `TabPanels`. */
|
|
49
|
+
export declare function TabPanel({ children, id, ...props }: TabPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
50
|
+
export declare namespace TabPanel {
|
|
51
|
+
var displayName: string;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=tabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../../src/components/tabs/tabs.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAgD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACrF,OAAO,EAML,KAAK,SAAS,IAAI,YAAY,EAC9B,KAAK,QAAQ,IAAI,WAAW,EAC7B,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,WAAW,EACX,GAAG,EACH,kBAAkB,EACnB,MAAM,aAAa,CAAC;AASrB,MAAM,WAAW,SACf,SAAQ,WAAW,EACjB,iBAAiB,EACjB,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,oBAAoB,GAAG,cAAc,GAAG,mBAAmB,CAAC;IACjG,mGAAmG;IACnG,QAAQ,EAAE,SAAS,CAAC;CACrB;AAgDD;;;;GAIG;AACH,QAAA,MAAM,KAAK,2JAA2C,CAAC;AAEvD,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;AAEzB,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;CAAG;AAErF,8DAA8D;AAC9D,wBAAgB,OAAO,CAAC,CAAC,SAAS,cAAc,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,2CAqBxF;yBArBe,OAAO;;;AAyBvB,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;IACtG,4CAA4C;IAC5C,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,6CAA6C;AAC7C,wBAAgB,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,QAAQ,2CAUrE;yBAVe,GAAG;;;AAcnB,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;CAAG;AAEvF,mEAAmE;AACnE,wBAAgB,SAAS,CAAC,CAAC,SAAS,cAAc,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,2CAElF;yBAFe,SAAS;;;AAMzB,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,QAAQ,EAAE,SAAS,CAAC;IACpB,2CAA2C;IAG3C,EAAE,CAAC,EAAE,GAAG,CAAC;CACV;AAED,qDAAqD;AACrD,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,2CAWjE;yBAXe,QAAQ"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import { createContext, useContext } from 'react';
|
|
5
|
+
import { Collection as RACCollection, Tab as RACTab, TabList as RACTabList, TabPanel as RACTabPanel, Tabs as RACTabs, } from 'react-aria-components';
|
|
6
|
+
import { forwardRef } from '../../forward-ref.js';
|
|
7
|
+
import { useProductionWarning } from '../../utils/use-production-warning.js';
|
|
8
|
+
import { withStyleProps } from '../../with-style-props.js';
|
|
9
|
+
import { Text } from '../typography/text.js';
|
|
10
|
+
const TabsContext = createContext({});
|
|
11
|
+
function Tabs({ children, UNSAFE_className, UNSAFE_style,
|
|
12
|
+
// Aria labeling props
|
|
13
|
+
'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, 'aria-details': ariaDetails, ...props }, ref) {
|
|
14
|
+
useProductionWarning(() => {
|
|
15
|
+
if (!ariaLabel && !ariaLabelledBy) {
|
|
16
|
+
console.warn('Tabs requires one of aria-label / aria-labelledby for accessibility');
|
|
17
|
+
}
|
|
18
|
+
}, [ariaLabel, ariaLabelledBy]);
|
|
19
|
+
return (_jsx(TabsContext.Provider, { value: {
|
|
20
|
+
tabsProps: {
|
|
21
|
+
'aria-label': ariaLabel,
|
|
22
|
+
'aria-labelledby': ariaLabelledBy,
|
|
23
|
+
'aria-describedby': ariaDescribedBy,
|
|
24
|
+
'aria-details': ariaDetails,
|
|
25
|
+
},
|
|
26
|
+
}, children: _jsx(RACTabs, { ...props, ref: ref, className: clsx('cim-tabs', UNSAFE_className), style: UNSAFE_style, keyboardActivation: "manual", children: children }) }));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Organizes content into multiple sections that users can switch between.
|
|
30
|
+
*
|
|
31
|
+
* See [tabs usage guidelines](https://ui.cimpress.io/components/tabs/).
|
|
32
|
+
*/
|
|
33
|
+
const _Tabs = withStyleProps(forwardRef(Tabs), 'Tabs');
|
|
34
|
+
export { _Tabs as Tabs };
|
|
35
|
+
/** Renders a collection of `Tab` components within `Tabs`. */
|
|
36
|
+
export function TabList({ children, ...props }) {
|
|
37
|
+
const { tabsProps } = useContext(TabsContext);
|
|
38
|
+
const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, 'aria-details': ariaDetails, } = tabsProps ?? {};
|
|
39
|
+
return (_jsx(RACTabList, { ...props, className: "cim-tab-list", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, "aria-details": ariaDetails, children: children }));
|
|
40
|
+
}
|
|
41
|
+
TabList.displayName = 'TabList';
|
|
42
|
+
/** Renders a single tab within `TabList`. */
|
|
43
|
+
export function Tab({ children, iconStart, badge, ...props }) {
|
|
44
|
+
return (_jsxs(RACTab, { ...props, className: "cim-tab-item", children: [iconStart, _jsx(Text, { as: "span", variant: "medium-semibold", alignment: "center", children: children }), badge] }));
|
|
45
|
+
}
|
|
46
|
+
Tab.displayName = 'Tab';
|
|
47
|
+
/** Renders a collection of `TabPanel` components within `Tabs`. */
|
|
48
|
+
export function TabPanels({ ...props }) {
|
|
49
|
+
return _jsx(RACCollection, { ...props });
|
|
50
|
+
}
|
|
51
|
+
TabPanels.displayName = 'TabPanels';
|
|
52
|
+
/** Renders a single tab panel within `TabPanels`. */
|
|
53
|
+
export function TabPanel({ children, id, ...props }) {
|
|
54
|
+
return (_jsx(RACTabPanel, { ...props, className: "cim-tab-panel",
|
|
55
|
+
// @ts-expect-error -- https://github.com/adobe/react-spectrum/issues/8422
|
|
56
|
+
id: id, children: children }));
|
|
57
|
+
}
|
|
58
|
+
TabPanel.displayName = 'TabPanel';
|
|
59
|
+
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../../src/components/tabs/tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { createContext, useContext, type ForwardedRef, type ReactNode } from 'react';\nimport {\n Collection as RACCollection,\n Tab as RACTab,\n TabList as RACTabList,\n TabPanel as RACTabPanel,\n Tabs as RACTabs,\n type TabsProps as RACTabsProps,\n type TabProps as RACTabProps,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { useProductionWarning } from '../../utils/use-production-warning.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport type {\n AriaLabelingProps,\n CollectionItem,\n CollectionProps,\n CommonProps,\n Key,\n StringLikeChildren,\n} from '../types.js';\nimport { Text } from '../typography/text.js';\n\ninterface TabsContextValue {\n tabsProps?: AriaLabelingProps;\n}\n\nconst TabsContext = createContext<TabsContextValue>({});\n\nexport interface TabsProps\n extends CommonProps,\n AriaLabelingProps,\n Pick<RACTabsProps, 'selectedKey' | 'defaultSelectedKey' | 'disabledKeys' | 'onSelectionChange'> {\n /** The children of the `<Tabs>` element. Should include `<TabList>` and `<TabPanels>` elements. */\n children: ReactNode;\n}\n\nfunction Tabs(\n {\n children,\n UNSAFE_className,\n UNSAFE_style,\n\n // Aria labeling props\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-details': ariaDetails,\n\n ...props\n }: TabsProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n useProductionWarning(() => {\n if (!ariaLabel && !ariaLabelledBy) {\n console.warn('Tabs requires one of aria-label / aria-labelledby for accessibility');\n }\n }, [ariaLabel, ariaLabelledBy]);\n\n return (\n <TabsContext.Provider\n value={{\n tabsProps: {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-details': ariaDetails,\n },\n }}\n >\n <RACTabs\n {...props}\n ref={ref}\n className={clsx('cim-tabs', UNSAFE_className)}\n style={UNSAFE_style}\n keyboardActivation=\"manual\"\n >\n {children}\n </RACTabs>\n </TabsContext.Provider>\n );\n}\n\n/**\n * Organizes content into multiple sections that users can switch between.\n *\n * See [tabs usage guidelines](https://ui.cimpress.io/components/tabs/).\n */\nconst _Tabs = withStyleProps(forwardRef(Tabs), 'Tabs');\n\nexport { _Tabs as Tabs };\n\nexport interface TabListProps<T extends CollectionItem> extends CollectionProps<T> {}\n\n/** Renders a collection of `Tab` components within `Tabs`. */\nexport function TabList<T extends CollectionItem>({ children, ...props }: TabListProps<T>) {\n const { tabsProps } = useContext(TabsContext);\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-details': ariaDetails,\n } = tabsProps ?? {};\n\n return (\n <RACTabList\n {...props}\n className=\"cim-tab-list\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n aria-details={ariaDetails}\n >\n {children}\n </RACTabList>\n );\n}\n\nTabList.displayName = 'TabList';\n\nexport interface TabProps extends Pick<RACTabProps, 'id' | 'isDisabled' | 'onHoverStart' | 'onHoverEnd'> {\n /** The text to display as the tab title. */\n children: StringLikeChildren;\n /** An icon displayed before the tab title. */\n iconStart?: ReactNode;\n /** A badge displayed after the tab title. */\n badge?: ReactNode;\n}\n\n/** Renders a single tab within `TabList`. */\nexport function Tab({ children, iconStart, badge, ...props }: TabProps) {\n return (\n <RACTab {...props} className=\"cim-tab-item\">\n {iconStart}\n <Text as=\"span\" variant=\"medium-semibold\" alignment=\"center\">\n {children}\n </Text>\n {badge}\n </RACTab>\n );\n}\n\nTab.displayName = 'Tab';\n\nexport interface TabPanelsProps<T extends CollectionItem> extends CollectionProps<T> {}\n\n/** Renders a collection of `TabPanel` components within `Tabs`. */\nexport function TabPanels<T extends CollectionItem>({ ...props }: TabPanelsProps<T>) {\n return <RACCollection {...props} />;\n}\n\nTabPanels.displayName = 'TabPanels';\n\nexport interface TabPanelProps {\n /** The content to display in the tab panel. */\n children: ReactNode;\n /** The unique id of the associated tab. */\n // `id` is not typed correctly in `react-aria-components`\n // https://github.com/adobe/react-spectrum/issues/8422\n id?: Key;\n}\n\n/** Renders a single tab panel within `TabPanels`. */\nexport function TabPanel({ children, id, ...props }: TabPanelProps) {\n return (\n <RACTabPanel\n {...props}\n className=\"cim-tab-panel\"\n // @ts-expect-error -- https://github.com/adobe/react-spectrum/issues/8422\n id={id}\n >\n {children}\n </RACTabPanel>\n );\n}\n\nTabPanel.displayName = 'TabPanel';\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import { type TagGroupProps as RACTagGroupProps, type TagListProps as RACTagListProps } from 'react-aria-components';
|
|
3
3
|
import type { CollectionItem, CommonProps, FieldProps, Key } from '../types.js';
|
|
4
|
-
export interface TagGroupProps<T extends CollectionItem = CollectionItem> extends CommonProps, Omit<FieldProps<Key[]>, 'validate' | 'error'>, Pick<RACTagGroupProps, 'selectionMode' | 'defaultSelectedKeys' | 'selectedKeys' | 'disabledKeys' | 'onSelectionChange' | 'onRemove'>, Pick<RACTagListProps<T>, 'children' | 'items'> {
|
|
4
|
+
export interface TagGroupProps<T extends CollectionItem = CollectionItem> extends CommonProps, Omit<FieldProps<Key[]>, 'validate' | 'error' | 'name'>, Pick<RACTagGroupProps, 'selectionMode' | 'defaultSelectedKeys' | 'selectedKeys' | 'disabledKeys' | 'onSelectionChange' | 'onRemove'>, Pick<RACTagListProps<T>, 'children' | 'items'> {
|
|
5
5
|
/** Whether the tag group is required. */
|
|
6
6
|
isRequired?: boolean;
|
|
7
7
|
/** The error message to display. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-group.d.ts","sourceRoot":"","sources":["../../../../src/components/tag/tag-group.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAGL,KAAK,aAAa,IAAI,gBAAgB,EACtC,KAAK,YAAY,IAAI,eAAe,EACrC,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEhF,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CACtE,SAAQ,WAAW,EAEjB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"tag-group.d.ts","sourceRoot":"","sources":["../../../../src/components/tag/tag-group.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAGL,KAAK,aAAa,IAAI,gBAAgB,EACtC,KAAK,YAAY,IAAI,eAAe,EACrC,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEhF,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CACtE,SAAQ,WAAW,EAEjB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC,EACtD,IAAI,CACF,gBAAgB,EAChB,eAAe,GAAG,qBAAqB,GAAG,cAAc,GAAG,cAAc,GAAG,mBAAmB,GAAG,UAAU,CAC7G,EACD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAChD,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,SAAS,CAAC;CACpC;AAwCD;;;;GAIG;AACH,QAAA,MAAM,SAAS,GA3CG,CAAC,SAAS,cAAc,iKA2CwB,CAAC;AAEnE,OAAO,EAAE,SAAS,IAAI,QAAQ,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-group.js","sourceRoot":"","sources":["../../../../src/components/tag/tag-group.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EACL,QAAQ,IAAI,WAAW,EACvB,OAAO,IAAI,UAAU,GAGtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAsBhH,SAAS,QAAQ,CACf,EACE,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,IAAI,GAAG,QAAQ,EACf,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACS,EACnB,GAAiC;IAEjC,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC5F,OAAO,CAAC,KAAK,CAAC,yFAAyF,CAAC,CAAC;IAC3G,CAAC;IAED,OAAO,CACL,MAAC,WAAW,OACN,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAClD,KAAK,EAAE,YAAY,eACR,IAAI,aAEf,KAAC,cAAc,IAAC,UAAU,EAAE,UAAU,YAAG,KAAK,GAAkB,EAChE,KAAC,UAAU,IAAC,SAAS,EAAC,oBAAoB,EAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,YACxF,QAAQ,GACE,EACZ,KAAK,IAAI,KAAC,kBAAkB,cAAE,KAAK,GAAsB,EAC1D,KAAC,oBAAoB,cAAE,WAAW,GAAwB,IAC9C,CACf,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;AAEnE,OAAO,EAAE,SAAS,IAAI,QAAQ,EAAE,CAAC","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ForwardedRef, ReactNode } from 'react';\nimport {\n TagGroup as RACTagGroup,\n TagList as RACTagList,\n type TagGroupProps as RACTagGroupProps,\n type TagListProps as RACTagListProps,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { FormFieldDescription, FormFieldErrorText, FormFieldLabel } from '../internal/form-field/form-field.js';\nimport type { CollectionItem, CommonProps, FieldProps, Key } from '../types.js';\n\nexport interface TagGroupProps<T extends CollectionItem = CollectionItem>\n extends CommonProps,\n // `TagGroup` doesn't support `validate` or `error` because it's not a form field\n Omit<FieldProps<Key[]>, 'validate' | 'error'>,\n Pick<\n RACTagGroupProps,\n 'selectionMode' | 'defaultSelectedKeys' | 'selectedKeys' | 'disabledKeys' | 'onSelectionChange' | 'onRemove'\n >,\n Pick<RACTagListProps<T>, 'children' | 'items'> {\n /** Whether the tag group is required. */\n isRequired?: boolean;\n /** The error message to display. */\n error?: string;\n /** The size of the tags. */\n size?: 'medium' | 'large';\n /** Provides content to display when there are no tags in the group. */\n renderEmptyState?: () => ReactNode;\n}\n\nfunction TagGroup<T extends CollectionItem>(\n {\n label,\n description,\n error,\n children,\n isRequired,\n items,\n renderEmptyState,\n size = 'medium',\n UNSAFE_className,\n UNSAFE_style,\n ...props\n }: TagGroupProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n if (props.selectionMode != null && props.selectionMode !== 'none' && props.onRemove != null) {\n console.error('`onRemove` is not supported when `selectionMode` is set to anything other than `\"none\"`');\n }\n\n return (\n <RACTagGroup\n {...props}\n ref={ref}\n className={clsx('cim-tag-group', UNSAFE_className)}\n style={UNSAFE_style}\n data-size={size}\n >\n <FormFieldLabel isRequired={isRequired}>{label}</FormFieldLabel>\n <RACTagList className=\"cim-tag-group-list\" items={items} renderEmptyState={renderEmptyState}>\n {children}\n </RACTagList>\n {error && <FormFieldErrorText>{error}</FormFieldErrorText>}\n <FormFieldDescription>{description}</FormFieldDescription>\n </RACTagGroup>\n );\n}\n\n/**\n * Displays a group of tags. Allows for selecting or removing tags.\n *\n * See [tag group usage guidelines](https://ui.cimpress.io/components/tag-group/).\n */\nconst _TagGroup = withStyleProps(forwardRef(TagGroup), 'TagGroup');\n\nexport { _TagGroup as TagGroup };\n"]}
|
|
1
|
+
{"version":3,"file":"tag-group.js","sourceRoot":"","sources":["../../../../src/components/tag/tag-group.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EACL,QAAQ,IAAI,WAAW,EACvB,OAAO,IAAI,UAAU,GAGtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAsBhH,SAAS,QAAQ,CACf,EACE,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,IAAI,GAAG,QAAQ,EACf,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACS,EACnB,GAAiC;IAEjC,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC5F,OAAO,CAAC,KAAK,CAAC,yFAAyF,CAAC,CAAC;IAC3G,CAAC;IAED,OAAO,CACL,MAAC,WAAW,OACN,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAClD,KAAK,EAAE,YAAY,eACR,IAAI,aAEf,KAAC,cAAc,IAAC,UAAU,EAAE,UAAU,YAAG,KAAK,GAAkB,EAChE,KAAC,UAAU,IAAC,SAAS,EAAC,oBAAoB,EAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,YACxF,QAAQ,GACE,EACZ,KAAK,IAAI,KAAC,kBAAkB,cAAE,KAAK,GAAsB,EAC1D,KAAC,oBAAoB,cAAE,WAAW,GAAwB,IAC9C,CACf,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;AAEnE,OAAO,EAAE,SAAS,IAAI,QAAQ,EAAE,CAAC","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ForwardedRef, ReactNode } from 'react';\nimport {\n TagGroup as RACTagGroup,\n TagList as RACTagList,\n type TagGroupProps as RACTagGroupProps,\n type TagListProps as RACTagListProps,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { FormFieldDescription, FormFieldErrorText, FormFieldLabel } from '../internal/form-field/form-field.js';\nimport type { CollectionItem, CommonProps, FieldProps, Key } from '../types.js';\n\nexport interface TagGroupProps<T extends CollectionItem = CollectionItem>\n extends CommonProps,\n // `TagGroup` doesn't support `validate` or `error` because it's not a form field\n Omit<FieldProps<Key[]>, 'validate' | 'error' | 'name'>,\n Pick<\n RACTagGroupProps,\n 'selectionMode' | 'defaultSelectedKeys' | 'selectedKeys' | 'disabledKeys' | 'onSelectionChange' | 'onRemove'\n >,\n Pick<RACTagListProps<T>, 'children' | 'items'> {\n /** Whether the tag group is required. */\n isRequired?: boolean;\n /** The error message to display. */\n error?: string;\n /** The size of the tags. */\n size?: 'medium' | 'large';\n /** Provides content to display when there are no tags in the group. */\n renderEmptyState?: () => ReactNode;\n}\n\nfunction TagGroup<T extends CollectionItem>(\n {\n label,\n description,\n error,\n children,\n isRequired,\n items,\n renderEmptyState,\n size = 'medium',\n UNSAFE_className,\n UNSAFE_style,\n ...props\n }: TagGroupProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n if (props.selectionMode != null && props.selectionMode !== 'none' && props.onRemove != null) {\n console.error('`onRemove` is not supported when `selectionMode` is set to anything other than `\"none\"`');\n }\n\n return (\n <RACTagGroup\n {...props}\n ref={ref}\n className={clsx('cim-tag-group', UNSAFE_className)}\n style={UNSAFE_style}\n data-size={size}\n >\n <FormFieldLabel isRequired={isRequired}>{label}</FormFieldLabel>\n <RACTagList className=\"cim-tag-group-list\" items={items} renderEmptyState={renderEmptyState}>\n {children}\n </RACTagList>\n {error && <FormFieldErrorText>{error}</FormFieldErrorText>}\n <FormFieldDescription>{description}</FormFieldDescription>\n </RACTagGroup>\n );\n}\n\n/**\n * Displays a group of tags. Allows for selecting or removing tags.\n *\n * See [tag group usage guidelines](https://ui.cimpress.io/components/tag-group/).\n */\nconst _TagGroup = withStyleProps(forwardRef(TagGroup), 'TagGroup');\n\nexport { _TagGroup as TagGroup };\n"]}
|
|
@@ -7,7 +7,7 @@ import { IconCloseBold } from '../../icons/index.js';
|
|
|
7
7
|
import { withStyleProps } from '../../with-style-props.js';
|
|
8
8
|
function Tag({ children, iconStart, UNSAFE_className, UNSAFE_style, ...props }, ref) {
|
|
9
9
|
const textValue = typeof children === 'string' ? children : typeof children === 'number' ? String(children) : children.join('');
|
|
10
|
-
return (_jsx(RACTag, { ...props, ref: ref, className: clsx('cim-tag', UNSAFE_className), style: UNSAFE_style, textValue: textValue, children: ({ allowsRemoving }) => (_jsxs(_Fragment, { children: [iconStart && _jsx("div", { className: "cim-tag-icon", children: iconStart }), _jsx("span", { className: "cim-tag-text", children: children }), allowsRemoving && (_jsx(RACButton, { slot: "remove", children: _jsx(IconCloseBold, {}) }))] })) }));
|
|
10
|
+
return (_jsx(RACTag, { ...props, ref: ref, className: clsx('cim-tag', UNSAFE_className), style: UNSAFE_style, textValue: textValue, children: ({ allowsRemoving }) => (_jsxs(_Fragment, { children: [iconStart && _jsx("div", { className: "cim-tag-icon", children: iconStart }), _jsx("span", { className: "cim-tag-text", children: children }), allowsRemoving && (_jsx(RACButton, { slot: "remove", excludeFromTabOrder: true, children: _jsx(IconCloseBold, {}) }))] })) }));
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Displays a single tag within a tag group.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../src/components/tag/tag.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,GAAG,IAAI,MAAM,EAAgC,MAAM,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAW3D,SAAS,GAAG,CACV,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAY,EAC3E,GAA8B;IAE9B,MAAM,SAAS,GACb,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhH,OAAO,CACL,KAAC,MAAM,OACD,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAC5C,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,SAAS,YAEnB,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CACvB,8BACG,SAAS,IAAI,cAAK,SAAS,EAAC,cAAc,YAAE,SAAS,GAAO,EAC7D,eAAM,SAAS,EAAC,cAAc,YAAE,QAAQ,GAAQ,EAC/C,cAAc,IAAI,CACjB,KAAC,SAAS,IAAC,IAAI,EAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../src/components/tag/tag.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,GAAG,IAAI,MAAM,EAAgC,MAAM,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAW3D,SAAS,GAAG,CACV,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAY,EAC3E,GAA8B;IAE9B,MAAM,SAAS,GACb,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhH,OAAO,CACL,KAAC,MAAM,OACD,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAC5C,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,SAAS,YAEnB,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CACvB,8BACG,SAAS,IAAI,cAAK,SAAS,EAAC,cAAc,YAAE,SAAS,GAAO,EAC7D,eAAM,SAAS,EAAC,cAAc,YAAE,QAAQ,GAAQ,EAC/C,cAAc,IAAI,CACjB,KAAC,SAAS,IAAC,IAAI,EAAC,QAAQ,EAAC,mBAAmB,kBAC1C,KAAC,aAAa,KAAG,GACP,CACb,IACA,CACJ,GACM,CACV,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AAEpD,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { Tag as RACTag, type TagProps as RACTagProps, Button as RACButton } from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { IconCloseBold } from '../../icons/index.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport type { StringLikeChildren } from '../types.js';\nimport type { CommonProps } from '../types.js';\n\nexport interface TagProps extends Omit<CommonProps, 'id'>, Pick<RACTagProps, 'id' | 'isDisabled'> {\n /** The content to display as the label. */\n children: StringLikeChildren;\n /** The icon to display at the start of the tag. */\n iconStart?: ReactNode;\n}\n\nfunction Tag(\n { children, iconStart, UNSAFE_className, UNSAFE_style, ...props }: TagProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const textValue =\n typeof children === 'string' ? children : typeof children === 'number' ? String(children) : children.join('');\n\n return (\n <RACTag\n {...props}\n ref={ref}\n className={clsx('cim-tag', UNSAFE_className)}\n style={UNSAFE_style}\n textValue={textValue}\n >\n {({ allowsRemoving }) => (\n <>\n {iconStart && <div className=\"cim-tag-icon\">{iconStart}</div>}\n <span className=\"cim-tag-text\">{children}</span>\n {allowsRemoving && (\n <RACButton slot=\"remove\" excludeFromTabOrder>\n <IconCloseBold />\n </RACButton>\n )}\n </>\n )}\n </RACTag>\n );\n}\n\n/**\n * Displays a single tag within a tag group.\n *\n * See [tag group usage guidelines](https://ui.cimpress.io/components/tag-group/).\n */\nconst _Tag = withStyleProps(forwardRef(Tag), 'Tag');\n\nexport { _Tag as Tag };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-field-input.d.ts","sourceRoot":"","sources":["../../../../src/components/tag-field/tag-field-input.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import { useContext } from 'react';
|
|
4
|
+
import { ComboBoxStateContext as RACComboBoxStateContext, Input as RACInput, InputContext as RACInputContext, TextContext as RACTextContext, useSlottedContext, } from 'react-aria-components';
|
|
5
|
+
import { textStyle } from '../typography/utils.js';
|
|
6
|
+
/** @internal */
|
|
7
|
+
export function TagFieldInput({ isReadOnly, isRequired, isInvalid, placeholder, onFocusChange, 'aria-describedby': ariaDescribedby, }) {
|
|
8
|
+
const comboBoxState = useContext(RACComboBoxStateContext);
|
|
9
|
+
const inputContext = useContext(RACInputContext);
|
|
10
|
+
// We use custom IDs for description and error message, so we need to manually attach them to the input
|
|
11
|
+
const { id: descriptionId } = useSlottedContext(RACTextContext, 'description');
|
|
12
|
+
const { id: errorMessageId } = useSlottedContext(RACTextContext, 'errorMessage');
|
|
13
|
+
return (_jsx(RACInputContext.Provider, { value: {
|
|
14
|
+
...inputContext,
|
|
15
|
+
// Change `required` to `aria-required` so that form submission isn't blocked, but required state is still announced by screen readers
|
|
16
|
+
required: false,
|
|
17
|
+
'aria-required': isRequired,
|
|
18
|
+
'aria-invalid': isInvalid || undefined,
|
|
19
|
+
}, children: _jsx(RACInput, { className: clsx('cim-combo-box-input', textStyle({ variant: 'body' })),
|
|
20
|
+
// Ensure the popover opens when the input is clicked.
|
|
21
|
+
// By default, React Aria only opens the popover when the input is focused.
|
|
22
|
+
onClick: () => !isReadOnly && comboBoxState.open(), placeholder: placeholder, onFocus: () => onFocusChange(true), onBlur: () => onFocusChange(false), "aria-describedby": [descriptionId, errorMessageId, ariaDescribedby].filter(Boolean).join(' ') || undefined }) }));
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=tag-field-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-field-input.js","sourceRoot":"","sources":["../../../../src/components/tag-field/tag-field-input.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EACL,oBAAoB,IAAI,uBAAuB,EAC/C,KAAK,IAAI,QAAQ,EACjB,YAAY,IAAI,eAAe,EAC/B,WAAW,IAAI,cAAc,EAC7B,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,gBAAgB;AAChB,MAAM,UAAU,aAAa,CAAC,EAC5B,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,kBAAkB,EAAE,eAAe,GAQpC;IACC,MAAM,aAAa,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAEjD,uGAAuG;IACvG,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC,cAAc,EAAE,aAAa,CAAE,CAAC;IAChF,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAE,CAAC;IAElF,OAAO,CACL,KAAC,eAAe,CAAC,QAAQ,IACvB,KAAK,EAAE;YACL,GAAG,YAAY;YACf,sIAAsI;YACtI,QAAQ,EAAE,KAAK;YACf,eAAe,EAAE,UAAU;YAC3B,cAAc,EAAE,SAAS,IAAI,SAAS;SACvC,YAED,KAAC,QAAQ,IACP,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACtE,sDAAsD;YACtD,2EAA2E;YAC3E,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,IAAI,aAAc,CAAC,IAAI,EAAE,EACnD,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAClC,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,sBAChB,CAAC,aAAa,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,GACzG,GACuB,CAC5B,CAAC;AACJ,CAAC","sourcesContent":["import clsx from 'clsx';\nimport { useContext } from 'react';\nimport {\n ComboBoxStateContext as RACComboBoxStateContext,\n Input as RACInput,\n InputContext as RACInputContext,\n TextContext as RACTextContext,\n useSlottedContext,\n} from 'react-aria-components';\nimport { textStyle } from '../typography/utils.js';\n\n/** @internal */\nexport function TagFieldInput({\n isReadOnly,\n isRequired,\n isInvalid,\n placeholder,\n onFocusChange,\n 'aria-describedby': ariaDescribedby,\n}: {\n isReadOnly: boolean | undefined;\n isRequired: boolean | undefined;\n isInvalid: boolean | undefined;\n placeholder: string | undefined;\n onFocusChange: (isFocused: boolean) => void;\n 'aria-describedby': string | undefined;\n}) {\n const comboBoxState = useContext(RACComboBoxStateContext);\n const inputContext = useContext(RACInputContext);\n\n // We use custom IDs for description and error message, so we need to manually attach them to the input\n const { id: descriptionId } = useSlottedContext(RACTextContext, 'description')!;\n const { id: errorMessageId } = useSlottedContext(RACTextContext, 'errorMessage')!;\n\n return (\n <RACInputContext.Provider\n value={{\n ...inputContext,\n // Change `required` to `aria-required` so that form submission isn't blocked, but required state is still announced by screen readers\n required: false,\n 'aria-required': isRequired,\n 'aria-invalid': isInvalid || undefined,\n }}\n >\n <RACInput\n className={clsx('cim-combo-box-input', textStyle({ variant: 'body' }))}\n // Ensure the popover opens when the input is clicked.\n // By default, React Aria only opens the popover when the input is focused.\n onClick={() => !isReadOnly && comboBoxState!.open()}\n placeholder={placeholder}\n onFocus={() => onFocusChange(true)}\n onBlur={() => onFocusChange(false)}\n aria-describedby={[descriptionId, errorMessageId, ariaDescribedby].filter(Boolean).join(' ') || undefined}\n />\n </RACInputContext.Provider>\n );\n}\n"]}
|