@multiplatform.one/table 7.7.6 → 7.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/ColumnHeaderFilter/index.cjs +74 -38
- package/dist/cjs/components/ColumnHeaderFilter/index.native.js +97 -51
- package/dist/cjs/components/ColumnHeaderFilter/index.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableCardControls.cjs +0 -1
- package/dist/cjs/components/DataTable/DataTableCardControls.native.js +0 -1
- package/dist/cjs/components/DataTable/DataTableCardControls.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableMobileCards.cjs +100 -33
- package/dist/cjs/components/DataTable/DataTableMobileCards.native.js +139 -38
- package/dist/cjs/components/DataTable/DataTableMobileCards.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableRoot.cjs +33 -6
- package/dist/cjs/components/DataTable/DataTableRoot.native.js +29 -4
- package/dist/cjs/components/DataTable/DataTableRoot.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableStateContext.native.js.map +1 -1
- package/dist/cjs/components/DataTable/index.native.js +59 -93
- package/dist/cjs/components/DataTable/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableBulkActions/index.cjs +0 -4
- package/dist/cjs/components/DataTableBulkActions/index.native.js +0 -4
- package/dist/cjs/components/DataTableBulkActions/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableCell/index.cjs +16 -1
- package/dist/cjs/components/DataTableCell/index.native.js +16 -1
- package/dist/cjs/components/DataTableCell/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableDateFilter/index.cjs +0 -7
- package/dist/cjs/components/DataTableDateFilter/index.native.js +0 -7
- package/dist/cjs/components/DataTableDateFilter/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableFilterButton/index.cjs +0 -1
- package/dist/cjs/components/DataTableFilterButton/index.native.js +0 -1
- package/dist/cjs/components/DataTableFilterChips/FilterChip.cjs +2 -1
- package/dist/cjs/components/DataTableFilterChips/FilterChip.native.js +4 -1
- package/dist/cjs/components/DataTableFilterChips/FilterChip.native.js.map +1 -1
- package/dist/cjs/components/DataTableFilters/index.cjs +0 -1
- package/dist/cjs/components/DataTableFilters/index.native.js +0 -1
- package/dist/cjs/components/DataTableGrouping/index.cjs +0 -8
- package/dist/cjs/components/DataTableGrouping/index.native.js +0 -8
- package/dist/cjs/components/DataTableGrouping/index.native.js.map +1 -1
- package/dist/cjs/components/DataTablePagination/index.cjs +29 -13
- package/dist/cjs/components/DataTablePagination/index.native.js +30 -14
- package/dist/cjs/components/DataTablePagination/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableSearch/index.cjs +0 -3
- package/dist/cjs/components/DataTableSearch/index.native.js +0 -3
- package/dist/cjs/components/DataTableSearch/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableToolbar/index.cjs +0 -1
- package/dist/cjs/components/DataTableToolbar/index.native.js +0 -1
- package/dist/cjs/components/DataTableToolbar/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableViewOptions/index.cjs +0 -5
- package/dist/cjs/components/DataTableViewOptions/index.native.js +0 -5
- package/dist/cjs/components/DataTableViewOptions/index.native.js.map +1 -1
- package/dist/cjs/components/FilterManager.cjs +0 -1
- package/dist/cjs/components/FilterManager.native.js +0 -1
- package/dist/cjs/components/FilterManager.native.js.map +1 -1
- package/dist/cjs/components/FilterOperatorValueEditor/index.cjs +2 -2
- package/dist/cjs/components/FilterOperatorValueEditor/index.native.js +2 -2
- package/dist/cjs/components/FilterOperatorValueEditor/index.native.js.map +1 -1
- package/dist/cjs/components/TableInput/index.cjs +2 -1
- package/dist/cjs/components/TableInput/index.native.js +4 -2
- package/dist/cjs/components/TableInput/index.native.js.map +1 -1
- package/dist/cjs/hooks/useDataTable.cjs +24 -8
- package/dist/cjs/hooks/useDataTable.native.js +28 -8
- package/dist/cjs/hooks/useDataTable.native.js.map +1 -1
- package/dist/cjs/index.cjs +12 -0
- package/dist/cjs/index.native.js +12 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/shared/devWarn.cjs +70 -0
- package/dist/cjs/shared/devWarn.native.js +84 -0
- package/dist/cjs/shared/devWarn.native.js.map +1 -0
- package/dist/cjs/utils/columnAlign.cjs +4 -1
- package/dist/cjs/utils/columnAlign.native.js +4 -1
- package/dist/cjs/utils/columnAlign.native.js.map +1 -1
- package/dist/cjs/utils/filterFields.cjs +5 -0
- package/dist/cjs/utils/filterFields.native.js +5 -0
- package/dist/cjs/utils/filterFields.native.js.map +1 -1
- package/dist/cjs/utils/filterUtils.cjs +30 -0
- package/dist/cjs/utils/filterUtils.native.js +50 -0
- package/dist/cjs/utils/filterUtils.native.js.map +1 -1
- package/dist/cjs/utils/money.cjs +137 -0
- package/dist/cjs/utils/money.native.js +165 -0
- package/dist/cjs/utils/money.native.js.map +1 -0
- package/dist/cjs/utils/rowAccumulator.cjs +48 -0
- package/dist/cjs/utils/rowAccumulator.native.js +51 -0
- package/dist/cjs/utils/rowAccumulator.native.js.map +1 -0
- package/dist/esm/components/ColumnHeaderFilter/index.mjs +78 -42
- package/dist/esm/components/ColumnHeaderFilter/index.mjs.map +1 -1
- package/dist/esm/components/ColumnHeaderFilter/index.native.js +101 -55
- package/dist/esm/components/ColumnHeaderFilter/index.native.js.map +1 -1
- package/dist/esm/components/DataTable/DataTableCardControls.mjs +0 -1
- package/dist/esm/components/DataTable/DataTableCardControls.mjs.map +1 -1
- package/dist/esm/components/DataTable/DataTableCardControls.native.js +0 -1
- package/dist/esm/components/DataTable/DataTableCardControls.native.js.map +1 -1
- package/dist/esm/components/DataTable/DataTableMobileCards.mjs +99 -34
- package/dist/esm/components/DataTable/DataTableMobileCards.mjs.map +1 -1
- package/dist/esm/components/DataTable/DataTableMobileCards.native.js +138 -39
- package/dist/esm/components/DataTable/DataTableMobileCards.native.js.map +1 -1
- package/dist/esm/components/DataTable/DataTableRoot.mjs +33 -6
- package/dist/esm/components/DataTable/DataTableRoot.mjs.map +1 -1
- package/dist/esm/components/DataTable/DataTableRoot.native.js +29 -4
- package/dist/esm/components/DataTable/DataTableRoot.native.js.map +1 -1
- package/dist/esm/components/DataTable/DataTableStateContext.mjs.map +1 -1
- package/dist/esm/components/DataTable/DataTableStateContext.native.js.map +1 -1
- package/dist/esm/components/DataTable/index.native.js +60 -94
- package/dist/esm/components/DataTable/index.native.js.map +1 -1
- package/dist/esm/components/DataTableBulkActions/index.mjs +0 -4
- package/dist/esm/components/DataTableBulkActions/index.mjs.map +1 -1
- package/dist/esm/components/DataTableBulkActions/index.native.js +0 -4
- package/dist/esm/components/DataTableBulkActions/index.native.js.map +1 -1
- package/dist/esm/components/DataTableCell/index.mjs +17 -2
- package/dist/esm/components/DataTableCell/index.mjs.map +1 -1
- package/dist/esm/components/DataTableCell/index.native.js +17 -2
- package/dist/esm/components/DataTableCell/index.native.js.map +1 -1
- package/dist/esm/components/DataTableDateFilter/index.mjs +0 -7
- package/dist/esm/components/DataTableDateFilter/index.mjs.map +1 -1
- package/dist/esm/components/DataTableDateFilter/index.native.js +0 -7
- package/dist/esm/components/DataTableDateFilter/index.native.js.map +1 -1
- package/dist/esm/components/DataTableFilterButton/index.mjs +0 -1
- package/dist/esm/components/DataTableFilterButton/index.mjs.map +1 -1
- package/dist/esm/components/DataTableFilterButton/index.native.js +0 -1
- package/dist/esm/components/DataTableFilterChips/FilterChip.mjs +3 -2
- package/dist/esm/components/DataTableFilterChips/FilterChip.mjs.map +1 -1
- package/dist/esm/components/DataTableFilterChips/FilterChip.native.js +5 -2
- package/dist/esm/components/DataTableFilterChips/FilterChip.native.js.map +1 -1
- package/dist/esm/components/DataTableFilters/index.mjs +0 -1
- package/dist/esm/components/DataTableFilters/index.mjs.map +1 -1
- package/dist/esm/components/DataTableFilters/index.native.js +0 -1
- package/dist/esm/components/DataTableGrouping/index.mjs +0 -8
- package/dist/esm/components/DataTableGrouping/index.mjs.map +1 -1
- package/dist/esm/components/DataTableGrouping/index.native.js +0 -8
- package/dist/esm/components/DataTableGrouping/index.native.js.map +1 -1
- package/dist/esm/components/DataTablePagination/index.mjs +30 -14
- package/dist/esm/components/DataTablePagination/index.mjs.map +1 -1
- package/dist/esm/components/DataTablePagination/index.native.js +31 -15
- package/dist/esm/components/DataTablePagination/index.native.js.map +1 -1
- package/dist/esm/components/DataTableSearch/index.mjs +0 -3
- package/dist/esm/components/DataTableSearch/index.mjs.map +1 -1
- package/dist/esm/components/DataTableSearch/index.native.js +0 -3
- package/dist/esm/components/DataTableSearch/index.native.js.map +1 -1
- package/dist/esm/components/DataTableToolbar/index.mjs +0 -1
- package/dist/esm/components/DataTableToolbar/index.mjs.map +1 -1
- package/dist/esm/components/DataTableToolbar/index.native.js +0 -1
- package/dist/esm/components/DataTableToolbar/index.native.js.map +1 -1
- package/dist/esm/components/DataTableViewOptions/index.mjs +0 -5
- package/dist/esm/components/DataTableViewOptions/index.mjs.map +1 -1
- package/dist/esm/components/DataTableViewOptions/index.native.js +0 -5
- package/dist/esm/components/DataTableViewOptions/index.native.js.map +1 -1
- package/dist/esm/components/FilterManager.mjs +0 -1
- package/dist/esm/components/FilterManager.mjs.map +1 -1
- package/dist/esm/components/FilterManager.native.js +0 -1
- package/dist/esm/components/FilterManager.native.js.map +1 -1
- package/dist/esm/components/FilterOperatorValueEditor/index.mjs +2 -2
- package/dist/esm/components/FilterOperatorValueEditor/index.mjs.map +1 -1
- package/dist/esm/components/FilterOperatorValueEditor/index.native.js +2 -2
- package/dist/esm/components/FilterOperatorValueEditor/index.native.js.map +1 -1
- package/dist/esm/components/TableInput/index.mjs +3 -2
- package/dist/esm/components/TableInput/index.mjs.map +1 -1
- package/dist/esm/components/TableInput/index.native.js +5 -3
- package/dist/esm/components/TableInput/index.native.js.map +1 -1
- package/dist/esm/hooks/useDataTable.mjs +24 -8
- package/dist/esm/hooks/useDataTable.mjs.map +1 -1
- package/dist/esm/hooks/useDataTable.native.js +28 -8
- package/dist/esm/hooks/useDataTable.native.js.map +1 -1
- package/dist/esm/index.mjs +3 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +3 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/shared/devWarn.mjs +43 -0
- package/dist/esm/shared/devWarn.mjs.map +1 -0
- package/dist/esm/shared/devWarn.native.js +54 -0
- package/dist/esm/shared/devWarn.native.js.map +1 -0
- package/dist/esm/utils/columnAlign.mjs +4 -1
- package/dist/esm/utils/columnAlign.mjs.map +1 -1
- package/dist/esm/utils/columnAlign.native.js +4 -1
- package/dist/esm/utils/columnAlign.native.js.map +1 -1
- package/dist/esm/utils/filterFields.mjs +5 -0
- package/dist/esm/utils/filterFields.mjs.map +1 -1
- package/dist/esm/utils/filterFields.native.js +5 -0
- package/dist/esm/utils/filterFields.native.js.map +1 -1
- package/dist/esm/utils/filterUtils.mjs +30 -0
- package/dist/esm/utils/filterUtils.mjs.map +1 -1
- package/dist/esm/utils/filterUtils.native.js +50 -0
- package/dist/esm/utils/filterUtils.native.js.map +1 -1
- package/dist/esm/utils/money.mjs +104 -0
- package/dist/esm/utils/money.mjs.map +1 -0
- package/dist/esm/utils/money.native.js +129 -0
- package/dist/esm/utils/money.native.js.map +1 -0
- package/dist/esm/utils/rowAccumulator.mjs +23 -0
- package/dist/esm/utils/rowAccumulator.mjs.map +1 -0
- package/dist/esm/utils/rowAccumulator.native.js +23 -0
- package/dist/esm/utils/rowAccumulator.native.js.map +1 -0
- package/dist/jsx/components/ColumnHeaderFilter/index.mjs +78 -42
- package/dist/jsx/components/ColumnHeaderFilter/index.mjs.map +1 -1
- package/dist/jsx/components/ColumnHeaderFilter/index.native.js +97 -51
- package/dist/jsx/components/ColumnHeaderFilter/index.native.js.map +1 -1
- package/dist/jsx/components/DataTable/DataTableCardControls.mjs +0 -1
- package/dist/jsx/components/DataTable/DataTableCardControls.mjs.map +1 -1
- package/dist/jsx/components/DataTable/DataTableCardControls.native.js +0 -1
- package/dist/jsx/components/DataTable/DataTableCardControls.native.js.map +1 -1
- package/dist/jsx/components/DataTable/DataTableMobileCards.mjs +99 -34
- package/dist/jsx/components/DataTable/DataTableMobileCards.mjs.map +1 -1
- package/dist/jsx/components/DataTable/DataTableMobileCards.native.js +139 -38
- package/dist/jsx/components/DataTable/DataTableMobileCards.native.js.map +1 -1
- package/dist/jsx/components/DataTable/DataTableRoot.mjs +33 -6
- package/dist/jsx/components/DataTable/DataTableRoot.mjs.map +1 -1
- package/dist/jsx/components/DataTable/DataTableRoot.native.js +29 -4
- package/dist/jsx/components/DataTable/DataTableRoot.native.js.map +1 -1
- package/dist/jsx/components/DataTable/DataTableStateContext.mjs.map +1 -1
- package/dist/jsx/components/DataTable/DataTableStateContext.native.js.map +1 -1
- package/dist/jsx/components/DataTable/index.native.js +59 -93
- package/dist/jsx/components/DataTable/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableBulkActions/index.mjs +0 -4
- package/dist/jsx/components/DataTableBulkActions/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableBulkActions/index.native.js +0 -4
- package/dist/jsx/components/DataTableBulkActions/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableCell/index.mjs +17 -2
- package/dist/jsx/components/DataTableCell/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableCell/index.native.js +16 -1
- package/dist/jsx/components/DataTableCell/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableDateFilter/index.mjs +0 -7
- package/dist/jsx/components/DataTableDateFilter/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableDateFilter/index.native.js +0 -7
- package/dist/jsx/components/DataTableDateFilter/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableFilterButton/index.mjs +0 -1
- package/dist/jsx/components/DataTableFilterButton/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableFilterButton/index.native.js +0 -1
- package/dist/jsx/components/DataTableFilterChips/FilterChip.mjs +3 -2
- package/dist/jsx/components/DataTableFilterChips/FilterChip.mjs.map +1 -1
- package/dist/jsx/components/DataTableFilterChips/FilterChip.native.js +4 -1
- package/dist/jsx/components/DataTableFilterChips/FilterChip.native.js.map +1 -1
- package/dist/jsx/components/DataTableFilters/index.mjs +0 -1
- package/dist/jsx/components/DataTableFilters/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableFilters/index.native.js +0 -1
- package/dist/jsx/components/DataTableGrouping/index.mjs +0 -8
- package/dist/jsx/components/DataTableGrouping/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableGrouping/index.native.js +0 -8
- package/dist/jsx/components/DataTableGrouping/index.native.js.map +1 -1
- package/dist/jsx/components/DataTablePagination/index.mjs +30 -14
- package/dist/jsx/components/DataTablePagination/index.mjs.map +1 -1
- package/dist/jsx/components/DataTablePagination/index.native.js +30 -14
- package/dist/jsx/components/DataTablePagination/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableSearch/index.mjs +0 -3
- package/dist/jsx/components/DataTableSearch/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableSearch/index.native.js +0 -3
- package/dist/jsx/components/DataTableSearch/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableToolbar/index.mjs +0 -1
- package/dist/jsx/components/DataTableToolbar/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableToolbar/index.native.js +0 -1
- package/dist/jsx/components/DataTableToolbar/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableViewOptions/index.mjs +0 -5
- package/dist/jsx/components/DataTableViewOptions/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableViewOptions/index.native.js +0 -5
- package/dist/jsx/components/DataTableViewOptions/index.native.js.map +1 -1
- package/dist/jsx/components/FilterManager.mjs +0 -1
- package/dist/jsx/components/FilterManager.mjs.map +1 -1
- package/dist/jsx/components/FilterManager.native.js +0 -1
- package/dist/jsx/components/FilterManager.native.js.map +1 -1
- package/dist/jsx/components/FilterOperatorValueEditor/index.mjs +2 -2
- package/dist/jsx/components/FilterOperatorValueEditor/index.mjs.map +1 -1
- package/dist/jsx/components/FilterOperatorValueEditor/index.native.js +2 -2
- package/dist/jsx/components/FilterOperatorValueEditor/index.native.js.map +1 -1
- package/dist/jsx/components/TableInput/index.mjs +3 -2
- package/dist/jsx/components/TableInput/index.mjs.map +1 -1
- package/dist/jsx/components/TableInput/index.native.js +4 -2
- package/dist/jsx/components/TableInput/index.native.js.map +1 -1
- package/dist/jsx/hooks/useDataTable.mjs +24 -8
- package/dist/jsx/hooks/useDataTable.mjs.map +1 -1
- package/dist/jsx/hooks/useDataTable.native.js +28 -8
- package/dist/jsx/hooks/useDataTable.native.js.map +1 -1
- package/dist/jsx/index.js +3 -1
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +3 -1
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +12 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/shared/devWarn.mjs +43 -0
- package/dist/jsx/shared/devWarn.mjs.map +1 -0
- package/dist/jsx/shared/devWarn.native.js +84 -0
- package/dist/jsx/shared/devWarn.native.js.map +1 -0
- package/dist/jsx/utils/columnAlign.mjs +4 -1
- package/dist/jsx/utils/columnAlign.mjs.map +1 -1
- package/dist/jsx/utils/columnAlign.native.js +4 -1
- package/dist/jsx/utils/columnAlign.native.js.map +1 -1
- package/dist/jsx/utils/filterFields.mjs +5 -0
- package/dist/jsx/utils/filterFields.mjs.map +1 -1
- package/dist/jsx/utils/filterFields.native.js +5 -0
- package/dist/jsx/utils/filterFields.native.js.map +1 -1
- package/dist/jsx/utils/filterUtils.mjs +30 -0
- package/dist/jsx/utils/filterUtils.mjs.map +1 -1
- package/dist/jsx/utils/filterUtils.native.js +50 -0
- package/dist/jsx/utils/filterUtils.native.js.map +1 -1
- package/dist/jsx/utils/money.mjs +104 -0
- package/dist/jsx/utils/money.mjs.map +1 -0
- package/dist/jsx/utils/money.native.js +165 -0
- package/dist/jsx/utils/money.native.js.map +1 -0
- package/dist/jsx/utils/rowAccumulator.mjs +23 -0
- package/dist/jsx/utils/rowAccumulator.mjs.map +1 -0
- package/dist/jsx/utils/rowAccumulator.native.js +51 -0
- package/dist/jsx/utils/rowAccumulator.native.js.map +1 -0
- package/package.json +12 -12
- package/src/components/ColumnHeaderFilter/ColumnHeaderFilter.spec.tsx +142 -7
- package/src/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.tsx +46 -9
- package/src/components/ColumnHeaderFilter/index.tsx +104 -47
- package/src/components/DataTable/DataTable.spec.tsx +5 -3
- package/src/components/DataTable/DataTable.stories.tsx +186 -14
- package/src/components/DataTable/DataTableCardControls.tsx +11 -13
- package/src/components/DataTable/DataTableMobileCards.tsx +162 -39
- package/src/components/DataTable/DataTableRoot.tsx +40 -14
- package/src/components/DataTable/DataTableStateContext.ts +7 -0
- package/src/components/DataTable/cardLayout.spec.tsx +19 -8
- package/src/components/DataTable/columnWidthLayout.spec.tsx +195 -0
- package/src/components/DataTable/dataTableMobileCards.spec.tsx +50 -2
- package/src/components/DataTable/headerSorting.spec.tsx +25 -0
- package/src/components/DataTable/index.native.tsx +80 -124
- package/src/components/DataTable/moneyColumn.spec.tsx +151 -0
- package/src/components/DataTable/nativeCardParity.spec.tsx +95 -0
- package/src/components/DataTable/rowAccumulator.spec.tsx +171 -0
- package/src/components/DataTableBulkActions/index.tsx +0 -4
- package/src/components/DataTableCell/index.tsx +28 -2
- package/src/components/DataTableColumnPinning/DataTableColumnPinning.stories.tsx +0 -4
- package/src/components/DataTableDateFilter/index.tsx +0 -7
- package/src/components/DataTableFilterButton/index.tsx +1 -1
- package/src/components/DataTableFilterChips/FilterChip.spec.tsx +6 -0
- package/src/components/DataTableFilterChips/FilterChip.tsx +3 -2
- package/src/components/DataTableFilters/index.tsx +1 -1
- package/src/components/DataTableGrouping/DataTableGrouping.stories.tsx +0 -4
- package/src/components/DataTableGrouping/index.tsx +1 -13
- package/src/components/DataTablePagination/DataTablePagination.stories.tsx +14 -1
- package/src/components/DataTablePagination/DataTablePagination.width.spec.tsx +51 -0
- package/src/components/DataTablePagination/index.tsx +60 -16
- package/src/components/DataTableSearch/index.tsx +2 -3
- package/src/components/DataTableToolbar/DataTableToolbar.stories.tsx +2 -4
- package/src/components/DataTableToolbar/index.tsx +1 -5
- package/src/components/DataTableViewOptions/index.tsx +2 -13
- package/src/components/FilterManager.tsx +1 -3
- package/src/components/FilterOperatorValueEditor/FilterOperatorValueEditor.spec.tsx +1 -1
- package/src/components/FilterOperatorValueEditor/FilterOperatorValueEditor.stories.tsx +1 -0
- package/src/components/FilterOperatorValueEditor/index.tsx +10 -2
- package/src/components/TableInput/index.native.tsx +3 -2
- package/src/components/TableInput/index.tsx +3 -2
- package/src/hooks/useDataTable.ts +43 -7
- package/src/index.ts +13 -0
- package/src/shared/devWarn.ts +97 -0
- package/src/types.ts +71 -2
- package/src/utils/columnAlign.ts +9 -1
- package/src/utils/filterFields.ts +23 -1
- package/src/utils/filterUtils.ts +50 -1
- package/src/utils/money.spec.ts +156 -0
- package/src/utils/money.ts +202 -0
- package/src/utils/rowAccumulator.ts +136 -0
- package/types/components/ColumnHeaderFilter/index.d.ts +9 -2
- package/types/components/ColumnHeaderFilter/index.d.ts.map +1 -1
- package/types/components/DataTable/DataTableCardControls.d.ts.map +1 -1
- package/types/components/DataTable/DataTableMobileCards.d.ts +42 -8
- package/types/components/DataTable/DataTableMobileCards.d.ts.map +1 -1
- package/types/components/DataTable/DataTableRoot.d.ts +1 -1
- package/types/components/DataTable/DataTableRoot.d.ts.map +1 -1
- package/types/components/DataTable/DataTableStateContext.d.ts +7 -0
- package/types/components/DataTable/DataTableStateContext.d.ts.map +1 -1
- package/types/components/DataTable/index.native.d.ts +1 -1
- package/types/components/DataTable/index.native.d.ts.map +1 -1
- package/types/components/DataTableBulkActions/index.d.ts.map +1 -1
- package/types/components/DataTableCell/index.d.ts.map +1 -1
- package/types/components/DataTableDateFilter/index.d.ts.map +1 -1
- package/types/components/DataTableFilterChips/FilterChip.d.ts.map +1 -1
- package/types/components/DataTableGrouping/index.d.ts.map +1 -1
- package/types/components/DataTablePagination/index.d.ts.map +1 -1
- package/types/components/DataTableSearch/index.d.ts.map +1 -1
- package/types/components/DataTableToolbar/index.d.ts.map +1 -1
- package/types/components/DataTableViewOptions/index.d.ts.map +1 -1
- package/types/components/FilterManager.d.ts.map +1 -1
- package/types/components/FilterOperatorValueEditor/index.d.ts.map +1 -1
- package/types/components/TableInput/index.d.ts.map +1 -1
- package/types/components/TableInput/index.native.d.ts.map +1 -1
- package/types/hooks/useDataTable.d.ts +1 -1
- package/types/hooks/useDataTable.d.ts.map +1 -1
- package/types/index.d.ts +3 -0
- package/types/index.d.ts.map +1 -1
- package/types/shared/devWarn.d.ts +50 -0
- package/types/shared/devWarn.d.ts.map +1 -0
- package/types/types.d.ts +71 -3
- package/types/types.d.ts.map +1 -1
- package/types/utils/columnAlign.d.ts.map +1 -1
- package/types/utils/filterFields.d.ts.map +1 -1
- package/types/utils/filterUtils.d.ts +1 -1
- package/types/utils/filterUtils.d.ts.map +1 -1
- package/types/utils/money.d.ts +94 -0
- package/types/utils/money.d.ts.map +1 -0
- package/types/utils/rowAccumulator.d.ts +107 -0
- package/types/utils/rowAccumulator.d.ts.map +1 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
const moneyPattern = /^\s*([+-]?)(\d*)(?:\.(\d*))?\s*$/;
|
|
2
|
+
function scaleMoney(raw) {
|
|
3
|
+
const match = moneyPattern.exec(raw);
|
|
4
|
+
const whole = match?.[2] ?? "";
|
|
5
|
+
const fraction = match?.[3] ?? "";
|
|
6
|
+
if (!match || whole === "" && fraction === "") {
|
|
7
|
+
throw new Error(`money: not a decimal string: ${JSON.stringify(raw)}`);
|
|
8
|
+
}
|
|
9
|
+
const magnitude = BigInt((whole || "0") + fraction);
|
|
10
|
+
return {
|
|
11
|
+
units: match[1] === "-" ? -magnitude : magnitude,
|
|
12
|
+
scale: fraction.length
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function atScale(money, scale) {
|
|
16
|
+
return money.units * BigInt(10) ** BigInt(scale - money.scale);
|
|
17
|
+
}
|
|
18
|
+
function renderScaled(units, scale) {
|
|
19
|
+
const negative = units < BigInt(0);
|
|
20
|
+
const digits = (negative ? -units : units).toString().padStart(scale + 1, "0");
|
|
21
|
+
const split = digits.length - scale;
|
|
22
|
+
const whole = digits.slice(0, split);
|
|
23
|
+
const fraction = digits.slice(split);
|
|
24
|
+
return `${negative ? "-" : ""}${whole}${scale > 0 ? `.${fraction}` : ""}`;
|
|
25
|
+
}
|
|
26
|
+
function isMoneyString(raw) {
|
|
27
|
+
if (typeof raw !== "string") return false;
|
|
28
|
+
const match = moneyPattern.exec(raw);
|
|
29
|
+
return !!match && !(match[2] === "" && (match[3] ?? "") === "");
|
|
30
|
+
}
|
|
31
|
+
function addMoney(a, b) {
|
|
32
|
+
const x = scaleMoney(a);
|
|
33
|
+
const y = scaleMoney(b);
|
|
34
|
+
const scale = Math.max(x.scale, y.scale);
|
|
35
|
+
return renderScaled(atScale(x, scale) + atScale(y, scale), scale);
|
|
36
|
+
}
|
|
37
|
+
function subtractMoney(a, b) {
|
|
38
|
+
const x = scaleMoney(a);
|
|
39
|
+
const y = scaleMoney(b);
|
|
40
|
+
const scale = Math.max(x.scale, y.scale);
|
|
41
|
+
return renderScaled(atScale(x, scale) - atScale(y, scale), scale);
|
|
42
|
+
}
|
|
43
|
+
function sumMoney(values) {
|
|
44
|
+
if (values.length === 0) return "0";
|
|
45
|
+
const scaled = values.map(scaleMoney);
|
|
46
|
+
const scale = scaled.reduce((widest, m) => Math.max(widest, m.scale), 0);
|
|
47
|
+
return renderScaled(scaled.reduce((total, m) => total + atScale(m, scale), BigInt(0)), scale);
|
|
48
|
+
}
|
|
49
|
+
function sumMoneyByCurrency(rows, amountOf, currencyOf) {
|
|
50
|
+
const totals = {};
|
|
51
|
+
for (const row of rows) {
|
|
52
|
+
const amount = amountOf(row);
|
|
53
|
+
if (!isMoneyString(amount)) continue;
|
|
54
|
+
const raw = currencyOf(row);
|
|
55
|
+
const code = typeof raw === "string" && raw ? raw : "\u2014";
|
|
56
|
+
const running = totals[code];
|
|
57
|
+
totals[code] = running ? addMoney(running, amount) : amount;
|
|
58
|
+
}
|
|
59
|
+
return totals;
|
|
60
|
+
}
|
|
61
|
+
function compareMoney(a, b) {
|
|
62
|
+
const x = scaleMoney(a);
|
|
63
|
+
const y = scaleMoney(b);
|
|
64
|
+
const scale = Math.max(x.scale, y.scale);
|
|
65
|
+
const delta = atScale(x, scale) - atScale(y, scale);
|
|
66
|
+
if (delta < BigInt(0)) return -1;
|
|
67
|
+
if (delta > BigInt(0)) return 1;
|
|
68
|
+
return 0;
|
|
69
|
+
}
|
|
70
|
+
function moneyComparator(a, b) {
|
|
71
|
+
const left = isMoneyString(a) ? a : null;
|
|
72
|
+
const right = isMoneyString(b) ? b : null;
|
|
73
|
+
if (left === null && right === null) return 0;
|
|
74
|
+
if (left === null) return -1;
|
|
75
|
+
if (right === null) return 1;
|
|
76
|
+
return compareMoney(left, right);
|
|
77
|
+
}
|
|
78
|
+
function isNegativeMoney(raw) {
|
|
79
|
+
return typeof raw === "string" && raw.trimStart().startsWith("-");
|
|
80
|
+
}
|
|
81
|
+
function formatMoney(raw, currency, locale) {
|
|
82
|
+
if (typeof raw !== "string" || raw === "") return "";
|
|
83
|
+
if (!isMoneyString(raw)) return raw;
|
|
84
|
+
const value = Number(raw);
|
|
85
|
+
if (!Number.isFinite(value)) return raw;
|
|
86
|
+
if (!currency) {
|
|
87
|
+
return value.toLocaleString(locale, {
|
|
88
|
+
minimumFractionDigits: 2
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
try {
|
|
92
|
+
return value.toLocaleString(locale, {
|
|
93
|
+
style: "currency",
|
|
94
|
+
currency,
|
|
95
|
+
minimumFractionDigits: 2
|
|
96
|
+
});
|
|
97
|
+
} catch {
|
|
98
|
+
return `${currency} ${value.toLocaleString(locale, {
|
|
99
|
+
minimumFractionDigits: 2
|
|
100
|
+
})}`;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
export { addMoney, compareMoney, formatMoney, isMoneyString, isNegativeMoney, moneyComparator, subtractMoney, sumMoney, sumMoneyByCurrency };
|
|
104
|
+
//# sourceMappingURL=money.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["moneyPattern","scaleMoney","raw","match","exec","whole","fraction","Error","JSON","stringify","magnitude","BigInt","units","scale","length","atScale","money","renderScaled","negative","digits","toString","padStart","split","slice","isMoneyString","addMoney","a","b","x","y","Math","max","subtractMoney","sumMoney","values","scaled","map","reduce","widest","m","total","sumMoneyByCurrency","rows","amountOf","currencyOf","totals","row","amount","code","running","compareMoney","delta","moneyComparator","left","right","isNegativeMoney","trimStart","startsWith","formatMoney","currency","locale","value","Number","isFinite","toLocaleString","minimumFractionDigits","style"],"sources":["../../../src/utils/money.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
var moneyPattern = /^\s*([+-]?)(\d*)(?:\.(\d*))?\s*$/;
|
|
2
|
+
function scaleMoney(raw) {
|
|
3
|
+
var _ref, _ref1;
|
|
4
|
+
var match = moneyPattern.exec(raw);
|
|
5
|
+
var whole = (_ref = match === null || match === void 0 ? void 0 : match[2]) !== null && _ref !== void 0 ? _ref : "";
|
|
6
|
+
var fraction = (_ref1 = match === null || match === void 0 ? void 0 : match[3]) !== null && _ref1 !== void 0 ? _ref1 : "";
|
|
7
|
+
if (!match || whole === "" && fraction === "") {
|
|
8
|
+
throw new Error(`money: not a decimal string: ${JSON.stringify(raw)}`);
|
|
9
|
+
}
|
|
10
|
+
var magnitude = BigInt((whole || "0") + fraction);
|
|
11
|
+
return {
|
|
12
|
+
units: match[1] === "-" ? -magnitude : magnitude,
|
|
13
|
+
scale: fraction.length
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function atScale(money, scale) {
|
|
17
|
+
return money.units * Math.pow(BigInt(10), BigInt(scale - money.scale));
|
|
18
|
+
}
|
|
19
|
+
function renderScaled(units, scale) {
|
|
20
|
+
var negative = units < BigInt(0);
|
|
21
|
+
var digits = (negative ? -units : units).toString().padStart(scale + 1, "0");
|
|
22
|
+
var split = digits.length - scale;
|
|
23
|
+
var whole = digits.slice(0, split);
|
|
24
|
+
var fraction = digits.slice(split);
|
|
25
|
+
return `${negative ? "-" : ""}${whole}${scale > 0 ? `.${fraction}` : ""}`;
|
|
26
|
+
}
|
|
27
|
+
function isMoneyString(raw) {
|
|
28
|
+
var _match_;
|
|
29
|
+
if (typeof raw !== "string") return false;
|
|
30
|
+
var match = moneyPattern.exec(raw);
|
|
31
|
+
return !!match && !(match[2] === "" && ((_match_ = match[3]) !== null && _match_ !== void 0 ? _match_ : "") === "");
|
|
32
|
+
}
|
|
33
|
+
function addMoney(a, b) {
|
|
34
|
+
var x = scaleMoney(a);
|
|
35
|
+
var y = scaleMoney(b);
|
|
36
|
+
var scale = Math.max(x.scale, y.scale);
|
|
37
|
+
return renderScaled(atScale(x, scale) + atScale(y, scale), scale);
|
|
38
|
+
}
|
|
39
|
+
function subtractMoney(a, b) {
|
|
40
|
+
var x = scaleMoney(a);
|
|
41
|
+
var y = scaleMoney(b);
|
|
42
|
+
var scale = Math.max(x.scale, y.scale);
|
|
43
|
+
return renderScaled(atScale(x, scale) - atScale(y, scale), scale);
|
|
44
|
+
}
|
|
45
|
+
function sumMoney(values) {
|
|
46
|
+
if (values.length === 0) return "0";
|
|
47
|
+
var scaled = values.map(scaleMoney);
|
|
48
|
+
var scale = scaled.reduce(function (widest, m) {
|
|
49
|
+
return Math.max(widest, m.scale);
|
|
50
|
+
}, 0);
|
|
51
|
+
return renderScaled(scaled.reduce(function (total, m) {
|
|
52
|
+
return total + atScale(m, scale);
|
|
53
|
+
}, BigInt(0)), scale);
|
|
54
|
+
}
|
|
55
|
+
function sumMoneyByCurrency(rows, amountOf, currencyOf) {
|
|
56
|
+
var totals = {};
|
|
57
|
+
var _iteratorNormalCompletion = true,
|
|
58
|
+
_didIteratorError = false,
|
|
59
|
+
_iteratorError = void 0;
|
|
60
|
+
try {
|
|
61
|
+
for (var _iterator = rows[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
62
|
+
var row = _step.value;
|
|
63
|
+
var amount = amountOf(row);
|
|
64
|
+
if (!isMoneyString(amount)) continue;
|
|
65
|
+
var raw = currencyOf(row);
|
|
66
|
+
var code = typeof raw === "string" && raw ? raw : "\u2014";
|
|
67
|
+
var running = totals[code];
|
|
68
|
+
totals[code] = running ? addMoney(running, amount) : amount;
|
|
69
|
+
}
|
|
70
|
+
} catch (err) {
|
|
71
|
+
_didIteratorError = true;
|
|
72
|
+
_iteratorError = err;
|
|
73
|
+
} finally {
|
|
74
|
+
try {
|
|
75
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
76
|
+
_iterator.return();
|
|
77
|
+
}
|
|
78
|
+
} finally {
|
|
79
|
+
if (_didIteratorError) {
|
|
80
|
+
throw _iteratorError;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return totals;
|
|
85
|
+
}
|
|
86
|
+
function compareMoney(a, b) {
|
|
87
|
+
var x = scaleMoney(a);
|
|
88
|
+
var y = scaleMoney(b);
|
|
89
|
+
var scale = Math.max(x.scale, y.scale);
|
|
90
|
+
var delta = atScale(x, scale) - atScale(y, scale);
|
|
91
|
+
if (delta < BigInt(0)) return -1;
|
|
92
|
+
if (delta > BigInt(0)) return 1;
|
|
93
|
+
return 0;
|
|
94
|
+
}
|
|
95
|
+
function moneyComparator(a, b) {
|
|
96
|
+
var left = isMoneyString(a) ? a : null;
|
|
97
|
+
var right = isMoneyString(b) ? b : null;
|
|
98
|
+
if (left === null && right === null) return 0;
|
|
99
|
+
if (left === null) return -1;
|
|
100
|
+
if (right === null) return 1;
|
|
101
|
+
return compareMoney(left, right);
|
|
102
|
+
}
|
|
103
|
+
function isNegativeMoney(raw) {
|
|
104
|
+
return typeof raw === "string" && raw.trimStart().startsWith("-");
|
|
105
|
+
}
|
|
106
|
+
function formatMoney(raw, currency, locale) {
|
|
107
|
+
if (typeof raw !== "string" || raw === "") return "";
|
|
108
|
+
if (!isMoneyString(raw)) return raw;
|
|
109
|
+
var value = Number(raw);
|
|
110
|
+
if (!Number.isFinite(value)) return raw;
|
|
111
|
+
if (!currency) {
|
|
112
|
+
return value.toLocaleString(locale, {
|
|
113
|
+
minimumFractionDigits: 2
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
try {
|
|
117
|
+
return value.toLocaleString(locale, {
|
|
118
|
+
style: "currency",
|
|
119
|
+
currency,
|
|
120
|
+
minimumFractionDigits: 2
|
|
121
|
+
});
|
|
122
|
+
} catch (unused) {
|
|
123
|
+
return `${currency} ${value.toLocaleString(locale, {
|
|
124
|
+
minimumFractionDigits: 2
|
|
125
|
+
})}`;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
export { addMoney, compareMoney, formatMoney, isMoneyString, isNegativeMoney, moneyComparator, subtractMoney, sumMoney, sumMoneyByCurrency };
|
|
129
|
+
//# sourceMappingURL=money.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["moneyPattern","scaleMoney","raw","_ref","_ref1","match","exec","whole","fraction","Error","JSON","stringify","magnitude","BigInt","units","scale","length","atScale","money","Math","pow","renderScaled","negative","digits","toString","padStart","split","slice","isMoneyString","_match_","addMoney","a","b","x","y","max","subtractMoney","sumMoney","values","scaled","map","reduce","widest","m","total","sumMoneyByCurrency","rows","amountOf","currencyOf","totals","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","row","value","amount","code","running","err","return","compareMoney","delta","moneyComparator","left"],"sources":["../../../src/utils/money.ts"],"sourcesContent":[null],"mappings":"AAgDA,IAAAA,YAAM,qCAAe;AAOrB,SAASC,WAAWC,GAAA,EAA0B;EAC5C,IAAAC,IAAM,EAAAC,KAAQ;EACd,IAAAC,KAAM,GAAAL,YAAiB,CAAAM,IAAK,CAAAJ,GAAA;EAC5B,IAAAK,KAAM,IAAAJ,IAAW,GAAAE,KAAQ,KAAC,IAAK,IAAAA,KAAA,uBAAAA,KAAA,iBAAAF,IAAA,cAAAA,IAAA;EAC/B,IAAIK,QAAC,GAAU,CAAAJ,KAAA,GAAUC,KAAA,KAAM,QAAAA,KAAkB,uBAAAA,KAAA,iBAAAD,KAAA,cAAAA,KAAA;EAC/C,KAAAC,KAAM,IAAIE,KAAM,WAAAC,QAAA;IAClB,UAAAC,KAAA,iCAAAC,IAAA,CAAAC,SAAA,CAAAT,GAAA;EACA;EACA,IAAAU,SAAS,GAAOC,MAAM,CAAC,CAAAN,KAAM,OAAO,IAAAC,QAAY;EAClD;IAEAM,KAAS,EAAAT,KAAA,CAAQ,OAAoB,OAAuBO,SAAA,GAAAA,SAAA;IAC1DG,KAAO,EAAAP,QAAM,CAAAQ;EACf;AAEA;AACE,SAAMC,QAAAC,KAAW,EAAAH,KAAQ;EACzB,OAAMG,KAAA,CAAAJ,KAAU,GAAAK,IAAA,CAAAC,GAAY,CAAAP,MAAQ,MAAAA,MAAO,CAAAE,KAAW,GAAAG,KAAA,CAASH,KAAA;AAC/D;AACA,SAAMM,YAAQA,CAAAP,KAAO,EAAMC,KAAG;EAC9B,IAAAO,QAAM,GAAAR,KAAW,GAAAD,MAAO,CAAM;EAC9B,IAAAU,MAAU,IAAAD,QAAW,IAAAR,KAAQ,GAAGA,KAAK,EAAGU,QAAQ,GAAIC,QAAI,CAAAV,KAAQ,GAAK,GAAE;EACzE,IAAAW,KAAA,GAAAH,MAAA,CAAAP,MAAA,GAAAD,KAAA;EAGO,IAAAR,KAAS,GAAAgB,MAAA,CAAAI,KAAc,EAA6B,EAAAD,KAAA;EACzD,IAAIlB,QAAO,GAAAe,MAAQ,CAAAI,KAAA,CAAUD,KAAA;EAC7B,OAAM,GAAAJ,QAAQ,SAAa,KAAKf,KAAG,GAAAQ,KAAA,WAAAP,QAAA;AACnC;AACF,SAAAoB,cAAA1B,GAAA;EAGO,IAAA2B,OAAS;EACd,WAAU3B,GAAA,aAAY;EACtB,IAAAG,KAAM,GAAIL,YAAY,CAAAM,IAAA,CAAAJ,GAAA;EACtB,OAAM,EAAAG,KAAQ,MAAKA,KAAM,QAAO,EAAE,IAAK,EAAAwB,OAAA,GAAAxB,KAAA,iBAAAwB,OAAA,cAAAA,OAAA;AACvC;AACF,SAAAC,SAAAC,CAAA,EAAAC,CAAA;EAGO,IAAAC,CAAA,GAAShC,UAAA,CAAA8B,CAAA,CAAc;EAC5B,IAAAG,CAAA,GAAMjC,UAAI,CAAA+B,CAAA,CAAW;EACrB,IAAAjB,KAAM,GAAII,IAAA,CAAAgB,GAAA,CAAWF,CAAC,CAAAlB,KAAA,EAAAmB,CAAA,CAAAnB,KAAA;EACtB,OAAMM,YAAa,CAAAJ,OAAM,CAAAgB,CAAA,EAAAlB,KAAS,IAAKE,OAAA,CAAAiB,CAAA,EAAAnB,KAAA,GAAAA,KAAA;AACvC;AACF,SAAAqB,cAAAL,CAAA,EAAAC,CAAA;EAMO,IAAAC,CAAA,GAAShC,UAAS,CAAA8B,CAAA;EACvB,IAAIG,CAAA,GAAAjC,UAAO,CAAA+B,CAAA;EACX,IAAAjB,KAAM,GAAAI,IAAS,CAAAgB,GAAA,CAAAF,CAAO,CAAAlB,KAAI,EAAAmB,CAAA,CAAAnB,KAAU;EACpC,OAAMM,YAAQ,CAAAJ,OAAO,CAAOgB,CAAC,EAAAlB,KAAA,CAAQ,GAAAE,OAAM,CAAKiB,CAAA,EAAAnB,KAAI,GAAAA,KAAU;AAC9D;AAAO,SACLsB,QAAOA,CAAOC,MAAC,EAAO;EAA0C,IAChEA,MAAA,CAAAtB,MAAA;EACF,IAAAuB,MAAA,GAAAD,MAAA,CAAAE,GAAA,CAAAvC,UAAA;EACF,IAAAc,KAAA,GAAAwB,MAAA,CAAAE,MAAA,WAAAC,MAAA,EAAAC,CAAA;IAaO,OAASxB,IAAA,CAAAgB,GAAA,CAAAO,MAAA,EACdC,CAAA,CAAA5B,KACA;EAGA;EACA,OAAAM,YAAkB,CAAAkB,MAAM,CAAAE,MAAA,WAAAG,KAAA,EAAAD,CAAA;IACtB,OAAMC,KAAA,GAAS3B,OAAA,CAAA0B,CAAS,EAAA5B,KAAG;EAC3B,GAAAF,MAAK,MAAAE,KAAA,CAAc;AACnB;AACA,SAAA8B,kBAAoBA,CAAAC,IAAQ,EAAAC,QAAA,EAAYC,UAAM,EAAM;EACpD,IAAAC,MAAM;EACN,IAAAC,yBAAyB,OAAS;IAAAC,iBAAmB;IAAAC,cAAA;EACvD;IACA,KAAO,IAAAC,SAAA,GAAAP,IAAA,CAAAQ,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MACT,IAAAS,GAAA,GAAAH,KAAA,CAAAI,KAAA;MAOO,IAASC,MAAA,GAAAd,QAAwB,CAAmBY,GAAA;MACzD,IAAM,CAAA/B,aAAgB,CAAAiC,MAAA;MACtB,IAAM3D,GAAI,GAAA8C,UAAY,CAAAW,GAAA;MACtB,IAAMG,IAAA,GAAQ,OAAK5D,GAAM,aAAS,IAAKA,GAAA,GAAAA,GAAA;MACvC,IAAM6D,OAAQ,GAAAd,MAAQ,CAAGa,IAAA,CAAK;MAC1Bb,MAAA,CAAAa,IAAQ,IAAOC,OAAI,GAAAjC,QAAO,CAAAiC,OAAA,EAAAF,MAAA,IAAAA,MAAA;IAC9B;EACA,SAAOG,GAAA;IACTb,iBAAA;IAQOC,cAAS,GAAAY,GAAA;EACd,UAAM;IACN,IAAM;MACF,KAAAd,yBAA2B,IAAMG,SAAO,CAAAY,MAAA;QACxCZ,SAAS,CAAAY,MAAM;MACf;IACJ,UAAO;MACT,IAAAd,iBAAA;QAGO,MAASC,cAAgB;MAC9B;IACF;EASO;EACL,OAAIH,MAAO;AACX;AACA,SAAMiB,YAAQA,CAAAnC,CAAO,EAAAC,CAAG;EACxB,IAAIC,CAAC,GAAAhC,UAAO,CAAA8B,CAAA,CAAS;EACrB,IAAIG,CAAC,GAAAjC,UAAU,CAAA+B,CAAA;EACb,IAAAjB,KAAO,GAAAI,IAAM,CAAAgB,GAAA,CAAAF,CAAA,CAAAlB,KAAA,EAAemB,CAAA,CAAAnB,KAAA,CAAQ;EACtC,IAAAoD,KAAA,GAAAlD,OAAA,CAAAgB,CAAA,EAAAlB,KAAA,IAAAE,OAAA,CAAAiB,CAAA,EAAAnB,KAAA;EACA,IAAIoD,KAAA,GAAAtD,MAAA;EACF,IAAAsD,KAAO,GAAAtD,MAAM,YAAe;EAC9B,QAAQ;AAGN;AAAgF,SAClFuD,gBAAArC,CAAA,EAAAC,CAAA;EACF,IAAAqC,IAAA,GAAAzC,aAAA,CAAAG,CAAA,IAAAA,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
function accumulateRows(data, accumulator) {
|
|
2
|
+
if (!accumulator) return {
|
|
3
|
+
rows: data,
|
|
4
|
+
total: void 0
|
|
5
|
+
};
|
|
6
|
+
const ordered = accumulator.order ? [...data].sort(accumulator.order) : data;
|
|
7
|
+
let carried = typeof accumulator.initial === "function" ? accumulator.initial() : accumulator.initial;
|
|
8
|
+
const rows = ordered.map((row, index) => {
|
|
9
|
+
carried = accumulator.reduce(carried, row, index);
|
|
10
|
+
const derived = accumulator.derive(carried, row, index);
|
|
11
|
+
if (!derived) return row;
|
|
12
|
+
return {
|
|
13
|
+
...row,
|
|
14
|
+
...derived
|
|
15
|
+
};
|
|
16
|
+
});
|
|
17
|
+
return {
|
|
18
|
+
rows,
|
|
19
|
+
total: accumulator.total ? accumulator.total(carried, rows.length) : void 0
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export { accumulateRows };
|
|
23
|
+
//# sourceMappingURL=rowAccumulator.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["accumulateRows","data","accumulator","rows","total","ordered","order","sort","carried","initial","map","row","index","reduce","derived","derive","length"],"sources":["../../../src/utils/rowAccumulator.ts"],"sourcesContent":[null],"mappings":"AA6GO,SAASA,eACdC,IAAA,EACAC,WAAA,EAC6B;EAC7B,IAAI,CAACA,WAAA,EAAa,OAAO;IAAEC,IAAA,EAAMF,IAAA;IAAMG,KAAA,EAAO;EAAU;EAExD,MAAMC,OAAA,GAAUH,WAAA,CAAYI,KAAA,GAAQ,CAAC,GAAGL,IAAI,EAAEM,IAAA,CAAKL,WAAA,CAAYI,KAAK,IAAIL,IAAA;EAExE,IAAIO,OAAA,GACF,OAAON,WAAA,CAAYO,OAAA,KAAY,aAC1BP,WAAA,CAAYO,OAAA,CAA0B,IACvCP,WAAA,CAAYO,OAAA;EAElB,MAAMN,IAAA,GAAOE,OAAA,CAAQK,GAAA,CAAI,CAACC,GAAA,EAAKC,KAAA,KAAU;IACvCJ,OAAA,GAAUN,WAAA,CAAYW,MAAA,CAAOL,OAAA,EAASG,GAAA,EAAKC,KAAK;IAChD,MAAME,OAAA,GAAUZ,WAAA,CAAYa,MAAA,CAAOP,OAAA,EAASG,GAAA,EAAKC,KAAK;IAGtD,IAAI,CAACE,OAAA,EAAS,OAAOH,GAAA;IACrB,OAAO;MAAE,GAAGA,GAAA;MAAK,GAAGG;IAAQ;EAC9B,CAAC;EAED,OAAO;IACLX,IAAA;IACAC,KAAA,EAAOF,WAAA,CAAYE,KAAA,GAAQF,WAAA,CAAYE,KAAA,CAAMI,OAAA,EAASL,IAAA,CAAKa,MAAM,IAAI;EACvE;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
function accumulateRows(data, accumulator) {
|
|
2
|
+
if (!accumulator) return {
|
|
3
|
+
rows: data,
|
|
4
|
+
total: void 0
|
|
5
|
+
};
|
|
6
|
+
var ordered = accumulator.order ? [...data].sort(accumulator.order) : data;
|
|
7
|
+
var carried = typeof accumulator.initial === "function" ? accumulator.initial() : accumulator.initial;
|
|
8
|
+
var rows = ordered.map(function (row, index) {
|
|
9
|
+
carried = accumulator.reduce(carried, row, index);
|
|
10
|
+
var derived = accumulator.derive(carried, row, index);
|
|
11
|
+
if (!derived) return row;
|
|
12
|
+
return {
|
|
13
|
+
...row,
|
|
14
|
+
...derived
|
|
15
|
+
};
|
|
16
|
+
});
|
|
17
|
+
return {
|
|
18
|
+
rows,
|
|
19
|
+
total: accumulator.total ? accumulator.total(carried, rows.length) : void 0
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export { accumulateRows };
|
|
23
|
+
//# sourceMappingURL=rowAccumulator.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["accumulateRows","data","accumulator","rows","total","ordered","order","sort","carried","initial","map","row","index","reduce","derived","derive"],"sources":["../../../src/utils/rowAccumulator.ts"],"sourcesContent":[null],"mappings":"AA6GO,SAASA,eACdC,IAAA,EACAC,WAAA,EAC6B;EAC7B,IAAI,CAACA,WAAA,EAAa,OAAO;IAEzBC,IAAM,EAAAF,IAAA;IAENG,KAAI,OACF;EAIF;EACE,IAAAC,OAAA,GAAUH,WAAY,CAAAI,KAAO,IAC7B,GAAAL,IAAM,CAGN,CAAAM,IAAI,CAACL,WAAS,CAAAI,KAAO,IAAAL,IAAA;EACrB,IAAAO,OAAS,GAAG,OAAKN,WAAW,CAAAO,OAAA,kBAAAP,WAAA,CAAAO,OAAA,KAAAP,WAAA,CAAAO,OAAA;EAC9B,IAACN,IAAA,GAAAE,OAAA,CAAAK,GAAA,WAAAC,GAAA,EAAAC,KAAA;IAEDJ,OAAO,GAAAN,WAAA,CAAAW,MAAA,CAAAL,OAAA,EAAAG,GAAA,EAAAC,KAAA;IACL,IAAAE,OAAA,GAAAZ,WAAA,CAAAa,MAAA,CAAAP,OAAA,EAAAG,GAAA,EAAAC,KAAA;IACA,KAAAE,OAAO,SAAYH,GAAA;IACrB;MACF,GAAAA,GAAA","ignoreList":[]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { FunnelIcon } from "@phosphor-icons/react";
|
|
2
2
|
import { Button } from "@multiplatform.one/forms";
|
|
3
|
-
import { MIN_PRESS_TARGET, pressTargetHitSlop, pressTargetStyle, useResolvedKnobs } from "@multiplatform.one/theme";
|
|
4
|
-
import { useState } from "react";
|
|
3
|
+
import { ensureCompositeFocusRing, MIN_PRESS_TARGET, pressTargetHitSlop, pressTargetStyle, useAccentOnSurface, useResolvedKnobs, useGlyphColor } from "@multiplatform.one/theme";
|
|
4
|
+
import { useId, useRef, useState } from "react";
|
|
5
5
|
import { Tooltip } from "@multiplatform.one/components";
|
|
6
|
-
import { Popover, Text, View, XStack, YStack } from "tamagui";
|
|
6
|
+
import { Popover, Text, View, XStack, YStack, isWeb } from "tamagui";
|
|
7
7
|
import { t } from "../../shared/t.mjs";
|
|
8
8
|
import { iconSizeForToken } from "../../utils/chromeIcons.mjs";
|
|
9
|
-
import { operatorNeedsNoValue } from "../../utils/filterFields.mjs";
|
|
9
|
+
import { defaultOperatorForFilterType, operatorNeedsNoValue } from "../../utils/filterFields.mjs";
|
|
10
10
|
import { FilterOperatorValueEditor } from "../FilterOperatorValueEditor/index.mjs";
|
|
11
11
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
12
|
const FILTER_TRIGGER_VISUAL = 22;
|
|
@@ -15,7 +15,7 @@ function ColumnHeaderFilter({
|
|
|
15
15
|
columnId: _columnId,
|
|
16
16
|
columnLabel,
|
|
17
17
|
columnType,
|
|
18
|
-
filterValue
|
|
18
|
+
filterValue,
|
|
19
19
|
onFilterChange,
|
|
20
20
|
options,
|
|
21
21
|
isFiltered
|
|
@@ -23,10 +23,24 @@ function ColumnHeaderFilter({
|
|
|
23
23
|
const {
|
|
24
24
|
knobProps
|
|
25
25
|
} = useResolvedKnobs();
|
|
26
|
+
const idleColor = useGlyphColor("$color11");
|
|
27
|
+
const activeColor = useAccentOnSurface();
|
|
28
|
+
const glyphColor = isFiltered ? activeColor : idleColor;
|
|
29
|
+
const popoverScope = useId();
|
|
30
|
+
const triggerRef = useRef(null);
|
|
31
|
+
const returnFocusRef = useRef(true);
|
|
32
|
+
ensureCompositeFocusRing();
|
|
26
33
|
const iconPx = iconSizeForToken(String(knobProps.sizeToken));
|
|
27
34
|
const [open, setOpen] = useState(false);
|
|
28
|
-
const [operator, setOperator] = useState(
|
|
35
|
+
const [operator, setOperator] = useState(() => defaultOperatorForFilterType(columnType));
|
|
29
36
|
const [value, setValue] = useState("");
|
|
37
|
+
const handleOpenChange = next => {
|
|
38
|
+
if (next && !open) {
|
|
39
|
+
setOperator(filterValue?.operator ?? defaultOperatorForFilterType(columnType));
|
|
40
|
+
setValue(filterValue?.value == null ? "" : String(filterValue.value));
|
|
41
|
+
}
|
|
42
|
+
setOpen(next);
|
|
43
|
+
};
|
|
30
44
|
const handleApply = () => {
|
|
31
45
|
if (operatorNeedsNoValue(operator)) {
|
|
32
46
|
onFilterChange({
|
|
@@ -43,54 +57,76 @@ function ColumnHeaderFilter({
|
|
|
43
57
|
};
|
|
44
58
|
const handleClear = () => {
|
|
45
59
|
setValue("");
|
|
46
|
-
setOperator(
|
|
60
|
+
setOperator(defaultOperatorForFilterType(columnType));
|
|
47
61
|
onFilterChange(void 0);
|
|
48
62
|
};
|
|
49
63
|
return /* @__PURE__ */jsxs(Popover, {
|
|
64
|
+
scope: popoverScope,
|
|
50
65
|
open,
|
|
51
|
-
onOpenChange:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
children: /* @__PURE__ */jsx(
|
|
55
|
-
|
|
56
|
-
children: /* @__PURE__ */jsx(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
alignItems: "center",
|
|
60
|
-
justifyContent: "center",
|
|
61
|
-
marginVertical: -FILTER_TRIGGER_OUTSET,
|
|
62
|
-
marginHorizontal: -FILTER_TRIGGER_OUTSET,
|
|
63
|
-
hitSlop: pressTargetHitSlop(FILTER_TRIGGER_VISUAL),
|
|
64
|
-
opacity: isFiltered ? 1 : 0.7,
|
|
65
|
-
hoverStyle: {
|
|
66
|
-
opacity: 1
|
|
67
|
-
},
|
|
68
|
-
pressStyle: {
|
|
69
|
-
opacity: 0.9
|
|
70
|
-
},
|
|
71
|
-
onPress: e => {
|
|
72
|
-
e.stopPropagation();
|
|
73
|
-
setOpen(true);
|
|
74
|
-
},
|
|
75
|
-
role: "button",
|
|
76
|
-
"aria-label": `Filter column ${columnLabel}`,
|
|
66
|
+
onOpenChange: handleOpenChange,
|
|
67
|
+
disableFocus: true,
|
|
68
|
+
children: [/* @__PURE__ */jsx(Popover.Anchor, {
|
|
69
|
+
children: /* @__PURE__ */jsx(Tooltip, {
|
|
70
|
+
content: isFiltered ? t("Edit filter") : t("Filter this column"),
|
|
71
|
+
children: /* @__PURE__ */jsx(Popover.Trigger, {
|
|
72
|
+
scope: popoverScope,
|
|
73
|
+
asChild: true,
|
|
77
74
|
children: /* @__PURE__ */jsx(View, {
|
|
78
|
-
|
|
79
|
-
|
|
75
|
+
ref: triggerRef,
|
|
76
|
+
cursor: "pointer",
|
|
77
|
+
...pressTargetStyle(),
|
|
80
78
|
alignItems: "center",
|
|
81
79
|
justifyContent: "center",
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
marginVertical: -FILTER_TRIGGER_OUTSET,
|
|
81
|
+
marginHorizontal: -FILTER_TRIGGER_OUTSET,
|
|
82
|
+
hitSlop: pressTargetHitSlop(FILTER_TRIGGER_VISUAL),
|
|
83
|
+
className: "mp-chip-dismiss",
|
|
84
|
+
tabIndex: 0,
|
|
85
|
+
onKeyDown: event => {
|
|
86
|
+
if (event.key !== "Enter" && event.key !== " ") return;
|
|
87
|
+
event.preventDefault();
|
|
88
|
+
event.stopPropagation();
|
|
89
|
+
handleOpenChange(true);
|
|
90
|
+
},
|
|
91
|
+
onPress: e => {
|
|
92
|
+
e.stopPropagation();
|
|
93
|
+
handleOpenChange(true);
|
|
84
94
|
},
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
95
|
+
role: "button",
|
|
96
|
+
"aria-label": `Filter column ${columnLabel}`,
|
|
97
|
+
children: /* @__PURE__ */jsx(View, {
|
|
98
|
+
className: "mp-chip-dismiss-ring",
|
|
99
|
+
padding: "$1",
|
|
100
|
+
borderRadius: "$2",
|
|
101
|
+
alignItems: "center",
|
|
102
|
+
justifyContent: "center",
|
|
103
|
+
hoverStyle: {
|
|
104
|
+
backgroundColor: "$color4"
|
|
105
|
+
},
|
|
106
|
+
pressStyle: {
|
|
107
|
+
backgroundColor: "$color5"
|
|
108
|
+
},
|
|
109
|
+
children: /* @__PURE__ */jsx(FunnelIcon, {
|
|
110
|
+
size: iconPx,
|
|
111
|
+
color: glyphColor,
|
|
112
|
+
weight: isFiltered ? "fill" : "regular"
|
|
113
|
+
})
|
|
89
114
|
})
|
|
90
115
|
})
|
|
91
116
|
})
|
|
92
117
|
})
|
|
93
118
|
}), /* @__PURE__ */jsxs(Popover.Content, {
|
|
119
|
+
scope: popoverScope,
|
|
120
|
+
onPointerDownOutside: () => {
|
|
121
|
+
returnFocusRef.current = false;
|
|
122
|
+
},
|
|
123
|
+
onCloseAutoFocus: event => {
|
|
124
|
+
event.preventDefault();
|
|
125
|
+
if (isWeb && returnFocusRef.current) {
|
|
126
|
+
triggerRef.current?.focus();
|
|
127
|
+
}
|
|
128
|
+
returnFocusRef.current = true;
|
|
129
|
+
},
|
|
94
130
|
...knobProps.elevatedSurface,
|
|
95
131
|
...knobProps.panelPadding,
|
|
96
132
|
minWidth: 240,
|
|
@@ -104,6 +140,7 @@ function ColumnHeaderFilter({
|
|
|
104
140
|
opacity: 0
|
|
105
141
|
},
|
|
106
142
|
children: [/* @__PURE__ */jsx(Popover.Arrow, {
|
|
143
|
+
scope: popoverScope,
|
|
107
144
|
borderColor: "$borderColor",
|
|
108
145
|
backgroundColor: "$color1"
|
|
109
146
|
}), /* @__PURE__ */jsxs(YStack, {
|
|
@@ -127,7 +164,6 @@ function ColumnHeaderFilter({
|
|
|
127
164
|
justifyContent: "flex-end",
|
|
128
165
|
children: [isFiltered && /* @__PURE__ */jsx(Button, {
|
|
129
166
|
size: knobProps.sizeToken,
|
|
130
|
-
variant: "outlined",
|
|
131
167
|
onPress: handleClear,
|
|
132
168
|
children: t("Clear")
|
|
133
169
|
}), /* @__PURE__ */jsx(Button, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FunnelIcon","Button","MIN_PRESS_TARGET","pressTargetHitSlop","pressTargetStyle","useResolvedKnobs","useState","Tooltip","Popover","Text","View","XStack","YStack","t","iconSizeForToken","operatorNeedsNoValue","FilterOperatorValueEditor","jsx","jsxs","FILTER_TRIGGER_VISUAL","FILTER_TRIGGER_OUTSET","Math","max","ceil","ColumnHeaderFilter","columnId","_columnId","columnLabel","columnType","filterValue","
|
|
1
|
+
{"version":3,"names":["FunnelIcon","Button","ensureCompositeFocusRing","MIN_PRESS_TARGET","pressTargetHitSlop","pressTargetStyle","useAccentOnSurface","useResolvedKnobs","useGlyphColor","useId","useRef","useState","Tooltip","Popover","Text","View","XStack","YStack","isWeb","t","iconSizeForToken","defaultOperatorForFilterType","operatorNeedsNoValue","FilterOperatorValueEditor","jsx","jsxs","FILTER_TRIGGER_VISUAL","FILTER_TRIGGER_OUTSET","Math","max","ceil","ColumnHeaderFilter","columnId","_columnId","columnLabel","columnType","filterValue","onFilterChange","options","isFiltered","knobProps","idleColor","activeColor","glyphColor","popoverScope","triggerRef","returnFocusRef","iconPx","String","sizeToken","open","setOpen","operator","setOperator","value","setValue","handleOpenChange","next","handleApply","handleClear","scope","onOpenChange","disableFocus","children","Anchor","content","Trigger","asChild","ref","cursor","alignItems","justifyContent","marginVertical","marginHorizontal","hitSlop","className","tabIndex","onKeyDown","event","key","preventDefault","stopPropagation","onPress","e","role","padding","borderRadius","hoverStyle","backgroundColor","pressStyle","size","color","weight","Content","onPointerDownOutside","current","onCloseAutoFocus","focus","elevatedSurface","panelPadding","minWidth","transition","enterStyle","y","opacity","exitStyle","Arrow","borderColor","gap","label","fontWeight","column","fieldType","onOperatorChange","onValueChange"],"sources":["../../../../src/components/ColumnHeaderFilter/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|