@cratis/components 4.20.0 → 4.21.1
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/MIGRATION.md +3 -3
- package/compat-manifest.json +11 -11
- package/dist/esm/Chat/ChatConversation.d.ts +8 -1
- package/dist/esm/Chat/ChatConversation.d.ts.map +1 -1
- package/dist/esm/Chat/ChatConversation.js +2 -2
- package/dist/esm/Chat/ChatConversation.js.map +1 -1
- package/dist/esm/Chat/ChatSidebar.d.ts +9 -2
- package/dist/esm/Chat/ChatSidebar.d.ts.map +1 -1
- package/dist/esm/Chat/ChatSidebar.js +2 -2
- package/dist/esm/Chat/ChatSidebar.js.map +1 -1
- package/dist/esm/Common/ActionMenubar.d.ts.map +1 -1
- package/dist/esm/Common/ActionMenubar.js +11 -6
- package/dist/esm/Common/ActionMenubar.js.map +1 -1
- package/dist/esm/Common/ToolbarFocusMode.d.ts +9 -1
- package/dist/esm/Common/ToolbarFocusMode.d.ts.map +1 -1
- package/dist/esm/Common/ToolbarFocusMode.js +1 -0
- package/dist/esm/Common/ToolbarFocusMode.js.map +1 -1
- package/dist/esm/Common/ToolbarRovingContext.d.ts +39 -0
- package/dist/esm/Common/ToolbarRovingContext.d.ts.map +1 -0
- package/dist/esm/Common/ToolbarRovingContext.js +40 -0
- package/dist/esm/Common/ToolbarRovingContext.js.map +1 -0
- package/dist/esm/Common/useToolbarKeyboardNavigation.d.ts +2 -0
- package/dist/esm/Common/useToolbarKeyboardNavigation.d.ts.map +1 -1
- package/dist/esm/Common/useToolbarKeyboardNavigation.js +164 -15
- package/dist/esm/Common/useToolbarKeyboardNavigation.js.map +1 -1
- package/dist/esm/DataTables/DataTableBody.d.ts +22 -0
- package/dist/esm/DataTables/DataTableBody.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableBody.js +10 -0
- package/dist/esm/DataTables/DataTableBody.js.map +1 -0
- package/dist/esm/DataTables/DataTableCore.d.ts +25 -47
- package/dist/esm/DataTables/DataTableCore.d.ts.map +1 -1
- package/dist/esm/DataTables/DataTableCore.js +50 -273
- package/dist/esm/DataTables/DataTableCore.js.map +1 -1
- package/dist/esm/DataTables/DataTableHeaderCell.d.ts +25 -0
- package/dist/esm/DataTables/DataTableHeaderCell.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableHeaderCell.js +26 -0
- package/dist/esm/DataTables/DataTableHeaderCell.js.map +1 -0
- package/dist/esm/DataTables/DataTableMessageOverrides.d.ts +12 -0
- package/dist/esm/DataTables/DataTableMessageOverrides.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableMessageOverrides.js +4 -0
- package/dist/esm/DataTables/DataTableMessageOverrides.js.map +1 -0
- package/dist/esm/DataTables/DataTableMessages.d.ts +12 -0
- package/dist/esm/DataTables/DataTableMessages.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableMessages.js +4 -0
- package/dist/esm/DataTables/DataTableMessages.js.map +1 -0
- package/dist/esm/DataTables/DataTableParts.d.ts +40 -0
- package/dist/esm/DataTables/DataTableParts.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableParts.js +4 -0
- package/dist/esm/DataTables/DataTableParts.js.map +1 -0
- package/dist/esm/DataTables/DataTableRow.d.ts +22 -0
- package/dist/esm/DataTables/DataTableRow.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableRow.js +25 -0
- package/dist/esm/DataTables/DataTableRow.js.map +1 -0
- package/dist/esm/DataTables/DataTableRowClickEvent.d.ts +8 -0
- package/dist/esm/DataTables/DataTableRowClickEvent.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableRowClickEvent.js +4 -0
- package/dist/esm/DataTables/DataTableRowClickEvent.js.map +1 -0
- package/dist/esm/DataTables/DataTableRowProcessing.d.ts +11 -0
- package/dist/esm/DataTables/DataTableRowProcessing.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableRowProcessing.js +8 -0
- package/dist/esm/DataTables/DataTableRowProcessing.js.map +1 -0
- package/dist/esm/DataTables/DataTableSearch.d.ts +13 -0
- package/dist/esm/DataTables/DataTableSearch.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableSearch.js +7 -0
- package/dist/esm/DataTables/DataTableSearch.js.map +1 -0
- package/dist/esm/DataTables/DataTableSort.d.ts +9 -0
- package/dist/esm/DataTables/DataTableSort.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableSort.js +4 -0
- package/dist/esm/DataTables/DataTableSort.js.map +1 -0
- package/dist/esm/DataTables/DataTableSortDirection.d.ts +8 -0
- package/dist/esm/DataTables/DataTableSortDirection.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableSortDirection.js +8 -0
- package/dist/esm/DataTables/DataTableSortDirection.js.map +1 -0
- package/dist/esm/DataTables/DataTableState.d.ts +18 -0
- package/dist/esm/DataTables/DataTableState.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableState.js +4 -0
- package/dist/esm/DataTables/DataTableState.js.map +1 -0
- package/dist/esm/DataTables/DataTableStateProps.d.ts +20 -0
- package/dist/esm/DataTables/DataTableStateProps.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableStateProps.js +4 -0
- package/dist/esm/DataTables/DataTableStateProps.js.map +1 -0
- package/dist/esm/DataTables/ProcessedRow.d.ts +8 -0
- package/dist/esm/DataTables/ProcessedRow.d.ts.map +1 -0
- package/dist/esm/DataTables/ProcessedRow.js +4 -0
- package/dist/esm/DataTables/ProcessedRow.js.map +1 -0
- package/dist/esm/DataTables/RowProcessingState.d.ts +17 -0
- package/dist/esm/DataTables/RowProcessingState.d.ts.map +1 -0
- package/dist/esm/DataTables/RowProcessingState.js +4 -0
- package/dist/esm/DataTables/RowProcessingState.js.map +1 -0
- package/dist/esm/DataTables/RowSelection.d.ts +19 -0
- package/dist/esm/DataTables/RowSelection.d.ts.map +1 -0
- package/dist/esm/DataTables/RowSelection.js +4 -0
- package/dist/esm/DataTables/RowSelection.js.map +1 -0
- package/dist/esm/DataTables/RowSelectionSource.d.ts +16 -0
- package/dist/esm/DataTables/RowSelectionSource.d.ts.map +1 -0
- package/dist/esm/DataTables/RowSelectionSource.js +4 -0
- package/dist/esm/DataTables/RowSelectionSource.js.map +1 -0
- package/dist/esm/DataTables/classNames.d.ts +7 -0
- package/dist/esm/DataTables/classNames.d.ts.map +1 -0
- package/dist/esm/DataTables/classNames.js +4 -0
- package/dist/esm/DataTables/classNames.js.map +1 -0
- package/dist/esm/DataTables/index.d.ts +3 -0
- package/dist/esm/DataTables/index.d.ts.map +1 -1
- package/dist/esm/DataTables/index.js +2 -0
- package/dist/esm/DataTables/index.js.map +1 -1
- package/dist/esm/DataTables/matchesFilterEntry.d.ts +15 -0
- package/dist/esm/DataTables/matchesFilterEntry.d.ts.map +1 -0
- package/dist/esm/DataTables/matchesFilterEntry.js +70 -0
- package/dist/esm/DataTables/matchesFilterEntry.js.map +1 -0
- package/dist/esm/DataTables/processRows.d.ts +10 -0
- package/dist/esm/DataTables/processRows.d.ts.map +1 -0
- package/dist/esm/DataTables/processRows.js +42 -0
- package/dist/esm/DataTables/processRows.js.map +1 -0
- package/dist/esm/DataTables/useControllableState.d.ts +10 -0
- package/dist/esm/DataTables/useControllableState.d.ts.map +1 -0
- package/dist/esm/DataTables/useControllableState.js +15 -0
- package/dist/esm/DataTables/useControllableState.js.map +1 -0
- package/dist/esm/DataTables/useDataTableMessages.d.ts +9 -0
- package/dist/esm/DataTables/useDataTableMessages.d.ts.map +1 -0
- package/dist/esm/DataTables/useDataTableMessages.js +33 -0
- package/dist/esm/DataTables/useDataTableMessages.js.map +1 -0
- package/dist/esm/DataTables/useDataTableState.d.ts +10 -0
- package/dist/esm/DataTables/useDataTableState.d.ts.map +1 -0
- package/dist/esm/DataTables/useDataTableState.js +19 -0
- package/dist/esm/DataTables/useDataTableState.js.map +1 -0
- package/dist/esm/DataTables/useRowSelection.d.ts +9 -0
- package/dist/esm/DataTables/useRowSelection.d.ts.map +1 -0
- package/dist/esm/DataTables/useRowSelection.js +87 -0
- package/dist/esm/DataTables/useRowSelection.js.map +1 -0
- package/dist/esm/DataTables/valueAtPath.d.ts +10 -0
- package/dist/esm/DataTables/valueAtPath.d.ts.map +1 -0
- package/dist/esm/DataTables/valueAtPath.js +18 -0
- package/dist/esm/DataTables/valueAtPath.js.map +1 -0
- package/dist/esm/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/esm/Toolbar/Toolbar.js +3 -2
- package/dist/esm/Toolbar/Toolbar.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarButton.d.ts.map +1 -1
- package/dist/esm/Toolbar/ToolbarButton.js +4 -2
- package/dist/esm/Toolbar/ToolbarButton.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarFanOutItem.d.ts.map +1 -1
- package/dist/esm/Toolbar/ToolbarFanOutItem.js +10 -2
- package/dist/esm/Toolbar/ToolbarFanOutItem.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarFolder.d.ts.map +1 -1
- package/dist/esm/Toolbar/ToolbarFolder.js +10 -2
- package/dist/esm/Toolbar/ToolbarFolder.js.map +1 -1
- package/package.json +5 -2
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { ColumnFilterMenu } from './ColumnFilterMenu.js';
|
|
3
|
+
import { classNames } from './classNames.js';
|
|
4
|
+
import { DataTableSortDirection } from './DataTableSortDirection.js';
|
|
5
|
+
import { firstConstraint } from './matchesFilterEntry.js';
|
|
6
|
+
|
|
7
|
+
const DataTableHeaderCell = ({ column, parts: pt, sort, onSort, filters, updateFilter, resolvedSelectionAriaLabel, resolvedSelectAllAriaLabel, allFilteredRowsSelected, selectAllRef, toggleSelectAll, sortAscendingIcon, sortDescendingIcon, }) => {
|
|
8
|
+
const field = column.props.filterField ?? column.props.field;
|
|
9
|
+
const ariaSort = sort && sort.field === column.props.field ? sort.direction : undefined;
|
|
10
|
+
return (jsx("th", { ...pt?.headerCell, scope: 'col', "aria-label": column.props.selectionMode ? resolvedSelectionAriaLabel : undefined, "aria-sort": ariaSort, style: {
|
|
11
|
+
...pt?.headerCell?.style,
|
|
12
|
+
...column.props.style,
|
|
13
|
+
...column.props.headerStyle,
|
|
14
|
+
}, className: classNames('cratis-datatable__header-cell', pt?.headerCell?.className, column.props.headerClassName), "data-cratis-part": 'header-cell', "data-selected": Boolean(ariaSort) || undefined, children: jsxs("div", { className: 'cratis-datatable-header-cell', "data-cratis-part": 'header-content', "data-selected": Boolean(ariaSort) || undefined, children: [column.props.selectionMode === 'multiple' ? (jsx("input", { type: 'checkbox', "aria-label": resolvedSelectAllAriaLabel, "data-cratis-part": 'select-all', checked: allFilteredRowsSelected, ref: selectAllRef, onChange: toggleSelectAll })) : (column.props.selectionMode && (jsx("span", { className: 'cratis-datatable__sr-only', children: resolvedSelectionAriaLabel }))), column.props.sortable && column.props.field ? (jsxs("button", { type: 'button', className: 'cratis-datatable__sort', "data-cratis-part": 'sort', "data-pressed": Boolean(ariaSort) || undefined, onClick: () => onSort({
|
|
15
|
+
field: column.props.field,
|
|
16
|
+
direction: sort?.field === column.props.field &&
|
|
17
|
+
sort?.direction === DataTableSortDirection.Ascending
|
|
18
|
+
? DataTableSortDirection.Descending
|
|
19
|
+
: DataTableSortDirection.Ascending,
|
|
20
|
+
}), children: [jsx("span", { children: column.props.header }), ariaSort && (jsx("span", { "aria-hidden": 'true', children: ariaSort === 'ascending'
|
|
21
|
+
? sortAscendingIcon
|
|
22
|
+
: sortDescendingIcon }))] })) : (column.props.header), column.props.filter && field && (jsx(ColumnFilterMenu, { field: field, dataType: column.props.dataType, placeholder: column.props.filterPlaceholder, showMatchModes: column.props.showFilterMatchModes, filterElement: column.props.filterElement, filterOptions: column.props.filterOptions, labels: column.props.filterLabels, pt: column.props.filterPt, constraint: firstConstraint(filters[field]), onApply: (constraint) => updateFilter(field, constraint), onClear: () => updateFilter(field, undefined) }))] }) }));
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { DataTableHeaderCell };
|
|
26
|
+
//# sourceMappingURL=DataTableHeaderCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableHeaderCell.js","sources":["../../../DataTables/DataTableHeaderCell.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { ReactElement, ReactNode, RefObject } from 'react';\nimport type { ColumnProps } from './Column';\nimport { ColumnFilterMenu } from './ColumnFilterMenu';\nimport { classNames } from './classNames';\nimport type {\n DataTableFilterConstraint,\n DataTableFilterMeta,\n} from './DataTableFilterMeta';\nimport type { DataTableParts } from './DataTableParts';\nimport type { DataTableSort } from './DataTableSort';\nimport { DataTableSortDirection } from './DataTableSortDirection';\nimport { firstConstraint } from './matchesFilterEntry';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/** Props for {@link DataTableHeaderCell}. */\nexport interface DataTableHeaderCellProps {\n column: ReactElement<ColumnProps<any>>;\n /** The table's part attributes. */\n parts?: DataTableParts;\n sort: DataTableSort | null;\n onSort: (sort: DataTableSort) => void;\n filters: DataTableFilterMeta;\n updateFilter: (\n field: string,\n constraint: DataTableFilterConstraint | undefined,\n ) => void;\n resolvedSelectionAriaLabel: string;\n resolvedSelectAllAriaLabel: string;\n allFilteredRowsSelected: boolean;\n selectAllRef: RefObject<HTMLInputElement | null>;\n toggleSelectAll: () => void;\n sortAscendingIcon: ReactNode;\n sortDescendingIcon: ReactNode;\n}\n\n/** One column header: its label, sort control, filter menu, and select-all or selection label. */\nexport const DataTableHeaderCell = ({\n column,\n parts: pt,\n sort,\n onSort,\n filters,\n updateFilter,\n resolvedSelectionAriaLabel,\n resolvedSelectAllAriaLabel,\n allFilteredRowsSelected,\n selectAllRef,\n toggleSelectAll,\n sortAscendingIcon,\n sortDescendingIcon,\n}: DataTableHeaderCellProps) => {\n const field = column.props.filterField ?? column.props.field;\n const ariaSort =\n sort && sort.field === column.props.field ? sort.direction : undefined;\n return (\n <th\n {...pt?.headerCell}\n scope='col'\n aria-label={\n column.props.selectionMode ? resolvedSelectionAriaLabel : undefined\n }\n aria-sort={ariaSort}\n style={{\n ...pt?.headerCell?.style,\n ...column.props.style,\n ...column.props.headerStyle,\n }}\n className={classNames(\n 'cratis-datatable__header-cell',\n pt?.headerCell?.className,\n column.props.headerClassName,\n )}\n data-cratis-part='header-cell'\n data-selected={Boolean(ariaSort) || undefined}\n >\n <div\n className='cratis-datatable-header-cell'\n data-cratis-part='header-content'\n data-selected={Boolean(ariaSort) || undefined}\n >\n {column.props.selectionMode === 'multiple' ? (\n <input\n type='checkbox'\n aria-label={resolvedSelectAllAriaLabel}\n data-cratis-part='select-all'\n checked={allFilteredRowsSelected}\n ref={selectAllRef}\n onChange={toggleSelectAll}\n />\n ) : (\n column.props.selectionMode && (\n <span className='cratis-datatable__sr-only'>\n {resolvedSelectionAriaLabel}\n </span>\n )\n )}\n {column.props.sortable && column.props.field ? (\n <button\n type='button'\n className='cratis-datatable__sort'\n data-cratis-part='sort'\n data-pressed={Boolean(ariaSort) || undefined}\n onClick={() =>\n onSort({\n field: column.props.field as string,\n direction:\n sort?.field === column.props.field &&\n sort?.direction === DataTableSortDirection.Ascending\n ? DataTableSortDirection.Descending\n : DataTableSortDirection.Ascending,\n })\n }\n >\n <span>{column.props.header}</span>\n {ariaSort && (\n <span aria-hidden='true'>\n {ariaSort === 'ascending'\n ? sortAscendingIcon\n : sortDescendingIcon}\n </span>\n )}\n </button>\n ) : (\n column.props.header\n )}\n {column.props.filter && field && (\n <ColumnFilterMenu\n field={field}\n dataType={column.props.dataType}\n placeholder={column.props.filterPlaceholder}\n showMatchModes={column.props.showFilterMatchModes}\n filterElement={column.props.filterElement}\n filterOptions={column.props.filterOptions}\n labels={column.props.filterLabels}\n pt={column.props.filterPt}\n constraint={firstConstraint(filters[field])}\n onApply={(constraint) => updateFilter(field, constraint)}\n onClear={() => updateFilter(field, undefined)}\n />\n )}\n </div>\n </th>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;AAwCO,MAAM,mBAAmB,GAAG,CAAC,EAChC,MAAM,EACN,KAAK,EAAE,EAAE,EACT,IAAI,EACJ,MAAM,EACN,OAAO,EACP,YAAY,EACZ,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACK,KAAI;AAC3B,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK;IAC5D,MAAM,QAAQ,GACV,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,SAAS;IAC1E,QACIA,GAAA,CAAA,IAAA,EAAA,EAAA,GACQ,EAAE,EAAE,UAAU,EAClB,KAAK,EAAC,KAAK,EAAA,YAAA,EAEP,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,0BAA0B,GAAG,SAAS,EAAA,WAAA,EAE5D,QAAQ,EACnB,KAAK,EAAE;AACH,YAAA,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK;AACxB,YAAA,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK;AACrB,YAAA,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW;AAC9B,SAAA,EACD,SAAS,EAAE,UAAU,CACjB,+BAA+B,EAC/B,EAAE,EAAE,UAAU,EAAE,SAAS,EACzB,MAAM,CAAC,KAAK,CAAC,eAAe,CAC/B,EAAA,kBAAA,EACgB,aAAa,EAAA,eAAA,EACf,OAAO,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAA,QAAA,EAE7CC,IAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAC,8BAA8B,EAAA,kBAAA,EACvB,gBAAgB,EAAA,eAAA,EAClB,OAAO,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAA,QAAA,EAAA,CAE5C,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,UAAU,IACtCD,GAAA,CAAA,OAAA,EAAA,EACI,IAAI,EAAC,UAAU,EAAA,YAAA,EACH,0BAA0B,EAAA,kBAAA,EACrB,YAAY,EAC7B,OAAO,EAAE,uBAAuB,EAChC,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,eAAe,EAAA,CAC3B,KAEF,MAAM,CAAC,KAAK,CAAC,aAAa,KACtBA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,2BAA2B,YACtC,0BAA0B,EAAA,CACxB,CACV,CACJ,EACA,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IACxCC,IAAA,CAAA,QAAA,EAAA,EACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,wBAAwB,EAAA,kBAAA,EACjB,MAAM,EAAA,cAAA,EACT,OAAO,CAAC,QAAQ,CAAC,IAAI,SAAS,EAC5C,OAAO,EAAE,MACL,MAAM,CAAC;AACH,wBAAA,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAe;wBACnC,SAAS,EACL,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK;AAClC,4BAAA,IAAI,EAAE,SAAS,KAAK,sBAAsB,CAAC;8BACrC,sBAAsB,CAAC;8BACvB,sBAAsB,CAAC,SAAS;AAC7C,qBAAA,CAAC,aAGND,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,MAAM,CAAC,KAAK,CAAC,MAAM,EAAA,CAAQ,EACjC,QAAQ,KACLA,GAAA,CAAA,MAAA,EAAA,EAAA,aAAA,EAAkB,MAAM,EAAA,QAAA,EACnB,QAAQ,KAAK;AACV,kCAAE;AACF,kCAAE,kBAAkB,EAAA,CACrB,CACV,CAAA,EAAA,CACI,KAET,MAAM,CAAC,KAAK,CAAC,MAAM,CACtB,EACA,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,KACzBA,GAAA,CAAC,gBAAgB,IACb,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAC/B,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAC3C,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,oBAAoB,EACjD,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,EACzC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,EACzC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,EACjC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EACzB,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAC3C,OAAO,EAAE,CAAC,UAAU,KAAK,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,EACxD,OAAO,EAAE,MAAM,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,EAAA,CAC/C,CACL,CAAA,EAAA,CACC,EAAA,CACL;AAEb;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/** Table messages passed as props, each overriding the provider's message. */
|
|
3
|
+
export interface DataTableMessageOverrides {
|
|
4
|
+
selectionAriaLabel?: string;
|
|
5
|
+
selectAllAriaLabel?: string;
|
|
6
|
+
globalSearchPlaceholder?: string;
|
|
7
|
+
globalSearchAriaLabel?: string;
|
|
8
|
+
loadingMessage?: ReactNode;
|
|
9
|
+
failureMessage?: ReactNode;
|
|
10
|
+
unauthorizedMessage?: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=DataTableMessageOverrides.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableMessageOverrides.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableMessageOverrides.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,8EAA8E;AAC9E,MAAM,WAAW,yBAAyB;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,mBAAmB,CAAC,EAAE,SAAS,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableMessageOverrides.js","sourceRoot":"","sources":["../../../DataTables/DataTableMessageOverrides.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { ReactNode } from 'react';\n\n/** Table messages passed as props, each overriding the provider's message. */\nexport interface DataTableMessageOverrides {\n selectionAriaLabel?: string;\n selectAllAriaLabel?: string;\n globalSearchPlaceholder?: string;\n globalSearchAriaLabel?: string;\n loadingMessage?: ReactNode;\n failureMessage?: ReactNode;\n unauthorizedMessage?: ReactNode;\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/** The table messages to show, after props and provider messages are applied. */
|
|
3
|
+
export interface DataTableMessages {
|
|
4
|
+
resolvedSelectionAriaLabel: string;
|
|
5
|
+
resolvedSelectAllAriaLabel: string;
|
|
6
|
+
resolvedGlobalSearchPlaceholder: string;
|
|
7
|
+
resolvedGlobalSearchAriaLabel: string;
|
|
8
|
+
resolvedLoadingMessage: ReactNode;
|
|
9
|
+
resolvedFailureMessage: ReactNode;
|
|
10
|
+
resolvedUnauthorizedMessage: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=DataTableMessages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableMessages.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableMessages.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,iFAAiF;AACjF,MAAM,WAAW,iBAAiB;IAC9B,0BAA0B,EAAE,MAAM,CAAC;IACnC,0BAA0B,EAAE,MAAM,CAAC;IACnC,+BAA+B,EAAE,MAAM,CAAC;IACxC,6BAA6B,EAAE,MAAM,CAAC;IACtC,sBAAsB,EAAE,SAAS,CAAC;IAClC,sBAAsB,EAAE,SAAS,CAAC;IAClC,2BAA2B,EAAE,SAAS,CAAC;CAC1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableMessages.js","sourceRoot":"","sources":["../../../DataTables/DataTableMessages.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { ReactNode } from 'react';\n\n/** The table messages to show, after props and provider messages are applied. */\nexport interface DataTableMessages {\n resolvedSelectionAriaLabel: string;\n resolvedSelectAllAriaLabel: string;\n resolvedGlobalSearchPlaceholder: string;\n resolvedGlobalSearchAriaLabel: string;\n resolvedLoadingMessage: ReactNode;\n resolvedFailureMessage: ReactNode;\n resolvedUnauthorizedMessage: ReactNode;\n}\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { HTMLAttributes, TableHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes } from 'react';
|
|
3
|
+
/** Stable Cratis-owned parts for styling a `DataTableCore`. */
|
|
4
|
+
export interface DataTableParts {
|
|
5
|
+
/** Outer table composition. */
|
|
6
|
+
root?: HTMLAttributes<HTMLDivElement>;
|
|
7
|
+
/** Loaded-page search wrapper. */
|
|
8
|
+
search?: HTMLAttributes<HTMLDivElement>;
|
|
9
|
+
/** Loaded-page search input. */
|
|
10
|
+
searchInput?: React.InputHTMLAttributes<HTMLInputElement>;
|
|
11
|
+
/** Scroll container. */
|
|
12
|
+
tableContainer?: HTMLAttributes<HTMLDivElement>;
|
|
13
|
+
/** Semantic table element. */
|
|
14
|
+
table?: TableHTMLAttributes<HTMLTableElement>;
|
|
15
|
+
/** Table head. */
|
|
16
|
+
head?: HTMLAttributes<HTMLTableSectionElement>;
|
|
17
|
+
/** Header row. */
|
|
18
|
+
headerRow?: HTMLAttributes<HTMLTableRowElement>;
|
|
19
|
+
/** Header cell. */
|
|
20
|
+
headerCell?: ThHTMLAttributes<HTMLTableCellElement>;
|
|
21
|
+
/** Table body. */
|
|
22
|
+
body?: HTMLAttributes<HTMLTableSectionElement>;
|
|
23
|
+
/** Data row. */
|
|
24
|
+
row?: HTMLAttributes<HTMLTableRowElement>;
|
|
25
|
+
/** Data cell. */
|
|
26
|
+
cell?: TdHTMLAttributes<HTMLTableCellElement>;
|
|
27
|
+
/** Empty-state row. */
|
|
28
|
+
emptyRow?: HTMLAttributes<HTMLTableRowElement>;
|
|
29
|
+
/** Empty-state cell. */
|
|
30
|
+
emptyCell?: TdHTMLAttributes<HTMLTableCellElement>;
|
|
31
|
+
/** Loading-state row. */
|
|
32
|
+
loadingRow?: HTMLAttributes<HTMLTableRowElement>;
|
|
33
|
+
/** Loading-state cell. */
|
|
34
|
+
loadingCell?: TdHTMLAttributes<HTMLTableCellElement>;
|
|
35
|
+
/** Failed or unauthorized row. */
|
|
36
|
+
failureRow?: HTMLAttributes<HTMLTableRowElement>;
|
|
37
|
+
/** Failed or unauthorized cell. */
|
|
38
|
+
failureCell?: TdHTMLAttributes<HTMLTableCellElement>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=DataTableParts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableParts.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableParts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACR,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EACnB,MAAM,OAAO,CAAC;AAEf,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC3B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IACtC,kCAAkC;IAClC,MAAM,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IACxC,gCAAgC;IAChC,WAAW,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,wBAAwB;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAChD,8BAA8B;IAC9B,KAAK,CAAC,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC9C,kBAAkB;IAClB,IAAI,CAAC,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAC;IAC/C,kBAAkB;IAClB,SAAS,CAAC,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAChD,mBAAmB;IACnB,UAAU,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IACpD,kBAAkB;IAClB,IAAI,CAAC,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAC;IAC/C,gBAAgB;IAChB,GAAG,CAAC,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAC1C,iBAAiB;IACjB,IAAI,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IAC9C,uBAAuB;IACvB,QAAQ,CAAC,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAC/C,wBAAwB;IACxB,SAAS,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IACnD,yBAAyB;IACzB,UAAU,CAAC,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACjD,0BAA0B;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IACrD,kCAAkC;IAClC,UAAU,CAAC,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACjD,mCAAmC;IACnC,WAAW,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;CACxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableParts.js","sourceRoot":"","sources":["../../../DataTables/DataTableParts.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type React from 'react';\nimport type {\n HTMLAttributes,\n TableHTMLAttributes,\n TdHTMLAttributes,\n ThHTMLAttributes,\n} from 'react';\n\n/** Stable Cratis-owned parts for styling a `DataTableCore`. */\nexport interface DataTableParts {\n /** Outer table composition. */\n root?: HTMLAttributes<HTMLDivElement>;\n /** Loaded-page search wrapper. */\n search?: HTMLAttributes<HTMLDivElement>;\n /** Loaded-page search input. */\n searchInput?: React.InputHTMLAttributes<HTMLInputElement>;\n /** Scroll container. */\n tableContainer?: HTMLAttributes<HTMLDivElement>;\n /** Semantic table element. */\n table?: TableHTMLAttributes<HTMLTableElement>;\n /** Table head. */\n head?: HTMLAttributes<HTMLTableSectionElement>;\n /** Header row. */\n headerRow?: HTMLAttributes<HTMLTableRowElement>;\n /** Header cell. */\n headerCell?: ThHTMLAttributes<HTMLTableCellElement>;\n /** Table body. */\n body?: HTMLAttributes<HTMLTableSectionElement>;\n /** Data row. */\n row?: HTMLAttributes<HTMLTableRowElement>;\n /** Data cell. */\n cell?: TdHTMLAttributes<HTMLTableCellElement>;\n /** Empty-state row. */\n emptyRow?: HTMLAttributes<HTMLTableRowElement>;\n /** Empty-state cell. */\n emptyCell?: TdHTMLAttributes<HTMLTableCellElement>;\n /** Loading-state row. */\n loadingRow?: HTMLAttributes<HTMLTableRowElement>;\n /** Loading-state cell. */\n loadingCell?: TdHTMLAttributes<HTMLTableCellElement>;\n /** Failed or unauthorized row. */\n failureRow?: HTMLAttributes<HTMLTableRowElement>;\n /** Failed or unauthorized cell. */\n failureCell?: TdHTMLAttributes<HTMLTableCellElement>;\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ReactElement, SyntheticEvent } from 'react';
|
|
2
|
+
import type { ColumnProps } from './Column.js';
|
|
3
|
+
import type { DataTableParts } from './DataTableParts.js';
|
|
4
|
+
/** Props for {@link DataTableRow}. */
|
|
5
|
+
export interface DataTableRowProps<TData> {
|
|
6
|
+
row: TData;
|
|
7
|
+
columns: ReactElement<ColumnProps<any>>[];
|
|
8
|
+
/** The table's part attributes. */
|
|
9
|
+
parts?: DataTableParts;
|
|
10
|
+
selectionMode?: 'single' | 'multiple';
|
|
11
|
+
isSelected: boolean;
|
|
12
|
+
isInteractive: boolean;
|
|
13
|
+
isRowSelected: boolean;
|
|
14
|
+
rowClassName?: (rowData: TData) => string;
|
|
15
|
+
resolvedSelectionAriaLabel: string;
|
|
16
|
+
selectionGroupName: string;
|
|
17
|
+
onActivate: (event: SyntheticEvent) => void;
|
|
18
|
+
onToggleSelection: () => void;
|
|
19
|
+
}
|
|
20
|
+
/** One data row, activated by click, Enter or Space. */
|
|
21
|
+
export declare const DataTableRow: <TData extends object>({ row, columns, parts: pt, selectionMode, isSelected, isInteractive, isRowSelected, rowClassName, resolvedSelectionAriaLabel, selectionGroupName, onActivate, onToggleSelection, }: DataTableRowProps<TData>) => import("react").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=DataTableRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableRow.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableRow.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAa,cAAc,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAU,CAAC;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC;AAcvD,sCAAsC;AACtC,MAAM,WAAW,iBAAiB,CAAC,KAAK;IACpC,GAAG,EAAE,KAAK,CAAC;IACX,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IAC1C,mCAAmC;IACnC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,aAAa,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,KAAK,MAAM,CAAC;IAC1C,0BAA0B,EAAE,MAAM,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C,iBAAiB,EAAE,MAAM,IAAI,CAAC;CACjC;AAED,wDAAwD;AACxD,eAAO,MAAM,YAAY,GAAI,KAAK,SAAS,MAAM,sLAa9C,iBAAiB,CAAC,KAAK,CAAC,gCAiE1B,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { classNames } from './classNames.js';
|
|
3
|
+
import { valueAtPath } from './valueAtPath.js';
|
|
4
|
+
|
|
5
|
+
const renderCellContent = (column, row) => {
|
|
6
|
+
if (column.body)
|
|
7
|
+
return column.body(row);
|
|
8
|
+
const value = valueAtPath(row, column.field);
|
|
9
|
+
return value == null ? '' : String(value);
|
|
10
|
+
};
|
|
11
|
+
const DataTableRow = ({ row, columns, parts: pt, selectionMode, isSelected, isInteractive, isRowSelected, rowClassName, resolvedSelectionAriaLabel, selectionGroupName, onActivate, onToggleSelection, }) => (jsx("tr", { ...pt?.row, tabIndex: isInteractive ? 0 : pt?.row?.tabIndex, "aria-selected": selectionMode === 'single' ? isSelected : undefined, className: classNames('cratis-datatable__row', pt?.row?.className, rowClassName?.(row)), "data-cratis-part": 'row', "data-selected": isSelected || undefined, "data-interactive": isInteractive || undefined, onClick: (event) => onActivate(event), onKeyDown: (event) => {
|
|
12
|
+
if (event.target !== event.currentTarget ||
|
|
13
|
+
(event.key !== 'Enter' && event.key !== ' ')) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
event.preventDefault();
|
|
17
|
+
onActivate(event);
|
|
18
|
+
}, children: columns.map((column, columnIndex) => (jsx("td", { ...pt?.cell, style: {
|
|
19
|
+
...pt?.cell?.style,
|
|
20
|
+
...column.props.style,
|
|
21
|
+
...column.props.bodyStyle,
|
|
22
|
+
}, className: classNames('cratis-datatable__cell', pt?.cell?.className, column.props.bodyClassName ?? column.props.className), "data-cratis-part": 'cell', "data-selected": isSelected || undefined, children: column.props.selectionMode === 'multiple' ? (jsx("input", { type: 'checkbox', "aria-label": resolvedSelectionAriaLabel, checked: isRowSelected, onClick: (event) => event.stopPropagation(), onChange: () => onToggleSelection() })) : column.props.selectionMode ? (jsx("input", { type: 'radio', name: selectionGroupName, readOnly: true, tabIndex: -1, "aria-label": resolvedSelectionAriaLabel, checked: isSelected })) : (renderCellContent(column.props, row)) }, columnIndex))) }));
|
|
23
|
+
|
|
24
|
+
export { DataTableRow };
|
|
25
|
+
//# sourceMappingURL=DataTableRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableRow.js","sources":["../../../DataTables/DataTableRow.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { ReactElement, ReactNode, SyntheticEvent } from 'react';\nimport type { ColumnProps } from './Column';\nimport { classNames } from './classNames';\nimport type { DataTableParts } from './DataTableParts';\nimport { valueAtPath } from './valueAtPath';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst renderCellContent = (\n column: ColumnProps<any>,\n row: Record<string, unknown>,\n): ReactNode => {\n if (column.body) return column.body(row);\n const value = valueAtPath(row, column.field);\n return value == null ? '' : String(value);\n};\n\n/** Props for {@link DataTableRow}. */\nexport interface DataTableRowProps<TData> {\n row: TData;\n columns: ReactElement<ColumnProps<any>>[];\n /** The table's part attributes. */\n parts?: DataTableParts;\n selectionMode?: 'single' | 'multiple';\n isSelected: boolean;\n isInteractive: boolean;\n isRowSelected: boolean;\n rowClassName?: (rowData: TData) => string;\n resolvedSelectionAriaLabel: string;\n selectionGroupName: string;\n onActivate: (event: SyntheticEvent) => void;\n onToggleSelection: () => void;\n}\n\n/** One data row, activated by click, Enter or Space. */\nexport const DataTableRow = <TData extends object>({\n row,\n columns,\n parts: pt,\n selectionMode,\n isSelected,\n isInteractive,\n isRowSelected,\n rowClassName,\n resolvedSelectionAriaLabel,\n selectionGroupName,\n onActivate,\n onToggleSelection,\n}: DataTableRowProps<TData>) => (\n <tr\n {...pt?.row}\n tabIndex={isInteractive ? 0 : pt?.row?.tabIndex}\n aria-selected={selectionMode === 'single' ? isSelected : undefined}\n className={classNames(\n 'cratis-datatable__row',\n pt?.row?.className,\n rowClassName?.(row),\n )}\n data-cratis-part='row'\n data-selected={isSelected || undefined}\n data-interactive={isInteractive || undefined}\n onClick={(event) => onActivate(event)}\n onKeyDown={(event) => {\n if (\n event.target !== event.currentTarget ||\n (event.key !== 'Enter' && event.key !== ' ')\n ) {\n return;\n }\n event.preventDefault();\n onActivate(event);\n }}\n >\n {columns.map((column, columnIndex) => (\n <td\n key={columnIndex}\n {...pt?.cell}\n style={{\n ...pt?.cell?.style,\n ...column.props.style,\n ...column.props.bodyStyle,\n }}\n className={classNames(\n 'cratis-datatable__cell',\n pt?.cell?.className,\n column.props.bodyClassName ?? column.props.className,\n )}\n data-cratis-part='cell'\n data-selected={isSelected || undefined}\n >\n {column.props.selectionMode === 'multiple' ? (\n <input\n type='checkbox'\n aria-label={resolvedSelectionAriaLabel}\n checked={isRowSelected}\n onClick={(event) => event.stopPropagation()}\n onChange={() => onToggleSelection()}\n />\n ) : column.props.selectionMode ? (\n <input\n type='radio'\n name={selectionGroupName}\n readOnly\n tabIndex={-1}\n aria-label={resolvedSelectionAriaLabel}\n checked={isSelected}\n />\n ) : (\n renderCellContent(column.props, row as Record<string, unknown>)\n )}\n </td>\n ))}\n </tr>\n);\n"],"names":["_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableRowClickEvent.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableRowClickEvent.ts"],"names":[],"mappings":"AAGA,uDAAuD;AACvD,MAAM,WAAW,sBAAsB,CAAC,KAAK;IACzC,0BAA0B;IAC1B,IAAI,EAAE,KAAK,CAAC;IACZ,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableRowClickEvent.js","sourceRoot":"","sources":["../../../DataTables/DataTableRowClickEvent.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/** Event emitted when a DataTable row is activated. */\nexport interface DataTableRowClickEvent<TData> {\n /** Activated row data. */\n data: TData;\n /** Loaded-page row index. */\n index: number;\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Whether a data table filters and sorts the rows it is given. */
|
|
2
|
+
export declare enum DataTableRowProcessing {
|
|
3
|
+
/** Filter and sort the rows the table was given, such as the loaded page (default). */
|
|
4
|
+
Loaded = "loaded",
|
|
5
|
+
/**
|
|
6
|
+
* Render the rows exactly as given. Use when the source already applied the table's filter and
|
|
7
|
+
* sort state, for example a server query driven by the controlled `filters` and `sort` props.
|
|
8
|
+
*/
|
|
9
|
+
None = "none"
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=DataTableRowProcessing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableRowProcessing.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableRowProcessing.ts"],"names":[],"mappings":"AAGA,mEAAmE;AACnE,oBAAY,sBAAsB;IAC9B,uFAAuF;IACvF,MAAM,WAAW;IACjB;;;OAGG;IACH,IAAI,SAAS;CAChB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var DataTableRowProcessing;
|
|
2
|
+
(function (DataTableRowProcessing) {
|
|
3
|
+
DataTableRowProcessing["Loaded"] = "loaded";
|
|
4
|
+
DataTableRowProcessing["None"] = "none";
|
|
5
|
+
})(DataTableRowProcessing || (DataTableRowProcessing = {}));
|
|
6
|
+
|
|
7
|
+
export { DataTableRowProcessing };
|
|
8
|
+
//# sourceMappingURL=DataTableRowProcessing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableRowProcessing.js","sources":["../../../DataTables/DataTableRowProcessing.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/** Whether a data table filters and sorts the rows it is given. */\nexport enum DataTableRowProcessing {\n /** Filter and sort the rows the table was given, such as the loaded page (default). */\n Loaded = 'loaded',\n /**\n * Render the rows exactly as given. Use when the source already applied the table's filter and\n * sort state, for example a server query driven by the controlled `filters` and `sort` props.\n */\n None = 'none',\n}\n"],"names":[],"mappings":"IAIY;AAAZ,CAAA,UAAY,sBAAsB,EAAA;AAE9B,IAAA,sBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AAKjB,IAAA,sBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACjB,CAAC,EARW,sBAAsB,KAAtB,sBAAsB,GAAA,EAAA,CAAA,CAAA;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { DataTableParts } from './DataTableParts.js';
|
|
2
|
+
/** Props for {@link DataTableSearch}. */
|
|
3
|
+
export interface DataTableSearchProps {
|
|
4
|
+
/** The table's part attributes. */
|
|
5
|
+
parts?: DataTableParts;
|
|
6
|
+
value: string;
|
|
7
|
+
placeholder: string;
|
|
8
|
+
ariaLabel: string;
|
|
9
|
+
onChange: (value: string) => void;
|
|
10
|
+
}
|
|
11
|
+
/** The search box above a table that has search fields. */
|
|
12
|
+
export declare const DataTableSearch: ({ parts: pt, value, placeholder, ariaLabel, onChange, }: DataTableSearchProps) => import("react").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=DataTableSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableSearch.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableSearch.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC;AAEvD,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACjC,mCAAmC;IACnC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,2DAA2D;AAC3D,eAAO,MAAM,eAAe,4DAMzB,oBAAoB,gCAmBtB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { classNames } from './classNames.js';
|
|
3
|
+
|
|
4
|
+
const DataTableSearch = ({ parts: pt, value, placeholder, ariaLabel, onChange, }) => (jsx("div", { ...pt?.search, className: classNames('cratis-datatable-search', pt?.search?.className), "data-cratis-part": 'search', children: jsx("input", { ...pt?.searchInput, value: value, placeholder: placeholder, "aria-label": ariaLabel, className: classNames('cratis-datatable-search__input', pt?.searchInput?.className), "data-cratis-part": 'search-input', onChange: (event) => onChange(event.target.value) }) }));
|
|
5
|
+
|
|
6
|
+
export { DataTableSearch };
|
|
7
|
+
//# sourceMappingURL=DataTableSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableSearch.js","sources":["../../../DataTables/DataTableSearch.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { classNames } from './classNames';\nimport type { DataTableParts } from './DataTableParts';\n\n/** Props for {@link DataTableSearch}. */\nexport interface DataTableSearchProps {\n /** The table's part attributes. */\n parts?: DataTableParts;\n value: string;\n placeholder: string;\n ariaLabel: string;\n onChange: (value: string) => void;\n}\n\n/** The search box above a table that has search fields. */\nexport const DataTableSearch = ({\n parts: pt,\n value,\n placeholder,\n ariaLabel,\n onChange,\n}: DataTableSearchProps) => (\n <div\n {...pt?.search}\n className={classNames('cratis-datatable-search', pt?.search?.className)}\n data-cratis-part='search'\n >\n <input\n {...pt?.searchInput}\n value={value}\n placeholder={placeholder}\n aria-label={ariaLabel}\n className={classNames(\n 'cratis-datatable-search__input',\n pt?.searchInput?.className,\n )}\n data-cratis-part='search-input'\n onChange={(event) => onChange(event.target.value)}\n />\n </div>\n);\n"],"names":["_jsx"],"mappings":";;;AAiBO,MAAM,eAAe,GAAG,CAAC,EAC5B,KAAK,EAAE,EAAE,EACT,KAAK,EACL,WAAW,EACX,SAAS,EACT,QAAQ,GACW,MACnBA,GAAA,CAAA,KAAA,EAAA,EAAA,GACQ,EAAE,EAAE,MAAM,EACd,SAAS,EAAE,UAAU,CAAC,yBAAyB,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,sBACtD,QAAQ,EAAA,QAAA,EAEzBA,kBACQ,EAAE,EAAE,WAAW,EACnB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EAAA,YAAA,EACZ,SAAS,EACrB,SAAS,EAAE,UAAU,CACjB,gCAAgC,EAChC,EAAE,EAAE,WAAW,EAAE,SAAS,CAC7B,EAAA,kBAAA,EACgB,cAAc,EAC/B,QAAQ,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAA,CACnD,EAAA,CACA;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DataTableSortDirection } from './DataTableSortDirection.js';
|
|
2
|
+
/** The column a data table is sorted by, and in which direction. */
|
|
3
|
+
export interface DataTableSort {
|
|
4
|
+
/** The sorted column's field. */
|
|
5
|
+
field: string;
|
|
6
|
+
/** The sort direction. */
|
|
7
|
+
direction: DataTableSortDirection;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=DataTableSort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableSort.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableSort.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA0B,CAAC;AAEvE,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC1B,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,SAAS,EAAE,sBAAsB,CAAC;CACrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableSort.js","sourceRoot":"","sources":["../../../DataTables/DataTableSort.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { DataTableSortDirection } from './DataTableSortDirection';\n\n/** The column a data table is sorted by, and in which direction. */\nexport interface DataTableSort {\n /** The sorted column's field. */\n field: string;\n /** The sort direction. */\n direction: DataTableSortDirection;\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** The direction a data table column is sorted in. */
|
|
2
|
+
export declare enum DataTableSortDirection {
|
|
3
|
+
/** Smallest value first. */
|
|
4
|
+
Ascending = "ascending",
|
|
5
|
+
/** Largest value first. */
|
|
6
|
+
Descending = "descending"
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=DataTableSortDirection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableSortDirection.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableSortDirection.ts"],"names":[],"mappings":"AAGA,sDAAsD;AACtD,oBAAY,sBAAsB;IAC9B,4BAA4B;IAC5B,SAAS,cAAc;IACvB,2BAA2B;IAC3B,UAAU,eAAe;CAC5B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var DataTableSortDirection;
|
|
2
|
+
(function (DataTableSortDirection) {
|
|
3
|
+
DataTableSortDirection["Ascending"] = "ascending";
|
|
4
|
+
DataTableSortDirection["Descending"] = "descending";
|
|
5
|
+
})(DataTableSortDirection || (DataTableSortDirection = {}));
|
|
6
|
+
|
|
7
|
+
export { DataTableSortDirection };
|
|
8
|
+
//# sourceMappingURL=DataTableSortDirection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableSortDirection.js","sources":["../../../DataTables/DataTableSortDirection.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/** The direction a data table column is sorted in. */\nexport enum DataTableSortDirection {\n /** Smallest value first. */\n Ascending = 'ascending',\n /** Largest value first. */\n Descending = 'descending',\n}\n"],"names":[],"mappings":"IAIY;AAAZ,CAAA,UAAY,sBAAsB,EAAA;AAE9B,IAAA,sBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AAEvB,IAAA,sBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AAC7B,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,GAAA,EAAA,CAAA,CAAA;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { DataTableFilterConstraint, DataTableFilterMeta } from './DataTableFilterMeta.js';
|
|
2
|
+
import type { DataTableSort } from './DataTableSort.js';
|
|
3
|
+
/** A table's current filter, search and sort state, with its setters. */
|
|
4
|
+
export interface DataTableState {
|
|
5
|
+
/** Applied per-field filters. */
|
|
6
|
+
filters: DataTableFilterMeta;
|
|
7
|
+
/** Sets or removes the filter for one field. */
|
|
8
|
+
updateFilter: (field: string, constraint: DataTableFilterConstraint | undefined) => void;
|
|
9
|
+
/** Search text. */
|
|
10
|
+
globalFilter: string;
|
|
11
|
+
/** Sets the search text. */
|
|
12
|
+
setGlobalFilter: (globalFilter: string) => void;
|
|
13
|
+
/** Applied sort, or null. */
|
|
14
|
+
sort: DataTableSort | null;
|
|
15
|
+
/** Sets the sort. */
|
|
16
|
+
setSort: (sort: DataTableSort | null) => void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=DataTableState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableState.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableState.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,yBAAyB,EACzB,mBAAmB,EACtB,MAAM,0BAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAiB,CAAC;AAErD,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC3B,iCAAiC;IACjC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,gDAAgD;IAChD,YAAY,EAAE,CACV,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,yBAAyB,GAAG,SAAS,KAChD,IAAI,CAAC;IACV,mBAAmB;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,eAAe,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,6BAA6B;IAC7B,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,qBAAqB;IACrB,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;CACjD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableState.js","sourceRoot":"","sources":["../../../DataTables/DataTableState.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type {\n DataTableFilterConstraint,\n DataTableFilterMeta,\n} from './DataTableFilterMeta';\nimport type { DataTableSort } from './DataTableSort';\n\n/** A table's current filter, search and sort state, with its setters. */\nexport interface DataTableState {\n /** Applied per-field filters. */\n filters: DataTableFilterMeta;\n /** Sets or removes the filter for one field. */\n updateFilter: (\n field: string,\n constraint: DataTableFilterConstraint | undefined,\n ) => void;\n /** Search text. */\n globalFilter: string;\n /** Sets the search text. */\n setGlobalFilter: (globalFilter: string) => void;\n /** Applied sort, or null. */\n sort: DataTableSort | null;\n /** Sets the sort. */\n setSort: (sort: DataTableSort | null) => void;\n}\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { DataTableFilterMeta } from './DataTableFilterMeta.js';
|
|
2
|
+
import type { DataTableSort } from './DataTableSort.js';
|
|
3
|
+
/** The props that control a table's filter, search and sort state. */
|
|
4
|
+
export interface DataTableStateProps {
|
|
5
|
+
/** Initial per-field filters, used while the filters are not controlled. */
|
|
6
|
+
defaultFilters?: DataTableFilterMeta;
|
|
7
|
+
/** Controlled per-field filters. */
|
|
8
|
+
filters?: DataTableFilterMeta;
|
|
9
|
+
/** Receives every filter change. */
|
|
10
|
+
onFilter?: (filters: DataTableFilterMeta) => void;
|
|
11
|
+
/** Controlled search text. */
|
|
12
|
+
globalFilter?: string;
|
|
13
|
+
/** Receives every search text change. */
|
|
14
|
+
onGlobalFilterChange?: (globalFilter: string) => void;
|
|
15
|
+
/** Controlled sort; null means not sorted. */
|
|
16
|
+
sort?: DataTableSort | null;
|
|
17
|
+
/** Receives every sort change. */
|
|
18
|
+
onSortChange?: (sort: DataTableSort | null) => void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=DataTableStateProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableStateProps.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableStateProps.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAiB,CAAC;AAErD,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IAChC,4EAA4E;IAC5E,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,oCAAoC;IACpC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,oCAAoC;IACpC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAClD,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,8CAA8C;IAC9C,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5B,kCAAkC;IAClC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;CACvD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableStateProps.js","sourceRoot":"","sources":["../../../DataTables/DataTableStateProps.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { DataTableFilterMeta } from './DataTableFilterMeta';\nimport type { DataTableSort } from './DataTableSort';\n\n/** The props that control a table's filter, search and sort state. */\nexport interface DataTableStateProps {\n /** Initial per-field filters, used while the filters are not controlled. */\n defaultFilters?: DataTableFilterMeta;\n /** Controlled per-field filters. */\n filters?: DataTableFilterMeta;\n /** Receives every filter change. */\n onFilter?: (filters: DataTableFilterMeta) => void;\n /** Controlled search text. */\n globalFilter?: string;\n /** Receives every search text change. */\n onGlobalFilterChange?: (globalFilter: string) => void;\n /** Controlled sort; null means not sorted. */\n sort?: DataTableSort | null;\n /** Receives every sort change. */\n onSortChange?: (sort: DataTableSort | null) => void;\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** A row the table renders, with its index on the loaded page. */
|
|
2
|
+
export interface ProcessedRow<TData> {
|
|
3
|
+
/** The row. */
|
|
4
|
+
row: TData;
|
|
5
|
+
/** Its index on the loaded page, which stays stable through filtering and sorting. */
|
|
6
|
+
loadedIndex: number;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=ProcessedRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProcessedRow.d.ts","sourceRoot":"","sources":["../../../DataTables/ProcessedRow.ts"],"names":[],"mappings":"AAGA,kEAAkE;AAClE,MAAM,WAAW,YAAY,CAAC,KAAK;IAC/B,eAAe;IACf,GAAG,EAAE,KAAK,CAAC;IACX,sFAAsF;IACtF,WAAW,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProcessedRow.js","sourceRoot":"","sources":["../../../DataTables/ProcessedRow.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/** A row the table renders, with its index on the loaded page. */\nexport interface ProcessedRow<TData> {\n /** The row. */\n row: TData;\n /** Its index on the loaded page, which stays stable through filtering and sorting. */\n loadedIndex: number;\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { DataTableFilterMeta } from './DataTableFilterMeta.js';
|
|
2
|
+
import type { DataTableRowProcessing } from './DataTableRowProcessing.js';
|
|
3
|
+
import type { DataTableSort } from './DataTableSort.js';
|
|
4
|
+
/** The filter, search and sort state a table applies to its loaded rows. */
|
|
5
|
+
export interface RowProcessingState {
|
|
6
|
+
/** Applied per-field filters. */
|
|
7
|
+
filters: DataTableFilterMeta;
|
|
8
|
+
/** Search text. */
|
|
9
|
+
globalFilter: string;
|
|
10
|
+
/** Fields the search text matches against. */
|
|
11
|
+
globalFilterFields?: string[];
|
|
12
|
+
/** Applied sort, or null. */
|
|
13
|
+
sort: DataTableSort | null;
|
|
14
|
+
/** Whether the table processes rows at all. */
|
|
15
|
+
rowProcessing: DataTableRowProcessing;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=RowProcessingState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RowProcessingState.d.ts","sourceRoot":"","sources":["../../../DataTables/RowProcessingState.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAiB,CAAC;AAErD,4EAA4E;AAC5E,MAAM,WAAW,kBAAkB;IAC/B,iCAAiC;IACjC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,mBAAmB;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,6BAA6B;IAC7B,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,+CAA+C;IAC/C,aAAa,EAAE,sBAAsB,CAAC;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RowProcessingState.js","sourceRoot":"","sources":["../../../DataTables/RowProcessingState.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { DataTableFilterMeta } from './DataTableFilterMeta';\nimport type { DataTableRowProcessing } from './DataTableRowProcessing';\nimport type { DataTableSort } from './DataTableSort';\n\n/** The filter, search and sort state a table applies to its loaded rows. */\nexport interface RowProcessingState {\n /** Applied per-field filters. */\n filters: DataTableFilterMeta;\n /** Search text. */\n globalFilter: string;\n /** Fields the search text matches against. */\n globalFilterFields?: string[];\n /** Applied sort, or null. */\n sort: DataTableSort | null;\n /** Whether the table processes rows at all. */\n rowProcessing: DataTableRowProcessing;\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { RefObject } from 'react';
|
|
2
|
+
/** Row selection state and actions for a `DataTableCore`-style table. */
|
|
3
|
+
export interface RowSelection<TData> {
|
|
4
|
+
/** The text identity of a row by its data key. */
|
|
5
|
+
dataKeyIdentity: (row: TData) => string;
|
|
6
|
+
/** Whether a row is the single selected row. */
|
|
7
|
+
isSelectedRow: (row: TData, loadedIndex: number) => boolean;
|
|
8
|
+
/** Whether a row is among the multiple selected rows. */
|
|
9
|
+
isRowSelected: (row: TData) => boolean;
|
|
10
|
+
/** Adds a row to, or removes it from, the multiple selection. */
|
|
11
|
+
toggleRowSelection: (row: TData) => void;
|
|
12
|
+
/** Whether every visible row is selected. */
|
|
13
|
+
allFilteredRowsSelected: boolean;
|
|
14
|
+
/** The select-all checkbox, whose indeterminate state the hook keeps. */
|
|
15
|
+
selectAllRef: RefObject<HTMLInputElement | null>;
|
|
16
|
+
/** Selects every visible row, or clears them when all are selected. */
|
|
17
|
+
toggleSelectAll: () => void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=RowSelection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RowSelection.d.ts","sourceRoot":"","sources":["../../../DataTables/RowSelection.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,yEAAyE;AACzE,MAAM,WAAW,YAAY,CAAC,KAAK;IAC/B,kDAAkD;IAClD,eAAe,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,CAAC;IACxC,gDAAgD;IAChD,aAAa,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5D,yDAAyD;IACzD,aAAa,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC;IACvC,iEAAiE;IACjE,kBAAkB,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IACzC,6CAA6C;IAC7C,uBAAuB,EAAE,OAAO,CAAC;IACjC,yEAAyE;IACzE,YAAY,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACjD,uEAAuE;IACvE,eAAe,EAAE,MAAM,IAAI,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RowSelection.js","sourceRoot":"","sources":["../../../DataTables/RowSelection.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { RefObject } from 'react';\n\n/** Row selection state and actions for a `DataTableCore`-style table. */\nexport interface RowSelection<TData> {\n /** The text identity of a row by its data key. */\n dataKeyIdentity: (row: TData) => string;\n /** Whether a row is the single selected row. */\n isSelectedRow: (row: TData, loadedIndex: number) => boolean;\n /** Whether a row is among the multiple selected rows. */\n isRowSelected: (row: TData) => boolean;\n /** Adds a row to, or removes it from, the multiple selection. */\n toggleRowSelection: (row: TData) => void;\n /** Whether every visible row is selected. */\n allFilteredRowsSelected: boolean;\n /** The select-all checkbox, whose indeterminate state the hook keeps. */\n selectAllRef: RefObject<HTMLInputElement | null>;\n /** Selects every visible row, or clears them when all are selected. */\n toggleSelectAll: () => void;\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** What `useRowSelection` selects from. */
|
|
2
|
+
export interface RowSelectionSource<TData> {
|
|
3
|
+
/** The loaded rows. */
|
|
4
|
+
data: TData[];
|
|
5
|
+
/** The rows currently visible after filtering. */
|
|
6
|
+
visibleRows: TData[];
|
|
7
|
+
/** The row property used as identity. */
|
|
8
|
+
dataKey?: string;
|
|
9
|
+
/** The single selected row. */
|
|
10
|
+
selection?: TData | null;
|
|
11
|
+
/** The multiple selected rows. */
|
|
12
|
+
selectedItems?: TData[];
|
|
13
|
+
/** Receives the next multiple selection. */
|
|
14
|
+
onSelectedItemsChange?: (items: TData[]) => void;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=RowSelectionSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RowSelectionSource.d.ts","sourceRoot":"","sources":["../../../DataTables/RowSelectionSource.ts"],"names":[],"mappings":"AAGA,2CAA2C;AAC3C,MAAM,WAAW,kBAAkB,CAAC,KAAK;IACrC,uBAAuB;IACvB,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,kDAAkD;IAClD,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACzB,kCAAkC;IAClC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;IACxB,4CAA4C;IAC5C,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;CACpD"}
|