@accelint/design-toolkit 7.0.1 → 8.1.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 +1 -1
- package/catalog-info.yaml +12 -6
- package/dist/components/accordion/context.d.ts +0 -2
- package/dist/components/accordion/group.d.ts +0 -2
- package/dist/components/accordion/group.js +1 -1
- package/dist/components/accordion/group.js.map +1 -1
- package/dist/components/accordion/header.d.ts +0 -2
- package/dist/components/accordion/header.js +1 -1
- package/dist/components/accordion/header.js.map +1 -1
- package/dist/components/accordion/index.d.ts +0 -2
- package/dist/components/accordion/index.js +1 -1
- package/dist/components/accordion/index.js.map +1 -1
- package/dist/components/accordion/panel.d.ts +0 -2
- package/dist/components/accordion/panel.js +1 -1
- package/dist/components/accordion/panel.js.map +1 -1
- package/dist/components/accordion/styles.module.css +65 -0
- package/dist/components/accordion/trigger.d.ts +0 -2
- package/dist/components/accordion/trigger.js +1 -1
- package/dist/components/accordion/trigger.js.map +1 -1
- package/dist/components/accordion/types.d.ts +5 -5
- package/dist/components/action-bar/index.d.ts +1 -1
- package/dist/components/action-bar/index.js +1 -1
- package/dist/components/action-bar/index.js.map +1 -1
- package/dist/components/action-bar/styles.module.css +27 -0
- package/dist/components/action-bar/types.d.ts +3 -1
- package/dist/components/avatar/context.d.ts +0 -3
- package/dist/components/avatar/index.d.ts +0 -3
- package/dist/components/avatar/index.js +1 -1
- package/dist/components/avatar/index.js.map +1 -1
- package/dist/components/avatar/styles.module.css +45 -0
- package/dist/components/avatar/types.d.ts +1 -4
- package/dist/components/badge/context.d.ts +0 -2
- package/dist/components/badge/index.d.ts +0 -2
- package/dist/components/badge/index.js +1 -1
- package/dist/components/badge/index.js.map +1 -1
- package/dist/components/badge/styles.module.css +67 -0
- package/dist/components/badge/types.d.ts +3 -4
- package/dist/components/breadcrumbs/index.js +1 -1
- package/dist/components/breadcrumbs/index.js.map +1 -1
- package/dist/components/breadcrumbs/item.js +1 -1
- package/dist/components/breadcrumbs/item.js.map +1 -1
- package/dist/components/breadcrumbs/styles.module.css +41 -0
- package/dist/components/button/context.d.ts +0 -3
- package/dist/components/button/index.d.ts +0 -3
- package/dist/components/button/index.js +1 -1
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/button/link.d.ts +0 -3
- package/dist/components/button/link.js +1 -1
- package/dist/components/button/link.js.map +1 -1
- package/dist/components/button/styles.module.css +917 -0
- package/dist/components/button/toggle.d.ts +0 -3
- package/dist/components/button/toggle.js +1 -1
- package/dist/components/button/toggle.js.map +1 -1
- package/dist/components/button/types.d.ts +6 -6
- package/dist/components/checkbox/group.js +1 -1
- package/dist/components/checkbox/group.js.map +1 -1
- package/dist/components/checkbox/index.js +1 -1
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/checkbox/styles.module.css +111 -0
- package/dist/components/chip/context.d.ts +3 -6
- package/dist/components/chip/context.js +1 -1
- package/dist/components/chip/context.js.map +1 -1
- package/dist/components/chip/deletable.d.ts +0 -3
- package/dist/components/chip/deletable.js +1 -1
- package/dist/components/chip/deletable.js.map +1 -1
- package/dist/components/chip/index.d.ts +0 -3
- package/dist/components/chip/index.js +1 -1
- package/dist/components/chip/index.js.map +1 -1
- package/dist/components/chip/list.d.ts +0 -3
- package/dist/components/chip/list.js +1 -1
- package/dist/components/chip/list.js.map +1 -1
- package/dist/components/chip/selectable.d.ts +0 -3
- package/dist/components/chip/selectable.js +1 -1
- package/dist/components/chip/selectable.js.map +1 -1
- package/dist/components/chip/styles.module.css +129 -0
- package/dist/components/chip/types.d.ts +7 -8
- package/dist/components/classification-badge/context.d.ts +1 -2
- package/dist/components/classification-badge/index.d.ts +1 -2
- package/dist/components/classification-badge/index.js +1 -1
- package/dist/components/classification-badge/index.js.map +1 -1
- package/dist/components/classification-badge/styles.module.css +63 -0
- package/dist/components/classification-badge/types.d.ts +3 -5
- package/dist/components/classification-banner/context.d.ts +0 -2
- package/dist/components/classification-banner/index.d.ts +0 -2
- package/dist/components/classification-banner/index.js +1 -1
- package/dist/components/classification-banner/index.js.map +1 -1
- package/dist/components/classification-banner/styles.module.css +55 -0
- package/dist/components/classification-banner/types.d.ts +4 -5
- package/dist/components/color-picker/index.js +1 -1
- package/dist/components/color-picker/index.js.map +1 -1
- package/dist/components/color-picker/styles.module.css +43 -0
- package/dist/components/combobox-field/context.d.ts +0 -3
- package/dist/components/combobox-field/index.d.ts +0 -3
- package/dist/components/combobox-field/index.js +1 -1
- package/dist/components/combobox-field/index.js.map +1 -1
- package/dist/components/combobox-field/styles.module.css +101 -0
- package/dist/components/combobox-field/types.d.ts +0 -3
- package/dist/components/coordinate-field/context.d.ts +77 -0
- package/dist/components/coordinate-field/context.js +2 -0
- package/dist/components/coordinate-field/context.js.map +1 -0
- package/dist/components/coordinate-field/coordinate-utils.d.ts +282 -0
- package/dist/components/coordinate-field/coordinate-utils.js +2 -0
- package/dist/components/coordinate-field/coordinate-utils.js.map +1 -0
- package/dist/components/coordinate-field/index.d.ts +66 -0
- package/dist/components/coordinate-field/index.js +4 -0
- package/dist/components/coordinate-field/index.js.map +1 -0
- package/dist/components/coordinate-field/segment-configs.d.ts +163 -0
- package/dist/components/coordinate-field/segment-configs.js +2 -0
- package/dist/components/coordinate-field/segment-configs.js.map +1 -0
- package/dist/components/coordinate-field/segment.d.ts +39 -0
- package/dist/components/coordinate-field/segment.js +4 -0
- package/dist/components/coordinate-field/segment.js.map +1 -0
- package/dist/components/coordinate-field/styles.module.css +129 -0
- package/dist/components/coordinate-field/types.d.ts +194 -0
- package/dist/components/coordinate-field/types.js +2 -0
- package/dist/components/coordinate-field/types.js.map +1 -0
- package/dist/components/coordinate-field/width-utils.d.ts +29 -0
- package/dist/components/coordinate-field/width-utils.js +2 -0
- package/dist/components/coordinate-field/width-utils.js.map +1 -0
- package/dist/components/date-field/index.d.ts +0 -2
- package/dist/components/date-field/index.js +1 -1
- package/dist/components/date-field/index.js.map +1 -1
- package/dist/components/date-field/styles.module.css +103 -0
- package/dist/components/date-field/types.d.ts +1 -3
- package/dist/components/details-list/context.d.ts +0 -2
- package/dist/components/details-list/index.d.ts +0 -2
- package/dist/components/details-list/index.js +1 -1
- package/dist/components/details-list/index.js.map +1 -1
- package/dist/components/details-list/label.d.ts +0 -2
- package/dist/components/details-list/styles.module.css +52 -0
- package/dist/components/details-list/types.d.ts +2 -3
- package/dist/components/details-list/value.d.ts +0 -2
- package/dist/components/dialog/content.js +1 -1
- package/dist/components/dialog/content.js.map +1 -1
- package/dist/components/dialog/footer.js +1 -1
- package/dist/components/dialog/footer.js.map +1 -1
- package/dist/components/dialog/index.js +1 -1
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/dialog/styles.module.css +86 -0
- package/dist/components/dialog/title.js +1 -1
- package/dist/components/dialog/title.js.map +1 -1
- package/dist/components/dialog/trigger.d.ts +5 -1
- package/dist/components/dialog/trigger.js +1 -1
- package/dist/components/dialog/trigger.js.map +1 -1
- package/dist/components/divider/index.js +1 -1
- package/dist/components/divider/index.js.map +1 -1
- package/dist/components/divider/styles.module.css +44 -0
- package/dist/components/drawer/back.js +1 -1
- package/dist/components/drawer/back.js.map +1 -1
- package/dist/components/drawer/close.js +1 -1
- package/dist/components/drawer/close.js.map +1 -1
- package/dist/components/drawer/content.js +1 -3
- package/dist/components/drawer/content.js.map +1 -1
- package/dist/components/drawer/context.d.ts +0 -4
- package/dist/components/drawer/footer.js +1 -3
- package/dist/components/drawer/footer.js.map +1 -1
- package/dist/components/drawer/header-title.d.ts +0 -4
- package/dist/components/drawer/header-title.js +1 -3
- package/dist/components/drawer/header-title.js.map +1 -1
- package/dist/components/drawer/header.js +1 -1
- package/dist/components/drawer/header.js.map +1 -1
- package/dist/components/drawer/index.d.ts +0 -4
- package/dist/components/drawer/index.js +1 -1
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/drawer/layout-main.js +1 -3
- package/dist/components/drawer/layout-main.js.map +1 -1
- package/dist/components/drawer/layout.d.ts +0 -4
- package/dist/components/drawer/layout.js +1 -3
- package/dist/components/drawer/layout.js.map +1 -1
- package/dist/components/drawer/menu-item.d.ts +0 -4
- package/dist/components/drawer/menu-item.js +1 -1
- package/dist/components/drawer/menu-item.js.map +1 -1
- package/dist/components/drawer/menu.d.ts +0 -4
- package/dist/components/drawer/menu.js +1 -3
- package/dist/components/drawer/menu.js.map +1 -1
- package/dist/components/drawer/panel.js +1 -3
- package/dist/components/drawer/panel.js.map +1 -1
- package/dist/components/drawer/styles.module.css +304 -0
- package/dist/components/drawer/trigger.d.ts +0 -4
- package/dist/components/drawer/trigger.js +1 -1
- package/dist/components/drawer/trigger.js.map +1 -1
- package/dist/components/drawer/types.d.ts +3 -5
- package/dist/components/drawer/view.js +1 -1
- package/dist/components/drawer/view.js.map +1 -1
- package/dist/components/flashcard/index.d.ts +57 -0
- package/dist/components/flashcard/index.js +4 -0
- package/dist/components/flashcard/index.js.map +1 -0
- package/dist/components/flashcard/styles.module.css +60 -0
- package/dist/components/flashcard/types.d.ts +13 -0
- package/dist/components/hero/index.js +1 -1
- package/dist/components/hero/index.js.map +1 -1
- package/dist/components/hero/styles.module.css +51 -0
- package/dist/components/hotkey/context.d.ts +0 -2
- package/dist/components/hotkey/index.d.ts +0 -2
- package/dist/components/hotkey/index.js +1 -1
- package/dist/components/hotkey/index.js.map +1 -1
- package/dist/components/hotkey/set.d.ts +6 -0
- package/dist/components/hotkey/set.js +4 -0
- package/dist/components/hotkey/set.js.map +1 -0
- package/dist/components/hotkey/styles.module.css +36 -0
- package/dist/components/hotkey/types.d.ts +5 -6
- package/dist/components/icon/index.js +1 -1
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/icon/styles.module.css +38 -0
- package/dist/components/input/context.d.ts +0 -4
- package/dist/components/input/index.d.ts +0 -4
- package/dist/components/input/index.js +1 -1
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/input/styles.module.css +175 -0
- package/dist/components/input/types.d.ts +7 -6
- package/dist/components/kanban/card-body.d.ts +12 -0
- package/dist/components/kanban/card-body.js +4 -0
- package/dist/components/kanban/card-body.js.map +1 -0
- package/dist/components/kanban/card-header-actions.d.ts +12 -0
- package/dist/components/kanban/card-header-actions.js +4 -0
- package/dist/components/kanban/card-header-actions.js.map +1 -0
- package/dist/components/kanban/card-header-title.d.ts +12 -0
- package/dist/components/kanban/card-header-title.js +4 -0
- package/dist/components/kanban/card-header-title.js.map +1 -0
- package/dist/components/kanban/card-header.d.ts +12 -0
- package/dist/components/kanban/card-header.js +4 -0
- package/dist/components/kanban/card-header.js.map +1 -0
- package/dist/components/kanban/card.d.ts +12 -0
- package/dist/components/kanban/card.js +4 -0
- package/dist/components/kanban/card.js.map +1 -0
- package/dist/components/kanban/column-actions.d.ts +12 -0
- package/dist/components/kanban/column-actions.js +4 -0
- package/dist/components/kanban/column-actions.js.map +1 -0
- package/dist/components/kanban/column-container.d.ts +12 -0
- package/dist/components/kanban/column-container.js +4 -0
- package/dist/components/kanban/column-container.js.map +1 -0
- package/dist/components/kanban/column-content.d.ts +12 -0
- package/dist/components/kanban/column-content.js +4 -0
- package/dist/components/kanban/column-content.js.map +1 -0
- package/dist/components/kanban/column-header-actions.d.ts +12 -0
- package/dist/components/kanban/column-header-actions.js +4 -0
- package/dist/components/kanban/column-header-actions.js.map +1 -0
- package/dist/components/kanban/column-header-drag-handle.d.ts +5 -0
- package/dist/components/kanban/column-header-drag-handle.js +4 -0
- package/dist/components/kanban/column-header-drag-handle.js.map +1 -0
- package/dist/components/kanban/column-header-title.d.ts +12 -0
- package/dist/components/kanban/column-header-title.js +4 -0
- package/dist/components/kanban/column-header-title.js.map +1 -0
- package/dist/components/kanban/column-header.d.ts +12 -0
- package/dist/components/kanban/column-header.js +4 -0
- package/dist/components/kanban/column-header.js.map +1 -0
- package/dist/components/kanban/column.d.ts +12 -0
- package/dist/components/kanban/column.js +4 -0
- package/dist/components/kanban/column.js.map +1 -0
- package/dist/components/kanban/context.d.ts +101 -0
- package/dist/components/kanban/context.js +2 -0
- package/dist/components/kanban/context.js.map +1 -0
- package/dist/components/kanban/header-actions.d.ts +12 -0
- package/dist/components/kanban/header-actions.js +4 -0
- package/dist/components/kanban/header-actions.js.map +1 -0
- package/dist/components/kanban/header-search.d.ts +12 -0
- package/dist/components/kanban/header-search.js +4 -0
- package/dist/components/kanban/header-search.js.map +1 -0
- package/dist/components/kanban/header-title.d.ts +12 -0
- package/dist/components/kanban/header-title.js +4 -0
- package/dist/components/kanban/header-title.js.map +1 -0
- package/dist/components/kanban/header.d.ts +12 -0
- package/dist/components/kanban/header.js +4 -0
- package/dist/components/kanban/header.js.map +1 -0
- package/dist/components/kanban/index.d.ts +9 -0
- package/dist/components/kanban/index.js +2 -0
- package/dist/components/kanban/index.js.map +1 -0
- package/dist/components/kanban/kanban.d.ts +18 -0
- package/dist/components/kanban/kanban.js +4 -0
- package/dist/components/kanban/kanban.js.map +1 -0
- package/dist/components/kanban/mock-data.d.ts +14 -0
- package/dist/components/kanban/mock-data.js +2 -0
- package/dist/components/kanban/mock-data.js.map +1 -0
- package/dist/components/kanban/styles.module.css +117 -0
- package/dist/components/kanban/types.d.ts +50 -0
- package/dist/components/kanban/types.js +2 -0
- package/dist/components/kanban/types.js.map +1 -0
- package/dist/components/label/index.js +1 -1
- package/dist/components/label/index.js.map +1 -1
- package/dist/components/label/styles.module.css +23 -0
- package/dist/components/lines/index.d.ts +0 -2
- package/dist/components/lines/index.js +1 -1
- package/dist/components/lines/index.js.map +1 -1
- package/dist/components/lines/styles.module.css +95 -0
- package/dist/components/lines/types.d.ts +4 -5
- package/dist/components/link/index.js +1 -1
- package/dist/components/link/index.js.map +1 -1
- package/dist/components/link/styles.module.css +37 -0
- package/dist/components/menu/context.d.ts +0 -2
- package/dist/components/menu/index.d.ts +0 -2
- package/dist/components/menu/index.js +1 -1
- package/dist/components/menu/index.js.map +1 -1
- package/dist/components/menu/item-description.js +1 -1
- package/dist/components/menu/item-description.js.map +1 -1
- package/dist/components/menu/item-label.js +1 -1
- package/dist/components/menu/item-label.js.map +1 -1
- package/dist/components/menu/item.d.ts +0 -2
- package/dist/components/menu/item.js +1 -1
- package/dist/components/menu/item.js.map +1 -1
- package/dist/components/menu/section.d.ts +0 -2
- package/dist/components/menu/section.js +1 -1
- package/dist/components/menu/section.js.map +1 -1
- package/dist/components/menu/separator.js +1 -1
- package/dist/components/menu/separator.js.map +1 -1
- package/dist/components/menu/styles.module.css +415 -0
- package/dist/components/menu/trigger.d.ts +5 -1
- package/dist/components/menu/trigger.js +1 -1
- package/dist/components/menu/trigger.js.map +1 -1
- package/dist/components/menu/types.d.ts +2 -3
- package/dist/components/notice/index.d.ts +0 -3
- package/dist/components/notice/index.js +1 -1
- package/dist/components/notice/index.js.map +1 -1
- package/dist/components/notice/list.d.ts +0 -3
- package/dist/components/notice/list.js +1 -1
- package/dist/components/notice/list.js.map +1 -1
- package/dist/components/notice/notice-icon.d.ts +0 -3
- package/dist/components/notice/styles.module.css +133 -0
- package/dist/components/notice/types.d.ts +3 -6
- package/dist/components/options/index.js +1 -1
- package/dist/components/options/index.js.map +1 -1
- package/dist/components/options/item-content.d.ts +2 -5
- package/dist/components/options/item-content.js +1 -3
- package/dist/components/options/item-content.js.map +1 -1
- package/dist/components/options/item-description.d.ts +2 -5
- package/dist/components/options/item-description.js +1 -3
- package/dist/components/options/item-description.js.map +1 -1
- package/dist/components/options/item-label.d.ts +2 -5
- package/dist/components/options/item-label.js +1 -3
- package/dist/components/options/item-label.js.map +1 -1
- package/dist/components/options/item.js +1 -1
- package/dist/components/options/item.js.map +1 -1
- package/dist/components/options/section.js +1 -3
- package/dist/components/options/section.js.map +1 -1
- package/dist/components/options/styles.module.css +397 -0
- package/dist/components/options/types.d.ts +2 -3
- package/dist/components/pagination/context.d.ts +9 -0
- package/dist/components/pagination/context.js +4 -0
- package/dist/components/pagination/context.js.map +1 -0
- package/dist/components/pagination/index.d.ts +25 -0
- package/dist/components/pagination/index.js +4 -0
- package/dist/components/pagination/index.js.map +1 -0
- package/dist/components/pagination/next.d.ts +10 -0
- package/dist/components/pagination/next.js +4 -0
- package/dist/components/pagination/next.js.map +1 -0
- package/dist/components/pagination/pages.d.ts +10 -0
- package/dist/components/pagination/pages.js +4 -0
- package/dist/components/pagination/pages.js.map +1 -0
- package/dist/components/pagination/prev.d.ts +10 -0
- package/dist/components/pagination/prev.js +4 -0
- package/dist/components/pagination/prev.js.map +1 -0
- package/dist/components/pagination/styles.module.css +25 -0
- package/dist/components/pagination/types.d.ts +35 -0
- package/dist/components/pagination/types.js +2 -0
- package/dist/components/pagination/types.js.map +1 -0
- package/dist/components/pagination/utils.d.ts +16 -0
- package/dist/components/pagination/utils.js +2 -0
- package/dist/components/pagination/utils.js.map +1 -0
- package/dist/components/popover/content.d.ts +2 -4
- package/dist/components/popover/content.js +1 -1
- package/dist/components/popover/content.js.map +1 -1
- package/dist/components/popover/footer.d.ts +2 -5
- package/dist/components/popover/footer.js +1 -1
- package/dist/components/popover/footer.js.map +1 -1
- package/dist/components/popover/index.d.ts +15 -19
- package/dist/components/popover/index.js +1 -1
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/popover/styles.module.css +32 -0
- package/dist/components/popover/title.d.ts +2 -4
- package/dist/components/popover/title.js +1 -1
- package/dist/components/popover/title.js.map +1 -1
- package/dist/components/popover/trigger.d.ts +1 -1
- package/dist/components/popover/trigger.js +1 -1
- package/dist/components/popover/trigger.js.map +1 -1
- package/dist/components/popover/types.d.ts +11 -22
- package/dist/components/query-builder/index.js +1 -1
- package/dist/components/query-builder/index.js.map +1 -1
- package/dist/components/query-builder/rule-group.js +1 -1
- package/dist/components/query-builder/rule-group.js.map +1 -1
- package/dist/components/query-builder/rule.js +1 -1
- package/dist/components/query-builder/rule.js.map +1 -1
- package/dist/components/query-builder/styles.module.css +87 -0
- package/dist/components/query-builder/value-editor.js +1 -1
- package/dist/components/query-builder/value-editor.js.map +1 -1
- package/dist/components/radio/group.js +1 -1
- package/dist/components/radio/group.js.map +1 -1
- package/dist/components/radio/index.js +1 -1
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/radio/styles.module.css +118 -0
- package/dist/components/search-field/context.d.ts +0 -4
- package/dist/components/search-field/index.d.ts +0 -4
- package/dist/components/search-field/index.js +1 -1
- package/dist/components/search-field/index.js.map +1 -1
- package/dist/components/search-field/styles.module.css +104 -0
- package/dist/components/search-field/types.d.ts +2 -7
- package/dist/components/select-field/context.d.ts +0 -3
- package/dist/components/select-field/index.d.ts +0 -3
- package/dist/components/select-field/index.js +1 -1
- package/dist/components/select-field/index.js.map +1 -1
- package/dist/components/select-field/styles.module.css +78 -0
- package/dist/components/select-field/types.d.ts +0 -3
- package/dist/components/sidenav/avatar.js +1 -1
- package/dist/components/sidenav/avatar.js.map +1 -1
- package/dist/components/sidenav/content.js +1 -1
- package/dist/components/sidenav/content.js.map +1 -1
- package/dist/components/sidenav/footer.js +1 -3
- package/dist/components/sidenav/footer.js.map +1 -1
- package/dist/components/sidenav/header.js +1 -1
- package/dist/components/sidenav/header.js.map +1 -1
- package/dist/components/sidenav/index.js +1 -1
- package/dist/components/sidenav/index.js.map +1 -1
- package/dist/components/sidenav/item.js +1 -1
- package/dist/components/sidenav/item.js.map +1 -1
- package/dist/components/sidenav/link.js +1 -1
- package/dist/components/sidenav/link.js.map +1 -1
- package/dist/components/sidenav/menu-item.js +1 -3
- package/dist/components/sidenav/menu-item.js.map +1 -1
- package/dist/components/sidenav/menu.js +1 -1
- package/dist/components/sidenav/menu.js.map +1 -1
- package/dist/components/sidenav/styles.module.css +311 -0
- package/dist/components/sidenav/types.d.ts +1 -2
- package/dist/components/skeleton/index.d.ts +2 -4
- package/dist/components/skeleton/index.js +1 -1
- package/dist/components/skeleton/index.js.map +1 -1
- package/dist/components/skeleton/styles.module.css +33 -0
- package/dist/components/skeleton/types.d.ts +4 -5
- package/dist/components/slider/index.js +1 -1
- package/dist/components/slider/index.js.map +1 -1
- package/dist/components/slider/styles.module.css +220 -0
- package/dist/components/switch/index.js +1 -1
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/switch/styles.module.css +116 -0
- package/dist/components/table/body.d.ts +0 -3
- package/dist/components/table/body.js +1 -1
- package/dist/components/table/body.js.map +1 -1
- package/dist/components/table/cell.d.ts +0 -3
- package/dist/components/table/cell.js +1 -1
- package/dist/components/table/cell.js.map +1 -1
- package/dist/components/table/context.d.ts +0 -3
- package/dist/components/table/header-cell.d.ts +0 -3
- package/dist/components/table/header-cell.js +1 -1
- package/dist/components/table/header-cell.js.map +1 -1
- package/dist/components/table/header.d.ts +0 -3
- package/dist/components/table/header.js +1 -1
- package/dist/components/table/header.js.map +1 -1
- package/dist/components/table/index.d.ts +1 -4
- package/dist/components/table/index.js +1 -1
- package/dist/components/table/index.js.map +1 -1
- package/dist/components/table/row.d.ts +0 -3
- package/dist/components/table/row.js +1 -1
- package/dist/components/table/row.js.map +1 -1
- package/dist/components/table/styles.module.css +98 -0
- package/dist/components/table/types.d.ts +37 -16
- package/dist/components/tabs/index.js +1 -1
- package/dist/components/tabs/index.js.map +1 -1
- package/dist/components/tabs/list.js +1 -1
- package/dist/components/tabs/list.js.map +1 -1
- package/dist/components/tabs/panel.js +1 -1
- package/dist/components/tabs/panel.js.map +1 -1
- package/dist/components/tabs/styles.module.css +140 -0
- package/dist/components/tabs/tab.js +1 -1
- package/dist/components/tabs/tab.js.map +1 -1
- package/dist/components/text-area-field/index.js +1 -1
- package/dist/components/text-area-field/index.js.map +1 -1
- package/dist/components/text-area-field/styles.module.css +67 -0
- package/dist/components/text-field/context.d.ts +0 -4
- package/dist/components/text-field/index.d.ts +24 -4
- package/dist/components/text-field/index.js +1 -1
- package/dist/components/text-field/index.js.map +1 -1
- package/dist/components/text-field/styles.module.css +37 -0
- package/dist/components/text-field/types.d.ts +0 -4
- package/dist/components/time-field/index.d.ts +0 -3
- package/dist/components/time-field/index.js +1 -1
- package/dist/components/time-field/index.js.map +1 -1
- package/dist/components/time-field/styles.module.css +75 -0
- package/dist/components/time-field/types.d.ts +2 -5
- package/dist/components/tooltip/index.js +1 -1
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/tooltip/styles.module.css +20 -0
- package/dist/components/tree/context.d.ts +0 -2
- package/dist/components/tree/context.js +1 -1
- package/dist/components/tree/context.js.map +1 -1
- package/dist/components/tree/index.d.ts +0 -2
- package/dist/components/tree/index.js +1 -1
- package/dist/components/tree/index.js.map +1 -1
- package/dist/components/tree/item-actions.js +1 -1
- package/dist/components/tree/item-actions.js.map +1 -1
- package/dist/components/tree/item-content.d.ts +0 -2
- package/dist/components/tree/item-content.js +1 -1
- package/dist/components/tree/item-content.js.map +1 -1
- package/dist/components/tree/item-description.js +1 -1
- package/dist/components/tree/item-description.js.map +1 -1
- package/dist/components/tree/item-label.js +1 -1
- package/dist/components/tree/item-label.js.map +1 -1
- package/dist/components/tree/item-prefix-icon.js +1 -1
- package/dist/components/tree/item-prefix-icon.js.map +1 -1
- package/dist/components/tree/item.d.ts +0 -2
- package/dist/components/tree/item.js +1 -1
- package/dist/components/tree/item.js.map +1 -1
- package/dist/components/tree/lines.js +1 -1
- package/dist/components/tree/lines.js.map +1 -1
- package/dist/components/tree/styles.module.css +183 -0
- package/dist/components/tree/types.d.ts +6 -5
- package/dist/hooks/coordinate-field/index.d.ts +9 -0
- package/dist/hooks/coordinate-field/index.js +2 -0
- package/dist/hooks/coordinate-field/index.js.map +1 -0
- package/dist/hooks/coordinate-field/use-coordinate-copy.d.ts +19 -0
- package/dist/hooks/coordinate-field/use-coordinate-copy.js +2 -0
- package/dist/hooks/coordinate-field/use-coordinate-copy.js.map +1 -0
- package/dist/hooks/coordinate-field/use-coordinate-field-state.d.ts +28 -0
- package/dist/hooks/coordinate-field/use-coordinate-field-state.js +2 -0
- package/dist/hooks/coordinate-field/use-coordinate-field-state.js.map +1 -0
- package/dist/hooks/coordinate-field/use-coordinate-field.d.ts +49 -0
- package/dist/hooks/coordinate-field/use-coordinate-field.js +2 -0
- package/dist/hooks/coordinate-field/use-coordinate-field.js.map +1 -0
- package/dist/hooks/coordinate-field/use-coordinate-focus.d.ts +21 -0
- package/dist/hooks/coordinate-field/use-coordinate-focus.js +2 -0
- package/dist/hooks/coordinate-field/use-coordinate-focus.js.map +1 -0
- package/dist/hooks/coordinate-field/use-coordinate-paste.d.ts +21 -0
- package/dist/hooks/coordinate-field/use-coordinate-paste.js +2 -0
- package/dist/hooks/coordinate-field/use-coordinate-paste.js.map +1 -0
- package/dist/hooks/coordinate-field/use-timeout-cleanup.d.ts +6 -0
- package/dist/hooks/coordinate-field/use-timeout-cleanup.js +2 -0
- package/dist/hooks/coordinate-field/use-timeout-cleanup.js.map +1 -0
- package/dist/hooks/kanban/index.d.ts +93 -0
- package/dist/hooks/kanban/index.js +2 -0
- package/dist/hooks/kanban/index.js.map +1 -0
- package/dist/index.d.ts +60 -61
- package/dist/index.js +1 -1
- package/dist/index.module.css +19 -0
- package/dist/lib/utils.d.ts +1 -17
- package/dist/lib/utils.js +1 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/providers/theme-provider.d.ts +1 -1
- package/dist/providers/theme-provider.js +1 -1
- package/dist/providers/theme-provider.js.map +1 -1
- package/package.json +37 -49
- package/dist/components/accordion/styles.d.ts +0 -56
- package/dist/components/accordion/styles.js +0 -2
- package/dist/components/accordion/styles.js.map +0 -1
- package/dist/components/action-bar/styles.d.ts +0 -5
- package/dist/components/action-bar/styles.js +0 -2
- package/dist/components/action-bar/styles.js.map +0 -1
- package/dist/components/avatar/styles.d.ts +0 -48
- package/dist/components/avatar/styles.js +0 -2
- package/dist/components/avatar/styles.js.map +0 -1
- package/dist/components/badge/styles.d.ts +0 -32
- package/dist/components/badge/styles.js +0 -2
- package/dist/components/badge/styles.js.map +0 -1
- package/dist/components/breadcrumbs/styles.d.ts +0 -48
- package/dist/components/breadcrumbs/styles.js +0 -2
- package/dist/components/breadcrumbs/styles.js.map +0 -1
- package/dist/components/button/styles.d.ts +0 -129
- package/dist/components/button/styles.js +0 -2
- package/dist/components/button/styles.js.map +0 -1
- package/dist/components/checkbox/styles.d.ts +0 -54
- package/dist/components/checkbox/styles.js +0 -2
- package/dist/components/checkbox/styles.js.map +0 -1
- package/dist/components/chip/styles.d.ts +0 -247
- package/dist/components/chip/styles.js +0 -2
- package/dist/components/chip/styles.js.map +0 -1
- package/dist/components/classification-badge/styles.d.ts +0 -38
- package/dist/components/classification-badge/styles.js +0 -2
- package/dist/components/classification-badge/styles.js.map +0 -1
- package/dist/components/classification-banner/styles.d.ts +0 -38
- package/dist/components/classification-banner/styles.js +0 -2
- package/dist/components/classification-banner/styles.js.map +0 -1
- package/dist/components/color-picker/styles.d.ts +0 -42
- package/dist/components/color-picker/styles.js +0 -2
- package/dist/components/color-picker/styles.js.map +0 -1
- package/dist/components/combobox-field/styles.d.ts +0 -72
- package/dist/components/combobox-field/styles.js +0 -2
- package/dist/components/combobox-field/styles.js.map +0 -1
- package/dist/components/date-field/styles.d.ts +0 -59
- package/dist/components/date-field/styles.js +0 -2
- package/dist/components/date-field/styles.js.map +0 -1
- package/dist/components/details-list/styles.d.ts +0 -65
- package/dist/components/details-list/styles.js +0 -2
- package/dist/components/details-list/styles.js.map +0 -1
- package/dist/components/dialog/styles.d.ts +0 -60
- package/dist/components/dialog/styles.js +0 -2
- package/dist/components/dialog/styles.js.map +0 -1
- package/dist/components/divider/styles.d.ts +0 -5
- package/dist/components/divider/styles.js +0 -2
- package/dist/components/divider/styles.js.map +0 -1
- package/dist/components/drawer/styles.d.ts +0 -152
- package/dist/components/drawer/styles.js +0 -2
- package/dist/components/drawer/styles.js.map +0 -1
- package/dist/components/hero/styles.d.ts +0 -48
- package/dist/components/hero/styles.js +0 -2
- package/dist/components/hero/styles.js.map +0 -1
- package/dist/components/hotkey/hotkey-set.d.ts +0 -9
- package/dist/components/hotkey/hotkey-set.js +0 -4
- package/dist/components/hotkey/hotkey-set.js.map +0 -1
- package/dist/components/hotkey/styles.d.ts +0 -53
- package/dist/components/hotkey/styles.js +0 -2
- package/dist/components/hotkey/styles.js.map +0 -1
- package/dist/components/icon/styles.d.ts +0 -5
- package/dist/components/icon/styles.js +0 -2
- package/dist/components/icon/styles.js.map +0 -1
- package/dist/components/input/styles.d.ts +0 -142
- package/dist/components/input/styles.js +0 -2
- package/dist/components/input/styles.js.map +0 -1
- package/dist/components/label/styles.d.ts +0 -5
- package/dist/components/label/styles.js +0 -2
- package/dist/components/label/styles.js.map +0 -1
- package/dist/components/lines/styles.d.ts +0 -32
- package/dist/components/lines/styles.js +0 -2
- package/dist/components/lines/styles.js.map +0 -1
- package/dist/components/link/styles.d.ts +0 -5
- package/dist/components/link/styles.js +0 -2
- package/dist/components/link/styles.js.map +0 -1
- package/dist/components/menu/styles.d.ts +0 -71
- package/dist/components/menu/styles.js +0 -2
- package/dist/components/menu/styles.js.map +0 -1
- package/dist/components/notice/styles.d.ts +0 -60
- package/dist/components/notice/styles.js +0 -2
- package/dist/components/notice/styles.js.map +0 -1
- package/dist/components/options/styles.d.ts +0 -72
- package/dist/components/options/styles.js +0 -2
- package/dist/components/options/styles.js.map +0 -1
- package/dist/components/popover/body.d.ts +0 -8
- package/dist/components/popover/body.js +0 -4
- package/dist/components/popover/body.js.map +0 -1
- package/dist/components/popover/styles.d.ts +0 -48
- package/dist/components/popover/styles.js +0 -2
- package/dist/components/popover/styles.js.map +0 -1
- package/dist/components/query-builder/styles.d.ts +0 -152
- package/dist/components/query-builder/styles.js +0 -2
- package/dist/components/query-builder/styles.js.map +0 -1
- package/dist/components/radio/styles.d.ts +0 -54
- package/dist/components/radio/styles.js +0 -2
- package/dist/components/radio/styles.js.map +0 -1
- package/dist/components/search-field/styles.d.ts +0 -53
- package/dist/components/search-field/styles.js +0 -2
- package/dist/components/search-field/styles.js.map +0 -1
- package/dist/components/select-field/styles.d.ts +0 -66
- package/dist/components/select-field/styles.js +0 -2
- package/dist/components/select-field/styles.js.map +0 -1
- package/dist/components/sidenav/styles.d.ts +0 -156
- package/dist/components/sidenav/styles.js +0 -2
- package/dist/components/sidenav/styles.js.map +0 -1
- package/dist/components/skeleton/styles.d.ts +0 -23
- package/dist/components/skeleton/styles.js +0 -2
- package/dist/components/skeleton/styles.js.map +0 -1
- package/dist/components/slider/styles.d.ts +0 -84
- package/dist/components/slider/styles.js +0 -2
- package/dist/components/slider/styles.js.map +0 -1
- package/dist/components/switch/styles.d.ts +0 -44
- package/dist/components/switch/styles.js +0 -2
- package/dist/components/switch/styles.js.map +0 -1
- package/dist/components/table/styles.d.ts +0 -134
- package/dist/components/table/styles.js +0 -2
- package/dist/components/table/styles.js.map +0 -1
- package/dist/components/tabs/styles.d.ts +0 -48
- package/dist/components/tabs/styles.js +0 -2
- package/dist/components/tabs/styles.js.map +0 -1
- package/dist/components/text-area-field/styles.d.ts +0 -54
- package/dist/components/text-area-field/styles.js +0 -2
- package/dist/components/text-area-field/styles.js.map +0 -1
- package/dist/components/text-field/styles.d.ts +0 -54
- package/dist/components/text-field/styles.js +0 -2
- package/dist/components/text-field/styles.js.map +0 -1
- package/dist/components/time-field/styles.d.ts +0 -69
- package/dist/components/time-field/styles.js +0 -2
- package/dist/components/time-field/styles.js.map +0 -1
- package/dist/components/tooltip/styles.d.ts +0 -5
- package/dist/components/tooltip/styles.js +0 -2
- package/dist/components/tooltip/styles.js.map +0 -1
- package/dist/components/tree/styles.d.ts +0 -128
- package/dist/components/tree/styles.js +0 -2
- package/dist/components/tree/styles.js.map +0 -1
- package/dist/index.css +0 -196
- package/dist/styles.css +0 -9484
- package/dist/tokens/themes.css +0 -882
- package/dist/tokens/themes.d.ts +0 -1
- package/dist/tokens/tokens.css +0 -202
- package/dist/tokens/tokens.d.ts +0 -468
- package/dist/tokens/tokens.js +0 -2
- package/dist/tokens/tokens.js.map +0 -1
- package/dist/tokens/types.d.ts +0 -308
- package/dist/variants/variants.css +0 -86
- package/dist/variants/variants.d.ts +0 -2
- /package/dist/{tokens → components/flashcard}/types.js +0 -0
- /package/dist/{tokens → components/flashcard}/types.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/table/index.tsx"],"names":["moveRowsUp","we","enableRowActions","useContext","TableContext","row","le","O","jsxs","MenuTrigger","jsx","o","M","ue","Icon","Kebab","Menu","MenuItem","U","isPinned","b","MenuSeparator","menuItem","rows","children","persistRowKebabMenu","enableSorting","enableColumnReordering","manualSorting","moveBefore","setRowSelection","useState","columnSelection","ne","rowsToMove","rowSelection","id","T","firstRowToMove","prevRowId","moveRowsDown","lastRowToMove","g","nextRowId","actionColumn","RowActionsMenu","columns","useMemo","B","showCheckbox","Checkbox","table","K","kebabPosition","handleSortChange","columnId","sortDirection","onSortChange","handleColumnReordering","index","onColumnReorderChange","getHeaderGroups","getTopRows","useReactTable","re","moveColumnLeft","newColumnOrder","newIndex","se","oldIndex","useCallback","setColumnOrder","order","rest","persistHeaderKebabMenu","getCenterRows","pe","getBottomRows","de"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport { Kebab, Pin } from '@accelint/icons';\nimport { useListData } from '@react-stately/data';\nimport {\n getCoreRowModel,\n getSortedRowModel,\n type Row,\n type RowPinningState,\n type RowSelectionState,\n useReactTable,\n} from '@tanstack/react-table';\nimport type { Key } from '@react-types/shared';\nimport 'client-only';\nimport { useCallback, useContext, useMemo, useState } from 'react';\nimport { Button } from '../button';\nimport { Checkbox } from '../checkbox';\nimport { Icon } from '../icon';\nimport { Menu } from '../menu';\nimport { MenuItem } from '../menu/item';\nimport { MenuSeparator } from '../menu/separator';\nimport { MenuTrigger } from '../menu/trigger';\nimport { TableBody } from './body';\nimport { TableContext } from './context';\nimport { TableHeader } from './header';\nimport { TableStyles } from './styles';\nimport type { TableProps } from './types';\n\nconst { menuItem, notPersistRowKebab } = TableStyles();\n\ntype RowActionsMenuProps<T> = {\n row: Row<T>;\n rows: Row<T>[];\n moveRowsDown: (row: Row<T>, rows: Row<T>[]) => void;\n moveRowsUp: (row: Row<T>, rows: Row<T>[]) => void;\n};\n\nfunction RowActionsMenu<T>({\n moveRowsDown,\n moveRowsUp,\n row,\n rows,\n}: RowActionsMenuProps<T>) {\n const { enableRowActions, persistRowKebabMenu } = useContext(TableContext);\n const isPinned = !!row.getIsPinned();\n\n return (\n enableRowActions && (\n <div className={persistRowKebabMenu ? '' : notPersistRowKebab()}>\n <MenuTrigger>\n <Button variant='icon' aria-label={`row ${row.index + 1} actions`}>\n <Icon>\n <Kebab />\n </Icon>\n </Button>\n <Menu>\n <MenuItem\n classNames={{ item: menuItem() }}\n onAction={() => row.pin(isPinned ? false : 'top')}\n >\n {isPinned ? 'Unpin' : 'Pin'}\n </MenuItem>\n <MenuSeparator />\n <MenuItem\n classNames={{ item: menuItem() }}\n onAction={() => moveRowsUp(row, rows)}\n isDisabled={isPinned || row.index === 0}\n >\n Move Up\n </MenuItem>\n <MenuItem\n classNames={{ item: menuItem() }}\n onAction={() => moveRowsDown(row, rows)}\n isDisabled={isPinned || row.index === rows.length - 1}\n >\n Move Down\n </MenuItem>\n </Menu>\n </MenuTrigger>\n </div>\n )\n );\n}\n\n/**\n * Table - Configurable data table with sorting and row actions\n *\n * Standardizes table behavior (sorting, selection, row actions) and can be\n * used with column definitions from TanStack React Table.\n *\n * @example\n * <Table columns={columns} data={data} />\n */\nexport function Table<T extends { id: Key }>({\n children,\n columns: columnsProp,\n data: dataProp,\n showCheckbox,\n kebabPosition = 'right',\n persistRowKebabMenu = true,\n persistHeaderKebabMenu = true,\n persistNumerals = false,\n enableSorting = true,\n enableColumnReordering = true,\n enableRowActions = true,\n manualSorting = false,\n onSortChange,\n onColumnReorderChange,\n ...rest\n}: TableProps<T>) {\n const {\n items: data,\n moveAfter,\n moveBefore,\n } = useListData({\n initialItems: dataProp,\n });\n const [rowSelection, setRowSelection] = useState<RowSelectionState>({});\n const [columnSelection, setColumnSelection] = useState<string | null>(null);\n const [rowPinning, setRowPinning] = useState<RowPinningState>({\n top: [],\n bottom: [],\n });\n /**\n * moveUpSelectedRows moves the selected rows up in the table.\n * It finds the first selected row, determines its index,\n * and moves it before the previous row if it exists.\n */\n const moveRowsUp = useCallback(\n (row: Row<T>, rows: Row<T>[]) => {\n const isSelected = rowSelection[row.id];\n const rowsToMove = isSelected\n ? rows.filter(({ id }) => rowSelection[id])\n : [row];\n const firstRowToMove = rowsToMove[0];\n\n if (!firstRowToMove || firstRowToMove.index === 0) {\n return;\n }\n\n const prevRowId = rows[firstRowToMove.index - 1]?.id;\n\n if (!prevRowId) {\n return;\n }\n\n moveBefore(\n prevRowId,\n rowsToMove.map(({ id }) => id),\n );\n },\n [rowSelection, moveBefore],\n );\n\n /**\n * moveDownRows moves the selected or active rows down in the table.\n * It finds the last selected row, determines its index,\n * and moves it after the next row if it exists.\n */\n const moveRowsDown = useCallback(\n (row: Row<T>, rows: Row<T>[]) => {\n const isSelected = rowSelection[row.id];\n const rowsToMove = isSelected\n ? rows.filter(({ id }) => rowSelection[id])\n : [row];\n const lastRowToMove = rowsToMove[rowsToMove.length - 1];\n\n if (!lastRowToMove || lastRowToMove.index === rows.length - 1) {\n return;\n }\n\n const nextRowId = rows[lastRowToMove.index + 1]?.id;\n\n if (!nextRowId) {\n return;\n }\n\n moveAfter(\n nextRowId,\n rowsToMove.map(({ id }) => id),\n );\n },\n [rowSelection, moveAfter],\n );\n\n /**\n * actionColumn defines the actions available in the kebab menu for each row.\n * It includes options to move the row up or down in the table.\n */\n // biome-ignore lint/correctness/useExhaustiveDependencies: can of worms to fix ticket added\n const actionColumn: NonNullable<typeof columnsProp>[number] = useMemo(\n () => ({\n id: 'kebab',\n cell: ({ row }) => (\n <RowActionsMenu\n moveRowsUp={moveRowsUp}\n moveRowsDown={moveRowsDown}\n row={row}\n rows={getRowModel().rows}\n />\n ),\n }),\n [moveRowsUp, moveRowsDown],\n );\n\n /**\n * columns defines the structure of the table.\n * It includes the action column and optionally a checkbox column.\n * The kebab menu position can be set to 'left' or 'right'.\n * If showCheckbox is true, a checkbox column is added.\n */\n const columns = useMemo<NonNullable<typeof columnsProp>>(\n () => [\n {\n id: 'numeral',\n cell: ({ row }) =>\n row.getIsPinned() ? (\n <Icon size='small'>\n <Pin />\n </Icon>\n ) : (\n <span data-testid='numeral'>{row.index + 1}</span>\n ),\n },\n ...(showCheckbox\n ? ([\n {\n id: 'selection',\n header: ({ table }) => (\n <Checkbox\n isSelected={table.getIsAllRowsSelected()}\n isIndeterminate={table.getIsSomeRowsSelected()}\n onChange={table.toggleAllRowsSelected}\n />\n ),\n cell: ({ row }) => (\n <Checkbox\n isSelected={row.getIsSelected()}\n isIndeterminate={row.getIsSomeSelected()}\n onChange={row.toggleSelected}\n />\n ),\n },\n ] satisfies NonNullable<typeof columnsProp>)\n : []),\n ...(kebabPosition === 'left' ? [actionColumn] : []),\n ...(columnsProp ?? []),\n ...(kebabPosition === 'right' ? [actionColumn] : []),\n ],\n [showCheckbox, columnsProp, kebabPosition, actionColumn],\n );\n\n const handleSortChange = (\n columnId: string,\n sortDirection: 'asc' | 'desc' | null,\n ) => {\n onSortChange?.(columnId, sortDirection);\n };\n\n const handleColumnReordering = (index: number) => {\n onColumnReorderChange?.(index);\n };\n\n const {\n getHeaderGroups,\n getTopRows,\n getCenterRows,\n getBottomRows,\n getRowModel,\n setColumnOrder,\n } = useReactTable<T>({\n data,\n columns,\n enableSorting,\n initialState: {\n columnOrder: columns.map(({ id }) => id ?? ''),\n },\n state: {\n rowSelection,\n rowPinning,\n },\n getRowId: (row, index) => {\n // Use the index as the row ID if no unique identifier is available\n return row.id ? row.id.toString() : index.toString();\n },\n enableRowSelection: true,\n enableRowPinning: true,\n manualSorting: manualSorting,\n onRowSelectionChange: setRowSelection,\n onRowPinningChange: setRowPinning,\n getCoreRowModel: getCoreRowModel<T>(),\n getSortedRowModel: getSortedRowModel<T>(),\n });\n\n const moveColumnLeft = useCallback(\n (oldIndex: number) => {\n setColumnOrder((order) => {\n const newColumnOrder = [...order];\n const newIndex = oldIndex - 1;\n\n if (newIndex < 0) {\n return order;\n }\n\n [newColumnOrder[oldIndex], newColumnOrder[newIndex]] = [\n newColumnOrder[newIndex] as string,\n newColumnOrder[oldIndex] as string,\n ];\n\n return newColumnOrder;\n });\n },\n [setColumnOrder],\n );\n\n const moveColumnRight = useCallback(\n (oldIndex: number) => {\n setColumnOrder((order) => {\n const newColumnOrder = [...order];\n const newIndex = oldIndex + 1;\n\n if (newIndex >= order.length) {\n return order;\n }\n\n [newColumnOrder[oldIndex], newColumnOrder[newIndex]] = [\n newColumnOrder[newIndex] as string,\n newColumnOrder[oldIndex] as string,\n ];\n\n return newColumnOrder;\n });\n },\n [setColumnOrder],\n );\n\n if (children) {\n return <table {...rest}>{children}</table>;\n }\n\n return (\n <TableContext.Provider\n value={{\n persistRowKebabMenu,\n persistHeaderKebabMenu,\n persistNumerals,\n enableSorting,\n enableColumnReordering,\n enableRowActions,\n columnSelection,\n setColumnSelection,\n moveColumnLeft,\n moveColumnRight,\n manualSorting,\n handleSortChange,\n handleColumnReordering,\n }}\n >\n <table {...rest}>\n <TableHeader\n headerGroups={getHeaderGroups()}\n columnSelection={columnSelection}\n />\n <TableBody\n rows={[...getTopRows(), ...getCenterRows(), ...getBottomRows()]}\n />\n </table>\n </TableContext.Provider>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/table/index.tsx"],"names":["useContext","isPinned","styles","we","G","MenuTrigger","jsx","Button","z","C","fe","o","Re","Kebab","jsxs","Menu","MenuItem","pe","MenuSeparator","moveRowsUp","row","rows","ge","M","moveRowsDown","Table","children","columnsProp","showCheckbox","kebabPosition","enableSorting","enableColumnReordering","enableRowActions","manualSorting","onRowSelectionChange","rest","useListData","dataProp","rowSelection","setRowSelection","rowSelectionProp","columnSelection","setColumnSelection","rowPinning","ce","useCallback","rowsToMove","id","b","w","firstRowToMove","prevRowId","moveBefore","lastRowToMove","nextRowId","moveAfter","RowActionsMenu","O","META_COLUMN_WIDTH","Icon","L","ae","Checkbox","H","actionColumn","handleSortChange","sortDirection","columnId","handleColumnReordering","index","onColumnReorderChange","handleRowSelectionChange","updaterOrValue","getHeaderGroups","getTopRows","getCenterRows","getBottomRows","getRowModel","setColumnOrder","columns","de","getCoreRowModel","me","newColumnOrder","newIndex","oldIndex","order","className","clsx","fullWidth","TableContext","persistHeaderKebabMenu","persistNumerals","Se"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport { Kebab, Pin } from '@accelint/icons';\nimport { useListData } from '@react-stately/data';\nimport {\n getCoreRowModel,\n getSortedRowModel,\n type Row,\n type RowPinningState,\n type RowSelectionState,\n useReactTable,\n} from '@tanstack/react-table';\nimport type { Key } from '@react-types/shared';\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { useCallback, useContext, useMemo, useState } from 'react';\nimport { Button } from '../button';\nimport { Checkbox } from '../checkbox';\nimport { Icon } from '../icon';\nimport { Menu } from '../menu';\nimport { MenuItem } from '../menu/item';\nimport { MenuSeparator } from '../menu/separator';\nimport { MenuTrigger } from '../menu/trigger';\nimport { TableBody } from './body';\nimport { TableContext } from './context';\nimport { TableHeader } from './header';\nimport styles from './styles.module.css';\nimport type { TableProps } from './types';\n\n// This width is for columns in the table that provide features:\n// - Row count\n// - Row actions kebab\n// - Row selection (checkbox)\n// These columns should not need to grow with table width\nconst META_COLUMN_WIDTH = 32;\n\ntype RowActionsMenuProps<T> = {\n row: Row<T>;\n rows: Row<T>[];\n moveRowsDown: (row: Row<T>, rows: Row<T>[]) => void;\n moveRowsUp: (row: Row<T>, rows: Row<T>[]) => void;\n};\n\nfunction RowActionsMenu<T>({\n moveRowsDown,\n moveRowsUp,\n row,\n rows,\n}: RowActionsMenuProps<T>) {\n const { enableRowActions, persistRowKebabMenu } = useContext(TableContext);\n const isPinned = !!row.getIsPinned();\n const hideRowKebab = !persistRowKebabMenu;\n\n return (\n enableRowActions && (\n <div className={clsx(hideRowKebab && styles.hideInRow)}>\n <MenuTrigger>\n <Button variant='icon' aria-label={`row ${row.index + 1} actions`}>\n <Icon>\n <Kebab />\n </Icon>\n </Button>\n <Menu>\n <MenuItem onAction={() => row.pin(isPinned ? false : 'top')}>\n {isPinned ? 'Unpin' : 'Pin'}\n </MenuItem>\n <MenuSeparator />\n <MenuItem\n onAction={() => moveRowsUp(row, rows)}\n isDisabled={isPinned || row.index === 0}\n >\n Move Up\n </MenuItem>\n <MenuItem\n onAction={() => moveRowsDown(row, rows)}\n isDisabled={isPinned || row.index === rows.length - 1}\n >\n Move Down\n </MenuItem>\n </Menu>\n </MenuTrigger>\n </div>\n )\n );\n}\n\n/**\n * Table - Configurable data table with sorting and row actions\n *\n * Standardizes table behavior (sorting, selection, row actions) and can be\n * used with column definitions from TanStack React Table.\n *\n * @example\n * <Table columns={columns} data={data} />\n */\nexport function Table<T extends { id: Key }>({\n children,\n columns: columnsProp,\n data: dataProp,\n showCheckbox,\n rowSelection: rowSelectionProp,\n kebabPosition = 'right',\n persistRowKebabMenu = true,\n persistHeaderKebabMenu = true,\n persistNumerals = false,\n enableSorting = true,\n enableColumnReordering = true,\n enableRowActions = true,\n manualSorting = false,\n onSortChange,\n onColumnReorderChange,\n onRowSelectionChange,\n fullWidth = false,\n ...rest\n}: TableProps<T>) {\n const {\n items: data,\n moveAfter,\n moveBefore,\n } = useListData({\n initialItems: dataProp,\n });\n const [rowSelection, setRowSelection] = useState<RowSelectionState>(\n rowSelectionProp ?? {},\n );\n const [columnSelection, setColumnSelection] = useState<string | null>(null);\n const [rowPinning, setRowPinning] = useState<RowPinningState>({\n top: [],\n bottom: [],\n });\n\n /**\n * moveUpSelectedRows moves the selected rows up in the table.\n * It finds the first selected row, determines its index,\n * and moves it before the previous row if it exists.\n */\n const moveRowsUp = useCallback(\n (row: Row<T>, rows: Row<T>[]) => {\n const isSelected = rowSelection[row.id];\n const rowsToMove = isSelected\n ? rows.filter(({ id }) => rowSelection[id])\n : [row];\n const firstRowToMove = rowsToMove[0];\n\n if (!firstRowToMove || firstRowToMove.index === 0) {\n return;\n }\n\n const prevRowId = rows[firstRowToMove.index - 1]?.id;\n\n if (!prevRowId) {\n return;\n }\n\n moveBefore(\n prevRowId,\n rowsToMove.map(({ id }) => id),\n );\n },\n [rowSelection, moveBefore],\n );\n\n /**\n * moveDownRows moves the selected or active rows down in the table.\n * It finds the last selected row, determines its index,\n * and moves it after the next row if it exists.\n */\n const moveRowsDown = useCallback(\n (row: Row<T>, rows: Row<T>[]) => {\n const isSelected = rowSelection[row.id];\n const rowsToMove = isSelected\n ? rows.filter(({ id }) => rowSelection[id])\n : [row];\n const lastRowToMove = rowsToMove[rowsToMove.length - 1];\n\n if (!lastRowToMove || lastRowToMove.index === rows.length - 1) {\n return;\n }\n\n const nextRowId = rows[lastRowToMove.index + 1]?.id;\n\n if (!nextRowId) {\n return;\n }\n\n moveAfter(\n nextRowId,\n rowsToMove.map(({ id }) => id),\n );\n },\n [rowSelection, moveAfter],\n );\n\n /**\n * actionColumn defines the actions available in the kebab menu for each row.\n * It includes options to move the row up or down in the table.\n */\n // biome-ignore lint/correctness/useExhaustiveDependencies: can of worms to fix ticket added\n const actionColumn: NonNullable<typeof columnsProp>[number] = useMemo(\n () => ({\n id: 'kebab',\n cell: ({ row }) => (\n <RowActionsMenu\n moveRowsUp={moveRowsUp}\n moveRowsDown={moveRowsDown}\n row={row}\n rows={getRowModel().rows}\n />\n ),\n size: META_COLUMN_WIDTH,\n }),\n [moveRowsUp, moveRowsDown],\n );\n\n /**\n * columns defines the structure of the table.\n * It includes the action column and optionally a checkbox column.\n * The kebab menu position can be set to 'left' or 'right'.\n * If showCheckbox is true, a checkbox column is added.\n */\n const columns = useMemo<NonNullable<typeof columnsProp>>(\n () => [\n {\n id: 'numeral',\n cell: ({ row }) =>\n row.getIsPinned() ? (\n <Icon size='small'>\n <Pin />\n </Icon>\n ) : (\n <span data-testid='numeral'>{row.index + 1}</span>\n ),\n size: META_COLUMN_WIDTH,\n },\n ...(showCheckbox\n ? ([\n {\n id: 'selection',\n header: ({ table }) => (\n <Checkbox\n isSelected={table.getIsAllRowsSelected()}\n isIndeterminate={table.getIsSomeRowsSelected()}\n onChange={table.toggleAllRowsSelected}\n />\n ),\n cell: ({ row }) => (\n <Checkbox\n isSelected={row.getIsSelected()}\n isIndeterminate={row.getIsSomeSelected()}\n onChange={row.toggleSelected}\n />\n ),\n size: META_COLUMN_WIDTH,\n },\n ] satisfies NonNullable<typeof columnsProp>)\n : []),\n ...(kebabPosition === 'left' ? [actionColumn] : []),\n ...(columnsProp ?? []),\n ...(kebabPosition === 'right' ? [actionColumn] : []),\n ],\n [showCheckbox, columnsProp, kebabPosition, actionColumn],\n );\n\n const handleSortChange = (\n columnId: string,\n sortDirection: 'asc' | 'desc' | null,\n ) => {\n onSortChange?.(columnId, sortDirection);\n };\n\n const handleColumnReordering = (index: number) => {\n onColumnReorderChange?.(index);\n };\n\n const handleRowSelectionChange = useCallback(\n (\n updaterOrValue:\n | RowSelectionState\n | ((old: RowSelectionState) => RowSelectionState),\n ) => {\n setRowSelection(updaterOrValue);\n onRowSelectionChange?.(updaterOrValue);\n },\n [onRowSelectionChange],\n );\n\n const {\n getHeaderGroups,\n getTopRows,\n getCenterRows,\n getBottomRows,\n getRowModel,\n setColumnOrder,\n } = useReactTable<T>({\n data,\n columns,\n enableSorting,\n initialState: {\n columnOrder: columns.map(({ id }) => id ?? ''),\n rowSelection: rowSelectionProp ?? {},\n },\n state: {\n rowSelection,\n rowPinning,\n },\n getRowId: (row, index) => {\n // Use the index as the row ID if no unique identifier is available\n return row.id ? row.id.toString() : index.toString();\n },\n enableRowSelection: true,\n enableRowPinning: true,\n manualSorting: manualSorting,\n onRowSelectionChange: handleRowSelectionChange,\n onRowPinningChange: setRowPinning,\n getCoreRowModel: getCoreRowModel<T>(),\n getSortedRowModel: getSortedRowModel<T>(),\n });\n\n const moveColumnLeft = useCallback(\n (oldIndex: number) => {\n setColumnOrder((order) => {\n const newColumnOrder = [...order];\n const newIndex = oldIndex - 1;\n\n if (newIndex < 0) {\n return order;\n }\n\n [newColumnOrder[oldIndex], newColumnOrder[newIndex]] = [\n newColumnOrder[newIndex] as string,\n newColumnOrder[oldIndex] as string,\n ];\n\n return newColumnOrder;\n });\n },\n [setColumnOrder],\n );\n\n const moveColumnRight = useCallback(\n (oldIndex: number) => {\n setColumnOrder((order) => {\n const newColumnOrder = [...order];\n const newIndex = oldIndex + 1;\n\n if (newIndex >= order.length) {\n return order;\n }\n\n [newColumnOrder[oldIndex], newColumnOrder[newIndex]] = [\n newColumnOrder[newIndex] as string,\n newColumnOrder[oldIndex] as string,\n ];\n\n return newColumnOrder;\n });\n },\n [setColumnOrder],\n );\n\n const className = clsx(fullWidth && 'w-full table-fixed', rest.className);\n\n if (children) {\n return (\n <table {...rest} className={className}>\n {children}\n </table>\n );\n }\n\n return (\n <TableContext.Provider\n value={{\n persistRowKebabMenu,\n persistHeaderKebabMenu,\n persistNumerals,\n enableSorting,\n enableColumnReordering,\n enableRowActions,\n columnSelection,\n setColumnSelection,\n moveColumnLeft,\n moveColumnRight,\n manualSorting,\n handleSortChange,\n handleColumnReordering,\n }}\n >\n <table {...rest} className={className}>\n <TableHeader\n headerGroups={getHeaderGroups()}\n columnSelection={columnSelection}\n />\n <TableBody\n rows={[...getTopRows(), ...getCenterRows(), ...getBottomRows()]}\n />\n </table>\n </TableContext.Provider>\n );\n}\n"]}
|
|
@@ -3,9 +3,6 @@ import { TableRowProps } from './types.js';
|
|
|
3
3
|
import '@react-types/shared';
|
|
4
4
|
import '@tanstack/react-table';
|
|
5
5
|
import 'react';
|
|
6
|
-
import 'tailwind-variants';
|
|
7
|
-
import './styles.js';
|
|
8
|
-
import 'tailwind-merge';
|
|
9
6
|
|
|
10
7
|
declare function TableRow<T>({ ref, children, className, row, ...rest }: TableRowProps<T>): react_jsx_runtime.JSX.Element;
|
|
11
8
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {jsx}from'react/jsx-runtime';import {TableCell}from'./cell.js';import
|
|
1
|
+
import {jsx}from'react/jsx-runtime';import {clsx}from'@accelint/design-foundation/lib/utils';import {TableCell}from'./cell.js';import d from'./styles.module.css';function T({ref:o,children:r,className:s,row:e,...p}){const a=e?.getAllCells();return jsx("tr",{...p,ref:o,className:clsx("group/row",d.row,s),"data-pinned":e?.getIsPinned()||null,"data-selected":e?.getIsSelected()||null,children:r||a?.map(l=>jsx(TableCell,{cell:l},l.id))})}export{T as TableRow};//# sourceMappingURL=row.js.map
|
|
2
2
|
//# sourceMappingURL=row.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/table/row.tsx"],"names":["ref","row","
|
|
1
|
+
{"version":3,"sources":["../../../src/components/table/row.tsx"],"names":["ref","row","rest","t","m","className","cells","cell","jsx","TableCell"],"mappings":"2KAmBE,CAAA,CAAAA,CAAAA,GACA,CAAA,CAAA,CAAA,QACA,CAAA,CAAA,CAAA,WACAC,CAAAA,GACA,CAAGC,CACL,CAAA,GACE,CAAA,CAAA,CAAA,CAAA,MAAmB,CAAA,CAAA,CAAA,EAAA,WAEnB,EAAA,CAAA,OACGC,GAAA,CAAA,IACKD,CAAAA,CACJ,GAAA,CAAKF,CAAAA,GACL,CAAA,CAAA,CAAA,SAAgB,CAAAI,IAAA,CAAA,WAAoB,CAAA,CAAKC,CAAS,GAClD,CAAA,CAAA,CAAA,CAAA,aAAkB,CAAA,CAAA,EAAA,eAClB,IAAA,CAAA,eAAoB,CAAA,CAAA,EAAA,aAAmB,EAAA,EAEtC,IAAA,CAAA,QACCC,CAAAA,CAAO,KAAKC,GAASC,CAACC,CAAAA,EAAwBN,eAAMI,IAAfA,CAAK,CAAA,CAAgB,CAAE,EAChE,EAEJ,CAAA,CAAA,CAAA,CAAA","file":"row.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { TableCell } from './cell';\nimport styles from './styles.module.css';\nimport type { TableRowProps } from './types';\n\nexport function TableRow<T>({\n ref,\n children,\n className,\n row,\n ...rest\n}: TableRowProps<T>) {\n const cells = row?.getAllCells();\n\n return (\n <tr\n {...rest}\n ref={ref}\n className={clsx('group/row', styles.row, className)}\n data-pinned={row?.getIsPinned() || null}\n data-selected={row?.getIsSelected() || null}\n >\n {children ||\n cells?.map((cell) => <TableCell key={cell.id} cell={cell} />)}\n </tr>\n );\n}\n"]}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
@reference '../../index.module.css';
|
|
14
|
+
|
|
15
|
+
@layer components.l1 {
|
|
16
|
+
.headerCell {
|
|
17
|
+
@apply p-m pr-none fg-primary-muted gap-xxs text-body-s flex items-center justify-between border-1 border-transparent text-left align-middle font-medium;
|
|
18
|
+
|
|
19
|
+
@variant hover {
|
|
20
|
+
@apply fg-primary-bold;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@variant selected {
|
|
24
|
+
@apply bg-accent-primary-muted;
|
|
25
|
+
|
|
26
|
+
border-top-color: var(--outline-accent-primary-bold);
|
|
27
|
+
box-shadow:
|
|
28
|
+
1px 0 0 0 var(--outline-accent-primary-bold),
|
|
29
|
+
-1px 0 0 0 var(--outline-accent-primary-bold);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.cell {
|
|
34
|
+
@apply fg-primary-bold min-w-l font-display text-body-s p-m text-left align-middle;
|
|
35
|
+
|
|
36
|
+
@variant selected {
|
|
37
|
+
@apply bg-accent-primary-muted;
|
|
38
|
+
|
|
39
|
+
box-shadow:
|
|
40
|
+
1px 1px 0 0 var(--outline-accent-primary-bold),
|
|
41
|
+
-1px 0 0 0 var(--outline-accent-primary-bold);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@variant selection-end {
|
|
45
|
+
@apply border-b-1 border-b-[var(--outline-accent-primary-bold)];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.row {
|
|
50
|
+
@variant group-not-selected/tbody {
|
|
51
|
+
@apply border-1 border-transparent;
|
|
52
|
+
|
|
53
|
+
@variant first-of-type {
|
|
54
|
+
border-top-color: var(--outline-static);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@variant has-[+[data-selected]] {
|
|
59
|
+
@variant not-selected {
|
|
60
|
+
border-bottom-color: var(--outline-accent-primary-bold);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@variant selected {
|
|
65
|
+
@apply bg-accent-primary-muted;
|
|
66
|
+
|
|
67
|
+
border-left-color: var(--outline-accent-primary-bold);
|
|
68
|
+
border-right-color: var(--outline-accent-primary-bold);
|
|
69
|
+
|
|
70
|
+
@variant not-has-[+[data-selected]] {
|
|
71
|
+
border-bottom-color: var(--outline-accent-primary-bold);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@variant first-of-type {
|
|
75
|
+
border-top-color: var(--outline-accent-primary-bold);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.hideInRow {
|
|
81
|
+
/* making the `td` not visible was causing the bg color to not show for selected rows */
|
|
82
|
+
& > * {
|
|
83
|
+
@apply invisible;
|
|
84
|
+
|
|
85
|
+
@variant group-hover/row {
|
|
86
|
+
@apply visible;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.hideInHeader {
|
|
92
|
+
@apply invisible;
|
|
93
|
+
|
|
94
|
+
@variant group-hover/header-cell {
|
|
95
|
+
@apply visible;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { Key } from '@react-types/shared';
|
|
2
|
-
import { ColumnDef, Row, Cell, Header, HeaderGroup } from '@tanstack/react-table';
|
|
2
|
+
import { ColumnDef, RowSelectionState, Row, Cell, Header, HeaderGroup } from '@tanstack/react-table';
|
|
3
3
|
import { Dispatch, SetStateAction, ComponentPropsWithRef, PropsWithChildren } from 'react';
|
|
4
|
-
import { VariantProps } from 'tailwind-variants';
|
|
5
|
-
import { TableCellStyles, TableHeaderCellStyles } from './styles.js';
|
|
6
|
-
import 'tailwind-merge';
|
|
7
4
|
|
|
8
5
|
type BaseTableProps = Omit<ComponentPropsWithRef<'table'>, 'children'>;
|
|
9
6
|
type ExtendedTableProps<T extends {
|
|
@@ -24,6 +21,12 @@ type ExtendedTableProps<T extends {
|
|
|
24
21
|
* Whether to display a checkbox column.
|
|
25
22
|
*/
|
|
26
23
|
showCheckbox?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Initial row selection state.
|
|
26
|
+
* An object mapping row IDs to their selection state (true = selected).
|
|
27
|
+
* Example: { 'row-1': true, 'row-2': true }
|
|
28
|
+
*/
|
|
29
|
+
rowSelection?: RowSelectionState;
|
|
27
30
|
/**
|
|
28
31
|
* Position of the kebab menu, either 'left' or 'right'.
|
|
29
32
|
*/
|
|
@@ -84,6 +87,31 @@ type ExtendedTableProps<T extends {
|
|
|
84
87
|
* @param index - The new index position of the column after reordering.
|
|
85
88
|
*/
|
|
86
89
|
onColumnReorderChange?: (index: number) => void;
|
|
90
|
+
/**
|
|
91
|
+
* Callback function triggered when row selection changes.
|
|
92
|
+
* Receives an updater function or direct value following TanStack Table's API pattern.
|
|
93
|
+
*
|
|
94
|
+
* @param updaterOrValue - Either a function that receives the old state and returns new state,
|
|
95
|
+
* or a direct RowSelectionState object.
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* // Using with state setter
|
|
99
|
+
* onRowSelectionChange={setSelectedRows}
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* // Using with custom handler
|
|
103
|
+
* onRowSelectionChange={(updater) => {
|
|
104
|
+
* const newState = typeof updater === 'function' ? updater(oldState) : updater;
|
|
105
|
+
* console.log('Selected rows:', newState);
|
|
106
|
+
* }}
|
|
107
|
+
*/
|
|
108
|
+
onRowSelectionChange?: (updaterOrValue: RowSelectionState | ((old: RowSelectionState) => RowSelectionState)) => void;
|
|
109
|
+
/**
|
|
110
|
+
* Whether the table should take full width and use fixed layout.
|
|
111
|
+
* When true, applies 'w-full table-fixed' classes.
|
|
112
|
+
* @default false
|
|
113
|
+
*/
|
|
114
|
+
fullWidth?: boolean;
|
|
87
115
|
};
|
|
88
116
|
/**
|
|
89
117
|
* Props for the Table component.
|
|
@@ -141,40 +169,33 @@ type TableRowProps<T> = ComponentPropsWithRef<'tr'> & {
|
|
|
141
169
|
/**
|
|
142
170
|
* Props for a table cell component.
|
|
143
171
|
*
|
|
144
|
-
* Extends the standard HTML `<td>` element attributes
|
|
172
|
+
* Extends the standard HTML `<td>` element attributes.
|
|
145
173
|
*
|
|
146
174
|
* @remarks
|
|
147
175
|
* - Inherits all properties from `TdHTMLAttributes<HTMLTableCellElement>`.
|
|
148
|
-
* - Includes variant properties from `cellStyles`.
|
|
149
176
|
* - Optionally accepts a `ref` to the underlying `<td>` element.
|
|
150
177
|
*
|
|
151
178
|
* @property ref - Optional React ref for the table cell element.
|
|
152
179
|
* @property className - Optional class name for custom styling.
|
|
153
|
-
* @property narrow - Optional boolean to apply narrow styling.
|
|
154
|
-
* @property numeral - Optional boolean to apply numeral styling.
|
|
155
|
-
* @property persistent - Optional boolean to control visibility behavior.
|
|
156
|
-
* If true, the cell is always visible.
|
|
157
|
-
* If false, the cell content is only visible on hover or when the row is hovered.
|
|
158
180
|
*/
|
|
159
|
-
type TableCellProps<T> = ComponentPropsWithRef<'td'> &
|
|
181
|
+
type TableCellProps<T> = ComponentPropsWithRef<'td'> & {
|
|
160
182
|
cell?: Cell<T, unknown>;
|
|
161
183
|
};
|
|
162
184
|
/**
|
|
163
185
|
* Props for a table header cell component.
|
|
164
186
|
*
|
|
165
|
-
* This type combines standard HTML `<th>` element attributes
|
|
187
|
+
* This type combines standard HTML `<th>` element attributes
|
|
166
188
|
* and ref attributes for a table header cell.
|
|
167
189
|
*
|
|
168
|
-
* @see {@link VariantProps}
|
|
169
190
|
* @see {@link RefAttributes}
|
|
170
191
|
*/
|
|
171
|
-
type TableHeaderCellProps<T> = ComponentPropsWithRef<'th'> &
|
|
192
|
+
type TableHeaderCellProps<T> = ComponentPropsWithRef<'th'> & {
|
|
172
193
|
header?: Header<T, unknown>;
|
|
173
194
|
};
|
|
174
195
|
/**
|
|
175
196
|
* Props for the table header (`<thead>`) component.
|
|
176
197
|
*
|
|
177
|
-
*
|
|
198
|
+
* Accepts standard HTML attributes and ref attributes for an HTMLTableSectionElement.
|
|
178
199
|
*
|
|
179
200
|
* @see {@link HTMLAttributes}
|
|
180
201
|
* @see {@link RefAttributes}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {jsx}from'react/jsx-runtime';import'client-only';import {useContextProps,Tabs,composeRenderProps}from'react-aria-components';import {TabsContext}from'./context.js';import
|
|
3
|
+
import {jsx}from'react/jsx-runtime';import'client-only';import {clsx}from'@accelint/design-foundation/lib/utils';import {useContextProps,Tabs,composeRenderProps}from'react-aria-components';import {TabsContext}from'./context.js';import l from'./styles.module.css';function y({ref:s,...o}){[o,s]=useContextProps(o,s??null,TabsContext);const{children:r,className:t,...a}=o;return jsx(Tabs,{...a,ref:s,className:composeRenderProps(t,e=>clsx("group/tabs",l.tabs,e)),children:r})}export{y as Tabs};//# sourceMappingURL=index.js.map
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/tabs/index.tsx"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/tabs/index.tsx"],"names":["ref","props","useContextProps","TabsContext","rest","c","p","className","clsx","m"],"mappings":"gRAuEuB,CAAA,CAAAA,CAAAA,IAAQC,CAAM,CAAA,GAClCA,EAAOD,CAAG,CAAA,CAAIE,CAAAA,CAAgBD,CAAAA,CAAOD,CAAAA,eAAAA,CAAO,CAAA,CAAA,CAAA,EAAMG,kBAE7C,KAAE,CAAA,QAAU,CAAA,CAAA,CAAA,SAAW,CAAGC,CAAK,CAAA,GAErC,YAEKC,GAAA,CAAAC,IAAGF,EACJ,GAAA,CAAKJ,CAAAA,GACL,CAAA,CAAA,CAAA,SAA0CO,CAAAA,kBAAAA,CACxCC,CAAAA,CAAK,CAAA,EAAAC,IAAA,CAAA,eAA2BF,IAGjC,CAAA,CAAA,CAAA,CAAA,CAAA,QAGP,CAAA,CAAA,CAAA,CAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n Tabs as AriaTabs,\n composeRenderProps,\n useContextProps,\n} from 'react-aria-components';\nimport { TabsContext } from './context';\nimport styles from './styles.module.css';\nimport type { TabsProps } from './types';\n\n/**\n * Tabs - A tab navigation component for organizing content into sections\n *\n * Provides accessible tab navigation with keyboard support and proper ARIA implementation.\n * Supports both horizontal and vertical orientations with icon and text variants.\n * Perfect for organizing related content into separate, focusable sections.\n *\n * @example\n * // Basic horizontal tabs\n * <Tabs>\n * <TabsList>\n * <TabsListTab id=\"overview\">Overview</TabsListTab>\n * <TabsListTab id=\"details\">Details</TabsListTab>\n * <TabsListTab id=\"settings\">Settings</TabsListTab>\n * </TabsList>\n * <TabsPanel id=\"overview\">Overview content</TabsPanel>\n * <TabsPanel id=\"details\">Details content</TabsPanel>\n * <TabsPanel id=\"settings\">Settings content</TabsPanel>\n * </Tabs>\n *\n * @example\n * // Vertical tabs\n * <Tabs orientation=\"vertical\">\n * <TabsList>\n * <TabsListTab id=\"profile\">Profile</TabsListTab>\n * <TabsListTab id=\"account\">Account</TabsListTab>\n * </TabsList>\n * <TabsPanel id=\"profile\">Profile settings</TabsPanel>\n * <TabsPanel id=\"account\">Account settings</TabsPanel>\n * </Tabs>\n *\n * @example\n * // Icon tabs\n * <Tabs>\n * <TabsList variant=\"icons\">\n * <TabsListTab id=\"home\">\n * <Icon><Home /></Icon>\n * </TabsListTab>\n * <TabsListTab id=\"search\">\n * <Icon><Search /></Icon>\n * </TabsListTab>\n * </TabsList>\n * <TabsPanel id=\"home\">Home content</TabsPanel>\n * <TabsPanel id=\"search\">Search content</TabsPanel>\n * </Tabs>\n */\nexport function Tabs({ ref, ...props }: TabsProps) {\n [props, ref] = useContextProps(props, ref ?? null, TabsContext);\n\n const { children, className, ...rest } = props;\n\n return (\n <AriaTabs\n {...rest}\n ref={ref}\n className={composeRenderProps(className, (className) =>\n clsx('group/tabs', styles.tabs, className),\n )}\n >\n {children}\n </AriaTabs>\n );\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {jsx}from'react/jsx-runtime';import'client-only';import {TabList,composeRenderProps}from'react-aria-components';import
|
|
3
|
+
import {jsx}from'react/jsx-runtime';import'client-only';import {clsx}from'@accelint/design-foundation/lib/utils';import {TabList,composeRenderProps}from'react-aria-components';import p from'./styles.module.css';function l({children:s,className:t,...o}){return jsx(TabList,{...o,className:composeRenderProps(t,i=>clsx(p.list,i)),children:s})}export{l as TabList};//# sourceMappingURL=list.js.map
|
|
4
4
|
//# sourceMappingURL=list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/tabs/list.tsx"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/tabs/list.tsx"],"names":["TabList","children","className","AriaTabList","rest","composeRenderProps","styles"],"mappings":"mNA4BO,SAASA,CAA0B,CACxC,CAAA,QAAAC,CAAAA,CACA,CAAA,SAAAC,EACA,CAAA,GACF,EAAoB,CAClB,CAAA,UACGC,CAAAA,OAAA,CACE,IAAGC,CACJ,CAAA,SAAWC,mBAAmBH,CAAAA,CAAYA,CAAAA,CAAAA,MACnCI,CAAAA,CAAO,CAAA,IAAMJ,CAAS,CAC7B,CAAA,CAEC,CAAA,QAAAD,CAAAA,CACH,CAEJ,CAAA","file":"list.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n TabList as AriaTabList,\n composeRenderProps,\n type TabListProps,\n} from 'react-aria-components';\nimport styles from './styles.module.css';\n\n/**\n * TabList - Container for tabs\n *\n * Contains and manages a group of Tab components\n */\nexport function TabList<T extends object>({\n children,\n className,\n ...rest\n}: TabListProps<T>) {\n return (\n <AriaTabList<T>\n {...rest}\n className={composeRenderProps(className, (className) =>\n clsx(styles.list, className),\n )}\n >\n {children}\n </AriaTabList>\n );\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {jsx}from'react/jsx-runtime';import'client-only';import {TabPanel,composeRenderProps}from'react-aria-components';import
|
|
3
|
+
import {jsx}from'react/jsx-runtime';import'client-only';import {clsx}from'@accelint/design-foundation/lib/utils';import {TabPanel,composeRenderProps}from'react-aria-components';import s from'./styles.module.css';function T({children:a,className:e,...o}){return jsx(TabPanel,{...o,className:composeRenderProps(e,r=>clsx(s.panel,r)),children:a})}export{T as TabPanel};//# sourceMappingURL=panel.js.map
|
|
4
4
|
//# sourceMappingURL=panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/tabs/panel.tsx"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/tabs/panel.tsx"],"names":["TabPanel","children","className","AriaTabPanel","rest","composeRenderProps","styles"],"mappings":"oNA4BO,SAASA,CAAS,CAAE,CAAA,QAAAC,CAAAA,CAAU,CAAA,SAAAC,EAAW,CAAA,GAAQ,EAAkB,CACxE,CAAA,UACGC,CAAAA,QAAA,CACE,IAAGC,CACJ,CAAA,SAAWC,mBAAmBH,CAAAA,CAAYA,CAAAA,CAAAA,MACnCI,CAAAA,CAAO,CAAA,KAAOJ,CAAS,CAC9B,CAAA,CAEC,CAAA,QAAAD,CAAAA,CACH,CAEJ,CAAA","file":"panel.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n TabPanel as AriaTabPanel,\n composeRenderProps,\n type TabPanelProps,\n} from 'react-aria-components';\nimport styles from './styles.module.css';\n\n/**\n * TabPanel - Content panel for tabs\n *\n * Container for content associated with a specific tab\n */\nexport function TabPanel({ children, className, ...rest }: TabPanelProps) {\n return (\n <AriaTabPanel\n {...rest}\n className={composeRenderProps(className, (className) =>\n clsx(styles.panel, className),\n )}\n >\n {children}\n </AriaTabPanel>\n );\n}\n"]}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
@reference '../../index.module.css';
|
|
14
|
+
|
|
15
|
+
@layer components.l1 {
|
|
16
|
+
.tabs {
|
|
17
|
+
@apply w-content flex;
|
|
18
|
+
|
|
19
|
+
@variant orientation-horizontal {
|
|
20
|
+
@apply flex-col;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@variant orientation-vertical {
|
|
24
|
+
@apply flex-row;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.list {
|
|
29
|
+
@apply flex;
|
|
30
|
+
|
|
31
|
+
@variant orientation-horizontal {
|
|
32
|
+
@apply flex-row;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@variant orientation-vertical {
|
|
36
|
+
@apply flex-col;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.tab {
|
|
41
|
+
@apply fg-primary-muted rounded-small p-s relative cursor-pointer;
|
|
42
|
+
|
|
43
|
+
@variant hover {
|
|
44
|
+
@apply fg-primary-bold;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@variant focus-visible {
|
|
48
|
+
@apply fg-primary-bold;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@variant pressed {
|
|
52
|
+
@apply fg-pressed;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@variant selected {
|
|
56
|
+
@apply fg-accent-primary-bold bg-accent-primary-muted;
|
|
57
|
+
|
|
58
|
+
@variant hover {
|
|
59
|
+
@apply fg-accent-primary-hover bg-accent-primary-hover;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@variant focus-visible {
|
|
63
|
+
@apply fg-accent-primary-hover bg-accent-primary-hover;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@variant pressed {
|
|
67
|
+
@apply fg-accent-primary-pressed bg-interactive-muted-pressed;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@variant group-orientation-horizontal/tabs {
|
|
72
|
+
@apply rounded-b-none;
|
|
73
|
+
|
|
74
|
+
&:after {
|
|
75
|
+
@apply absolute bottom-0 left-0 block h-px w-full bg-(--outline-static);
|
|
76
|
+
content: '';
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@variant hover {
|
|
80
|
+
&:after {
|
|
81
|
+
@apply bg-(--outline-interactive-hover);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@variant focus-visible {
|
|
86
|
+
&:after {
|
|
87
|
+
@apply bg-(--outline-accent-primary-bold);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
@variant pressed {
|
|
92
|
+
&:after {
|
|
93
|
+
@apply bg-(--outline-interactive-pressed);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
@variant selected {
|
|
98
|
+
&:after {
|
|
99
|
+
@apply bg-(--outline-accent-primary-bold);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
@variant hover {
|
|
103
|
+
&:after {
|
|
104
|
+
@apply bg-(--outline-accent-primary-hover);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
@variant focus-visible {
|
|
109
|
+
&:after {
|
|
110
|
+
@apply bg-(--outline-accent-primary-hover);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
@variant pressed {
|
|
115
|
+
&:after {
|
|
116
|
+
@apply bg-(--outline-accent-primary-pressed);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
@variant disabled {
|
|
123
|
+
@apply fg-disabled cursor-not-allowed;
|
|
124
|
+
|
|
125
|
+
@variant selected {
|
|
126
|
+
@apply bg-interactive-disabled;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
@variant group-orientation-horizontal/tabs {
|
|
130
|
+
&:after {
|
|
131
|
+
@apply bg-(--outline-interactive-disabled);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.panel {
|
|
138
|
+
@apply fg-primary-bold p-s;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {jsx}from'react/jsx-runtime';import'client-only';import {Tab,composeRenderProps}from'react-aria-components';import
|
|
3
|
+
import {jsx}from'react/jsx-runtime';import'client-only';import {clsx}from'@accelint/design-foundation/lib/utils';import {Tab,composeRenderProps}from'react-aria-components';import m from'./styles.module.css';function l({children:o,className:r,...a}){return jsx(Tab,{...a,className:composeRenderProps(r,p=>clsx(m.tab,p)),children:o})}export{l as Tab};//# sourceMappingURL=tab.js.map
|
|
4
4
|
//# sourceMappingURL=tab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/tabs/tab.tsx"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/tabs/tab.tsx"],"names":["Tab","children","className","AriaTab","rest","composeRenderProps","styles"],"mappings":"+MA4BO,SAASA,CAAI,CAAE,CAAA,QAAAC,CAAAA,CAAU,CAAA,SAAAC,EAAW,CAAA,GAAQ,EAAa,CAC9D,CAAA,UACGC,CAAAA,GAAA,CACE,IAAGC,CACJ,CAAA,SAAWC,mBAAmBH,CAAAA,CAAYA,CAAAA,CAAAA,MACnCI,CAAAA,CAAO,CAAA,GAAKJ,CAAS,CAC5B,CAAA,CAEC,CAAA,QAAAD,CAAAA,CACH,CAEJ,CAAA","file":"tab.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n Tab as AriaTab,\n composeRenderProps,\n type TabProps,\n} from 'react-aria-components';\nimport styles from './styles.module.css';\n\n/**\n * Tab - Individual tab component\n *\n * Represents a selectable tab within a TabList\n */\nexport function Tab({ children, className, ...rest }: TabProps) {\n return (\n <AriaTab\n {...rest}\n className={composeRenderProps(className, (className) =>\n clsx(styles.tab, className),\n )}\n >\n {children}\n </AriaTab>\n );\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {jsx,jsxs,Fragment}from'react/jsx-runtime';import'client-only';import {useContextProps,TextField,composeRenderProps,TextArea,Text,FieldError}from'react-aria-components';import {Label}from'../label/index.js';import {TextAreaFieldContext}from'./context.js';import
|
|
3
|
+
import {jsx,jsxs,Fragment}from'react/jsx-runtime';import'client-only';import {clsx}from'@accelint/design-foundation/lib/utils';import {useContextProps,TextField,composeRenderProps,TextArea,Text,FieldError}from'react-aria-components';import {Label}from'../label/index.js';import {TextAreaFieldContext}from'./context.js';import i from'./styles.module.css';function S({ref:s,...o}){[o,s]=useContextProps(o,s??null,TextAreaFieldContext);const{classNames:e,description:p,errorMessage:x,label:t,inputProps:f,size:m="medium",isInvalid:b,...P}=o,c=x||null,u=m==="small";return jsx(TextField,{...P,"aria-label":t,ref:s,className:composeRenderProps(e?.field,a=>clsx("group/text-area-field",i.field,a)),isInvalid:b||(c?true:void 0),"data-size":m,children:({isDisabled:a,isInvalid:T,isRequired:F})=>jsxs(Fragment,{children:[!!t&&!u&&jsx(Label,{className:clsx(i.label,e?.label),isDisabled:a,isRequired:F,children:t}),jsx(TextArea,{...f,className:composeRenderProps(e?.input,d=>clsx(i.input,d))}),!!p&&!(u||T)&&jsx(Text,{slot:"description",className:clsx(i.description,e?.description),children:p}),jsx(FieldError,{className:composeRenderProps(e?.error,d=>clsx(i.error,d)),children:c})]})})}export{S as TextAreaField};//# sourceMappingURL=index.js.map
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/text-area-field/index.tsx"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/text-area-field/index.tsx"],"names":["props","useContextProps","TextAreaFieldContext","y","L","descriptionProp","errorMessageProp","inputProps","rest","isSmall","size","jsx","l","g","labelProp","classNames","clsx","r","isInvalidProp","errorMessage","isDisabled","z","styles","TextArea","A","composeRenderProps","isInvalid","Text","v","FieldError"],"mappings":"kWAiDgC,SAAqC,CACnE,CAACA,CAAAA,IAAcC,CAAAA,CAAgBD,KAAc,CAAA,CAAA,CAAA,CAAA,CAAME,CAAoB,EAEvEC,eAAA,CAAA,CAAA,CAAA,CAAM,EACJ,IAAA,CAAAC,oBAAA,CAAA,CAAA,KACA,CAAA,UAAaC,CAAAA,CACb,aAAcC,CAAAA,CACd,YACA,CAAA,CAAA,CAAA,KAAAC,CACA,YAAO,CAAA,CAAA,CAAA,IACP,CAAA,CAAA,CAAA,QACA,CAAGC,UAEoC,CAAA,CAAA,GACnCC,CAAAA,CAAUC,IAAS,CAAA,CAAA,EAAA,IAEzB,CAAA,CAAA,CAAA,CAAA,GACEC,OACG,CAAGH,OACJI,GAAA,CAAAC,SAAA,CAAA,CAAA,GAAYC,CAAAA,CACZ,YACA,CAAA,CAAA,CAAA,GAA8BC,CAAAA,CAAAA,CAAY,SACxCC,CAAAA,kBAAK,CAAA,CAAA,EAAA,KAAA,CAAA,CAAA,EAAAC,IAAA,CAAA,uBAEP,CAAA,CAAA,CAAA,KAAWC,CAAAA,CAAAA,CAAAA,CAAkBC,UAAsB,CAAA,CAAA,gBACxCT,CAEV,CAAA,WACG,CAAA,CAAA,CAAA,QAAAU,CAAY,YAAW,CAAA,CAAA,CAAA,SAAW,CAAA,CAAA,CAAA,UAGjC,CAAA,CAAA,CAAA,GAAAC,IAAC,CAACP,UAAa,QACb,CACC,UAAWE,GAAAA,CAAKM,KAAAA,CAAO,CAAA,SAAmB,CAAAL,IAAA,CAAA,CAAK,CAAA,cAE/C,CAAA,CAAA,WAEC,CAAA,CAAA,WAGLN,CAAAA,CAACY,QAEC,CAAA,CAAA,CAAA,CAAA,CAAAX,GAAA,CAAAY,QAAA,CAAA,CAAWC,GAAmBV,CAAAA,CAAY,SACxCC,CAAAA,kBAAKM,CAAAA,CAAO,OAAgB,CAC9B,CAAA,EACFL,IACC,CAAC,CAACZ,MAAqBI,CAAAA,CAAWiB,IACjCf,CAAAA,CAACgB,CAAAA,CAAA,EACC,EAAA,CAAA,EAAK,CAAA,CAAA,EAAAf,GAAA,CAAAgB,IAAA,CAAA,CAAA,IACL,CAAA,aAAuB,CAAA,SAAA,CAAAX,IAAaF,GAAY,WAAW,CAAA,CAE1D,aAGLJ,EAACkB,QACC,CAAA,CAAA,CAAA,CAAA,CAAWJ,GAAAA,CAAmBV,UAAAA,CAAAA,CAAY,SACxCC,CAAAA,kBAAKM,CAAAA,CAAO,OAAgB,CAC9B,GAECL,IAAA,CAAA,CAAA,CAAA,KAAAE,CACH,CAAA,CAAA,CACF,CAAA,QAIR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n composeRenderProps,\n FieldError,\n Text,\n TextArea,\n TextField,\n useContextProps,\n} from 'react-aria-components';\nimport { Label } from '../label';\nimport { TextAreaFieldContext } from './context';\nimport styles from './styles.module.css';\nimport type { TextAreaFieldProps } from './types';\n\n/**\n * TextAreaField - A multi-line text input component with label and validation\n *\n * Provides a complete form field experience for longer text content with integrated\n * label, description, and error message components. Handles validation states and\n * accessibility automatically while supporting resizable text areas.\n *\n * @example\n * // Basic text area field\n * <TextAreaField label=\"Comments\" />\n *\n * @example\n * // Text area with validation\n * <TextAreaField\n * isInvalid={true}\n * errorMessage='Message is required'\n * label='Foo'\n * isRequired\n * />\n */\nexport function TextAreaField({ ref, ...props }: TextAreaFieldProps) {\n [props, ref] = useContextProps(props, ref ?? null, TextAreaFieldContext);\n\n const {\n classNames,\n description: descriptionProp,\n errorMessage: errorMessageProp,\n label: labelProp,\n inputProps,\n size = 'medium',\n isInvalid: isInvalidProp,\n ...rest\n } = props;\n const errorMessage = errorMessageProp || null; // Protect against empty string\n const isSmall = size === 'small';\n\n return (\n <TextField\n {...rest}\n aria-label={labelProp}\n ref={ref}\n className={composeRenderProps(classNames?.field, (className) =>\n clsx('group/text-area-field', styles.field, className),\n )}\n isInvalid={isInvalidProp || (errorMessage ? true : undefined)} // Leave uncontrolled if possible to fallback to validation state\n data-size={size}\n >\n {(\n { isDisabled, isInvalid, isRequired }, // Rely on internal state, not props, since state could differ from props\n ) => (\n <>\n {!!labelProp && !isSmall && (\n <Label\n className={clsx(styles.label, classNames?.label)}\n isDisabled={isDisabled}\n isRequired={isRequired}\n >\n {labelProp}\n </Label>\n )}\n <TextArea\n {...inputProps}\n className={composeRenderProps(classNames?.input, (className) =>\n clsx(styles.input, className),\n )}\n />\n {!!descriptionProp && !(isSmall || isInvalid) && (\n <Text\n slot='description'\n className={clsx(styles.description, classNames?.description)}\n >\n {descriptionProp}\n </Text>\n )}\n <FieldError\n className={composeRenderProps(classNames?.error, (className) =>\n clsx(styles.error, className),\n )}\n >\n {errorMessage}\n </FieldError>\n </>\n )}\n </TextField>\n );\n}\n"]}
|