@mage-ui/components 1.0.73 → 1.0.76
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/dist/components/controls/dropdown/DropdownClearButton.mjs +1 -1
- package/dist/components/controls/dropdown/DropdownTargetTextInput.mjs +1 -1
- package/dist/components/data-display/datatables/DataTable.d.mts +3 -1
- package/dist/components/data-display/datatables/DataTable.d.mts.map +1 -1
- package/dist/components/data-display/datatables/DataTable.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTableBody.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTableBulkBar.d.mts +15 -0
- package/dist/components/data-display/datatables/DataTableBulkBar.d.mts.map +1 -0
- package/dist/components/data-display/datatables/DataTableBulkBar.mjs +1 -1
- package/dist/components/data-display/datatables/DataTableBulkBar.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTableHeader.mjs +1 -1
- package/dist/components/data-display/datatables/DataTableHeader.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTablePageSize.d.mts +2 -1
- package/dist/components/data-display/datatables/DataTablePageSize.d.mts.map +1 -1
- package/dist/components/data-display/datatables/DataTablePageSize.mjs +1 -1
- package/dist/components/data-display/datatables/DataTablePageSize.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTablePagination.mjs +1 -1
- package/dist/components/data-display/datatables/DataTablePagination.mjs.map +1 -1
- package/dist/components/data-display/datatables/useDataTable.mjs.map +1 -1
- package/dist/components/data-display/datatables/useDataTableContext.d.mts +2 -1
- package/dist/components/data-display/datatables/useDataTableContext.d.mts.map +1 -1
- package/dist/components/data-display/datatables/useDataTableContext.mjs +1 -1
- package/dist/components/data-display/datatables/useDataTableContext.mjs.map +1 -1
- package/dist/components/data-display/index.d.mts +1 -1
- package/dist/components/data-display/kanban/Kanban.d.mts +18 -25
- package/dist/components/data-display/kanban/Kanban.d.mts.map +1 -1
- package/dist/components/data-display/kanban/Kanban.mjs +1 -1
- package/dist/components/data-display/kanban/Kanban.mjs.map +1 -1
- package/dist/components/data-display/kanban/KanbanCardBase.d.mts +17 -0
- package/dist/components/data-display/kanban/KanbanCardBase.d.mts.map +1 -0
- package/dist/components/data-display/kanban/KanbanCardBase.mjs +2 -0
- package/dist/components/data-display/kanban/KanbanCardBase.mjs.map +1 -0
- package/dist/components/data-display/kanban/KanbanColumnHeader.mjs.map +1 -1
- package/dist/components/index.d.mts +1 -1
- package/dist/components/navigations/pagination/Pagination.d.mts.map +1 -1
- package/dist/components/navigations/pagination/Pagination.mjs.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +1 -1
- package/package.json +3 -3
- package/dist/components/data-display/kanban/KanbanCard.d.mts +0 -25
- package/dist/components/data-display/kanban/KanbanCard.d.mts.map +0 -1
- package/dist/components/data-display/kanban/KanbanCard.mjs +0 -2
- package/dist/components/data-display/kanban/KanbanCard.mjs.map +0 -1
- package/dist/components/data-display/kanban/KanbanCardAdder.mjs +0 -2
- package/dist/components/data-display/kanban/KanbanCardAdder.mjs.map +0 -1
- package/dist/components/data-display/kanban/KanbanListFooter.mjs +0 -2
- package/dist/components/data-display/kanban/KanbanListFooter.mjs.map +0 -1
- package/dist/components/data-display/kanban/kanbanUtils.mjs +0 -2
- package/dist/components/data-display/kanban/kanbanUtils.mjs.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{useDropdownContext as e}from"./DropdownContextProvider.mjs";import{ButtonIcon as t}from"../../buttons/button-icon/ButtonIcon.mjs";import{dropdownClearButton as n,dropdownClearButtonIcon as r,dropdownClearButtonIconRaw as i,dropdownClearButtonIconRawRoot as a,dropdownClearButtonRoot as o}from"@mage-ui/styled-system/recipes";import{jsx as s}from"react/jsx-runtime";const c=({classNames:c,label:l=`Clear selection`,name:u=`mage-clear-button-x`,path:d=`/icons/sprite-mage.svg`,...f})=>{let{setValue:p,setQuery:m}=e();return s(t,{label:l,name:u,path:d,onClick:e=>{e.stopPropagation(),e.preventDefault(),p(void 0),m(void 0)},classNames:{buttonIcon:c?.clearButton??n(),root:c?.root??o(),icon:c?.icon??r(),iconRaw:{iconRaw:c?.iconRaw?.iconRaw??i(),root:c?.iconRaw?.root??a()}},...f})};export{c as DropdownClearButton};
|
|
2
2
|
//# sourceMappingURL=DropdownClearButton.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{useDropdownContext as e}from"./DropdownContextProvider.mjs";import{TextInput as t}from"../text-input/TextInput.mjs";import{DropdownEndSlot as n}from"./DropdownEndSlot.mjs";import{dropdownTextInput as r,dropdownTextInputDescription as i,dropdownTextInputError as a,dropdownTextInputInput as o,dropdownTextInputLabel as s,dropdownTextInputRequired as c,dropdownTextInputRoot as l,dropdownTextInputSection as u,dropdownTextInputWrapper as d}from"@mage-ui/styled-system/recipes";import{jsx as f}from"react/jsx-runtime";const p=({classNames:p,clearable:m,showChevron:h,clearButtonProps:g,chevronProps:_,closeOnBlur:v=!0,startSlot:y,...b})=>{let{store:x,value:S,query:C,setQuery:w}=e(),T=m&&(C??S?.value??``)!==``,E={"--dropdown-text-input-right-section-pointer-events":T?`auto`:`none`};return f(t,{readOnly:!1,value:C??S?.value??``,startSlot:y,endSlot:f(n,{clearable:T,showChevron:h,clearButtonProps:g,chevronProps:_}),onFocus:e=>{e.stopPropagation(),e.preventDefault(),x.openDropdown()},onBlur:e=>{e.stopPropagation(),e.preventDefault(),v&&(x.closeDropdown(),w(void 0))},classNames:{textInput:p?.dropdownTextInput??r(),root:p?.root??l(),label:p?.label??s(),description:p?.description??i(),error:p?.error??a(),wrapper:p?.wrapper??d(),input:p?.input??o(),section:p?.section??u(),required:p?.required??c()},style:E,...b})};export{p as DropdownTargetTextInput};
|
|
2
2
|
//# sourceMappingURL=DropdownTargetTextInput.mjs.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TableClassNames, TableProps } from "../table/TableRoot.mjs";
|
|
2
2
|
import "../table/Table.mjs";
|
|
3
|
+
import { DataTableBulkBarClassNames } from "./DataTableBulkBar.mjs";
|
|
3
4
|
import { DataTableSlots } from "./DataTableSlotRow.mjs";
|
|
4
5
|
import { DataTableLabels } from "./useDataTableContext.mjs";
|
|
5
6
|
import { ReactNode } from "react";
|
|
@@ -51,9 +52,10 @@ type DataTableClassNames = {
|
|
|
51
52
|
viewport?: string;
|
|
52
53
|
header?: string;
|
|
53
54
|
sortButton?: string;
|
|
55
|
+
sortIndicator?: string;
|
|
54
56
|
expandButton?: string;
|
|
55
57
|
slotRow?: string;
|
|
56
|
-
bulkBar?:
|
|
58
|
+
bulkBar?: DataTableBulkBarClassNames;
|
|
57
59
|
loading?: string;
|
|
58
60
|
empty?: string;
|
|
59
61
|
expandedContent?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.d.mts","names":[],"sources":["../../../../src/components/data-display/datatables/DataTable.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataTable.d.mts","names":[],"sources":["../../../../src/components/data-display/datatables/DataTable.tsx"],"mappings":";;;;;;;;;KA8BY,eAAA,GAAkB,MAAA;AAAA,KAElB,sBAAA;EACV,KAAA,EAAO,YAAA;EACP,QAAA,EAAU,UAAA,CAAW,YAAA;AAAA;AAAA,KAGX,yBAAA;EACV,WAAA;EACA,QAAA;EACA,QAAA,EAAU,UAAA,CAAW,eAAA;EACrB,SAAA;EACA,QAAA;AAAA;AAAA,KAGU,mBAAA;EACV,UAAA;IACE,MAAA;IACA,IAAA;EAAA;AAAA;AAAA,KAIQ,wBAAA;EACV,KAAA,EAAO,iBAAA;EACP,QAAA,EAAU,UAAA,CAAW,iBAAA;EACrB,QAAA,IAAY,GAAA,EAAK,IAAA;EACjB,aAAA,IAAiB,GAAA,EAAK,IAAA;EACtB,WAAA,IAAe,WAAA,eAA0B,SAAA;AAAA;AAAA,KAG/B,wBAAA;EACV,KAAA,EAAO,aAAA;EACP,QAAA,EAAU,UAAA,CAAW,aAAA;EACrB,aAAA,GAAgB,GAAA,EAAK,IAAA,KAAS,SAAA;AAAA;AAAA,KAGpB,qBAAA;EACV,WAAA;EACA,KAAA;AAAA;AAAA,KAGU,sBAAA;EACV,OAAA,EAAS,MAAA;EACT,MAAA,GACE,OAAA,EAAS,MAAA,mBACT,QAAA,GAAW,IAAA,EAAM,MAAA,+BACd,SAAA;AAAA;AAAA,KAGK,oBAAA,GAAuB,IAAA,CAAK,UAAA;AAAA,KAE5B,mBAAA;EACV,SAAA;EACA,IAAA;EACA,QAAA;EACA,MAAA;EACA,UAAA;EACA,aAAA;EACA,YAAA;EACA,OAAA;EACA,OAAA,GAAU,0BAAA;EACV,OAAA;EACA,KAAA;EACA,eAAA;EACA,QAAA;EACA,KAAA,GAAQ,eAAA;AAAA;AAAA,KAGL,uBAAA,SAAgC,OAAA,CACnC,IAAA,CACE,YAAA,CAAa,IAAA;AAAA,KAUL,0BAAA;EACV,MAAA,EAAQ,SAAA,CAAU,IAAA;EAClB,QAAA;AAAA;AAAA,KAGU,cAAA;EACV,IAAA,EAAM,IAAA;EACN,OAAA,EAAS,SAAA,CAAU,IAAA;EACnB,YAAA,GAAe,0BAAA,CAA2B,IAAA;EAC1C,OAAA,GAAU,sBAAA;EACV,UAAA,GAAa,yBAAA;EACb,SAAA,GAAY,wBAAA,CAAyB,IAAA;EACrC,SAAA,GAAY,wBAAA,CAAyB,IAAA;EACrC,OAAA;EACA,QAAA;EACA,SAAA,gBAAyB,OAAA;EACzB,KAAA,GAAQ,cAAA;EACR,UAAA,GAAa,mBAAA;EACb,OAAA,GAAU,uBAAA,CAAwB,IAAA;EAClC,MAAA,GAAS,OAAA,CAAQ,eAAA;AAAA,IACf,oBAAA;AAAA,cAES,SAAA;EAAoB,UAAA;EAAA,KAAA;EAAA,OAAA;EAAA,QAAA;EAAA,UAAA;EAAA,SAAA;EAAA,SAAA;EAAA,IAAA;EAAA,OAAA;EAAA,YAAA;EAAA,OAAA;EAAA,SAAA;EAAA,OAAA;EAAA,MAAA;EAAA,GAAA;AAAA,GAgB9B,cAAA,CAAe,IAAA,MAAQ,SAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTable.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport type {\n ColumnDef,\n ExpandedState,\n OnChangeFn,\n PaginationState,\n RowSelectionState,\n SortingState,\n TableOptions,\n} from '@tanstack/react-table';\n\nimport { Table, type TableClassNames, type TableProps } from '../table/Table';\nimport { DataTableBody } from './DataTableBody';\nimport {
|
|
1
|
+
{"version":3,"file":"DataTable.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTable.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport type {\n ColumnDef,\n ExpandedState,\n OnChangeFn,\n PaginationState,\n RowSelectionState,\n SortingState,\n TableOptions,\n} from '@tanstack/react-table';\n\nimport { Table, type TableClassNames, type TableProps } from '../table/Table';\nimport { DataTableBody } from './DataTableBody';\nimport {\n DataTableBulkBar,\n type DataTableBulkBarClassNames,\n} from './DataTableBulkBar';\nimport { DataTableHeader } from './DataTableHeader';\nimport { DataTableRootContainer } from './DataTableRootContainer';\nimport { DataTableSkeleton } from './DataTableSkeleton';\nimport { DataTableSlotRow, type DataTableSlots } from './DataTableSlotRow';\nimport { DataTableViewport } from './DataTableViewport';\nimport { useDataTable } from './useDataTable';\nimport {\n DataTableContextProvider,\n type DataTableContextValue,\n type DataTableLabels,\n} from './useDataTableContext';\n\nexport type DataTableRecord = Record<string, unknown>;\n\nexport type DataTableSortingConfig = {\n state: SortingState;\n onChange: OnChangeFn<SortingState>;\n};\n\nexport type DataTablePaginationConfig = {\n currentPage: number;\n pageSize: number;\n onChange: OnChangeFn<PaginationState>;\n pageCount: number;\n rowCount?: number;\n};\n\nexport type DataTableColumnMeta = {\n classNames?: {\n header?: string;\n cell?: string;\n };\n};\n\nexport type DataTableSelectionConfig<Data = unknown> = {\n state: RowSelectionState;\n onChange: OnChangeFn<RowSelectionState>;\n getRowId?: (row: Data) => string;\n isRowDisabled?: (row: Data) => boolean;\n bulkActions?: (selectedIds: string[]) => ReactNode;\n};\n\nexport type DataTableExpansionConfig<Data = unknown> = {\n state: ExpandedState;\n onChange: OnChangeFn<ExpandedState>;\n renderContent: (row: Data) => ReactNode;\n};\n\nexport type DataTableSearchConfig = {\n placeholder?: string;\n label?: string;\n};\n\nexport type DataTableFiltersConfig = {\n initial: Record<string, unknown>;\n render: (\n filters: Record<string, unknown>,\n onChange: (next: Record<string, unknown>) => void,\n ) => ReactNode;\n};\n\nexport type DataTableTableConfig = Omit<TableProps, 'children' | 'classNames'>;\n\nexport type DataTableClassNames = {\n dataTable?: string;\n root?: string;\n viewport?: string;\n header?: string;\n sortButton?: string;\n sortIndicator?: string;\n expandButton?: string;\n slotRow?: string;\n bulkBar?: DataTableBulkBarClassNames;\n loading?: string;\n empty?: string;\n expandedContent?: string;\n skeleton?: string;\n table?: TableClassNames;\n};\n\ntype DataTableManagedOptions<Data> = Partial<\n Omit<\n TableOptions<Data>,\n | 'columns'\n | 'data'\n | 'onExpandedChange'\n | 'onPaginationChange'\n | 'onRowSelectionChange'\n | 'onSortingChange'\n >\n>;\n\nexport type DataTableExtraColumnConfig<Data> = {\n column: ColumnDef<Data, unknown>;\n position?: number;\n};\n\nexport type DataTableProps<Data> = {\n data: Data[];\n columns: ColumnDef<Data, unknown>[];\n extraColumns?: DataTableExtraColumnConfig<Data>[];\n sorting?: DataTableSortingConfig;\n pagination?: DataTablePaginationConfig;\n selection?: DataTableSelectionConfig<Data>;\n expansion?: DataTableExpansionConfig<Data>;\n loading?: boolean;\n skeleton?: number;\n onRefresh?: () => void | Promise<void>;\n slots?: DataTableSlots;\n classNames?: DataTableClassNames;\n options?: DataTableManagedOptions<Data>;\n labels?: Partial<DataTableLabels>;\n} & DataTableTableConfig;\n\nexport const DataTable = <Data,>({\n classNames,\n slots,\n loading,\n skeleton,\n pagination,\n selection,\n expansion,\n data,\n columns,\n extraColumns,\n sorting,\n onRefresh,\n options,\n labels,\n ...tableProps\n}: DataTableProps<Data>): ReactNode => {\n const { layout, contextValue, table } = useDataTable({\n data,\n columns,\n extraColumns,\n sorting,\n onRefresh,\n options,\n labels,\n classNames,\n loading,\n skeleton,\n pagination,\n selection,\n expansion,\n ...tableProps,\n });\n\n return (\n <DataTableContextProvider\n value={contextValue as DataTableContextValue<unknown>}\n >\n <DataTableRootContainer busy={loading} classNames={classNames}>\n <DataTableSlotRow classNames={{ root: classNames?.slotRow }}>\n {slots?.top}\n </DataTableSlotRow>\n\n <DataTableViewport className={classNames?.viewport}>\n {skeleton != null && data.length === 0 ? (\n <DataTableSkeleton\n rows={skeleton}\n className={classNames?.skeleton}\n />\n ) : (\n <Table\n {...tableProps}\n layout={layout}\n classNames={classNames?.table}\n >\n <DataTableHeader\n loading={loading}\n classNames={classNames}\n headerGroups={table.getHeaderGroups()}\n totalSize={table.getTotalSize()}\n />\n <DataTableBody\n rows={table.getRowModel().rows}\n colCount={table.getVisibleLeafColumns().length}\n loading={loading}\n empty={slots?.empty}\n emptyClassName={classNames?.empty}\n expandedContentClassName={classNames?.expandedContent}\n expansion={expansion}\n selection={selection}\n />\n </Table>\n )}\n </DataTableViewport>\n\n <DataTableSlotRow classNames={{ root: classNames?.slotRow }}>\n {slots?.bottom}\n </DataTableSlotRow>\n\n <DataTableBulkBar\n selectedIds={contextValue.selectedIds}\n className={classNames?.bulkBar}\n selection={selection}\n />\n </DataTableRootContainer>\n </DataTableContextProvider>\n );\n};\n"],"mappings":"knBAoIA,MAAa,GAAoB,CAC/B,aACA,QACA,UACA,WACA,aACA,YACA,YACA,OACA,UACA,eACA,UACA,YACA,UACA,SACA,GAAG,KACkC,CACrC,GAAM,CAAE,SAAQ,eAAc,SAAU,EAAa,CACnD,OACA,UACA,eACA,UACA,YACA,UACA,SACA,aACA,UACA,WACA,aACA,YACA,YACA,GAAG,EACJ,CAAC,CAEF,OACE,EAAC,EAAA,CACC,MAAO,WAEP,EAAC,EAAA,CAAuB,KAAM,EAAqB,uBACjD,EAAC,EAAA,CAAiB,WAAY,CAAE,KAAM,GAAY,QAAS,UACxD,GAAO,KACS,CAEnB,EAAC,EAAA,CAAkB,UAAW,GAAY,kBACvC,GAAY,MAAQ,EAAK,SAAW,EACnC,EAAC,EAAA,CACC,KAAM,EACN,UAAW,GAAY,UACvB,CAEF,EAAC,EAAA,CACC,GAAI,EACI,SACR,WAAY,GAAY,gBAExB,EAAC,EAAA,CACU,UACG,aACZ,aAAc,EAAM,iBAAiB,CACrC,UAAW,EAAM,cAAc,EAC/B,CACF,EAAC,EAAA,CACC,KAAM,EAAM,aAAa,CAAC,KAC1B,SAAU,EAAM,uBAAuB,CAAC,OAC/B,UACT,MAAO,GAAO,MACd,eAAgB,GAAY,MAC5B,yBAA0B,GAAY,gBAC3B,YACA,aACX,CAAA,EACI,EAEQ,CAEpB,EAAC,EAAA,CAAiB,WAAY,CAAE,KAAM,GAAY,QAAS,UACxD,GAAO,QACS,CAEnB,EAAC,EAAA,CACC,YAAa,EAAa,YAC1B,UAAW,GAAY,QACZ,aACX,GACqB,EACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableBody.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTableBody.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n dataTableEmpty,\n dataTableExpandedContent,\n} from '@mage-ui/styled-system/recipes';\nimport { flexRender, type Row } from '@tanstack/react-table';\n\nimport { Table } from '../table/Table';\nimport type {\n DataTableColumnMeta,\n DataTableExpansionConfig,\n DataTableProps,\n DataTableSelectionConfig,\n} from './DataTable';\n\
|
|
1
|
+
{"version":3,"file":"DataTableBody.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTableBody.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n dataTableEmpty,\n dataTableExpandedContent,\n} from '@mage-ui/styled-system/recipes';\nimport { flexRender, type Row } from '@tanstack/react-table';\n\nimport { Table } from '../table/Table';\nimport type {\n DataTableColumnMeta,\n DataTableExpansionConfig,\n DataTableProps,\n DataTableSelectionConfig,\n} from './DataTable';\n\ntype DataTableBodyProps<Data> = Pick<\n DataTableProps<Data>,\n 'loading' | 'expansion' | 'selection'\n> & {\n rows: Row<Data>[];\n colCount: number;\n empty?: ReactNode;\n emptyClassName?: string;\n expandedContentClassName?: string;\n};\n\nconst BodyCell = <Data,>({\n cell,\n}: {\n cell: import('@tanstack/react-table').Cell<Data, unknown>;\n}): ReactNode => {\n const columnMeta = cell.column.columnDef.meta as\n | DataTableColumnMeta\n | undefined;\n\n return (\n <Table.Cell\n classNames={\n columnMeta?.classNames?.cell\n ? { td: columnMeta.classNames.cell }\n : undefined\n }\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </Table.Cell>\n );\n};\n\nconst ExpandedRow = <Data,>({\n row,\n colCount,\n className,\n expansion,\n}: {\n row: Row<Data>;\n colCount: number;\n className?: string;\n expansion: DataTableExpansionConfig<Data>;\n}): ReactNode => (\n <Table.Row id={`data-table-expanded-${row.id}`}>\n <Table.Cell\n colSpan={colCount}\n classNames={{ td: className ?? dataTableExpandedContent() }}\n >\n {expansion.renderContent(row.original)}\n </Table.Cell>\n </Table.Row>\n);\n\nconst BodyRow = <Data,>({\n row,\n colCount,\n expandedContentClassName,\n expansion,\n selection,\n}: {\n row: Row<Data>;\n colCount: number;\n expandedContentClassName?: string;\n expansion?: DataTableExpansionConfig<Data>;\n selection?: DataTableSelectionConfig<Data>;\n}): ReactNode => (\n <>\n <Table.Row\n data-selected={row.getIsSelected() || undefined}\n data-disabled={(selection && !row.getCanSelect()) || undefined}\n data-expanded={row.getIsExpanded() || undefined}\n >\n {row.getVisibleCells().map((cell) => (\n <BodyCell key={cell.id} cell={cell} />\n ))}\n </Table.Row>\n {expansion && row.getIsExpanded() ? (\n <ExpandedRow\n row={row}\n colCount={colCount}\n className={expandedContentClassName}\n expansion={expansion}\n />\n ) : null}\n </>\n);\n\nconst EmptyRow = ({\n colCount,\n className,\n children,\n}: {\n colCount: number;\n className?: string;\n children?: ReactNode;\n}): ReactNode => (\n <Table.Row>\n <Table.Cell\n colSpan={colCount}\n classNames={{ td: className ?? dataTableEmpty() }}\n >\n {children}\n </Table.Cell>\n </Table.Row>\n);\n\nexport const DataTableBody = <Data,>({\n rows,\n colCount,\n loading,\n empty,\n emptyClassName,\n expandedContentClassName,\n expansion,\n selection,\n}: DataTableBodyProps<Data>): ReactNode => {\n const showEmptyState = !loading && rows.length === 0;\n\n return (\n <Table.Body>\n {showEmptyState ? (\n <EmptyRow colCount={colCount} className={emptyClassName}>\n {empty}\n </EmptyRow>\n ) : (\n rows.map((row) => (\n <BodyRow\n key={row.id}\n row={row}\n colCount={colCount}\n expandedContentClassName={expandedContentClassName}\n expansion={expansion}\n selection={selection}\n />\n ))\n )}\n </Table.Body>\n );\n};\n"],"mappings":"4PA2BA,MAAM,GAAmB,CACvB,UAGe,CACf,IAAM,EAAa,EAAK,OAAO,UAAU,KAIzC,OACE,EAAC,EAAM,KAAA,CACL,WACE,GAAY,YAAY,KACpB,CAAE,GAAI,EAAW,WAAW,KAAM,CAClC,IAAA,YAGL,EAAW,EAAK,OAAO,UAAU,KAAM,EAAK,YAAY,CAAC,EAC/C,EAIX,GAAsB,CAC1B,MACA,WACA,YACA,eAOA,EAAC,EAAM,IAAA,CAAI,GAAI,uBAAuB,EAAI,cACxC,EAAC,EAAM,KAAA,CACL,QAAS,EACT,WAAY,CAAE,GAAI,GAAa,GAA0B,CAAE,UAE1D,EAAU,cAAc,EAAI,SAAS,EAC3B,EACH,CAGR,GAAkB,CACtB,MACA,WACA,2BACA,YACA,eAQA,EAAA,EAAA,CAAA,SAAA,CACE,EAAC,EAAM,IAAA,CACL,gBAAe,EAAI,eAAe,EAAI,IAAA,GACtC,gBAAgB,GAAa,CAAC,EAAI,cAAc,EAAK,IAAA,GACrD,gBAAe,EAAI,eAAe,EAAI,IAAA,YAErC,EAAI,iBAAiB,CAAC,IAAK,GAC1B,EAAC,EAAA,CAA6B,OAAA,CAAf,EAAK,GAAkB,CACtC,EACQ,CACX,GAAa,EAAI,eAAe,CAC/B,EAAC,EAAA,CACM,MACK,WACV,UAAW,EACA,aACX,CACA,KAAA,CAAA,CACH,CAGC,GAAY,CAChB,WACA,YACA,cAMA,EAAC,EAAM,IAAA,CAAA,SACL,EAAC,EAAM,KAAA,CACL,QAAS,EACT,WAAY,CAAE,GAAI,GAAa,GAAgB,CAAE,CAEhD,YACU,CAAA,CACH,CAGD,GAAwB,CACnC,OACA,WACA,UACA,QACA,iBACA,2BACA,YACA,eACyC,CACzC,IAAM,EAAiB,CAAC,GAAW,EAAK,SAAW,EAEnD,OACE,EAAC,EAAM,KAAA,CAAA,SACJ,EACC,EAAC,EAAA,CAAmB,WAAU,UAAW,WACtC,GACQ,CAEX,EAAK,IAAK,GACR,EAAC,EAAA,CAEM,MACK,WACgB,2BACf,YACA,aALN,EAAI,GAMT,CACF,CAAA,CAEO"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import "./DataTable.mjs";
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/data-display/datatables/DataTableBulkBar.d.ts
|
|
5
|
+
type DataTableBulkBarClassNames = {
|
|
6
|
+
root?: string;
|
|
7
|
+
count?: string;
|
|
8
|
+
countBadge?: string;
|
|
9
|
+
actions?: string;
|
|
10
|
+
dragHandle?: string;
|
|
11
|
+
dragHandleIcon?: string;
|
|
12
|
+
};
|
|
13
|
+
//#endregion
|
|
14
|
+
export { DataTableBulkBarClassNames };
|
|
15
|
+
//# sourceMappingURL=DataTableBulkBar.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableBulkBar.d.mts","names":[],"sources":["../../../../src/components/data-display/datatables/DataTableBulkBar.tsx"],"mappings":";;;;KAqBY,0BAAA;EACV,IAAA;EACA,KAAA;EACA,UAAA;EACA,OAAA;EACA,UAAA;EACA,cAAA;AAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Badge as e}from"../badge/Badge.mjs";import{Icon as t}from"../icons/icon/Icon.mjs";import{useDataTableContext as n}from"./useDataTableContext.mjs";import{dataTableBulkBar as r,dataTableBulkBarActions as i,dataTableBulkBarCount as a,dataTableBulkBarCountBadge as o,dataTableBulkBarDragHandle as s,dataTableBulkBarDragHandleIcon as c}from"@mage-ui/styled-system/recipes";import{jsx as l,jsxs as u}from"react/jsx-runtime";import{useState as d}from"react";import{DndContext as f,useDraggable as p}from"@dnd-kit/core";import{restrictToWindowEdges as m}from"@dnd-kit/modifiers";const h=({selectedIds:t,className:n,selection:s,labels:c})=>u(`div`,{className:n?.root??r(),"data-draggable":!1,children:[l(`span`,{className:n?.count??a(),children:c.selectedCount(l(e,{classNames:{badge:o()},children:t.length}))}),l(`div`,{className:n?.actions??i(),children:s?.bulkActions?.(t)})]}),g=({coordinates:n,selectedIds:d,className:f,selection:m,labels:h})=>{let{attributes:g,listeners:_,setNodeRef:v,isDragging:y,transform:b}=p({id:`data-table-bulk-bar`});return u(`div`,{ref:v,style:b?{transform:`translate(calc(-50% + ${n.x+b.x}px), calc(-50% + ${n.y+b.y}px))`}:{transform:`translate(calc(-50% + ${n.x}px), calc(-50% + ${n.y}px))`},className:f?.root??r(),"data-draggable":!0,"data-is-dragging":y,children:[l(`span`,{...g,..._,className:f?.dragHandle??s(),"data-is-dragging":y,"aria-hidden":`true`,children:l(t,{name:`mage-bulk-actions-dots-grid-2`,path:`/icons/sprite-mage.svg`,classNames:{icon:c()}})}),l(`span`,{className:f?.count??a(),children:h.selectedCount(l(e,{classNames:{badge:o()},children:d.length}))}),l(`div`,{className:f?.actions??i(),children:m?.bulkActions?.(d)})]})},_=({selectedIds:e,className:t,selection:r,isDraggable:i=!0})=>{let{labels:a}=n(),[o,s]=d({x:0,y:0});return!r?.bulkActions||e.length===0?null:i?l(f,{onDragEnd:e=>{let{delta:t}=e;s(e=>({x:e.x+t.x,y:e.y+t.y}))},modifiers:[m],children:l(g,{coordinates:o,selectedIds:e,className:t,selection:r,labels:a})}):l(h,{selectedIds:e,className:t,selection:r,isDraggable:!1,labels:a})};export{_ as DataTableBulkBar};
|
|
2
2
|
//# sourceMappingURL=DataTableBulkBar.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableBulkBar.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTableBulkBar.tsx"],"sourcesContent":["import type
|
|
1
|
+
{"version":3,"file":"DataTableBulkBar.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTableBulkBar.tsx"],"sourcesContent":["import { type ReactNode, useState } from 'react';\n\nimport { DndContext, type DragEndEvent, useDraggable } from '@dnd-kit/core';\nimport { restrictToWindowEdges } from '@dnd-kit/modifiers';\nimport {\n dataTableBulkBar,\n dataTableBulkBarActions,\n dataTableBulkBarCount,\n dataTableBulkBarCountBadge,\n dataTableBulkBarDragHandle,\n dataTableBulkBarDragHandleIcon,\n} from '@mage-ui/styled-system/recipes';\nimport { Badge } from '@/components/data-display/badge/Badge';\nimport { Icon } from '@/components/data-display/icons/icon/Icon';\n\nimport type { DataTableSelectionConfig } from './DataTable';\nimport {\n type DataTableLabels,\n useDataTableContext,\n} from './useDataTableContext';\n\nexport type DataTableBulkBarClassNames = {\n root?: string;\n count?: string;\n countBadge?: string;\n actions?: string;\n dragHandle?: string;\n dragHandleIcon?: string;\n};\n\ntype DataTableBulkBarProps<Data> = {\n selectedIds: string[];\n className?: DataTableBulkBarClassNames;\n selection?: DataTableSelectionConfig<Data>;\n isDraggable?: boolean;\n};\n\ntype DataTableBulkBarContentProps<Data> = DataTableBulkBarProps<Data> & {\n labels: DataTableLabels;\n};\n\nconst DataTableBulkBarStatic = <Data,>({\n selectedIds,\n className,\n selection,\n labels,\n}: DataTableBulkBarContentProps<Data>) => {\n return (\n <div\n className={className?.root ?? dataTableBulkBar()}\n data-draggable={false}\n >\n <span className={className?.count ?? dataTableBulkBarCount()}>\n {labels.selectedCount(\n <Badge classNames={{ badge: dataTableBulkBarCountBadge() }}>\n {selectedIds.length}\n </Badge>,\n )}\n </span>\n <div className={className?.actions ?? dataTableBulkBarActions()}>\n {selection?.bulkActions?.(selectedIds)}\n </div>\n </div>\n );\n};\n\ntype DraggableBulkBarWrapperProps<Data> = DataTableBulkBarProps<Data> & {\n coordinates: { x: number; y: number };\n labels: DataTableLabels;\n};\n\nconst DraggableBulkBarWrapper = <Data,>({\n coordinates,\n selectedIds,\n className,\n selection,\n labels,\n}: DraggableBulkBarWrapperProps<Data>) => {\n const { attributes, listeners, setNodeRef, isDragging, transform } =\n useDraggable({\n id: 'data-table-bulk-bar',\n });\n\n const style = transform\n ? {\n transform: `translate(calc(-50% + ${coordinates.x + transform.x}px), calc(-50% + ${coordinates.y + transform.y}px))`,\n }\n : {\n transform: `translate(calc(-50% + ${coordinates.x}px), calc(-50% + ${coordinates.y}px))`,\n };\n\n return (\n <div\n ref={setNodeRef}\n style={style}\n className={className?.root ?? dataTableBulkBar()}\n data-draggable={true}\n data-is-dragging={isDragging}\n >\n <span\n {...attributes}\n {...listeners}\n className={className?.dragHandle ?? dataTableBulkBarDragHandle()}\n data-is-dragging={isDragging}\n aria-hidden='true'\n >\n <Icon\n name='mage-bulk-actions-dots-grid-2'\n path='/icons/sprite-mage.svg'\n classNames={{ icon: dataTableBulkBarDragHandleIcon() }}\n />\n </span>\n <span className={className?.count ?? dataTableBulkBarCount()}>\n {labels.selectedCount(\n <Badge classNames={{ badge: dataTableBulkBarCountBadge() }}>\n {selectedIds.length}\n </Badge>,\n )}\n </span>\n <div className={className?.actions ?? dataTableBulkBarActions()}>\n {selection?.bulkActions?.(selectedIds)}\n </div>\n </div>\n );\n};\n\nexport const DataTableBulkBar = <Data,>({\n selectedIds,\n className,\n selection,\n isDraggable = true,\n}: DataTableBulkBarProps<Data>): ReactNode => {\n const { labels } = useDataTableContext();\n const [coordinates, setCoordinates] = useState({ x: 0, y: 0 });\n\n if (!selection?.bulkActions || selectedIds.length === 0) {\n return null;\n }\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { delta } = event;\n setCoordinates((prev) => ({\n x: prev.x + delta.x,\n y: prev.y + delta.y,\n }));\n };\n\n if (!isDraggable) {\n return (\n <DataTableBulkBarStatic\n selectedIds={selectedIds}\n className={className}\n selection={selection}\n isDraggable={false}\n labels={labels}\n />\n );\n }\n\n return (\n <DndContext onDragEnd={handleDragEnd} modifiers={[restrictToWindowEdges]}>\n <DraggableBulkBarWrapper\n coordinates={coordinates}\n selectedIds={selectedIds}\n className={className}\n selection={selection}\n labels={labels}\n />\n </DndContext>\n );\n};\n"],"mappings":"kkBAyCA,MAAM,GAAiC,CACrC,cACA,YACA,YACA,YAGE,EAAC,MAAA,CACC,UAAW,GAAW,MAAQ,GAAkB,CAChD,iBAAgB,aAEhB,EAAC,OAAA,CAAK,UAAW,GAAW,OAAS,GAAuB,UACzD,EAAO,cACN,EAAC,EAAA,CAAM,WAAY,CAAE,MAAO,GAA4B,CAAE,UACvD,EAAY,QACP,CACT,EACI,CACP,EAAC,MAAA,CAAI,UAAW,GAAW,SAAW,GAAyB,UAC5D,GAAW,cAAc,EAAY,EAClC,CAAA,EACF,CASJ,GAAkC,CACtC,cACA,cACA,YACA,YACA,YACwC,CACxC,GAAM,CAAE,aAAY,YAAW,aAAY,aAAY,aACrD,EAAa,CACX,GAAI,sBACL,CAAC,CAUJ,OACE,EAAC,MAAA,CACC,IAAK,EACL,MAXU,EACV,CACE,UAAW,yBAAyB,EAAY,EAAI,EAAU,EAAE,mBAAmB,EAAY,EAAI,EAAU,EAAE,MAChH,CACD,CACE,UAAW,yBAAyB,EAAY,EAAE,mBAAmB,EAAY,EAAE,MACpF,CAMD,UAAW,GAAW,MAAQ,GAAkB,CAChD,iBAAgB,GAChB,mBAAkB,YAElB,EAAC,OAAA,CACC,GAAI,EACJ,GAAI,EACJ,UAAW,GAAW,YAAc,GAA4B,CAChE,mBAAkB,EAClB,cAAY,gBAEZ,EAAC,EAAA,CACC,KAAK,gCACL,KAAK,yBACL,WAAY,CAAE,KAAM,GAAgC,CAAE,EACtD,EACG,CACP,EAAC,OAAA,CAAK,UAAW,GAAW,OAAS,GAAuB,UACzD,EAAO,cACN,EAAC,EAAA,CAAM,WAAY,CAAE,MAAO,GAA4B,CAAE,UACvD,EAAY,QACP,CACT,EACI,CACP,EAAC,MAAA,CAAI,UAAW,GAAW,SAAW,GAAyB,UAC5D,GAAW,cAAc,EAAY,EAClC,GACF,EAIG,GAA2B,CACtC,cACA,YACA,YACA,cAAc,MAC8B,CAC5C,GAAM,CAAE,UAAW,GAAqB,CAClC,CAAC,EAAa,GAAkB,EAAS,CAAE,EAAG,EAAG,EAAG,EAAG,CAAC,CA0B9D,MAxBI,CAAC,GAAW,aAAe,EAAY,SAAW,EAC7C,KAWJ,EAaH,EAAC,EAAA,CAAW,UArBS,GAAwB,CAC7C,GAAM,CAAE,SAAU,EAClB,EAAgB,IAAU,CACxB,EAAG,EAAK,EAAI,EAAM,EAClB,EAAG,EAAK,EAAI,EAAM,EACnB,EAAE,EAgBmC,UAAW,CAAC,EAAsB,UACtE,EAAC,EAAA,CACc,cACA,cACF,YACA,YACH,UACR,EACS,CAnBX,EAAC,EAAA,CACc,cACF,YACA,YACX,YAAa,GACL,UACR"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Button as e}from"../../buttons/button/Button.mjs";import{VisuallyHidden as t}from"../../misc/visually-hidden/VisuallyHidden.mjs";import{Table as n}from"../table/Table.mjs";import{Icon as r}from"../icons/icon/Icon.mjs";import{useDataTableContext as i}from"./useDataTableContext.mjs";import{cx as a}from"@mage-ui/styled-system/css";import{dataTableHeader as o,dataTableLoading as s,dataTableSortButton as c,dataTableSortButtonIndicator as l}from"@mage-ui/styled-system/recipes";import{jsx as u,jsxs as d}from"react/jsx-runtime";import{flexRender as f}from"@tanstack/react-table";const p=e=>e===`asc`?`ascending`:e===`desc`?`descending`:`none`,m=({sorted:e,className:t})=>u(r,{path:`/icons/sprite-mage.svg`,name:e===`asc`?`mage-datatable-sort-arrow-narrow-up`:e===`desc`?`mage-datatable-sort-arrow-narrow-down`:`mage-datatable-sort-switch-vertical-02`,classNames:{icon:t??l()}}),h=({header:n,className:r})=>{let{labels:o}=i(),s=n.column.getIsSorted();return d(e,{classNames:{button:a(r??c(),`group`)},onClick:n.column.getToggleSortingHandler(),endSlot:u(m,{sorted:s}),children:[f(n.column.columnDef.header,n.getContext()),u(t,{children:s===`asc`?o.sortedAscending:s===`desc`?o.sortedDescending:o.activateToSort})]})},g=({header:e,sortButtonClassName:t})=>e.isPlaceholder?null:e.column.getCanSort()?u(h,{header:e,className:t}):f(e.column.columnDef.header,e.getContext()),_=({header:e,totalSize:t,classNames:r})=>{let i=e.column.getCanSort(),a=e.column.getIsSorted(),o=e.column.columnDef.meta,s=t>0&&e.column.columnDef.size!==150?`${e.getSize()/t*100}%`:void 0;return u(n.HeaderCell,{classNames:o?.classNames?.header?{th:o.classNames.header}:void 0,scope:`col`,style:{width:s},"aria-sort":i?p(a):void 0,"data-sortable":i||void 0,"data-sort":a||void 0,children:u(g,{header:e,sortButtonClassName:r?.sortButton})})},v=({headerGroups:e,totalSize:t,loading:r,classNames:i})=>u(n.Head,{classNames:{thead:a(i?.header??o(),r?i?.loading??s():void 0)},"data-loading":r||void 0,children:e.map(e=>u(n.Row,{children:e.headers.map(e=>u(_,{header:e,totalSize:t,classNames:i},e.id))},e.id))});export{v as DataTableHeader};
|
|
2
2
|
//# sourceMappingURL=DataTableHeader.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableHeader.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTableHeader.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n dataTableHeader,\n dataTableLoading,\n dataTableSortButton,\n} from '@mage-ui/styled-system/recipes';\nimport {\n flexRender,\n type Header,\n type HeaderGroup,\n} from '@tanstack/react-table';\n\nimport { VisuallyHidden } from '../../misc/visually-hidden/VisuallyHidden';\nimport { Table } from '../table/Table';\nimport type { DataTableClassNames, DataTableColumnMeta } from './DataTable';\nimport { useDataTableContext } from './useDataTableContext';\n\ntype DataTableHeaderProps<Data> = {\n headerGroups: HeaderGroup<Data>[];\n totalSize: number;\n loading?: boolean;\n classNames?: Pick<DataTableClassNames, 'header' | 'loading' | 'sortButton'>;\n};\n\nconst getAriaSort = (sorted: false | 'asc' | 'desc') => {\n if (sorted === 'asc') return 'ascending';\n if (sorted === 'desc') return 'descending';\n return 'none';\n};\n\nconst SortIndicator = ({
|
|
1
|
+
{"version":3,"file":"DataTableHeader.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTableHeader.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n dataTableHeader,\n dataTableLoading,\n dataTableSortButton,\n dataTableSortButtonIndicator,\n} from '@mage-ui/styled-system/recipes';\nimport {\n flexRender,\n type Header,\n type HeaderGroup,\n} from '@tanstack/react-table';\nimport { Button } from '@/components/buttons';\n\nimport { VisuallyHidden } from '../../misc/visually-hidden/VisuallyHidden';\nimport { Icon } from '../icons/icon/Icon';\nimport { Table } from '../table/Table';\nimport type { DataTableClassNames, DataTableColumnMeta } from './DataTable';\nimport { useDataTableContext } from './useDataTableContext';\n\ntype DataTableHeaderProps<Data> = {\n headerGroups: HeaderGroup<Data>[];\n totalSize: number;\n loading?: boolean;\n classNames?: Pick<DataTableClassNames, 'header' | 'loading' | 'sortButton'>;\n};\n\nconst getAriaSort = (sorted: false | 'asc' | 'desc') => {\n if (sorted === 'asc') return 'ascending';\n if (sorted === 'desc') return 'descending';\n return 'none';\n};\n\nconst SortIndicator = ({\n sorted,\n className,\n}: {\n sorted: false | 'asc' | 'desc';\n className?: string;\n}) => (\n <Icon\n path='/icons/sprite-mage.svg'\n name={\n sorted === 'asc'\n ? 'mage-datatable-sort-arrow-narrow-up'\n : sorted === 'desc'\n ? 'mage-datatable-sort-arrow-narrow-down'\n : 'mage-datatable-sort-switch-vertical-02'\n }\n classNames={{\n icon: className ?? dataTableSortButtonIndicator(),\n }}\n />\n);\n\nconst SortButton = <Data,>({\n header,\n className,\n}: {\n header: Header<Data, unknown>;\n className?: string;\n}): ReactNode => {\n const { labels } = useDataTableContext();\n const sorted = header.column.getIsSorted();\n\n const getSortStatusText = () => {\n if (sorted === 'asc') return labels.sortedAscending;\n if (sorted === 'desc') return labels.sortedDescending;\n return labels.activateToSort;\n };\n\n return (\n <Button\n classNames={{\n button: cx(className ?? dataTableSortButton(), 'group'),\n }}\n onClick={header.column.getToggleSortingHandler()}\n endSlot={<SortIndicator sorted={sorted} />}\n >\n {flexRender(header.column.columnDef.header, header.getContext())}\n <VisuallyHidden>{getSortStatusText()}</VisuallyHidden>\n </Button>\n );\n};\n\nconst HeaderCellContent = <Data,>({\n header,\n sortButtonClassName,\n}: {\n header: Header<Data, unknown>;\n sortButtonClassName?: string;\n}): ReactNode => {\n if (header.isPlaceholder) return null;\n\n if (header.column.getCanSort()) {\n return <SortButton header={header} className={sortButtonClassName} />;\n }\n\n return flexRender(header.column.columnDef.header, header.getContext());\n};\n\nconst HeaderCell = <Data,>({\n header,\n totalSize,\n classNames,\n}: {\n header: Header<Data, unknown>;\n totalSize: number;\n classNames?: Pick<DataTableClassNames, 'sortButton'>;\n}): ReactNode => {\n const canSort = header.column.getCanSort();\n const sorted = header.column.getIsSorted();\n const columnMeta = header.column.columnDef.meta as\n | DataTableColumnMeta\n | undefined;\n const width =\n totalSize > 0 && header.column.columnDef.size !== 150\n ? `${(header.getSize() / totalSize) * 100}%`\n : undefined;\n\n return (\n <Table.HeaderCell\n classNames={\n columnMeta?.classNames?.header\n ? { th: columnMeta.classNames.header }\n : undefined\n }\n scope='col'\n style={{ width }}\n aria-sort={canSort ? getAriaSort(sorted) : undefined}\n data-sortable={canSort || undefined}\n data-sort={(sorted || undefined) as string | undefined}\n >\n <HeaderCellContent\n header={header}\n sortButtonClassName={classNames?.sortButton}\n />\n </Table.HeaderCell>\n );\n};\n\nexport const DataTableHeader = <Data,>({\n headerGroups,\n totalSize,\n loading,\n classNames,\n}: DataTableHeaderProps<Data>): ReactNode => (\n <Table.Head\n classNames={{\n thead: cx(\n classNames?.header ?? dataTableHeader(),\n loading ? (classNames?.loading ?? dataTableLoading()) : undefined,\n ),\n }}\n data-loading={loading || undefined}\n >\n {headerGroups.map((headerGroup) => (\n <Table.Row key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <HeaderCell\n key={header.id}\n header={header}\n totalSize={totalSize}\n classNames={classNames}\n />\n ))}\n </Table.Row>\n ))}\n </Table.Head>\n);\n"],"mappings":"wkBA6BA,MAAM,EAAe,GACf,IAAW,MAAc,YACzB,IAAW,OAAe,aACvB,OAGH,GAAiB,CACrB,SACA,eAKA,EAAC,EAAA,CACC,KAAK,yBACL,KACE,IAAW,MACP,sCACA,IAAW,OACT,wCACA,yCAER,WAAY,CACV,KAAM,GAAa,GAA8B,CAClD,EACD,CAGE,GAAqB,CACzB,SACA,eAIe,CACf,GAAM,CAAE,UAAW,GAAqB,CAClC,EAAS,EAAO,OAAO,aAAa,CAQ1C,OACE,EAAC,EAAA,CACC,WAAY,CACV,OAAQ,EAAG,GAAa,GAAqB,CAAE,QAAQ,CACxD,CACD,QAAS,EAAO,OAAO,yBAAyB,CAChD,QAAS,EAAC,EAAA,CAAsB,SAAA,CAAU,WAEzC,EAAW,EAAO,OAAO,UAAU,OAAQ,EAAO,YAAY,CAAC,CAChE,EAAC,EAAA,CAAA,SAdC,IAAW,MAAc,EAAO,gBAChC,IAAW,OAAe,EAAO,iBAC9B,EAAO,eAYwB,CAAkB,CAAA,EAC/C,EAIP,GAA4B,CAChC,SACA,yBAKI,EAAO,cAAsB,KAE7B,EAAO,OAAO,YAAY,CACrB,EAAC,EAAA,CAAmB,SAAQ,UAAW,GAAuB,CAGhE,EAAW,EAAO,OAAO,UAAU,OAAQ,EAAO,YAAY,CAAC,CAGlE,GAAqB,CACzB,SACA,YACA,gBAKe,CACf,IAAM,EAAU,EAAO,OAAO,YAAY,CACpC,EAAS,EAAO,OAAO,aAAa,CACpC,EAAa,EAAO,OAAO,UAAU,KAGrC,EACJ,EAAY,GAAK,EAAO,OAAO,UAAU,OAAS,IAC9C,GAAI,EAAO,SAAS,CAAG,EAAa,IAAI,GACxC,IAAA,GAEN,OACE,EAAC,EAAM,WAAA,CACL,WACE,GAAY,YAAY,OACpB,CAAE,GAAI,EAAW,WAAW,OAAQ,CACpC,IAAA,GAEN,MAAM,MACN,MAAO,CAAE,QAAO,CAChB,YAAW,EAAU,EAAY,EAAO,CAAG,IAAA,GAC3C,gBAAe,GAAW,IAAA,GAC1B,YAAY,GAAU,IAAA,YAEtB,EAAC,EAAA,CACS,SACR,oBAAqB,GAAY,YACjC,EACe,EAIV,GAA0B,CACrC,eACA,YACA,UACA,gBAEA,EAAC,EAAM,KAAA,CACL,WAAY,CACV,MAAO,EACL,GAAY,QAAU,GAAiB,CACvC,EAAW,GAAY,SAAW,GAAkB,CAAI,IAAA,GACzD,CACF,CACD,eAAc,GAAW,IAAA,YAExB,EAAa,IAAK,GACjB,EAAC,EAAM,IAAA,CAAA,SACJ,EAAY,QAAQ,IAAK,GACxB,EAAC,EAAA,CAES,SACG,YACC,cAHP,EAAO,GAIZ,CACF,CAAA,CARY,EAAY,GAShB,CACZ,EACS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTablePageSize.d.mts","names":[],"sources":["../../../../src/components/data-display/datatables/DataTablePageSize.tsx"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"DataTablePageSize.d.mts","names":[],"sources":["../../../../src/components/data-display/datatables/DataTablePageSize.tsx"],"mappings":";;;KAOY,sBAAA;EACV,KAAA;EACA,OAAA;EACA,QAAA,GAAW,IAAA;EACX,KAAA;EACA,UAAA;IACE,SAAA;IACA,QAAA;EAAA;AAAA;AAAA,cAIS,iBAAA;EAAqB,KAAA;EAAA,OAAA;EAAA,QAAA;EAAA,KAAA;EAAA;AAAA,GAM/B,sBAAA,KAAyB,SAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useDataTableContext as e}from"./useDataTableContext.mjs";import{
|
|
1
|
+
import{useDataTableContext as e}from"./useDataTableContext.mjs";import{Select as t}from"../../controls/dropdown/select/Select.mjs";import{dataTablePageSize as n}from"@mage-ui/styled-system/recipes";import{jsx as r}from"react/jsx-runtime";const i=({value:i,options:a,onChange:o,label:s,classNames:c})=>{let{labels:l}=e();return r(t,{label:s??l.rowsPerPage,options:a.map(e=>({id:String(e),value:String(e)})),defaultValue:{id:String(i),value:String(i)},onChange:e=>{e?.value&&o(Number(e.value))},clearable:!1,classNames:{target:{dropdownTextInput:c?.textInput??n()}}})};export{i as DataTablePageSize};
|
|
2
2
|
//# sourceMappingURL=DataTablePageSize.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTablePageSize.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTablePageSize.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { dataTablePageSize } from '@mage-ui/styled-system/recipes';\n\nimport { useDataTableContext } from './useDataTableContext';\n\nexport type DataTablePageSizeProps = {\n value: number;\n options: number[];\n onChange: (size: number) => void;\n label?: string;\n classNames?: {\n
|
|
1
|
+
{"version":3,"file":"DataTablePageSize.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTablePageSize.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { dataTablePageSize } from '@mage-ui/styled-system/recipes';\nimport { Select } from '@/components/controls/dropdown/select/Select';\n\nimport { useDataTableContext } from './useDataTableContext';\n\nexport type DataTablePageSizeProps = {\n value: number;\n options: number[];\n onChange: (size: number) => void;\n label?: string;\n classNames?: {\n textInput?: string;\n dropdown?: string;\n };\n};\n\nexport const DataTablePageSize = ({\n value,\n options,\n onChange,\n label,\n classNames,\n}: DataTablePageSizeProps): ReactNode => {\n const { labels } = useDataTableContext();\n const displayLabel = label ?? labels.rowsPerPage;\n\n return (\n <Select\n label={displayLabel}\n options={options.map((size) => ({\n id: String(size),\n value: String(size),\n }))}\n defaultValue={{ id: String(value), value: String(value) }}\n onChange={(val) => {\n if (val?.value) {\n onChange(Number(val.value));\n }\n }}\n clearable={false}\n classNames={{\n target: {\n dropdownTextInput: classNames?.textInput ?? dataTablePageSize(),\n },\n }}\n />\n );\n};\n"],"mappings":"8OAkBA,MAAa,GAAqB,CAChC,QACA,UACA,WACA,QACA,gBACuC,CACvC,GAAM,CAAE,UAAW,GAAqB,CAGxC,OACE,EAAC,EAAA,CACC,MAJiB,GAAS,EAAO,YAKjC,QAAS,EAAQ,IAAK,IAAU,CAC9B,GAAI,OAAO,EAAK,CAChB,MAAO,OAAO,EAAK,CACpB,EAAE,CACH,aAAc,CAAE,GAAI,OAAO,EAAM,CAAE,MAAO,OAAO,EAAM,CAAE,CACzD,SAAW,GAAQ,CACb,GAAK,OACP,EAAS,OAAO,EAAI,MAAM,CAAC,EAG/B,UAAW,GACX,WAAY,CACV,OAAQ,CACN,kBAAmB,GAAY,WAAa,GAAmB,CAChE,CACF,EACD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useDataTableContext as e}from"./useDataTableContext.mjs";import{Pagination as t}from"../../navigations/pagination/Pagination.mjs";import{cx as n}from"@mage-ui/styled-system/css";import{dataTablePagination as r,paginationWrapper as i}from"@mage-ui/styled-system/recipes";import{jsx as a,jsxs as o}from"react/jsx-runtime";const s=({withEdges:s=!1,classNames:c})=>{let{pagination:l}=e();return l?a(`div`,{className:c?.root??r(),children:o(t.Root,{classNames:c?.pagination,total:l.pageCount,value:l.currentPage,onChange:e=>{l.onChange(t=>({...t,pageIndex:e-1}))},children:[s&&a(t.First,{}),o(`div`,{className:n(c?.paginationWrapper??i(),`group`),children:[a(t.Previous,{}),a(t.Items,{}),a(t.Next,{})]}),s&&a(t.Last,{})]})}):null};export{s as DataTablePagination};
|
|
1
|
+
import{useDataTableContext as e}from"./useDataTableContext.mjs";import{Pagination as t}from"../../navigations/pagination/Pagination.mjs";import{cx as n}from"@mage-ui/styled-system/css";import{dataTablePagination as r,paginationWrapper as i}from"@mage-ui/styled-system/recipes";import{jsx as a,jsxs as o}from"react/jsx-runtime";const s=({withEdges:s=!1,classNames:c})=>{let{pagination:l}=e();return l?a(`div`,{className:c?.root??r(),children:o(t.Root,{classNames:c?.pagination,total:l.pageCount,value:l.currentPage,onChange:e=>{l.onChange(t=>({...t,pageIndex:e-1}))},children:[s&&a(t.First,{"aria-label":`First page`}),o(`div`,{className:n(c?.paginationWrapper??i(),`group`),children:[a(t.Previous,{"aria-label":`Previous page`}),a(t.Items,{}),a(t.Next,{"aria-label":`Next page`})]}),s&&a(t.Last,{"aria-label":`Last page`})]})}):null};export{s as DataTablePagination};
|
|
2
2
|
//# sourceMappingURL=DataTablePagination.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTablePagination.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTablePagination.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n dataTablePagination,\n paginationWrapper,\n} from '@mage-ui/styled-system/recipes';\n\nimport {\n Pagination,\n type PaginationClassNames,\n} from '../../navigations/pagination/Pagination';\nimport { useDataTableContext } from './useDataTableContext';\n\nexport type DataTablePaginationProps = {\n withEdges?: boolean;\n classNames?: {\n root?: string;\n pagination?: PaginationClassNames;\n paginationWrapper?: string;\n };\n};\n\nexport const DataTablePagination = ({\n withEdges = false,\n classNames,\n}: DataTablePaginationProps): ReactNode => {\n const { pagination } = useDataTableContext();\n\n if (!pagination) {\n return null;\n }\n\n return (\n <div className={classNames?.root ?? dataTablePagination()}>\n <Pagination.Root\n classNames={classNames?.pagination}\n total={pagination.pageCount}\n value={pagination.currentPage}\n onChange={(page: number) => {\n pagination.onChange((current) => ({\n ...current,\n pageIndex: page - 1,\n }));\n }}\n >\n {withEdges && <Pagination.First />}\n <div\n className={cx(\n classNames?.paginationWrapper ?? paginationWrapper(),\n 'group',\n )}\n >\n <Pagination.Previous />\n <Pagination.Items />\n <Pagination.Next />\n </div>\n {withEdges && <Pagination.Last />}\n </Pagination.Root>\n </div>\n );\n};\n"],"mappings":"uUAuBA,MAAa,GAAuB,CAClC,YAAY,GACZ,gBACyC,CACzC,GAAM,CAAE,cAAe,GAAqB,CAM5C,OAJK,EAKH,EAAC,MAAA,CAAI,UAAW,GAAY,MAAQ,GAAqB,UACvD,EAAC,EAAW,KAAA,CACV,WAAY,GAAY,WACxB,MAAO,EAAW,UAClB,MAAO,EAAW,YAClB,SAAW,GAAiB,CAC1B,EAAW,SAAU,IAAa,CAChC,GAAG,EACH,UAAW,EAAO,EACnB,EAAE,
|
|
1
|
+
{"version":3,"file":"DataTablePagination.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTablePagination.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n dataTablePagination,\n paginationWrapper,\n} from '@mage-ui/styled-system/recipes';\n\nimport {\n Pagination,\n type PaginationClassNames,\n} from '../../navigations/pagination/Pagination';\nimport { useDataTableContext } from './useDataTableContext';\n\nexport type DataTablePaginationProps = {\n withEdges?: boolean;\n classNames?: {\n root?: string;\n pagination?: PaginationClassNames;\n paginationWrapper?: string;\n };\n};\n\nexport const DataTablePagination = ({\n withEdges = false,\n classNames,\n}: DataTablePaginationProps): ReactNode => {\n const { pagination } = useDataTableContext();\n\n if (!pagination) {\n return null;\n }\n\n return (\n <div className={classNames?.root ?? dataTablePagination()}>\n <Pagination.Root\n classNames={classNames?.pagination}\n total={pagination.pageCount}\n value={pagination.currentPage}\n onChange={(page: number) => {\n pagination.onChange((current) => ({\n ...current,\n pageIndex: page - 1,\n }));\n }}\n >\n {/* TODO: labels for the empty controls */}\n {withEdges && <Pagination.First aria-label='First page' />}\n <div\n className={cx(\n classNames?.paginationWrapper ?? paginationWrapper(),\n 'group',\n )}\n >\n <Pagination.Previous aria-label='Previous page' />\n <Pagination.Items />\n <Pagination.Next aria-label='Next page' />\n </div>\n {withEdges && <Pagination.Last aria-label='Last page' />}\n </Pagination.Root>\n </div>\n );\n};\n"],"mappings":"uUAuBA,MAAa,GAAuB,CAClC,YAAY,GACZ,gBACyC,CACzC,GAAM,CAAE,cAAe,GAAqB,CAM5C,OAJK,EAKH,EAAC,MAAA,CAAI,UAAW,GAAY,MAAQ,GAAqB,UACvD,EAAC,EAAW,KAAA,CACV,WAAY,GAAY,WACxB,MAAO,EAAW,UAClB,MAAO,EAAW,YAClB,SAAW,GAAiB,CAC1B,EAAW,SAAU,IAAa,CAChC,GAAG,EACH,UAAW,EAAO,EACnB,EAAE,YAIJ,GAAa,EAAC,EAAW,MAAA,CAAM,aAAW,aAAA,CAAe,CAC1D,EAAC,MAAA,CACC,UAAW,EACT,GAAY,mBAAqB,GAAmB,CACpD,QACD,WAED,EAAC,EAAW,SAAA,CAAS,aAAW,gBAAA,CAAkB,CAClD,EAAC,EAAW,MAAA,EAAA,CAAQ,CACpB,EAAC,EAAW,KAAA,CAAK,aAAW,YAAA,CAAc,GACtC,CACL,GAAa,EAAC,EAAW,KAAA,CAAK,aAAW,YAAA,CAAc,GACxC,EACd,CA9BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDataTable.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/useDataTable.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react';\nimport type { ColumnDef } from '@tanstack/react-table';\nimport {\n getCoreRowModel,\n getExpandedRowModel,\n useReactTable,\n} from '@tanstack/react-table';\n\nimport type { DataTableExtraColumnConfig, DataTableProps } from './DataTable';\nimport {\n getDataTableExpandColumn,\n getDataTableSelectColumn,\n} from './DataTableColumns';\nimport {\n
|
|
1
|
+
{"version":3,"file":"useDataTable.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/useDataTable.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react';\n\nimport type { ColumnDef } from '@tanstack/react-table';\nimport {\n getCoreRowModel,\n getExpandedRowModel,\n useReactTable,\n} from '@tanstack/react-table';\n\nimport type { DataTableExtraColumnConfig, DataTableProps } from './DataTable';\nimport {\n getDataTableExpandColumn,\n getDataTableSelectColumn,\n} from './DataTableColumns';\nimport {\n type DataTableContextValue,\n DEFAULT_DATA_TABLE_LABELS,\n} from './useDataTableContext';\n\ntype UseDataTableResult<Data> = {\n layout: 'auto' | 'fixed';\n contextValue: DataTableContextValue<Data>;\n table: DataTableContextValue<Data>['table'];\n};\n\ntype PositionedColumn<Data> = {\n column: ColumnDef<Data, unknown>;\n position?: number;\n index: number;\n};\n\nconst resolveColumns = <Data>(\n baseColumns: ColumnDef<Data, unknown>[],\n extraColumns?: DataTableExtraColumnConfig<Data>[],\n): ColumnDef<Data, unknown>[] => {\n if (!extraColumns || extraColumns.length === 0) {\n return baseColumns;\n }\n\n const baseEntries: PositionedColumn<Data>[] = baseColumns.map(\n (column, index) => ({ column, index }),\n );\n\n const extraEntries: PositionedColumn<Data>[] = extraColumns.map(\n ({ column, position }, index) => ({\n column,\n position,\n index: baseColumns.length + index,\n }),\n );\n\n return [...baseEntries, ...extraEntries]\n .sort((left, right) => {\n const leftOrder = left.position ?? left.index;\n const rightOrder = right.position ?? right.index;\n\n if (leftOrder !== rightOrder) {\n return leftOrder - rightOrder;\n }\n\n return left.index - right.index;\n })\n .map(({ column }) => column);\n};\n\nexport const useDataTable = <Data>({\n data,\n columns,\n extraColumns,\n sorting,\n pagination,\n selection,\n expansion,\n loading,\n onRefresh,\n options,\n classNames,\n labels,\n layout: providedLayout,\n}: DataTableProps<Data>): UseDataTableResult<Data> => {\n const layout = providedLayout ?? 'fixed';\n const resolvedLabels = { ...DEFAULT_DATA_TABLE_LABELS, ...labels };\n const isRowDisabled = selection?.isRowDisabled;\n const paginationState = pagination\n ? {\n pageIndex: Math.max(pagination.currentPage - 1, 0),\n pageSize: pagination.pageSize,\n }\n : undefined;\n\n const builtInColumns = useMemo(\n () => [\n ...(expansion\n ? [\n getDataTableExpandColumn<Data>(\n classNames?.expandButton,\n resolvedLabels,\n ),\n ]\n : []),\n ...(selection ? [getDataTableSelectColumn<Data>(resolvedLabels)] : []),\n ],\n [expansion, selection, classNames?.expandButton, resolvedLabels],\n );\n\n const allColumns = useMemo(\n () => [...builtInColumns, ...resolveColumns(columns, extraColumns)],\n [builtInColumns, columns, extraColumns],\n );\n\n const table = useReactTable<Data>({\n data,\n columns: allColumns,\n getCoreRowModel: getCoreRowModel(),\n enableSorting: Boolean(sorting),\n ...(sorting && {\n manualSorting: true,\n onSortingChange: sorting.onChange,\n }),\n ...(pagination && {\n manualPagination: true,\n onPaginationChange: pagination.onChange,\n pageCount: pagination.pageCount,\n ...(pagination.rowCount !== undefined && {\n rowCount: pagination.rowCount,\n }),\n }),\n ...(selection && {\n enableRowSelection: isRowDisabled\n ? (row) => !isRowDisabled(row.original)\n : true,\n onRowSelectionChange: selection.onChange,\n ...(selection.getRowId && {\n getRowId: (row: Data) => selection.getRowId?.(row) ?? '',\n }),\n }),\n ...(expansion && {\n enableExpanding: true,\n getRowCanExpand: () => true,\n getExpandedRowModel: getExpandedRowModel(),\n onExpandedChange: expansion.onChange,\n }),\n ...options,\n state: {\n ...(sorting && { sorting: sorting.state }),\n ...(paginationState && { pagination: paginationState }),\n ...(selection && { rowSelection: selection.state }),\n ...(expansion && { expanded: expansion.state }),\n },\n });\n\n const selectedIds = useMemo(() => {\n return selection\n ? Object.entries(selection.state)\n .filter(([, isSelected]) => isSelected)\n .map(([id]) => id)\n : [];\n }, [selection?.state]);\n\n const refresh = useCallback(() => {\n void onRefresh?.();\n }, [onRefresh]);\n\n const contextValue = useMemo(\n () =>\n ({\n table,\n refresh,\n loading,\n selectedIds,\n labels: resolvedLabels,\n sorting,\n pagination,\n selection,\n expansion,\n }) satisfies DataTableContextValue<Data>,\n [\n table,\n refresh,\n loading,\n selectedIds,\n resolvedLabels,\n sorting,\n pagination,\n selection,\n expansion,\n ],\n );\n\n return {\n layout,\n contextValue,\n table,\n };\n};\n"],"mappings":"2TA+BA,MAAM,GACJ,EACA,IAC+B,CAC/B,GAAI,CAAC,GAAgB,EAAa,SAAW,EAC3C,OAAO,EAGT,IAAM,EAAwC,EAAY,KACvD,EAAQ,KAAW,CAAE,SAAQ,QAAO,EACtC,CAEK,EAAyC,EAAa,KACzD,CAAE,SAAQ,YAAY,KAAW,CAChC,SACA,WACA,MAAO,EAAY,OAAS,EAC7B,EACF,CAED,MAAO,CAAC,GAAG,EAAa,GAAG,EAAa,CACrC,MAAM,EAAM,IAAU,CACrB,IAAM,EAAY,EAAK,UAAY,EAAK,MAClC,EAAa,EAAM,UAAY,EAAM,MAM3C,OAJI,IAAc,EAIX,EAAK,MAAQ,EAAM,MAHjB,EAAY,GAIrB,CACD,KAAK,CAAE,YAAa,EAAO,EAGnB,GAAsB,CACjC,OACA,UACA,eACA,UACA,aACA,YACA,YACA,UACA,YACA,UACA,aACA,SACA,OAAQ,KAC4C,CACpD,IAAM,EAAS,GAAkB,QAC3B,EAAiB,CAAE,GAAG,EAA2B,GAAG,EAAQ,CAC5D,EAAgB,GAAW,cAC3B,EAAkB,EACpB,CACE,UAAW,KAAK,IAAI,EAAW,YAAc,EAAG,EAAE,CAClD,SAAU,EAAW,SACtB,CACD,IAAA,GAEE,EAAiB,MACf,CACJ,GAAI,EACA,CACE,EACE,GAAY,aACZ,EACD,CACF,CACD,EAAE,CACN,GAAI,EAAY,CAAC,EAA+B,EAAe,CAAC,CAAG,EAAE,CACtE,CACD,CAAC,EAAW,EAAW,GAAY,aAAc,EAAe,CACjE,CAOK,EAAQ,EAAoB,CAChC,OACA,QAPiB,MACX,CAAC,GAAG,EAAgB,GAAG,EAAe,EAAS,EAAa,CAAC,CACnE,CAAC,EAAgB,EAAS,EAAa,CACxC,CAKC,gBAAiB,GAAiB,CAClC,cAAe,EAAQ,EACvB,GAAI,GAAW,CACb,cAAe,GACf,gBAAiB,EAAQ,SAC1B,CACD,GAAI,GAAc,CAChB,iBAAkB,GAClB,mBAAoB,EAAW,SAC/B,UAAW,EAAW,UACtB,GAAI,EAAW,WAAa,IAAA,IAAa,CACvC,SAAU,EAAW,SACtB,CACF,CACD,GAAI,GAAa,CACf,mBAAoB,EACf,GAAQ,CAAC,EAAc,EAAI,SAAS,CACrC,GACJ,qBAAsB,EAAU,SAChC,GAAI,EAAU,UAAY,CACxB,SAAW,GAAc,EAAU,WAAW,EAAI,EAAI,GACvD,CACF,CACD,GAAI,GAAa,CACf,gBAAiB,GACjB,oBAAuB,GACvB,oBAAqB,GAAqB,CAC1C,iBAAkB,EAAU,SAC7B,CACD,GAAG,EACH,MAAO,CACL,GAAI,GAAW,CAAE,QAAS,EAAQ,MAAO,CACzC,GAAI,GAAmB,CAAE,WAAY,EAAiB,CACtD,GAAI,GAAa,CAAE,aAAc,EAAU,MAAO,CAClD,GAAI,GAAa,CAAE,SAAU,EAAU,MAAO,CAC/C,CACF,CAAC,CAEI,EAAc,MACX,EACH,OAAO,QAAQ,EAAU,MAAM,CAC5B,QAAQ,EAAG,KAAgB,EAAW,CACtC,KAAK,CAAC,KAAQ,EAAG,CACpB,EAAE,CACL,CAAC,GAAW,MAAM,CAAC,CAEhB,EAAU,MAAkB,CAC3B,KAAa,EACjB,CAAC,EAAU,CAAC,CA4Bf,MAAO,CACL,SACA,aA5BmB,OAEhB,CACC,QACA,UACA,UACA,cACA,OAAQ,EACR,UACA,aACA,YACA,YACD,EACH,CACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACD,CACF,CAKC,QACD"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { DataTableProps } from "./DataTable.mjs";
|
|
2
2
|
import * as react from "react";
|
|
3
|
+
import { ReactNode } from "react";
|
|
3
4
|
import * as _tanstack_react_table0 from "@tanstack/react-table";
|
|
4
5
|
|
|
5
6
|
//#region src/components/data-display/datatables/useDataTableContext.d.ts
|
|
6
7
|
type DataTableLabels = {
|
|
7
8
|
rowsPerPage: string;
|
|
8
|
-
selectedCount: (count:
|
|
9
|
+
selectedCount: (count: ReactNode) => ReactNode;
|
|
9
10
|
sortedAscending: string;
|
|
10
11
|
sortedDescending: string;
|
|
11
12
|
activateToSort: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDataTableContext.d.mts","names":[],"sources":["../../../../src/components/data-display/datatables/useDataTableContext.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDataTableContext.d.mts","names":[],"sources":["../../../../src/components/data-display/datatables/useDataTableContext.ts"],"mappings":";;;;;;KAIY,eAAA;EACV,WAAA;EACA,aAAA,GAAgB,KAAA,EAAO,SAAA,KAAc,SAAA;EACrC,eAAA;EACA,gBAAA;EACA,cAAA;EACA,aAAA;EACA,SAAA,GAAY,KAAA;EACZ,SAAA;EACA,WAAA;EACA,OAAA;AAAA;AAAA,cAGW,yBAAA,EAA2B,eAAA;AAAA,KAa5B,qBAAA;EACV,KAAA,EAAiD,sBAAA,CAAV,KAAA,CAAM,IAAA;EAC7C,OAAA;EACA,WAAA;EACA,MAAA,EAAQ,eAAA;AAAA,IACN,IAAA,CACF,cAAA,CAAe,IAAA;AAAA,cAQJ,mBAAA,cAAgC,qBAAA,CAAsB,IAAA;AAAA,cAYtD,wBAAA,EAAwB,KAAA,CAAA,QAAA,CAAA,qBAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createContext as e,useContext as t}from"react";const n={rowsPerPage:`Rows per page`,selectedCount:e
|
|
1
|
+
import{createContext as e,useContext as t}from"react";const n={rowsPerPage:`Rows per page`,selectedCount:e=>[e,` selected`],sortedAscending:`Sorted ascending`,sortedDescending:`Sorted descending`,activateToSort:`Activate to sort`,selectAllRows:`Select all rows`,selectRow:e=>`Select row ${e}`,expandRow:`Expand row`,collapseRow:`Collapse row`,loading:`Loading`},r=e(null),i=()=>{let e=t(r);if(!e)throw Error(`useDataTableContext must be used within <DataTable> or one of its slots.`);return e},a=r.Provider;export{n as DEFAULT_DATA_TABLE_LABELS,a as DataTableContextProvider,i as useDataTableContext};
|
|
2
2
|
//# sourceMappingURL=useDataTableContext.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDataTableContext.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/useDataTableContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nimport type { DataTableProps } from './DataTable';\n\nexport type DataTableLabels = {\n rowsPerPage: string;\n selectedCount: (count:
|
|
1
|
+
{"version":3,"file":"useDataTableContext.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/useDataTableContext.ts"],"sourcesContent":["import { createContext, type ReactNode, useContext } from 'react';\n\nimport type { DataTableProps } from './DataTable';\n\nexport type DataTableLabels = {\n rowsPerPage: string;\n selectedCount: (count: ReactNode) => ReactNode;\n sortedAscending: string;\n sortedDescending: string;\n activateToSort: string;\n selectAllRows: string;\n selectRow: (index: number) => string;\n expandRow: string;\n collapseRow: string;\n loading: string;\n};\n\nexport const DEFAULT_DATA_TABLE_LABELS: DataTableLabels = {\n rowsPerPage: 'Rows per page',\n selectedCount: (count) => [count, ' selected'],\n sortedAscending: 'Sorted ascending',\n sortedDescending: 'Sorted descending',\n activateToSort: 'Activate to sort',\n selectAllRows: 'Select all rows',\n selectRow: (index) => `Select row ${index}`,\n expandRow: 'Expand row',\n collapseRow: 'Collapse row',\n loading: 'Loading',\n};\n\nexport type DataTableContextValue<Data> = {\n table: import('@tanstack/react-table').Table<Data>;\n refresh: () => void;\n selectedIds: string[];\n labels: DataTableLabels;\n} & Pick<\n DataTableProps<Data>,\n 'loading' | 'sorting' | 'pagination' | 'selection' | 'expansion'\n>;\n\nconst DataTableContext = createContext<DataTableContextValue<unknown> | null>(\n null,\n);\n\nexport const useDataTableContext = <Data>(): DataTableContextValue<Data> => {\n const context = useContext(DataTableContext);\n\n if (!context) {\n throw new Error(\n 'useDataTableContext must be used within <DataTable> or one of its slots.',\n );\n }\n\n return context as DataTableContextValue<Data>;\n};\n\nexport const DataTableContextProvider = DataTableContext.Provider;\n"],"mappings":"sDAiBA,MAAa,EAA6C,CACxD,YAAa,gBACb,cAAgB,GAAU,CAAC,EAAO,YAAY,CAC9C,gBAAiB,mBACjB,iBAAkB,oBAClB,eAAgB,mBAChB,cAAe,kBACf,UAAY,GAAU,cAAc,IACpC,UAAW,aACX,YAAa,eACb,QAAS,UACV,CAYK,EAAmB,EACvB,KACD,CAEY,MAA+D,CAC1E,IAAM,EAAU,EAAW,EAAiB,CAE5C,GAAI,CAAC,EACH,MAAU,MACR,2EACD,CAGH,OAAO,GAGI,EAA2B,EAAiB"}
|
|
@@ -26,7 +26,7 @@ import { IconSvg, IconSvgProps } from "./icons/icon-svg/IconSvg.mjs";
|
|
|
26
26
|
import { IconWrapped, IconWrappedProps } from "./icons/icon-wrapped/IconWrapped.mjs";
|
|
27
27
|
import { Indicator, IndicatorProps } from "./indicator/Indicator.mjs";
|
|
28
28
|
import { BoardData, BoardItem, CardMove, CardRenderProps, ConfigMap, Kanban, KanbanProps } from "./kanban/Kanban.mjs";
|
|
29
|
-
import {
|
|
29
|
+
import { KanbanCardBase, KanbanCardBaseProps } from "./kanban/KanbanCardBase.mjs";
|
|
30
30
|
import { LoaderDot, LoaderDotProps } from "./loader-dot/LoaderDot.mjs";
|
|
31
31
|
import { LoaderOval, LoaderOvalProps } from "./loader-oval/LoaderOval.mjs";
|
|
32
32
|
import { LogoImage, LogoImageProps } from "./logos/logo-image/LogoImage.mjs";
|
|
@@ -2,48 +2,40 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/components/data-display/kanban/Kanban.d.ts
|
|
5
|
-
interface BoardItem {
|
|
5
|
+
interface BoardItem<T extends object = Record<string, unknown>> {
|
|
6
6
|
id: string;
|
|
7
7
|
title: string;
|
|
8
8
|
parentId: string | null;
|
|
9
9
|
children: string[];
|
|
10
|
-
content?:
|
|
11
|
-
description?: string;
|
|
12
|
-
priority?: string;
|
|
13
|
-
assignee?: {
|
|
14
|
-
name: string;
|
|
15
|
-
src?: string;
|
|
16
|
-
alt?: string;
|
|
17
|
-
};
|
|
18
|
-
inTop?: boolean;
|
|
19
|
-
[key: string]: unknown;
|
|
20
|
-
};
|
|
10
|
+
content?: T;
|
|
21
11
|
type?: string | number;
|
|
22
12
|
status?: string;
|
|
23
13
|
totalChildrenCount: number;
|
|
24
14
|
totalItemsCount?: number;
|
|
25
15
|
isDraggable?: boolean;
|
|
26
16
|
}
|
|
27
|
-
interface BoardData {
|
|
28
|
-
root: BoardItem
|
|
29
|
-
[key: string]: BoardItem
|
|
17
|
+
interface BoardData<T extends object = Record<string, unknown>> {
|
|
18
|
+
root: BoardItem<T>;
|
|
19
|
+
[key: string]: BoardItem<T>;
|
|
30
20
|
}
|
|
31
|
-
interface CardRenderProps {
|
|
32
|
-
data: BoardItem
|
|
33
|
-
column: BoardItem
|
|
21
|
+
interface CardRenderProps<T extends object = Record<string, unknown>> {
|
|
22
|
+
data: BoardItem<T>;
|
|
23
|
+
column: BoardItem<T>;
|
|
34
24
|
index: number;
|
|
35
25
|
isDraggable: boolean;
|
|
36
26
|
}
|
|
37
|
-
type ConfigMap = {
|
|
27
|
+
type ConfigMap<T extends object = Record<string, unknown>> = {
|
|
38
28
|
[type: string]: {
|
|
39
|
-
render: (props: CardRenderProps) => ReactNode;
|
|
29
|
+
render: (props: CardRenderProps<T>) => ReactNode;
|
|
40
30
|
isDraggable?: boolean;
|
|
41
31
|
};
|
|
42
32
|
};
|
|
43
|
-
interface KanbanProps {
|
|
44
|
-
dataSource: BoardData
|
|
45
|
-
configMap
|
|
33
|
+
interface KanbanProps<T extends object = Record<string, unknown>> {
|
|
34
|
+
dataSource: BoardData<T>;
|
|
35
|
+
configMap: ConfigMap<T>;
|
|
46
36
|
onCardMove?: (move: CardMove) => void;
|
|
37
|
+
renderColumnFooter?: (column: BoardItem<T>) => ReactNode;
|
|
38
|
+
maxColumnHeight?: string | number;
|
|
47
39
|
classNames?: {
|
|
48
40
|
kanban?: string;
|
|
49
41
|
root?: string;
|
|
@@ -61,12 +53,13 @@ interface CardMove {
|
|
|
61
53
|
taskBelow: string | null;
|
|
62
54
|
position: number;
|
|
63
55
|
}
|
|
64
|
-
declare const Kanban: ({
|
|
56
|
+
declare const Kanban: <T extends object = Record<string, unknown>>({
|
|
65
57
|
dataSource,
|
|
66
58
|
configMap,
|
|
67
59
|
onCardMove,
|
|
60
|
+
renderColumnFooter,
|
|
68
61
|
classNames
|
|
69
|
-
}: KanbanProps) => react_jsx_runtime0.JSX.Element;
|
|
62
|
+
}: KanbanProps<T>) => react_jsx_runtime0.JSX.Element;
|
|
70
63
|
//#endregion
|
|
71
64
|
export { BoardData, BoardItem, CardMove, CardRenderProps, ConfigMap, Kanban, KanbanProps };
|
|
72
65
|
//# sourceMappingURL=Kanban.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Kanban.d.mts","names":[],"sources":["../../../../src/components/data-display/kanban/Kanban.tsx"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"Kanban.d.mts","names":[],"sources":["../../../../src/components/data-display/kanban/Kanban.tsx"],"mappings":";;;;UAgBiB,SAAA,oBAA6B,MAAA;EAC5C,EAAA;EACA,KAAA;EACA,QAAA;EACA,QAAA;EACA,OAAA,GAAU,CAAA;EACV,IAAA;EACA,MAAA;EACA,kBAAA;EACA,eAAA;EACA,WAAA;AAAA;AAAA,UAEe,SAAA,oBAA6B,MAAA;EAC5C,IAAA,EAAM,SAAA,CAAU,CAAA;EAAA,CACf,GAAA,WAAc,SAAA,CAAU,CAAA;AAAA;AAAA,UAEV,eAAA,oBAAmC,MAAA;EAClD,IAAA,EAAM,SAAA,CAAU,CAAA;EAChB,MAAA,EAAQ,SAAA,CAAU,CAAA;EAClB,KAAA;EACA,WAAA;AAAA;AAAA,KAGU,SAAA,oBAA6B,MAAA;EAAA,CACtC,IAAA;IACC,MAAA,GAAS,KAAA,EAAO,eAAA,CAAgB,CAAA,MAAO,SAAA;IACvC,WAAA;EAAA;AAAA;AAAA,UAIa,WAAA,oBAA+B,MAAA;EAC9C,UAAA,EAAY,SAAA,CAAU,CAAA;EACtB,SAAA,EAAW,SAAA,CAAU,CAAA;EACrB,UAAA,IAAc,IAAA,EAAM,QAAA;EACpB,kBAAA,IAAsB,MAAA,EAAQ,SAAA,CAAU,CAAA,MAAO,SAAA;EAC/C,eAAA;EACA,UAAA;IACE,MAAA;IACA,IAAA;IACA,aAAA;IACA,MAAA;IACA,WAAA;IACA,eAAA;EAAA;AAAA;AAAA,UAIa,QAAA;EACf,MAAA;EACA,YAAA;EACA,UAAA;EACA,SAAA;EACA,SAAA;EACA,QAAA;AAAA;AAAA,cAGW,MAAA,sBAA6B,MAAA;EAAyB,UAAA;EAAA,SAAA;EAAA,UAAA;EAAA,kBAAA;EAAA;AAAA,GAMhE,WAAA,CAAY,CAAA,MAAE,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{KanbanCardDragIndicator as e}from"./KanbanCardDragIndicator.mjs";import{KanbanColumnHeader as t}from"./KanbanColumnHeader.mjs";import{cx as n}from"@mage-ui/styled-system/css";import{kanban as r,kanbanCardWrapper as i,kanbanCardWrapperRoot as a,kanbanColumn as o,kanbanRoot as s,kanbanWrapperColumn as c}from"@mage-ui/styled-system/recipes";import{jsx as l}from"react/jsx-runtime";import{useState as u}from"react";import{Kanban as d,dropHandler as f}from"react-kanban-kit";const p=({dataSource:p,configMap:m,onCardMove:h,renderColumnFooter:g,classNames:_})=>{let[v,y]=u(p);return l(d,{dataSource:v,configMap:m,renderColumnHeader:e=>l(t,{column:e}),renderCardDragIndicator:()=>l(e,{}),renderColumnFooter:g,onCardMove:e=>{y(t=>f(e,structuredClone(t),()=>{},e=>({...e,totalChildrenCount:(e.totalChildrenCount||0)+1}),e=>({...e,totalChildrenCount:(e.totalChildrenCount||0)-1}))),h?.(e)},rootClassName:n(_?.kanban??r(),_?.root??s(),`group`),columnWrapperClassName:()=>_?.columnWrapper??c(),columnClassName:()=>_?.column??o(),cardWrapperClassName:n(_?.cardWrapper??i(),_?.cardWrapperRoot??a())})};export{p as Kanban};
|
|
2
2
|
//# sourceMappingURL=Kanban.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Kanban.mjs","names":["Kanban","KanbanKit"],"sources":["../../../../src/components/data-display/kanban/Kanban.tsx"],"sourcesContent":["import { type ReactNode, useState } from 'react';\nimport { dropHandler, Kanban as KanbanKit } from 'react-kanban-kit';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n kanban,\n kanbanCardWrapper,\n kanbanCardWrapperRoot,\n kanbanColumn,\n kanbanRoot,\n kanbanWrapperColumn,\n} from '@mage-ui/styled-system/recipes';\n\nimport {
|
|
1
|
+
{"version":3,"file":"Kanban.mjs","names":["Kanban","KanbanKit"],"sources":["../../../../src/components/data-display/kanban/Kanban.tsx"],"sourcesContent":["import { type ReactNode, useState } from 'react';\nimport { dropHandler, Kanban as KanbanKit } from 'react-kanban-kit';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n kanban,\n kanbanCardWrapper,\n kanbanCardWrapperRoot,\n kanbanColumn,\n kanbanRoot,\n kanbanWrapperColumn,\n} from '@mage-ui/styled-system/recipes';\n\nimport { KanbanCardDragIndicator } from './KanbanCardDragIndicator';\nimport { KanbanColumnHeader } from './KanbanColumnHeader';\n\nexport interface BoardItem<T extends object = Record<string, unknown>> {\n id: string;\n title: string;\n parentId: string | null;\n children: string[];\n content?: T;\n type?: string | number;\n status?: string;\n totalChildrenCount: number;\n totalItemsCount?: number;\n isDraggable?: boolean;\n}\nexport interface BoardData<T extends object = Record<string, unknown>> {\n root: BoardItem<T>;\n [key: string]: BoardItem<T>;\n}\nexport interface CardRenderProps<T extends object = Record<string, unknown>> {\n data: BoardItem<T>;\n column: BoardItem<T>;\n index: number;\n isDraggable: boolean;\n}\n\nexport type ConfigMap<T extends object = Record<string, unknown>> = {\n [type: string]: {\n render: (props: CardRenderProps<T>) => ReactNode;\n isDraggable?: boolean;\n };\n};\n\nexport interface KanbanProps<T extends object = Record<string, unknown>> {\n dataSource: BoardData<T>;\n configMap: ConfigMap<T>;\n onCardMove?: (move: CardMove) => void;\n renderColumnFooter?: (column: BoardItem<T>) => ReactNode;\n maxColumnHeight?: string | number;\n classNames?: {\n kanban?: string;\n root?: string;\n columnWrapper?: string;\n column?: string;\n cardWrapper?: string;\n cardWrapperRoot?: string;\n };\n}\n\nexport interface CardMove {\n cardId: string;\n fromColumnId: string;\n toColumnId: string;\n taskAbove: string | null;\n taskBelow: string | null;\n position: number;\n}\n\nexport const Kanban = <T extends object = Record<string, unknown>>({\n dataSource,\n configMap,\n onCardMove,\n renderColumnFooter,\n classNames,\n}: KanbanProps<T>) => {\n const [board, setBoard] = useState<BoardData<T>>(dataSource);\n\n const handleCardMove = (move: CardMove) => {\n setBoard(\n (prev) =>\n dropHandler(\n move,\n structuredClone(prev),\n () => {},\n (newColumn) => ({\n ...newColumn,\n totalChildrenCount: (newColumn.totalChildrenCount || 0) + 1,\n }),\n (sourceColumn) => ({\n ...sourceColumn,\n totalChildrenCount: (sourceColumn.totalChildrenCount || 0) - 1,\n }),\n ) as BoardData<T>,\n );\n onCardMove?.(move);\n };\n\n return (\n <KanbanKit\n dataSource={board}\n configMap={configMap}\n renderColumnHeader={(column) => <KanbanColumnHeader column={column} />}\n renderCardDragIndicator={() => <KanbanCardDragIndicator />}\n renderColumnFooter={renderColumnFooter}\n onCardMove={handleCardMove}\n rootClassName={cx(\n classNames?.kanban ?? kanban(),\n classNames?.root ?? kanbanRoot(),\n 'group',\n )}\n columnWrapperClassName={() =>\n classNames?.columnWrapper ?? kanbanWrapperColumn()\n }\n columnClassName={() => classNames?.column ?? kanbanColumn()}\n cardWrapperClassName={cx(\n classNames?.cardWrapper ?? kanbanCardWrapper(),\n classNames?.cardWrapperRoot ?? kanbanCardWrapperRoot(),\n )}\n />\n );\n};\n"],"mappings":"+dAuEA,MAAaA,GAAsD,CACjE,aACA,YACA,aACA,qBACA,gBACoB,CACpB,GAAM,CAAC,EAAO,GAAY,EAAuB,EAAW,CAsB5D,OACE,EAACC,EAAAA,CACC,WAAY,EACD,YACX,mBAAqB,GAAW,EAAC,EAAA,CAA2B,SAAA,CAAU,CACtE,4BAA+B,EAAC,EAAA,EAAA,CAA0B,CACtC,qBACpB,WA3BoB,GAAmB,CACzC,EACG,GACC,EACE,EACA,gBAAgB,EAAK,KACf,GACL,IAAe,CACd,GAAG,EACH,oBAAqB,EAAU,oBAAsB,GAAK,EAC3D,EACA,IAAkB,CACjB,GAAG,EACH,oBAAqB,EAAa,oBAAsB,GAAK,EAC9D,EACF,CACJ,CACD,IAAa,EAAK,EAWhB,cAAe,EACb,GAAY,QAAU,GAAQ,CAC9B,GAAY,MAAQ,GAAY,CAChC,QACD,CACD,2BACE,GAAY,eAAiB,GAAqB,CAEpD,oBAAuB,GAAY,QAAU,GAAc,CAC3D,qBAAsB,EACpB,GAAY,aAAe,GAAmB,CAC9C,GAAY,iBAAmB,GAAuB,CACvD,EACD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/components/data-display/kanban/KanbanCardBase.d.ts
|
|
4
|
+
interface KanbanCardBaseProps {
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
classNames?: {
|
|
7
|
+
card?: string;
|
|
8
|
+
cardRoot?: string;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
declare const KanbanCardBase: ({
|
|
12
|
+
children,
|
|
13
|
+
classNames
|
|
14
|
+
}: KanbanCardBaseProps) => react_jsx_runtime0.JSX.Element;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { KanbanCardBase, KanbanCardBaseProps };
|
|
17
|
+
//# sourceMappingURL=KanbanCardBase.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanCardBase.d.mts","names":[],"sources":["../../../../src/components/data-display/kanban/KanbanCardBase.tsx"],"mappings":";;;UAGiB,mBAAA;EACf,QAAA,GAAW,KAAA,CAAM,SAAA;EACjB,UAAA;IACE,IAAA;IACA,QAAA;EAAA;AAAA;AAAA,cAIS,cAAA;EAAkB,QAAA;EAAA;AAAA,GAG5B,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{cx as e}from"@mage-ui/styled-system/css";import{kanbanCard as t,kanbanCardRoot as n}from"@mage-ui/styled-system/recipes";import{jsx as r}from"react/jsx-runtime";const i=({children:i,classNames:a})=>r(`div`,{className:e(a?.card??t(),a?.cardRoot??n()),children:i});export{i as KanbanCardBase};
|
|
2
|
+
//# sourceMappingURL=KanbanCardBase.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanCardBase.mjs","names":[],"sources":["../../../../src/components/data-display/kanban/KanbanCardBase.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport { kanbanCard, kanbanCardRoot } from '@mage-ui/styled-system/recipes';\n\nexport interface KanbanCardBaseProps {\n children?: React.ReactNode;\n classNames?: {\n card?: string;\n cardRoot?: string;\n };\n}\n\nexport const KanbanCardBase = ({\n children,\n classNames,\n}: KanbanCardBaseProps) => {\n return (\n <div\n className={cx(\n classNames?.card ?? kanbanCard(),\n classNames?.cardRoot ?? kanbanCardRoot(),\n )}\n >\n {children}\n </div>\n );\n};\n"],"mappings":"wKAWA,MAAa,GAAkB,CAC7B,WACA,gBAGE,EAAC,MAAA,CACC,UAAW,EACT,GAAY,MAAQ,GAAY,CAChC,GAAY,UAAY,GAAgB,CACzC,CAEA,YACG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KanbanColumnHeader.mjs","names":[],"sources":["../../../../src/components/data-display/kanban/KanbanColumnHeader.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport {\n kanbanColumnHeader,\n kanbanColumnHeaderCount,\n kanbanColumnHeaderRoot,\n kanbanColumnHeaderTitle,\n} from '@mage-ui/styled-system/recipes';\n\nimport type { BoardItem } from './Kanban';\n\nexport interface KanbanColumnHeaderProps {\n column: BoardItem
|
|
1
|
+
{"version":3,"file":"KanbanColumnHeader.mjs","names":[],"sources":["../../../../src/components/data-display/kanban/KanbanColumnHeader.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport {\n kanbanColumnHeader,\n kanbanColumnHeaderCount,\n kanbanColumnHeaderRoot,\n kanbanColumnHeaderTitle,\n} from '@mage-ui/styled-system/recipes';\n\nimport type { BoardItem } from './Kanban';\n\nexport interface KanbanColumnHeaderProps {\n column: Pick<BoardItem, 'id' | 'title' | 'totalChildrenCount'>;\n classNames?: {\n columnHeader?: string;\n columnHeaderRoot?: string;\n columnHeaderTitle?: string;\n columnHeaderCount?: string;\n };\n}\n\nexport const KanbanColumnHeader = ({\n column,\n classNames,\n}: KanbanColumnHeaderProps) => {\n return (\n <div\n className={cx(\n classNames?.columnHeader ?? kanbanColumnHeader(),\n classNames?.columnHeaderRoot ?? kanbanColumnHeaderRoot(),\n )}\n >\n <p className={classNames?.columnHeaderTitle ?? kanbanColumnHeaderTitle()}>\n {column.title}\n </p>\n <span\n className={classNames?.columnHeaderCount ?? kanbanColumnHeaderCount()}\n >\n {column.totalChildrenCount}\n </span>\n </div>\n );\n};\n"],"mappings":"4PAoBA,MAAa,GAAsB,CACjC,SACA,gBAGE,EAAC,MAAA,CACC,UAAW,EACT,GAAY,cAAgB,GAAoB,CAChD,GAAY,kBAAoB,GAAwB,CACzD,WAED,EAAC,IAAA,CAAE,UAAW,GAAY,mBAAqB,GAAyB,UACrE,EAAO,OACN,CACJ,EAAC,OAAA,CACC,UAAW,GAAY,mBAAqB,GAAyB,UAEpE,EAAO,oBACH,CAAA,EACH"}
|
|
@@ -46,7 +46,7 @@ import { IconSvg, IconSvgProps } from "./data-display/icons/icon-svg/IconSvg.mjs
|
|
|
46
46
|
import { IconWrapped, IconWrappedProps } from "./data-display/icons/icon-wrapped/IconWrapped.mjs";
|
|
47
47
|
import { Indicator, IndicatorProps } from "./data-display/indicator/Indicator.mjs";
|
|
48
48
|
import { BoardData, BoardItem, CardMove, CardRenderProps, ConfigMap, Kanban, KanbanProps } from "./data-display/kanban/Kanban.mjs";
|
|
49
|
-
import {
|
|
49
|
+
import { KanbanCardBase, KanbanCardBaseProps } from "./data-display/kanban/KanbanCardBase.mjs";
|
|
50
50
|
import { LoaderDot, LoaderDotProps } from "./data-display/loader-dot/LoaderDot.mjs";
|
|
51
51
|
import { LoaderOval, LoaderOvalProps } from "./data-display/loader-oval/LoaderOval.mjs";
|
|
52
52
|
import { LogoImage, LogoImageProps } from "./data-display/logos/logo-image/LogoImage.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.d.mts","names":[],"sources":["../../../../src/components/navigations/pagination/Pagination.tsx"],"mappings":";;;;;KAWY,oBAAA;EACV,UAAA;EACA,IAAA;EACA,OAAA;EACA,IAAA;AAAA;AAAA,KAGU,mBAAA;EACV,KAAA;EACA,KAAA;EACA,YAAA;EACA,QAAA,IAAY,KAAA;EACZ,QAAA;EACA,QAAA;EACA,UAAA;EACA,SAAA;EACA,YAAA;EACA,SAAA;EACA,eAAA;EACA,UAAA;EACA,cAAA;EACA,WAAA;EACA,UAAA;EACA,YAAA,IAAgB,IAAA,aAAiB,MAAA;EACjC,UAAA,GAAa,oBAAA;EACb,QAAA,GAAW,SAAA;AAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"Pagination.d.mts","names":[],"sources":["../../../../src/components/navigations/pagination/Pagination.tsx"],"mappings":";;;;;KAWY,oBAAA;EACV,UAAA;EACA,IAAA;EACA,OAAA;EACA,IAAA;AAAA;AAAA,KAGU,mBAAA;EACV,KAAA;EACA,KAAA;EACA,YAAA;EACA,QAAA,IAAY,KAAA;EACZ,QAAA;EACA,QAAA;EACA,UAAA;EACA,SAAA;EACA,YAAA;EACA,SAAA;EACA,eAAA;EACA,UAAA;EACA,cAAA;EACA,WAAA;EACA,UAAA;EACA,YAAA,IAAgB,IAAA,aAAiB,MAAA;EACjC,UAAA,GAAa,oBAAA;EACb,QAAA,GAAW,SAAA;AAAA;AAAA,cAqBA,YAAA;;;;KAjB2B,mBAAA,KAAsB,SAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.mjs","names":["MantinePagination","paginationRecipe","Pagination"],"sources":["../../../../src/components/navigations/pagination/Pagination.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n paginationControl,\n paginationDots,\n pagination as paginationRecipe,\n paginationRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { Pagination as MantinePagination } from '@mantine/core';\n\nexport type PaginationClassNames = {\n pagination?: string;\n root?: string;\n control?: string;\n dots?: string;\n};\n\nexport type PaginationRootProps = {\n total: number;\n value?: number;\n defaultValue?: number;\n onChange?: (value: number) => void;\n disabled?: boolean;\n siblings?: number;\n boundaries?: number;\n withEdges?: boolean;\n withControls?: boolean;\n withPages?: boolean;\n hideWithOnePage?: boolean;\n onNextPage?: () => void;\n onPreviousPage?: () => void;\n onFirstPage?: () => void;\n onLastPage?: () => void;\n getItemProps?: (page: number) => Record<string, unknown>;\n classNames?: PaginationClassNames;\n children?: ReactNode;\n};\n\nconst Root = ({ classNames, ...props }: PaginationRootProps): ReactNode => {\n return (\n <MantinePagination.Root\n classNames={{\n root: cx(\n classNames?.pagination ?? paginationRecipe(),\n classNames?.root ?? paginationRoot(),\n ),\n control: classNames?.control ?? paginationControl(),\n dots: classNames?.dots ?? paginationDots(),\n }}\n {...props}\n />\n );\n};\n\nexport const Pagination = {\n Root,\n First: MantinePagination.First,\n Previous: MantinePagination.Previous,\n Next: MantinePagination.Next,\n Last: MantinePagination.Last,\n Items: MantinePagination.Items,\n Control: MantinePagination.Control,\n Dots: MantinePagination.Dots,\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Pagination.mjs","names":["MantinePagination","paginationRecipe","Pagination"],"sources":["../../../../src/components/navigations/pagination/Pagination.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n paginationControl,\n paginationDots,\n pagination as paginationRecipe,\n paginationRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { Pagination as MantinePagination } from '@mantine/core';\n\nexport type PaginationClassNames = {\n pagination?: string;\n root?: string;\n control?: string;\n dots?: string;\n};\n\nexport type PaginationRootProps = {\n total: number;\n value?: number;\n defaultValue?: number;\n onChange?: (value: number) => void;\n disabled?: boolean;\n siblings?: number;\n boundaries?: number;\n withEdges?: boolean;\n withControls?: boolean;\n withPages?: boolean;\n hideWithOnePage?: boolean;\n onNextPage?: () => void;\n onPreviousPage?: () => void;\n onFirstPage?: () => void;\n onLastPage?: () => void;\n getItemProps?: (page: number) => Record<string, unknown>;\n classNames?: PaginationClassNames;\n children?: ReactNode;\n};\n\n// TODO: pagination datatable: buttons; pagination pages <a>\nconst Root = ({ classNames, ...props }: PaginationRootProps): ReactNode => {\n return (\n <MantinePagination.Root\n classNames={{\n root: cx(\n classNames?.pagination ?? paginationRecipe(),\n classNames?.root ?? paginationRoot(),\n ),\n control: classNames?.control ?? paginationControl(),\n dots: classNames?.dots ?? paginationDots(),\n }}\n {...props}\n />\n );\n};\n\n// TODO: semantic markup: nav, ul, li\nexport const Pagination = {\n Root,\n First: MantinePagination.First,\n Previous: MantinePagination.Previous,\n Next: MantinePagination.Next,\n Last: MantinePagination.Last,\n Items: MantinePagination.Items,\n Control: MantinePagination.Control,\n Dots: MantinePagination.Dots,\n};\n"],"mappings":"8PAyDA,MAAaE,EAAa,CACxB,MAlBY,CAAE,aAAY,GAAG,KAE3B,EAACF,EAAkB,KAAA,CACjB,WAAY,CACV,KAAM,EACJ,GAAY,YAAcC,GAAkB,CAC5C,GAAY,MAAQ,GAAgB,CACrC,CACD,QAAS,GAAY,SAAW,GAAmB,CACnD,KAAM,GAAY,MAAQ,GAAgB,CAC3C,CACD,GAAI,GACJ,CAOJ,MAAOD,EAAkB,MACzB,SAAUA,EAAkB,SAC5B,KAAMA,EAAkB,KACxB,KAAMA,EAAkB,KACxB,MAAOA,EAAkB,MACzB,QAASA,EAAkB,QAC3B,KAAMA,EAAkB,KACzB"}
|
package/dist/index.d.mts
CHANGED
|
@@ -44,7 +44,7 @@ import { IconSvg, IconSvgProps } from "./components/data-display/icons/icon-svg/
|
|
|
44
44
|
import { IconWrapped, IconWrappedProps } from "./components/data-display/icons/icon-wrapped/IconWrapped.mjs";
|
|
45
45
|
import { Indicator, IndicatorProps } from "./components/data-display/indicator/Indicator.mjs";
|
|
46
46
|
import { BoardData, BoardItem, CardMove, CardRenderProps, ConfigMap, Kanban, KanbanProps } from "./components/data-display/kanban/Kanban.mjs";
|
|
47
|
-
import {
|
|
47
|
+
import { KanbanCardBase, KanbanCardBaseProps } from "./components/data-display/kanban/KanbanCardBase.mjs";
|
|
48
48
|
import { LoaderDot, LoaderDotProps } from "./components/data-display/loader-dot/LoaderDot.mjs";
|
|
49
49
|
import { LoaderOval, LoaderOvalProps } from "./components/data-display/loader-oval/LoaderOval.mjs";
|
|
50
50
|
import { LogoImage, LogoImageProps } from "./components/data-display/logos/logo-image/LogoImage.mjs";
|
|
@@ -83,4 +83,4 @@ import { Tooltip, TooltipProps } from "./components/overlays/tooltip/Tooltip.mjs
|
|
|
83
83
|
import "./components/index.mjs";
|
|
84
84
|
import { MageUiProvider, MageUiProviderProps } from "./providers/MageUiProvider.mjs";
|
|
85
85
|
import "./providers/index.mjs";
|
|
86
|
-
export { AssignedUser, AssignedUserProps, Autocomplete, AutocompleteProps, Avatar, AvatarProps, Badge, BadgeProps, BoardData, BoardItem, Breadcrumbs, BreadcrumbsBarProps, BreadcrumbsProps, Button, ButtonAction, ButtonActionProps, ButtonIcon, ButtonIconProps, ButtonIconVisual, ButtonIconVisualProps, ButtonLoader, ButtonProps, ButtonVisual, ButtonVisualProps, Calendar, CalendarEvent, CalendarProps, CalendarVariant, Card, CardMove, CardProps, CardRenderProps, Checkbox, CheckboxProps, ColumnDef, Combobox, ComboboxProps, ConfigMap, DEFAULT_DATA_TABLE_LABELS, DataTable, DataTableBottomSlot, DataTableBottomSlotProps, DataTableClassNames, DataTableColumnMeta, DataTableContextProvider, DataTableContextValue, DataTableErrorState, DataTableExpansionConfig, DataTableExtraColumnConfig, DataTableFiltersConfig, DataTableLabels, DataTablePageSize, DataTablePageSizeProps, DataTablePagination, DataTablePaginationConfig, DataTablePaginationProps, DataTableProps, DataTableRecord, DataTableSearchConfig, DataTableSelectionConfig, DataTableSortingConfig, DataTableTableConfig, DataTableTopSlot, DataTableTopSlotProps, DateLocalizer, DatePicker, DatePickerProps, DescriptionList, DescriptionListClassNames, DescriptionListItemProps, DescriptionListProps, Dropzone, DropzoneFiles, DropzoneFilesProps, DropzoneProps, ExpandedState, FileData, FileInput, FileInputMultiple, FileInputMultipleProps, FileInputProps, FluidGrid, FluidGridProps, Form, FormProps, Grid, GridClassNames, HorizontalDivider, HorizontalDividerProps, Icon, IconProps, IconRaw, IconRawProps, IconSvg, IconSvgProps, IconWrapped, IconWrappedProps, Indicator, IndicatorProps, Kanban,
|
|
86
|
+
export { AssignedUser, AssignedUserProps, Autocomplete, AutocompleteProps, Avatar, AvatarProps, Badge, BadgeProps, BoardData, BoardItem, Breadcrumbs, BreadcrumbsBarProps, BreadcrumbsProps, Button, ButtonAction, ButtonActionProps, ButtonIcon, ButtonIconProps, ButtonIconVisual, ButtonIconVisualProps, ButtonLoader, ButtonProps, ButtonVisual, ButtonVisualProps, Calendar, CalendarEvent, CalendarProps, CalendarVariant, Card, CardMove, CardProps, CardRenderProps, Checkbox, CheckboxProps, ColumnDef, Combobox, ComboboxProps, ConfigMap, DEFAULT_DATA_TABLE_LABELS, DataTable, DataTableBottomSlot, DataTableBottomSlotProps, DataTableClassNames, DataTableColumnMeta, DataTableContextProvider, DataTableContextValue, DataTableErrorState, DataTableExpansionConfig, DataTableExtraColumnConfig, DataTableFiltersConfig, DataTableLabels, DataTablePageSize, DataTablePageSizeProps, DataTablePagination, DataTablePaginationConfig, DataTablePaginationProps, DataTableProps, DataTableRecord, DataTableSearchConfig, DataTableSelectionConfig, DataTableSortingConfig, DataTableTableConfig, DataTableTopSlot, DataTableTopSlotProps, DateLocalizer, DatePicker, DatePickerProps, DescriptionList, DescriptionListClassNames, DescriptionListItemProps, DescriptionListProps, Dropzone, DropzoneFiles, DropzoneFilesProps, DropzoneProps, ExpandedState, FileData, FileInput, FileInputMultiple, FileInputMultipleProps, FileInputProps, FluidGrid, FluidGridProps, Form, FormProps, Grid, GridClassNames, HorizontalDivider, HorizontalDividerProps, Icon, IconProps, IconRaw, IconRawProps, IconSvg, IconSvgProps, IconWrapped, IconWrappedProps, Indicator, IndicatorProps, Kanban, KanbanCardBase, KanbanCardBaseProps, KanbanProps, LoaderDot, LoaderDotProps, LoaderOval, LoaderOvalProps, LogoImage, LogoImageProps, LogoSvg, LogoSvgProps, MageUiProvider, MageUiProviderProps, Menu, MenuProps, Modal, ModalClassNames, ModalIntent, ModalProps, ModalRegistry, ModalRegistryEntry, ModalRootProps, Modals, NotificationBanner, NotificationBannerIntent, NotificationBannerProps, PASSWORD_RULES, Pagination, PaginationClassNames, PaginationRootProps, PaginationState, PasswordInput, PasswordInputProps, PasswordRule, PasswordRuleDefinition, PasswordSegment, PasswordStrengthInput, PasswordStrengthInputProps, Radio, RadioProps, RemovableItem, RemovableItemProps, RowSelectionState, ScrollArea, ScrollAreaAutosize, ScrollAreaAutosizeProps, ScrollAreaClassNames, ScrollAreaProps, Select, SelectProps, Sidebar, SidebarClassNames, SidebarProps, SortingState, Table, TableBodyProps, TableCaptionProps, TableCellProps, TableClassNames, TableFootProps, TableHeadProps, TableHeaderCellProps, TableProps, TableRowProps, Tag, TagGroup, TagGroupProps, TagProps, TextInput, TextInputProps, Textarea, TextareaProps, Toast, ToastOptions, ToastProviderProps, Tooltip, TooltipProps, UploadedFile, UploadedFileDetails, UploadedFileDetailsProps, UploadedFileProps, Virtual, VirtualItem, VirtualPadding, VirtualProps, VisuallyHidden, VisuallyHiddenProps, momentLocalizer, useDataTableContext, usePasswordRules, z };
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Button as e}from"./components/buttons/button/Button.mjs";import{VisuallyHidden as t}from"./components/misc/visually-hidden/VisuallyHidden.mjs";import{ButtonAction as n}from"./components/buttons/button-action/ButtonAction.mjs";import{ButtonLoader as r}from"./components/buttons/button-action/ButtonLoader.mjs";import{AssignedUser as i}from"./components/data-display/assigned-user/AssignedUser.mjs";import{Avatar as a}from"./components/data-display/avatar/Avatar.mjs";import{Badge as o}from"./components/data-display/badge/Badge.mjs";import{Calendar as s,momentLocalizer as c}from"./components/data-display/calendar/Calendar.mjs";import{Virtual as l}from"./components/misc/virtual/Virtual.mjs";import{ScrollArea as u}from"./components/misc/scroll-area/ScrollArea.mjs";import{Table as d}from"./components/data-display/table/Table.mjs";import{DEFAULT_DATA_TABLE_LABELS as
|
|
1
|
+
import{Button as e}from"./components/buttons/button/Button.mjs";import{VisuallyHidden as t}from"./components/misc/visually-hidden/VisuallyHidden.mjs";import{ButtonAction as n}from"./components/buttons/button-action/ButtonAction.mjs";import{ButtonLoader as r}from"./components/buttons/button-action/ButtonLoader.mjs";import{AssignedUser as i}from"./components/data-display/assigned-user/AssignedUser.mjs";import{Avatar as a}from"./components/data-display/avatar/Avatar.mjs";import{Badge as o}from"./components/data-display/badge/Badge.mjs";import{Calendar as s,momentLocalizer as c}from"./components/data-display/calendar/Calendar.mjs";import{Virtual as l}from"./components/misc/virtual/Virtual.mjs";import{ScrollArea as u}from"./components/misc/scroll-area/ScrollArea.mjs";import{Table as d}from"./components/data-display/table/Table.mjs";import{IconRaw as f}from"./components/data-display/icons/icon-raw/IconRaw.mjs";import{Icon as p}from"./components/data-display/icons/icon/Icon.mjs";import{DEFAULT_DATA_TABLE_LABELS as m,DataTableContextProvider as h,useDataTableContext as g}from"./components/data-display/datatables/useDataTableContext.mjs";import{Checkbox as _}from"./components/controls/checkbox/Checkbox.mjs";import{DataTable as v}from"./components/data-display/datatables/DataTable.mjs";import{HorizontalDivider as y}from"./components/misc/horizontal-divider/HorizontalDivider.mjs";import{ScrollAreaAutosize as b}from"./components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs";import{TextInput as x}from"./components/controls/text-input/TextInput.mjs";import{IconWrapped as S}from"./components/data-display/icons/icon-wrapped/IconWrapped.mjs";import{Select as C}from"./components/controls/dropdown/select/Select.mjs";import{DataTablePageSize as w}from"./components/data-display/datatables/DataTablePageSize.mjs";import{Pagination as T}from"./components/navigations/pagination/Pagination.mjs";import{DataTablePagination as E}from"./components/data-display/datatables/DataTablePagination.mjs";import{DataTableBottomSlot as D}from"./components/data-display/datatables/DataTableBottomSlot.mjs";import{DataTableErrorState as O}from"./components/data-display/datatables/DataTableErrorState.mjs";import{DataTableTopSlot as k}from"./components/data-display/datatables/DataTableTopSlot.mjs";import{DescriptionList as A}from"./components/data-display/description-list/DescriptionList.mjs";import{IconSvg as j}from"./components/data-display/icons/icon-svg/IconSvg.mjs";import{Indicator as M}from"./components/data-display/indicator/Indicator.mjs";import{Kanban as N}from"./components/data-display/kanban/Kanban.mjs";import{KanbanCardBase as P}from"./components/data-display/kanban/KanbanCardBase.mjs";import{LoaderDot as F}from"./components/data-display/loader-dot/LoaderDot.mjs";import{LoaderOval as I}from"./components/data-display/loader-oval/LoaderOval.mjs";import{LogoImage as L}from"./components/data-display/logos/logo-image/LogoImage.mjs";import{LogoSvg as R}from"./components/data-display/logos/logo-svg/LogoSvg.mjs";import{NotificationBanner as z}from"./components/data-display/notification-banner/NotificationBanner.mjs";import{RemovableItem as B}from"./components/data-display/removable-item/RemovableItem.mjs";import{TagGroup as V}from"./components/data-display/tag-group/TagGroup.mjs";import{Tag as H}from"./components/data-display/tag/Tag.mjs";import{UploadedFile as U}from"./components/data-display/uploaded-file/UploadedFile.mjs";import{UploadedFileDetails as W}from"./components/data-display/uploaded-file/UploadedFileDetails.mjs";import{ButtonIcon as G}from"./components/buttons/button-icon/ButtonIcon.mjs";import{ButtonIconVisual as K}from"./components/buttons/button-icon-visual/ButtonIconVisual.mjs";import{ButtonVisual as q}from"./components/buttons/button-visual/ButtonVisual.mjs";import{DatePicker as J}from"./components/controls/date-picker/DatePicker.mjs";import{Autocomplete as Y}from"./components/controls/dropdown/autocomplete/Autocomplete.mjs";import{Combobox as X}from"./components/controls/dropdown/combobox/Combobox.mjs";import{Dropzone as Z}from"./components/controls/dropzone/Dropzone.mjs";import{DropzoneFiles as Q}from"./components/controls/dropzone-files/DropzoneFiles.mjs";import{FileInput as $}from"./components/controls/file-input/FileInput.mjs";import{FileInputMultiple as ee}from"./components/controls/file-input/FileInputMultiple.mjs";import{PasswordInput as te}from"./components/controls/password-input/PasswordInput.mjs";import{PasswordStrengthInput as ne}from"./components/controls/password-input/PasswordStrengthInput.mjs";import{usePasswordRules as re}from"./components/controls/password-input/usePasswordRules.mjs";import{Radio as ie}from"./components/controls/radio/Radio.mjs";import{Textarea as ae}from"./components/controls/textarea/Textarea.mjs";import{PASSWORD_RULES as oe}from"./components/forms/rules/password-rules.mjs";import{z as se}from"./components/forms/rules/zod.mjs";import{Form as ce}from"./components/forms/Form.mjs";import{Card as le}from"./components/layouts/card/Card.mjs";import{FluidGrid as ue}from"./components/layouts/fluid-grid/FluidGrid.mjs";import{Grid as de}from"./components/layouts/grid/Grid.mjs";import{Breadcrumbs as fe}from"./components/navigations/breadcrumbs/Breadcrumbs.mjs";import{Menu as pe}from"./components/navigations/menu/Menu.mjs";import{Modal as me}from"./components/overlays/modal/Modal.mjs";import{Modals as he}from"./components/overlays/modal/index.mjs";import{Toast as ge}from"./components/overlays/toast/toast.mjs";import{Tooltip as _e}from"./components/overlays/tooltip/Tooltip.mjs";import{Sidebar as ve}from"./components/navigations/sidebars/sidebar/Sidebar.mjs";import{MageUiProvider as ye}from"./providers/MageUiProvider.mjs";export{i as AssignedUser,Y as Autocomplete,a as Avatar,o as Badge,fe as Breadcrumbs,e as Button,n as ButtonAction,G as ButtonIcon,K as ButtonIconVisual,r as ButtonLoader,q as ButtonVisual,s as Calendar,le as Card,_ as Checkbox,X as Combobox,m as DEFAULT_DATA_TABLE_LABELS,v as DataTable,D as DataTableBottomSlot,h as DataTableContextProvider,O as DataTableErrorState,w as DataTablePageSize,E as DataTablePagination,k as DataTableTopSlot,J as DatePicker,A as DescriptionList,Z as Dropzone,Q as DropzoneFiles,$ as FileInput,ee as FileInputMultiple,ue as FluidGrid,ce as Form,de as Grid,y as HorizontalDivider,p as Icon,f as IconRaw,j as IconSvg,S as IconWrapped,M as Indicator,N as Kanban,P as KanbanCardBase,F as LoaderDot,I as LoaderOval,L as LogoImage,R as LogoSvg,ye as MageUiProvider,pe as Menu,me as Modal,he as Modals,z as NotificationBanner,oe as PASSWORD_RULES,T as Pagination,te as PasswordInput,ne as PasswordStrengthInput,ie as Radio,B as RemovableItem,u as ScrollArea,b as ScrollAreaAutosize,C as Select,ve as Sidebar,d as Table,H as Tag,V as TagGroup,x as TextInput,ae as Textarea,ge as Toast,_e as Tooltip,U as UploadedFile,W as UploadedFileDetails,l as Virtual,t as VisuallyHidden,c as momentLocalizer,g as useDataTableContext,re as usePasswordRules,se as z};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mage-ui/components",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.76",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"keywords": [],
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"rimraf": "^6.1.3",
|
|
26
26
|
"tsdown": "^0.20.3",
|
|
27
27
|
"typescript": "^5.9.3",
|
|
28
|
-
"@mage-ui/
|
|
29
|
-
"@mage-ui/
|
|
28
|
+
"@mage-ui/preset": "1.0.76",
|
|
29
|
+
"@mage-ui/styled-system": "1.0.8"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"@ebay/nice-modal-react": "^1.2.13",
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { AvatarProps } from "../avatar/Avatar.mjs";
|
|
2
|
-
import { BadgeProps } from "../badge/Badge.mjs";
|
|
3
|
-
import { BoardItem } from "./Kanban.mjs";
|
|
4
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
|
-
|
|
6
|
-
//#region src/components/data-display/kanban/KanbanCard.d.ts
|
|
7
|
-
interface KanbanCardProps {
|
|
8
|
-
data: BoardItem;
|
|
9
|
-
classNames?: {
|
|
10
|
-
card?: string;
|
|
11
|
-
cardRoot?: string;
|
|
12
|
-
cardTitle?: string;
|
|
13
|
-
cardDescription?: string;
|
|
14
|
-
cardSection?: string;
|
|
15
|
-
avatar?: AvatarProps['classNames'];
|
|
16
|
-
badge?: BadgeProps['classNames'];
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
declare const KanbanCard: ({
|
|
20
|
-
data,
|
|
21
|
-
classNames
|
|
22
|
-
}: KanbanCardProps) => react_jsx_runtime0.JSX.Element;
|
|
23
|
-
//#endregion
|
|
24
|
-
export { KanbanCard, KanbanCardProps };
|
|
25
|
-
//# sourceMappingURL=KanbanCard.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KanbanCard.d.mts","names":[],"sources":["../../../../src/components/data-display/kanban/KanbanCard.tsx"],"mappings":";;;;;;UAsBiB,eAAA;EACf,IAAA,EAAM,SAAA;EACN,UAAA;IACE,IAAA;IACA,QAAA;IACA,SAAA;IACA,eAAA;IACA,WAAA;IACA,MAAA,GAAS,WAAA;IACT,KAAA,GAAQ,UAAA;EAAA;AAAA;AAAA,cAIC,UAAA;EAAc,IAAA;EAAA;AAAA,GAAsB,eAAA,KAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Avatar as e}from"../avatar/Avatar.mjs";import{Badge as t}from"../badge/Badge.mjs";import{getPriorityColor as n}from"./kanbanUtils.mjs";import{cx as r}from"@mage-ui/styled-system/css";import{kanbanCard as i,kanbanCardAvatar as a,kanbanCardAvatarImage as o,kanbanCardAvatarPlaceholder as s,kanbanCardAvatarRoot as c,kanbanCardBadge as l,kanbanCardBadgeLabel as u,kanbanCardBadgeRoot as d,kanbanCardBadgeSection as f,kanbanCardDescription as p,kanbanCardRoot as m,kanbanCardSection as h,kanbanCardTitle as g}from"@mage-ui/styled-system/recipes";import{jsx as _,jsxs as v}from"react/jsx-runtime";const y=({data:y,classNames:b})=>v(`div`,{className:r(b?.card??i(),b?.cardRoot??m()),children:[_(`p`,{className:r(b?.cardTitle??g()),children:y.title}),y.content?.description&&_(`p`,{className:r(b?.cardDescription??p()),children:y.content.description}),v(`div`,{className:b?.cardSection??h(),children:[y.content?.assignee?.name&&_(e,{name:y.content?.assignee?.name,src:y.content?.assignee?.src,alt:y.content?.assignee?.alt,classNames:{avatar:b?.avatar?.avatar??a(),root:b?.avatar?.root??c(),image:b?.avatar?.image??o(),placeholder:b?.avatar?.placeholder??s()}}),y.content?.priority&&_(t,{classNames:{badge:b?.badge?.badge??l(),root:b?.badge?.root??d({priority:n(y.content?.priority)}),section:b?.badge?.section??f(),label:b?.badge?.label??u()},children:y.content?.priority})]})]});export{y as KanbanCard};
|
|
2
|
-
//# sourceMappingURL=KanbanCard.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KanbanCard.mjs","names":[],"sources":["../../../../src/components/data-display/kanban/KanbanCard.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport {\n kanbanCard,\n kanbanCardAvatar,\n kanbanCardAvatarImage,\n kanbanCardAvatarPlaceholder,\n kanbanCardAvatarRoot,\n kanbanCardBadge,\n kanbanCardBadgeLabel,\n kanbanCardBadgeRoot,\n kanbanCardBadgeSection,\n kanbanCardDescription,\n kanbanCardRoot,\n kanbanCardSection,\n kanbanCardTitle,\n} from '@mage-ui/styled-system/recipes';\n\nimport { Avatar, type AvatarProps } from '../avatar/Avatar';\nimport { Badge, type BadgeProps } from '../badge/Badge';\nimport type { BoardItem } from './Kanban';\nimport { getPriorityColor } from './kanbanUtils';\n\nexport interface KanbanCardProps {\n data: BoardItem;\n classNames?: {\n card?: string;\n cardRoot?: string;\n cardTitle?: string;\n cardDescription?: string;\n cardSection?: string;\n avatar?: AvatarProps['classNames'];\n badge?: BadgeProps['classNames'];\n };\n}\n\nexport const KanbanCard = ({ data, classNames }: KanbanCardProps) => {\n return (\n <div\n className={cx(\n classNames?.card ?? kanbanCard(),\n classNames?.cardRoot ?? kanbanCardRoot(),\n )}\n >\n <p className={cx(classNames?.cardTitle ?? kanbanCardTitle())}>\n {data.title}\n </p>\n {data.content?.description && (\n <p\n className={cx(classNames?.cardDescription ?? kanbanCardDescription())}\n >\n {data.content.description}\n </p>\n )}\n <div className={classNames?.cardSection ?? kanbanCardSection()}>\n {data.content?.assignee?.name && (\n <Avatar\n name={data.content?.assignee?.name}\n src={data.content?.assignee?.src}\n alt={data.content?.assignee?.alt}\n classNames={{\n avatar: classNames?.avatar?.avatar ?? kanbanCardAvatar(),\n root: classNames?.avatar?.root ?? kanbanCardAvatarRoot(),\n image: classNames?.avatar?.image ?? kanbanCardAvatarImage(),\n placeholder:\n classNames?.avatar?.placeholder ??\n kanbanCardAvatarPlaceholder(),\n }}\n />\n )}\n {data.content?.priority && (\n <Badge\n classNames={{\n badge: classNames?.badge?.badge ?? kanbanCardBadge(),\n root:\n classNames?.badge?.root ??\n kanbanCardBadgeRoot({\n priority: getPriorityColor(data.content?.priority),\n }),\n section: classNames?.badge?.section ?? kanbanCardBadgeSection(),\n label: classNames?.badge?.label ?? kanbanCardBadgeLabel(),\n }}\n >\n {data.content?.priority}\n </Badge>\n )}\n </div>\n </div>\n );\n};\n"],"mappings":"ulBAmCA,MAAa,GAAc,CAAE,OAAM,gBAE/B,EAAC,MAAA,CACC,UAAW,EACT,GAAY,MAAQ,GAAY,CAChC,GAAY,UAAY,GAAgB,CACzC,WAED,EAAC,IAAA,CAAE,UAAW,EAAG,GAAY,WAAa,GAAiB,CAAC,UACzD,EAAK,OACJ,CACH,EAAK,SAAS,aACb,EAAC,IAAA,CACC,UAAW,EAAG,GAAY,iBAAmB,GAAuB,CAAC,UAEpE,EAAK,QAAQ,aACZ,CAEN,EAAC,MAAA,CAAI,UAAW,GAAY,aAAe,GAAmB,WAC3D,EAAK,SAAS,UAAU,MACvB,EAAC,EAAA,CACC,KAAM,EAAK,SAAS,UAAU,KAC9B,IAAK,EAAK,SAAS,UAAU,IAC7B,IAAK,EAAK,SAAS,UAAU,IAC7B,WAAY,CACV,OAAQ,GAAY,QAAQ,QAAU,GAAkB,CACxD,KAAM,GAAY,QAAQ,MAAQ,GAAsB,CACxD,MAAO,GAAY,QAAQ,OAAS,GAAuB,CAC3D,YACE,GAAY,QAAQ,aACpB,GAA6B,CAChC,EACD,CAEH,EAAK,SAAS,UACb,EAAC,EAAA,CACC,WAAY,CACV,MAAO,GAAY,OAAO,OAAS,GAAiB,CACpD,KACE,GAAY,OAAO,MACnB,EAAoB,CAClB,SAAU,EAAiB,EAAK,SAAS,SAAS,CACnD,CAAC,CACJ,QAAS,GAAY,OAAO,SAAW,GAAwB,CAC/D,MAAO,GAAY,OAAO,OAAS,GAAsB,CAC1D,UAEA,EAAK,SAAS,UACT,CAAA,EAEN,GACF"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Button as e}from"../../buttons/button/Button.mjs";import{TextInput as t}from"../../controls/text-input/TextInput.mjs";import{addCard as n,removeCardPlaceholder as r}from"./kanbanUtils.mjs";import{cx as i}from"@mage-ui/styled-system/css";import{kanbanCardAdder as a,kanbanCardAdderButtonAdd as o,kanbanCardAdderButtonAddInner as s,kanbanCardAdderButtonAddLabel as c,kanbanCardAdderButtonAddRoot as l,kanbanCardAdderButtonAddSection as u,kanbanCardAdderButtonCancel as d,kanbanCardAdderButtonCancelInner as f,kanbanCardAdderButtonCancelLabel as p,kanbanCardAdderButtonCancelRoot as m,kanbanCardAdderButtonCancelSection as h,kanbanCardAdderButtonWrapper as g,kanbanCardAdderRoot as _,kanbanCardAdderTextInput as v,kanbanCardAdderTextInputDescription as y,kanbanCardAdderTextInputError as b,kanbanCardAdderTextInputInput as x,kanbanCardAdderTextInputLabel as S,kanbanCardAdderTextInputRequired as C,kanbanCardAdderTextInputRoot as w,kanbanCardAdderTextInputSection as T,kanbanCardAdderTextInputWrapper as E}from"@mage-ui/styled-system/recipes";import{jsx as D,jsxs as O}from"react/jsx-runtime";import{useState as k}from"react";import{visuallyHidden as A}from"@mage-ui/styled-system/patterns";const j=({columnId:j,dataSource:M,setDataSource:N,inTop:P,inputLabel:F=`Task Title`,inputPlaceholder:I=`Enter task title`,addLabel:L=`Add Task`,cancelLabel:R=`Cancel`,classNames:z})=>{let[B,V]=k(``),H=e=>{N(r(e,M))},U=(e,t)=>{t.trim()&&N(n(e,M,t,P))};return O(`div`,{className:i(z?.cardAdder??a(),z?.root??_()),children:[D(t,{label:F,value:B,onChange:e=>V(e.currentTarget.value),placeholder:I,onKeyDown:e=>{e.key===`Enter`?U(j,B):e.key===`Escape`&&H(j)},classNames:{textInput:z?.textInput??v(),root:z?.root??w(),label:z?.label??i(S(),A()),description:z?.description??y(),error:z?.error??b(),wrapper:z?.wrapper??E(),input:z?.input??x(),section:z?.section??T(),required:z?.required??C()}}),O(`div`,{className:z?.buttonWrapper??g(),children:[D(e,{type:`button`,onClick:()=>H(j),classNames:{button:z?.cancelButton?.button??d(),root:z?.cancelButton?.root??m(),inner:z?.cancelButton?.inner??f(),label:z?.cancelButton?.label??p(),section:z?.cancelButton?.section??h()},children:R}),D(e,{type:`button`,onClick:()=>U(j,B),classNames:{button:z?.addButton?.button??o(),root:z?.addButton?.root??l(),inner:z?.addButton?.inner??s(),label:z?.addButton?.label??c(),section:z?.addButton?.section??u()},children:L})]})]})};export{j as KanbanCardAdder};
|
|
2
|
-
//# sourceMappingURL=KanbanCardAdder.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KanbanCardAdder.mjs","names":[],"sources":["../../../../src/components/data-display/kanban/KanbanCardAdder.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { visuallyHidden } from '@mage-ui/styled-system/patterns';\nimport {\n kanbanCardAdder,\n kanbanCardAdderButtonAdd,\n kanbanCardAdderButtonAddInner,\n kanbanCardAdderButtonAddLabel,\n kanbanCardAdderButtonAddRoot,\n kanbanCardAdderButtonAddSection,\n kanbanCardAdderButtonCancel,\n kanbanCardAdderButtonCancelInner,\n kanbanCardAdderButtonCancelLabel,\n kanbanCardAdderButtonCancelRoot,\n kanbanCardAdderButtonCancelSection,\n kanbanCardAdderButtonWrapper,\n kanbanCardAdderRoot,\n kanbanCardAdderTextInput,\n kanbanCardAdderTextInputDescription,\n kanbanCardAdderTextInputError,\n kanbanCardAdderTextInputInput,\n kanbanCardAdderTextInputLabel,\n kanbanCardAdderTextInputRequired,\n kanbanCardAdderTextInputRoot,\n kanbanCardAdderTextInputSection,\n kanbanCardAdderTextInputWrapper,\n} from '@mage-ui/styled-system/recipes';\n\nimport { Button, type ButtonProps } from '../../buttons/button/Button';\nimport {\n TextInput,\n type TextInputProps,\n} from '../../controls/text-input/TextInput';\nimport type { BoardData } from './Kanban';\nimport { addCard, removeCardPlaceholder } from './kanbanUtils';\n\nexport interface KanbanCardAdderProps {\n columnId: string;\n dataSource: BoardData;\n setDataSource: (dataSource: BoardData) => void;\n inTop: boolean;\n inputLabel?: string;\n inputPlaceholder?: string;\n addLabel?: string;\n cancelLabel?: string;\n classNames?: Omit<NonNullable<TextInputProps['classNames']>, 'textInput'> & {\n cardAdder?: string;\n textInput?: string;\n buttonWrapper?: string;\n addButton?: ButtonProps['classNames'];\n cancelButton?: ButtonProps['classNames'];\n };\n}\n\nexport const KanbanCardAdder = ({\n columnId,\n dataSource,\n setDataSource,\n inTop,\n inputLabel = 'Task Title',\n inputPlaceholder = 'Enter task title',\n addLabel = 'Add Task',\n cancelLabel = 'Cancel',\n classNames,\n}: KanbanCardAdderProps) => {\n const [newCardTitle, setNewCardTitle] = useState('');\n\n const removeCardPlaceholderHandler = (id: string) => {\n setDataSource(removeCardPlaceholder(id, dataSource));\n };\n\n const addCardHandler = (id: string, title: string) => {\n if (!title.trim()) return;\n setDataSource(addCard(id, dataSource, title, inTop));\n };\n\n return (\n <div\n className={cx(\n classNames?.cardAdder ?? kanbanCardAdder(),\n classNames?.root ?? kanbanCardAdderRoot(),\n )}\n >\n <TextInput\n label={inputLabel}\n value={newCardTitle}\n onChange={(e) => setNewCardTitle(e.currentTarget.value)}\n placeholder={inputPlaceholder}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n addCardHandler(columnId, newCardTitle);\n } else if (e.key === 'Escape') {\n removeCardPlaceholderHandler(columnId);\n }\n }}\n classNames={{\n textInput: classNames?.textInput ?? kanbanCardAdderTextInput(),\n root: classNames?.root ?? kanbanCardAdderTextInputRoot(),\n label:\n classNames?.label ??\n cx(kanbanCardAdderTextInputLabel(), visuallyHidden()),\n description:\n classNames?.description ?? kanbanCardAdderTextInputDescription(),\n error: classNames?.error ?? kanbanCardAdderTextInputError(),\n wrapper: classNames?.wrapper ?? kanbanCardAdderTextInputWrapper(),\n input: classNames?.input ?? kanbanCardAdderTextInputInput(),\n section: classNames?.section ?? kanbanCardAdderTextInputSection(),\n required: classNames?.required ?? kanbanCardAdderTextInputRequired(),\n }}\n />\n <div\n className={classNames?.buttonWrapper ?? kanbanCardAdderButtonWrapper()}\n >\n <Button\n type='button'\n onClick={() => removeCardPlaceholderHandler(columnId)}\n classNames={{\n button:\n classNames?.cancelButton?.button ?? kanbanCardAdderButtonCancel(),\n root:\n classNames?.cancelButton?.root ??\n kanbanCardAdderButtonCancelRoot(),\n inner:\n classNames?.cancelButton?.inner ??\n kanbanCardAdderButtonCancelInner(),\n label:\n classNames?.cancelButton?.label ??\n kanbanCardAdderButtonCancelLabel(),\n section:\n classNames?.cancelButton?.section ??\n kanbanCardAdderButtonCancelSection(),\n }}\n >\n {cancelLabel}\n </Button>\n <Button\n type='button'\n onClick={() => addCardHandler(columnId, newCardTitle)}\n classNames={{\n button: classNames?.addButton?.button ?? kanbanCardAdderButtonAdd(),\n root: classNames?.addButton?.root ?? kanbanCardAdderButtonAddRoot(),\n inner:\n classNames?.addButton?.inner ?? kanbanCardAdderButtonAddInner(),\n label:\n classNames?.addButton?.label ?? kanbanCardAdderButtonAddLabel(),\n section:\n classNames?.addButton?.section ??\n kanbanCardAdderButtonAddSection(),\n }}\n >\n {addLabel}\n </Button>\n </div>\n </div>\n );\n};\n"],"mappings":"2qCAuDA,MAAa,GAAmB,CAC9B,WACA,aACA,gBACA,QACA,aAAa,aACb,mBAAmB,mBACnB,WAAW,WACX,cAAc,SACd,gBAC0B,CAC1B,GAAM,CAAC,EAAc,GAAmB,EAAS,GAAG,CAE9C,EAAgC,GAAe,CACnD,EAAc,EAAsB,EAAI,EAAW,CAAC,EAGhD,GAAkB,EAAY,IAAkB,CAC/C,EAAM,MAAM,EACjB,EAAc,EAAQ,EAAI,EAAY,EAAO,EAAM,CAAC,EAGtD,OACE,EAAC,MAAA,CACC,UAAW,EACT,GAAY,WAAa,GAAiB,CAC1C,GAAY,MAAQ,GAAqB,CAC1C,WAED,EAAC,EAAA,CACC,MAAO,EACP,MAAO,EACP,SAAW,GAAM,EAAgB,EAAE,cAAc,MAAM,CACvD,YAAa,EACb,UAAY,GAAM,CACZ,EAAE,MAAQ,QACZ,EAAe,EAAU,EAAa,CAC7B,EAAE,MAAQ,UACnB,EAA6B,EAAS,EAG1C,WAAY,CACV,UAAW,GAAY,WAAa,GAA0B,CAC9D,KAAM,GAAY,MAAQ,GAA8B,CACxD,MACE,GAAY,OACZ,EAAG,GAA+B,CAAE,GAAgB,CAAC,CACvD,YACE,GAAY,aAAe,GAAqC,CAClE,MAAO,GAAY,OAAS,GAA+B,CAC3D,QAAS,GAAY,SAAW,GAAiC,CACjE,MAAO,GAAY,OAAS,GAA+B,CAC3D,QAAS,GAAY,SAAW,GAAiC,CACjE,SAAU,GAAY,UAAY,GAAkC,CACrE,EACD,CACF,EAAC,MAAA,CACC,UAAW,GAAY,eAAiB,GAA8B,WAEtE,EAAC,EAAA,CACC,KAAK,SACL,YAAe,EAA6B,EAAS,CACrD,WAAY,CACV,OACE,GAAY,cAAc,QAAU,GAA6B,CACnE,KACE,GAAY,cAAc,MAC1B,GAAiC,CACnC,MACE,GAAY,cAAc,OAC1B,GAAkC,CACpC,MACE,GAAY,cAAc,OAC1B,GAAkC,CACpC,QACE,GAAY,cAAc,SAC1B,GAAoC,CACvC,UAEA,GACM,CACT,EAAC,EAAA,CACC,KAAK,SACL,YAAe,EAAe,EAAU,EAAa,CACrD,WAAY,CACV,OAAQ,GAAY,WAAW,QAAU,GAA0B,CACnE,KAAM,GAAY,WAAW,MAAQ,GAA8B,CACnE,MACE,GAAY,WAAW,OAAS,GAA+B,CACjE,MACE,GAAY,WAAW,OAAS,GAA+B,CACjE,QACE,GAAY,WAAW,SACvB,GAAiC,CACpC,UAEA,GACM,CAAA,EACL,CAAA,EACF"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{ButtonIcon as e}from"../../buttons/button-icon/ButtonIcon.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{kanbanListFooter as n,kanbanListFooterButtonIcon as r,kanbanListFooterButtonIconIcon as i,kanbanListFooterButtonIconIconRaw as a,kanbanListFooterButtonIconIconRawRoot as o,kanbanListFooterButtonIconRoot as s,kanbanListFooterRoot as c}from"@mage-ui/styled-system/recipes";import{jsx as l}from"react/jsx-runtime";const u=({onAddTask:u,buttonText:d=`Add task`,classNames:f})=>l(`div`,{className:t(f?.listFooter??n(),f?.listFooterRoot??c()),children:l(e,{onClick:u,label:d,name:`plus`,path:`/icons/sprite-theme.svg`,classNames:{buttonIcon:f?.buttonIcon?.buttonIcon??r(),root:f?.buttonIcon?.root??s(),icon:f?.buttonIcon?.icon??i(),iconRaw:{iconRaw:f?.buttonIcon?.iconRaw?.iconRaw??a(),root:f?.buttonIcon?.iconRaw?.root??o()}}})});export{u as KanbanListFooter};
|
|
2
|
-
//# sourceMappingURL=KanbanListFooter.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KanbanListFooter.mjs","names":[],"sources":["../../../../src/components/data-display/kanban/KanbanListFooter.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport {\n kanbanListFooter,\n kanbanListFooterButtonIcon,\n kanbanListFooterButtonIconIcon,\n kanbanListFooterButtonIconIconRaw,\n kanbanListFooterButtonIconIconRawRoot,\n kanbanListFooterButtonIconRoot,\n kanbanListFooterRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { ButtonIcon } from '@/components/buttons';\n\nexport interface KanbanListFooterProps {\n onAddTask?: () => void;\n buttonText?: string;\n classNames?: {\n listFooter?: string;\n listFooterRoot?: string;\n buttonIcon?: {\n buttonIcon?: string;\n root?: string;\n icon?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n };\n}\n\nexport const KanbanListFooter = ({\n onAddTask,\n buttonText = 'Add task',\n classNames,\n}: KanbanListFooterProps) => {\n return (\n <div\n className={cx(\n classNames?.listFooter ?? kanbanListFooter(),\n classNames?.listFooterRoot ?? kanbanListFooterRoot(),\n )}\n >\n <ButtonIcon\n onClick={onAddTask}\n label={buttonText}\n name='plus'\n path='/icons/sprite-theme.svg'\n classNames={{\n buttonIcon:\n classNames?.buttonIcon?.buttonIcon ?? kanbanListFooterButtonIcon(),\n root:\n classNames?.buttonIcon?.root ?? kanbanListFooterButtonIconRoot(),\n icon:\n classNames?.buttonIcon?.icon ?? kanbanListFooterButtonIconIcon(),\n iconRaw: {\n iconRaw:\n classNames?.buttonIcon?.iconRaw?.iconRaw ??\n kanbanListFooterButtonIconIconRaw(),\n root:\n classNames?.buttonIcon?.iconRaw?.root ??\n kanbanListFooterButtonIconIconRawRoot(),\n },\n }}\n />\n </div>\n );\n};\n"],"mappings":"obA8BA,MAAa,GAAoB,CAC/B,YACA,aAAa,WACb,gBAGE,EAAC,MAAA,CACC,UAAW,EACT,GAAY,YAAc,GAAkB,CAC5C,GAAY,gBAAkB,GAAsB,CACrD,UAED,EAAC,EAAA,CACC,QAAS,EACT,MAAO,EACP,KAAK,OACL,KAAK,0BACL,WAAY,CACV,WACE,GAAY,YAAY,YAAc,GAA4B,CACpE,KACE,GAAY,YAAY,MAAQ,GAAgC,CAClE,KACE,GAAY,YAAY,MAAQ,GAAgC,CAClE,QAAS,CACP,QACE,GAAY,YAAY,SAAS,SACjC,GAAmC,CACrC,KACE,GAAY,YAAY,SAAS,MACjC,GAAuC,CAC1C,CACF,EACD,EACE"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=e=>`add-card-${e}`,t=(t,n,r=!0)=>{let i=e(t);return n[t].children.includes(i)?n:{...n,[t]:{...n[t],totalChildrenCount:n[t].totalChildrenCount+1,children:r?[i,...n[t].children]:[...n[t].children,i]},[i]:{id:i,title:`Add card`,parentId:t,children:[],totalChildrenCount:0,type:`new-card`,isDraggable:!1,content:{inTop:r,id:i}}}},n=(t,n)=>{let r=e(t),i={...n};return delete i[r],{...i,[t]:{...n[t],totalChildrenCount:n[t].totalChildrenCount-1,children:n[t].children.filter(e=>e!==r)}}},r=(e,t,r,i=!0)=>{let a=`card-${crypto.randomUUID()}`,o=n(e,t);return{...o,[e]:{...o[e],totalChildrenCount:o[e].totalChildrenCount+1,children:i?[a,...o[e].children]:[...o[e].children,a]},[a]:{id:a,title:r,parentId:e,children:[],totalChildrenCount:0,type:`card`}}},i=e=>e;export{r as addCard,t as addCardPlaceholder,e as getAddCardPlaceholderKey,i as getPriorityColor,n as removeCardPlaceholder};
|
|
2
|
-
//# sourceMappingURL=kanbanUtils.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kanbanUtils.mjs","names":[],"sources":["../../../../src/components/data-display/kanban/kanbanUtils.ts"],"sourcesContent":["import type { KanbanCardBadgeRootVariantProps } from '@mage-ui/styled-system/recipes';\n\nimport type { BoardData } from './Kanban';\n\nexport type KanbanPriorityColor = NonNullable<\n KanbanCardBadgeRootVariantProps['priority']\n>;\n\nexport const getAddCardPlaceholderKey = (columnId: string) =>\n `add-card-${columnId}`;\n\nexport const addCardPlaceholder = (\n columnId: string,\n dataSource: BoardData,\n inTop = true,\n): BoardData => {\n const placeholderKey = getAddCardPlaceholderKey(columnId);\n const alreadyExists = dataSource[columnId].children.includes(placeholderKey);\n\n if (alreadyExists) return dataSource;\n\n return {\n ...dataSource,\n [columnId]: {\n ...dataSource[columnId],\n totalChildrenCount: dataSource[columnId].totalChildrenCount + 1,\n children: inTop\n ? [placeholderKey, ...dataSource[columnId].children]\n : [...dataSource[columnId].children, placeholderKey],\n },\n [placeholderKey]: {\n id: placeholderKey,\n title: 'Add card',\n parentId: columnId,\n children: [],\n totalChildrenCount: 0,\n type: 'new-card',\n isDraggable: false,\n content: {\n inTop,\n id: placeholderKey,\n },\n },\n } as BoardData;\n};\n\nexport const removeCardPlaceholder = (\n columnId: string,\n dataSource: BoardData,\n): BoardData => {\n const placeholderKey = getAddCardPlaceholderKey(columnId);\n const updated = { ...dataSource };\n delete updated[placeholderKey];\n return {\n ...updated,\n [columnId]: {\n ...dataSource[columnId],\n totalChildrenCount: dataSource[columnId].totalChildrenCount - 1,\n children: dataSource[columnId].children.filter(\n (id) => id !== placeholderKey,\n ),\n },\n };\n};\n\nexport const addCard = (\n columnId: string,\n dataSource: BoardData,\n title: string,\n inTop = true,\n): BoardData => {\n const newCardId = `card-${crypto.randomUUID()}`;\n const withoutPlaceholder = removeCardPlaceholder(columnId, dataSource);\n\n return {\n ...withoutPlaceholder,\n [columnId]: {\n ...withoutPlaceholder[columnId],\n totalChildrenCount: withoutPlaceholder[columnId].totalChildrenCount + 1,\n children: inTop\n ? [newCardId, ...withoutPlaceholder[columnId].children]\n : [...withoutPlaceholder[columnId].children, newCardId],\n },\n [newCardId]: {\n id: newCardId,\n title,\n parentId: columnId,\n children: [],\n totalChildrenCount: 0,\n type: 'card',\n },\n } as BoardData;\n};\n\nexport const getPriorityColor = (priority?: string) =>\n priority as KanbanPriorityColor;\n"],"mappings":"AAQA,MAAa,EAA4B,GACvC,YAAY,IAED,GACX,EACA,EACA,EAAQ,KACM,CACd,IAAM,EAAiB,EAAyB,EAAS,CAKzD,OAJsB,EAAW,GAAU,SAAS,SAAS,EAAe,CAElD,EAEnB,CACL,GAAG,GACF,GAAW,CACV,GAAG,EAAW,GACd,mBAAoB,EAAW,GAAU,mBAAqB,EAC9D,SAAU,EACN,CAAC,EAAgB,GAAG,EAAW,GAAU,SAAS,CAClD,CAAC,GAAG,EAAW,GAAU,SAAU,EAAe,CACvD,EACA,GAAiB,CAChB,GAAI,EACJ,MAAO,WACP,SAAU,EACV,SAAU,EAAE,CACZ,mBAAoB,EACpB,KAAM,WACN,YAAa,GACb,QAAS,CACP,QACA,GAAI,EACL,CACF,CACF,EAGU,GACX,EACA,IACc,CACd,IAAM,EAAiB,EAAyB,EAAS,CACnD,EAAU,CAAE,GAAG,EAAY,CAEjC,OADA,OAAO,EAAQ,GACR,CACL,GAAG,GACF,GAAW,CACV,GAAG,EAAW,GACd,mBAAoB,EAAW,GAAU,mBAAqB,EAC9D,SAAU,EAAW,GAAU,SAAS,OACrC,GAAO,IAAO,EAChB,CACF,CACF,EAGU,GACX,EACA,EACA,EACA,EAAQ,KACM,CACd,IAAM,EAAY,QAAQ,OAAO,YAAY,GACvC,EAAqB,EAAsB,EAAU,EAAW,CAEtE,MAAO,CACL,GAAG,GACF,GAAW,CACV,GAAG,EAAmB,GACtB,mBAAoB,EAAmB,GAAU,mBAAqB,EACtE,SAAU,EACN,CAAC,EAAW,GAAG,EAAmB,GAAU,SAAS,CACrD,CAAC,GAAG,EAAmB,GAAU,SAAU,EAAU,CAC1D,EACA,GAAY,CACX,GAAI,EACJ,QACA,SAAU,EACV,SAAU,EAAE,CACZ,mBAAoB,EACpB,KAAM,OACP,CACF,EAGU,EAAoB,GAC/B"}
|