apex-grid 2.0.0 → 3.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/README.md +26 -23
- package/components/grid.d.ts +26 -22
- package/components/grid.js +34 -52
- package/components/grid.js.map +1 -1
- package/components/header.js +7 -13
- package/components/header.js.map +1 -1
- package/components/toolbar.js +13 -29
- package/components/toolbar.js.map +1 -1
- package/controllers/state.d.ts +15 -1
- package/controllers/state.js +11 -1
- package/controllers/state.js.map +1 -1
- package/custom-elements.json +228 -242
- package/define.js.map +1 -1
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/highlight.css +9 -2
- package/docs/assets/icons.js +1 -1
- package/docs/assets/icons.svg +1 -1
- package/docs/assets/main.js +4 -4
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/assets/style.css +3 -3
- package/docs/classes/ApexGrid.html +86 -87
- package/docs/functions/setup.html +11 -17
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +87 -47
- package/docs/interfaces/ApexCellValueChangedEvent.html +5 -5
- package/docs/interfaces/ApexCellValueChangingEvent.html +6 -6
- package/docs/interfaces/ApexColumnMovedEvent.html +4 -4
- package/docs/interfaces/ApexColumnMovingEvent.html +5 -5
- package/docs/interfaces/ApexColumnPinnedEvent.html +3 -3
- package/docs/interfaces/ApexColumnPinningEvent.html +4 -4
- package/docs/interfaces/ApexDetailContext.html +4 -4
- package/docs/interfaces/ApexFilteredEvent.html +3 -3
- package/docs/interfaces/ApexFilteringEvent.html +3 -3
- package/docs/interfaces/ApexGridEventMap.html +13 -13
- package/docs/interfaces/ApexHeaderContext.html +3 -3
- package/docs/interfaces/ApexPageChangedEvent.html +5 -5
- package/docs/interfaces/ApexPageChangingEvent.html +5 -5
- package/docs/interfaces/ApexQuickFilterChangedEvent.html +2 -2
- package/docs/interfaces/ApexQuickFilterChangingEvent.html +3 -3
- package/docs/interfaces/ApexRowEditEndedEvent.html +3 -3
- package/docs/interfaces/ApexRowEditStartedEvent.html +2 -2
- package/docs/interfaces/ApexRowExpandedEvent.html +4 -4
- package/docs/interfaces/ApexRowExpandingEvent.html +5 -5
- package/docs/interfaces/ApexRowSelectedEvent.html +4 -4
- package/docs/interfaces/ApexRowSelectingEvent.html +5 -5
- package/docs/interfaces/ApexTreeRowExpandedEvent.html +4 -4
- package/docs/interfaces/ApexTreeRowExpandingEvent.html +5 -5
- package/docs/interfaces/BaseApexCellContext.html +6 -6
- package/docs/interfaces/BaseApexEditorContext.html +8 -8
- package/docs/interfaces/BaseColumnConfiguration.html +34 -15
- package/docs/interfaces/BaseColumnSortConfiguration.html +3 -3
- package/docs/interfaces/BaseFilterExpression.html +4 -4
- package/docs/interfaces/BaseSortExpression.html +3 -3
- package/docs/interfaces/CSVExportOptions.html +9 -9
- package/docs/interfaces/ColumnFilterConfiguration.html +2 -2
- package/docs/interfaces/DataPipelineConfiguration.html +3 -3
- package/docs/interfaces/ExportFormat.html +10 -0
- package/docs/interfaces/ExportOptions.html +6 -6
- package/docs/interfaces/GridEditingConfiguration.html +4 -4
- package/docs/interfaces/GridExpansionConfiguration.html +5 -5
- package/docs/interfaces/GridSelectionConfiguration.html +4 -4
- package/docs/interfaces/GridSortConfiguration.html +3 -3
- package/docs/interfaces/GridTreeConfiguration.html +5 -5
- package/docs/interfaces/PaginationConfiguration.html +6 -6
- package/docs/interfaces/PaginationState.html +5 -5
- package/docs/media/LICENSE +80 -0
- package/docs/media/_tokens.scss +106 -0
- package/docs/media/package.json +14 -12
- package/docs/modules.html +1 -1
- package/docs/types/ApexCellContext.html +1 -1
- package/docs/types/ApexEditorContext.html +1 -1
- package/docs/types/BasePropertyType.html +1 -1
- package/docs/types/BaseSortComparer.html +1 -1
- package/docs/types/ColumnConfiguration.html +1 -1
- package/docs/types/ColumnDropPosition.html +1 -1
- package/docs/types/ColumnSortConfiguration.html +1 -1
- package/docs/types/DataPipelineHook.html +1 -1
- package/docs/types/DataPipelineParams.html +4 -4
- package/docs/types/DataType.html +18 -1
- package/docs/types/ExportSource.html +1 -1
- package/docs/types/FilterCriteria.html +1 -1
- package/docs/types/FilterExpression.html +1 -1
- package/docs/types/Keys.html +1 -1
- package/docs/types/PropertyType.html +1 -1
- package/docs/types/SortComparer.html +1 -1
- package/docs/types/SortExpression.html +1 -1
- package/docs/types/SortState.html +1 -1
- package/index.d.ts +1 -1
- package/index.js.map +1 -1
- package/internal/column-types.js +161 -1
- package/internal/column-types.js.map +1 -1
- package/internal/export.d.ts +12 -4
- package/internal/export.js.map +1 -1
- package/internal/feature-module.d.ts +27 -0
- package/internal/feature-module.js +2 -0
- package/internal/feature-module.js.map +1 -0
- package/internal/icons.d.ts +7 -0
- package/internal/icons.js +11 -0
- package/internal/icons.js.map +1 -1
- package/internal/index.d.ts +20 -0
- package/internal/index.js +6 -0
- package/internal/index.js.map +1 -0
- package/internal/types.d.ts +54 -5
- package/internal/types.js.map +1 -1
- package/operations/filter/tree.d.ts +1 -1
- package/operations/filter/types.js.map +1 -1
- package/operations/sort/types.js.map +1 -1
- package/package.json +5 -1
- package/setup.d.ts +19 -26
- package/setup.js +4 -2
- package/setup.js.map +1 -1
- package/styles/_checkbox.css.js +3 -0
- package/styles/_checkbox.css.js.map +1 -0
- package/styles/_tokens.css.js +3 -0
- package/styles/_tokens.css.js.map +1 -0
- package/styles/body-cell/body-cell.css.js +1 -1
- package/styles/body-cell/body-cell.css.js.map +1 -1
- package/styles/body-cell/cell-renderers.css.js +3 -0
- package/styles/body-cell/cell-renderers.css.js.map +1 -0
- package/styles/body-row/body-row.css.js +1 -1
- package/styles/body-row/body-row.css.js.map +1 -1
- package/styles/filter-row/filter-row.css.js +1 -1
- package/styles/filter-row/filter-row.css.js.map +1 -1
- package/styles/grid/_grid.base.css.js +1 -1
- package/styles/grid/_grid.base.css.js.map +1 -1
- package/styles/grid/grid.css.js +3 -0
- package/styles/grid/grid.css.js.map +1 -0
- package/styles/header-cell/header-cell.css.js +1 -1
- package/styles/header-cell/header-cell.css.js.map +1 -1
- package/styles/header-row/header-row.base.css.js +1 -1
- package/styles/header-row/header-row.base.css.js.map +1 -1
- package/styles/paginator/paginator.css.js +1 -1
- package/styles/paginator/paginator.css.js.map +1 -1
- package/styles/toolbar/toolbar.css.js +1 -1
- package/styles/toolbar/toolbar.css.js.map +1 -1
- package/docs/interfaces/XLSXExportOptions.html +0 -17
- package/docs/media/publish.yml +0 -111
- package/internal/theming.d.ts +0 -34
- package/internal/theming.js +0 -123
- package/internal/theming.js.map +0 -1
- package/internal/xlsx.d.ts +0 -22
- package/internal/xlsx.js +0 -228
- package/internal/xlsx.js.map +0 -1
- package/styles/grid/themes/light/grid.bootstrap.css.js +0 -3
- package/styles/grid/themes/light/grid.bootstrap.css.js.map +0 -1
- package/styles/grid/themes/light/grid.fluent.css.js +0 -3
- package/styles/grid/themes/light/grid.fluent.css.js.map +0 -1
- package/styles/grid/themes/light/grid.indigo.css.js +0 -3
- package/styles/grid/themes/light/grid.indigo.css.js.map +0 -1
- package/styles/grid/themes/light/grid.material.css.js +0 -3
- package/styles/grid/themes/light/grid.material.css.js.map +0 -1
- /package/styles/{grid/themes/light/grid.bootstrap.css.d.ts → _checkbox.css.d.ts} +0 -0
- /package/styles/{grid/themes/light/grid.fluent.css.d.ts → _tokens.css.d.ts} +0 -0
- /package/styles/{grid/themes/light/grid.indigo.css.d.ts → body-cell/cell-renderers.css.d.ts} +0 -0
- /package/styles/grid/{themes/light/grid.material.css.d.ts → grid.css.d.ts} +0 -0
package/internal/types.d.ts
CHANGED
|
@@ -49,8 +49,28 @@ export type PropertyType<T, K extends Keys<T> = Keys<T>> = K extends Keys<T> ? B
|
|
|
49
49
|
* {@link BaseColumnConfiguration.shape} to pick between `'square'`
|
|
50
50
|
* (default) and `'circle'`. The cell's default text editor is used for
|
|
51
51
|
* editing the URL string when `editable: true` is set.
|
|
52
|
+
*
|
|
53
|
+
* The remaining types are premium presentation renderers over primitive
|
|
54
|
+
* values; for sorting / filtering they behave as their underlying value type:
|
|
55
|
+
* - `'currency'` formats a number via `Intl.NumberFormat` (tabular, right
|
|
56
|
+
* aligned). Configure with {@link BaseColumnConfiguration.currency} /
|
|
57
|
+
* {@link BaseColumnConfiguration.locale}. Editable via a number input.
|
|
58
|
+
* - `'avatar'` renders the value's first letter in a tinted circle (hue is
|
|
59
|
+
* derived from the value, stable per row).
|
|
60
|
+
* - `'badge'` renders the value as a colored pill. Pick the look with
|
|
61
|
+
* {@link BaseColumnConfiguration.badgeVariant}.
|
|
62
|
+
* - `'progress'` renders a number (0..`max`, default `max` 100) as a health
|
|
63
|
+
* bar; the fill color tiers at ≥80 / ≥65 / below.
|
|
64
|
+
* - `'sparkline'` renders a `number[]` as an inline trend chart with an
|
|
65
|
+
* optional delta label ({@link BaseColumnConfiguration.showDelta}).
|
|
66
|
+
* - `'status'` renders a pill with a leading dot. The state is taken from
|
|
67
|
+
* {@link BaseColumnConfiguration.statusVariant} or inferred from the value.
|
|
52
68
|
*/
|
|
53
|
-
export type DataType = 'number' | 'string' | 'boolean' | 'select' | 'rating' | 'date' | 'image';
|
|
69
|
+
export type DataType = 'number' | 'string' | 'boolean' | 'select' | 'rating' | 'date' | 'image' | 'currency' | 'avatar' | 'badge' | 'progress' | 'sparkline' | 'status';
|
|
70
|
+
/** Visual variant for a `type: 'badge'` pill. */
|
|
71
|
+
export type BadgeVariant = 'gold' | 'brand' | 'neutral' | 'muted';
|
|
72
|
+
/** State for a `type: 'status'` badge. */
|
|
73
|
+
export type StatusVariant = 'active' | 'trial' | 'churn';
|
|
54
74
|
/**
|
|
55
75
|
* Display format presets for `'date'` columns. Map to
|
|
56
76
|
* `Intl.DateTimeFormatOptions.dateStyle`.
|
|
@@ -151,7 +171,7 @@ export interface BaseColumnConfiguration<T extends object, K extends Keys<T> = K
|
|
|
151
171
|
hidden?: boolean;
|
|
152
172
|
/**
|
|
153
173
|
* Whether this column is included when exporting via
|
|
154
|
-
* {@link ApexGrid.exportToCSV} or
|
|
174
|
+
* {@link ApexGrid.exportToCSV} (or the enterprise grid's XLSX export).
|
|
155
175
|
*
|
|
156
176
|
* @remarks
|
|
157
177
|
* Defaults to `true`. Set to `false` to omit a column from generated files
|
|
@@ -232,11 +252,12 @@ export interface BaseColumnConfiguration<T extends object, K extends Keys<T> = K
|
|
|
232
252
|
*/
|
|
233
253
|
options?: ColumnSelectOption<BasePropertyType<T, K>>[];
|
|
234
254
|
/**
|
|
235
|
-
*
|
|
255
|
+
* Upper bound for `type: 'rating'` and `type: 'progress'`.
|
|
236
256
|
*
|
|
237
257
|
* @remarks
|
|
238
|
-
*
|
|
239
|
-
*
|
|
258
|
+
* For `'rating'` this is the star count (default `5`); the displayed value is
|
|
259
|
+
* clamped to `[0, max]`. For `'progress'` this is the value that fills the bar
|
|
260
|
+
* to 100% (default `100`). Has no effect on columns with another `type`.
|
|
240
261
|
*/
|
|
241
262
|
max?: number;
|
|
242
263
|
/**
|
|
@@ -264,6 +285,34 @@ export interface BaseColumnConfiguration<T extends object, K extends Keys<T> = K
|
|
|
264
285
|
* `type`.
|
|
265
286
|
*/
|
|
266
287
|
alt?: string;
|
|
288
|
+
/**
|
|
289
|
+
* ISO 4217 currency code for `type: 'currency'` columns (e.g. `'USD'`,
|
|
290
|
+
* `'EUR'`). Defaults to `'USD'`. Has no effect on columns with another
|
|
291
|
+
* `type`.
|
|
292
|
+
*/
|
|
293
|
+
currency?: string;
|
|
294
|
+
/**
|
|
295
|
+
* BCP 47 locale for `type: 'currency'` number formatting. Defaults to the
|
|
296
|
+
* runtime locale. Has no effect on columns with another `type`.
|
|
297
|
+
*/
|
|
298
|
+
locale?: string;
|
|
299
|
+
/**
|
|
300
|
+
* Visual variant for `type: 'badge'` columns. A literal applies to every
|
|
301
|
+
* cell; a callback picks per value. Defaults to `'neutral'`. Has no effect
|
|
302
|
+
* on columns with another `type`.
|
|
303
|
+
*/
|
|
304
|
+
badgeVariant?: BadgeVariant | ((value: BasePropertyType<T, K>) => BadgeVariant);
|
|
305
|
+
/**
|
|
306
|
+
* State for `type: 'status'` columns. A literal applies to every cell; a
|
|
307
|
+
* callback maps a value to a state. When omitted the state is inferred from
|
|
308
|
+
* the value text. Has no effect on columns with another `type`.
|
|
309
|
+
*/
|
|
310
|
+
statusVariant?: StatusVariant | ((value: BasePropertyType<T, K>) => StatusVariant);
|
|
311
|
+
/**
|
|
312
|
+
* Whether `type: 'sparkline'` columns render a trailing delta-% label.
|
|
313
|
+
* Defaults to `true`. Has no effect on columns with another `type`.
|
|
314
|
+
*/
|
|
315
|
+
showDelta?: boolean;
|
|
267
316
|
}
|
|
268
317
|
/**
|
|
269
318
|
* See {@link BaseColumnConfiguration} for the full documentation.
|
package/internal/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/internal/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactiveControllerHost, TemplateResult } from 'lit';\nimport type ApexGridCell from '../components/cell.js';\nimport type { ApexGrid } from '../components/grid.js';\nimport type ApexGridHeader from '../components/header.js';\nimport type ApexGridRow from '../components/row.js';\nimport type { SortComparer } from '../operations/sort/types.js';\n\nexport type NavigationState = 'previous' | 'current';\nexport type GridHost<T extends object> = ReactiveControllerHost & ApexGrid<T>;\n\n/**\n * Helper type for resolving keys of type T.\n */\nexport type Keys<T> = keyof T;\n\n/**\n * Helper type for resolving types of type T.\n */\nexport type BasePropertyType<T, K extends Keys<T> = Keys<T>> = T[K];\n\n/**\n * Helper type for resolving types of type T.\n */\nexport type PropertyType<T, K extends Keys<T> = Keys<T>> = K extends Keys<T>\n ? BasePropertyType<T, K>\n : never;\n\n/**\n * The data type — or, for the declarative built-ins (`'select'`, `'rating'`,\n * `'date'`, `'image'`), the presentation type — for the current column.\n *\n * @remarks\n * - `'string'` / `'number'` are the primitive data types. They drive the\n * default filter operands, the default editor, and the default sort\n * comparison.\n * - `'boolean'` stores `true` / `false`. In display mode the grid renders\n * a check-mark icon for `true` and a dimmed mark for `false`. In edit\n * mode the default editor is a native checkbox.\n * - `'select'` is a presentation type for columns that store one of a fixed\n * set of values. Supply the available options via\n * {@link BaseColumnConfiguration.options}. The cell renders the matching\n * option's label in display mode and a native `<select>` in edit mode.\n * For sorting / filtering, select columns behave as their underlying\n * value type (typically string).\n * - `'rating'` renders a numeric value (0..`max`) as filled stars in display\n * mode and as an interactive star picker in edit mode. Configure the star\n * count via {@link BaseColumnConfiguration.max} (defaults to `5`).\n * For sorting / filtering, rating columns behave as numbers.\n * - `'date'` renders values as locale-aware formatted dates in display mode\n * and a native `<input type=\"date\">` in edit mode. Accepts `Date`\n * instances, ISO strings, or millisecond timestamps as input and commits\n * back in the same shape. Configure the display format via\n * {@link BaseColumnConfiguration.format} (`'short' | 'medium' | 'long' |\n * 'full'`, default `'medium'`).\n * - `'image'` renders the value as an `<img>` source. Use\n * {@link BaseColumnConfiguration.shape} to pick between `'square'`\n * (default) and `'circle'`. The cell's default text editor is used for\n * editing the URL string when `editable: true` is set.\n */\nexport type DataType = 'number' | 'string' | 'boolean' | 'select' | 'rating' | 'date' | 'image';\n\n/**\n * Display format presets for `'date'` columns. Map to\n * `Intl.DateTimeFormatOptions.dateStyle`.\n */\nexport type ColumnDateFormat = 'short' | 'medium' | 'long' | 'full';\n\n/**\n * An entry in a `'select'` column's `options` list. Bare values use\n * `String(value)` as their display label; the explicit form lets you give\n * a value a separate display label.\n */\nexport type ColumnSelectOption<V = unknown> = V | { value: V; label?: string };\n\n/**\n * Configures the sort behavior for the grid.\n */\nexport interface GridSortConfiguration {\n /**\n * Whether multiple sorting is enabled.\n */\n multiple: boolean;\n /**\n * Whether tri-state sorting is enabled.\n */\n triState: boolean;\n}\n\n/**\n * Extended sort configuration for a column.\n */\nexport interface BaseColumnSortConfiguration<T, K extends Keys<T> = Keys<T>> {\n /**\n * Whether the sort operations will be case sensitive.\n */\n caseSensitive?: boolean;\n /**\n * Custom comparer function for sort operations for this column.\n */\n comparer?: SortComparer<T, K>;\n}\n\n/**\n * See {@link BaseColumnSortConfiguration} for the full documentation.\n */\nexport type ColumnSortConfiguration<T, K extends Keys<T> = Keys<T>> = K extends Keys<T>\n ? BaseColumnSortConfiguration<T, K>\n : never;\n\n/**\n * Extended filter configuration for a column.\n */\nexport interface ColumnFilterConfiguration {\n /**\n * Whether the filter operations will be case sensitive.\n */\n caseSensitive?: boolean;\n}\n\n/**\n * Pin position for a column.\n *\n * @remarks\n * `'start'` pins the column to the leading edge of the grid (inline-start);\n * `'end'` pins it to the trailing edge. `null` or `undefined` means the column\n * is part of the scrollable region.\n */\nexport type PinPosition = 'start' | 'end' | null;\n\n/** Configuration object for grid columns. */\nexport interface BaseColumnConfiguration<T extends object, K extends Keys<T> = Keys<T>> {\n /**\n * The field for from the data the this column will reference.\n */\n key: K;\n /**\n * The type of data this column will reference.\n *\n * Affects the default filter operands if the column is with filtering enabled.\n *\n * @remarks\n * If not passed, `string` is assumed to be the default type.\n *\n */\n type?: DataType;\n /**\n * Optional text to display in the column header. By default, the column key is used\n * to render the header text.\n */\n headerText?: string;\n /**\n * Width for the current column.\n *\n * Accepts most CSS units for controlling width.\n *\n * @remarks\n * If not passed, the column will try to size itself based on the number of other\n * columns and the total width of the grid.\n *\n */\n width?: string;\n /**\n * Whether the column is hidden or not.\n */\n hidden?: boolean;\n /**\n * Whether this column is included when exporting via\n * {@link ApexGrid.exportToCSV} or {@link ApexGrid.exportToXLSX}.\n *\n * @remarks\n * Defaults to `true`. Set to `false` to omit a column from generated files\n * (useful for action columns, derived UI, or sensitive fields). The\n * grid-rendered selection checkbox column is never exported regardless of\n * this flag.\n */\n exportable?: boolean;\n /**\n * Pin the column to a side of the grid.\n *\n * @remarks\n * Pinned columns stay fixed during horizontal scroll. Use `'start'` (left in LTR,\n * right in RTL) for the leading edge or `'end'` for the trailing edge. The grid\n * renders columns in the order: `'start'`-pinned, unpinned, `'end'`-pinned, while\n * preserving the original array order inside each group. The `columns` array\n * itself is not mutated.\n */\n pinned?: PinPosition;\n /**\n * Whether this column can be reordered via drag-and-drop or the\n * {@link ApexGrid.moveColumn} API.\n *\n * @remarks\n * Has no effect unless the grid's `columnReordering` flag is `true`. When\n * unset, columns inherit the grid-wide flag. Reordering is constrained to the\n * column's own pinning group — start-pinned columns can only swap with other\n * start-pinned columns, and likewise for end-pinned and unpinned.\n */\n reorderable?: boolean;\n /**\n * Whether the the column can be resized or not.\n */\n resizable?: boolean;\n /**\n * Whether the column can be sorted or not.\n */\n sort?: ColumnSortConfiguration<T, K> | boolean;\n /**\n * Whether filter operation can be applied on the column or not.\n */\n filter?: ColumnFilterConfiguration | boolean;\n /**\n * Header template callback.\n */\n headerTemplate?: (params: ApexHeaderContext<T>) => TemplateResult | unknown;\n /**\n * Cell template callback.\n */\n cellTemplate?: (params: ApexCellContext<T, K>) => TemplateResult | unknown;\n /**\n * Whether values in this column can be edited inline.\n *\n * @remarks\n * Has no effect unless the grid's `editing.enabled` is `true`. The default\n * editor is chosen from the column's `type` (`'string'` → text input,\n * `'number'` → number input, `'boolean'` → checkbox). Supply\n * {@link BaseColumnConfiguration.editorTemplate} for full control.\n */\n editable?: boolean;\n /**\n * Custom editor template invoked while this column's cell is in edit mode.\n *\n * @remarks\n * The callback receives an {@link ApexEditorContext} that includes the cell\n * value plus `commit` / `cancel` helpers. Returning a focusable element is\n * recommended so keyboard handoff works.\n */\n editorTemplate?: (params: ApexEditorContext<T, K>) => TemplateResult | unknown;\n /**\n * Option list for columns with `type: 'select'`.\n *\n * @remarks\n * Each entry is either a bare value or an explicit `{ value, label }` pair.\n * The cell renders the matching option's `label` in display mode and a\n * native `<select>` of all options in edit mode. Has no effect on columns\n * with another `type`.\n */\n options?: ColumnSelectOption<BasePropertyType<T, K>>[];\n /**\n * Star count for columns with `type: 'rating'`.\n *\n * @remarks\n * The displayed value is clamped to the range `[0, max]`. Defaults to `5`.\n * Has no effect on columns with another `type`.\n */\n max?: number;\n /**\n * Display format for columns with `type: 'date'`.\n *\n * @remarks\n * Selects an `Intl.DateTimeFormatOptions.dateStyle` preset. Defaults to\n * `'medium'`. Has no effect on columns with another `type`.\n */\n format?: ColumnDateFormat;\n /**\n * Cropping shape for columns with `type: 'image'`.\n *\n * @remarks\n * `'square'` (default) renders the image at its native aspect. `'circle'`\n * crops to a circle (useful for avatars). Has no effect on columns with\n * another `type`.\n */\n shape?: 'square' | 'circle';\n /**\n * Alt text for `<img>` elements rendered by `type: 'image'` columns.\n *\n * @remarks\n * Defaults to the column key. Has no effect on columns with another\n * `type`.\n */\n alt?: string;\n}\n\n/**\n * See {@link BaseColumnConfiguration} for the full documentation.\n */\nexport type ColumnConfiguration<T extends object, K extends Keys<T> = Keys<T>> = K extends Keys<T>\n ? BaseColumnConfiguration<T, K>\n : never;\n\nexport interface ActiveNode<T> {\n column: Keys<T>;\n row: number;\n}\n\n/**\n * Context object for the column header template callback.\n */\nexport interface ApexHeaderContext<T extends object> {\n /**\n * The header element parent of the template.\n */\n parent: ApexGridHeader<T>;\n /**\n * The current configuration for the column.\n */\n column: ColumnConfiguration<T>;\n}\n\n/**\n * Context object for the row cell template callback.\n */\nexport interface BaseApexCellContext<T extends object, K extends Keys<T> = Keys<T>> {\n /**\n * The cell element parent of the template.\n */\n parent: ApexGridCell<T>;\n /**\n * The row element containing the cell.\n */\n row: ApexGridRow<T>;\n /**\n * The current configuration for the column.\n */\n column: ColumnConfiguration<T, K>;\n /**\n * The value from the data source for this cell.\n */\n value: PropertyType<T, K>;\n /**\n * Commits a new value for this cell without entering edit mode. Available\n * when the column is editable. Used by interactive display widgets\n * (e.g. the built-in boolean checkbox) so they can toggle inline.\n *\n * Goes through the cancellable `cellValueChanging` event and follow-up\n * `cellValueChanged` event — same write path as an edit-mode commit.\n */\n commit?: (value: PropertyType<T, K>) => Promise<boolean>;\n}\n\n/**\n * See {@link BaseApexCellContext} for the full documentation.\n */\nexport type ApexCellContext<T extends object, K extends Keys<T> = Keys<T>> = K extends Keys<T>\n ? BaseApexCellContext<T, K>\n : never;\n\n/**\n * Context object handed to a custom editor template.\n *\n * @remarks\n * Includes the cell's current `value` plus `commit` / `cancel` callbacks so\n * the editor can hand its result back to the grid. The custom editor is also\n * responsible for forwarding `Enter` / `Escape` to those callbacks.\n */\nexport interface BaseApexEditorContext<T extends object, K extends Keys<T> = Keys<T>>\n extends BaseApexCellContext<T, K> {\n /**\n * Commits `value` as the new cell value, going through the cancellable\n * `cellValueChanging` event and then `cellValueChanged`.\n *\n * @returns `true` if the value was applied, `false` if cancelled.\n */\n commit: (value: PropertyType<T, K>) => Promise<boolean>;\n /**\n * Discards the in-progress edit and exits edit mode.\n */\n cancel: () => void;\n}\n\n/**\n * See {@link BaseApexEditorContext} for the full documentation.\n */\nexport type ApexEditorContext<T extends object, K extends Keys<T> = Keys<T>> = K extends Keys<T>\n ? BaseApexEditorContext<T, K>\n : never;\n\n/**\n * The edit trigger used to enter cell edit mode.\n *\n * @remarks\n * `'click'` enters edit on a single click on the cell; `'doubleClick'`\n * requires a double click. Defaults to `'doubleClick'`.\n */\nexport type EditTrigger = 'click' | 'doubleClick';\n\n/**\n * Edit mode for the grid.\n *\n * @remarks\n * `'cell'` — each cell is committed independently on blur or `Enter`.\n * `'row'` — all editable cells in the row enter edit mode together; changes\n * are batched and applied via {@link ApexGrid.commitEdit} or rolled back via\n * {@link ApexGrid.cancelEdit}.\n */\nexport type EditMode = 'cell' | 'row';\n\n/**\n * Selection mode for the grid.\n *\n * @remarks\n * `'single'` — at most one row may be selected at any time. New clicks\n * replace the existing selection.\n * `'multiple'` — multiple rows can be selected. Plain clicks replace the\n * selection, Ctrl/Cmd+click toggles a row additively, and Shift+click\n * selects a range from the previous anchor.\n */\nexport type SelectionMode = 'single' | 'multiple';\n\n/**\n * Grid-level row-selection configuration.\n */\nexport interface GridSelectionConfiguration {\n /**\n * Whether row selection is enabled. Disabled by default.\n */\n enabled?: boolean;\n /**\n * Single-row vs multi-row selection. Defaults to `'multiple'`.\n */\n mode?: SelectionMode;\n /**\n * Whether to render the built-in checkbox column at the start of every\n * row. When `false`, selection is still available via the public API\n * (`selectRow`, `selectedRows = ...`) and via Space on the active row.\n * Defaults to `false`.\n */\n showCheckboxColumn?: boolean;\n}\n\n/**\n * Context passed to {@link GridExpansionConfiguration.detailTemplate}.\n */\nexport interface ApexDetailContext<T extends object> {\n /** The row data for the expanded row. */\n data: T;\n /** The view-relative row index of the master row. */\n rowIndex: number;\n /** The grid element. Useful for emitting events back from the detail. */\n parent: ApexGrid<T>;\n}\n\n/**\n * Grid-level tree-data (nested rows) configuration.\n *\n * @remarks\n * Tree mode renders hierarchical data as nested rows that share the same\n * column layout — collapsible parents with indented children, AG Grid's\n * \"tree data\" pattern. The data array stays flat; the grid derives the\n * hierarchy from {@link getDataPath} at runtime.\n *\n * This is distinct from {@link GridExpansionConfiguration} (master-detail),\n * which expands a row to show an arbitrary detail panel. Tree mode and\n * expansion mode can be enabled together, but the chevron column is\n * reserved by whichever is currently rendering the chevron — typically the\n * tree feature when both are enabled.\n *\n * @example\n * ```ts\n * grid.tree = {\n * enabled: true,\n * getDataPath: (row) => row.path,\n * };\n * ```\n */\nexport interface GridTreeConfiguration<T extends object> {\n /** Whether tree mode is enabled. Disabled by default. */\n enabled?: boolean;\n /**\n * Callback that returns the hierarchical path for a row. The path is a\n * sequence of segments from root to the row's own position — for example\n * `['Adrian']` for a CEO, `['Adrian', 'Bryan']` for a VP under Adrian,\n * and so on. Required when `enabled` is `true`.\n */\n getDataPath: (row: T) => readonly string[];\n /**\n * Which column displays the chevron + indentation. Defaults to the first\n * visible non-hidden data column.\n */\n groupColumnKey?: Keys<T>;\n /**\n * Initial expansion state:\n * - `false` (default): all rows collapsed.\n * - `true`: every row expanded.\n * - `number`: expand all rows up to and including the given depth (0 = roots only).\n */\n defaultExpanded?: boolean | number;\n /**\n * Pixels of indentation per depth level. Defaults to `20`.\n */\n childIndent?: number;\n}\n\n/**\n * Grid-level row-expansion (master-detail) configuration.\n */\nexport interface GridExpansionConfiguration<T extends object> {\n /**\n * Whether row expansion is enabled. Disabled by default.\n */\n enabled?: boolean;\n /**\n * Callback that produces the detail panel content for an expanded row.\n * Required when `enabled` is `true`.\n */\n detailTemplate?: (context: ApexDetailContext<T>) => TemplateResult | unknown;\n /**\n * Optional per-row predicate that gates which rows may be expanded. When\n * omitted, every row is expandable.\n */\n isExpandable?: (row: T) => boolean;\n /**\n * Whether to render the built-in chevron toggle column at the start of\n * every row (after the selection column, when present). Defaults to `true`.\n * Set to `false` to drive expansion entirely through the public API or a\n * custom cell template.\n */\n showToggleColumn?: boolean;\n}\n\n/**\n * Grid-level editing configuration.\n */\nexport interface GridEditingConfiguration {\n /**\n * Whether editing is enabled. Per-column opt-in still applies via\n * {@link BaseColumnConfiguration.editable}.\n */\n enabled?: boolean;\n /**\n * Whether each cell commits independently or whether the whole row is edited\n * as a batch. Defaults to `'cell'`.\n */\n mode?: EditMode;\n /**\n * The interaction that opens an editor. Defaults to `'doubleClick'`.\n */\n trigger?: EditTrigger;\n}\n\n/**\n * The parameters passed to a {@link DataPipelineHook} callback.\n */\nexport type DataPipelineParams<T extends object> = {\n /**\n * The current data state of the grid.\n */\n data: T[];\n /**\n * The grid component itself.\n */\n grid: ApexGrid<T>;\n /**\n * The type of data operation being performed.\n */\n type: 'sort' | 'filter' | 'quickFilter' | 'pagination';\n};\n\n/**\n * Callback function for customizing data operations in the grid.\n */\nexport type DataPipelineHook<T extends object> = (\n state: DataPipelineParams<T>\n) => T[] | Promise<T[]>;\n\n/**\n * Configuration for customizing the various data operations of the grid.\n */\nexport interface DataPipelineConfiguration<T extends object> {\n /**\n * Hook for customizing sort operations.\n */\n sort?: DataPipelineHook<T>;\n /**\n * Hook for customizing filter operations.\n */\n filter?: DataPipelineHook<T>;\n /**\n * Hook for customizing pagination operations.\n *\n * @remarks\n * The hook receives the filtered + sorted data slice for the grid to render and the current\n * pagination state. Return the page slice. For server-driven pagination, return the externally\n * fetched page and report the row total via {@link ApexGrid.totalItems}.\n */\n pagination?: DataPipelineHook<T>;\n /**\n * Hook for customizing quick (global) filter operations.\n *\n * @remarks\n * Called before column filtering. Return the records that match the {@link ApexGrid.quickFilter}\n * value. If omitted, the default substring matcher is used.\n */\n quickFilter?: DataPipelineHook<T>;\n}\n\n/**\n * The pagination mode for the grid.\n *\n * @remarks\n * `'local'` — the grid slices the in-memory {@link ApexGrid.dataView} by `page` and `pageSize`.\n * `'remote'` — the consumer drives data fetching; the grid emits paging events but does not\n * slice the data. Use together with {@link DataPipelineConfiguration.pagination} or by setting\n * `data` to the current page on `pageChanged`.\n */\nexport type PaginationMode = 'local' | 'remote';\n\n/**\n * Pagination configuration for the grid.\n */\nexport interface PaginationConfiguration {\n /**\n * Whether pagination is enabled.\n *\n * @remarks\n * When `false`, the grid renders no paginator and applies no slicing — the full\n * {@link ApexGrid.dataView} is virtualized as usual.\n */\n enabled?: boolean;\n /**\n * The pagination mode. Defaults to `'local'`.\n */\n mode?: PaginationMode;\n /**\n * The current page (zero-based). Defaults to `0`.\n */\n page?: number;\n /**\n * The number of records per page. Defaults to `25`.\n */\n pageSize?: number;\n /**\n * The list of page sizes offered in the paginator's page-size dropdown.\n * Defaults to `[10, 25, 50, 100]`.\n */\n pageSizeOptions?: number[];\n /**\n * In `'remote'` mode the consumer must supply the unfiltered row total so the paginator\n * can compute the page count. Ignored in `'local'` mode.\n */\n totalItems?: number;\n}\n\n/**\n * Resolved pagination state passed to controllers and event payloads.\n */\nexport interface PaginationState {\n /**\n * The current page (zero-based).\n */\n page: number;\n /**\n * The number of records per page.\n */\n pageSize: number;\n /**\n * The total number of pages.\n */\n pageCount: number;\n /**\n * The total number of records before pagination (after filter/sort).\n */\n totalItems: number;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/internal/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactiveControllerHost, TemplateResult } from 'lit';\nimport type ApexGridCell from '../components/cell.js';\nimport type { ApexGrid } from '../components/grid.js';\nimport type ApexGridHeader from '../components/header.js';\nimport type ApexGridRow from '../components/row.js';\nimport type { SortComparer } from '../operations/sort/types.js';\n\nexport type NavigationState = 'previous' | 'current';\nexport type GridHost<T extends object> = ReactiveControllerHost & ApexGrid<T>;\n\n/**\n * Helper type for resolving keys of type T.\n */\nexport type Keys<T> = keyof T;\n\n/**\n * Helper type for resolving types of type T.\n */\nexport type BasePropertyType<T, K extends Keys<T> = Keys<T>> = T[K];\n\n/**\n * Helper type for resolving types of type T.\n */\nexport type PropertyType<T, K extends Keys<T> = Keys<T>> =\n K extends Keys<T> ? BasePropertyType<T, K> : never;\n\n/**\n * The data type — or, for the declarative built-ins (`'select'`, `'rating'`,\n * `'date'`, `'image'`), the presentation type — for the current column.\n *\n * @remarks\n * - `'string'` / `'number'` are the primitive data types. They drive the\n * default filter operands, the default editor, and the default sort\n * comparison.\n * - `'boolean'` stores `true` / `false`. In display mode the grid renders\n * a check-mark icon for `true` and a dimmed mark for `false`. In edit\n * mode the default editor is a native checkbox.\n * - `'select'` is a presentation type for columns that store one of a fixed\n * set of values. Supply the available options via\n * {@link BaseColumnConfiguration.options}. The cell renders the matching\n * option's label in display mode and a native `<select>` in edit mode.\n * For sorting / filtering, select columns behave as their underlying\n * value type (typically string).\n * - `'rating'` renders a numeric value (0..`max`) as filled stars in display\n * mode and as an interactive star picker in edit mode. Configure the star\n * count via {@link BaseColumnConfiguration.max} (defaults to `5`).\n * For sorting / filtering, rating columns behave as numbers.\n * - `'date'` renders values as locale-aware formatted dates in display mode\n * and a native `<input type=\"date\">` in edit mode. Accepts `Date`\n * instances, ISO strings, or millisecond timestamps as input and commits\n * back in the same shape. Configure the display format via\n * {@link BaseColumnConfiguration.format} (`'short' | 'medium' | 'long' |\n * 'full'`, default `'medium'`).\n * - `'image'` renders the value as an `<img>` source. Use\n * {@link BaseColumnConfiguration.shape} to pick between `'square'`\n * (default) and `'circle'`. The cell's default text editor is used for\n * editing the URL string when `editable: true` is set.\n *\n * The remaining types are premium presentation renderers over primitive\n * values; for sorting / filtering they behave as their underlying value type:\n * - `'currency'` formats a number via `Intl.NumberFormat` (tabular, right\n * aligned). Configure with {@link BaseColumnConfiguration.currency} /\n * {@link BaseColumnConfiguration.locale}. Editable via a number input.\n * - `'avatar'` renders the value's first letter in a tinted circle (hue is\n * derived from the value, stable per row).\n * - `'badge'` renders the value as a colored pill. Pick the look with\n * {@link BaseColumnConfiguration.badgeVariant}.\n * - `'progress'` renders a number (0..`max`, default `max` 100) as a health\n * bar; the fill color tiers at ≥80 / ≥65 / below.\n * - `'sparkline'` renders a `number[]` as an inline trend chart with an\n * optional delta label ({@link BaseColumnConfiguration.showDelta}).\n * - `'status'` renders a pill with a leading dot. The state is taken from\n * {@link BaseColumnConfiguration.statusVariant} or inferred from the value.\n */\nexport type DataType =\n | 'number'\n | 'string'\n | 'boolean'\n | 'select'\n | 'rating'\n | 'date'\n | 'image'\n | 'currency'\n | 'avatar'\n | 'badge'\n | 'progress'\n | 'sparkline'\n | 'status';\n\n/** Visual variant for a `type: 'badge'` pill. */\nexport type BadgeVariant = 'gold' | 'brand' | 'neutral' | 'muted';\n\n/** State for a `type: 'status'` badge. */\nexport type StatusVariant = 'active' | 'trial' | 'churn';\n\n/**\n * Display format presets for `'date'` columns. Map to\n * `Intl.DateTimeFormatOptions.dateStyle`.\n */\nexport type ColumnDateFormat = 'short' | 'medium' | 'long' | 'full';\n\n/**\n * An entry in a `'select'` column's `options` list. Bare values use\n * `String(value)` as their display label; the explicit form lets you give\n * a value a separate display label.\n */\nexport type ColumnSelectOption<V = unknown> = V | { value: V; label?: string };\n\n/**\n * Configures the sort behavior for the grid.\n */\nexport interface GridSortConfiguration {\n /**\n * Whether multiple sorting is enabled.\n */\n multiple: boolean;\n /**\n * Whether tri-state sorting is enabled.\n */\n triState: boolean;\n}\n\n/**\n * Extended sort configuration for a column.\n */\nexport interface BaseColumnSortConfiguration<T, K extends Keys<T> = Keys<T>> {\n /**\n * Whether the sort operations will be case sensitive.\n */\n caseSensitive?: boolean;\n /**\n * Custom comparer function for sort operations for this column.\n */\n comparer?: SortComparer<T, K>;\n}\n\n/**\n * See {@link BaseColumnSortConfiguration} for the full documentation.\n */\nexport type ColumnSortConfiguration<T, K extends Keys<T> = Keys<T>> =\n K extends Keys<T> ? BaseColumnSortConfiguration<T, K> : never;\n\n/**\n * Extended filter configuration for a column.\n */\nexport interface ColumnFilterConfiguration {\n /**\n * Whether the filter operations will be case sensitive.\n */\n caseSensitive?: boolean;\n}\n\n/**\n * Pin position for a column.\n *\n * @remarks\n * `'start'` pins the column to the leading edge of the grid (inline-start);\n * `'end'` pins it to the trailing edge. `null` or `undefined` means the column\n * is part of the scrollable region.\n */\nexport type PinPosition = 'start' | 'end' | null;\n\n/** Configuration object for grid columns. */\nexport interface BaseColumnConfiguration<T extends object, K extends Keys<T> = Keys<T>> {\n /**\n * The field for from the data the this column will reference.\n */\n key: K;\n /**\n * The type of data this column will reference.\n *\n * Affects the default filter operands if the column is with filtering enabled.\n *\n * @remarks\n * If not passed, `string` is assumed to be the default type.\n *\n */\n type?: DataType;\n /**\n * Optional text to display in the column header. By default, the column key is used\n * to render the header text.\n */\n headerText?: string;\n /**\n * Width for the current column.\n *\n * Accepts most CSS units for controlling width.\n *\n * @remarks\n * If not passed, the column will try to size itself based on the number of other\n * columns and the total width of the grid.\n *\n */\n width?: string;\n /**\n * Whether the column is hidden or not.\n */\n hidden?: boolean;\n /**\n * Whether this column is included when exporting via\n * {@link ApexGrid.exportToCSV} (or the enterprise grid's XLSX export).\n *\n * @remarks\n * Defaults to `true`. Set to `false` to omit a column from generated files\n * (useful for action columns, derived UI, or sensitive fields). The\n * grid-rendered selection checkbox column is never exported regardless of\n * this flag.\n */\n exportable?: boolean;\n /**\n * Pin the column to a side of the grid.\n *\n * @remarks\n * Pinned columns stay fixed during horizontal scroll. Use `'start'` (left in LTR,\n * right in RTL) for the leading edge or `'end'` for the trailing edge. The grid\n * renders columns in the order: `'start'`-pinned, unpinned, `'end'`-pinned, while\n * preserving the original array order inside each group. The `columns` array\n * itself is not mutated.\n */\n pinned?: PinPosition;\n /**\n * Whether this column can be reordered via drag-and-drop or the\n * {@link ApexGrid.moveColumn} API.\n *\n * @remarks\n * Has no effect unless the grid's `columnReordering` flag is `true`. When\n * unset, columns inherit the grid-wide flag. Reordering is constrained to the\n * column's own pinning group — start-pinned columns can only swap with other\n * start-pinned columns, and likewise for end-pinned and unpinned.\n */\n reorderable?: boolean;\n /**\n * Whether the the column can be resized or not.\n */\n resizable?: boolean;\n /**\n * Whether the column can be sorted or not.\n */\n sort?: ColumnSortConfiguration<T, K> | boolean;\n /**\n * Whether filter operation can be applied on the column or not.\n */\n filter?: ColumnFilterConfiguration | boolean;\n /**\n * Header template callback.\n */\n headerTemplate?: (params: ApexHeaderContext<T>) => TemplateResult | unknown;\n /**\n * Cell template callback.\n */\n cellTemplate?: (params: ApexCellContext<T, K>) => TemplateResult | unknown;\n /**\n * Whether values in this column can be edited inline.\n *\n * @remarks\n * Has no effect unless the grid's `editing.enabled` is `true`. The default\n * editor is chosen from the column's `type` (`'string'` → text input,\n * `'number'` → number input, `'boolean'` → checkbox). Supply\n * {@link BaseColumnConfiguration.editorTemplate} for full control.\n */\n editable?: boolean;\n /**\n * Custom editor template invoked while this column's cell is in edit mode.\n *\n * @remarks\n * The callback receives an {@link ApexEditorContext} that includes the cell\n * value plus `commit` / `cancel` helpers. Returning a focusable element is\n * recommended so keyboard handoff works.\n */\n editorTemplate?: (params: ApexEditorContext<T, K>) => TemplateResult | unknown;\n /**\n * Option list for columns with `type: 'select'`.\n *\n * @remarks\n * Each entry is either a bare value or an explicit `{ value, label }` pair.\n * The cell renders the matching option's `label` in display mode and a\n * native `<select>` of all options in edit mode. Has no effect on columns\n * with another `type`.\n */\n options?: ColumnSelectOption<BasePropertyType<T, K>>[];\n /**\n * Upper bound for `type: 'rating'` and `type: 'progress'`.\n *\n * @remarks\n * For `'rating'` this is the star count (default `5`); the displayed value is\n * clamped to `[0, max]`. For `'progress'` this is the value that fills the bar\n * to 100% (default `100`). Has no effect on columns with another `type`.\n */\n max?: number;\n /**\n * Display format for columns with `type: 'date'`.\n *\n * @remarks\n * Selects an `Intl.DateTimeFormatOptions.dateStyle` preset. Defaults to\n * `'medium'`. Has no effect on columns with another `type`.\n */\n format?: ColumnDateFormat;\n /**\n * Cropping shape for columns with `type: 'image'`.\n *\n * @remarks\n * `'square'` (default) renders the image at its native aspect. `'circle'`\n * crops to a circle (useful for avatars). Has no effect on columns with\n * another `type`.\n */\n shape?: 'square' | 'circle';\n /**\n * Alt text for `<img>` elements rendered by `type: 'image'` columns.\n *\n * @remarks\n * Defaults to the column key. Has no effect on columns with another\n * `type`.\n */\n alt?: string;\n /**\n * ISO 4217 currency code for `type: 'currency'` columns (e.g. `'USD'`,\n * `'EUR'`). Defaults to `'USD'`. Has no effect on columns with another\n * `type`.\n */\n currency?: string;\n /**\n * BCP 47 locale for `type: 'currency'` number formatting. Defaults to the\n * runtime locale. Has no effect on columns with another `type`.\n */\n locale?: string;\n /**\n * Visual variant for `type: 'badge'` columns. A literal applies to every\n * cell; a callback picks per value. Defaults to `'neutral'`. Has no effect\n * on columns with another `type`.\n */\n badgeVariant?: BadgeVariant | ((value: BasePropertyType<T, K>) => BadgeVariant);\n /**\n * State for `type: 'status'` columns. A literal applies to every cell; a\n * callback maps a value to a state. When omitted the state is inferred from\n * the value text. Has no effect on columns with another `type`.\n */\n statusVariant?: StatusVariant | ((value: BasePropertyType<T, K>) => StatusVariant);\n /**\n * Whether `type: 'sparkline'` columns render a trailing delta-% label.\n * Defaults to `true`. Has no effect on columns with another `type`.\n */\n showDelta?: boolean;\n}\n\n/**\n * See {@link BaseColumnConfiguration} for the full documentation.\n */\nexport type ColumnConfiguration<T extends object, K extends Keys<T> = Keys<T>> =\n K extends Keys<T> ? BaseColumnConfiguration<T, K> : never;\n\nexport interface ActiveNode<T> {\n column: Keys<T>;\n row: number;\n}\n\n/**\n * Context object for the column header template callback.\n */\nexport interface ApexHeaderContext<T extends object> {\n /**\n * The header element parent of the template.\n */\n parent: ApexGridHeader<T>;\n /**\n * The current configuration for the column.\n */\n column: ColumnConfiguration<T>;\n}\n\n/**\n * Context object for the row cell template callback.\n */\nexport interface BaseApexCellContext<T extends object, K extends Keys<T> = Keys<T>> {\n /**\n * The cell element parent of the template.\n */\n parent: ApexGridCell<T>;\n /**\n * The row element containing the cell.\n */\n row: ApexGridRow<T>;\n /**\n * The current configuration for the column.\n */\n column: ColumnConfiguration<T, K>;\n /**\n * The value from the data source for this cell.\n */\n value: PropertyType<T, K>;\n /**\n * Commits a new value for this cell without entering edit mode. Available\n * when the column is editable. Used by interactive display widgets\n * (e.g. the built-in boolean checkbox) so they can toggle inline.\n *\n * Goes through the cancellable `cellValueChanging` event and follow-up\n * `cellValueChanged` event — same write path as an edit-mode commit.\n */\n commit?: (value: PropertyType<T, K>) => Promise<boolean>;\n}\n\n/**\n * See {@link BaseApexCellContext} for the full documentation.\n */\nexport type ApexCellContext<T extends object, K extends Keys<T> = Keys<T>> =\n K extends Keys<T> ? BaseApexCellContext<T, K> : never;\n\n/**\n * Context object handed to a custom editor template.\n *\n * @remarks\n * Includes the cell's current `value` plus `commit` / `cancel` callbacks so\n * the editor can hand its result back to the grid. The custom editor is also\n * responsible for forwarding `Enter` / `Escape` to those callbacks.\n */\nexport interface BaseApexEditorContext<T extends object, K extends Keys<T> = Keys<T>>\n extends BaseApexCellContext<T, K> {\n /**\n * Commits `value` as the new cell value, going through the cancellable\n * `cellValueChanging` event and then `cellValueChanged`.\n *\n * @returns `true` if the value was applied, `false` if cancelled.\n */\n commit: (value: PropertyType<T, K>) => Promise<boolean>;\n /**\n * Discards the in-progress edit and exits edit mode.\n */\n cancel: () => void;\n}\n\n/**\n * See {@link BaseApexEditorContext} for the full documentation.\n */\nexport type ApexEditorContext<T extends object, K extends Keys<T> = Keys<T>> =\n K extends Keys<T> ? BaseApexEditorContext<T, K> : never;\n\n/**\n * The edit trigger used to enter cell edit mode.\n *\n * @remarks\n * `'click'` enters edit on a single click on the cell; `'doubleClick'`\n * requires a double click. Defaults to `'doubleClick'`.\n */\nexport type EditTrigger = 'click' | 'doubleClick';\n\n/**\n * Edit mode for the grid.\n *\n * @remarks\n * `'cell'` — each cell is committed independently on blur or `Enter`.\n * `'row'` — all editable cells in the row enter edit mode together; changes\n * are batched and applied via {@link ApexGrid.commitEdit} or rolled back via\n * {@link ApexGrid.cancelEdit}.\n */\nexport type EditMode = 'cell' | 'row';\n\n/**\n * Selection mode for the grid.\n *\n * @remarks\n * `'single'` — at most one row may be selected at any time. New clicks\n * replace the existing selection.\n * `'multiple'` — multiple rows can be selected. Plain clicks replace the\n * selection, Ctrl/Cmd+click toggles a row additively, and Shift+click\n * selects a range from the previous anchor.\n */\nexport type SelectionMode = 'single' | 'multiple';\n\n/**\n * Grid-level row-selection configuration.\n */\nexport interface GridSelectionConfiguration {\n /**\n * Whether row selection is enabled. Disabled by default.\n */\n enabled?: boolean;\n /**\n * Single-row vs multi-row selection. Defaults to `'multiple'`.\n */\n mode?: SelectionMode;\n /**\n * Whether to render the built-in checkbox column at the start of every\n * row. When `false`, selection is still available via the public API\n * (`selectRow`, `selectedRows = ...`) and via Space on the active row.\n * Defaults to `false`.\n */\n showCheckboxColumn?: boolean;\n}\n\n/**\n * Context passed to {@link GridExpansionConfiguration.detailTemplate}.\n */\nexport interface ApexDetailContext<T extends object> {\n /** The row data for the expanded row. */\n data: T;\n /** The view-relative row index of the master row. */\n rowIndex: number;\n /** The grid element. Useful for emitting events back from the detail. */\n parent: ApexGrid<T>;\n}\n\n/**\n * Grid-level tree-data (nested rows) configuration.\n *\n * @remarks\n * Tree mode renders hierarchical data as nested rows that share the same\n * column layout — collapsible parents with indented children, AG Grid's\n * \"tree data\" pattern. The data array stays flat; the grid derives the\n * hierarchy from {@link getDataPath} at runtime.\n *\n * This is distinct from {@link GridExpansionConfiguration} (master-detail),\n * which expands a row to show an arbitrary detail panel. Tree mode and\n * expansion mode can be enabled together, but the chevron column is\n * reserved by whichever is currently rendering the chevron — typically the\n * tree feature when both are enabled.\n *\n * @example\n * ```ts\n * grid.tree = {\n * enabled: true,\n * getDataPath: (row) => row.path,\n * };\n * ```\n */\nexport interface GridTreeConfiguration<T extends object> {\n /** Whether tree mode is enabled. Disabled by default. */\n enabled?: boolean;\n /**\n * Callback that returns the hierarchical path for a row. The path is a\n * sequence of segments from root to the row's own position — for example\n * `['Adrian']` for a CEO, `['Adrian', 'Bryan']` for a VP under Adrian,\n * and so on. Required when `enabled` is `true`.\n */\n getDataPath: (row: T) => readonly string[];\n /**\n * Which column displays the chevron + indentation. Defaults to the first\n * visible non-hidden data column.\n */\n groupColumnKey?: Keys<T>;\n /**\n * Initial expansion state:\n * - `false` (default): all rows collapsed.\n * - `true`: every row expanded.\n * - `number`: expand all rows up to and including the given depth (0 = roots only).\n */\n defaultExpanded?: boolean | number;\n /**\n * Pixels of indentation per depth level. Defaults to `20`.\n */\n childIndent?: number;\n}\n\n/**\n * Grid-level row-expansion (master-detail) configuration.\n */\nexport interface GridExpansionConfiguration<T extends object> {\n /**\n * Whether row expansion is enabled. Disabled by default.\n */\n enabled?: boolean;\n /**\n * Callback that produces the detail panel content for an expanded row.\n * Required when `enabled` is `true`.\n */\n detailTemplate?: (context: ApexDetailContext<T>) => TemplateResult | unknown;\n /**\n * Optional per-row predicate that gates which rows may be expanded. When\n * omitted, every row is expandable.\n */\n isExpandable?: (row: T) => boolean;\n /**\n * Whether to render the built-in chevron toggle column at the start of\n * every row (after the selection column, when present). Defaults to `true`.\n * Set to `false` to drive expansion entirely through the public API or a\n * custom cell template.\n */\n showToggleColumn?: boolean;\n}\n\n/**\n * Grid-level editing configuration.\n */\nexport interface GridEditingConfiguration {\n /**\n * Whether editing is enabled. Per-column opt-in still applies via\n * {@link BaseColumnConfiguration.editable}.\n */\n enabled?: boolean;\n /**\n * Whether each cell commits independently or whether the whole row is edited\n * as a batch. Defaults to `'cell'`.\n */\n mode?: EditMode;\n /**\n * The interaction that opens an editor. Defaults to `'doubleClick'`.\n */\n trigger?: EditTrigger;\n}\n\n/**\n * The parameters passed to a {@link DataPipelineHook} callback.\n */\nexport type DataPipelineParams<T extends object> = {\n /**\n * The current data state of the grid.\n */\n data: T[];\n /**\n * The grid component itself.\n */\n grid: ApexGrid<T>;\n /**\n * The type of data operation being performed.\n */\n type: 'sort' | 'filter' | 'quickFilter' | 'pagination';\n};\n\n/**\n * Callback function for customizing data operations in the grid.\n */\nexport type DataPipelineHook<T extends object> = (\n state: DataPipelineParams<T>\n) => T[] | Promise<T[]>;\n\n/**\n * Configuration for customizing the various data operations of the grid.\n */\nexport interface DataPipelineConfiguration<T extends object> {\n /**\n * Hook for customizing sort operations.\n */\n sort?: DataPipelineHook<T>;\n /**\n * Hook for customizing filter operations.\n */\n filter?: DataPipelineHook<T>;\n /**\n * Hook for customizing pagination operations.\n *\n * @remarks\n * The hook receives the filtered + sorted data slice for the grid to render and the current\n * pagination state. Return the page slice. For server-driven pagination, return the externally\n * fetched page and report the row total via {@link ApexGrid.totalItems}.\n */\n pagination?: DataPipelineHook<T>;\n /**\n * Hook for customizing quick (global) filter operations.\n *\n * @remarks\n * Called before column filtering. Return the records that match the {@link ApexGrid.quickFilter}\n * value. If omitted, the default substring matcher is used.\n */\n quickFilter?: DataPipelineHook<T>;\n}\n\n/**\n * The pagination mode for the grid.\n *\n * @remarks\n * `'local'` — the grid slices the in-memory {@link ApexGrid.dataView} by `page` and `pageSize`.\n * `'remote'` — the consumer drives data fetching; the grid emits paging events but does not\n * slice the data. Use together with {@link DataPipelineConfiguration.pagination} or by setting\n * `data` to the current page on `pageChanged`.\n */\nexport type PaginationMode = 'local' | 'remote';\n\n/**\n * Pagination configuration for the grid.\n */\nexport interface PaginationConfiguration {\n /**\n * Whether pagination is enabled.\n *\n * @remarks\n * When `false`, the grid renders no paginator and applies no slicing — the full\n * {@link ApexGrid.dataView} is virtualized as usual.\n */\n enabled?: boolean;\n /**\n * The pagination mode. Defaults to `'local'`.\n */\n mode?: PaginationMode;\n /**\n * The current page (zero-based). Defaults to `0`.\n */\n page?: number;\n /**\n * The number of records per page. Defaults to `25`.\n */\n pageSize?: number;\n /**\n * The list of page sizes offered in the paginator's page-size dropdown.\n * Defaults to `[10, 25, 50, 100]`.\n */\n pageSizeOptions?: number[];\n /**\n * In `'remote'` mode the consumer must supply the unfiltered row total so the paginator\n * can compute the page count. Ignored in `'local'` mode.\n */\n totalItems?: number;\n}\n\n/**\n * Resolved pagination state passed to controllers and event payloads.\n */\nexport interface PaginationState {\n /**\n * The current page (zero-based).\n */\n page: number;\n /**\n * The number of records per page.\n */\n pageSize: number;\n /**\n * The total number of pages.\n */\n pageCount: number;\n /**\n * The total number of records before pagination (after filter/sort).\n */\n totalItems: number;\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>[];
|
|
10
10
|
get ands(): FilterExpression<T>[];
|
|
11
11
|
get ors(): FilterExpression<T>[];
|
|
12
12
|
has(expression: FilterExpression<T>): boolean;
|
|
@@ -1 +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>>
|
|
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>> =\n K extends Keys<T> ? BaseFilterExpression<T, K> : 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"]}
|
|
@@ -1 +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>>
|
|
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>> =\n K extends Keys<T> ? BaseSortComparer<T, K> : 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>> =\n K extends Keys<T> ? BaseSortExpression<T, K> : never;\n\n/** Represents the sort state of the grid. */\nexport type SortState<T> = Map<Keys<T>, SortExpression<T>>;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apex-grid",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Web component data grid following open-wc recommendations",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lit",
|
|
@@ -18,6 +18,10 @@
|
|
|
18
18
|
"types": "./define.d.ts",
|
|
19
19
|
"default": "./define.js"
|
|
20
20
|
},
|
|
21
|
+
"./internal": {
|
|
22
|
+
"types": "./internal/index.d.ts",
|
|
23
|
+
"default": "./internal/index.js"
|
|
24
|
+
},
|
|
21
25
|
"./styles.css": "./styles.css"
|
|
22
26
|
},
|
|
23
27
|
"type": "module",
|
package/setup.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
type ApexGridTheme = 'bootstrap' | 'material' | 'fluent' | 'indigo';
|
|
2
2
|
export interface ApexGridSetupOptions {
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* (
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* @deprecated The grid no longer ships per-framework themes — it styles
|
|
5
|
+
* itself entirely through `--ag-*` CSS custom properties (see the README's
|
|
6
|
+
* theming section). This option does **not** affect the grid's appearance;
|
|
7
|
+
* it only forwards to igniteui-webcomponents' `configureTheme()` for apps
|
|
8
|
+
* that embed the grid alongside igniteui components. When set, the grid
|
|
9
|
+
* still auto-tints from the igniteui palette via its `--ig-*` fallbacks.
|
|
10
|
+
* Omit it and customize via CSS variables instead. Will be removed in a
|
|
11
|
+
* future major version.
|
|
8
12
|
*
|
|
9
13
|
* @defaultValue 'bootstrap'
|
|
10
14
|
*/
|
|
@@ -19,39 +23,28 @@ export interface ApexGridSetupOptions {
|
|
|
19
23
|
hostStyles?: boolean;
|
|
20
24
|
}
|
|
21
25
|
/**
|
|
22
|
-
* One-call convenience: registers `<apex-grid
|
|
23
|
-
*
|
|
24
|
-
*
|
|
26
|
+
* One-call convenience: registers `<apex-grid>` and adopts a default host
|
|
27
|
+
* stylesheet so the virtualizer has a bounded height. The grid is styled
|
|
28
|
+
* out-of-the-box via `--ag-*` CSS custom properties — no theme import needed.
|
|
25
29
|
*
|
|
26
30
|
* @remarks
|
|
27
|
-
* This is an **additive** alternative to the manual
|
|
28
|
-
* (`apex-grid/define` +
|
|
29
|
-
*
|
|
30
|
-
* responsibility because dynamic CSS imports are not portable across
|
|
31
|
-
* bundlers. So the full setup with `setup()` is:
|
|
31
|
+
* This is an **additive** alternative to the manual setup
|
|
32
|
+
* (`import 'apex-grid/define'` + host CSS). Idempotent — safe to call more
|
|
33
|
+
* than once; host styles are adopted only on the first call.
|
|
32
34
|
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
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.
|
|
35
|
+
* Customize the look by overriding `--ag-*` CSS variables (see the README).
|
|
36
|
+
* The deprecated {@link ApexGridSetupOptions.theme} option only forwards to
|
|
37
|
+
* igniteui-webcomponents and does not change the grid's appearance.
|
|
44
38
|
*
|
|
45
39
|
* @example
|
|
46
40
|
* ```ts
|
|
47
41
|
* import { setup } from 'apex-grid';
|
|
48
|
-
*
|
|
49
|
-
* setup({ theme: 'bootstrap' });
|
|
42
|
+
* setup();
|
|
50
43
|
* ```
|
|
51
44
|
*
|
|
52
45
|
* @example Opt out of injected host styles:
|
|
53
46
|
* ```ts
|
|
54
|
-
* setup({
|
|
47
|
+
* setup({ hostStyles: false });
|
|
55
48
|
* ```
|
|
56
49
|
*/
|
|
57
50
|
export declare function setup(options?: ApexGridSetupOptions): void;
|
package/setup.js
CHANGED
|
@@ -19,9 +19,11 @@ function adoptHostStyles() {
|
|
|
19
19
|
hostStylesInjected = true;
|
|
20
20
|
}
|
|
21
21
|
export function setup(options = {}) {
|
|
22
|
-
const { theme
|
|
22
|
+
const { theme, hostStyles = true } = options;
|
|
23
23
|
ApexGrid.register();
|
|
24
|
-
|
|
24
|
+
if (theme !== undefined) {
|
|
25
|
+
configureTheme(theme);
|
|
26
|
+
}
|
|
25
27
|
if (hostStyles) {
|
|
26
28
|
adoptHostStyles();
|
|
27
29
|
}
|
package/setup.js.map
CHANGED
|
@@ -1 +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;
|
|
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;AA6BhD,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;AA2BD,MAAM,UAAU,KAAK,CAAC,UAAgC,EAAE;IACtD,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAE7C,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAIpB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,cAAc,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,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 * @deprecated The grid no longer ships per-framework themes — it styles\n * itself entirely through `--ag-*` CSS custom properties (see the README's\n * theming section). This option does **not** affect the grid's appearance;\n * it only forwards to igniteui-webcomponents' `configureTheme()` for apps\n * that embed the grid alongside igniteui components. When set, the grid\n * still auto-tints from the igniteui palette via its `--ig-*` fallbacks.\n * Omit it and customize via CSS variables instead. Will be removed in a\n * future major version.\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>` and adopts a default host\n * stylesheet so the virtualizer has a bounded height. The grid is styled\n * out-of-the-box via `--ag-*` CSS custom properties — no theme import needed.\n *\n * @remarks\n * This is an **additive** alternative to the manual setup\n * (`import 'apex-grid/define'` + host CSS). Idempotent — safe to call more\n * than once; host styles are adopted only on the first call.\n *\n * Customize the look by overriding `--ag-*` CSS variables (see the README).\n * The deprecated {@link ApexGridSetupOptions.theme} option only forwards to\n * igniteui-webcomponents and does not change the grid's appearance.\n *\n * @example\n * ```ts\n * import { setup } from 'apex-grid';\n * setup();\n * ```\n *\n * @example Opt out of injected host styles:\n * ```ts\n * setup({ hostStyles: false });\n * ```\n */\nexport function setup(options: ApexGridSetupOptions = {}): void {\n const { theme, hostStyles = true } = options;\n\n ApexGrid.register();\n\n // Deprecated: only forwards to igniteui when a consumer explicitly opts in.\n // The grid styles itself via `--ag-*` variables regardless.\n if (theme !== undefined) {\n configureTheme(theme);\n }\n\n if (hostStyles) {\n adoptHostStyles();\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_checkbox.css.js","sourceRoot":"","sources":["../../src/styles/_checkbox.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\nexport const styles = css``;"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const styles = css `:host{--ag-brand: var(--ig-primary-500, #0d6fd3);--ag-brand-strong: var(--ig-primary-700, #0a56b8);--ag-brand-soft: color-mix(in srgb, var(--ag-brand) 10%, transparent);--ag-brand-softer: color-mix(in srgb, var(--ag-brand) 7%, transparent);--ag-brand-line: color-mix(in srgb, var(--ag-brand) 18%, transparent);--ag-hairline: rgba(15, 23, 42, 0.08);--ag-row-hover: color-mix(in srgb, #0f172a 5%, var(--ag-surface));--ag-surface: #fff;--ag-surface-alt: #f9fafb;--ag-surface-elevated: linear-gradient(180deg, #fbfcfd 0%, #f6f7f8 100%);--ag-text: #111827;--ag-text-body: #1f2937;--ag-text-muted: #6b7280;--ag-text-subtle: #9ca3af;--ag-text-on-brand: #fff;--ag-border: rgba(15, 23, 42, 0.05);--ag-good: #10b981;--ag-good-text: #047857;--ag-good-soft: rgba(16, 185, 129, 0.1);--ag-watch: #f59e0b;--ag-watch-text: #b45309;--ag-watch-soft: rgba(245, 158, 11, 0.1);--ag-risk: #ef4444;--ag-risk-text: #b91c1c;--ag-risk-soft: rgba(239, 68, 68, 0.1);--ag-gold: #fef3c7;--ag-gold-line: #fde68a;--ag-gold-text: #92400e;--ag-shadow-card: 0 16px 38px rgba(15, 23, 42, 0.12), 0 0 0 1px rgba(15, 23, 42, 0.06), 0 1px 0 rgba(255, 255, 255, 0.9) inset;--ag-font: 'Inter', -apple-system, blinkmacsystemfont, sans-serif;--ag-fs-cell: 12px;--ag-fs-cell-secondary: 10.5px;--ag-fs-tiny: 10px;--ag-fw-regular: 500;--ag-fw-semibold: 600;--ag-fw-bold: 700;--ag-tracking-tight: -0.005em;--ag-tracking-header: 0.05em;--ag-leading: 1.4;--ag-cell-pad-x: 10px;--ag-row-h: 36px;--ag-header-h: 36px;--ag-toolbar-pad: 12px 14px;--ag-footer-pad: 10px 14px;--ag-radius: 18px;--ag-radius-sm: 6px;--ag-radius-xs: 4px;--ag-radius-pill: 20px;--ag-ease: cubic-bezier(0.2, 0.8, 0.2, 1);--ag-dur-fast: 120ms;--ag-dur-med: 180ms;--ag-dur-slow: 240ms}`;
|
|
3
|
+
//# sourceMappingURL=_tokens.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_tokens.css.js","sourceRoot":"","sources":["../../src/styles/_tokens.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,0qDAA0qD,CAAC","sourcesContent":["import { css } from 'lit';\nexport const styles = css`:host{--ag-brand: var(--ig-primary-500, #0d6fd3);--ag-brand-strong: var(--ig-primary-700, #0a56b8);--ag-brand-soft: color-mix(in srgb, var(--ag-brand) 10%, transparent);--ag-brand-softer: color-mix(in srgb, var(--ag-brand) 7%, transparent);--ag-brand-line: color-mix(in srgb, var(--ag-brand) 18%, transparent);--ag-hairline: rgba(15, 23, 42, 0.08);--ag-row-hover: color-mix(in srgb, #0f172a 5%, var(--ag-surface));--ag-surface: #fff;--ag-surface-alt: #f9fafb;--ag-surface-elevated: linear-gradient(180deg, #fbfcfd 0%, #f6f7f8 100%);--ag-text: #111827;--ag-text-body: #1f2937;--ag-text-muted: #6b7280;--ag-text-subtle: #9ca3af;--ag-text-on-brand: #fff;--ag-border: rgba(15, 23, 42, 0.05);--ag-good: #10b981;--ag-good-text: #047857;--ag-good-soft: rgba(16, 185, 129, 0.1);--ag-watch: #f59e0b;--ag-watch-text: #b45309;--ag-watch-soft: rgba(245, 158, 11, 0.1);--ag-risk: #ef4444;--ag-risk-text: #b91c1c;--ag-risk-soft: rgba(239, 68, 68, 0.1);--ag-gold: #fef3c7;--ag-gold-line: #fde68a;--ag-gold-text: #92400e;--ag-shadow-card: 0 16px 38px rgba(15, 23, 42, 0.12), 0 0 0 1px rgba(15, 23, 42, 0.06), 0 1px 0 rgba(255, 255, 255, 0.9) inset;--ag-font: 'Inter', -apple-system, blinkmacsystemfont, sans-serif;--ag-fs-cell: 12px;--ag-fs-cell-secondary: 10.5px;--ag-fs-tiny: 10px;--ag-fw-regular: 500;--ag-fw-semibold: 600;--ag-fw-bold: 700;--ag-tracking-tight: -0.005em;--ag-tracking-header: 0.05em;--ag-leading: 1.4;--ag-cell-pad-x: 10px;--ag-row-h: 36px;--ag-header-h: 36px;--ag-toolbar-pad: 12px 14px;--ag-footer-pad: 10px 14px;--ag-radius: 18px;--ag-radius-sm: 6px;--ag-radius-xs: 4px;--ag-radius-pill: 20px;--ag-ease: cubic-bezier(0.2, 0.8, 0.2, 1);--ag-dur-fast: 120ms;--ag-dur-med: 180ms;--ag-dur-slow: 240ms}`;"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
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}`;
|
|
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}[part~=pill]{display:inline-flex;align-items:center;block-size:20px;padding:0 8px;border-radius:var(--ag-radius-sm);border:1px solid rgba(0,0,0,0);font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-semibold);line-height:1;white-space:nowrap}[part~=pill--gold]{background:linear-gradient(180deg, #fff7e6 0%, var(--ag-gold) 100%);border-color:var(--ag-gold-line);color:var(--ag-gold-text)}[part~=pill--brand]{background:var(--ag-brand-soft);border-color:var(--ag-brand-line);color:var(--ag-brand-strong)}[part~=pill--neutral]{background:rgba(99,102,241,.08);border-color:rgba(99,102,241,.22);color:#4338ca}[part~=pill--muted]{background:rgba(107,114,128,.1);border-color:rgba(107,114,128,.22);color:#4b5563}[part~=avatar]{display:inline-flex;align-items:center;justify-content:center;inline-size:22px;block-size:22px;flex-shrink:0;border-radius:50%;background:hsl(var(--ag-avatar-hue, 210), 60%, 48%);color:#fff;font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-bold);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 0 0 2px hsla(0,0%,100%,.85),0 1px 2px rgba(15,23,42,.18)}[part~=progress]{display:inline-flex;align-items:center;gap:8px;inline-size:100%}[part~=progress-track]{position:relative;flex:1;block-size:5px;min-inline-size:40px;border-radius:3px;background:rgba(15,23,42,.08);overflow:hidden}[part~=progress-fill]{display:block;block-size:100%;border-radius:3px;background:linear-gradient(90deg, #10b981 0%, #34d399 100%);transition:width var(--ag-dur-slow) var(--ag-ease)}[part~=progress-fill--good]{background:linear-gradient(90deg, #10b981 0%, #34d399 100%)}[part~=progress-fill--watch]{background:linear-gradient(90deg, #f59e0b 0%, #fbbf24 100%)}[part~=progress-fill--risk]{background:linear-gradient(90deg, #ef4444 0%, #f87171 100%)}[part~=progress-label]{min-inline-size:18px;text-align:end;font-size:11px;font-weight:var(--ag-fw-semibold);font-variant-numeric:tabular-nums;color:var(--ag-text-body)}[part~=spark-cell]{display:inline-flex;align-items:center;gap:6px}[part~=sparkline]{display:block;inline-size:64px;block-size:22px;color:var(--ag-text-muted);overflow:visible}[part~=sparkline--up]{color:var(--ag-good)}[part~=sparkline--down]{color:var(--ag-risk)}[part~=spark-line]{fill:none;stroke:currentcolor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}[part~=spark-area]{fill:currentcolor;stroke:none;opacity:.18}[part~=spark-delta]{font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-semibold);font-variant-numeric:tabular-nums;color:var(--ag-text-muted)}[part~=spark-delta--up]{color:var(--ag-good-text)}[part~=spark-delta--down]{color:var(--ag-risk-text)}[part~=status]{display:inline-flex;align-items:center;gap:6px;block-size:20px;padding:0 10px;border-radius:var(--ag-radius-pill);border:1px solid rgba(0,0,0,0);font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-semibold);line-height:1;white-space:nowrap}[part~=status-dot]{inline-size:6px;block-size:6px;flex-shrink:0;border-radius:50%;background:currentcolor}[part~=status--active]{background:var(--ag-good-soft);border-color:rgba(16,185,129,.28);color:var(--ag-good-text)}[part~=status--trial]{background:var(--ag-watch-soft);border-color:rgba(245,158,11,.28);color:var(--ag-watch-text)}[part~=status--churn]{background:var(--ag-risk-soft);border-color:rgba(239,68,68,.3);color:var(--ag-risk-text)}:host{position:relative;display:inline-flex;flex:1 0 0;align-items:center;padding:0 var(--ag-cell-pad-x);color:inherit;font-size:var(--ag-fs-cell);overflow-wrap:anywhere;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host([data-cell-type=number]),:host([data-cell-type=currency]){justify-content:flex-end;font-variant-numeric:tabular-nums;font-weight:var(--ag-fw-semibold);color:var(--ag-text)}:host([active]){outline:none;box-shadow:inset 0 0 0 1px var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ag-brand)))}:host([editing]){background:var(--igx-cell-editor-background, var(--ag-surface));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(--ag-surface))}:host([editing][data-cell-type=select]){overflow:visible}: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])::after,:host([data-pin-edge=end])::after{content:"";position:absolute;inset-block:0;width:14px;pointer-events:none}:host([data-pin-edge=start])::after{inset-inline-end:-14px;background:linear-gradient(90deg, color-mix(in srgb, var(--ag-brand) 6%, transparent) 0%, color-mix(in srgb, var(--ag-brand) 0%, transparent) 100%)}:host([data-pin-edge=end])::after{inset-inline-start:-14px;background:linear-gradient(270deg, color-mix(in srgb, var(--ag-brand) 6%, transparent) 0%, color-mix(in srgb, var(--ag-brand) 0%, transparent) 100%)}input[data-apex-editor]{box-sizing:border-box;position:absolute;inset:0;width:auto;height:auto;padding:0 var(--ag-cell-pad-x);margin:0;border:0;background:rgba(0,0,0,0);color:inherit;font:inherit;font-size:var(--ag-fs-cell);outline:none;caret-color:var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ag-brand)));-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]{-webkit-appearance:none;-moz-appearance:none;appearance:none;inline-size:14px;block-size:14px;margin:0;flex-shrink:0;box-sizing:border-box;border:1.4px solid color-mix(in srgb, var(--ag-brand) 30%, transparent);border-radius:var(--ag-radius-xs);background-color:var(--ag-surface);background-repeat:no-repeat;background-position:center;cursor:pointer;transition:background-color var(--ag-dur-fast) var(--ag-ease),border-color var(--ag-dur-fast) var(--ag-ease),transform var(--ag-dur-fast) var(--ag-ease)}input[type=checkbox][data-apex-editor]:hover{border-color:color-mix(in srgb, var(--ag-brand) 55%, transparent)}input[type=checkbox][data-apex-editor]:active{transform:scale(0.92)}input[type=checkbox][data-apex-editor]:checked,input[type=checkbox][data-apex-editor]:indeterminate{background-color:var(--ag-brand);border-color:var(--ag-brand)}input[type=checkbox][data-apex-editor]:checked{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.4 5.8 10.2 11 4.2' fill='none' stroke='%23ffffff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}input[type=checkbox][data-apex-editor]:indeterminate{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Crect x='3.5' y='6.2' width='7' height='1.6' rx='0.8' fill='%23ffffff'/%3E%3C/svg%3E")}input[type=checkbox][data-apex-editor]:focus-visible{outline:2px solid color-mix(in srgb, var(--ag-brand) 50%, transparent);outline-offset:2px}input[type=checkbox][data-apex-editor]{position:relative;inset:auto}input[part~=boolean-mark]{-webkit-appearance:none;-moz-appearance:none;appearance:none;inline-size:14px;block-size:14px;margin:0;flex-shrink:0;box-sizing:border-box;border:1.4px solid color-mix(in srgb, var(--ag-brand) 30%, transparent);border-radius:var(--ag-radius-xs);background-color:var(--ag-surface);background-repeat:no-repeat;background-position:center;cursor:pointer;transition:background-color var(--ag-dur-fast) var(--ag-ease),border-color var(--ag-dur-fast) var(--ag-ease),transform var(--ag-dur-fast) var(--ag-ease)}input[part~=boolean-mark]:hover{border-color:color-mix(in srgb, var(--ag-brand) 55%, transparent)}input[part~=boolean-mark]:active{transform:scale(0.92)}input[part~=boolean-mark]:checked,input[part~=boolean-mark]:indeterminate{background-color:var(--ag-brand);border-color:var(--ag-brand)}input[part~=boolean-mark]:checked{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.4 5.8 10.2 11 4.2' fill='none' stroke='%23ffffff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}input[part~=boolean-mark]:indeterminate{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Crect x='3.5' y='6.2' width='7' height='1.6' rx='0.8' fill='%23ffffff'/%3E%3C/svg%3E")}input[part~=boolean-mark]:focus-visible{outline:2px solid color-mix(in srgb, var(--ag-brand) 50%, transparent);outline-offset:2px}input[part~=boolean-mark][aria-readonly=true]{cursor:default;pointer-events:none}[part~=rating]{display:inline-flex;align-items:center;gap:0.0625rem;color:var(--igx-rating-color, var(--ag-watch, #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(--ag-watch, #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:var(--ag-radius-xs)}[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(--ag-brand)));outline-offset:-0.0625rem}[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(--ag-surface));border:0.0625rem solid var(--ag-brand-line);border-radius:var(--ag-radius-sm);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:var(--ag-brand-softer)}[part~=select-option][part~=selected]{background:var(--ag-brand-soft);color:var(--ag-brand-strong);font-weight:var(--ag-fw-semibold)}[part~=select-option]:focus-visible{background:var(--ag-brand-soft);outline:0.125rem solid var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ag-brand)));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:var(--ag-radius-xs);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:1px solid rgba(0,0,0,0);border-radius:var(--ag-radius-xs);background:rgba(0,0,0,0);color:var(--ag-text-muted);cursor:pointer;transition:background-color var(--ag-dur-fast) var(--ag-ease),border-color var(--ag-dur-fast) var(--ag-ease),color var(--ag-dur-fast) var(--ag-ease)}[part=tree-toggle]:hover{background:var(--ag-brand-soft);border-color:var(--ag-brand-line);color:var(--ag-brand-strong)}[part=tree-toggle]:focus-visible{outline:0.125rem solid color-mix(in srgb, var(--ag-brand) 50%, transparent);outline-offset:0.0625rem}[part=tree-chevron]{transition:transform var(--ag-dur-med) var(--ag-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
3
|
//# sourceMappingURL=body-cell.css.js.map
|
|
@@ -1 +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}`;"]}
|
|
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,ygZAAygZ,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}[part~=pill]{display:inline-flex;align-items:center;block-size:20px;padding:0 8px;border-radius:var(--ag-radius-sm);border:1px solid rgba(0,0,0,0);font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-semibold);line-height:1;white-space:nowrap}[part~=pill--gold]{background:linear-gradient(180deg, #fff7e6 0%, var(--ag-gold) 100%);border-color:var(--ag-gold-line);color:var(--ag-gold-text)}[part~=pill--brand]{background:var(--ag-brand-soft);border-color:var(--ag-brand-line);color:var(--ag-brand-strong)}[part~=pill--neutral]{background:rgba(99,102,241,.08);border-color:rgba(99,102,241,.22);color:#4338ca}[part~=pill--muted]{background:rgba(107,114,128,.1);border-color:rgba(107,114,128,.22);color:#4b5563}[part~=avatar]{display:inline-flex;align-items:center;justify-content:center;inline-size:22px;block-size:22px;flex-shrink:0;border-radius:50%;background:hsl(var(--ag-avatar-hue, 210), 60%, 48%);color:#fff;font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-bold);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 0 0 2px hsla(0,0%,100%,.85),0 1px 2px rgba(15,23,42,.18)}[part~=progress]{display:inline-flex;align-items:center;gap:8px;inline-size:100%}[part~=progress-track]{position:relative;flex:1;block-size:5px;min-inline-size:40px;border-radius:3px;background:rgba(15,23,42,.08);overflow:hidden}[part~=progress-fill]{display:block;block-size:100%;border-radius:3px;background:linear-gradient(90deg, #10b981 0%, #34d399 100%);transition:width var(--ag-dur-slow) var(--ag-ease)}[part~=progress-fill--good]{background:linear-gradient(90deg, #10b981 0%, #34d399 100%)}[part~=progress-fill--watch]{background:linear-gradient(90deg, #f59e0b 0%, #fbbf24 100%)}[part~=progress-fill--risk]{background:linear-gradient(90deg, #ef4444 0%, #f87171 100%)}[part~=progress-label]{min-inline-size:18px;text-align:end;font-size:11px;font-weight:var(--ag-fw-semibold);font-variant-numeric:tabular-nums;color:var(--ag-text-body)}[part~=spark-cell]{display:inline-flex;align-items:center;gap:6px}[part~=sparkline]{display:block;inline-size:64px;block-size:22px;color:var(--ag-text-muted);overflow:visible}[part~=sparkline--up]{color:var(--ag-good)}[part~=sparkline--down]{color:var(--ag-risk)}[part~=spark-line]{fill:none;stroke:currentcolor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}[part~=spark-area]{fill:currentcolor;stroke:none;opacity:.18}[part~=spark-delta]{font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-semibold);font-variant-numeric:tabular-nums;color:var(--ag-text-muted)}[part~=spark-delta--up]{color:var(--ag-good-text)}[part~=spark-delta--down]{color:var(--ag-risk-text)}[part~=status]{display:inline-flex;align-items:center;gap:6px;block-size:20px;padding:0 10px;border-radius:var(--ag-radius-pill);border:1px solid rgba(0,0,0,0);font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-semibold);line-height:1;white-space:nowrap}[part~=status-dot]{inline-size:6px;block-size:6px;flex-shrink:0;border-radius:50%;background:currentcolor}[part~=status--active]{background:var(--ag-good-soft);border-color:rgba(16,185,129,.28);color:var(--ag-good-text)}[part~=status--trial]{background:var(--ag-watch-soft);border-color:rgba(245,158,11,.28);color:var(--ag-watch-text)}[part~=status--churn]{background:var(--ag-risk-soft);border-color:rgba(239,68,68,.3);color:var(--ag-risk-text)}:host{position:relative;display:inline-flex;flex:1 0 0;align-items:center;padding:0 var(--ag-cell-pad-x);color:inherit;font-size:var(--ag-fs-cell);overflow-wrap:anywhere;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host([data-cell-type=number]),:host([data-cell-type=currency]){justify-content:flex-end;font-variant-numeric:tabular-nums;font-weight:var(--ag-fw-semibold);color:var(--ag-text)}:host([active]){outline:none;box-shadow:inset 0 0 0 1px var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ag-brand)))}:host([editing]){background:var(--igx-cell-editor-background, var(--ag-surface));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(--ag-surface))}:host([editing][data-cell-type=select]){overflow:visible}: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])::after,:host([data-pin-edge=end])::after{content:\"\";position:absolute;inset-block:0;width:14px;pointer-events:none}:host([data-pin-edge=start])::after{inset-inline-end:-14px;background:linear-gradient(90deg, color-mix(in srgb, var(--ag-brand) 6%, transparent) 0%, color-mix(in srgb, var(--ag-brand) 0%, transparent) 100%)}:host([data-pin-edge=end])::after{inset-inline-start:-14px;background:linear-gradient(270deg, color-mix(in srgb, var(--ag-brand) 6%, transparent) 0%, color-mix(in srgb, var(--ag-brand) 0%, transparent) 100%)}input[data-apex-editor]{box-sizing:border-box;position:absolute;inset:0;width:auto;height:auto;padding:0 var(--ag-cell-pad-x);margin:0;border:0;background:rgba(0,0,0,0);color:inherit;font:inherit;font-size:var(--ag-fs-cell);outline:none;caret-color:var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ag-brand)));-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]{-webkit-appearance:none;-moz-appearance:none;appearance:none;inline-size:14px;block-size:14px;margin:0;flex-shrink:0;box-sizing:border-box;border:1.4px solid color-mix(in srgb, var(--ag-brand) 30%, transparent);border-radius:var(--ag-radius-xs);background-color:var(--ag-surface);background-repeat:no-repeat;background-position:center;cursor:pointer;transition:background-color var(--ag-dur-fast) var(--ag-ease),border-color var(--ag-dur-fast) var(--ag-ease),transform var(--ag-dur-fast) var(--ag-ease)}input[type=checkbox][data-apex-editor]:hover{border-color:color-mix(in srgb, var(--ag-brand) 55%, transparent)}input[type=checkbox][data-apex-editor]:active{transform:scale(0.92)}input[type=checkbox][data-apex-editor]:checked,input[type=checkbox][data-apex-editor]:indeterminate{background-color:var(--ag-brand);border-color:var(--ag-brand)}input[type=checkbox][data-apex-editor]:checked{background-image:url(\"data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.4 5.8 10.2 11 4.2' fill='none' stroke='%23ffffff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\")}input[type=checkbox][data-apex-editor]:indeterminate{background-image:url(\"data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Crect x='3.5' y='6.2' width='7' height='1.6' rx='0.8' fill='%23ffffff'/%3E%3C/svg%3E\")}input[type=checkbox][data-apex-editor]:focus-visible{outline:2px solid color-mix(in srgb, var(--ag-brand) 50%, transparent);outline-offset:2px}input[type=checkbox][data-apex-editor]{position:relative;inset:auto}input[part~=boolean-mark]{-webkit-appearance:none;-moz-appearance:none;appearance:none;inline-size:14px;block-size:14px;margin:0;flex-shrink:0;box-sizing:border-box;border:1.4px solid color-mix(in srgb, var(--ag-brand) 30%, transparent);border-radius:var(--ag-radius-xs);background-color:var(--ag-surface);background-repeat:no-repeat;background-position:center;cursor:pointer;transition:background-color var(--ag-dur-fast) var(--ag-ease),border-color var(--ag-dur-fast) var(--ag-ease),transform var(--ag-dur-fast) var(--ag-ease)}input[part~=boolean-mark]:hover{border-color:color-mix(in srgb, var(--ag-brand) 55%, transparent)}input[part~=boolean-mark]:active{transform:scale(0.92)}input[part~=boolean-mark]:checked,input[part~=boolean-mark]:indeterminate{background-color:var(--ag-brand);border-color:var(--ag-brand)}input[part~=boolean-mark]:checked{background-image:url(\"data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.4 5.8 10.2 11 4.2' fill='none' stroke='%23ffffff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\")}input[part~=boolean-mark]:indeterminate{background-image:url(\"data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Crect x='3.5' y='6.2' width='7' height='1.6' rx='0.8' fill='%23ffffff'/%3E%3C/svg%3E\")}input[part~=boolean-mark]:focus-visible{outline:2px solid color-mix(in srgb, var(--ag-brand) 50%, transparent);outline-offset:2px}input[part~=boolean-mark][aria-readonly=true]{cursor:default;pointer-events:none}[part~=rating]{display:inline-flex;align-items:center;gap:0.0625rem;color:var(--igx-rating-color, var(--ag-watch, #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(--ag-watch, #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:var(--ag-radius-xs)}[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(--ag-brand)));outline-offset:-0.0625rem}[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(--ag-surface));border:0.0625rem solid var(--ag-brand-line);border-radius:var(--ag-radius-sm);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:var(--ag-brand-softer)}[part~=select-option][part~=selected]{background:var(--ag-brand-soft);color:var(--ag-brand-strong);font-weight:var(--ag-fw-semibold)}[part~=select-option]:focus-visible{background:var(--ag-brand-soft);outline:0.125rem solid var(--igx-cell-editor-accent-color, var(--cell-active-border-color, var(--ag-brand)));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:var(--ag-radius-xs);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:1px solid rgba(0,0,0,0);border-radius:var(--ag-radius-xs);background:rgba(0,0,0,0);color:var(--ag-text-muted);cursor:pointer;transition:background-color var(--ag-dur-fast) var(--ag-ease),border-color var(--ag-dur-fast) var(--ag-ease),color var(--ag-dur-fast) var(--ag-ease)}[part=tree-toggle]:hover{background:var(--ag-brand-soft);border-color:var(--ag-brand-line);color:var(--ag-brand-strong)}[part=tree-toggle]:focus-visible{outline:0.125rem solid color-mix(in srgb, var(--ag-brand) 50%, transparent);outline-offset:0.0625rem}[part=tree-chevron]{transition:transform var(--ag-dur-med) var(--ag-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 `[part~=pill]{display:inline-flex;align-items:center;block-size:20px;padding:0 8px;border-radius:var(--ag-radius-sm);border:1px solid rgba(0,0,0,0);font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-semibold);line-height:1;white-space:nowrap}[part~=pill--gold]{background:linear-gradient(180deg, #fff7e6 0%, var(--ag-gold) 100%);border-color:var(--ag-gold-line);color:var(--ag-gold-text)}[part~=pill--brand]{background:var(--ag-brand-soft);border-color:var(--ag-brand-line);color:var(--ag-brand-strong)}[part~=pill--neutral]{background:rgba(99,102,241,.08);border-color:rgba(99,102,241,.22);color:#4338ca}[part~=pill--muted]{background:rgba(107,114,128,.1);border-color:rgba(107,114,128,.22);color:#4b5563}[part~=avatar]{display:inline-flex;align-items:center;justify-content:center;inline-size:22px;block-size:22px;flex-shrink:0;border-radius:50%;background:hsl(var(--ag-avatar-hue, 210), 60%, 48%);color:#fff;font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-bold);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 0 0 2px hsla(0,0%,100%,.85),0 1px 2px rgba(15,23,42,.18)}[part~=progress]{display:inline-flex;align-items:center;gap:8px;inline-size:100%}[part~=progress-track]{position:relative;flex:1;block-size:5px;min-inline-size:40px;border-radius:3px;background:rgba(15,23,42,.08);overflow:hidden}[part~=progress-fill]{display:block;block-size:100%;border-radius:3px;background:linear-gradient(90deg, #10b981 0%, #34d399 100%);transition:width var(--ag-dur-slow) var(--ag-ease)}[part~=progress-fill--good]{background:linear-gradient(90deg, #10b981 0%, #34d399 100%)}[part~=progress-fill--watch]{background:linear-gradient(90deg, #f59e0b 0%, #fbbf24 100%)}[part~=progress-fill--risk]{background:linear-gradient(90deg, #ef4444 0%, #f87171 100%)}[part~=progress-label]{min-inline-size:18px;text-align:end;font-size:11px;font-weight:var(--ag-fw-semibold);font-variant-numeric:tabular-nums;color:var(--ag-text-body)}[part~=spark-cell]{display:inline-flex;align-items:center;gap:6px}[part~=sparkline]{display:block;inline-size:64px;block-size:22px;color:var(--ag-text-muted);overflow:visible}[part~=sparkline--up]{color:var(--ag-good)}[part~=sparkline--down]{color:var(--ag-risk)}[part~=spark-line]{fill:none;stroke:currentcolor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}[part~=spark-area]{fill:currentcolor;stroke:none;opacity:.18}[part~=spark-delta]{font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-semibold);font-variant-numeric:tabular-nums;color:var(--ag-text-muted)}[part~=spark-delta--up]{color:var(--ag-good-text)}[part~=spark-delta--down]{color:var(--ag-risk-text)}[part~=status]{display:inline-flex;align-items:center;gap:6px;block-size:20px;padding:0 10px;border-radius:var(--ag-radius-pill);border:1px solid rgba(0,0,0,0);font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-semibold);line-height:1;white-space:nowrap}[part~=status-dot]{inline-size:6px;block-size:6px;flex-shrink:0;border-radius:50%;background:currentcolor}[part~=status--active]{background:var(--ag-good-soft);border-color:rgba(16,185,129,.28);color:var(--ag-good-text)}[part~=status--trial]{background:var(--ag-watch-soft);border-color:rgba(245,158,11,.28);color:var(--ag-watch-text)}[part~=status--churn]{background:var(--ag-risk-soft);border-color:rgba(239,68,68,.3);color:var(--ag-risk-text)}`;
|
|
3
|
+
//# sourceMappingURL=cell-renderers.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell-renderers.css.js","sourceRoot":"","sources":["../../../src/styles/body-cell/cell-renderers.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,s1GAAs1G,CAAC","sourcesContent":["import { css } from 'lit';\nexport const styles = css`[part~=pill]{display:inline-flex;align-items:center;block-size:20px;padding:0 8px;border-radius:var(--ag-radius-sm);border:1px solid rgba(0,0,0,0);font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-semibold);line-height:1;white-space:nowrap}[part~=pill--gold]{background:linear-gradient(180deg, #fff7e6 0%, var(--ag-gold) 100%);border-color:var(--ag-gold-line);color:var(--ag-gold-text)}[part~=pill--brand]{background:var(--ag-brand-soft);border-color:var(--ag-brand-line);color:var(--ag-brand-strong)}[part~=pill--neutral]{background:rgba(99,102,241,.08);border-color:rgba(99,102,241,.22);color:#4338ca}[part~=pill--muted]{background:rgba(107,114,128,.1);border-color:rgba(107,114,128,.22);color:#4b5563}[part~=avatar]{display:inline-flex;align-items:center;justify-content:center;inline-size:22px;block-size:22px;flex-shrink:0;border-radius:50%;background:hsl(var(--ag-avatar-hue, 210), 60%, 48%);color:#fff;font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-bold);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 0 0 2px hsla(0,0%,100%,.85),0 1px 2px rgba(15,23,42,.18)}[part~=progress]{display:inline-flex;align-items:center;gap:8px;inline-size:100%}[part~=progress-track]{position:relative;flex:1;block-size:5px;min-inline-size:40px;border-radius:3px;background:rgba(15,23,42,.08);overflow:hidden}[part~=progress-fill]{display:block;block-size:100%;border-radius:3px;background:linear-gradient(90deg, #10b981 0%, #34d399 100%);transition:width var(--ag-dur-slow) var(--ag-ease)}[part~=progress-fill--good]{background:linear-gradient(90deg, #10b981 0%, #34d399 100%)}[part~=progress-fill--watch]{background:linear-gradient(90deg, #f59e0b 0%, #fbbf24 100%)}[part~=progress-fill--risk]{background:linear-gradient(90deg, #ef4444 0%, #f87171 100%)}[part~=progress-label]{min-inline-size:18px;text-align:end;font-size:11px;font-weight:var(--ag-fw-semibold);font-variant-numeric:tabular-nums;color:var(--ag-text-body)}[part~=spark-cell]{display:inline-flex;align-items:center;gap:6px}[part~=sparkline]{display:block;inline-size:64px;block-size:22px;color:var(--ag-text-muted);overflow:visible}[part~=sparkline--up]{color:var(--ag-good)}[part~=sparkline--down]{color:var(--ag-risk)}[part~=spark-line]{fill:none;stroke:currentcolor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}[part~=spark-area]{fill:currentcolor;stroke:none;opacity:.18}[part~=spark-delta]{font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-semibold);font-variant-numeric:tabular-nums;color:var(--ag-text-muted)}[part~=spark-delta--up]{color:var(--ag-good-text)}[part~=spark-delta--down]{color:var(--ag-risk-text)}[part~=status]{display:inline-flex;align-items:center;gap:6px;block-size:20px;padding:0 10px;border-radius:var(--ag-radius-pill);border:1px solid rgba(0,0,0,0);font-size:var(--ag-fs-cell-secondary);font-weight:var(--ag-fw-semibold);line-height:1;white-space:nowrap}[part~=status-dot]{inline-size:6px;block-size:6px;flex-shrink:0;border-radius:50%;background:currentcolor}[part~=status--active]{background:var(--ag-good-soft);border-color:rgba(16,185,129,.28);color:var(--ag-good-text)}[part~=status--trial]{background:var(--ag-watch-soft);border-color:rgba(245,158,11,.28);color:var(--ag-watch-text)}[part~=status--churn]{background:var(--ag-risk-soft);border-color:rgba(239,68,68,.3);color:var(--ag-risk-text)}`;"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
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:
|
|
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:var(--ag-row-h);border-block-end:1px solid var(--igx-row-border-color, var(--row-border-color, var(--ag-border)));background:var(--igx-row-odd-background, var(--row-odd-background, var(--ag-surface)));color:var(--igx-row-odd-text-color, var(--row-odd-text-color, var(--ag-text-body)));z-index:var(--z-index-base);transition:background-color var(--ag-dur-fast) var(--ag-ease),box-shadow var(--ag-dur-fast) var(--ag-ease)}:host(:last-of-type){border-bottom:0}:host(:nth-of-type(even)){background:var(--igx-row-even-background, var(--row-even-background, var(--ag-surface-alt)));color:var(--igx-row-even-text-color, var(--row-even-text-color, var(--ag-text-body)))}:host(:hover){background:var(--igx-row-hover-background, var(--row-hover-background, var(--ag-row-hover)));color:var(--igx-row-hover-text-color, var(--row-hover-text-color, var(--ag-text-body)))}:host([selected]){background:color-mix(in srgb, var(--ag-brand) 10%, var(--ag-surface));box-shadow:inset 2px 0 0 0 var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ag-brand)))}:host([selected]:hover){background:color-mix(in srgb, var(--ag-brand) 14%, var(--ag-surface))}[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:1px solid var(--igx-row-border-color, var(--row-border-color, var(--ag-border)))}[part=selection-checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;inline-size:14px;block-size:14px;margin:0;flex-shrink:0;box-sizing:border-box;border:1.4px solid color-mix(in srgb, var(--ag-brand) 30%, transparent);border-radius:var(--ag-radius-xs);background-color:var(--ag-surface);background-repeat:no-repeat;background-position:center;cursor:pointer;transition:background-color var(--ag-dur-fast) var(--ag-ease),border-color var(--ag-dur-fast) var(--ag-ease),transform var(--ag-dur-fast) var(--ag-ease)}[part=selection-checkbox]:hover{border-color:color-mix(in srgb, var(--ag-brand) 55%, transparent)}[part=selection-checkbox]:active{transform:scale(0.92)}[part=selection-checkbox]:checked,[part=selection-checkbox]:indeterminate{background-color:var(--ag-brand);border-color:var(--ag-brand)}[part=selection-checkbox]:checked{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.4 5.8 10.2 11 4.2' fill='none' stroke='%23ffffff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}[part=selection-checkbox]:indeterminate{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Crect x='3.5' y='6.2' width='7' height='1.6' rx='0.8' fill='%23ffffff'/%3E%3C/svg%3E")}[part=selection-checkbox]:focus-visible{outline:2px solid color-mix(in srgb, var(--ag-brand) 50%, transparent);outline-offset:2px}[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:1px solid var(--igx-row-border-color, var(--row-border-color, var(--ag-border)))}[part=expansion-toggle]{display:inline-flex;align-items:center;justify-content:center;inline-size:1.5rem;block-size:1.5rem;padding:0;border:1px solid rgba(0,0,0,0);border-radius:var(--ag-radius-xs);background:rgba(0,0,0,0);color:var(--ag-text-muted);cursor:pointer;transition:background-color var(--ag-dur-fast) var(--ag-ease),border-color var(--ag-dur-fast) var(--ag-ease),color var(--ag-dur-fast) var(--ag-ease)}[part=expansion-toggle]:hover:not(:disabled){background:var(--ag-brand-soft);border-color:var(--ag-brand-line);color:var(--ag-brand-strong)}[part=expansion-toggle]:focus-visible{outline:2px solid color-mix(in srgb, var(--ag-brand) 50%, transparent);outline-offset:2px}[part=expansion-toggle]:disabled{opacity:.35;cursor:default}[part=expansion-chevron]{transition:transform var(--ag-dur-med) var(--ag-ease)}:host([expanded]) [part=expansion-chevron]{transform:rotate(90deg)}[part=detail-panel]{grid-column:1/-1;padding:0.75rem var(--ag-cell-pad-x);background:var(--ag-surface-alt);border-block-start:1px solid var(--igx-row-border-color, var(--row-border-color, var(--ag-border)));position:sticky;inset-inline-start:0;inline-size:var(--apex-host-width, 100%);box-sizing:border-box;overflow:hidden}`;
|
|
3
3
|
//# sourceMappingURL=body-row.css.js.map
|
|
@@ -1 +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,
|
|
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,2pJAA2pJ,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:var(--ag-row-h);border-block-end:1px solid var(--igx-row-border-color, var(--row-border-color, var(--ag-border)));background:var(--igx-row-odd-background, var(--row-odd-background, var(--ag-surface)));color:var(--igx-row-odd-text-color, var(--row-odd-text-color, var(--ag-text-body)));z-index:var(--z-index-base);transition:background-color var(--ag-dur-fast) var(--ag-ease),box-shadow var(--ag-dur-fast) var(--ag-ease)}:host(:last-of-type){border-bottom:0}:host(:nth-of-type(even)){background:var(--igx-row-even-background, var(--row-even-background, var(--ag-surface-alt)));color:var(--igx-row-even-text-color, var(--row-even-text-color, var(--ag-text-body)))}:host(:hover){background:var(--igx-row-hover-background, var(--row-hover-background, var(--ag-row-hover)));color:var(--igx-row-hover-text-color, var(--row-hover-text-color, var(--ag-text-body)))}:host([selected]){background:color-mix(in srgb, var(--ag-brand) 10%, var(--ag-surface));box-shadow:inset 2px 0 0 0 var(--igx-cell-active-border-color, var(--cell-active-border-color, var(--ag-brand)))}:host([selected]:hover){background:color-mix(in srgb, var(--ag-brand) 14%, var(--ag-surface))}[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:1px solid var(--igx-row-border-color, var(--row-border-color, var(--ag-border)))}[part=selection-checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;inline-size:14px;block-size:14px;margin:0;flex-shrink:0;box-sizing:border-box;border:1.4px solid color-mix(in srgb, var(--ag-brand) 30%, transparent);border-radius:var(--ag-radius-xs);background-color:var(--ag-surface);background-repeat:no-repeat;background-position:center;cursor:pointer;transition:background-color var(--ag-dur-fast) var(--ag-ease),border-color var(--ag-dur-fast) var(--ag-ease),transform var(--ag-dur-fast) var(--ag-ease)}[part=selection-checkbox]:hover{border-color:color-mix(in srgb, var(--ag-brand) 55%, transparent)}[part=selection-checkbox]:active{transform:scale(0.92)}[part=selection-checkbox]:checked,[part=selection-checkbox]:indeterminate{background-color:var(--ag-brand);border-color:var(--ag-brand)}[part=selection-checkbox]:checked{background-image:url(\"data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.4 5.8 10.2 11 4.2' fill='none' stroke='%23ffffff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\")}[part=selection-checkbox]:indeterminate{background-image:url(\"data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Crect x='3.5' y='6.2' width='7' height='1.6' rx='0.8' fill='%23ffffff'/%3E%3C/svg%3E\")}[part=selection-checkbox]:focus-visible{outline:2px solid color-mix(in srgb, var(--ag-brand) 50%, transparent);outline-offset:2px}[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:1px solid var(--igx-row-border-color, var(--row-border-color, var(--ag-border)))}[part=expansion-toggle]{display:inline-flex;align-items:center;justify-content:center;inline-size:1.5rem;block-size:1.5rem;padding:0;border:1px solid rgba(0,0,0,0);border-radius:var(--ag-radius-xs);background:rgba(0,0,0,0);color:var(--ag-text-muted);cursor:pointer;transition:background-color var(--ag-dur-fast) var(--ag-ease),border-color var(--ag-dur-fast) var(--ag-ease),color var(--ag-dur-fast) var(--ag-ease)}[part=expansion-toggle]:hover:not(:disabled){background:var(--ag-brand-soft);border-color:var(--ag-brand-line);color:var(--ag-brand-strong)}[part=expansion-toggle]:focus-visible{outline:2px solid color-mix(in srgb, var(--ag-brand) 50%, transparent);outline-offset:2px}[part=expansion-toggle]:disabled{opacity:.35;cursor:default}[part=expansion-chevron]{transition:transform var(--ag-dur-med) var(--ag-ease)}:host([expanded]) [part=expansion-chevron]{transform:rotate(90deg)}[part=detail-panel]{grid-column:1/-1;padding:0.75rem var(--ag-cell-pad-x);background:var(--ag-surface-alt);border-block-start:1px solid var(--igx-row-border-color, var(--row-border-color, var(--ag-border)));position:sticky;inset-inline-start:0;inline-size:var(--apex-host-width, 100%);box-sizing:border-box;overflow:hidden}`;"]}
|