apex-grid 1.0.1 → 2.0.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/LICENSE +76 -5
- package/README.md +520 -10
- package/components/cell.d.ts +74 -0
- package/components/cell.js +376 -0
- package/components/cell.js.map +1 -0
- package/{dist/src/components → components}/filter-row.d.ts +13 -12
- package/components/filter-row.js +396 -0
- package/components/filter-row.js.map +1 -0
- package/components/grid.d.ts +1173 -0
- package/components/grid.js +620 -0
- package/components/grid.js.map +1 -0
- package/components/header-row.d.ts +43 -0
- package/components/header-row.js +205 -0
- package/components/header-row.js.map +1 -0
- package/{dist/src/components → components}/header.d.ts +11 -5
- package/components/header.js +263 -0
- package/components/header.js.map +1 -0
- package/components/paginator.d.ts +56 -0
- package/components/paginator.js +148 -0
- package/components/paginator.js.map +1 -0
- package/components/row.d.ts +43 -0
- package/components/row.js +239 -0
- package/components/row.js.map +1 -0
- package/components/toolbar.d.ts +60 -0
- package/components/toolbar.js +275 -0
- package/components/toolbar.js.map +1 -0
- package/{dist/src/components → components}/virtualizer.d.ts +2 -3
- package/{dist/src/components → components}/virtualizer.js +3 -3
- package/components/virtualizer.js.map +1 -0
- package/controllers/data-operation.d.ts +31 -0
- package/controllers/data-operation.js +53 -0
- package/controllers/data-operation.js.map +1 -0
- package/controllers/dom.d.ts +55 -0
- package/controllers/dom.js +221 -0
- package/controllers/dom.js.map +1 -0
- package/controllers/editing.d.ts +130 -0
- package/controllers/editing.js +197 -0
- package/controllers/editing.js.map +1 -0
- package/controllers/expansion.d.ts +68 -0
- package/controllers/expansion.js +126 -0
- package/controllers/expansion.js.map +1 -0
- package/{dist/src/controllers → controllers}/filter.d.ts +2 -3
- package/controllers/filter.js +105 -0
- package/controllers/filter.js.map +1 -0
- package/{dist/src/controllers → controllers}/navigation.d.ts +18 -8
- package/{dist/src/controllers → controllers}/navigation.js +31 -20
- package/controllers/navigation.js.map +1 -0
- package/controllers/pagination.d.ts +102 -0
- package/controllers/pagination.js +106 -0
- package/controllers/pagination.js.map +1 -0
- package/controllers/reorder.d.ts +78 -0
- package/controllers/reorder.js +124 -0
- package/controllers/reorder.js.map +1 -0
- package/{dist/src/controllers → controllers}/resize.d.ts +2 -3
- package/controllers/resize.js +52 -0
- package/controllers/resize.js.map +1 -0
- package/controllers/selection.d.ts +109 -0
- package/controllers/selection.js +168 -0
- package/controllers/selection.js.map +1 -0
- package/{dist/src/controllers → controllers}/sort.d.ts +1 -2
- package/controllers/sort.js +122 -0
- package/controllers/sort.js.map +1 -0
- package/controllers/state.d.ts +56 -0
- package/controllers/state.js +74 -0
- package/controllers/state.js.map +1 -0
- package/controllers/tree.d.ts +87 -0
- package/controllers/tree.js +0 -0
- package/controllers/tree.js.map +1 -0
- package/custom-elements.json +6901 -1554
- package/{dist/src/define.d.ts → define.d.ts} +0 -1
- package/define.js.map +1 -0
- package/docs/assets/hierarchy.js +1 -0
- package/docs/assets/highlight.css +127 -0
- package/docs/assets/icons.js +18 -0
- package/docs/assets/icons.svg +1 -0
- package/docs/assets/main.js +60 -0
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1633 -0
- package/docs/classes/ApexGrid.html +371 -0
- package/docs/functions/setup.html +22 -0
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +504 -0
- package/docs/interfaces/ApexCellValueChangedEvent.html +11 -0
- package/docs/interfaces/ApexCellValueChangingEvent.html +13 -0
- package/docs/interfaces/ApexColumnMovedEvent.html +8 -0
- package/docs/interfaces/ApexColumnMovingEvent.html +11 -0
- package/docs/interfaces/ApexColumnPinnedEvent.html +6 -0
- package/docs/interfaces/ApexColumnPinningEvent.html +8 -0
- package/docs/interfaces/ApexDetailContext.html +8 -0
- package/docs/interfaces/ApexFilteredEvent.html +6 -0
- package/docs/interfaces/ApexFilteringEvent.html +12 -0
- package/docs/interfaces/ApexGridEventMap.html +68 -0
- package/docs/interfaces/ApexHeaderContext.html +6 -0
- package/docs/interfaces/ApexPageChangedEvent.html +10 -0
- package/docs/interfaces/ApexPageChangingEvent.html +10 -0
- package/docs/interfaces/ApexQuickFilterChangedEvent.html +4 -0
- package/docs/interfaces/ApexQuickFilterChangingEvent.html +6 -0
- package/docs/interfaces/ApexRowEditEndedEvent.html +6 -0
- package/docs/interfaces/ApexRowEditStartedEvent.html +4 -0
- package/docs/interfaces/ApexRowExpandedEvent.html +8 -0
- package/docs/interfaces/ApexRowExpandingEvent.html +11 -0
- package/docs/interfaces/ApexRowSelectedEvent.html +8 -0
- package/docs/interfaces/ApexRowSelectingEvent.html +11 -0
- package/docs/interfaces/ApexTreeRowExpandedEvent.html +8 -0
- package/docs/interfaces/ApexTreeRowExpandingEvent.html +10 -0
- package/docs/interfaces/BaseApexCellContext.html +16 -0
- package/docs/interfaces/BaseApexEditorContext.html +19 -0
- package/docs/interfaces/BaseColumnConfiguration.html +83 -0
- package/docs/interfaces/BaseColumnSortConfiguration.html +6 -0
- package/docs/interfaces/BaseFilterExpression.html +15 -0
- package/docs/interfaces/BaseSortExpression.html +12 -0
- package/docs/interfaces/CSVExportOptions.html +22 -0
- package/docs/interfaces/ColumnFilterConfiguration.html +4 -0
- package/docs/interfaces/DataPipelineConfiguration.html +15 -0
- package/docs/interfaces/ExportOptions.html +15 -0
- package/docs/interfaces/GridEditingConfiguration.html +10 -0
- package/docs/interfaces/GridExpansionConfiguration.html +15 -0
- package/docs/interfaces/GridSelectionConfiguration.html +11 -0
- package/docs/interfaces/GridSortConfiguration.html +6 -0
- package/docs/interfaces/GridTreeConfiguration.html +33 -0
- package/docs/interfaces/PaginationConfiguration.html +18 -0
- package/docs/interfaces/PaginationState.html +10 -0
- package/docs/interfaces/XLSXExportOptions.html +17 -0
- package/docs/media/package.json +83 -0
- package/docs/media/publish.yml +111 -0
- package/docs/modules.html +1 -0
- package/docs/types/ApexCellContext.html +2 -0
- package/docs/types/ApexEditorContext.html +2 -0
- package/docs/types/BasePropertyType.html +2 -0
- package/docs/types/BaseSortComparer.html +2 -0
- package/docs/types/ColumnConfiguration.html +2 -0
- package/docs/types/ColumnDropPosition.html +2 -0
- package/docs/types/ColumnSortConfiguration.html +2 -0
- package/docs/types/DataPipelineHook.html +2 -0
- package/docs/types/DataPipelineParams.html +8 -0
- package/docs/types/DataType.html +30 -0
- package/docs/types/EditMode.html +6 -0
- package/docs/types/EditTrigger.html +4 -0
- package/docs/types/ExportCellValue.html +5 -0
- package/docs/types/ExportSource.html +8 -0
- package/docs/types/FilterCriteria.html +6 -0
- package/docs/types/FilterExpression.html +2 -0
- package/docs/types/Keys.html +2 -0
- package/docs/types/PaginationMode.html +6 -0
- package/docs/types/PinPosition.html +5 -0
- package/docs/types/PropertyType.html +2 -0
- package/docs/types/SelectionMode.html +7 -0
- package/docs/types/SortComparer.html +2 -0
- package/docs/types/SortExpression.html +2 -0
- package/docs/types/SortState.html +2 -0
- package/docs/types/SortingDirection.html +3 -0
- package/index.d.ts +11 -0
- package/{dist/src/index.js → index.js} +1 -0
- package/index.js.map +1 -0
- package/internal/column-types.d.ts +94 -0
- package/internal/column-types.js +268 -0
- package/internal/column-types.js.map +1 -0
- package/{dist/src/internal → internal}/constants.d.ts +0 -1
- package/internal/constants.js.map +1 -0
- package/internal/export.d.ts +106 -0
- package/internal/export.js +122 -0
- package/internal/export.js.map +1 -0
- package/internal/flip.d.ts +80 -0
- package/internal/flip.js +52 -0
- package/internal/flip.js.map +1 -0
- package/internal/icons.d.ts +24 -0
- package/internal/icons.js +134 -0
- package/internal/icons.js.map +1 -0
- package/{dist/src/internal → internal}/is-defined.d.ts +0 -1
- package/internal/is-defined.js.map +1 -0
- package/{dist/src/internal → internal}/mixins/event-emitter.d.ts +0 -1
- package/internal/mixins/event-emitter.js.map +1 -0
- package/{dist/src/internal → internal}/normalize-case.d.ts +0 -1
- package/internal/normalize-case.js.map +1 -0
- package/{dist/src/internal → internal}/part-map.d.ts +0 -1
- package/{dist/src/internal → internal}/part-map.js +1 -1
- package/internal/part-map.js.map +1 -0
- package/{dist/src/internal → internal}/register.d.ts +3 -4
- package/internal/register.js +9 -0
- package/internal/register.js.map +1 -0
- package/{dist/src/internal → internal}/tags.d.ts +2 -1
- package/{dist/src/internal → internal}/tags.js +2 -0
- package/internal/tags.js.map +1 -0
- package/internal/theming.d.ts +34 -0
- package/internal/theming.js +123 -0
- package/internal/theming.js.map +1 -0
- package/internal/types.d.ts +619 -0
- package/internal/types.js.map +1 -0
- package/internal/utils.d.ts +29 -0
- package/internal/utils.js +75 -0
- package/internal/utils.js.map +1 -0
- package/{dist/src/internal → internal}/watch.d.ts +0 -1
- package/{dist/src/internal → internal}/watch.js +2 -2
- package/internal/watch.js.map +1 -0
- package/internal/xlsx.d.ts +22 -0
- package/internal/xlsx.js +228 -0
- package/internal/xlsx.js.map +1 -0
- package/{dist/src/operations → operations}/base.d.ts +0 -1
- package/operations/base.js.map +1 -0
- package/{dist/src/operations → operations}/filter/operands/boolean.d.ts +0 -1
- package/{dist/src/operations → operations}/filter/operands/boolean.js +5 -5
- package/operations/filter/operands/boolean.js.map +1 -0
- package/{dist/src/operations → operations}/filter/operands/number.d.ts +0 -1
- package/{dist/src/operations → operations}/filter/operands/number.js +2 -2
- package/operations/filter/operands/number.js.map +1 -0
- package/{dist/src/operations → operations}/filter/operands/string.d.ts +0 -1
- package/{dist/src/operations → operations}/filter/operands/string.js +2 -2
- package/operations/filter/operands/string.js.map +1 -0
- package/{dist/src/operations → operations}/filter/state.d.ts +1 -2
- package/{dist/src/operations → operations}/filter/state.js +3 -4
- package/operations/filter/state.js.map +1 -0
- package/{dist/src/operations → operations}/filter/tree.d.ts +1 -2
- package/{dist/src/operations → operations}/filter/tree.js +5 -6
- package/operations/filter/tree.js.map +1 -0
- package/{dist/src/operations → operations}/filter/types.d.ts +0 -1
- package/operations/filter/types.js.map +1 -0
- package/{dist/src/operations → operations}/filter.d.ts +0 -1
- package/{dist/src/operations → operations}/filter.js +4 -7
- package/operations/filter.js.map +1 -0
- package/operations/pagination.d.ts +19 -0
- package/operations/pagination.js +12 -0
- package/operations/pagination.js.map +1 -0
- package/operations/quick-filter.d.ts +21 -0
- package/operations/quick-filter.js +26 -0
- package/operations/quick-filter.js.map +1 -0
- package/{dist/src/operations → operations}/sort/types.d.ts +0 -1
- package/operations/sort/types.js.map +1 -0
- package/{dist/src/operations → operations}/sort.d.ts +0 -1
- package/{dist/src/operations → operations}/sort.js +5 -5
- package/operations/sort.js.map +1 -0
- package/package.json +25 -83
- package/setup.d.ts +58 -0
- package/setup.js +29 -0
- package/setup.js.map +1 -0
- package/{dist/src/styles/body-row/body-row-styles.css.d.ts → styles/_common.css.d.ts} +0 -1
- package/styles/_common.css.js +3 -0
- package/styles/_common.css.js.map +1 -0
- package/{dist/src/styles/body-cell/body-cell-styles.css.d.ts → styles/body-cell/body-cell.css.d.ts} +0 -1
- package/styles/body-cell/body-cell.css.js +3 -0
- package/styles/body-cell/body-cell.css.js.map +1 -0
- package/{dist/src/styles/filter-row/filter-row-styles.css.d.ts → styles/body-row/body-row.css.d.ts} +0 -1
- package/styles/body-row/body-row.css.js +3 -0
- package/styles/body-row/body-row.css.js.map +1 -0
- package/{dist/src/styles/grid/themes/light/grid.fluent-styles.css.d.ts → styles/filter-row/filter-row.css.d.ts} +0 -1
- package/styles/filter-row/filter-row.css.js +3 -0
- package/styles/filter-row/filter-row.css.js.map +1 -0
- package/styles/grid/_grid.base.css.d.ts +1 -0
- package/styles/grid/_grid.base.css.js +3 -0
- package/styles/grid/_grid.base.css.js.map +1 -0
- package/styles/grid/themes/light/grid.bootstrap.css.d.ts +1 -0
- package/styles/grid/themes/light/grid.bootstrap.css.js +3 -0
- package/styles/grid/themes/light/grid.bootstrap.css.js.map +1 -0
- package/styles/grid/themes/light/grid.fluent.css.d.ts +1 -0
- package/styles/grid/themes/light/grid.fluent.css.js +3 -0
- package/styles/grid/themes/light/grid.fluent.css.js.map +1 -0
- package/styles/grid/themes/light/grid.indigo.css.d.ts +1 -0
- package/styles/grid/themes/light/grid.indigo.css.js +3 -0
- package/styles/grid/themes/light/grid.indigo.css.js.map +1 -0
- package/styles/grid/themes/light/grid.material.css.d.ts +1 -0
- package/styles/grid/themes/light/grid.material.css.js +3 -0
- package/styles/grid/themes/light/grid.material.css.js.map +1 -0
- package/styles/header-cell/header-cell.css.d.ts +1 -0
- package/styles/header-cell/header-cell.css.js +3 -0
- package/styles/header-cell/header-cell.css.js.map +1 -0
- package/styles/header-row/header-row.base.css.d.ts +1 -0
- package/styles/header-row/header-row.base.css.js +3 -0
- package/styles/header-row/header-row.base.css.js.map +1 -0
- package/styles/paginator/paginator.css.d.ts +1 -0
- package/styles/paginator/paginator.css.js +3 -0
- package/styles/paginator/paginator.css.js.map +1 -0
- package/styles/toolbar/toolbar.css.d.ts +1 -0
- package/styles/toolbar/toolbar.css.js +3 -0
- package/styles/toolbar/toolbar.css.js.map +1 -0
- package/styles.css +17 -0
- package/dist/bundle.js +0 -2194
- package/dist/docs/assets/highlight.css +0 -43
- package/dist/docs/assets/main.js +0 -58
- package/dist/docs/assets/search.js +0 -1
- package/dist/docs/assets/style.css +0 -1365
- package/dist/docs/classes/ApexGrid.html +0 -327
- package/dist/docs/index.html +0 -82
- package/dist/docs/interfaces/ApexFilteredEvent.html +0 -104
- package/dist/docs/interfaces/ApexFilteringEvent.html +0 -116
- package/dist/docs/interfaces/ApexGridEventMap.html +0 -127
- package/dist/docs/interfaces/ApexHeaderContext.html +0 -104
- package/dist/docs/interfaces/BaseApexCellContext.html +0 -120
- package/dist/docs/interfaces/BaseColumnConfiguration.html +0 -196
- package/dist/docs/interfaces/BaseColumnSortConfiguration.html +0 -106
- package/dist/docs/interfaces/BaseFilterExpression.html +0 -132
- package/dist/docs/interfaces/BaseSortExpression.html +0 -124
- package/dist/docs/interfaces/ColumnFilterConfiguration.html +0 -92
- package/dist/docs/interfaces/DataPipelineConfiguration.html +0 -104
- package/dist/docs/interfaces/GridSortConfiguration.html +0 -99
- package/dist/docs/modules.html +0 -102
- package/dist/docs/types/ApexCellContext.html +0 -74
- package/dist/docs/types/BasePropertyType.html +0 -74
- package/dist/docs/types/BaseSortComparer.html +0 -89
- package/dist/docs/types/ColumnConfiguration.html +0 -74
- package/dist/docs/types/ColumnSortConfiguration.html +0 -74
- package/dist/docs/types/DataPipelineHook.html +0 -85
- package/dist/docs/types/DataPipelineParams.html +0 -87
- package/dist/docs/types/DataType.html +0 -67
- package/dist/docs/types/FilterCriteria.html +0 -71
- package/dist/docs/types/FilterExpression.html +0 -74
- package/dist/docs/types/Keys.html +0 -72
- package/dist/docs/types/PropertyType.html +0 -74
- package/dist/docs/types/SortComparer.html +0 -74
- package/dist/docs/types/SortExpression.html +0 -74
- package/dist/docs/types/SortState.html +0 -72
- package/dist/docs/types/SortingDirection.html +0 -69
- package/dist/src/components/cell.d.ts +0 -36
- package/dist/src/components/cell.d.ts.map +0 -1
- package/dist/src/components/cell.js +0 -55
- package/dist/src/components/cell.js.map +0 -1
- package/dist/src/components/filter-row.d.ts.map +0 -1
- package/dist/src/components/filter-row.js +0 -316
- package/dist/src/components/filter-row.js.map +0 -1
- package/dist/src/components/grid.d.ts +0 -226
- package/dist/src/components/grid.d.ts.map +0 -1
- package/dist/src/components/grid.js +0 -309
- package/dist/src/components/grid.js.map +0 -1
- package/dist/src/components/header-row.d.ts +0 -24
- package/dist/src/components/header-row.d.ts.map +0 -1
- package/dist/src/components/header-row.js +0 -78
- package/dist/src/components/header-row.js.map +0 -1
- package/dist/src/components/header.d.ts.map +0 -1
- package/dist/src/components/header.js +0 -144
- package/dist/src/components/header.js.map +0 -1
- package/dist/src/components/row.d.ts +0 -25
- package/dist/src/components/row.d.ts.map +0 -1
- package/dist/src/components/row.js +0 -68
- package/dist/src/components/row.js.map +0 -1
- package/dist/src/components/virtualizer.d.ts.map +0 -1
- package/dist/src/components/virtualizer.js.map +0 -1
- package/dist/src/controllers/data-operation.d.ts +0 -18
- package/dist/src/controllers/data-operation.d.ts.map +0 -1
- package/dist/src/controllers/data-operation.js +0 -37
- package/dist/src/controllers/data-operation.js.map +0 -1
- package/dist/src/controllers/dom.d.ts +0 -20
- package/dist/src/controllers/dom.d.ts.map +0 -1
- package/dist/src/controllers/dom.js +0 -60
- package/dist/src/controllers/dom.js.map +0 -1
- package/dist/src/controllers/filter.d.ts.map +0 -1
- package/dist/src/controllers/filter.js +0 -119
- package/dist/src/controllers/filter.js.map +0 -1
- package/dist/src/controllers/navigation.d.ts.map +0 -1
- package/dist/src/controllers/navigation.js.map +0 -1
- package/dist/src/controllers/resize.d.ts.map +0 -1
- package/dist/src/controllers/resize.js +0 -70
- package/dist/src/controllers/resize.js.map +0 -1
- package/dist/src/controllers/sort.d.ts.map +0 -1
- package/dist/src/controllers/sort.js +0 -94
- package/dist/src/controllers/sort.js.map +0 -1
- package/dist/src/controllers/state.d.ts +0 -25
- package/dist/src/controllers/state.d.ts.map +0 -1
- package/dist/src/controllers/state.js +0 -40
- package/dist/src/controllers/state.js.map +0 -1
- package/dist/src/define.d.ts.map +0 -1
- package/dist/src/define.js.map +0 -1
- package/dist/src/index.d.ts +0 -9
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/internal/constants.d.ts.map +0 -1
- package/dist/src/internal/constants.js.map +0 -1
- package/dist/src/internal/icon-registry.d.ts +0 -2
- package/dist/src/internal/icon-registry.d.ts.map +0 -1
- package/dist/src/internal/icon-registry.js +0 -29
- package/dist/src/internal/icon-registry.js.map +0 -1
- package/dist/src/internal/is-defined.d.ts.map +0 -1
- package/dist/src/internal/is-defined.js.map +0 -1
- package/dist/src/internal/mixins/event-emitter.d.ts.map +0 -1
- package/dist/src/internal/mixins/event-emitter.js.map +0 -1
- package/dist/src/internal/normalize-case.d.ts.map +0 -1
- package/dist/src/internal/normalize-case.js.map +0 -1
- package/dist/src/internal/part-map.d.ts.map +0 -1
- package/dist/src/internal/part-map.js.map +0 -1
- package/dist/src/internal/register.d.ts.map +0 -1
- package/dist/src/internal/register.js +0 -9
- package/dist/src/internal/register.js.map +0 -1
- package/dist/src/internal/tags.d.ts.map +0 -1
- package/dist/src/internal/tags.js.map +0 -1
- package/dist/src/internal/types.d.ts +0 -199
- package/dist/src/internal/types.d.ts.map +0 -1
- package/dist/src/internal/types.js.map +0 -1
- package/dist/src/internal/utils.d.ts +0 -7
- package/dist/src/internal/utils.d.ts.map +0 -1
- package/dist/src/internal/utils.js +0 -37
- package/dist/src/internal/utils.js.map +0 -1
- package/dist/src/internal/watch.d.ts.map +0 -1
- package/dist/src/internal/watch.js.map +0 -1
- package/dist/src/operations/base.d.ts.map +0 -1
- package/dist/src/operations/base.js.map +0 -1
- package/dist/src/operations/filter/operands/boolean.d.ts.map +0 -1
- package/dist/src/operations/filter/operands/boolean.js.map +0 -1
- package/dist/src/operations/filter/operands/number.d.ts.map +0 -1
- package/dist/src/operations/filter/operands/number.js.map +0 -1
- package/dist/src/operations/filter/operands/string.d.ts.map +0 -1
- package/dist/src/operations/filter/operands/string.js.map +0 -1
- package/dist/src/operations/filter/state.d.ts.map +0 -1
- package/dist/src/operations/filter/state.js.map +0 -1
- package/dist/src/operations/filter/tree.d.ts.map +0 -1
- package/dist/src/operations/filter/tree.js.map +0 -1
- package/dist/src/operations/filter/types.d.ts.map +0 -1
- package/dist/src/operations/filter/types.js.map +0 -1
- package/dist/src/operations/filter.d.ts.map +0 -1
- package/dist/src/operations/filter.js.map +0 -1
- package/dist/src/operations/sort/types.d.ts.map +0 -1
- package/dist/src/operations/sort/types.js.map +0 -1
- package/dist/src/operations/sort.d.ts.map +0 -1
- package/dist/src/operations/sort.js.map +0 -1
- package/dist/src/styles/body-cell/body-cell-styles.css.d.ts.map +0 -1
- package/dist/src/styles/body-cell/body-cell-styles.css.js +0 -71
- package/dist/src/styles/body-cell/body-cell-styles.css.js.map +0 -1
- package/dist/src/styles/body-row/body-row-styles.css.d.ts.map +0 -1
- package/dist/src/styles/body-row/body-row-styles.css.js +0 -38
- package/dist/src/styles/body-row/body-row-styles.css.js.map +0 -1
- package/dist/src/styles/filter-row/filter-row-styles.css.d.ts.map +0 -1
- package/dist/src/styles/filter-row/filter-row-styles.css.js +0 -96
- package/dist/src/styles/filter-row/filter-row-styles.css.js.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.bootstrap-styles.css.d.ts +0 -2
- package/dist/src/styles/grid/themes/light/grid.bootstrap-styles.css.d.ts.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.bootstrap-styles.css.js +0 -83
- package/dist/src/styles/grid/themes/light/grid.bootstrap-styles.css.js.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.fluent-styles.css.d.ts.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.fluent-styles.css.js +0 -83
- package/dist/src/styles/grid/themes/light/grid.fluent-styles.css.js.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.indigo-styles.css.d.ts +0 -2
- package/dist/src/styles/grid/themes/light/grid.indigo-styles.css.d.ts.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.indigo-styles.css.js +0 -83
- package/dist/src/styles/grid/themes/light/grid.indigo-styles.css.js.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.material-styles.css.d.ts +0 -2
- package/dist/src/styles/grid/themes/light/grid.material-styles.css.d.ts.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.material-styles.css.js +0 -83
- package/dist/src/styles/grid/themes/light/grid.material-styles.css.js.map +0 -1
- package/dist/src/styles/header-cell/header-cell-styles.css.d.ts +0 -2
- package/dist/src/styles/header-cell/header-cell-styles.css.d.ts.map +0 -1
- package/dist/src/styles/header-cell/header-cell-styles.css.js +0 -141
- package/dist/src/styles/header-cell/header-cell-styles.css.js.map +0 -1
- package/dist/src/styles/header-row/header-row.base-styles.css.d.ts +0 -2
- package/dist/src/styles/header-row/header-row.base-styles.css.d.ts.map +0 -1
- package/dist/src/styles/header-row/header-row.base-styles.css.js +0 -35
- package/dist/src/styles/header-row/header-row.base-styles.css.js.map +0 -1
- /package/{dist/src/define.js → define.js} +0 -0
- /package/{dist/docs → docs}/.nojekyll +0 -0
- /package/{dist/src/internal → internal}/constants.js +0 -0
- /package/{dist/src/internal → internal}/is-defined.js +0 -0
- /package/{dist/src/internal → internal}/mixins/event-emitter.js +0 -0
- /package/{dist/src/internal → internal}/normalize-case.js +0 -0
- /package/{dist/src/internal → internal}/types.js +0 -0
- /package/{dist/src/operations → operations}/base.js +0 -0
- /package/{dist/src/operations → operations}/filter/types.js +0 -0
- /package/{dist/src/operations → operations}/sort/types.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/operations/filter/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAGjD,MAAM,OAAO,WAAW;IAAxB;QACY,UAAK,GAA0C,IAAI,GAAG,EAAE,CAAC;IA8CrE,CAAC;IA5CC,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,IAAW,IAAI;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,IAAW,MAAM;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,GAAY;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEM,GAAG,CAAC,UAA+B;QACxC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,oBAAoB,CAAI,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9F,CAAC;CACF","sourcesContent":["import type { Keys } from '../../internal/types.js';\nimport { FilterExpressionTree } from './tree.js';\nimport type { FilterExpression } from './types.js';\n\nexport class FilterState<T> {\n protected state: Map<Keys<T>, FilterExpressionTree<T>> = new Map();\n\n public get empty() {\n return this.state.size < 1;\n }\n\n public get keys() {\n return Array.from(this.state.keys());\n }\n\n public get values() {\n return Array.from(this.state.values());\n }\n\n public get ands() {\n return this.values.flatMap((each) => each.ands);\n }\n\n public get ors() {\n return this.values.flatMap((each) => each.ors);\n }\n\n public has(key: Keys<T>) {\n return this.state.has(key);\n }\n\n public get(key: Keys<T>) {\n return this.state.get(key);\n }\n\n public delete(key: Keys<T>) {\n return this.state.delete(key);\n }\n\n public clear() {\n this.state.clear();\n }\n\n public set(expression: FilterExpression<T>) {\n if (this.has(expression.key)) {\n this.get(expression.key)?.add(expression);\n return;\n }\n\n this.state.set(expression.key, new FilterExpressionTree<T>(expression.key).add(expression));\n }\n}\n"]}
|
|
@@ -6,7 +6,7 @@ export declare class FilterExpressionTree<T> {
|
|
|
6
6
|
constructor(key: Keys<T>);
|
|
7
7
|
get empty(): boolean;
|
|
8
8
|
get length(): number;
|
|
9
|
-
get all(): FilterExpression<T>[];
|
|
9
|
+
get all(): FilterExpression<T, keyof T>[];
|
|
10
10
|
get ands(): FilterExpression<T>[];
|
|
11
11
|
get ors(): FilterExpression<T>[];
|
|
12
12
|
has(expression: FilterExpression<T>): boolean;
|
|
@@ -15,4 +15,3 @@ export declare class FilterExpressionTree<T> {
|
|
|
15
15
|
protected iterator(): Generator<FilterExpression<T>, void, unknown>;
|
|
16
16
|
[Symbol.iterator](): Generator<FilterExpression<T>, void, unknown>;
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=tree.d.ts.map
|
|
@@ -13,10 +13,10 @@ export class FilterExpressionTree {
|
|
|
13
13
|
return Array.from(this.iterator());
|
|
14
14
|
}
|
|
15
15
|
get ands() {
|
|
16
|
-
return this.operands.filter(each => each.criteria === 'and');
|
|
16
|
+
return this.operands.filter((each) => each.criteria === 'and');
|
|
17
17
|
}
|
|
18
18
|
get ors() {
|
|
19
|
-
return this.operands.filter(each => each.criteria === 'or');
|
|
19
|
+
return this.operands.filter((each) => each.criteria === 'or');
|
|
20
20
|
}
|
|
21
21
|
has(expression) {
|
|
22
22
|
return this.operands.includes(expression);
|
|
@@ -25,14 +25,13 @@ export class FilterExpressionTree {
|
|
|
25
25
|
if (!expression.criteria) {
|
|
26
26
|
expression.criteria = 'and';
|
|
27
27
|
}
|
|
28
|
-
if (this.
|
|
29
|
-
|
|
28
|
+
if (!this.has(expression)) {
|
|
29
|
+
this.operands.push(expression);
|
|
30
30
|
}
|
|
31
|
-
this.operands.push(expression);
|
|
32
31
|
return this;
|
|
33
32
|
}
|
|
34
33
|
remove(expression) {
|
|
35
|
-
this.operands = this.operands.filter(each => each !== expression);
|
|
34
|
+
this.operands = this.operands.filter((each) => each !== expression);
|
|
36
35
|
return this;
|
|
37
36
|
}
|
|
38
37
|
*iterator() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/operations/filter/tree.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,oBAAoB;IAG/B,YAAmB,GAAY;QAAZ,QAAG,GAAH,GAAG,CAAS;QAFrB,aAAQ,GAA+B,EAAE,CAAC;IAElB,CAAC;IAEnC,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAW,GAAG;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;IAChE,CAAC;IAEM,GAAG,CAAC,UAA+B;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAEM,GAAG,CAAC,UAA+B;QACxC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACzB,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,UAA+B;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAES,CAAC,QAAQ;QACjB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,OAAO,CAAC;QAChB,CAAC;IACH,CAAC;IAEM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF","sourcesContent":["import type { Keys } from '../../internal/types.js';\nimport type { FilterExpression } from './types.js';\n\nexport class FilterExpressionTree<T> {\n protected operands: Array<FilterExpression<T>> = [];\n\n constructor(public key: Keys<T>) {}\n\n public get empty() {\n return this.operands.length < 1;\n }\n\n public get length() {\n return this.operands.length;\n }\n\n public get all() {\n return Array.from(this.iterator());\n }\n\n public get ands() {\n return this.operands.filter((each) => each.criteria === 'and');\n }\n\n public get ors() {\n return this.operands.filter((each) => each.criteria === 'or');\n }\n\n public has(expression: FilterExpression<T>) {\n return this.operands.includes(expression);\n }\n\n public add(expression: FilterExpression<T>) {\n if (!expression.criteria) {\n expression.criteria = 'and';\n }\n\n if (!this.has(expression)) {\n this.operands.push(expression);\n }\n\n return this;\n }\n\n public remove(expression: FilterExpression<T>) {\n this.operands = this.operands.filter((each) => each !== expression);\n return this;\n }\n\n protected *iterator() {\n for (const operand of this.operands) {\n yield operand;\n }\n }\n\n public [Symbol.iterator]() {\n return this.iterator();\n }\n}\n"]}
|
|
@@ -55,4 +55,3 @@ export interface BaseFilterExpression<T, K extends Keys<T> = Keys<T>> {
|
|
|
55
55
|
*/
|
|
56
56
|
export type FilterExpression<T, K extends Keys<T> = Keys<T>> = K extends Keys<T> ? BaseFilterExpression<T, K> : never;
|
|
57
57
|
export type OperandKeys<Type> = Type extends number ? keyof typeof NumberOperands : Type extends string ? keyof typeof StringOperands : Type extends boolean ? keyof typeof BooleanOperands : Type;
|
|
58
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/operations/filter/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Keys } from '../../internal/types.js';\nimport type { BooleanOperands } from './operands/boolean.js';\nimport type { NumberOperands } from './operands/number.js';\nimport type { StringOperands } from './operands/string.js';\n\n/**\n * Controls how a data record should resolve in a filter operation:\n * - `'and'` - the record must pass all the conditions.\n * - `'or'` - the record must pass at least one condition.\n */\nexport type FilterCriteria = 'and' | 'or';\n\nexport type FilterOperationLogic<T> = (\n target: T,\n searchTerm: T,\n caseSensitive?: boolean\n) => boolean;\n\nexport interface FilterOperation<T> {\n name: string;\n label?: string;\n unary: boolean;\n logic: FilterOperationLogic<T>;\n}\n\nexport type FilterOperands<DataType, Operands extends string> = {\n [key in Operands]: FilterOperation<DataType>;\n};\n\n/**\n * Represents a filter operation for a given column.\n */\nexport interface BaseFilterExpression<T, K extends Keys<T> = Keys<T>> {\n /**\n * The target column for the filter operation.\n */\n key: K;\n /**\n * The filter function which will be executed against the data records.\n */\n condition: FilterOperation<T[K]> | OperandKeys<T[K]>;\n\n /**\n * The filtering value used in the filter condition function.\n *\n * @remarks\n * Optional for unary conditions.\n */\n searchTerm?: T[K];\n /**\n * Dictates how this expression should resolve in the filter operation in relation to\n * other expressions.\n */\n criteria?: FilterCriteria;\n /**\n * Whether the sort operation should be case sensitive.\n *\n * @remarks\n * If not provided, the value is resolved based on the column filter configuration (if any).\n */\n caseSensitive?: boolean;\n}\n\n/**\n * See {@link BaseFilterExpression} for the full documentation.\n */\nexport type FilterExpression<T, K extends Keys<T> = Keys<T>> = K extends Keys<T>\n ? BaseFilterExpression<T, K>\n : never;\n\nexport type OperandKeys<Type> = Type extends number\n ? keyof typeof NumberOperands\n : Type extends string\n ? keyof typeof StringOperands\n : Type extends boolean\n ? keyof typeof BooleanOperands\n : Type;\n"]}
|
|
@@ -2,24 +2,21 @@ import DataOperation from './base.js';
|
|
|
2
2
|
export default class FilterDataOperation extends DataOperation {
|
|
3
3
|
resolveFilter(record, expr) {
|
|
4
4
|
const condition = expr.condition;
|
|
5
|
-
return condition.logic(
|
|
6
|
-
// XXX: Types
|
|
7
|
-
// @ts-expect-error - resolve
|
|
8
|
-
this.resolveValue(record, expr.key), expr.searchTerm, expr.caseSensitive);
|
|
5
|
+
return condition.logic(this.resolveValue(record, expr.key), expr.searchTerm, expr.caseSensitive);
|
|
9
6
|
}
|
|
10
7
|
match(record, ands, ors) {
|
|
11
8
|
for (const or of ors) {
|
|
12
9
|
if (this.resolveFilter(record, or)) {
|
|
13
|
-
return this.match(record, ands.filter(f => f.key !== or.key), []);
|
|
10
|
+
return this.match(record, ands.filter((f) => f.key !== or.key), []);
|
|
14
11
|
}
|
|
15
12
|
}
|
|
16
|
-
return ands.every(f => this.resolveFilter(record, f));
|
|
13
|
+
return ands.every((f) => this.resolveFilter(record, f));
|
|
17
14
|
}
|
|
18
15
|
apply(data, state) {
|
|
19
16
|
if (state.empty)
|
|
20
17
|
return data;
|
|
21
18
|
const { ands, ors } = state;
|
|
22
|
-
return data.filter(record => this.match(record, ands, ors));
|
|
19
|
+
return data.filter((record) => this.match(record, ands, ors));
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
22
|
//# sourceMappingURL=filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/operations/filter.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,WAAW,CAAC;AAItC,MAAM,CAAC,OAAO,OAAO,mBAAsC,SAAQ,aAAgB;IACvE,aAAa,CAAC,MAAS,EAAE,IAAyB;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,SAA+B,CAAC;QACvD,OAAO,SAAS,CAAC,KAAK,CAEpB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAM,EACxC,IAAI,CAAC,UAAe,EACpB,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,MAAS,EAAE,IAA2B,EAAE,GAA0B;QAChF,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC,KAAK,CACf,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,EACpC,EAAE,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,IAAS,EAAE,KAAqB;QAC3C,IAAI,KAAK,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAE7B,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;CACF","sourcesContent":["import DataOperation from './base.js';\nimport type { FilterState } from './filter/state.js';\nimport type { FilterExpression, FilterOperation } from './filter/types.js';\n\nexport default class FilterDataOperation<T extends object> extends DataOperation<T> {\n protected resolveFilter(record: T, expr: FilterExpression<T>) {\n const condition = expr.condition as FilterOperation<T>;\n return condition.logic(\n // XXX: Types\n this.resolveValue(record, expr.key) as T,\n expr.searchTerm as T,\n expr.caseSensitive\n );\n }\n\n protected match(record: T, ands: FilterExpression<T>[], ors: FilterExpression<T>[]): boolean {\n for (const or of ors) {\n if (this.resolveFilter(record, or)) {\n return this.match(\n record,\n ands.filter((f) => f.key !== or.key),\n []\n );\n }\n }\n return ands.every((f) => this.resolveFilter(record, f));\n }\n\n public apply(data: T[], state: FilterState<T>): T[] {\n if (state.empty) return data;\n\n const { ands, ors } = state;\n return data.filter((record) => this.match(record, ands, ors));\n }\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { PaginationState } from '../internal/types.js';
|
|
2
|
+
import DataOperation from './base.js';
|
|
3
|
+
/**
|
|
4
|
+
* Built-in pagination data operation.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* Slices the post-filter, post-sort dataset by `page` and `pageSize`.
|
|
8
|
+
* Used by the grid when `pagination.mode === 'local'`. Remote pagination
|
|
9
|
+
* is delegated to {@link DataPipelineConfiguration.pagination}.
|
|
10
|
+
*/
|
|
11
|
+
export default class PaginationDataOperation<T extends object> extends DataOperation<T> {
|
|
12
|
+
/**
|
|
13
|
+
* Returns the slice of `data` corresponding to the given pagination `state`.
|
|
14
|
+
*
|
|
15
|
+
* @param data - The post-filter, post-sort dataset.
|
|
16
|
+
* @param state - The resolved pagination state.
|
|
17
|
+
*/
|
|
18
|
+
apply(data: T[], state: PaginationState): T[];
|
|
19
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import DataOperation from './base.js';
|
|
2
|
+
export default class PaginationDataOperation extends DataOperation {
|
|
3
|
+
apply(data, state) {
|
|
4
|
+
const { page, pageSize } = state;
|
|
5
|
+
if (!pageSize || pageSize < 1) {
|
|
6
|
+
return data;
|
|
7
|
+
}
|
|
8
|
+
const start = page * pageSize;
|
|
9
|
+
return data.slice(start, start + pageSize);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=pagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/operations/pagination.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,WAAW,CAAC;AAUtC,MAAM,CAAC,OAAO,OAAO,uBAA0C,SAAQ,aAAgB;IAO9E,KAAK,CAAC,IAAS,EAAE,KAAsB;QAC5C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,QAAQ,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACF","sourcesContent":["import type { PaginationState } from '../internal/types.js';\nimport DataOperation from './base.js';\n\n/**\n * Built-in pagination data operation.\n *\n * @remarks\n * Slices the post-filter, post-sort dataset by `page` and `pageSize`.\n * Used by the grid when `pagination.mode === 'local'`. Remote pagination\n * is delegated to {@link DataPipelineConfiguration.pagination}.\n */\nexport default class PaginationDataOperation<T extends object> extends DataOperation<T> {\n /**\n * Returns the slice of `data` corresponding to the given pagination `state`.\n *\n * @param data - The post-filter, post-sort dataset.\n * @param state - The resolved pagination state.\n */\n public apply(data: T[], state: PaginationState): T[] {\n const { page, pageSize } = state;\n if (!pageSize || pageSize < 1) {\n return data;\n }\n const start = page * pageSize;\n return data.slice(start, start + pageSize);\n }\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ColumnConfiguration } from '../internal/types.js';
|
|
2
|
+
import DataOperation from './base.js';
|
|
3
|
+
/**
|
|
4
|
+
* Built-in quick-filter (global search) data operation.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* Performs a case-insensitive substring match of the search term across every visible
|
|
8
|
+
* column's stringified value. Returns the original dataset unchanged when the search
|
|
9
|
+
* term is empty / whitespace-only. Used by the grid when `quickFilter` is set; the
|
|
10
|
+
* search can be customised through {@link DataPipelineConfiguration.quickFilter}.
|
|
11
|
+
*/
|
|
12
|
+
export default class QuickFilterDataOperation<T extends object> extends DataOperation<T> {
|
|
13
|
+
/**
|
|
14
|
+
* Returns the records whose visible column values contain `searchTerm` (case-insensitive).
|
|
15
|
+
*
|
|
16
|
+
* @param data - The dataset to filter.
|
|
17
|
+
* @param searchTerm - The trimmed search term (already normalised to lower-case is fine).
|
|
18
|
+
* @param columns - The current column configuration; hidden columns are skipped.
|
|
19
|
+
*/
|
|
20
|
+
apply(data: T[], searchTerm: string, columns: Array<ColumnConfiguration<T>>): T[];
|
|
21
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import DataOperation from './base.js';
|
|
2
|
+
export default class QuickFilterDataOperation extends DataOperation {
|
|
3
|
+
apply(data, searchTerm, columns) {
|
|
4
|
+
const term = searchTerm.trim().toLowerCase();
|
|
5
|
+
if (!term) {
|
|
6
|
+
return data;
|
|
7
|
+
}
|
|
8
|
+
const keys = columns.filter((column) => !column.hidden).map((column) => column.key);
|
|
9
|
+
if (keys.length === 0) {
|
|
10
|
+
return data;
|
|
11
|
+
}
|
|
12
|
+
return data.filter((record) => {
|
|
13
|
+
for (const key of keys) {
|
|
14
|
+
const value = record[key];
|
|
15
|
+
if (value === null || value === undefined) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
if (String(value).toLowerCase().includes(term)) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=quick-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quick-filter.js","sourceRoot":"","sources":["../../src/operations/quick-filter.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,WAAW,CAAC;AAWtC,MAAM,CAAC,OAAO,OAAO,wBAA2C,SAAQ,aAAgB;IAQ/E,KAAK,CAAC,IAAS,EAAE,UAAkB,EAAE,OAAsC;QAChF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAc,CAAC,CAAC;QAE/F,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC1C,SAAS;gBACX,CAAC;gBACD,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/C,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import type { ColumnConfiguration, Keys } from '../internal/types.js';\nimport DataOperation from './base.js';\n\n/**\n * Built-in quick-filter (global search) data operation.\n *\n * @remarks\n * Performs a case-insensitive substring match of the search term across every visible\n * column's stringified value. Returns the original dataset unchanged when the search\n * term is empty / whitespace-only. Used by the grid when `quickFilter` is set; the\n * search can be customised through {@link DataPipelineConfiguration.quickFilter}.\n */\nexport default class QuickFilterDataOperation<T extends object> extends DataOperation<T> {\n /**\n * Returns the records whose visible column values contain `searchTerm` (case-insensitive).\n *\n * @param data - The dataset to filter.\n * @param searchTerm - The trimmed search term (already normalised to lower-case is fine).\n * @param columns - The current column configuration; hidden columns are skipped.\n */\n public apply(data: T[], searchTerm: string, columns: Array<ColumnConfiguration<T>>): T[] {\n const term = searchTerm.trim().toLowerCase();\n if (!term) {\n return data;\n }\n\n const keys = columns.filter((column) => !column.hidden).map((column) => column.key as Keys<T>);\n\n if (keys.length === 0) {\n return data;\n }\n\n return data.filter((record) => {\n for (const key of keys) {\n const value = record[key];\n if (value === null || value === undefined) {\n continue;\n }\n if (String(value).toLowerCase().includes(term)) {\n return true;\n }\n }\n return false;\n });\n }\n}\n"]}
|
|
@@ -47,4 +47,3 @@ export interface BaseSortExpression<T, K extends Keys<T> = Keys<T>> {
|
|
|
47
47
|
export type SortExpression<T, K extends Keys<T> = Keys<T>> = K extends Keys<T> ? BaseSortExpression<T, K> : never;
|
|
48
48
|
/** Represents the sort state of the grid. */
|
|
49
49
|
export type SortState<T> = Map<Keys<T>, SortExpression<T>>;
|
|
50
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/operations/sort/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Keys } from '../../internal/types.js';\n\n/**\n * Sort direction for a given sort expression.\n *\n * @remarks\n * `none` is used\n */\nexport type SortingDirection = 'ascending' | 'descending' | 'none';\n\n/**\n * Custom comparer function for a given column used when sorting is performed.\n */\nexport type BaseSortComparer<T, K extends Keys<T> = Keys<T>> = (a: T[K], b: T[K]) => number;\n\n/**\n * See {@link BaseSortComparer} for the full documentation.\n */\nexport type SortComparer<T, K extends Keys<T> = Keys<T>> = K extends Keys<T>\n ? BaseSortComparer<T, K>\n : never;\n\n/**\n * Represents a sort operation for a given column.\n */\nexport interface BaseSortExpression<T, K extends Keys<T> = Keys<T>> {\n /**\n * The target column.\n */\n key: K;\n /**\n * Sort direction for this operation.\n */\n direction: SortingDirection;\n /**\n * Whether the sort operation should be case sensitive.\n *\n * @remarks\n * If not provided, the value is resolved based on the column sort configuration (if any).\n */\n caseSensitive?: boolean;\n /**\n * Custom comparer function for this operation.\n *\n * @remarks\n * If not provided, the value is resolved based on the column sort configuration (if any).\n */\n comparer?: SortComparer<T, K>;\n}\n\n/**\n * See {@link BaseSortExpression} for the full documentation.\n */\nexport type SortExpression<T, K extends Keys<T> = Keys<T>> = K extends Keys<T>\n ? BaseSortExpression<T, K>\n : never;\n\n/** Represents the sort state of the grid. */\nexport type SortState<T> = Map<Keys<T>, SortExpression<T>>;\n"]}
|
|
@@ -14,17 +14,17 @@ export default class SortDataOperation extends DataOperation {
|
|
|
14
14
|
return first > second ? 1 : first < second ? -1 : 0;
|
|
15
15
|
}
|
|
16
16
|
compareObjects(first, second, expression) {
|
|
17
|
-
var _a;
|
|
18
17
|
const { direction, key, caseSensitive, comparer } = expression;
|
|
19
18
|
const a = this.resolveCase(this.resolveValue(first, key), caseSensitive);
|
|
20
19
|
const b = this.resolveCase(this.resolveValue(second, key), caseSensitive);
|
|
21
|
-
|
|
22
|
-
return (this.orderBy.get(direction) * ((_a = comparer === null || comparer === void 0 ? void 0 : comparer(a, b)) !== null && _a !== void 0 ? _a : this.compareValues(a, b)));
|
|
20
|
+
return (this.orderBy.get(direction) * (comparer?.(a, b) ?? this.compareValues(a, b)));
|
|
23
21
|
}
|
|
24
22
|
apply(data, state) {
|
|
25
|
-
const expressions = Array.from(state.values())
|
|
23
|
+
const expressions = Array.from(state.values());
|
|
24
|
+
const length = expressions.length;
|
|
26
25
|
data.sort((a, b) => {
|
|
27
|
-
let i = 0
|
|
26
|
+
let i = 0;
|
|
27
|
+
let result = 0;
|
|
28
28
|
while (i < length && !result) {
|
|
29
29
|
result = this.compareObjects(a, b, expressions[i]);
|
|
30
30
|
i++;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../src/operations/sort.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,WAAW,CAAC;AAGtC,MAAM,CAAC,OAAO,OAAO,iBAAqB,SAAQ,aAAgB;IAAlE;;QACY,YAAO,GAAG,IAAI,GAAG,CACzB,MAAM,CAAC,OAAO,CAAC;YACb,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC,CAAC;SACf,CAAC,CACH,CAAC;IAuCJ,CAAC;IArCW,aAAa,CAAI,KAAQ,EAAE,MAAS;QAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAES,cAAc,CAAC,KAAQ,EAAE,MAAS,EAAE,UAA6B;QACzE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;QAE/D,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;QACzE,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;QAG1E,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAQ,EAAE,CAAQ,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC5F,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAS,EAAE,KAAmB;QACzC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAElC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,MAAM,GAAG,CAAC,CAAC;YAEf,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC7B,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,CAAC,EAAE,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import DataOperation from './base.js';\nimport type { SortExpression, SortState } from './sort/types.js';\n\nexport default class SortDataOperation<T> extends DataOperation<T> {\n protected orderBy = new Map(\n Object.entries({\n ascending: 1,\n descending: -1,\n })\n );\n\n protected compareValues<U>(first: U, second: U) {\n if (typeof first === 'string' && typeof second === 'string') {\n return first.localeCompare(second);\n }\n return first > second ? 1 : first < second ? -1 : 0;\n }\n\n protected compareObjects(first: T, second: T, expression: SortExpression<T>) {\n const { direction, key, caseSensitive, comparer } = expression;\n\n const a = this.resolveCase(this.resolveValue(first, key), caseSensitive);\n const b = this.resolveCase(this.resolveValue(second, key), caseSensitive);\n\n // TODO: Remove casting as any\n return (\n this.orderBy.get(direction)! * (comparer?.(a as any, b as any) ?? this.compareValues(a, b))\n );\n }\n\n public apply(data: T[], state: SortState<T>) {\n const expressions = Array.from(state.values());\n const length = expressions.length;\n\n data.sort((a, b) => {\n let i = 0;\n let result = 0;\n\n while (i < length && !result) {\n result = this.compareObjects(a, b, expressions[i]);\n i++;\n }\n\n return result;\n });\n\n return data;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,100 +1,42 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apex-grid",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Web component data grid following open-wc recommendations",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lit",
|
|
7
7
|
"web-component",
|
|
8
8
|
"lit-element"
|
|
9
9
|
],
|
|
10
|
-
"license": "SEE LICENSE IN LICENSE.
|
|
10
|
+
"license": "SEE LICENSE IN LICENSE.md",
|
|
11
11
|
"author": "apex-grid",
|
|
12
12
|
"exports": {
|
|
13
|
-
".":
|
|
14
|
-
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./index.d.ts",
|
|
15
|
+
"default": "./index.js"
|
|
16
|
+
},
|
|
17
|
+
"./define": {
|
|
18
|
+
"types": "./define.d.ts",
|
|
19
|
+
"default": "./define.js"
|
|
20
|
+
},
|
|
21
|
+
"./styles.css": "./styles.css"
|
|
15
22
|
},
|
|
16
23
|
"type": "module",
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
"/
|
|
21
|
-
"/dist/bundle.*",
|
|
22
|
-
"!/dist/test/",
|
|
23
|
-
"LICENSE",
|
|
24
|
-
"README.md",
|
|
25
|
-
"custom-elements.json"
|
|
26
|
-
],
|
|
27
|
-
"engines": {
|
|
28
|
-
"node": ">=16.0.0"
|
|
24
|
+
"sideEffects": false,
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "git+https://github.com/apexcharts/apex-grid.git"
|
|
29
28
|
},
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"build": "npm run build:tsc && npm run dev:vite && npm run typedoc",
|
|
33
|
-
"build:tsc": "tsc",
|
|
34
|
-
"dev:vite": "vite build",
|
|
35
|
-
"format": "npm run format:eslint && npm run format:prettier && npm run format:stylelint",
|
|
36
|
-
"format:eslint": "eslint \"**/*.{js,ts,html}\" --fix --ignore-path .eslintignore",
|
|
37
|
-
"format:prettier": "prettier \"**/*.{js,ts,json,html,md}\" --write --ignore-path .eslintignore",
|
|
38
|
-
"format:stylelint": "stylelint \"**/*.{scss,css}\" --fix --allow-empty-input --ignore-path .eslintignore",
|
|
39
|
-
"lint": "npm run lint:eslint && npm run lint:prettier && npm run lint:stylelint",
|
|
40
|
-
"lint:eslint": "eslint \"**/*.{js,ts,html}\" --ignore-path .eslintignore",
|
|
41
|
-
"lint:prettier": "prettier \"**/*.{js,ts,json,html,md}\" --check --ignore-path .eslintignore",
|
|
42
|
-
"lint:stylelint": "stylelint \"**/*.{scss,css}\" --allow-empty-input --ignore-path .eslintignore",
|
|
43
|
-
"preview:vite": "vite preview",
|
|
44
|
-
"sass:watch": "sass-style-template -j ts",
|
|
45
|
-
"start": "concurrently -k -r \"npm:sass:watch\" \"npm:vite\"",
|
|
46
|
-
"start:wds": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"npm:sass:watch\" \"npm:wds\"",
|
|
47
|
-
"test": "tsc && wtr --coverage",
|
|
48
|
-
"test:watch": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wtr --watch\"",
|
|
49
|
-
"typedoc": "typedoc",
|
|
50
|
-
"vite": "vite",
|
|
51
|
-
"wds": "web-dev-server",
|
|
52
|
-
"prepare": "husky install"
|
|
29
|
+
"bugs": {
|
|
30
|
+
"url": "https://github.com/apexcharts/apex-grid/issues"
|
|
53
31
|
},
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"npm run format:eslint"
|
|
57
|
-
],
|
|
58
|
-
"**/*.{js,ts,json,html,md}": [
|
|
59
|
-
"npm run format:prettier"
|
|
60
|
-
],
|
|
61
|
-
"**/*.{scss,css}": [
|
|
62
|
-
"npm run format:stylelint"
|
|
63
|
-
]
|
|
32
|
+
"engines": {
|
|
33
|
+
"node": ">=20"
|
|
64
34
|
},
|
|
35
|
+
"customElements": "custom-elements.json",
|
|
65
36
|
"dependencies": {
|
|
66
|
-
"@lit-labs/
|
|
67
|
-
"@lit
|
|
68
|
-
"igniteui-
|
|
69
|
-
"
|
|
70
|
-
|
|
71
|
-
},
|
|
72
|
-
"devDependencies": {
|
|
73
|
-
"@blockquote/rollup-plugin-total-bundlesize": "^2.0.1",
|
|
74
|
-
"@blockquote/sass-style-template": "3.0.0",
|
|
75
|
-
"@blockquote/test-runner-mocha-style-reporter": "^1.5.1",
|
|
76
|
-
"@custom-elements-manifest/analyzer": "^0.8.1",
|
|
77
|
-
"@open-wc/eslint-config": "^10.0.0",
|
|
78
|
-
"@open-wc/testing": "^3.1.8",
|
|
79
|
-
"@typescript-eslint/eslint-plugin": "^5.59.2",
|
|
80
|
-
"@typescript-eslint/parser": "^5.59.2",
|
|
81
|
-
"@web/dev-server": "^0.2.1",
|
|
82
|
-
"@web/test-runner": "^0.16.1",
|
|
83
|
-
"@web/test-runner-playwright": "^0.10.0",
|
|
84
|
-
"concurrently": "^8.0.1",
|
|
85
|
-
"eslint": "^8.39.0",
|
|
86
|
-
"eslint-config-prettier": "^8.8.0",
|
|
87
|
-
"eslint-plugin-log-filenames": "^1.0.6",
|
|
88
|
-
"husky": "^8.0.3",
|
|
89
|
-
"lint-staged": "^13.2.2",
|
|
90
|
-
"prettier": "^2.8.8",
|
|
91
|
-
"sinon": "^15.0.4",
|
|
92
|
-
"stylelint": "^15.6.0",
|
|
93
|
-
"stylelint-config-standard-scss": "^9.0.0",
|
|
94
|
-
"tslib": "^2.5.0",
|
|
95
|
-
"typedoc": "^0.24.6",
|
|
96
|
-
"typescript": "^5.0.4",
|
|
97
|
-
"vite": "^4.3.4"
|
|
98
|
-
},
|
|
99
|
-
"customElements": "custom-elements.json"
|
|
37
|
+
"@lit-labs/virtualizer": "~2.1.0",
|
|
38
|
+
"@lit/context": "~1.1.5",
|
|
39
|
+
"igniteui-webcomponents": "~6.1.0",
|
|
40
|
+
"lit": "^3.3.0"
|
|
41
|
+
}
|
|
100
42
|
}
|
package/setup.d.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
type ApexGridTheme = 'bootstrap' | 'material' | 'fluent' | 'indigo';
|
|
2
|
+
export interface ApexGridSetupOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Ignite UI theme to activate. The matching theme CSS file
|
|
5
|
+
* (`igniteui-webcomponents/themes/<variant>/<theme>.css`) must still be
|
|
6
|
+
* imported by the consumer — there is no portable way to dynamically
|
|
7
|
+
* import a CSS file across bundlers.
|
|
8
|
+
*
|
|
9
|
+
* @defaultValue 'bootstrap'
|
|
10
|
+
*/
|
|
11
|
+
theme?: ApexGridTheme;
|
|
12
|
+
/**
|
|
13
|
+
* Whether to adopt a default host stylesheet that sets `height: 100%`
|
|
14
|
+
* with a `min-height: 240px` fallback. Set to `false` if you want to
|
|
15
|
+
* provide your own host sizing.
|
|
16
|
+
*
|
|
17
|
+
* @defaultValue true
|
|
18
|
+
*/
|
|
19
|
+
hostStyles?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* One-call convenience: registers `<apex-grid>`, configures the Ignite UI
|
|
23
|
+
* theme, and adopts a default host stylesheet so the virtualizer has a
|
|
24
|
+
* bounded height.
|
|
25
|
+
*
|
|
26
|
+
* @remarks
|
|
27
|
+
* This is an **additive** alternative to the manual three-import setup
|
|
28
|
+
* (`apex-grid/define` + `configureTheme()` + host CSS). It does NOT
|
|
29
|
+
* import the Ignite theme CSS file for you — that import is consumer
|
|
30
|
+
* responsibility because dynamic CSS imports are not portable across
|
|
31
|
+
* bundlers. So the full setup with `setup()` is:
|
|
32
|
+
*
|
|
33
|
+
* ```ts
|
|
34
|
+
* import { setup } from 'apex-grid';
|
|
35
|
+
* import 'igniteui-webcomponents/themes/light/bootstrap.css';
|
|
36
|
+
*
|
|
37
|
+
* setup({ theme: 'bootstrap' });
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* Idempotent — safe to call more than once. Host styles are adopted
|
|
41
|
+
* only on the first call. For full manual control use
|
|
42
|
+
* `import 'apex-grid/define'` and configure the theme yourself; this
|
|
43
|
+
* helper is a shortcut, not a replacement.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* import { setup } from 'apex-grid';
|
|
48
|
+
* import 'igniteui-webcomponents/themes/light/bootstrap.css';
|
|
49
|
+
* setup({ theme: 'bootstrap' });
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* @example Opt out of injected host styles:
|
|
53
|
+
* ```ts
|
|
54
|
+
* setup({ theme: 'material', hostStyles: false });
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare function setup(options?: ApexGridSetupOptions): void;
|
|
58
|
+
export {};
|
package/setup.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { configureTheme } from 'igniteui-webcomponents';
|
|
2
|
+
import { ApexGrid } from './components/grid.js';
|
|
3
|
+
const HOST_CSS = 'apex-grid { height: 100%; min-height: 240px; }';
|
|
4
|
+
let hostStylesInjected = false;
|
|
5
|
+
function adoptHostStyles() {
|
|
6
|
+
if (hostStylesInjected || typeof document === 'undefined')
|
|
7
|
+
return;
|
|
8
|
+
if ('adoptedStyleSheets' in Document.prototype && 'replaceSync' in CSSStyleSheet.prototype) {
|
|
9
|
+
const sheet = new CSSStyleSheet();
|
|
10
|
+
sheet.replaceSync(HOST_CSS);
|
|
11
|
+
document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
const style = document.createElement('style');
|
|
15
|
+
style.setAttribute('data-apex-grid', 'host-styles');
|
|
16
|
+
style.textContent = HOST_CSS;
|
|
17
|
+
document.head.appendChild(style);
|
|
18
|
+
}
|
|
19
|
+
hostStylesInjected = true;
|
|
20
|
+
}
|
|
21
|
+
export function setup(options = {}) {
|
|
22
|
+
const { theme = 'bootstrap', hostStyles = true } = options;
|
|
23
|
+
ApexGrid.register();
|
|
24
|
+
configureTheme(theme);
|
|
25
|
+
if (hostStyles) {
|
|
26
|
+
adoptHostStyles();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=setup.js.map
|
package/setup.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAyBhD,MAAM,QAAQ,GAAG,gDAAgD,CAAC;AAClE,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B,SAAS,eAAe;IACtB,IAAI,kBAAkB,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IAElE,IAAI,oBAAoB,IAAI,QAAQ,CAAC,SAAS,IAAI,aAAa,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;QAC3F,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QAClC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5B,QAAQ,CAAC,kBAAkB,GAAG,CAAC,GAAG,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,YAAY,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QACpD,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,kBAAkB,GAAG,IAAI,CAAC;AAC5B,CAAC;AAsCD,MAAM,UAAU,KAAK,CAAC,UAAgC,EAAE;IACtD,MAAM,EAAE,KAAK,GAAG,WAAW,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAE3D,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACpB,cAAc,CAAC,KAAK,CAAC,CAAC;IAEtB,IAAI,UAAU,EAAE,CAAC;QACf,eAAe,EAAE,CAAC;IACpB,CAAC;AACH,CAAC","sourcesContent":["import { configureTheme } from 'igniteui-webcomponents';\nimport { ApexGrid } from './components/grid.js';\n\ntype ApexGridTheme = 'bootstrap' | 'material' | 'fluent' | 'indigo';\n\nexport interface ApexGridSetupOptions {\n /**\n * Ignite UI theme to activate. The matching theme CSS file\n * (`igniteui-webcomponents/themes/<variant>/<theme>.css`) must still be\n * imported by the consumer — there is no portable way to dynamically\n * import a CSS file across bundlers.\n *\n * @defaultValue 'bootstrap'\n */\n theme?: ApexGridTheme;\n\n /**\n * Whether to adopt a default host stylesheet that sets `height: 100%`\n * with a `min-height: 240px` fallback. Set to `false` if you want to\n * provide your own host sizing.\n *\n * @defaultValue true\n */\n hostStyles?: boolean;\n}\n\nconst HOST_CSS = 'apex-grid { height: 100%; min-height: 240px; }';\nlet hostStylesInjected = false;\n\nfunction adoptHostStyles(): void {\n if (hostStylesInjected || typeof document === 'undefined') return;\n\n if ('adoptedStyleSheets' in Document.prototype && 'replaceSync' in CSSStyleSheet.prototype) {\n const sheet = new CSSStyleSheet();\n sheet.replaceSync(HOST_CSS);\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];\n } else {\n const style = document.createElement('style');\n style.setAttribute('data-apex-grid', 'host-styles');\n style.textContent = HOST_CSS;\n document.head.appendChild(style);\n }\n\n hostStylesInjected = true;\n}\n\n/**\n * One-call convenience: registers `<apex-grid>`, configures the Ignite UI\n * theme, and adopts a default host stylesheet so the virtualizer has a\n * bounded height.\n *\n * @remarks\n * This is an **additive** alternative to the manual three-import setup\n * (`apex-grid/define` + `configureTheme()` + host CSS). It does NOT\n * import the Ignite theme CSS file for you — that import is consumer\n * responsibility because dynamic CSS imports are not portable across\n * bundlers. So the full setup with `setup()` is:\n *\n * ```ts\n * import { setup } from 'apex-grid';\n * import 'igniteui-webcomponents/themes/light/bootstrap.css';\n *\n * setup({ theme: 'bootstrap' });\n * ```\n *\n * Idempotent — safe to call more than once. Host styles are adopted\n * only on the first call. For full manual control use\n * `import 'apex-grid/define'` and configure the theme yourself; this\n * helper is a shortcut, not a replacement.\n *\n * @example\n * ```ts\n * import { setup } from 'apex-grid';\n * import 'igniteui-webcomponents/themes/light/bootstrap.css';\n * setup({ theme: 'bootstrap' });\n * ```\n *\n * @example Opt out of injected host styles:\n * ```ts\n * setup({ theme: 'material', hostStyles: false });\n * ```\n */\nexport function setup(options: ApexGridSetupOptions = {}): void {\n const { theme = 'bootstrap', hostStyles = true } = options;\n\n ApexGrid.register();\n configureTheme(theme);\n\n if (hostStyles) {\n adoptHostStyles();\n }\n}\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: 3}`;
|
|
3
|
+
//# sourceMappingURL=_common.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_common.css.js","sourceRoot":"","sources":["../../src/styles/_common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,oVAAoV,CAAC","sourcesContent":["import { css } from 'lit';\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: 3}`;"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: 3}:host{position:relative;display:inline-flex;flex:1 0 0;align-items:center;padding:0 max(var(--is-large, 1)*max(1.5rem, -1 * 1.5rem),var(--is-medium, 1)*max(1rem, -1 * 1rem),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem));color:inherit;border-right:var(--igx-row-border-width, var(--row-border-width)) solid rgba(0,0,0,0);font-size:0.8125rem;overflow-wrap:anywhere;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host:last-of-type{border-right:0}:host([active]){outline:none;box-shadow:inset 0 0 0 0.0625rem var(--igx-cell-active-border-color, var(--cell-active-border-color))}:host([editing]){background:var(--igx-cell-editor-background, var(--ig-surface-500, white));z-index:calc(var(--z-index-base) + 2);overflow:hidden;cursor:text}:host([editing][data-pinned=start]),:host([editing][data-pinned=end]){background:var(--igx-cell-editor-background, var(--ig-surface-500, white))}:host([editing][data-cell-type=select]){overflow:visible}:host(:last-child){border-inline-end:none}:host([data-pinned=start]),:host([data-pinned=end]){position:sticky;z-index:calc(var(--z-index-base) + 1);background:inherit}:host([data-pinned=start]){inset-inline-start:var(--apex-pin-offset, 0)}:host([data-pinned=end]){inset-inline-end:var(--apex-pin-offset, 0)}:host([data-pin-edge=start]){box-shadow:.125rem 0 .25rem rgba(0,0,0,.06)}:host([data-pin-edge=end]){box-shadow:-0.125rem 0 .25rem rgba(0,0,0,.06)}:host([active][data-pin-edge=start]){box-shadow:inset 0 0 0 0.0625rem var(--igx-cell-active-border-color, var(--cell-active-border-color)),.125rem 0 .25rem rgba(0,0,0,.06)}:host([active][data-pin-edge=end]){box-shadow:inset 0 0 0 0.0625rem var(--igx-cell-active-border-color, var(--cell-active-border-color)),-0.125rem 0 .25rem rgba(0,0,0,.06)}input[data-apex-editor]{box-sizing:border-box;position:absolute;inset:0;width:auto;height:auto;padding:0 max(var(--is-large, 1)*max(1.5rem, -1 * 1.5rem),var(--is-medium, 1)*max(1rem, -1 * 1rem),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem));margin:0;border:0;background:rgba(0,0,0,0);color:inherit;font:inherit;font-size:0.8125rem;outline:none;caret-color:var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500)));-webkit-user-select:text;-moz-user-select:text;user-select:text}input[type=number][data-apex-editor]{text-align:end;font-variant-numeric:tabular-nums}input[type=checkbox][data-apex-editor]{position:relative;inset:auto;inline-size:1rem;block-size:1rem;margin:0;border:0;border-radius:0;background:none;box-shadow:none;outline:revert;accent-color:var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500)))}[part~=rating]{display:inline-flex;align-items:center;gap:0.0625rem;color:var(--igx-rating-color, var(--ig-warn-500, #f5a623))}[part~=rating-star]{display:inline-flex;align-items:center;justify-content:center;color:currentcolor;opacity:.25;line-height:0}[part~=rating-star] svg{inline-size:0.875rem;block-size:0.875rem}[part~=rating-star][part~=filled]{opacity:1}[part=rating-editor]{display:inline-flex;align-items:center;gap:0.125rem;padding:0 0.125rem;color:var(--igx-rating-color, var(--ig-warn-500, #f5a623));z-index:calc(var(--z-index-base) + 2)}[part=rating-editor] button[part~=rating-star]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(0,0,0,0);border:0;margin:0;padding:0.125rem;cursor:pointer;color:currentcolor;opacity:.35;border-radius:0.1875rem}[part=rating-editor] button[part~=rating-star]:hover{opacity:.75}[part=rating-editor] button[part~=rating-star][part~=filled]{opacity:1}[part=rating-editor] button[part~=rating-star]:focus-visible{outline:0.125rem solid var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500)));outline-offset:-0.0625rem}input[part~=boolean-mark]{inline-size:1rem;block-size:1rem;margin:0;cursor:pointer;accent-color:var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500)))}input[part~=boolean-mark][aria-readonly=true]{cursor:default;pointer-events:none}[part~=select-label]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;inline-size:100%}[part~=select-popover]{position:absolute;inset-block-start:100%;inset-inline-start:0;margin:0.125rem 0 0;padding:0.25rem 0;min-inline-size:100%;background:var(--igx-cell-editor-background, var(--ig-surface-500, white));border:0.0625rem solid hsl(from currentcolor h s l/22%);border-radius:0.25rem;box-shadow:0 0.125rem 0.25rem rgba(0,0,0,.06),0 0.375rem 1rem rgba(0,0,0,.12);max-block-size:15rem;overflow-y:auto;outline:none;z-index:calc(var(--z-index-base) + 10);color:inherit;font:inherit}[part~=select-option]{display:block;padding:0.375rem 0.75rem;cursor:pointer;color:inherit;outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[part~=select-option]:hover{background:hsl(from var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500))) h s l/8%)}[part~=select-option][part~=selected]{background:hsl(from var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500))) h s l/14%);color:var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500)));font-weight:500}[part~=select-option]:focus-visible{background:hsl(from var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500))) h s l/14%);outline:0.125rem solid var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500)));outline-offset:-0.125rem}[part~=image]{block-size:calc(100% - 0.5rem);max-block-size:2.5rem;inline-size:auto;aspect-ratio:1/1;-o-object-fit:cover;object-fit:cover;border-radius:0.1875rem;display:block;flex-shrink:0}[part~=image][part~=circle]{border-radius:50%}[part=tree-indent]{flex-shrink:0;display:inline-block}[part=tree-toggle]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;inline-size:1.5rem;block-size:1.5rem;margin-inline-end:0.25rem;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,0);color:inherit;cursor:pointer;transition:background-color 120ms ease}[part=tree-toggle]:hover{background:hsl(from currentcolor h s l/8%)}[part=tree-toggle]:focus-visible{outline:0.125rem solid var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ig-primary-500)));outline-offset:0.0625rem}[part=tree-chevron]{transition:transform 160ms ease}:host([data-tree-expanded]) [part=tree-chevron]{transform:rotate(90deg)}[part=tree-spacer]{display:inline-block;flex-shrink:0;inline-size:1.5rem;block-size:1.5rem;margin-inline-end:0.25rem}[part=tree-cell-content]{min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`;
|
|
3
|
+
//# sourceMappingURL=body-cell.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body-cell.css.js","sourceRoot":"","sources":["../../../src/styles/body-cell/body-cell.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,02NAA02N,CAAC","sourcesContent":["import { css } from 'lit';\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: 3}:host{position:relative;display:inline-flex;flex:1 0 0;align-items:center;padding:0 max(var(--is-large, 1)*max(1.5rem, -1 * 1.5rem),var(--is-medium, 1)*max(1rem, -1 * 1rem),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem));color:inherit;border-right:var(--igx-row-border-width, var(--row-border-width)) solid rgba(0,0,0,0);font-size:0.8125rem;overflow-wrap:anywhere;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host:last-of-type{border-right:0}:host([active]){outline:none;box-shadow:inset 0 0 0 0.0625rem var(--igx-cell-active-border-color, var(--cell-active-border-color))}:host([editing]){background:var(--igx-cell-editor-background, var(--ig-surface-500, white));z-index:calc(var(--z-index-base) + 2);overflow:hidden;cursor:text}:host([editing][data-pinned=start]),:host([editing][data-pinned=end]){background:var(--igx-cell-editor-background, var(--ig-surface-500, white))}:host([editing][data-cell-type=select]){overflow:visible}:host(:last-child){border-inline-end:none}:host([data-pinned=start]),:host([data-pinned=end]){position:sticky;z-index:calc(var(--z-index-base) + 1);background:inherit}:host([data-pinned=start]){inset-inline-start:var(--apex-pin-offset, 0)}:host([data-pinned=end]){inset-inline-end:var(--apex-pin-offset, 0)}:host([data-pin-edge=start]){box-shadow:.125rem 0 .25rem rgba(0,0,0,.06)}:host([data-pin-edge=end]){box-shadow:-0.125rem 0 .25rem rgba(0,0,0,.06)}:host([active][data-pin-edge=start]){box-shadow:inset 0 0 0 0.0625rem var(--igx-cell-active-border-color, var(--cell-active-border-color)),.125rem 0 .25rem rgba(0,0,0,.06)}:host([active][data-pin-edge=end]){box-shadow:inset 0 0 0 0.0625rem var(--igx-cell-active-border-color, var(--cell-active-border-color)),-0.125rem 0 .25rem rgba(0,0,0,.06)}input[data-apex-editor]{box-sizing:border-box;position:absolute;inset:0;width:auto;height:auto;padding:0 max(var(--is-large, 1)*max(1.5rem, -1 * 1.5rem),var(--is-medium, 1)*max(1rem, -1 * 1rem),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem));margin:0;border:0;background:rgba(0,0,0,0);color:inherit;font:inherit;font-size:0.8125rem;outline:none;caret-color:var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500)));-webkit-user-select:text;-moz-user-select:text;user-select:text}input[type=number][data-apex-editor]{text-align:end;font-variant-numeric:tabular-nums}input[type=checkbox][data-apex-editor]{position:relative;inset:auto;inline-size:1rem;block-size:1rem;margin:0;border:0;border-radius:0;background:none;box-shadow:none;outline:revert;accent-color:var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500)))}[part~=rating]{display:inline-flex;align-items:center;gap:0.0625rem;color:var(--igx-rating-color, var(--ig-warn-500, #f5a623))}[part~=rating-star]{display:inline-flex;align-items:center;justify-content:center;color:currentcolor;opacity:.25;line-height:0}[part~=rating-star] svg{inline-size:0.875rem;block-size:0.875rem}[part~=rating-star][part~=filled]{opacity:1}[part=rating-editor]{display:inline-flex;align-items:center;gap:0.125rem;padding:0 0.125rem;color:var(--igx-rating-color, var(--ig-warn-500, #f5a623));z-index:calc(var(--z-index-base) + 2)}[part=rating-editor] button[part~=rating-star]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(0,0,0,0);border:0;margin:0;padding:0.125rem;cursor:pointer;color:currentcolor;opacity:.35;border-radius:0.1875rem}[part=rating-editor] button[part~=rating-star]:hover{opacity:.75}[part=rating-editor] button[part~=rating-star][part~=filled]{opacity:1}[part=rating-editor] button[part~=rating-star]:focus-visible{outline:0.125rem solid var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500)));outline-offset:-0.0625rem}input[part~=boolean-mark]{inline-size:1rem;block-size:1rem;margin:0;cursor:pointer;accent-color:var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500)))}input[part~=boolean-mark][aria-readonly=true]{cursor:default;pointer-events:none}[part~=select-label]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;inline-size:100%}[part~=select-popover]{position:absolute;inset-block-start:100%;inset-inline-start:0;margin:0.125rem 0 0;padding:0.25rem 0;min-inline-size:100%;background:var(--igx-cell-editor-background, var(--ig-surface-500, white));border:0.0625rem solid hsl(from currentcolor h s l/22%);border-radius:0.25rem;box-shadow:0 0.125rem 0.25rem rgba(0,0,0,.06),0 0.375rem 1rem rgba(0,0,0,.12);max-block-size:15rem;overflow-y:auto;outline:none;z-index:calc(var(--z-index-base) + 10);color:inherit;font:inherit}[part~=select-option]{display:block;padding:0.375rem 0.75rem;cursor:pointer;color:inherit;outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[part~=select-option]:hover{background:hsl(from var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500))) h s l/8%)}[part~=select-option][part~=selected]{background:hsl(from var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500))) h s l/14%);color:var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500)));font-weight:500}[part~=select-option]:focus-visible{background:hsl(from var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500))) h s l/14%);outline:0.125rem solid var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ig-primary-500)));outline-offset:-0.125rem}[part~=image]{block-size:calc(100% - 0.5rem);max-block-size:2.5rem;inline-size:auto;aspect-ratio:1/1;-o-object-fit:cover;object-fit:cover;border-radius:0.1875rem;display:block;flex-shrink:0}[part~=image][part~=circle]{border-radius:50%}[part=tree-indent]{flex-shrink:0;display:inline-block}[part=tree-toggle]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;inline-size:1.5rem;block-size:1.5rem;margin-inline-end:0.25rem;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,0);color:inherit;cursor:pointer;transition:background-color 120ms ease}[part=tree-toggle]:hover{background:hsl(from currentcolor h s l/8%)}[part=tree-toggle]:focus-visible{outline:0.125rem solid var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ig-primary-500)));outline-offset:0.0625rem}[part=tree-chevron]{transition:transform 160ms ease}:host([data-tree-expanded]) [part=tree-chevron]{transform:rotate(90deg)}[part=tree-spacer]{display:inline-block;flex-shrink:0;inline-size:1.5rem;block-size:1.5rem;margin-inline-end:0.25rem}[part=tree-cell-content]{min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`;"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: 3}:host{display:grid;width:100%;min-height:max(var(--is-large, 1)*max(3.125rem, -1 * 3.125rem),var(--is-medium, 1)*max(2.125rem, -1 * 2.125rem),var(--is-small, 1)*max(1.5rem, -1 * 1.5rem));border-block-end:var(--igx-row-border-width, var(--header-border-width)) var(--igx-row-border-style, var(--header-border-style)) var(--igx-row-border-color, var(--header-border-color));background:var(--igx-row-odd-background, var(--row-odd-background));color:var(--igx-row-odd-text-color, var(--row-odd-text-color));z-index:var(--z-index-base)}:host(:last-of-type){border-bottom:0}:host(:nth-of-type(even)){background:var(--igx-row-even-background, var(--row-even-background));color:var(--igx-row-even-text-color, var(--row-even-text-color))}:host(:hover){background:var(--igx-row-hover-background, var(--row-hover-background));color:var(--igx-row-hover-text-color, var(--row-hover-text-color))}:host([selected]){background:hsl(from var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ig-primary-500))) h s l/12%)}:host([selected]:hover){background:hsl(from var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ig-primary-500))) h s l/18%)}[part=selection-cell]{display:flex;align-items:center;justify-content:center;position:sticky;inset-inline-start:0;z-index:calc(var(--z-index-base) + 1);background:inherit;border-inline-end:var(--igx-row-border-width, var(--header-border-width)) var(--igx-row-border-style, var(--header-border-style)) var(--igx-row-border-color, var(--header-border-color))}[part=selection-checkbox]{inline-size:1rem;block-size:1rem;margin:0;cursor:pointer;accent-color:var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ig-primary-500)))}[part=expansion-cell]{display:flex;align-items:center;justify-content:center;position:sticky;inset-inline-start:0;z-index:calc(var(--z-index-base) + 1);background:inherit;border-inline-end:var(--igx-row-border-width, var(--header-border-width)) var(--igx-row-border-style, var(--header-border-style)) var(--igx-row-border-color, var(--header-border-color))}[part=expansion-toggle]{display:inline-flex;align-items:center;justify-content:center;inline-size:1.5rem;block-size:1.5rem;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,0);color:inherit;cursor:pointer;transition:background-color 120ms ease}[part=expansion-toggle]:hover:not(:disabled){background:hsl(from currentcolor h s l/8%)}[part=expansion-toggle]:focus-visible{outline:2px solid var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ig-primary-500)));outline-offset:1px}[part=expansion-toggle]:disabled{opacity:.35;cursor:default}[part=expansion-chevron]{transition:transform 160ms ease}:host([expanded]) [part=expansion-chevron]{transform:rotate(90deg)}[part=detail-panel]{grid-column:1/-1;padding:0.75rem 1rem;background:hsl(from var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ig-primary-500))) h s l/4%);border-block-start:var(--igx-row-border-width, var(--header-border-width)) var(--igx-row-border-style, var(--header-border-style)) var(--igx-row-border-color, var(--header-border-color));position:sticky;inset-inline-start:0;inline-size:var(--apex-host-width, 100%);box-sizing:border-box;overflow:hidden}`;
|
|
3
|
+
//# sourceMappingURL=body-row.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body-row.css.js","sourceRoot":"","sources":["../../../src/styles/body-row/body-row.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,mgHAAmgH,CAAC","sourcesContent":["import { css } from 'lit';\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: 3}:host{display:grid;width:100%;min-height:max(var(--is-large, 1)*max(3.125rem, -1 * 3.125rem),var(--is-medium, 1)*max(2.125rem, -1 * 2.125rem),var(--is-small, 1)*max(1.5rem, -1 * 1.5rem));border-block-end:var(--igx-row-border-width, var(--header-border-width)) var(--igx-row-border-style, var(--header-border-style)) var(--igx-row-border-color, var(--header-border-color));background:var(--igx-row-odd-background, var(--row-odd-background));color:var(--igx-row-odd-text-color, var(--row-odd-text-color));z-index:var(--z-index-base)}:host(:last-of-type){border-bottom:0}:host(:nth-of-type(even)){background:var(--igx-row-even-background, var(--row-even-background));color:var(--igx-row-even-text-color, var(--row-even-text-color))}:host(:hover){background:var(--igx-row-hover-background, var(--row-hover-background));color:var(--igx-row-hover-text-color, var(--row-hover-text-color))}:host([selected]){background:hsl(from var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ig-primary-500))) h s l/12%)}:host([selected]:hover){background:hsl(from var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ig-primary-500))) h s l/18%)}[part=selection-cell]{display:flex;align-items:center;justify-content:center;position:sticky;inset-inline-start:0;z-index:calc(var(--z-index-base) + 1);background:inherit;border-inline-end:var(--igx-row-border-width, var(--header-border-width)) var(--igx-row-border-style, var(--header-border-style)) var(--igx-row-border-color, var(--header-border-color))}[part=selection-checkbox]{inline-size:1rem;block-size:1rem;margin:0;cursor:pointer;accent-color:var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ig-primary-500)))}[part=expansion-cell]{display:flex;align-items:center;justify-content:center;position:sticky;inset-inline-start:0;z-index:calc(var(--z-index-base) + 1);background:inherit;border-inline-end:var(--igx-row-border-width, var(--header-border-width)) var(--igx-row-border-style, var(--header-border-style)) var(--igx-row-border-color, var(--header-border-color))}[part=expansion-toggle]{display:inline-flex;align-items:center;justify-content:center;inline-size:1.5rem;block-size:1.5rem;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,0);color:inherit;cursor:pointer;transition:background-color 120ms ease}[part=expansion-toggle]:hover:not(:disabled){background:hsl(from currentcolor h s l/8%)}[part=expansion-toggle]:focus-visible{outline:2px solid var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ig-primary-500)));outline-offset:1px}[part=expansion-toggle]:disabled{opacity:.35;cursor:default}[part=expansion-chevron]{transition:transform 160ms ease}:host([expanded]) [part=expansion-chevron]{transform:rotate(90deg)}[part=detail-panel]{grid-column:1/-1;padding:0.75rem 1rem;background:hsl(from var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ig-primary-500))) h s l/4%);border-block-start:var(--igx-row-border-width, var(--header-border-width)) var(--igx-row-border-style, var(--header-border-style)) var(--igx-row-border-color, var(--header-border-color));position:sticky;inset-inline-start:0;inline-size:var(--apex-host-width, 100%);box-sizing:border-box;overflow:hidden}`;"]}
|