@accelint/design-toolkit 9.2.0 → 9.4.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 +15 -22
- package/catalog-info.yaml +4 -4
- package/dist/components/accordion/context.d.ts +6 -0
- package/dist/components/accordion/context.js +6 -0
- package/dist/components/accordion/context.js.map +1 -1
- package/dist/components/accordion/group.d.ts +37 -2
- package/dist/components/accordion/group.js +34 -0
- package/dist/components/accordion/group.js.map +1 -1
- package/dist/components/accordion/header.d.ts +27 -2
- package/dist/components/accordion/header.js +25 -1
- package/dist/components/accordion/header.js.map +1 -1
- package/dist/components/accordion/index.d.ts +18 -4
- package/dist/components/accordion/index.js +16 -2
- package/dist/components/accordion/index.js.map +1 -1
- package/dist/components/accordion/panel.d.ts +29 -2
- package/dist/components/accordion/panel.js +26 -0
- package/dist/components/accordion/panel.js.map +1 -1
- package/dist/components/accordion/trigger.d.ts +25 -2
- package/dist/components/accordion/trigger.js +23 -1
- package/dist/components/accordion/trigger.js.map +1 -1
- package/dist/components/accordion/types.d.ts +33 -0
- package/dist/components/action-bar/index.d.ts +35 -6
- package/dist/components/action-bar/index.js +33 -5
- package/dist/components/action-bar/index.js.map +1 -1
- package/dist/components/action-bar/styles.module.css +9 -1
- package/dist/components/action-bar/types.d.ts +8 -0
- package/dist/components/avatar/context.d.ts +22 -4
- package/dist/components/avatar/context.js +18 -0
- package/dist/components/avatar/context.js.map +1 -1
- package/dist/components/avatar/index.d.ts +22 -15
- package/dist/components/avatar/index.js +21 -14
- package/dist/components/avatar/index.js.map +1 -1
- package/dist/components/avatar/types.d.ts +13 -0
- package/dist/components/badge/context.d.ts +22 -4
- package/dist/components/badge/context.js +18 -0
- package/dist/components/badge/context.js.map +1 -1
- package/dist/components/badge/index.d.ts +30 -16
- package/dist/components/badge/index.js +28 -14
- package/dist/components/badge/index.js.map +1 -1
- package/dist/components/badge/types.d.ts +9 -0
- package/dist/components/breadcrumbs/index.d.ts +10 -2
- package/dist/components/breadcrumbs/index.js +7 -0
- package/dist/components/breadcrumbs/index.js.map +1 -1
- package/dist/components/breadcrumbs/item.d.ts +25 -2
- package/dist/components/breadcrumbs/item.js +23 -1
- package/dist/components/breadcrumbs/item.js.map +1 -1
- package/dist/components/breadcrumbs/types.d.ts +17 -0
- package/dist/components/button/context.d.ts +62 -8
- package/dist/components/button/context.js +54 -0
- package/dist/components/button/context.js.map +1 -1
- package/dist/components/button/index.d.ts +21 -2
- package/dist/components/button/index.js +19 -0
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/button/link.d.ts +22 -2
- package/dist/components/button/link.js +20 -0
- package/dist/components/button/link.js.map +1 -1
- package/dist/components/button/toggle.d.ts +23 -2
- package/dist/components/button/toggle.js +22 -1
- package/dist/components/button/toggle.js.map +1 -1
- package/dist/components/button/types.d.ts +26 -0
- package/dist/components/checkbox/context.d.ts +9 -3
- package/dist/components/checkbox/context.js +6 -0
- package/dist/components/checkbox/context.js.map +1 -1
- package/dist/components/checkbox/group.d.ts +31 -2
- package/dist/components/checkbox/group.js +28 -0
- package/dist/components/checkbox/group.js.map +1 -1
- package/dist/components/checkbox/index.d.ts +19 -2
- package/dist/components/checkbox/index.js +19 -1
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/checkbox/types.d.ts +19 -0
- package/dist/components/chip/context.d.ts +22 -4
- package/dist/components/chip/context.js +18 -0
- package/dist/components/chip/context.js.map +1 -1
- package/dist/components/chip/deletable.d.ts +38 -2
- package/dist/components/chip/deletable.js +36 -1
- package/dist/components/chip/deletable.js.map +1 -1
- package/dist/components/chip/index.d.ts +24 -2
- package/dist/components/chip/index.js +22 -0
- package/dist/components/chip/index.js.map +1 -1
- package/dist/components/chip/list.d.ts +49 -4
- package/dist/components/chip/list.js +45 -0
- package/dist/components/chip/list.js.map +1 -1
- package/dist/components/chip/selectable.d.ts +34 -2
- package/dist/components/chip/selectable.js +31 -0
- package/dist/components/chip/selectable.js.map +1 -1
- package/dist/components/chip/types.d.ts +27 -0
- package/dist/components/classification-badge/context.d.ts +20 -4
- package/dist/components/classification-badge/context.js +16 -0
- package/dist/components/classification-badge/context.js.map +1 -1
- package/dist/components/classification-badge/index.d.ts +28 -10
- package/dist/components/classification-badge/index.js +25 -8
- package/dist/components/classification-badge/index.js.map +1 -1
- package/dist/components/classification-badge/types.d.ts +4 -0
- package/dist/components/classification-banner/context.d.ts +20 -4
- package/dist/components/classification-banner/context.js +16 -0
- package/dist/components/classification-banner/context.js.map +1 -1
- package/dist/components/classification-banner/index.d.ts +12 -2
- package/dist/components/classification-banner/index.js +9 -0
- package/dist/components/classification-banner/index.js.map +1 -1
- package/dist/components/classification-banner/types.d.ts +4 -0
- package/dist/components/clock/index.d.ts +12 -2
- package/dist/components/clock/index.js +10 -0
- package/dist/components/clock/index.js.map +1 -1
- package/dist/components/clock/types.d.ts +4 -0
- package/dist/components/color-picker/index.d.ts +12 -10
- package/dist/components/color-picker/index.js +10 -8
- package/dist/components/color-picker/index.js.map +1 -1
- package/dist/components/color-picker/types.d.ts +8 -0
- package/dist/components/combobox-field/context.d.ts +20 -4
- package/dist/components/combobox-field/context.js +16 -0
- package/dist/components/combobox-field/context.js.map +1 -1
- package/dist/components/combobox-field/index.d.ts +15 -2
- package/dist/components/combobox-field/index.js +57 -38
- package/dist/components/combobox-field/index.js.map +1 -1
- package/dist/components/combobox-field/styles.module.css +5 -1
- package/dist/components/combobox-field/types.d.ts +19 -0
- package/dist/components/coordinate-field/context.d.ts +15 -6
- package/dist/components/coordinate-field/context.js +9 -0
- package/dist/components/coordinate-field/context.js.map +1 -1
- package/dist/components/coordinate-field/coordinate-utils.d.ts +8 -0
- package/dist/components/coordinate-field/coordinate-utils.js +8 -0
- package/dist/components/coordinate-field/coordinate-utils.js.map +1 -1
- package/dist/components/coordinate-field/index.d.ts +29 -2
- package/dist/components/coordinate-field/index.js +32 -4
- package/dist/components/coordinate-field/index.js.map +1 -1
- package/dist/components/coordinate-field/segment.d.ts +28 -2
- package/dist/components/coordinate-field/segment.js +28 -1
- package/dist/components/coordinate-field/segment.js.map +1 -1
- package/dist/components/coordinate-field/styles.module.css +19 -1
- package/dist/components/coordinate-field/types.d.ts +2 -0
- package/dist/components/coordinate-field/types.js.map +1 -1
- package/dist/components/date-field/index.d.ts +28 -2
- package/dist/components/date-field/index.js +29 -2
- package/dist/components/date-field/index.js.map +1 -1
- package/dist/components/date-field/styles.module.css +4 -0
- package/dist/components/date-field/types.d.ts +19 -3
- package/dist/components/deferred-collection/index.d.ts +51 -0
- package/dist/components/deferred-collection/index.js +52 -0
- package/dist/components/deferred-collection/index.js.map +1 -0
- package/dist/components/deferred-collection/types.d.ts +29 -0
- package/dist/components/deferred-collection/types.js +12 -0
- package/dist/components/details-list/context.d.ts +25 -4
- package/dist/components/details-list/context.js +21 -0
- package/dist/components/details-list/context.js.map +1 -1
- package/dist/components/details-list/index.d.ts +9 -2
- package/dist/components/details-list/index.js +7 -0
- package/dist/components/details-list/index.js.map +1 -1
- package/dist/components/details-list/label.d.ts +18 -2
- package/dist/components/details-list/label.js +16 -0
- package/dist/components/details-list/label.js.map +1 -1
- package/dist/components/details-list/types.d.ts +14 -0
- package/dist/components/details-list/value.d.ts +20 -2
- package/dist/components/details-list/value.js +17 -0
- package/dist/components/details-list/value.js.map +1 -1
- package/dist/components/dialog/content.d.ts +23 -2
- package/dist/components/dialog/content.js +20 -0
- package/dist/components/dialog/content.js.map +1 -1
- package/dist/components/dialog/context.d.ts +5 -2
- package/dist/components/dialog/context.js +3 -0
- package/dist/components/dialog/context.js.map +1 -1
- package/dist/components/dialog/footer.d.ts +26 -2
- package/dist/components/dialog/footer.js +23 -0
- package/dist/components/dialog/footer.js.map +1 -1
- package/dist/components/dialog/index.d.ts +12 -2
- package/dist/components/dialog/index.js +10 -0
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/dialog/title.d.ts +21 -2
- package/dist/components/dialog/title.js +18 -0
- package/dist/components/dialog/title.js.map +1 -1
- package/dist/components/dialog/trigger.d.ts +18 -0
- package/dist/components/dialog/trigger.js +17 -0
- package/dist/components/dialog/trigger.js.map +1 -1
- package/dist/components/dialog/types.d.ts +12 -0
- package/dist/components/divider/context.d.ts +24 -4
- package/dist/components/divider/context.js +20 -0
- package/dist/components/divider/context.js.map +1 -1
- package/dist/components/divider/index.d.ts +13 -2
- package/dist/components/divider/index.js +10 -0
- package/dist/components/divider/index.js.map +1 -1
- package/dist/components/divider/types.d.ts +4 -4
- package/dist/components/drawer/back.d.ts +21 -2
- package/dist/components/drawer/back.js +19 -1
- package/dist/components/drawer/back.js.map +1 -1
- package/dist/components/drawer/close.d.ts +25 -2
- package/dist/components/drawer/close.js +28 -3
- package/dist/components/drawer/close.js.map +1 -1
- package/dist/components/drawer/content.d.ts +22 -2
- package/dist/components/drawer/content.js +19 -0
- package/dist/components/drawer/content.js.map +1 -1
- package/dist/components/drawer/context.d.ts +46 -4
- package/dist/components/drawer/context.js +45 -2
- package/dist/components/drawer/context.js.map +1 -1
- package/dist/components/drawer/events.d.ts +2 -0
- package/dist/components/drawer/events.js +2 -0
- package/dist/components/drawer/events.js.map +1 -1
- package/dist/components/drawer/footer.d.ts +24 -2
- package/dist/components/drawer/footer.js +21 -0
- package/dist/components/drawer/footer.js.map +1 -1
- package/dist/components/drawer/header-title.d.ts +22 -4
- package/dist/components/drawer/header-title.js +19 -2
- package/dist/components/drawer/header-title.js.map +1 -1
- package/dist/components/drawer/header.d.ts +34 -2
- package/dist/components/drawer/header.js +42 -2
- package/dist/components/drawer/header.js.map +1 -1
- package/dist/components/drawer/index.d.ts +14 -2
- package/dist/components/drawer/index.js +16 -0
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/drawer/layout-main.d.ts +23 -2
- package/dist/components/drawer/layout-main.js +20 -0
- package/dist/components/drawer/layout-main.js.map +1 -1
- package/dist/components/drawer/layout.d.ts +25 -2
- package/dist/components/drawer/layout.js +22 -0
- package/dist/components/drawer/layout.js.map +1 -1
- package/dist/components/drawer/menu-item.d.ts +25 -2
- package/dist/components/drawer/menu-item.js +22 -0
- package/dist/components/drawer/menu-item.js.map +1 -1
- package/dist/components/drawer/menu.d.ts +22 -2
- package/dist/components/drawer/menu.js +19 -0
- package/dist/components/drawer/menu.js.map +1 -1
- package/dist/components/drawer/panel.d.ts +21 -2
- package/dist/components/drawer/panel.js +18 -0
- package/dist/components/drawer/panel.js.map +1 -1
- package/dist/components/drawer/styles.module.css +2 -2
- package/dist/components/drawer/trigger.d.ts +31 -2
- package/dist/components/drawer/trigger.js +29 -1
- package/dist/components/drawer/trigger.js.map +1 -1
- package/dist/components/drawer/types.d.ts +149 -2
- package/dist/components/drawer/view.d.ts +25 -2
- package/dist/components/drawer/view.js +22 -0
- package/dist/components/drawer/view.js.map +1 -1
- package/dist/components/flashcard/index.d.ts +129 -27
- package/dist/components/flashcard/index.js +120 -18
- package/dist/components/flashcard/index.js.map +1 -1
- package/dist/components/flashcard/styles.module.css +1 -1
- package/dist/components/flashcard/types.d.ts +12 -0
- package/dist/components/hero/context.d.ts +5 -2
- package/dist/components/hero/context.js +3 -0
- package/dist/components/hero/context.js.map +1 -1
- package/dist/components/hero/index.d.ts +9 -2
- package/dist/components/hero/index.js +7 -0
- package/dist/components/hero/index.js.map +1 -1
- package/dist/components/hero/subtitle.d.ts +17 -2
- package/dist/components/hero/subtitle.js +15 -0
- package/dist/components/hero/subtitle.js.map +1 -1
- package/dist/components/hero/title.d.ts +15 -2
- package/dist/components/hero/title.js +13 -0
- package/dist/components/hero/title.js.map +1 -1
- package/dist/components/hero/types.d.ts +9 -0
- package/dist/components/hotkey/context.d.ts +24 -4
- package/dist/components/hotkey/context.js +20 -0
- package/dist/components/hotkey/context.js.map +1 -1
- package/dist/components/hotkey/index.d.ts +17 -2
- package/dist/components/hotkey/index.js +15 -0
- package/dist/components/hotkey/index.js.map +1 -1
- package/dist/components/hotkey/set.d.ts +21 -2
- package/dist/components/hotkey/set.js +18 -0
- package/dist/components/hotkey/set.js.map +1 -1
- package/dist/components/hotkey/types.d.ts +4 -0
- package/dist/components/icon/context.d.ts +24 -4
- package/dist/components/icon/context.js +20 -0
- package/dist/components/icon/context.js.map +1 -1
- package/dist/components/icon/index.d.ts +15 -2
- package/dist/components/icon/index.js +13 -0
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/icon/types.d.ts +4 -0
- package/dist/components/input/context.d.ts +6 -2
- package/dist/components/input/context.js +4 -0
- package/dist/components/input/context.js.map +1 -1
- package/dist/components/input/index.d.ts +17 -2
- package/dist/components/input/index.js +19 -3
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/input/styles.module.css +5 -1
- package/dist/components/input/types.d.ts +16 -0
- package/dist/components/kanban/card-body.d.ts +10 -2
- package/dist/components/kanban/card-body.js +8 -0
- package/dist/components/kanban/card-body.js.map +1 -1
- package/dist/components/kanban/card-header-actions.d.ts +10 -2
- package/dist/components/kanban/card-header-actions.js +8 -0
- package/dist/components/kanban/card-header-actions.js.map +1 -1
- package/dist/components/kanban/card-header-title.d.ts +10 -2
- package/dist/components/kanban/card-header-title.js +8 -0
- package/dist/components/kanban/card-header-title.js.map +1 -1
- package/dist/components/kanban/card-header.d.ts +12 -2
- package/dist/components/kanban/card-header.js +10 -0
- package/dist/components/kanban/card-header.js.map +1 -1
- package/dist/components/kanban/card.d.ts +26 -2
- package/dist/components/kanban/card.js +23 -0
- package/dist/components/kanban/card.js.map +1 -1
- package/dist/components/kanban/column-actions.d.ts +10 -2
- package/dist/components/kanban/column-actions.js +9 -1
- package/dist/components/kanban/column-actions.js.map +1 -1
- package/dist/components/kanban/column-container.d.ts +10 -2
- package/dist/components/kanban/column-container.js +8 -0
- package/dist/components/kanban/column-container.js.map +1 -1
- package/dist/components/kanban/column-content.d.ts +13 -2
- package/dist/components/kanban/column-content.js +11 -0
- package/dist/components/kanban/column-content.js.map +1 -1
- package/dist/components/kanban/column-header-actions.d.ts +13 -2
- package/dist/components/kanban/column-header-actions.js +11 -0
- package/dist/components/kanban/column-header-actions.js.map +1 -1
- package/dist/components/kanban/column-header-drag-handle.d.ts +7 -2
- package/dist/components/kanban/column-header-drag-handle.js +6 -1
- package/dist/components/kanban/column-header-drag-handle.js.map +1 -1
- package/dist/components/kanban/column-header-title.d.ts +10 -2
- package/dist/components/kanban/column-header-title.js +8 -0
- package/dist/components/kanban/column-header-title.js.map +1 -1
- package/dist/components/kanban/column-header.d.ts +12 -2
- package/dist/components/kanban/column-header.js +10 -0
- package/dist/components/kanban/column-header.js.map +1 -1
- package/dist/components/kanban/column.d.ts +22 -2
- package/dist/components/kanban/column.js +19 -0
- package/dist/components/kanban/column.js.map +1 -1
- package/dist/components/kanban/context.d.ts +49 -2
- package/dist/components/kanban/context.js +30 -0
- package/dist/components/kanban/context.js.map +1 -1
- package/dist/components/kanban/header-actions.d.ts +10 -2
- package/dist/components/kanban/header-actions.js +8 -0
- package/dist/components/kanban/header-actions.js.map +1 -1
- package/dist/components/kanban/header-search.d.ts +9 -2
- package/dist/components/kanban/header-search.js +7 -0
- package/dist/components/kanban/header-search.js.map +1 -1
- package/dist/components/kanban/header-title.d.ts +10 -2
- package/dist/components/kanban/header-title.js +8 -0
- package/dist/components/kanban/header-title.js.map +1 -1
- package/dist/components/kanban/header.d.ts +12 -2
- package/dist/components/kanban/header.js +10 -0
- package/dist/components/kanban/header.js.map +1 -1
- package/dist/components/kanban/kanban.d.ts +33 -4
- package/dist/components/kanban/kanban.js +29 -0
- package/dist/components/kanban/kanban.js.map +1 -1
- package/dist/components/kanban/types.d.ts +51 -0
- package/dist/components/label/context.d.ts +25 -4
- package/dist/components/label/context.js +21 -0
- package/dist/components/label/context.js.map +1 -1
- package/dist/components/label/index.d.ts +16 -2
- package/dist/components/label/index.js +14 -0
- package/dist/components/label/index.js.map +1 -1
- package/dist/components/label/types.d.ts +5 -0
- package/dist/components/lines/index.d.ts +12 -2
- package/dist/components/lines/index.js +9 -0
- package/dist/components/lines/index.js.map +1 -1
- package/dist/components/lines/types.d.ts +6 -0
- package/dist/components/link/context.d.ts +21 -2
- package/dist/components/link/context.js +18 -0
- package/dist/components/link/context.js.map +1 -1
- package/dist/components/link/index.d.ts +12 -2
- package/dist/components/link/index.js +9 -0
- package/dist/components/link/index.js.map +1 -1
- package/dist/components/link/types.d.ts +5 -0
- package/dist/components/list/context.d.ts +11 -2
- package/dist/components/list/context.js +9 -0
- package/dist/components/list/context.js.map +1 -1
- package/dist/components/list/index.d.ts +11 -2
- package/dist/components/list/index.js +9 -0
- package/dist/components/list/index.js.map +1 -1
- package/dist/components/list/item-content.d.ts +9 -2
- package/dist/components/list/item-content.js +6 -0
- package/dist/components/list/item-content.js.map +1 -1
- package/dist/components/list/item-description.d.ts +9 -2
- package/dist/components/list/item-description.js +7 -0
- package/dist/components/list/item-description.js.map +1 -1
- package/dist/components/list/item-title.d.ts +9 -2
- package/dist/components/list/item-title.js +7 -0
- package/dist/components/list/item-title.js.map +1 -1
- package/dist/components/list/item.d.ts +10 -2
- package/dist/components/list/item.js +8 -0
- package/dist/components/list/item.js.map +1 -1
- package/dist/components/list/types.d.ts +22 -0
- package/dist/components/menu/context.d.ts +6 -2
- package/dist/components/menu/context.js +4 -0
- package/dist/components/menu/context.js.map +1 -1
- package/dist/components/menu/index.d.ts +24 -3
- package/dist/components/menu/index.js +22 -1
- package/dist/components/menu/index.js.map +1 -1
- package/dist/components/menu/item-description.d.ts +17 -2
- package/dist/components/menu/item-description.js +15 -0
- package/dist/components/menu/item-description.js.map +1 -1
- package/dist/components/menu/item-label.d.ts +17 -2
- package/dist/components/menu/item-label.js +15 -0
- package/dist/components/menu/item-label.js.map +1 -1
- package/dist/components/menu/item.d.ts +23 -2
- package/dist/components/menu/item.js +21 -1
- package/dist/components/menu/item.js.map +1 -1
- package/dist/components/menu/section.d.ts +23 -2
- package/dist/components/menu/section.js +20 -0
- package/dist/components/menu/section.js.map +1 -1
- package/dist/components/menu/separator.d.ts +16 -2
- package/dist/components/menu/separator.js +14 -0
- package/dist/components/menu/separator.js.map +1 -1
- package/dist/components/menu/styles.module.css +62 -46
- package/dist/components/menu/submenu.d.ts +18 -2
- package/dist/components/menu/submenu.js +16 -0
- package/dist/components/menu/submenu.js.map +1 -1
- package/dist/components/menu/trigger.d.ts +15 -0
- package/dist/components/menu/trigger.js +15 -0
- package/dist/components/menu/trigger.js.map +1 -1
- package/dist/components/menu/types.d.ts +25 -0
- package/dist/components/notice/events.d.ts +9 -0
- package/dist/components/notice/events.js +9 -0
- package/dist/components/notice/events.js.map +1 -1
- package/dist/components/notice/index.d.ts +34 -2
- package/dist/components/notice/index.js +32 -1
- package/dist/components/notice/index.js.map +1 -1
- package/dist/components/notice/list.d.ts +31 -2
- package/dist/components/notice/list.js +28 -0
- package/dist/components/notice/list.js.map +1 -1
- package/dist/components/notice/notice-icon.d.ts +22 -2
- package/dist/components/notice/notice-icon.js +23 -1
- package/dist/components/notice/notice-icon.js.map +1 -1
- package/dist/components/notice/types.d.ts +60 -0
- package/dist/components/notice/utils.d.ts +8 -0
- package/dist/components/notice/utils.js +8 -0
- package/dist/components/notice/utils.js.map +1 -1
- package/dist/components/options/context.d.ts +3 -2
- package/dist/components/options/context.js +1 -0
- package/dist/components/options/context.js.map +1 -1
- package/dist/components/options/index.d.ts +15 -2
- package/dist/components/options/index.js +13 -0
- package/dist/components/options/index.js.map +1 -1
- package/dist/components/options/item-content.d.ts +22 -2
- package/dist/components/options/item-content.js +19 -0
- package/dist/components/options/item-content.js.map +1 -1
- package/dist/components/options/item-description.d.ts +14 -2
- package/dist/components/options/item-description.js +12 -0
- package/dist/components/options/item-description.js.map +1 -1
- package/dist/components/options/item-label.d.ts +14 -2
- package/dist/components/options/item-label.js +12 -0
- package/dist/components/options/item-label.js.map +1 -1
- package/dist/components/options/item.d.ts +22 -0
- package/dist/components/options/item.js +21 -0
- package/dist/components/options/item.js.map +1 -1
- package/dist/components/options/section.d.ts +21 -2
- package/dist/components/options/section.js +18 -0
- package/dist/components/options/section.js.map +1 -1
- package/dist/components/options/types.d.ts +24 -0
- package/dist/components/pagination/context.d.ts +3 -2
- package/dist/components/pagination/context.js +1 -0
- package/dist/components/pagination/context.js.map +1 -1
- package/dist/components/pagination/index.d.ts +18 -11
- package/dist/components/pagination/index.js +15 -9
- package/dist/components/pagination/index.js.map +1 -1
- package/dist/components/pagination/next.d.ts +17 -2
- package/dist/components/pagination/next.js +15 -0
- package/dist/components/pagination/next.js.map +1 -1
- package/dist/components/pagination/pages.d.ts +21 -2
- package/dist/components/pagination/pages.js +18 -0
- package/dist/components/pagination/pages.js.map +1 -1
- package/dist/components/pagination/prev.d.ts +17 -2
- package/dist/components/pagination/prev.js +16 -1
- package/dist/components/pagination/prev.js.map +1 -1
- package/dist/components/pagination/types.d.ts +32 -0
- package/dist/components/pagination/utils.d.ts +35 -0
- package/dist/components/pagination/utils.js +35 -0
- package/dist/components/pagination/utils.js.map +1 -1
- package/dist/components/popover/content.d.ts +20 -2
- package/dist/components/popover/content.js +17 -0
- package/dist/components/popover/content.js.map +1 -1
- package/dist/components/popover/footer.d.ts +22 -2
- package/dist/components/popover/footer.js +19 -0
- package/dist/components/popover/footer.js.map +1 -1
- package/dist/components/popover/index.d.ts +9 -2
- package/dist/components/popover/index.js +8 -1
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/popover/styles.module.css +6 -0
- package/dist/components/popover/title.d.ts +17 -2
- package/dist/components/popover/title.js +15 -0
- package/dist/components/popover/title.js.map +1 -1
- package/dist/components/popover/trigger.d.ts +24 -2
- package/dist/components/popover/trigger.js +21 -0
- package/dist/components/popover/trigger.js.map +1 -1
- package/dist/components/popover/types.d.ts +10 -0
- package/dist/components/query-builder/action-element.d.ts +20 -2
- package/dist/components/query-builder/action-element.js +17 -0
- package/dist/components/query-builder/action-element.js.map +1 -1
- package/dist/components/query-builder/actions.d.ts +37 -4
- package/dist/components/query-builder/actions.js +36 -1
- package/dist/components/query-builder/actions.js.map +1 -1
- package/dist/components/query-builder/combinator-selector.d.ts +10 -2
- package/dist/components/query-builder/combinator-selector.js +8 -0
- package/dist/components/query-builder/combinator-selector.js.map +1 -1
- package/dist/components/query-builder/constants.d.ts +1 -0
- package/dist/components/query-builder/constants.js +1 -0
- package/dist/components/query-builder/constants.js.map +1 -1
- package/dist/components/query-builder/index.d.ts +11 -2
- package/dist/components/query-builder/index.js +9 -0
- package/dist/components/query-builder/index.js.map +1 -1
- package/dist/components/query-builder/rule-group.d.ts +52 -4
- package/dist/components/query-builder/rule-group.js +47 -0
- package/dist/components/query-builder/rule-group.js.map +1 -1
- package/dist/components/query-builder/rule.d.ts +20 -2
- package/dist/components/query-builder/rule.js +18 -0
- package/dist/components/query-builder/rule.js.map +1 -1
- package/dist/components/query-builder/types.d.ts +9 -0
- package/dist/components/query-builder/utils.d.ts +15 -0
- package/dist/components/query-builder/utils.js +15 -0
- package/dist/components/query-builder/utils.js.map +1 -1
- package/dist/components/query-builder/value-editor.d.ts +23 -2
- package/dist/components/query-builder/value-editor.js +20 -0
- package/dist/components/query-builder/value-editor.js.map +1 -1
- package/dist/components/query-builder/value-selector.d.ts +23 -2
- package/dist/components/query-builder/value-selector.js +20 -0
- package/dist/components/query-builder/value-selector.js.map +1 -1
- package/dist/components/radio/context.d.ts +2 -2
- package/dist/components/radio/group.d.ts +19 -2
- package/dist/components/radio/group.js +16 -0
- package/dist/components/radio/group.js.map +1 -1
- package/dist/components/radio/index.d.ts +13 -26
- package/dist/components/radio/index.js +11 -24
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/radio/types.d.ts +16 -0
- package/dist/components/search-field/context.d.ts +7 -4
- package/dist/components/search-field/context.js +3 -0
- package/dist/components/search-field/context.js.map +1 -1
- package/dist/components/search-field/index.d.ts +15 -24
- package/dist/components/search-field/index.js +16 -23
- package/dist/components/search-field/index.js.map +1 -1
- package/dist/components/search-field/types.d.ts +13 -0
- package/dist/components/select-field/context.d.ts +11 -4
- package/dist/components/select-field/context.js +7 -0
- package/dist/components/select-field/context.js.map +1 -1
- package/dist/components/select-field/index.d.ts +19 -39
- package/dist/components/select-field/index.js +28 -42
- package/dist/components/select-field/index.js.map +1 -1
- package/dist/components/select-field/styles.module.css +12 -0
- package/dist/components/select-field/types.d.ts +19 -0
- package/dist/components/sidenav/avatar.d.ts +19 -2
- package/dist/components/sidenav/avatar.js +16 -0
- package/dist/components/sidenav/avatar.js.map +1 -1
- package/dist/components/sidenav/content.d.ts +23 -2
- package/dist/components/sidenav/content.js +20 -0
- package/dist/components/sidenav/content.js.map +1 -1
- package/dist/components/sidenav/context.d.ts +3 -2
- package/dist/components/sidenav/context.js +1 -0
- package/dist/components/sidenav/context.js.map +1 -1
- package/dist/components/sidenav/events.d.ts +2 -0
- package/dist/components/sidenav/events.js +2 -0
- package/dist/components/sidenav/events.js.map +1 -1
- package/dist/components/sidenav/footer.d.ts +16 -2
- package/dist/components/sidenav/footer.js +13 -0
- package/dist/components/sidenav/footer.js.map +1 -1
- package/dist/components/sidenav/header.d.ts +20 -2
- package/dist/components/sidenav/header.js +18 -1
- package/dist/components/sidenav/header.js.map +1 -1
- package/dist/components/sidenav/index.d.ts +11 -2
- package/dist/components/sidenav/index.js +9 -0
- package/dist/components/sidenav/index.js.map +1 -1
- package/dist/components/sidenav/item.d.ts +17 -2
- package/dist/components/sidenav/item.js +14 -0
- package/dist/components/sidenav/item.js.map +1 -1
- package/dist/components/sidenav/link.d.ts +17 -2
- package/dist/components/sidenav/link.js +15 -1
- package/dist/components/sidenav/link.js.map +1 -1
- package/dist/components/sidenav/menu-item.d.ts +16 -2
- package/dist/components/sidenav/menu-item.js +13 -0
- package/dist/components/sidenav/menu-item.js.map +1 -1
- package/dist/components/sidenav/menu.d.ts +19 -2
- package/dist/components/sidenav/menu.js +17 -1
- package/dist/components/sidenav/menu.js.map +1 -1
- package/dist/components/sidenav/trigger.d.ts +17 -2
- package/dist/components/sidenav/trigger.js +14 -0
- package/dist/components/sidenav/trigger.js.map +1 -1
- package/dist/components/sidenav/types.d.ts +53 -0
- package/dist/components/skeleton/index.d.ts +12 -27
- package/dist/components/skeleton/index.js +10 -24
- package/dist/components/skeleton/index.js.map +1 -1
- package/dist/components/skeleton/types.d.ts +4 -0
- package/dist/components/slider/index.d.ts +30 -29
- package/dist/components/slider/index.js +28 -27
- package/dist/components/slider/index.js.map +1 -1
- package/dist/components/slider/types.d.ts +18 -0
- package/dist/components/switch/context.d.ts +16 -10
- package/dist/components/switch/context.js +13 -7
- package/dist/components/switch/context.js.map +1 -1
- package/dist/components/switch/index.d.ts +14 -31
- package/dist/components/switch/index.js +12 -29
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/switch/types.d.ts +5 -0
- package/dist/components/table/body.d.ts +21 -2
- package/dist/components/table/body.js +18 -0
- package/dist/components/table/body.js.map +1 -1
- package/dist/components/table/cell.d.ts +22 -2
- package/dist/components/table/cell.js +19 -0
- package/dist/components/table/cell.js.map +1 -1
- package/dist/components/table/constants/table.d.ts +6 -0
- package/dist/components/table/constants/table.js +4 -0
- package/dist/components/table/constants/table.js.map +1 -1
- package/dist/components/table/context.d.ts +1 -0
- package/dist/components/table/context.js +1 -0
- package/dist/components/table/context.js.map +1 -1
- package/dist/components/table/header-cell.d.ts +24 -2
- package/dist/components/table/header-cell.js +24 -1
- package/dist/components/table/header-cell.js.map +1 -1
- package/dist/components/table/header.d.ts +22 -2
- package/dist/components/table/header.js +19 -0
- package/dist/components/table/header.js.map +1 -1
- package/dist/components/table/index.d.ts +28 -6
- package/dist/components/table/index.js +27 -5
- package/dist/components/table/index.js.map +1 -1
- package/dist/components/table/row.d.ts +26 -2
- package/dist/components/table/row.js +23 -0
- package/dist/components/table/row.js.map +1 -1
- package/dist/components/table/types.d.ts +3 -0
- package/dist/components/tabs/context.d.ts +20 -10
- package/dist/components/tabs/context.js +17 -7
- package/dist/components/tabs/context.js.map +1 -1
- package/dist/components/tabs/index.d.ts +17 -40
- package/dist/components/tabs/index.js +15 -38
- package/dist/components/tabs/index.js.map +1 -1
- package/dist/components/tabs/list.d.ts +20 -4
- package/dist/components/tabs/list.js +17 -2
- package/dist/components/tabs/list.js.map +1 -1
- package/dist/components/tabs/panel.d.ts +21 -4
- package/dist/components/tabs/panel.js +18 -2
- package/dist/components/tabs/panel.js.map +1 -1
- package/dist/components/tabs/tab.d.ts +17 -4
- package/dist/components/tabs/tab.js +14 -2
- package/dist/components/tabs/tab.js.map +1 -1
- package/dist/components/tabs/types.d.ts +3 -0
- package/dist/components/text-area-field/context.d.ts +20 -10
- package/dist/components/text-area-field/context.js +17 -7
- package/dist/components/text-area-field/context.js.map +1 -1
- package/dist/components/text-area-field/index.d.ts +20 -15
- package/dist/components/text-area-field/index.js +18 -13
- package/dist/components/text-area-field/index.js.map +1 -1
- package/dist/components/text-area-field/styles.module.css +5 -1
- package/dist/components/text-area-field/types.d.ts +9 -0
- package/dist/components/text-field/context.d.ts +24 -4
- package/dist/components/text-field/context.js +20 -0
- package/dist/components/text-field/context.js.map +1 -1
- package/dist/components/text-field/index.d.ts +17 -82
- package/dist/components/text-field/index.js +15 -80
- package/dist/components/text-field/index.js.map +1 -1
- package/dist/components/text-field/types.d.ts +9 -0
- package/dist/components/time-field/index.d.ts +24 -5
- package/dist/components/time-field/index.js +25 -6
- package/dist/components/time-field/index.js.map +1 -1
- package/dist/components/time-field/styles.module.css +5 -2
- package/dist/components/time-field/types.d.ts +9 -0
- package/dist/components/tooltip/context.d.ts +3 -2
- package/dist/components/tooltip/context.js +1 -0
- package/dist/components/tooltip/context.js.map +1 -1
- package/dist/components/tooltip/index.d.ts +15 -30
- package/dist/components/tooltip/index.js +13 -28
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/tooltip/trigger.d.ts +22 -2
- package/dist/components/tooltip/trigger.js +19 -0
- package/dist/components/tooltip/trigger.js.map +1 -1
- package/dist/components/tooltip/types.d.ts +7 -0
- package/dist/components/tree/context.d.ts +5 -9
- package/dist/components/tree/context.js +2 -6
- package/dist/components/tree/context.js.map +1 -1
- package/dist/components/tree/index.d.ts +30 -8
- package/dist/components/tree/index.js +28 -6
- package/dist/components/tree/index.js.map +1 -1
- package/dist/components/tree/item-actions.d.ts +19 -4
- package/dist/components/tree/item-actions.js +16 -2
- package/dist/components/tree/item-actions.js.map +1 -1
- package/dist/components/tree/item-content.d.ts +18 -4
- package/dist/components/tree/item-content.js +20 -3
- package/dist/components/tree/item-content.js.map +1 -1
- package/dist/components/tree/item-description.d.ts +15 -4
- package/dist/components/tree/item-description.js +13 -2
- package/dist/components/tree/item-description.js.map +1 -1
- package/dist/components/tree/item-label.d.ts +15 -4
- package/dist/components/tree/item-label.js +13 -2
- package/dist/components/tree/item-label.js.map +1 -1
- package/dist/components/tree/item-prefix-icon.d.ts +15 -4
- package/dist/components/tree/item-prefix-icon.js +13 -2
- package/dist/components/tree/item-prefix-icon.js.map +1 -1
- package/dist/components/tree/item.d.ts +24 -4
- package/dist/components/tree/item.js +21 -2
- package/dist/components/tree/item.js.map +1 -1
- package/dist/components/tree/lines.d.ts +10 -2
- package/dist/components/tree/lines.js +8 -0
- package/dist/components/tree/lines.js.map +1 -1
- package/dist/components/tree/types.d.ts +26 -0
- package/dist/components/view-stack/context.d.ts +20 -9
- package/dist/components/view-stack/context.js +18 -7
- package/dist/components/view-stack/context.js.map +1 -1
- package/dist/components/view-stack/events.d.ts +2 -0
- package/dist/components/view-stack/events.js +2 -0
- package/dist/components/view-stack/events.js.map +1 -1
- package/dist/components/view-stack/index.d.ts +16 -24
- package/dist/components/view-stack/index.js +14 -22
- package/dist/components/view-stack/index.js.map +1 -1
- package/dist/components/view-stack/trigger.d.ts +26 -4
- package/dist/components/view-stack/trigger.js +23 -2
- package/dist/components/view-stack/trigger.js.map +1 -1
- package/dist/components/view-stack/types.d.ts +29 -0
- package/dist/components/view-stack/view.d.ts +22 -2
- package/dist/components/view-stack/view.js +19 -0
- package/dist/components/view-stack/view.js.map +1 -1
- package/dist/hooks/coordinate-field/use-coordinate-copy.d.ts +44 -0
- package/dist/hooks/coordinate-field/use-coordinate-copy.js +35 -0
- package/dist/hooks/coordinate-field/use-coordinate-copy.js.map +1 -1
- package/dist/hooks/coordinate-field/use-coordinate-field-state.d.ts +69 -0
- package/dist/hooks/coordinate-field/use-coordinate-field-state.js +50 -0
- package/dist/hooks/coordinate-field/use-coordinate-field-state.js.map +1 -1
- package/dist/hooks/coordinate-field/use-coordinate-field.d.ts +61 -0
- package/dist/hooks/coordinate-field/use-coordinate-field.js +47 -0
- package/dist/hooks/coordinate-field/use-coordinate-field.js.map +1 -1
- package/dist/hooks/coordinate-field/use-coordinate-focus.d.ts +51 -0
- package/dist/hooks/coordinate-field/use-coordinate-focus.js +39 -0
- package/dist/hooks/coordinate-field/use-coordinate-focus.js.map +1 -1
- package/dist/hooks/coordinate-field/use-coordinate-paste.d.ts +63 -0
- package/dist/hooks/coordinate-field/use-coordinate-paste.js +51 -0
- package/dist/hooks/coordinate-field/use-coordinate-paste.js.map +1 -1
- package/dist/hooks/coordinate-field/use-timeout-cleanup.d.ts +32 -0
- package/dist/hooks/coordinate-field/use-timeout-cleanup.js +30 -0
- package/dist/hooks/coordinate-field/use-timeout-cleanup.js.map +1 -1
- package/dist/hooks/use-frame-delay/index.d.ts +43 -0
- package/dist/hooks/use-frame-delay/index.js +66 -0
- package/dist/hooks/use-frame-delay/index.js.map +1 -0
- package/dist/hooks/use-tree/actions/index.d.ts +4 -2
- package/dist/hooks/use-tree/actions/index.js +4 -2
- package/dist/hooks/use-tree/actions/index.js.map +1 -1
- package/dist/hooks/use-tree/state/index.d.ts +7 -0
- package/dist/hooks/use-tree/state/index.js +7 -0
- package/dist/hooks/use-tree/state/index.js.map +1 -1
- package/dist/hooks/use-tree/types.d.ts +22 -0
- package/dist/index.d.ts +7 -4
- package/dist/index.js +4 -2
- package/dist/lib/types.d.ts +17 -0
- package/dist/lib/utils.d.ts +15 -0
- package/dist/lib/utils.js +15 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/providers/portal.d.ts +11 -2
- package/dist/providers/portal.js +9 -0
- package/dist/providers/portal.js.map +1 -1
- package/dist/providers/theme-provider.d.ts +18 -2
- package/dist/providers/theme-provider.js +15 -0
- package/dist/providers/theme-provider.js.map +1 -1
- package/package.json +15 -12
|
@@ -12,14 +12,22 @@
|
|
|
12
12
|
|
|
13
13
|
import { KanbanComponentProps } from "./types.js";
|
|
14
14
|
import "client-only";
|
|
15
|
-
import * as
|
|
15
|
+
import * as react_jsx_runtime64 from "react/jsx-runtime";
|
|
16
16
|
|
|
17
17
|
//#region src/components/kanban/column-container.d.ts
|
|
18
|
+
/**
|
|
19
|
+
* KanbanColumnContainer - Container that holds all columns
|
|
20
|
+
*
|
|
21
|
+
* @param props - {@link KanbanComponentProps}
|
|
22
|
+
* @param props.children - Column elements.
|
|
23
|
+
* @param props.className - Optional CSS class name.
|
|
24
|
+
* @returns The rendered KanbanColumnContainer component.
|
|
25
|
+
*/
|
|
18
26
|
declare function KanbanColumnContainer({
|
|
19
27
|
children,
|
|
20
28
|
className,
|
|
21
29
|
...rest
|
|
22
|
-
}: KanbanComponentProps):
|
|
30
|
+
}: KanbanComponentProps): react_jsx_runtime64.JSX.Element;
|
|
23
31
|
//#endregion
|
|
24
32
|
export { KanbanColumnContainer };
|
|
25
33
|
//# sourceMappingURL=column-container.d.ts.map
|
|
@@ -19,6 +19,14 @@ import { jsx } from "react/jsx-runtime";
|
|
|
19
19
|
import styles from "./styles.module.css";
|
|
20
20
|
|
|
21
21
|
//#region src/components/kanban/column-container.tsx
|
|
22
|
+
/**
|
|
23
|
+
* KanbanColumnContainer - Container that holds all columns
|
|
24
|
+
*
|
|
25
|
+
* @param props - {@link KanbanComponentProps}
|
|
26
|
+
* @param props.children - Column elements.
|
|
27
|
+
* @param props.className - Optional CSS class name.
|
|
28
|
+
* @returns The rendered KanbanColumnContainer component.
|
|
29
|
+
*/
|
|
22
30
|
function KanbanColumnContainer({ children, className, ...rest }) {
|
|
23
31
|
return /* @__PURE__ */ jsx("div", {
|
|
24
32
|
...rest,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-container.js","names":[],"sources":["../../../src/components/kanban/column-container.tsx"],"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'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport styles from './styles.module.css';\nimport type { KanbanComponentProps } from './types';\n\nexport function KanbanColumnContainer({\n children,\n className,\n ...rest\n}: KanbanComponentProps) {\n return (\n <div {...rest} className={clsx(styles.columnItems, className)}>\n {children}\n </div>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"column-container.js","names":[],"sources":["../../../src/components/kanban/column-container.tsx"],"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'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport styles from './styles.module.css';\nimport type { KanbanComponentProps } from './types';\n\n/**\n * KanbanColumnContainer - Container that holds all columns\n *\n * @param props - {@link KanbanComponentProps}\n * @param props.children - Column elements.\n * @param props.className - Optional CSS class name.\n * @returns The rendered KanbanColumnContainer component.\n */\nexport function KanbanColumnContainer({\n children,\n className,\n ...rest\n}: KanbanComponentProps) {\n return (\n <div {...rest} className={clsx(styles.columnItems, className)}>\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,SAAgB,sBAAsB,EACpC,UACA,WACA,GAAG,QACoB;AACvB,QACE,oBAAC;EAAI,GAAI;EAAM,WAAW,KAAK,OAAO,aAAa,UAAU;EAC1D;GACG"}
|
|
@@ -12,15 +12,26 @@
|
|
|
12
12
|
|
|
13
13
|
import { KanbanColContentProps } from "./types.js";
|
|
14
14
|
import "client-only";
|
|
15
|
-
import * as
|
|
15
|
+
import * as react_jsx_runtime65 from "react/jsx-runtime";
|
|
16
16
|
|
|
17
17
|
//#region src/components/kanban/column-content.d.ts
|
|
18
|
+
/**
|
|
19
|
+
* KanbanColumnContent - Container for cards within a column
|
|
20
|
+
*
|
|
21
|
+
* Provides sortable context for card drag-and-drop.
|
|
22
|
+
*
|
|
23
|
+
* @param props - {@link KanbanColContentProps}
|
|
24
|
+
* @param props.children - Card elements.
|
|
25
|
+
* @param props.className - Optional CSS class name.
|
|
26
|
+
* @param props.column - Column data for sortable context.
|
|
27
|
+
* @returns The rendered KanbanColumnContent component.
|
|
28
|
+
*/
|
|
18
29
|
declare function KanbanColumnContent({
|
|
19
30
|
children,
|
|
20
31
|
className,
|
|
21
32
|
column,
|
|
22
33
|
...rest
|
|
23
|
-
}: KanbanColContentProps):
|
|
34
|
+
}: KanbanColContentProps): react_jsx_runtime65.JSX.Element;
|
|
24
35
|
//#endregion
|
|
25
36
|
export { KanbanColumnContent };
|
|
26
37
|
//# sourceMappingURL=column-content.d.ts.map
|
|
@@ -20,6 +20,17 @@ import styles from "./styles.module.css";
|
|
|
20
20
|
import { SortableContext, verticalListSortingStrategy } from "@dnd-kit/sortable";
|
|
21
21
|
|
|
22
22
|
//#region src/components/kanban/column-content.tsx
|
|
23
|
+
/**
|
|
24
|
+
* KanbanColumnContent - Container for cards within a column
|
|
25
|
+
*
|
|
26
|
+
* Provides sortable context for card drag-and-drop.
|
|
27
|
+
*
|
|
28
|
+
* @param props - {@link KanbanColContentProps}
|
|
29
|
+
* @param props.children - Card elements.
|
|
30
|
+
* @param props.className - Optional CSS class name.
|
|
31
|
+
* @param props.column - Column data for sortable context.
|
|
32
|
+
* @returns The rendered KanbanColumnContent component.
|
|
33
|
+
*/
|
|
23
34
|
function KanbanColumnContent({ children, className, column, ...rest }) {
|
|
24
35
|
return /* @__PURE__ */ jsx(SortableContext, {
|
|
25
36
|
items: column.cards.map((card) => card.id),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-content.js","names":[],"sources":["../../../src/components/kanban/column-content.tsx"],"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'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n SortableContext,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable';\nimport styles from './styles.module.css';\nimport type { KanbanColContentProps } from './types';\n\nexport function KanbanColumnContent({\n children,\n className,\n column,\n ...rest\n}: KanbanColContentProps) {\n const cardIds = column.cards.map((card) => card.id);\n\n return (\n <SortableContext items={cardIds} strategy={verticalListSortingStrategy}>\n <div {...rest} className={clsx(styles.columnContent, className)}>\n {children}\n </div>\n </SortableContext>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"column-content.js","names":[],"sources":["../../../src/components/kanban/column-content.tsx"],"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'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n SortableContext,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable';\nimport styles from './styles.module.css';\nimport type { KanbanColContentProps } from './types';\n\n/**\n * KanbanColumnContent - Container for cards within a column\n *\n * Provides sortable context for card drag-and-drop.\n *\n * @param props - {@link KanbanColContentProps}\n * @param props.children - Card elements.\n * @param props.className - Optional CSS class name.\n * @param props.column - Column data for sortable context.\n * @returns The rendered KanbanColumnContent component.\n */\nexport function KanbanColumnContent({\n children,\n className,\n column,\n ...rest\n}: KanbanColContentProps) {\n const cardIds = column.cards.map((card) => card.id);\n\n return (\n <SortableContext items={cardIds} strategy={verticalListSortingStrategy}>\n <div {...rest} className={clsx(styles.columnContent, className)}>\n {children}\n </div>\n </SortableContext>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,SAAgB,oBAAoB,EAClC,UACA,WACA,QACA,GAAG,QACqB;AAGxB,QACE,oBAAC;EAAgB,OAHH,OAAO,MAAM,KAAK,SAAS,KAAK,GAAG;EAGhB,UAAU;YACzC,oBAAC;GAAI,GAAI;GAAM,WAAW,KAAK,OAAO,eAAe,UAAU;GAC5D;IACG;GACU"}
|
|
@@ -12,15 +12,26 @@
|
|
|
12
12
|
|
|
13
13
|
import { KanbanMenuProps } from "./types.js";
|
|
14
14
|
import "client-only";
|
|
15
|
-
import * as
|
|
15
|
+
import * as react_jsx_runtime68 from "react/jsx-runtime";
|
|
16
16
|
|
|
17
17
|
//#region src/components/kanban/column-header-actions.d.ts
|
|
18
|
+
/**
|
|
19
|
+
* KanbanColumnHeaderActions - Container for column actions
|
|
20
|
+
*
|
|
21
|
+
* Displays card count badge and optional action buttons.
|
|
22
|
+
*
|
|
23
|
+
* @param props - {@link KanbanMenuProps}
|
|
24
|
+
* @param props.className - Optional CSS class name.
|
|
25
|
+
* @param props.cardCount - Number of cards to display in badge.
|
|
26
|
+
* @param props.children - Additional action elements.
|
|
27
|
+
* @returns The rendered KanbanColumnHeaderActions component.
|
|
28
|
+
*/
|
|
18
29
|
declare function KanbanColumnHeaderActions({
|
|
19
30
|
className,
|
|
20
31
|
cardCount,
|
|
21
32
|
children,
|
|
22
33
|
...rest
|
|
23
|
-
}: KanbanMenuProps):
|
|
34
|
+
}: KanbanMenuProps): react_jsx_runtime68.JSX.Element;
|
|
24
35
|
//#endregion
|
|
25
36
|
export { KanbanColumnHeaderActions };
|
|
26
37
|
//# sourceMappingURL=column-header-actions.d.ts.map
|
|
@@ -20,6 +20,17 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
20
20
|
import styles from "./styles.module.css";
|
|
21
21
|
|
|
22
22
|
//#region src/components/kanban/column-header-actions.tsx
|
|
23
|
+
/**
|
|
24
|
+
* KanbanColumnHeaderActions - Container for column actions
|
|
25
|
+
*
|
|
26
|
+
* Displays card count badge and optional action buttons.
|
|
27
|
+
*
|
|
28
|
+
* @param props - {@link KanbanMenuProps}
|
|
29
|
+
* @param props.className - Optional CSS class name.
|
|
30
|
+
* @param props.cardCount - Number of cards to display in badge.
|
|
31
|
+
* @param props.children - Additional action elements.
|
|
32
|
+
* @returns The rendered KanbanColumnHeaderActions component.
|
|
33
|
+
*/
|
|
23
34
|
function KanbanColumnHeaderActions({ className, cardCount, children, ...rest }) {
|
|
24
35
|
return /* @__PURE__ */ jsxs("div", {
|
|
25
36
|
...rest,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-header-actions.js","names":[],"sources":["../../../src/components/kanban/column-header-actions.tsx"],"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'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { Badge } from '../badge';\nimport styles from './styles.module.css';\nimport type { KanbanMenuProps } from './types';\n\nexport function KanbanColumnHeaderActions({\n className,\n cardCount,\n children,\n ...rest\n}: KanbanMenuProps) {\n return (\n <div {...rest} className={clsx(styles.colHeaderActions, className)}>\n <Badge>{cardCount ?? 0}</Badge>\n {children}\n </div>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"column-header-actions.js","names":[],"sources":["../../../src/components/kanban/column-header-actions.tsx"],"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'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { Badge } from '../badge';\nimport styles from './styles.module.css';\nimport type { KanbanMenuProps } from './types';\n\n/**\n * KanbanColumnHeaderActions - Container for column actions\n *\n * Displays card count badge and optional action buttons.\n *\n * @param props - {@link KanbanMenuProps}\n * @param props.className - Optional CSS class name.\n * @param props.cardCount - Number of cards to display in badge.\n * @param props.children - Additional action elements.\n * @returns The rendered KanbanColumnHeaderActions component.\n */\nexport function KanbanColumnHeaderActions({\n className,\n cardCount,\n children,\n ...rest\n}: KanbanMenuProps) {\n return (\n <div {...rest} className={clsx(styles.colHeaderActions, className)}>\n <Badge>{cardCount ?? 0}</Badge>\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,SAAgB,0BAA0B,EACxC,WACA,WACA,UACA,GAAG,QACe;AAClB,QACE,qBAAC;EAAI,GAAI;EAAM,WAAW,KAAK,OAAO,kBAAkB,UAAU;aAChE,oBAAC,mBAAO,aAAa,IAAU,EAC9B;GACG"}
|
|
@@ -11,10 +11,15 @@
|
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import "client-only";
|
|
14
|
-
import * as
|
|
14
|
+
import * as react_jsx_runtime72 from "react/jsx-runtime";
|
|
15
15
|
|
|
16
16
|
//#region src/components/kanban/column-header-drag-handle.d.ts
|
|
17
|
-
|
|
17
|
+
/**
|
|
18
|
+
* KanbanColumnHeaderDragHandle - Visual indicator for column dragging
|
|
19
|
+
*
|
|
20
|
+
* @returns The rendered KanbanColumnHeaderDragHandle component.
|
|
21
|
+
*/
|
|
22
|
+
declare function KanbanColumnHeaderDragHandle(): react_jsx_runtime72.JSX.Element;
|
|
18
23
|
//#endregion
|
|
19
24
|
export { KanbanColumnHeaderDragHandle };
|
|
20
25
|
//# sourceMappingURL=column-header-drag-handle.d.ts.map
|
|
@@ -16,9 +16,14 @@
|
|
|
16
16
|
import { Icon } from "../icon/index.js";
|
|
17
17
|
import "client-only";
|
|
18
18
|
import { jsx } from "react/jsx-runtime";
|
|
19
|
-
import
|
|
19
|
+
import DragVert from "@accelint/icons/drag-vert";
|
|
20
20
|
|
|
21
21
|
//#region src/components/kanban/column-header-drag-handle.tsx
|
|
22
|
+
/**
|
|
23
|
+
* KanbanColumnHeaderDragHandle - Visual indicator for column dragging
|
|
24
|
+
*
|
|
25
|
+
* @returns The rendered KanbanColumnHeaderDragHandle component.
|
|
26
|
+
*/
|
|
22
27
|
function KanbanColumnHeaderDragHandle() {
|
|
23
28
|
return /* @__PURE__ */ jsx(Icon, {
|
|
24
29
|
size: "small",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-header-drag-handle.js","names":[],"sources":["../../../src/components/kanban/column-header-drag-handle.tsx"],"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'use client';\nimport 'client-only';\n\nimport
|
|
1
|
+
{"version":3,"file":"column-header-drag-handle.js","names":[],"sources":["../../../src/components/kanban/column-header-drag-handle.tsx"],"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'use client';\nimport 'client-only';\n\nimport DragVert from '@accelint/icons/drag-vert';\nimport { Icon } from '../icon';\n\n/**\n * KanbanColumnHeaderDragHandle - Visual indicator for column dragging\n *\n * @returns The rendered KanbanColumnHeaderDragHandle component.\n */\nexport function KanbanColumnHeaderDragHandle() {\n return (\n <Icon size='small' aria-label='Drag column'>\n <DragVert />\n </Icon>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,SAAgB,+BAA+B;AAC7C,QACE,oBAAC;EAAK,MAAK;EAAQ,cAAW;YAC5B,oBAAC,aAAW;GACP"}
|
|
@@ -12,14 +12,22 @@
|
|
|
12
12
|
|
|
13
13
|
import { KanbanComponentProps } from "./types.js";
|
|
14
14
|
import "client-only";
|
|
15
|
-
import * as
|
|
15
|
+
import * as react_jsx_runtime70 from "react/jsx-runtime";
|
|
16
16
|
|
|
17
17
|
//#region src/components/kanban/column-header-title.d.ts
|
|
18
|
+
/**
|
|
19
|
+
* KanbanColumnHeaderTitle - Title of the column
|
|
20
|
+
*
|
|
21
|
+
* @param props - {@link KanbanComponentProps}
|
|
22
|
+
* @param props.children - Title text content.
|
|
23
|
+
* @param props.className - Optional CSS class name.
|
|
24
|
+
* @returns The rendered KanbanColumnHeaderTitle component.
|
|
25
|
+
*/
|
|
18
26
|
declare function KanbanColumnHeaderTitle({
|
|
19
27
|
children,
|
|
20
28
|
className,
|
|
21
29
|
...rest
|
|
22
|
-
}: KanbanComponentProps):
|
|
30
|
+
}: KanbanComponentProps): react_jsx_runtime70.JSX.Element;
|
|
23
31
|
//#endregion
|
|
24
32
|
export { KanbanColumnHeaderTitle };
|
|
25
33
|
//# sourceMappingURL=column-header-title.d.ts.map
|
|
@@ -19,6 +19,14 @@ import { jsx } from "react/jsx-runtime";
|
|
|
19
19
|
import styles from "./styles.module.css";
|
|
20
20
|
|
|
21
21
|
//#region src/components/kanban/column-header-title.tsx
|
|
22
|
+
/**
|
|
23
|
+
* KanbanColumnHeaderTitle - Title of the column
|
|
24
|
+
*
|
|
25
|
+
* @param props - {@link KanbanComponentProps}
|
|
26
|
+
* @param props.children - Title text content.
|
|
27
|
+
* @param props.className - Optional CSS class name.
|
|
28
|
+
* @returns The rendered KanbanColumnHeaderTitle component.
|
|
29
|
+
*/
|
|
22
30
|
function KanbanColumnHeaderTitle({ children, className, ...rest }) {
|
|
23
31
|
return /* @__PURE__ */ jsx("span", {
|
|
24
32
|
...rest,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-header-title.js","names":[],"sources":["../../../src/components/kanban/column-header-title.tsx"],"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'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport styles from './styles.module.css';\nimport type { KanbanComponentProps } from './types';\n\nexport function KanbanColumnHeaderTitle({\n children,\n className,\n ...rest\n}: KanbanComponentProps) {\n return (\n <span {...rest} className={clsx(styles.columnTitle, className)}>\n {children}\n </span>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"column-header-title.js","names":[],"sources":["../../../src/components/kanban/column-header-title.tsx"],"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'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport styles from './styles.module.css';\nimport type { KanbanComponentProps } from './types';\n\n/**\n * KanbanColumnHeaderTitle - Title of the column\n *\n * @param props - {@link KanbanComponentProps}\n * @param props.children - Title text content.\n * @param props.className - Optional CSS class name.\n * @returns The rendered KanbanColumnHeaderTitle component.\n */\nexport function KanbanColumnHeaderTitle({\n children,\n className,\n ...rest\n}: KanbanComponentProps) {\n return (\n <span {...rest} className={clsx(styles.columnTitle, className)}>\n {children}\n </span>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,SAAgB,wBAAwB,EACtC,UACA,WACA,GAAG,QACoB;AACvB,QACE,oBAAC;EAAK,GAAI;EAAM,WAAW,KAAK,OAAO,aAAa,UAAU;EAC3D;GACI"}
|
|
@@ -12,14 +12,24 @@
|
|
|
12
12
|
|
|
13
13
|
import { KanbanComponentProps } from "./types.js";
|
|
14
14
|
import "client-only";
|
|
15
|
-
import * as
|
|
15
|
+
import * as react_jsx_runtime74 from "react/jsx-runtime";
|
|
16
16
|
|
|
17
17
|
//#region src/components/kanban/column-header.d.ts
|
|
18
|
+
/**
|
|
19
|
+
* KanbanColumnHeader - Header section of a column
|
|
20
|
+
*
|
|
21
|
+
* Contains title, drag handle, and actions.
|
|
22
|
+
*
|
|
23
|
+
* @param props - {@link KanbanComponentProps}
|
|
24
|
+
* @param props.children - Header content (title, actions, drag handle).
|
|
25
|
+
* @param props.className - Optional CSS class name.
|
|
26
|
+
* @returns The rendered KanbanColumnHeader component.
|
|
27
|
+
*/
|
|
18
28
|
declare function KanbanColumnHeader({
|
|
19
29
|
children,
|
|
20
30
|
className,
|
|
21
31
|
...rest
|
|
22
|
-
}: KanbanComponentProps):
|
|
32
|
+
}: KanbanComponentProps): react_jsx_runtime74.JSX.Element;
|
|
23
33
|
//#endregion
|
|
24
34
|
export { KanbanColumnHeader };
|
|
25
35
|
//# sourceMappingURL=column-header.d.ts.map
|
|
@@ -19,6 +19,16 @@ import { jsx } from "react/jsx-runtime";
|
|
|
19
19
|
import styles from "./styles.module.css";
|
|
20
20
|
|
|
21
21
|
//#region src/components/kanban/column-header.tsx
|
|
22
|
+
/**
|
|
23
|
+
* KanbanColumnHeader - Header section of a column
|
|
24
|
+
*
|
|
25
|
+
* Contains title, drag handle, and actions.
|
|
26
|
+
*
|
|
27
|
+
* @param props - {@link KanbanComponentProps}
|
|
28
|
+
* @param props.children - Header content (title, actions, drag handle).
|
|
29
|
+
* @param props.className - Optional CSS class name.
|
|
30
|
+
* @returns The rendered KanbanColumnHeader component.
|
|
31
|
+
*/
|
|
22
32
|
function KanbanColumnHeader({ children, className, ...rest }) {
|
|
23
33
|
return /* @__PURE__ */ jsx("div", {
|
|
24
34
|
...rest,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-header.js","names":[],"sources":["../../../src/components/kanban/column-header.tsx"],"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'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport styles from './styles.module.css';\nimport type { KanbanComponentProps } from './types';\n\nexport function KanbanColumnHeader({\n children,\n className,\n ...rest\n}: KanbanComponentProps) {\n return (\n <div {...rest} className={clsx(styles.columnHeader, className)}>\n {children}\n </div>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"column-header.js","names":[],"sources":["../../../src/components/kanban/column-header.tsx"],"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'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport styles from './styles.module.css';\nimport type { KanbanComponentProps } from './types';\n\n/**\n * KanbanColumnHeader - Header section of a column\n *\n * Contains title, drag handle, and actions.\n *\n * @param props - {@link KanbanComponentProps}\n * @param props.children - Header content (title, actions, drag handle).\n * @param props.className - Optional CSS class name.\n * @returns The rendered KanbanColumnHeader component.\n */\nexport function KanbanColumnHeader({\n children,\n className,\n ...rest\n}: KanbanComponentProps) {\n return (\n <div {...rest} className={clsx(styles.columnHeader, className)}>\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,SAAgB,mBAAmB,EACjC,UACA,WACA,GAAG,QACoB;AACvB,QACE,oBAAC;EAAI,GAAI;EAAM,WAAW,KAAK,OAAO,cAAc,UAAU;EAC3D;GACG"}
|
|
@@ -12,15 +12,35 @@
|
|
|
12
12
|
|
|
13
13
|
import { KanbanColProps } from "./types.js";
|
|
14
14
|
import "client-only";
|
|
15
|
-
import * as
|
|
15
|
+
import * as react_jsx_runtime81 from "react/jsx-runtime";
|
|
16
16
|
|
|
17
17
|
//#region src/components/kanban/column.d.ts
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* KanbanColumn - Individual column that contains cards
|
|
21
|
+
*
|
|
22
|
+
* Handles drop target highlighting and card positioning.
|
|
23
|
+
*
|
|
24
|
+
* @param props - {@link KanbanColProps}
|
|
25
|
+
* @param props.children - Column content (header, cards).
|
|
26
|
+
* @param props.className - Optional CSS class name.
|
|
27
|
+
* @param props.column - Column data.
|
|
28
|
+
* @returns The rendered KanbanColumn component.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```tsx
|
|
32
|
+
* <KanbanColumn column={columnData}>
|
|
33
|
+
* <KanbanColumnHeader>...</KanbanColumnHeader>
|
|
34
|
+
* <KanbanColumnContent column={columnData}>...</KanbanColumnContent>
|
|
35
|
+
* </KanbanColumn>
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
18
38
|
declare function KanbanColumn({
|
|
19
39
|
children,
|
|
20
40
|
className,
|
|
21
41
|
column,
|
|
22
42
|
...rest
|
|
23
|
-
}: KanbanColProps):
|
|
43
|
+
}: KanbanColProps): react_jsx_runtime81.JSX.Element;
|
|
24
44
|
//#endregion
|
|
25
45
|
export { KanbanColumn };
|
|
26
46
|
//# sourceMappingURL=column.d.ts.map
|
|
@@ -20,6 +20,25 @@ import { jsx } from "react/jsx-runtime";
|
|
|
20
20
|
import styles from "./styles.module.css";
|
|
21
21
|
|
|
22
22
|
//#region src/components/kanban/column.tsx
|
|
23
|
+
/**
|
|
24
|
+
* KanbanColumn - Individual column that contains cards
|
|
25
|
+
*
|
|
26
|
+
* Handles drop target highlighting and card positioning.
|
|
27
|
+
*
|
|
28
|
+
* @param props - {@link KanbanColProps}
|
|
29
|
+
* @param props.children - Column content (header, cards).
|
|
30
|
+
* @param props.className - Optional CSS class name.
|
|
31
|
+
* @param props.column - Column data.
|
|
32
|
+
* @returns The rendered KanbanColumn component.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```tsx
|
|
36
|
+
* <KanbanColumn column={columnData}>
|
|
37
|
+
* <KanbanColumnHeader>...</KanbanColumnHeader>
|
|
38
|
+
* <KanbanColumnContent column={columnData}>...</KanbanColumnContent>
|
|
39
|
+
* </KanbanColumn>
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
23
42
|
function KanbanColumn({ children, className, column, ...rest }) {
|
|
24
43
|
const { ref, isActive, isHighlighted } = useColumnInteractions(column);
|
|
25
44
|
return /* @__PURE__ */ jsx("ol", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column.js","names":[],"sources":["../../../src/components/kanban/column.tsx"],"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'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { useColumnInteractions } from '../../hooks/kanban';\nimport styles from './styles.module.css';\nimport type { KanbanColProps } from './types';\n\nexport function KanbanColumn({\n children,\n className,\n column,\n ...rest\n}: KanbanColProps) {\n const { ref, isActive, isHighlighted } = useColumnInteractions(column);\n\n return (\n <ol\n {...rest}\n data-focus-visible={isHighlighted || undefined}\n data-drop-target={isActive || undefined}\n className={clsx(styles.column, className)}\n ref={ref}\n >\n {children}\n </ol>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"column.js","names":[],"sources":["../../../src/components/kanban/column.tsx"],"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'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { useColumnInteractions } from '../../hooks/kanban';\nimport styles from './styles.module.css';\nimport type { KanbanColProps } from './types';\n\n/**\n * KanbanColumn - Individual column that contains cards\n *\n * Handles drop target highlighting and card positioning.\n *\n * @param props - {@link KanbanColProps}\n * @param props.children - Column content (header, cards).\n * @param props.className - Optional CSS class name.\n * @param props.column - Column data.\n * @returns The rendered KanbanColumn component.\n *\n * @example\n * ```tsx\n * <KanbanColumn column={columnData}>\n * <KanbanColumnHeader>...</KanbanColumnHeader>\n * <KanbanColumnContent column={columnData}>...</KanbanColumnContent>\n * </KanbanColumn>\n * ```\n */\nexport function KanbanColumn({\n children,\n className,\n column,\n ...rest\n}: KanbanColProps) {\n const { ref, isActive, isHighlighted } = useColumnInteractions(column);\n\n return (\n <ol\n {...rest}\n data-focus-visible={isHighlighted || undefined}\n data-drop-target={isActive || undefined}\n className={clsx(styles.column, className)}\n ref={ref}\n >\n {children}\n </ol>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,SAAgB,aAAa,EAC3B,UACA,WACA,QACA,GAAG,QACc;CACjB,MAAM,EAAE,KAAK,UAAU,kBAAkB,sBAAsB,OAAO;AAEtE,QACE,oBAAC;EACC,GAAI;EACJ,sBAAoB,iBAAiB;EACrC,oBAAkB,YAAY;EAC9B,WAAW,KAAK,OAAO,QAAQ,UAAU;EACpC;EAEJ;GACE"}
|
|
@@ -12,25 +12,42 @@
|
|
|
12
12
|
|
|
13
13
|
import { KanbanCardData, KanbanColumnData } from "./types.js";
|
|
14
14
|
import { ReactNode } from "react";
|
|
15
|
-
import * as
|
|
15
|
+
import * as react_jsx_runtime86 from "react/jsx-runtime";
|
|
16
16
|
import { DragEndEvent } from "@dnd-kit/core";
|
|
17
17
|
|
|
18
18
|
//#region src/components/kanban/context.d.ts
|
|
19
|
+
/**
|
|
20
|
+
* Function signature for moving a card between columns or positions.
|
|
21
|
+
*/
|
|
19
22
|
type MoveCard = (cardId: string, targetColumnId: string, targetPosition: number, closestEdge?: 'top' | 'bottom') => void;
|
|
23
|
+
/**
|
|
24
|
+
* Context data for Kanban state and operations.
|
|
25
|
+
*/
|
|
20
26
|
interface KanbanContextData {
|
|
27
|
+
/** Array of all columns. */
|
|
21
28
|
columns: KanbanColumnData[];
|
|
29
|
+
/** Callback to update column state. */
|
|
22
30
|
updateColumnState: (columns: KanbanColumnData[]) => void;
|
|
31
|
+
/** Function to move a card. */
|
|
23
32
|
moveCard: MoveCard;
|
|
33
|
+
/** Get a column by its ID. */
|
|
24
34
|
getColumnById: (id: string) => KanbanColumnData | undefined;
|
|
35
|
+
/** Map of card IDs to their location info. */
|
|
25
36
|
cardMap: Map<string, {
|
|
26
37
|
column: KanbanColumnData;
|
|
27
38
|
card: KanbanCardData;
|
|
28
39
|
index: number;
|
|
29
40
|
}>;
|
|
30
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Props for KanbanProvider component.
|
|
44
|
+
*/
|
|
31
45
|
interface KanbanProviderProps {
|
|
46
|
+
/** Array of column data. */
|
|
32
47
|
columns: KanbanColumnData[];
|
|
48
|
+
/** Callback to update column state. */
|
|
33
49
|
updateColumnState: (columns: KanbanColumnData[]) => void;
|
|
50
|
+
/** Child components. */
|
|
34
51
|
children: ReactNode;
|
|
35
52
|
}
|
|
36
53
|
/**
|
|
@@ -96,6 +113,12 @@ declare function calculateClosestEdge(over: DragEndEvent['over'], active: DragEn
|
|
|
96
113
|
* @returns Normalized drop target information or null if invalid drop
|
|
97
114
|
*/
|
|
98
115
|
declare function parseDropTarget(event: DragEndEvent): DropTargetInfo | null;
|
|
116
|
+
/**
|
|
117
|
+
* Calculates the insert index based on target position and drop edge.
|
|
118
|
+
* @param targetPosition - The target position index.
|
|
119
|
+
* @param closestEdge - The edge to drop relative to.
|
|
120
|
+
* @returns The calculated insert index.
|
|
121
|
+
*/
|
|
99
122
|
declare const getInsertIndex: (targetPosition: number, closestEdge?: "top" | "bottom") => number;
|
|
100
123
|
/**
|
|
101
124
|
* Validates all parameters for a card move operation
|
|
@@ -109,11 +132,35 @@ declare function validateMoveCard({
|
|
|
109
132
|
columns,
|
|
110
133
|
cardMap
|
|
111
134
|
}: MoveCardValidationParams): MoveCardValidationResult;
|
|
135
|
+
/**
|
|
136
|
+
* KanbanProvider - Context provider for Kanban state management
|
|
137
|
+
*
|
|
138
|
+
* Manages column and card state, handles drag-and-drop operations,
|
|
139
|
+
* and provides the moveCard function for card movements.
|
|
140
|
+
*
|
|
141
|
+
* @param props - {@link KanbanProviderProps}
|
|
142
|
+
* @param props.children - Child components.
|
|
143
|
+
* @param props.columns - Array of column data.
|
|
144
|
+
* @param props.updateColumnState - Callback to update column state.
|
|
145
|
+
* @returns The rendered KanbanProvider component.
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```tsx
|
|
149
|
+
* <KanbanProvider columns={columns} updateColumnState={setColumns}>
|
|
150
|
+
* <Kanban>...</Kanban>
|
|
151
|
+
* </KanbanProvider>
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
112
154
|
declare const KanbanProvider: ({
|
|
113
155
|
children,
|
|
114
156
|
columns,
|
|
115
157
|
updateColumnState
|
|
116
|
-
}: KanbanProviderProps) =>
|
|
158
|
+
}: KanbanProviderProps) => react_jsx_runtime86.JSX.Element;
|
|
159
|
+
/**
|
|
160
|
+
* Hook to access Kanban context values.
|
|
161
|
+
* Must be used within a KanbanProvider.
|
|
162
|
+
* @returns The Kanban context data.
|
|
163
|
+
*/
|
|
117
164
|
declare const useKanban: () => KanbanContextData;
|
|
118
165
|
//#endregion
|
|
119
166
|
export { DropTargetInfo, KanbanContextData, KanbanProvider, KanbanProviderProps, MoveCard, MoveCardValidationParams, MoveCardValidationResult, calculateClosestEdge, getInsertIndex, parseDropTarget, useKanban, validateMoveCard };
|
|
@@ -56,6 +56,12 @@ const updatePositions = (column) => {
|
|
|
56
56
|
c.position = index;
|
|
57
57
|
});
|
|
58
58
|
};
|
|
59
|
+
/**
|
|
60
|
+
* Calculates the insert index based on target position and drop edge.
|
|
61
|
+
* @param targetPosition - The target position index.
|
|
62
|
+
* @param closestEdge - The edge to drop relative to.
|
|
63
|
+
* @returns The calculated insert index.
|
|
64
|
+
*/
|
|
59
65
|
const getInsertIndex = (targetPosition, closestEdge) => {
|
|
60
66
|
if (!closestEdge) return targetPosition;
|
|
61
67
|
return closestEdge === "top" ? targetPosition : targetPosition + 1;
|
|
@@ -122,6 +128,25 @@ const KanbanContext = createContext({
|
|
|
122
128
|
getColumnById: () => void 0,
|
|
123
129
|
cardMap: /* @__PURE__ */ new Map()
|
|
124
130
|
});
|
|
131
|
+
/**
|
|
132
|
+
* KanbanProvider - Context provider for Kanban state management
|
|
133
|
+
*
|
|
134
|
+
* Manages column and card state, handles drag-and-drop operations,
|
|
135
|
+
* and provides the moveCard function for card movements.
|
|
136
|
+
*
|
|
137
|
+
* @param props - {@link KanbanProviderProps}
|
|
138
|
+
* @param props.children - Child components.
|
|
139
|
+
* @param props.columns - Array of column data.
|
|
140
|
+
* @param props.updateColumnState - Callback to update column state.
|
|
141
|
+
* @returns The rendered KanbanProvider component.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```tsx
|
|
145
|
+
* <KanbanProvider columns={columns} updateColumnState={setColumns}>
|
|
146
|
+
* <Kanban>...</Kanban>
|
|
147
|
+
* </KanbanProvider>
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
125
150
|
const KanbanProvider = ({ children, columns, updateColumnState }) => {
|
|
126
151
|
const cardMap = useMemo(() => {
|
|
127
152
|
const map = /* @__PURE__ */ new Map();
|
|
@@ -191,6 +216,11 @@ const KanbanProvider = ({ children, columns, updateColumnState }) => {
|
|
|
191
216
|
children
|
|
192
217
|
});
|
|
193
218
|
};
|
|
219
|
+
/**
|
|
220
|
+
* Hook to access Kanban context values.
|
|
221
|
+
* Must be used within a KanbanProvider.
|
|
222
|
+
* @returns The Kanban context data.
|
|
223
|
+
*/
|
|
194
224
|
const useKanban = () => {
|
|
195
225
|
const context = useContext(KanbanContext);
|
|
196
226
|
if (!context) throw new Error("useKanban must be used within KanbanProvider");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":["errors: string[]"],"sources":["../../../src/components/kanban/context.tsx"],"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\nimport {\n createContext,\n type ReactNode,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport type { DragEndEvent } from '@dnd-kit/core';\nimport type { KanbanCardData, KanbanColumnData } from './types';\n\nexport type MoveCard = (\n cardId: string,\n targetColumnId: string,\n targetPosition: number,\n closestEdge?: 'top' | 'bottom',\n) => void;\nexport interface KanbanContextData {\n columns: KanbanColumnData[];\n updateColumnState: (columns: KanbanColumnData[]) => void;\n moveCard: MoveCard;\n getColumnById: (id: string) => KanbanColumnData | undefined;\n cardMap: Map<\n string,\n { column: KanbanColumnData; card: KanbanCardData; index: number }\n >;\n}\n\nexport interface KanbanProviderProps {\n columns: KanbanColumnData[];\n updateColumnState: (columns: KanbanColumnData[]) => void;\n children: ReactNode;\n}\n\n/**\n * Result of parsing a drop target from a drag event\n */\nexport interface DropTargetInfo {\n /** The ID of the column where the card should be dropped */\n columnId: string;\n /** The position/index within the column */\n position: number;\n /** The edge to drop relative to (undefined when dropping on empty column) */\n edge: 'top' | 'bottom' | undefined;\n}\n\n/**\n * Parameters for validating a card move operation\n */\nexport interface MoveCardValidationParams {\n cardId: string;\n targetColumnId: string;\n targetPosition: number;\n columns: KanbanColumnData[];\n cardMap: Map<\n string,\n { column: KanbanColumnData; card: KanbanCardData; index: number }\n >;\n}\n\n/**\n * Result of validating a card move operation\n * Uses discriminated union to ensure type safety based on success/failure\n */\nexport type MoveCardValidationResult =\n | {\n /** Validation succeeded */\n success: true;\n /** Adjusted target position (clamped to valid bounds) */\n adjustedPosition: number;\n /** Source card information */\n sourceInfo: {\n column: KanbanColumnData;\n card: KanbanCardData;\n index: number;\n };\n /** Target column */\n targetColumn: KanbanColumnData;\n /** Empty error array for success case */\n errors: [];\n }\n | {\n /** Validation failed */\n success: false;\n /** List of error messages describing validation failures */\n errors: string[];\n };\n\n/**\n * Calculates which edge of a drop target is closest to the dragged item\n * @param over - The drop target from dnd-kit\n * @param active - The active dragged item from dnd-kit\n * @returns 'top' if the dragged item's center is above the midpoint, 'bottom' otherwise\n */\nexport function calculateClosestEdge(\n over: DragEndEvent['over'],\n active: DragEndEvent['active'],\n): 'top' | 'bottom' {\n if (!over?.rect) {\n return 'bottom';\n }\n\n const translated = active?.rect?.current?.translated;\n if (!translated) {\n return 'bottom';\n }\n\n const overRect = over.rect;\n const midpoint = overRect.top + overRect.height / 2;\n const draggedItemCenter = translated.top + translated.height / 2;\n\n return draggedItemCenter < midpoint ? 'top' : 'bottom';\n}\n\n/**\n * Parses a drag event to determine where a card should be dropped\n * @param event - The drag end event from dnd-kit\n * @returns Normalized drop target information or null if invalid drop\n */\nexport function parseDropTarget(event: DragEndEvent): DropTargetInfo | null {\n const { active, over } = event;\n\n if (!over) {\n return null;\n }\n\n const overData = over.data.current;\n\n if (!overData) {\n return null;\n }\n\n // Dropping on a column (empty space or column container)\n if (Array.isArray(overData.cards)) {\n return {\n columnId: overData.id,\n position: overData.cards.length,\n edge: undefined,\n };\n }\n\n // Dropping on a card position\n const edge = calculateClosestEdge(over, active);\n return {\n columnId: overData.columnId,\n position: overData.position,\n edge,\n };\n}\n\nconst updatePositions = (column: KanbanColumnData) => {\n column.cards.forEach((c, index) => {\n c.position = index;\n });\n};\n\nexport const getInsertIndex = (\n targetPosition: number,\n closestEdge?: 'top' | 'bottom',\n) => {\n // If no edge is specified, use the target position as-is\n if (!closestEdge) {\n return targetPosition;\n }\n\n // If dropping on top edge, insert at the target position (before the card)\n // If dropping on bottom edge, insert after the target position (position + 1)\n return closestEdge === 'top' ? targetPosition : targetPosition + 1;\n};\n\n/**\n * Validates all parameters for a card move operation\n * @param params - Validation parameters\n * @returns Validation result with success flag, adjusted values, and errors\n */\nexport function validateMoveCard({\n cardId,\n targetColumnId,\n targetPosition,\n columns,\n cardMap,\n}: MoveCardValidationParams): MoveCardValidationResult {\n const errors: string[] = [];\n let adjustedPosition = targetPosition;\n\n // 1. Type validation\n if (typeof cardId !== 'string' || !cardId.trim()) {\n errors.push('[Kanban] moveCard: cardId must be a non-empty string');\n }\n\n if (typeof targetColumnId !== 'string' || !targetColumnId.trim()) {\n errors.push('[Kanban] moveCard: targetColumnId must be a non-empty string');\n }\n\n if (typeof targetPosition !== 'number' || !Number.isFinite(targetPosition)) {\n errors.push('[Kanban] moveCard: targetPosition must be a finite number');\n }\n\n // Early return if type validation fails\n if (errors.length > 0) {\n return { success: false, errors };\n }\n\n // 2. Card existence validation\n const sourceInfo = cardMap.get(cardId);\n if (!sourceInfo) {\n errors.push(`[Kanban] moveCard: Card \"${cardId}\" not found in any column`);\n return { success: false, errors };\n }\n\n // 3. Target column existence validation\n const targetColumn = columns.find((col) => col.id === targetColumnId);\n if (!targetColumn) {\n errors.push(\n `[Kanban] moveCard: Target column \"${targetColumnId}\" not found`,\n );\n return { success: false, errors };\n }\n\n // 4. Position bounds validation (with adjustment)\n if (adjustedPosition < 0) {\n console.warn(\n `[Kanban] moveCard: targetPosition (${adjustedPosition}) cannot be negative. Using 0 instead.`,\n );\n adjustedPosition = 0;\n }\n\n const maxPosition = targetColumn.cards.length;\n if (adjustedPosition > maxPosition) {\n console.warn(\n `[Kanban] moveCard: targetPosition (${adjustedPosition}) exceeds maximum (${maxPosition}). ` +\n `Using ${maxPosition} instead.`,\n );\n adjustedPosition = maxPosition;\n }\n\n // 5. canDrop validation\n if (targetColumn.canDrop === false) {\n errors.push(\n `[Kanban] moveCard: Column \"${targetColumnId}\" does not accept drops`,\n );\n return { success: false, errors };\n }\n\n // All validations passed\n return {\n success: true,\n adjustedPosition,\n sourceInfo,\n targetColumn,\n errors: [],\n };\n}\n\nconst KanbanContext = createContext<KanbanContextData>({\n columns: [],\n updateColumnState: () => null,\n moveCard: () => null,\n getColumnById: () => undefined,\n cardMap: new Map(),\n});\n\nexport const KanbanProvider = ({\n children,\n columns,\n updateColumnState,\n}: KanbanProviderProps) => {\n // Create a lookup map for O(1) card access\n const cardMap = useMemo(() => {\n const map = new Map<\n string,\n { column: KanbanColumnData; card: KanbanCardData; index: number }\n >();\n\n columns.forEach((column) => {\n column.cards.forEach((card, index) => {\n map.set(card.id, { column, card, index });\n });\n });\n\n return map;\n }, [columns]);\n\n const moveCard = useCallback(\n (\n cardId: string,\n targetColumnId: string,\n targetPosition: number,\n closestEdge?: 'top' | 'bottom',\n ) => {\n // Validate all inputs\n const validation = validateMoveCard({\n cardId,\n targetColumnId,\n targetPosition,\n columns,\n cardMap,\n });\n\n // Handle validation failure\n if (!validation.success) {\n validation.errors.forEach((error) => {\n console.error(error);\n });\n return false;\n }\n\n // Extract validated data - TypeScript knows these are defined after success check\n const { adjustedPosition, sourceInfo: source, targetColumn } = validation;\n\n const newColumns = [...columns];\n const isSameColumn = source.column.id === targetColumn.id;\n\n // Remove card from source column\n const newSourceColumn = {\n ...source.column,\n cards: source.column.cards.filter((_, i) => i !== source.index),\n };\n\n // Calculate insert index using adjusted position\n let index = getInsertIndex(adjustedPosition, closestEdge);\n\n // If moving within the same column and moving down, adjust index\n if (isSameColumn && source.index < index) {\n index -= 1;\n }\n\n // Insert card into target column\n const newTargetColumn = isSameColumn\n ? newSourceColumn\n : { ...targetColumn, cards: [...targetColumn.cards] };\n\n newTargetColumn.cards.splice(index, 0, {\n ...source.card,\n columnId: targetColumnId,\n });\n\n // Update positions\n updatePositions(newTargetColumn);\n if (!isSameColumn) {\n updatePositions(newSourceColumn);\n }\n\n // Update the columns array with the modified columns\n const updatedColumns = newColumns.map((col) => {\n if (col.id === source.column.id) {\n return newSourceColumn;\n }\n if (col.id === targetColumn.id) {\n return newTargetColumn;\n }\n return col;\n });\n\n updateColumnState(updatedColumns);\n },\n [columns, updateColumnState, cardMap],\n );\n\n const getColumnById = useCallback(\n (id: string) => columns.find((c) => c.id === id),\n [columns],\n );\n\n return (\n <KanbanContext.Provider\n value={{ columns, updateColumnState, moveCard, getColumnById, cardMap }}\n >\n {children}\n </KanbanContext.Provider>\n );\n};\n\nexport const useKanban = () => {\n const context = useContext(KanbanContext);\n if (!context) {\n throw new Error('useKanban must be used within KanbanProvider');\n }\n return context;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","names":["errors: string[]"],"sources":["../../../src/components/kanban/context.tsx"],"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\nimport {\n createContext,\n type ReactNode,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport type { DragEndEvent } from '@dnd-kit/core';\nimport type { KanbanCardData, KanbanColumnData } from './types';\n\n/**\n * Function signature for moving a card between columns or positions.\n */\nexport type MoveCard = (\n cardId: string,\n targetColumnId: string,\n targetPosition: number,\n closestEdge?: 'top' | 'bottom',\n) => void;\n\n/**\n * Context data for Kanban state and operations.\n */\nexport interface KanbanContextData {\n /** Array of all columns. */\n columns: KanbanColumnData[];\n /** Callback to update column state. */\n updateColumnState: (columns: KanbanColumnData[]) => void;\n /** Function to move a card. */\n moveCard: MoveCard;\n /** Get a column by its ID. */\n getColumnById: (id: string) => KanbanColumnData | undefined;\n /** Map of card IDs to their location info. */\n cardMap: Map<\n string,\n { column: KanbanColumnData; card: KanbanCardData; index: number }\n >;\n}\n\n/**\n * Props for KanbanProvider component.\n */\nexport interface KanbanProviderProps {\n /** Array of column data. */\n columns: KanbanColumnData[];\n /** Callback to update column state. */\n updateColumnState: (columns: KanbanColumnData[]) => void;\n /** Child components. */\n children: ReactNode;\n}\n\n/**\n * Result of parsing a drop target from a drag event\n */\nexport interface DropTargetInfo {\n /** The ID of the column where the card should be dropped */\n columnId: string;\n /** The position/index within the column */\n position: number;\n /** The edge to drop relative to (undefined when dropping on empty column) */\n edge: 'top' | 'bottom' | undefined;\n}\n\n/**\n * Parameters for validating a card move operation\n */\nexport interface MoveCardValidationParams {\n cardId: string;\n targetColumnId: string;\n targetPosition: number;\n columns: KanbanColumnData[];\n cardMap: Map<\n string,\n { column: KanbanColumnData; card: KanbanCardData; index: number }\n >;\n}\n\n/**\n * Result of validating a card move operation\n * Uses discriminated union to ensure type safety based on success/failure\n */\nexport type MoveCardValidationResult =\n | {\n /** Validation succeeded */\n success: true;\n /** Adjusted target position (clamped to valid bounds) */\n adjustedPosition: number;\n /** Source card information */\n sourceInfo: {\n column: KanbanColumnData;\n card: KanbanCardData;\n index: number;\n };\n /** Target column */\n targetColumn: KanbanColumnData;\n /** Empty error array for success case */\n errors: [];\n }\n | {\n /** Validation failed */\n success: false;\n /** List of error messages describing validation failures */\n errors: string[];\n };\n\n/**\n * Calculates which edge of a drop target is closest to the dragged item\n * @param over - The drop target from dnd-kit\n * @param active - The active dragged item from dnd-kit\n * @returns 'top' if the dragged item's center is above the midpoint, 'bottom' otherwise\n */\nexport function calculateClosestEdge(\n over: DragEndEvent['over'],\n active: DragEndEvent['active'],\n): 'top' | 'bottom' {\n if (!over?.rect) {\n return 'bottom';\n }\n\n const translated = active?.rect?.current?.translated;\n if (!translated) {\n return 'bottom';\n }\n\n const overRect = over.rect;\n const midpoint = overRect.top + overRect.height / 2;\n const draggedItemCenter = translated.top + translated.height / 2;\n\n return draggedItemCenter < midpoint ? 'top' : 'bottom';\n}\n\n/**\n * Parses a drag event to determine where a card should be dropped\n * @param event - The drag end event from dnd-kit\n * @returns Normalized drop target information or null if invalid drop\n */\nexport function parseDropTarget(event: DragEndEvent): DropTargetInfo | null {\n const { active, over } = event;\n\n if (!over) {\n return null;\n }\n\n const overData = over.data.current;\n\n if (!overData) {\n return null;\n }\n\n // Dropping on a column (empty space or column container)\n if (Array.isArray(overData.cards)) {\n return {\n columnId: overData.id,\n position: overData.cards.length,\n edge: undefined,\n };\n }\n\n // Dropping on a card position\n const edge = calculateClosestEdge(over, active);\n return {\n columnId: overData.columnId,\n position: overData.position,\n edge,\n };\n}\n\nconst updatePositions = (column: KanbanColumnData) => {\n column.cards.forEach((c, index) => {\n c.position = index;\n });\n};\n\n/**\n * Calculates the insert index based on target position and drop edge.\n * @param targetPosition - The target position index.\n * @param closestEdge - The edge to drop relative to.\n * @returns The calculated insert index.\n */\nexport const getInsertIndex = (\n targetPosition: number,\n closestEdge?: 'top' | 'bottom',\n) => {\n // If no edge is specified, use the target position as-is\n if (!closestEdge) {\n return targetPosition;\n }\n\n // If dropping on top edge, insert at the target position (before the card)\n // If dropping on bottom edge, insert after the target position (position + 1)\n return closestEdge === 'top' ? targetPosition : targetPosition + 1;\n};\n\n/**\n * Validates all parameters for a card move operation\n * @param params - Validation parameters\n * @returns Validation result with success flag, adjusted values, and errors\n */\nexport function validateMoveCard({\n cardId,\n targetColumnId,\n targetPosition,\n columns,\n cardMap,\n}: MoveCardValidationParams): MoveCardValidationResult {\n const errors: string[] = [];\n let adjustedPosition = targetPosition;\n\n // 1. Type validation\n if (typeof cardId !== 'string' || !cardId.trim()) {\n errors.push('[Kanban] moveCard: cardId must be a non-empty string');\n }\n\n if (typeof targetColumnId !== 'string' || !targetColumnId.trim()) {\n errors.push('[Kanban] moveCard: targetColumnId must be a non-empty string');\n }\n\n if (typeof targetPosition !== 'number' || !Number.isFinite(targetPosition)) {\n errors.push('[Kanban] moveCard: targetPosition must be a finite number');\n }\n\n // Early return if type validation fails\n if (errors.length > 0) {\n return { success: false, errors };\n }\n\n // 2. Card existence validation\n const sourceInfo = cardMap.get(cardId);\n if (!sourceInfo) {\n errors.push(`[Kanban] moveCard: Card \"${cardId}\" not found in any column`);\n return { success: false, errors };\n }\n\n // 3. Target column existence validation\n const targetColumn = columns.find((col) => col.id === targetColumnId);\n if (!targetColumn) {\n errors.push(\n `[Kanban] moveCard: Target column \"${targetColumnId}\" not found`,\n );\n return { success: false, errors };\n }\n\n // 4. Position bounds validation (with adjustment)\n if (adjustedPosition < 0) {\n console.warn(\n `[Kanban] moveCard: targetPosition (${adjustedPosition}) cannot be negative. Using 0 instead.`,\n );\n adjustedPosition = 0;\n }\n\n const maxPosition = targetColumn.cards.length;\n if (adjustedPosition > maxPosition) {\n console.warn(\n `[Kanban] moveCard: targetPosition (${adjustedPosition}) exceeds maximum (${maxPosition}). ` +\n `Using ${maxPosition} instead.`,\n );\n adjustedPosition = maxPosition;\n }\n\n // 5. canDrop validation\n if (targetColumn.canDrop === false) {\n errors.push(\n `[Kanban] moveCard: Column \"${targetColumnId}\" does not accept drops`,\n );\n return { success: false, errors };\n }\n\n // All validations passed\n return {\n success: true,\n adjustedPosition,\n sourceInfo,\n targetColumn,\n errors: [],\n };\n}\n\nconst KanbanContext = createContext<KanbanContextData>({\n columns: [],\n updateColumnState: () => null,\n moveCard: () => null,\n getColumnById: () => undefined,\n cardMap: new Map(),\n});\n\n/**\n * KanbanProvider - Context provider for Kanban state management\n *\n * Manages column and card state, handles drag-and-drop operations,\n * and provides the moveCard function for card movements.\n *\n * @param props - {@link KanbanProviderProps}\n * @param props.children - Child components.\n * @param props.columns - Array of column data.\n * @param props.updateColumnState - Callback to update column state.\n * @returns The rendered KanbanProvider component.\n *\n * @example\n * ```tsx\n * <KanbanProvider columns={columns} updateColumnState={setColumns}>\n * <Kanban>...</Kanban>\n * </KanbanProvider>\n * ```\n */\nexport const KanbanProvider = ({\n children,\n columns,\n updateColumnState,\n}: KanbanProviderProps) => {\n // Create a lookup map for O(1) card access\n const cardMap = useMemo(() => {\n const map = new Map<\n string,\n { column: KanbanColumnData; card: KanbanCardData; index: number }\n >();\n\n columns.forEach((column) => {\n column.cards.forEach((card, index) => {\n map.set(card.id, { column, card, index });\n });\n });\n\n return map;\n }, [columns]);\n\n const moveCard = useCallback(\n (\n cardId: string,\n targetColumnId: string,\n targetPosition: number,\n closestEdge?: 'top' | 'bottom',\n ) => {\n // Validate all inputs\n const validation = validateMoveCard({\n cardId,\n targetColumnId,\n targetPosition,\n columns,\n cardMap,\n });\n\n // Handle validation failure\n if (!validation.success) {\n validation.errors.forEach((error) => {\n console.error(error);\n });\n return false;\n }\n\n // Extract validated data - TypeScript knows these are defined after success check\n const { adjustedPosition, sourceInfo: source, targetColumn } = validation;\n\n const newColumns = [...columns];\n const isSameColumn = source.column.id === targetColumn.id;\n\n // Remove card from source column\n const newSourceColumn = {\n ...source.column,\n cards: source.column.cards.filter((_, i) => i !== source.index),\n };\n\n // Calculate insert index using adjusted position\n let index = getInsertIndex(adjustedPosition, closestEdge);\n\n // If moving within the same column and moving down, adjust index\n if (isSameColumn && source.index < index) {\n index -= 1;\n }\n\n // Insert card into target column\n const newTargetColumn = isSameColumn\n ? newSourceColumn\n : { ...targetColumn, cards: [...targetColumn.cards] };\n\n newTargetColumn.cards.splice(index, 0, {\n ...source.card,\n columnId: targetColumnId,\n });\n\n // Update positions\n updatePositions(newTargetColumn);\n if (!isSameColumn) {\n updatePositions(newSourceColumn);\n }\n\n // Update the columns array with the modified columns\n const updatedColumns = newColumns.map((col) => {\n if (col.id === source.column.id) {\n return newSourceColumn;\n }\n if (col.id === targetColumn.id) {\n return newTargetColumn;\n }\n return col;\n });\n\n updateColumnState(updatedColumns);\n },\n [columns, updateColumnState, cardMap],\n );\n\n const getColumnById = useCallback(\n (id: string) => columns.find((c) => c.id === id),\n [columns],\n );\n\n return (\n <KanbanContext.Provider\n value={{ columns, updateColumnState, moveCard, getColumnById, cardMap }}\n >\n {children}\n </KanbanContext.Provider>\n );\n};\n\n/**\n * Hook to access Kanban context values.\n * Must be used within a KanbanProvider.\n * @returns The Kanban context data.\n */\nexport const useKanban = () => {\n const context = useContext(KanbanContext);\n if (!context) {\n throw new Error('useKanban must be used within KanbanProvider');\n }\n return context;\n};\n"],"mappings":"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"}
|