@ni/nimble-components 24.1.13 → 25.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 +7 -0
- package/dist/all-components-bundle.js +1884 -1548
- package/dist/all-components-bundle.js.map +1 -1
- package/dist/all-components-bundle.min.js +1875 -1820
- package/dist/all-components-bundle.min.js.map +1 -1
- package/dist/esm/anchor/index.js.map +1 -1
- package/dist/esm/anchor-button/index.js.map +1 -1
- package/dist/esm/anchor-menu-item/index.js.map +1 -1
- package/dist/esm/anchor-tab/index.js.map +1 -1
- package/dist/esm/anchor-tabs/index.js.map +1 -1
- package/dist/esm/anchor-tree-item/index.js.map +1 -1
- package/dist/esm/banner/index.js.map +1 -1
- package/dist/esm/breadcrumb/index.js.map +1 -1
- package/dist/esm/button/index.js.map +1 -1
- package/dist/esm/card-button/index.js.map +1 -1
- package/dist/esm/combobox/index.js.map +1 -1
- package/dist/esm/dialog/index.js.map +1 -1
- package/dist/esm/drawer/index.js.map +1 -1
- package/dist/esm/icon-base/index.js.map +1 -1
- package/dist/esm/label-provider/core/index.js.map +1 -1
- package/dist/esm/label-provider/rich-text/index.js.map +1 -1
- package/dist/esm/label-provider/table/index.js.map +1 -1
- package/dist/esm/list-option/index.js.map +1 -1
- package/dist/esm/mapping/base/index.js.map +1 -1
- package/dist/esm/mapping/icon/index.d.ts +1 -0
- package/dist/esm/mapping/icon/index.js +7 -0
- package/dist/esm/mapping/icon/index.js.map +1 -1
- package/dist/esm/mapping/spinner/index.d.ts +1 -0
- package/dist/esm/mapping/spinner/index.js +7 -0
- package/dist/esm/mapping/spinner/index.js.map +1 -1
- package/dist/esm/mapping/text/index.js.map +1 -1
- package/dist/esm/mapping/user/index.js.map +1 -1
- package/dist/esm/menu-button/index.js.map +1 -1
- package/dist/esm/number-field/index.js.map +1 -1
- package/dist/esm/rich-text/base/index.js.map +1 -1
- package/dist/esm/rich-text/editor/index.js.map +1 -1
- package/dist/esm/rich-text/mention-listbox/index.js.map +1 -1
- package/dist/esm/rich-text/models/markdown-parser.js.map +1 -1
- package/dist/esm/rich-text/viewer/index.js.map +1 -1
- package/dist/esm/rich-text-mention/base/index.js.map +1 -1
- package/dist/esm/rich-text-mention/base/models/mention-internals.js.map +1 -1
- package/dist/esm/rich-text-mention/base/view/index.js.map +1 -1
- package/dist/esm/select/index.js.map +1 -1
- package/dist/esm/spinner/index.js.map +1 -1
- package/dist/esm/src/mapping/icon/index.d.ts +1 -0
- package/dist/esm/src/mapping/spinner/index.d.ts +1 -0
- package/dist/esm/src/table/testing/table.pageobject.d.ts +4 -4
- package/dist/esm/src/table-column/enum-base/models/mapping-icon-config.d.ts +3 -1
- package/dist/esm/src/table-column/enum-base/models/mapping-spinner-config.d.ts +8 -1
- package/dist/esm/src/table-column/icon/cell-view/index.d.ts +6 -3
- package/dist/esm/src/table-column/icon/cell-view/styles.d.ts +1 -0
- package/dist/esm/src/table-column/icon/group-header-view/index.d.ts +4 -3
- package/dist/esm/src/table-column/icon/testing/table-column-icon.pageobject.d.ts +23 -0
- package/dist/esm/table/components/cell/index.js.map +1 -1
- package/dist/esm/table/components/group-row/index.js.map +1 -1
- package/dist/esm/table/components/header/index.js.map +1 -1
- package/dist/esm/table/components/row/index.js.map +1 -1
- package/dist/esm/table/index.js.map +1 -1
- package/dist/esm/table/models/table-layout-manager.js.map +1 -1
- package/dist/esm/table/models/virtualizer.js.map +1 -1
- package/dist/esm/table/testing/table.pageobject.d.ts +4 -4
- package/dist/esm/table/testing/table.pageobject.js +15 -37
- package/dist/esm/table/testing/table.pageobject.js.map +1 -1
- package/dist/esm/table-column/anchor/cell-view/index.js.map +1 -1
- package/dist/esm/table-column/anchor/index.js.map +1 -1
- package/dist/esm/table-column/base/cell-view/index.js.map +1 -1
- package/dist/esm/table-column/base/group-header-view/index.js.map +1 -1
- package/dist/esm/table-column/base/index.js.map +1 -1
- package/dist/esm/table-column/base/models/column-internals.js.map +1 -1
- package/dist/esm/table-column/base/models/column-validator.js.map +1 -1
- package/dist/esm/table-column/date-text/index.js.map +1 -1
- package/dist/esm/table-column/enum-base/index.js.map +1 -1
- package/dist/esm/table-column/enum-base/models/mapping-icon-config.d.ts +3 -1
- package/dist/esm/table-column/enum-base/models/mapping-icon-config.js +4 -3
- package/dist/esm/table-column/enum-base/models/mapping-icon-config.js.map +1 -1
- package/dist/esm/table-column/enum-base/models/mapping-spinner-config.d.ts +8 -1
- package/dist/esm/table-column/enum-base/models/mapping-spinner-config.js +13 -1
- package/dist/esm/table-column/enum-base/models/mapping-spinner-config.js.map +1 -1
- package/dist/esm/table-column/icon/cell-view/index.d.ts +6 -3
- package/dist/esm/table-column/icon/cell-view/index.js +19 -7
- package/dist/esm/table-column/icon/cell-view/index.js.map +1 -1
- package/dist/esm/table-column/icon/cell-view/styles.d.ts +1 -0
- package/dist/esm/table-column/icon/cell-view/styles.js +27 -0
- package/dist/esm/table-column/icon/cell-view/styles.js.map +1 -0
- package/dist/esm/table-column/icon/cell-view/template.js +15 -8
- package/dist/esm/table-column/icon/cell-view/template.js.map +1 -1
- package/dist/esm/table-column/icon/group-header-view/index.d.ts +4 -3
- package/dist/esm/table-column/icon/group-header-view/index.js +8 -8
- package/dist/esm/table-column/icon/group-header-view/index.js.map +1 -1
- package/dist/esm/table-column/icon/group-header-view/styles.js +5 -3
- package/dist/esm/table-column/icon/group-header-view/styles.js.map +1 -1
- package/dist/esm/table-column/icon/group-header-view/template.js +10 -24
- package/dist/esm/table-column/icon/group-header-view/template.js.map +1 -1
- package/dist/esm/table-column/icon/index.js +2 -2
- package/dist/esm/table-column/icon/index.js.map +1 -1
- package/dist/esm/table-column/icon/testing/table-column-icon.pageobject.d.ts +23 -0
- package/dist/esm/table-column/icon/testing/table-column-icon.pageobject.js +79 -0
- package/dist/esm/table-column/icon/testing/table-column-icon.pageobject.js.map +1 -0
- package/dist/esm/table-column/number-text/index.js.map +1 -1
- package/dist/esm/table-column/text-base/cell-view/index.js.map +1 -1
- package/dist/esm/table-column/text-base/group-header-view/index.js.map +1 -1
- package/dist/esm/table-column/text-base/index.js.map +1 -1
- package/dist/esm/text-area/index.js.map +1 -1
- package/dist/esm/text-field/index.js.map +1 -1
- package/dist/esm/theme-provider/index.js.map +1 -1
- package/dist/esm/toggle-button/index.js.map +1 -1
- package/dist/esm/tooltip/index.js.map +1 -1
- package/dist/esm/tree-item/index.js.map +1 -1
- package/dist/esm/tree-view/index.js.map +1 -1
- package/dist/esm/unit/base/unit.js.map +1 -1
- package/dist/esm/unit/byte/index.js.map +1 -1
- package/dist/esm/utilities/models/document-element-lang.js.map +1 -1
- package/dist/esm/utilities/unit-format/default-unit-format.js.map +1 -1
- package/dist/esm/wafer-map/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-internals.js","sourceRoot":"","sources":["../../../../../src/table-column/base/models/column-internals.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAgB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAkB,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAwC/D;;;GAGG;AACH,MAAM,OAAO,eAAe;IAqHxB,YAAmB,OAAiD;QA5GpE;;WAEG;QACa,aAAQ,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAwBzD;;WAEG;QAEI,kBAAa,GAA6B,wBAAwB,CAAC,KAAK,CAAC;QAEhF;;;WAGG;QAEI,yBAAoB,GAA4C,EAAE,CAAC;QAO1E;;WAEG;QAEI,qBAAgB,GAAG,KAAK,CAAC;QAgBhC;;;WAGG;QAEI,oBAAe,GAAG,sBAAsB,CAAC;QAEhD;;WAEG;QAEI,kBAAa,GAAG,oBAAoB,CAAC;QAE5C;;;WAGG;QAEI,2BAAsB,GAAG,sBAAsB,CAAC;QAgBvD;;;WAGG;QAEI,yBAAoB,GAA6B,wBAAwB,CAAC,IAAI,CAAC;QAKlF,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,CAAC,uBAAuB,GAAG,6BAA6B,CACxD,OAAO,CAAC,kBAAkB,CAC7B,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,wBAAwB,CAAC,KAAK,CAAC;QAC7E,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACvC,CAAC;IAES,sBAAsB;QAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,eAAe,CAAC;IACvD,CAAC;IAES,iBAAiB;QACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC;IAC7C,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"column-internals.js","sourceRoot":"","sources":["../../../../../src/table-column/base/models/column-internals.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAgB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAkB,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAwC/D;;;GAGG;AACH,MAAM,OAAO,eAAe;IAqHxB,YAAmB,OAAiD;QA5GpE;;WAEG;QACa,aAAQ,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAwBzD;;WAEG;QAEI,kBAAa,GAA6B,wBAAwB,CAAC,KAAK,CAAC;QAEhF;;;WAGG;QAEI,yBAAoB,GAA4C,EAAE,CAAC;QAO1E;;WAEG;QAEI,qBAAgB,GAAG,KAAK,CAAC;QAgBhC;;;WAGG;QAEI,oBAAe,GAAG,sBAAsB,CAAC;QAEhD;;WAEG;QAEI,kBAAa,GAAG,oBAAoB,CAAC;QAE5C;;;WAGG;QAEI,2BAAsB,GAAG,sBAAsB,CAAC;QAgBvD;;;WAGG;QAEI,yBAAoB,GAA6B,wBAAwB,CAAC,IAAI,CAAC;QAKlF,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,CAAC,uBAAuB,GAAG,6BAA6B,CACxD,OAAO,CAAC,kBAAkB,CAC7B,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,wBAAwB,CAAC,KAAK,CAAC;QAC7E,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACvC,CAAC;IAES,sBAAsB;QAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,eAAe,CAAC;IACvD,CAAC;IAES,iBAAiB;QACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC;IAC7C,CAAC;CACJ;AA3GU;IADN,UAAU;qDACyB;AAM7B;IADN,UAAU;mEACwC;AAM5C;IADN,UAAU;sDACqE;AAOzE;IADN,UAAU;6DAC+D;AAWnE;IADN,UAAU;yDACqB;AAQzB;IADN,UAAU;mDACgB;AAMpB;IADN,UAAU;mDACgB;AAOpB;IADN,UAAU;wDACqC;AAMzC;IADN,UAAU;sDACiC;AAOrC;IADN,UAAU;+DAC4C;AAOhD;IADN,UAAU;0DACuB;AAO3B;IADN,UAAU;yDAC6B;AAOjC;IADN,UAAU;6DAC2E;AAwB1F,MAAM,UAAU,yBAAyB,CACrC,eAAuB,EACvB,GAAG,IAA6D;IAEhE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACpB,IAAI,eAAe,KAAK,GAAG,EAAE;YACzB,OAAO,IAAI,CAAC;SACf;KACJ;IACD,OAAO,KAAK,CAAC;AACjB,CAAC","sourcesContent":["import { uniqueId } from '@microsoft/fast-web-utilities';\nimport { ViewTemplate, observable } from '@microsoft/fast-element';\nimport { TableColumnSortDirection, TableFieldName } from '../../../table/types';\nimport type { TableCell } from '../../../table/components/cell';\nimport {\n TableColumnSortOperation,\n defaultFractionalWidth,\n defaultMinPixelWidth\n} from '../types';\nimport type { TableGroupRow } from '../../../table/components/group-row';\nimport { createGroupHeaderViewTemplate } from '../group-header-view/template';\nimport { createCellViewTemplate } from '../cell-view/template';\nimport type { ColumnValidator } from './column-validator';\n\nexport interface ColumnInternalsOptions<\n TColumnValidator extends ColumnValidator<[]> = ColumnValidator<[]>\n> {\n /**\n * The tag (element name) of the custom element that renders the cell content for the column.\n * That element should derive from TableCellView<TCellRecord, TColumnConfig>.\n */\n readonly cellViewTag: string;\n\n /**\n * The names of the fields that should be present in TCellRecord.\n * This array is parallel with the field names specified by `dataRecordFieldNames`.\n */\n readonly cellRecordFieldNames: readonly TableFieldName[];\n\n /**\n * The tag to use to render the group header content for a column.\n * The element this tag refers to must derive from TableGroupHeaderView.\n */\n readonly groupHeaderViewTag: string;\n\n /**\n * The names of events that should be delegated from the cell view to the column.\n */\n readonly delegatedEvents: readonly string[];\n\n /**\n * The sort operation to use for the column (defaults to TableColumnSortOperation.basic)\n */\n readonly sortOperation?: TableColumnSortOperation;\n\n /**\n * The validator for the column\n */\n readonly validator: TColumnValidator;\n}\n\n/**\n * Internal column state configured by plugin authors\n * @internal\n */\nexport class ColumnInternals<\n TColumnConfig,\n TColumnValidator extends ColumnValidator<[]>\n> {\n /**\n * @see ColumnInternalsOptions.cellRecordFieldNames\n */\n public readonly cellRecordFieldNames: readonly TableFieldName[];\n\n /**\n * A unique id used internally in the table to identify specific column instances\n */\n public readonly uniqueId = uniqueId('table-column-slot');\n\n /**\n * Template for the cell view\n */\n public readonly cellViewTemplate: ViewTemplate<TableCell>;\n\n /**\n * The names of events that should be delegated from the cell view to the column.\n */\n public readonly delegatedEvents: readonly string[];\n\n /**\n * The relevant, static configuration a column requires its cell view to have access to.\n */\n @observable\n public columnConfig?: TColumnConfig;\n\n /**\n * The name of the data field that will be used for operations on the table, such as sorting and grouping.\n */\n @observable\n public operandDataRecordFieldName?: TableFieldName;\n\n /**\n * The operation to use when sorting the table by this column.\n */\n @observable\n public sortOperation: TableColumnSortOperation = TableColumnSortOperation.basic;\n\n /**\n * The names of the fields from the row's record that correlate to the data that will be in TCellRecord.\n * This array is parallel with the field names specified by `cellRecordFieldNames`.\n */\n @observable\n public dataRecordFieldNames: readonly (TableFieldName | undefined)[] = [];\n\n /**\n * Template for the group header view\n */\n public readonly groupHeaderViewTemplate: ViewTemplate<TableGroupRow>;\n\n /**\n * Whether or not this column can be used to group rows by\n */\n @observable\n public groupingDisabled = false;\n\n /**\n * Specifies the grouping precedence of the column within the set of all columns participating in grouping.\n * Columns are rendered in the grouping tree from lowest group-index as the tree root to highest\n * group-index as tree leaves.\n */\n @observable\n public groupIndex?: number;\n\n /**\n * Used by column plugins to set a specific pixel width. Sets currentPixelWidth when changed.\n */\n @observable\n public pixelWidth?: number;\n\n /**\n * Used by column plugins to size a column proportionally to the available\n * width of a row. Sets currentFractionalWidth when changed.\n */\n @observable\n public fractionalWidth = defaultFractionalWidth;\n\n /**\n * The minimum size in pixels according to the design doc\n */\n @observable\n public minPixelWidth = defaultMinPixelWidth;\n\n /**\n * @internal Do not write to this value directly. It is used by the Table in order to store\n * the resolved value of the fractionalWidth after updates programmatic or interactive updates.\n */\n @observable\n public currentFractionalWidth = defaultFractionalWidth;\n\n /**\n * @internal Do not write to this value directly. It is used by the Table in order to store\n * the resolved value of the pixelWidth after programmatic or interactive updates.\n */\n @observable\n public currentPixelWidth?: number;\n\n /**\n * @internal Do not write to this value directly. It is used by the Table in order to store\n * the resolved value of the sortIndex after programmatic or interactive updates.\n */\n @observable\n public currentSortIndex?: number | null;\n\n /**\n * @internal Do not write to this value directly. It is used by the Table in order to store\n * the resolved value of the sortDirection after programmatic or interactive updates.\n */\n @observable\n public currentSortDirection: TableColumnSortDirection = TableColumnSortDirection.none;\n\n public readonly validator: TColumnValidator;\n\n public constructor(options: ColumnInternalsOptions<TColumnValidator>) {\n this.cellRecordFieldNames = options.cellRecordFieldNames;\n this.cellViewTemplate = createCellViewTemplate(options.cellViewTag);\n this.groupHeaderViewTemplate = createGroupHeaderViewTemplate(\n options.groupHeaderViewTag\n );\n this.delegatedEvents = options.delegatedEvents;\n this.sortOperation = options.sortOperation ?? TableColumnSortOperation.basic;\n this.validator = options.validator;\n }\n\n protected fractionalWidthChanged(): void {\n this.currentFractionalWidth = this.fractionalWidth;\n }\n\n protected pixelWidthChanged(): void {\n this.currentPixelWidth = this.pixelWidth;\n }\n}\n\nexport function isColumnInternalsProperty(\n changedProperty: string,\n ...args: (keyof ColumnInternals<unknown, ColumnValidator<[]>>)[]\n): boolean {\n for (const arg of args) {\n if (changedProperty === arg) {\n return true;\n }\n }\n return false;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-validator.js","sourceRoot":"","sources":["../../../../../src/table-column/base/models/column-validator.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAGhE;;GAEG;AACH,MAAM,OAAO,eAEX,SAAQ,SAA4B;IAIlC,YAAmB,kBAAqC;QACpD,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAHvB,kBAAa,GAAG,IAAI,CAAC;IAI5B,CAAC;IAED;;OAEG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACO,iBAAiB,CACvB,IAAgE,EAChE,SAAkB;QAElB,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACtB;QACD,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAEO,yBAAyB;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;CACJ;AA/
|
|
1
|
+
{"version":3,"file":"column-validator.js","sourceRoot":"","sources":["../../../../../src/table-column/base/models/column-validator.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAGhE;;GAEG;AACH,MAAM,OAAO,eAEX,SAAQ,SAA4B;IAIlC,YAAmB,kBAAqC;QACpD,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAHvB,kBAAa,GAAG,IAAI,CAAC;IAI5B,CAAC;IAED;;OAEG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACO,iBAAiB,CACvB,IAAgE,EAChE,SAAkB;QAElB,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACtB;QACD,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAEO,yBAAyB;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;CACJ;AA/BU;IADN,UAAU;sDACiB","sourcesContent":["import { observable } from '@microsoft/fast-element';\nimport { Validator } from '../../../utilities/models/validator';\nimport type { TableColumnValidity } from '../types';\n\n/**\n * Base column validator\n */\nexport class ColumnValidator<\n ValidityFlagNames extends readonly string[]\n> extends Validator<ValidityFlagNames> {\n @observable\n public isColumnValid = true;\n\n public constructor(configValidityKeys: ValidityFlagNames) {\n super(configValidityKeys);\n }\n\n /**\n * @returns an object containing flags for various ways the configuation can be invalid\n */\n public getValidity(): TableColumnValidity {\n return this.getValidationFlags();\n }\n\n /**\n * Sets a particular validity condition flag's value, e.g. \"hasInvalidFooValue\" = true\n */\n protected setConditionValue(\n name: ValidityFlagNames extends readonly (infer U)[] ? U : never,\n isInvalid: boolean\n ): void {\n if (isInvalid) {\n this.track(name);\n } else {\n this.untrack(name);\n }\n this.updateColumnInternalsFlag();\n }\n\n private updateColumnInternalsFlag(): void {\n this.isColumnValid = this.isValid();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/date-text/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DesignSystem,\n DesignTokenSubscriber\n} from '@microsoft/fast-foundation';\nimport { attr } from '@microsoft/fast-element';\nimport { styles } from '../base/styles';\nimport { template } from '../base/template';\nimport type { TableNumberField } from '../../table/types';\nimport { TableColumnTextBase, mixinTextBase } from '../text-base';\nimport { TableColumnSortOperation } from '../base/types';\nimport { tableColumnDateTextGroupHeaderViewTag } from './group-header-view';\nimport { tableColumnDateTextCellViewTag } from './cell-view';\nimport type { ColumnInternalsOptions } from '../base/models/column-internals';\nimport {\n DateTextFormat,\n LocaleMatcherAlgorithm,\n EraFormat,\n YearFormat,\n DayFormat,\n HourFormat,\n MinuteFormat,\n SecondFormat,\n TimeZoneNameFormat,\n FormatMatcherAlgorithm,\n DayPeriodFormat,\n DateStyle,\n TimeStyle,\n HourCycleFormat,\n MonthFormat,\n WeekdayFormat\n} from './types';\nimport { TableColumnDateTextValidator } from './models/table-column-date-text-validator';\nimport { lang } from '../../theme-provider';\nimport { optionalBooleanConverter } from '../../utilities/models/converter';\nimport type { TableColumnTextBaseColumnConfig } from '../text-base/cell-view';\n\nexport type TableColumnDateTextCellRecord = TableNumberField<'value'>;\nexport interface TableColumnDateTextColumnConfig\n extends TableColumnTextBaseColumnConfig {\n formatter: Intl.DateTimeFormat;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-date-text': TableColumnDateText;\n }\n}\n\n/**\n * The table column for displaying dates/times as text.\n */\nexport class TableColumnDateText extends mixinTextBase(\n TableColumnTextBase<\n TableColumnDateTextColumnConfig,\n TableColumnDateTextValidator\n >\n) {\n @attr\n public format: DateTextFormat;\n\n @attr({ attribute: 'custom-locale-matcher' })\n public customLocaleMatcher: LocaleMatcherAlgorithm;\n\n @attr({ attribute: 'custom-weekday' })\n public customWeekday: WeekdayFormat;\n\n @attr({ attribute: 'custom-era' })\n public customEra: EraFormat;\n\n @attr({ attribute: 'custom-year' })\n public customYear: YearFormat;\n\n @attr({ attribute: 'custom-month' })\n public customMonth: MonthFormat;\n\n @attr({ attribute: 'custom-day' })\n public customDay: DayFormat;\n\n @attr({ attribute: 'custom-hour' })\n public customHour: HourFormat;\n\n @attr({ attribute: 'custom-minute' })\n public customMinute: MinuteFormat;\n\n @attr({ attribute: 'custom-second' })\n public customSecond: SecondFormat;\n\n @attr({ attribute: 'custom-time-zone-name' })\n public customTimeZoneName: TimeZoneNameFormat;\n\n @attr({ attribute: 'custom-format-matcher' })\n public customFormatMatcher: FormatMatcherAlgorithm;\n\n // Later versions of FAST (than the legacy branch we're on) have a nullableBooleanConverter.\n // We should replace our converter with that one when it is available to us.\n // See issue related to adopting FastElement 2.0: https://github.com/ni/nimble/issues/572\n @attr({ attribute: 'custom-hour12', converter: optionalBooleanConverter })\n public customHour12?: boolean;\n\n @attr({ attribute: 'custom-time-zone' })\n public customTimeZone?: string;\n\n @attr({ attribute: 'custom-calendar' })\n public customCalendar?: string;\n\n @attr({ attribute: 'custom-day-period' })\n public customDayPeriod: DayPeriodFormat;\n\n @attr({ attribute: 'custom-numbering-system' })\n public customNumberingSystem?: string;\n\n @attr({ attribute: 'custom-date-style' })\n public customDateStyle: DateStyle;\n\n @attr({ attribute: 'custom-time-style' })\n public customTimeStyle: TimeStyle;\n\n @attr({ attribute: 'custom-hour-cycle' })\n public customHourCycle: HourCycleFormat;\n\n private readonly langSubscriber: DesignTokenSubscriber<typeof lang> = {\n handleChange: () => {\n this.updateColumnConfig();\n }\n };\n\n public override connectedCallback(): void {\n super.connectedCallback();\n lang.subscribe(this.langSubscriber, this);\n this.updateColumnConfig();\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n lang.unsubscribe(this.langSubscriber, this);\n }\n\n public placeholderChanged(): void {\n this.updateColumnConfig();\n }\n\n protected override getColumnInternalsOptions(): ColumnInternalsOptions<TableColumnDateTextValidator> {\n return {\n cellRecordFieldNames: ['value'],\n cellViewTag: tableColumnDateTextCellViewTag,\n groupHeaderViewTag: tableColumnDateTextGroupHeaderViewTag,\n delegatedEvents: [],\n sortOperation: TableColumnSortOperation.basic,\n validator: new TableColumnDateTextValidator()\n };\n }\n\n protected formatChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customLocaleMatcherChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customWeekdayChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customEraChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customYearChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customMonthChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customDayChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customHourChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customMinuteChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customSecondChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customTimeZoneNameChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customFormatMatcherChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customHour12Changed(): void {\n this.updateColumnConfig();\n }\n\n protected customTimeZoneChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customCalendarChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customDayPeriodChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customNumberingSystemChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customDateStyleChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customTimeStyleChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customHourCycleChanged(): void {\n this.updateColumnConfig();\n }\n\n private updateColumnConfig(): void {\n const formatter = this.createFormatter();\n\n if (formatter) {\n const columnConfig: TableColumnDateTextColumnConfig = {\n formatter,\n placeholder: this.placeholder\n };\n this.columnInternals.columnConfig = columnConfig;\n this.columnInternals.validator.setCustomOptionsValidity(true);\n } else {\n this.columnInternals.columnConfig = undefined;\n this.columnInternals.validator.setCustomOptionsValidity(false);\n }\n }\n\n private createFormatter(): Intl.DateTimeFormat | undefined {\n let options: Intl.DateTimeFormatOptions;\n if (this.format === DateTextFormat.default) {\n options = {\n dateStyle: 'medium',\n timeStyle: 'medium'\n };\n } else {\n options = this.getCustomFormattingOptions();\n }\n try {\n return new Intl.DateTimeFormat(lang.getValueFor(this), options);\n } catch (e) {\n return undefined;\n }\n }\n\n private getCustomFormattingOptions(): Intl.DateTimeFormatOptions {\n // There's a FAST bug (https://github.com/microsoft/fast/issues/6630) where removing\n // attributes sets their values to null instead of undefined. To work around this,\n // translate null values to undefined.\n const options: Intl.DateTimeFormatOptions = {\n localeMatcher: this.customLocaleMatcher ?? undefined,\n weekday: this.customWeekday ?? undefined,\n era: this.customEra ?? undefined,\n year: this.customYear ?? undefined,\n month: this.customMonth ?? undefined,\n day: this.customDay ?? undefined,\n hour: this.customHour ?? undefined,\n minute: this.customMinute ?? undefined,\n second: this.customSecond ?? undefined,\n timeZoneName: this.customTimeZoneName ?? undefined,\n formatMatcher: this.customFormatMatcher ?? undefined,\n hour12: this.customHour12 ?? undefined,\n timeZone: this.customTimeZone ?? undefined,\n calendar: this.customCalendar ?? undefined,\n dayPeriod: this.customDayPeriod ?? undefined,\n numberingSystem: this.customNumberingSystem ?? undefined,\n dateStyle: this.customDateStyle ?? undefined,\n timeStyle: this.customTimeStyle ?? undefined,\n hourCycle: this.customHourCycle ?? undefined\n };\n return options;\n }\n}\n\nconst nimbleTableColumnDateText = TableColumnDateText.compose({\n baseName: 'table-column-date-text',\n template,\n styles\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleTableColumnDateText());\nexport const tableColumnDateTextTag = 'nimble-table-column-date-text';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/date-text/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DesignSystem,\n DesignTokenSubscriber\n} from '@microsoft/fast-foundation';\nimport { attr } from '@microsoft/fast-element';\nimport { styles } from '../base/styles';\nimport { template } from '../base/template';\nimport type { TableNumberField } from '../../table/types';\nimport { TableColumnTextBase, mixinTextBase } from '../text-base';\nimport { TableColumnSortOperation } from '../base/types';\nimport { tableColumnDateTextGroupHeaderViewTag } from './group-header-view';\nimport { tableColumnDateTextCellViewTag } from './cell-view';\nimport type { ColumnInternalsOptions } from '../base/models/column-internals';\nimport {\n DateTextFormat,\n LocaleMatcherAlgorithm,\n EraFormat,\n YearFormat,\n DayFormat,\n HourFormat,\n MinuteFormat,\n SecondFormat,\n TimeZoneNameFormat,\n FormatMatcherAlgorithm,\n DayPeriodFormat,\n DateStyle,\n TimeStyle,\n HourCycleFormat,\n MonthFormat,\n WeekdayFormat\n} from './types';\nimport { TableColumnDateTextValidator } from './models/table-column-date-text-validator';\nimport { lang } from '../../theme-provider';\nimport { optionalBooleanConverter } from '../../utilities/models/converter';\nimport type { TableColumnTextBaseColumnConfig } from '../text-base/cell-view';\n\nexport type TableColumnDateTextCellRecord = TableNumberField<'value'>;\nexport interface TableColumnDateTextColumnConfig\n extends TableColumnTextBaseColumnConfig {\n formatter: Intl.DateTimeFormat;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-date-text': TableColumnDateText;\n }\n}\n\n/**\n * The table column for displaying dates/times as text.\n */\nexport class TableColumnDateText extends mixinTextBase(\n TableColumnTextBase<\n TableColumnDateTextColumnConfig,\n TableColumnDateTextValidator\n >\n) {\n @attr\n public format: DateTextFormat;\n\n @attr({ attribute: 'custom-locale-matcher' })\n public customLocaleMatcher: LocaleMatcherAlgorithm;\n\n @attr({ attribute: 'custom-weekday' })\n public customWeekday: WeekdayFormat;\n\n @attr({ attribute: 'custom-era' })\n public customEra: EraFormat;\n\n @attr({ attribute: 'custom-year' })\n public customYear: YearFormat;\n\n @attr({ attribute: 'custom-month' })\n public customMonth: MonthFormat;\n\n @attr({ attribute: 'custom-day' })\n public customDay: DayFormat;\n\n @attr({ attribute: 'custom-hour' })\n public customHour: HourFormat;\n\n @attr({ attribute: 'custom-minute' })\n public customMinute: MinuteFormat;\n\n @attr({ attribute: 'custom-second' })\n public customSecond: SecondFormat;\n\n @attr({ attribute: 'custom-time-zone-name' })\n public customTimeZoneName: TimeZoneNameFormat;\n\n @attr({ attribute: 'custom-format-matcher' })\n public customFormatMatcher: FormatMatcherAlgorithm;\n\n // Later versions of FAST (than the legacy branch we're on) have a nullableBooleanConverter.\n // We should replace our converter with that one when it is available to us.\n // See issue related to adopting FastElement 2.0: https://github.com/ni/nimble/issues/572\n @attr({ attribute: 'custom-hour12', converter: optionalBooleanConverter })\n public customHour12?: boolean;\n\n @attr({ attribute: 'custom-time-zone' })\n public customTimeZone?: string;\n\n @attr({ attribute: 'custom-calendar' })\n public customCalendar?: string;\n\n @attr({ attribute: 'custom-day-period' })\n public customDayPeriod: DayPeriodFormat;\n\n @attr({ attribute: 'custom-numbering-system' })\n public customNumberingSystem?: string;\n\n @attr({ attribute: 'custom-date-style' })\n public customDateStyle: DateStyle;\n\n @attr({ attribute: 'custom-time-style' })\n public customTimeStyle: TimeStyle;\n\n @attr({ attribute: 'custom-hour-cycle' })\n public customHourCycle: HourCycleFormat;\n\n private readonly langSubscriber: DesignTokenSubscriber<typeof lang> = {\n handleChange: () => {\n this.updateColumnConfig();\n }\n };\n\n public override connectedCallback(): void {\n super.connectedCallback();\n lang.subscribe(this.langSubscriber, this);\n this.updateColumnConfig();\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n lang.unsubscribe(this.langSubscriber, this);\n }\n\n public placeholderChanged(): void {\n this.updateColumnConfig();\n }\n\n protected override getColumnInternalsOptions(): ColumnInternalsOptions<TableColumnDateTextValidator> {\n return {\n cellRecordFieldNames: ['value'],\n cellViewTag: tableColumnDateTextCellViewTag,\n groupHeaderViewTag: tableColumnDateTextGroupHeaderViewTag,\n delegatedEvents: [],\n sortOperation: TableColumnSortOperation.basic,\n validator: new TableColumnDateTextValidator()\n };\n }\n\n protected formatChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customLocaleMatcherChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customWeekdayChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customEraChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customYearChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customMonthChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customDayChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customHourChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customMinuteChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customSecondChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customTimeZoneNameChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customFormatMatcherChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customHour12Changed(): void {\n this.updateColumnConfig();\n }\n\n protected customTimeZoneChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customCalendarChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customDayPeriodChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customNumberingSystemChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customDateStyleChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customTimeStyleChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customHourCycleChanged(): void {\n this.updateColumnConfig();\n }\n\n private updateColumnConfig(): void {\n const formatter = this.createFormatter();\n\n if (formatter) {\n const columnConfig: TableColumnDateTextColumnConfig = {\n formatter,\n placeholder: this.placeholder\n };\n this.columnInternals.columnConfig = columnConfig;\n this.columnInternals.validator.setCustomOptionsValidity(true);\n } else {\n this.columnInternals.columnConfig = undefined;\n this.columnInternals.validator.setCustomOptionsValidity(false);\n }\n }\n\n private createFormatter(): Intl.DateTimeFormat | undefined {\n let options: Intl.DateTimeFormatOptions;\n if (this.format === DateTextFormat.default) {\n options = {\n dateStyle: 'medium',\n timeStyle: 'medium'\n };\n } else {\n options = this.getCustomFormattingOptions();\n }\n try {\n return new Intl.DateTimeFormat(lang.getValueFor(this), options);\n } catch (e) {\n return undefined;\n }\n }\n\n private getCustomFormattingOptions(): Intl.DateTimeFormatOptions {\n // There's a FAST bug (https://github.com/microsoft/fast/issues/6630) where removing\n // attributes sets their values to null instead of undefined. To work around this,\n // translate null values to undefined.\n const options: Intl.DateTimeFormatOptions = {\n localeMatcher: this.customLocaleMatcher ?? undefined,\n weekday: this.customWeekday ?? undefined,\n era: this.customEra ?? undefined,\n year: this.customYear ?? undefined,\n month: this.customMonth ?? undefined,\n day: this.customDay ?? undefined,\n hour: this.customHour ?? undefined,\n minute: this.customMinute ?? undefined,\n second: this.customSecond ?? undefined,\n timeZoneName: this.customTimeZoneName ?? undefined,\n formatMatcher: this.customFormatMatcher ?? undefined,\n hour12: this.customHour12 ?? undefined,\n timeZone: this.customTimeZone ?? undefined,\n calendar: this.customCalendar ?? undefined,\n dayPeriod: this.customDayPeriod ?? undefined,\n numberingSystem: this.customNumberingSystem ?? undefined,\n dateStyle: this.customDateStyle ?? undefined,\n timeStyle: this.customTimeStyle ?? undefined,\n hourCycle: this.customHourCycle ?? undefined\n };\n return options;\n }\n}\n\nconst nimbleTableColumnDateText = TableColumnDateText.compose({\n baseName: 'table-column-date-text',\n template,\n styles\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleTableColumnDateText());\nexport const tableColumnDateTextTag = 'nimble-table-column-date-text';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/enum-base/index.ts"],"names":[],"mappings":";AAAA,OAAO,EACH,IAAI,EAEJ,UAAU,EACV,UAAU,EAEb,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAcnE;;GAEG;AACH,MAAM,OAAgB,mBAIlB,SAAQ,WAA0C;IAJtD;;QAMI,gBAAgB;QACT,qBAAgB,GAAe,EAAE,CAAC;QAEzC,gBAAgB;QAET,aAAQ,GAAuB,EAAE,CAAC;QAMlC,YAAO,GAAmB,QAAQ,CAAC;IAgF9C,CAAC;IA9EG;;;;;OAKG;IACI,YAAY,CAAC,MAAe,EAAE,IAAa;QAC9C,IAAI,MAAM,YAAY,OAAO,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACvD,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;IACL,CAAC;IAaD;;OAEG;IACK,kBAAkB;QACtB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE;YACpD,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACnD,CAAC,CAAC,SAAS,CAAC;IACpB,CAAC;IAEO,iBAAiB;QACrB,MAAM,cAAc,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC5B,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1D,IAAI,GAAG,KAAK,SAAS,EAAE;gBACnB,MAAM,KAAK,CACP,kEAAkE,CACrE,CAAC;aACL;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACxD,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IAC1B,CAAC;IAEO,gBAAgB;QACpB,IAAI,CAAC,eAAe,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,0BAA0B,GAAG,IAAI,CAAC,SAAS,CAAC;IACrE,CAAC;IAEO,eAAe;QACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAEO,cAAc;QAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEO,sBAAsB;QAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACrC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC/B,CAAC;IAEO,eAAe;QACnB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACjD,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACxC;IACL,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/enum-base/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n attr,\n Notifier,\n Observable,\n observable,\n Subscriber\n} from '@microsoft/fast-element';\nimport type {\n TableStringField,\n TableBooleanField,\n TableNumberField\n} from '../../table/types';\nimport { TableColumn } from '../base';\nimport { Mapping } from '../../mapping/base';\nimport type { MappingKeyType } from './types';\nimport type { MappingConfig } from './models/mapping-config';\nimport type { MappingKey } from '../../mapping/base/types';\nimport { resolveKeyWithType } from './models/mapping-key-resolver';\nimport type { TableColumnEnumBaseValidator } from './models/table-column-enum-base-validator';\nimport type { TableColumnTextBaseColumnConfig } from '../text-base/cell-view';\n\nexport type TableColumnEnumCellRecord =\n | TableStringField<'value'>\n | TableBooleanField<'value'>\n | TableNumberField<'value'>;\nexport type MappingConfigs = Map<MappingKey, MappingConfig>;\nexport interface TableColumnEnumColumnConfig\n extends TableColumnTextBaseColumnConfig {\n mappingConfigs: MappingConfigs;\n}\n\n/**\n * Base class for table columns that map values to content (e.g. nimble-table-column-enum-text and nimble-table-column-icon)\n */\nexport abstract class TableColumnEnumBase<\n TColumnConfig extends TableColumnEnumColumnConfig,\n TEnumValidator extends TableColumnEnumBaseValidator<[]>\n>\n extends TableColumn<TColumnConfig, TEnumValidator>\n implements Subscriber {\n /** @internal */\n public mappingNotifiers: Notifier[] = [];\n\n /** @internal */\n @observable\n public mappings: Mapping<unknown>[] = [];\n\n @attr({ attribute: 'field-name' })\n public fieldName?: string;\n\n @attr({ attribute: 'key-type' })\n public keyType: MappingKeyType = 'string';\n\n /**\n * @internal\n *\n * Triggers a request to update the columnConfig when any observable property on\n * a mapping is updated.\n */\n public handleChange(source: unknown, args: unknown): void {\n if (source instanceof Mapping && typeof args === 'string') {\n this.updateColumnConfig();\n }\n }\n\n /**\n * Implementations should throw an error if an invalid Mapping is passed.\n */\n protected abstract createMappingConfig(\n mapping: Mapping<unknown>\n ): MappingConfig;\n\n protected abstract createColumnConfig(\n mappingConfigs: MappingConfigs\n ): TColumnConfig;\n\n /**\n * Called when any Mapping related state has changed.\n */\n private updateColumnConfig(): void {\n this.columnInternals.validator.validate(this.mappings, this.keyType);\n this.columnInternals.columnConfig = this.checkValidity()\n ? this.createColumnConfig(this.getMappingConfigs())\n : undefined;\n }\n\n private getMappingConfigs(): MappingConfigs {\n const mappingConfigs = new Map<MappingKey, MappingConfig>();\n this.mappings.forEach(mapping => {\n const key = resolveKeyWithType(mapping.key, this.keyType);\n if (key === undefined) {\n throw Error(\n 'Key was invalid for type. Validation should have prevented this.'\n );\n }\n const mappingConfig = this.createMappingConfig(mapping);\n mappingConfigs.set(key, mappingConfig);\n });\n return mappingConfigs;\n }\n\n private fieldNameChanged(): void {\n this.columnInternals.dataRecordFieldNames = [this.fieldName];\n this.columnInternals.operandDataRecordFieldName = this.fieldName;\n }\n\n private mappingsChanged(): void {\n this.updateColumnConfig();\n this.observeMappings();\n }\n\n private keyTypeChanged(): void {\n this.updateColumnConfig();\n }\n\n private removeMappingObservers(): void {\n this.mappingNotifiers.forEach(notifier => {\n notifier.unsubscribe(this);\n });\n this.mappingNotifiers = [];\n }\n\n private observeMappings(): void {\n this.removeMappingObservers();\n\n for (const mapping of this.mappings) {\n const notifier = Observable.getNotifier(mapping);\n notifier.subscribe(this);\n this.mappingNotifiers.push(notifier);\n }\n }\n}\n"]}
|
|
@@ -4,12 +4,14 @@ import { MappingConfig } from './mapping-config';
|
|
|
4
4
|
export interface IconView {
|
|
5
5
|
severity: IconSeverity;
|
|
6
6
|
text?: string;
|
|
7
|
+
textHidden: boolean;
|
|
7
8
|
}
|
|
8
9
|
/**
|
|
9
10
|
* Mapping configuration corresponding to a icon mapping
|
|
10
11
|
*/
|
|
11
12
|
export declare class MappingIconConfig extends MappingConfig {
|
|
12
13
|
readonly severity: IconSeverity;
|
|
14
|
+
readonly textHidden: boolean;
|
|
13
15
|
readonly iconTemplate: ViewTemplate<IconView>;
|
|
14
|
-
constructor(resolvedIcon: string | undefined, severity: IconSeverity, text: string | undefined);
|
|
16
|
+
constructor(resolvedIcon: string | undefined, severity: IconSeverity, text: string | undefined, textHidden: boolean);
|
|
15
17
|
}
|
|
@@ -10,11 +10,11 @@ const createIconTemplate = (icon) => {
|
|
|
10
10
|
}
|
|
11
11
|
return html `
|
|
12
12
|
<${icon}
|
|
13
|
-
title="${x => x.text}"
|
|
13
|
+
title="${x => (x.textHidden ? x.text : '')}"
|
|
14
14
|
role="img"
|
|
15
15
|
aria-label="${x => x.text}"
|
|
16
|
+
aria-hidden="${x => (x.textHidden ? 'false' : 'true')}"
|
|
16
17
|
severity="${x => x.severity}"
|
|
17
|
-
class="no-shrink"
|
|
18
18
|
>
|
|
19
19
|
</${icon}>
|
|
20
20
|
`;
|
|
@@ -23,9 +23,10 @@ const createIconTemplate = (icon) => {
|
|
|
23
23
|
* Mapping configuration corresponding to a icon mapping
|
|
24
24
|
*/
|
|
25
25
|
export class MappingIconConfig extends MappingConfig {
|
|
26
|
-
constructor(resolvedIcon, severity, text) {
|
|
26
|
+
constructor(resolvedIcon, severity, text, textHidden) {
|
|
27
27
|
super(text);
|
|
28
28
|
this.severity = severity;
|
|
29
|
+
this.textHidden = textHidden;
|
|
29
30
|
this.iconTemplate = createIconTemplate(resolvedIcon);
|
|
30
31
|
}
|
|
31
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping-icon-config.js","sourceRoot":"","sources":["../../../../../src/table-column/enum-base/models/mapping-icon-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAqB,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"mapping-icon-config.js","sourceRoot":"","sources":["../../../../../src/table-column/enum-base/models/mapping-icon-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAqB,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQjD,mFAAmF;AACnF,uDAAuD;AACvD,kBAAkB;AAClB,MAAM,aAAa,GAAG,IAAI,CAAU,GAAG,CAAC;AAExC,MAAM,kBAAkB,GAAG,CACvB,IAAwB,EACF,EAAE;IACxB,IAAI,IAAI,KAAK,SAAS,EAAE;QACpB,OAAO,aAAa,CAAC;KACxB;IAED,OAAO,IAAI,CAAA;WACJ,IAAI;qBACM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;;0BAE5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;2BACV,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;wBACzC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;;YAE3B,IAAI;KACX,CAAC;AACN,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAGhD,YACI,YAAgC,EAChB,QAAsB,EACtC,IAAwB,EACR,UAAmB;QAEnC,KAAK,CAAC,IAAI,CAAC,CAAC;QAJI,aAAQ,GAAR,QAAQ,CAAc;QAEtB,eAAU,GAAV,UAAU,CAAS;QAGnC,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;CACJ","sourcesContent":["import { html, type ViewTemplate } from '@microsoft/fast-element';\nimport type { IconSeverity } from '../../../icon-base/types';\nimport { MappingConfig } from './mapping-config';\n\nexport interface IconView {\n severity: IconSeverity;\n text?: string;\n textHidden: boolean;\n}\n\n// Create an empty template containing only a space because creating a ViewTemplate\n// with an empty string throws an exception at runtime.\n// prettier-ignore\nconst emptyTemplate = html<IconView>` `;\n\nconst createIconTemplate = (\n icon: string | undefined\n): ViewTemplate<IconView> => {\n if (icon === undefined) {\n return emptyTemplate;\n }\n\n return html`\n <${icon}\n title=\"${x => (x.textHidden ? x.text : '')}\"\n role=\"img\"\n aria-label=\"${x => x.text}\"\n aria-hidden=\"${x => (x.textHidden ? 'false' : 'true')}\"\n severity=\"${x => x.severity}\"\n >\n </${icon}>\n `;\n};\n\n/**\n * Mapping configuration corresponding to a icon mapping\n */\nexport class MappingIconConfig extends MappingConfig {\n public readonly iconTemplate: ViewTemplate<IconView>;\n\n public constructor(\n resolvedIcon: string | undefined,\n public readonly severity: IconSeverity,\n text: string | undefined,\n public readonly textHidden: boolean\n ) {\n super(text);\n this.iconTemplate = createIconTemplate(resolvedIcon);\n }\n}\n"]}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
+
import { type ViewTemplate } from '@microsoft/fast-element';
|
|
1
2
|
import { MappingConfig } from './mapping-config';
|
|
3
|
+
export interface SpinnerView {
|
|
4
|
+
text?: string;
|
|
5
|
+
textHidden: boolean;
|
|
6
|
+
}
|
|
2
7
|
/**
|
|
3
8
|
* Mapping configuration corresponding to a spinner mapping
|
|
4
9
|
*/
|
|
5
10
|
export declare class MappingSpinnerConfig extends MappingConfig {
|
|
6
|
-
|
|
11
|
+
readonly textHidden: boolean;
|
|
12
|
+
readonly spinnerTemplate: ViewTemplate<SpinnerView>;
|
|
13
|
+
constructor(text: string | undefined, textHidden: boolean);
|
|
7
14
|
}
|
|
@@ -1,10 +1,22 @@
|
|
|
1
|
+
import { html } from '@microsoft/fast-element';
|
|
1
2
|
import { MappingConfig } from './mapping-config';
|
|
3
|
+
import { spinnerTag } from '../../../spinner';
|
|
4
|
+
const spinnerTemplate = html `
|
|
5
|
+
<${spinnerTag}
|
|
6
|
+
title="${x => (x.textHidden ? x.text : '')}"
|
|
7
|
+
aria-label="${x => x.text}"
|
|
8
|
+
aria-hidden="${x => (x.textHidden ? 'false' : 'true')}"
|
|
9
|
+
>
|
|
10
|
+
</${spinnerTag}>
|
|
11
|
+
`;
|
|
2
12
|
/**
|
|
3
13
|
* Mapping configuration corresponding to a spinner mapping
|
|
4
14
|
*/
|
|
5
15
|
export class MappingSpinnerConfig extends MappingConfig {
|
|
6
|
-
constructor(text) {
|
|
16
|
+
constructor(text, textHidden) {
|
|
7
17
|
super(text);
|
|
18
|
+
this.textHidden = textHidden;
|
|
19
|
+
this.spinnerTemplate = spinnerTemplate;
|
|
8
20
|
}
|
|
9
21
|
}
|
|
10
22
|
//# sourceMappingURL=mapping-spinner-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping-spinner-config.js","sourceRoot":"","sources":["../../../../../src/table-column/enum-base/models/mapping-spinner-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"mapping-spinner-config.js","sourceRoot":"","sources":["../../../../../src/table-column/enum-base/models/mapping-spinner-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C,MAAM,eAAe,GAA8B,IAAI,CAAA;OAChD,UAAU;iBACA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;sBAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;uBACV,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;;QAErD,UAAU;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,aAAa;IAGnD,YACI,IAAwB,EACR,UAAmB;QAEnC,KAAK,CAAC,IAAI,CAAC,CAAC;QAFI,eAAU,GAAV,UAAU,CAAS;QAGnC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;CACJ","sourcesContent":["import { type ViewTemplate, html } from '@microsoft/fast-element';\nimport { MappingConfig } from './mapping-config';\nimport { spinnerTag } from '../../../spinner';\n\nexport interface SpinnerView {\n text?: string;\n textHidden: boolean;\n}\n\nconst spinnerTemplate: ViewTemplate<SpinnerView> = html`\n <${spinnerTag}\n title=\"${x => (x.textHidden ? x.text : '')}\"\n aria-label=\"${x => x.text}\"\n aria-hidden=\"${x => (x.textHidden ? 'false' : 'true')}\"\n >\n </${spinnerTag}>\n`;\n\n/**\n * Mapping configuration corresponding to a spinner mapping\n */\nexport class MappingSpinnerConfig extends MappingConfig {\n public readonly spinnerTemplate: ViewTemplate<SpinnerView>;\n\n public constructor(\n text: string | undefined,\n public readonly textHidden: boolean\n ) {\n super(text);\n this.spinnerTemplate = spinnerTemplate;\n }\n}\n"]}
|
|
@@ -3,6 +3,7 @@ import { TableCellView } from '../../base/cell-view';
|
|
|
3
3
|
import type { TableColumnEnumCellRecord, TableColumnEnumColumnConfig } from '../../enum-base';
|
|
4
4
|
import { IconView } from '../../enum-base/models/mapping-icon-config';
|
|
5
5
|
import type { IconSeverity } from '../../../icon-base/types';
|
|
6
|
+
import { SpinnerView } from '../../enum-base/models/mapping-spinner-config';
|
|
6
7
|
declare global {
|
|
7
8
|
interface HTMLElementTagNameMap {
|
|
8
9
|
'nimble-table-column-icon-cell-view': TableColumnIconCellView;
|
|
@@ -11,11 +12,13 @@ declare global {
|
|
|
11
12
|
/**
|
|
12
13
|
* The cell view for the icon column
|
|
13
14
|
*/
|
|
14
|
-
export declare class TableColumnIconCellView extends TableCellView<TableColumnEnumCellRecord, TableColumnEnumColumnConfig> implements IconView {
|
|
15
|
+
export declare class TableColumnIconCellView extends TableCellView<TableColumnEnumCellRecord, TableColumnEnumColumnConfig> implements IconView, SpinnerView {
|
|
15
16
|
severity: IconSeverity;
|
|
16
17
|
text?: string;
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
visualizationTemplate?: ViewTemplate<IconView> | ViewTemplate<SpinnerView>;
|
|
19
|
+
textHidden: boolean;
|
|
20
|
+
/** @internal */
|
|
21
|
+
hasOverflow: boolean;
|
|
19
22
|
private columnConfigChanged;
|
|
20
23
|
private cellRecordChanged;
|
|
21
24
|
private updateState;
|
|
@@ -2,6 +2,7 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { DesignSystem } from '@microsoft/fast-foundation';
|
|
3
3
|
import { observable } from '@microsoft/fast-element';
|
|
4
4
|
import { TableCellView } from '../../base/cell-view';
|
|
5
|
+
import { styles } from './styles';
|
|
5
6
|
import { template } from './template';
|
|
6
7
|
import { MappingIconConfig } from '../../enum-base/models/mapping-icon-config';
|
|
7
8
|
import { MappingSpinnerConfig } from '../../enum-base/models/mapping-spinner-config';
|
|
@@ -9,6 +10,12 @@ import { MappingSpinnerConfig } from '../../enum-base/models/mapping-spinner-con
|
|
|
9
10
|
* The cell view for the icon column
|
|
10
11
|
*/
|
|
11
12
|
export class TableColumnIconCellView extends TableCellView {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.textHidden = false;
|
|
16
|
+
/** @internal */
|
|
17
|
+
this.hasOverflow = false;
|
|
18
|
+
}
|
|
12
19
|
columnConfigChanged() {
|
|
13
20
|
this.updateState();
|
|
14
21
|
}
|
|
@@ -16,7 +23,7 @@ export class TableColumnIconCellView extends TableCellView {
|
|
|
16
23
|
this.updateState();
|
|
17
24
|
}
|
|
18
25
|
updateState() {
|
|
19
|
-
this.
|
|
26
|
+
this.visualizationTemplate = undefined;
|
|
20
27
|
if (!this.columnConfig || !this.cellRecord) {
|
|
21
28
|
return;
|
|
22
29
|
}
|
|
@@ -26,14 +33,15 @@ export class TableColumnIconCellView extends TableCellView {
|
|
|
26
33
|
}
|
|
27
34
|
const mappingConfig = this.columnConfig.mappingConfigs.get(value);
|
|
28
35
|
if (mappingConfig instanceof MappingIconConfig) {
|
|
29
|
-
this.visual = 'icon';
|
|
30
36
|
this.severity = mappingConfig.severity;
|
|
31
37
|
this.text = mappingConfig.text;
|
|
32
|
-
this.
|
|
38
|
+
this.visualizationTemplate = mappingConfig.iconTemplate;
|
|
39
|
+
this.textHidden = mappingConfig.textHidden;
|
|
33
40
|
}
|
|
34
41
|
else if (mappingConfig instanceof MappingSpinnerConfig) {
|
|
35
|
-
this.visual = 'spinner';
|
|
36
42
|
this.text = mappingConfig.text;
|
|
43
|
+
this.visualizationTemplate = mappingConfig.spinnerTemplate;
|
|
44
|
+
this.textHidden = mappingConfig.textHidden;
|
|
37
45
|
}
|
|
38
46
|
}
|
|
39
47
|
}
|
|
@@ -45,13 +53,17 @@ __decorate([
|
|
|
45
53
|
], TableColumnIconCellView.prototype, "text", void 0);
|
|
46
54
|
__decorate([
|
|
47
55
|
observable
|
|
48
|
-
], TableColumnIconCellView.prototype, "
|
|
56
|
+
], TableColumnIconCellView.prototype, "visualizationTemplate", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
observable
|
|
59
|
+
], TableColumnIconCellView.prototype, "textHidden", void 0);
|
|
49
60
|
__decorate([
|
|
50
61
|
observable
|
|
51
|
-
], TableColumnIconCellView.prototype, "
|
|
62
|
+
], TableColumnIconCellView.prototype, "hasOverflow", void 0);
|
|
52
63
|
const iconCellView = TableColumnIconCellView.compose({
|
|
53
64
|
baseName: 'table-column-icon-cell-view',
|
|
54
|
-
template
|
|
65
|
+
template,
|
|
66
|
+
styles
|
|
55
67
|
});
|
|
56
68
|
DesignSystem.getOrCreate().withPrefix('nimble').register(iconCellView());
|
|
57
69
|
export const tableColumnIconCellViewTag = 'nimble-table-column-icon-cell-view';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/icon/cell-view/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAgB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKtC,OAAO,EAEH,iBAAiB,EACpB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/icon/cell-view/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAgB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKtC,OAAO,EAEH,iBAAiB,EACpB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EACH,oBAAoB,EAEvB,MAAM,+CAA+C,CAAC;AAQvD;;GAEG;AACH,MAAM,OAAO,uBACT,SAAQ,aAGP;IAJL;;QAkBW,eAAU,GAAG,KAAK,CAAC;QAE1B,gBAAgB;QAET,gBAAW,GAAG,KAAK,CAAC;IA+B/B,CAAC;IA7BW,mBAAmB;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAEO,iBAAiB;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACxC,OAAO;SACV;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YACvC,OAAO;SACV;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,aAAa,YAAY,iBAAiB,EAAE;YAC5C,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;YACvC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC,YAAY,CAAC;YACxD,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;SAC9C;aAAM,IAAI,aAAa,YAAY,oBAAoB,EAAE;YACtD,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;SAC9C;IACL,CAAC;CACJ;AA9CU;IADN,UAAU;yDACmB;AAGvB;IADN,UAAU;qDACU;AAGd;IADN,UAAU;sEAGiB;AAGrB;IADN,UAAU;2DACe;AAInB;IADN,UAAU;4DACgB;AAiC/B,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,CAAC;IACjD,QAAQ,EAAE,6BAA6B;IACvC,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,oCAAoC,CAAC","sourcesContent":["import { DesignSystem } from '@microsoft/fast-foundation';\nimport { ViewTemplate, observable } from '@microsoft/fast-element';\nimport { TableCellView } from '../../base/cell-view';\nimport { styles } from './styles';\nimport { template } from './template';\nimport type {\n TableColumnEnumCellRecord,\n TableColumnEnumColumnConfig\n} from '../../enum-base';\nimport {\n IconView,\n MappingIconConfig\n} from '../../enum-base/models/mapping-icon-config';\nimport type { IconSeverity } from '../../../icon-base/types';\nimport {\n MappingSpinnerConfig,\n SpinnerView\n} from '../../enum-base/models/mapping-spinner-config';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-icon-cell-view': TableColumnIconCellView;\n }\n}\n\n/**\n * The cell view for the icon column\n */\nexport class TableColumnIconCellView\n extends TableCellView<\n TableColumnEnumCellRecord,\n TableColumnEnumColumnConfig\n >\n implements IconView, SpinnerView {\n @observable\n public severity: IconSeverity;\n\n @observable\n public text?: string;\n\n @observable\n public visualizationTemplate?:\n | ViewTemplate<IconView>\n | ViewTemplate<SpinnerView>;\n\n @observable\n public textHidden = false;\n\n /** @internal */\n @observable\n public hasOverflow = false;\n\n private columnConfigChanged(): void {\n this.updateState();\n }\n\n private cellRecordChanged(): void {\n this.updateState();\n }\n\n private updateState(): void {\n this.visualizationTemplate = undefined;\n if (!this.columnConfig || !this.cellRecord) {\n return;\n }\n const value = this.cellRecord.value;\n if (value === undefined || value === null) {\n return;\n }\n const mappingConfig = this.columnConfig.mappingConfigs.get(value);\n if (mappingConfig instanceof MappingIconConfig) {\n this.severity = mappingConfig.severity;\n this.text = mappingConfig.text;\n this.visualizationTemplate = mappingConfig.iconTemplate;\n this.textHidden = mappingConfig.textHidden;\n } else if (mappingConfig instanceof MappingSpinnerConfig) {\n this.text = mappingConfig.text;\n this.visualizationTemplate = mappingConfig.spinnerTemplate;\n this.textHidden = mappingConfig.textHidden;\n }\n }\n}\n\nconst iconCellView = TableColumnIconCellView.compose({\n baseName: 'table-column-icon-cell-view',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(iconCellView());\nexport const tableColumnIconCellViewTag = 'nimble-table-column-icon-cell-view';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("@microsoft/fast-element").ElementStyles;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { css } from '@microsoft/fast-element';
|
|
2
|
+
import { display } from '@microsoft/fast-foundation';
|
|
3
|
+
import { bodyFont, bodyFontColor, iconSize, smallPadding } from '../../../theme-provider/design-tokens';
|
|
4
|
+
export const styles = css `
|
|
5
|
+
${display('inline-flex')}
|
|
6
|
+
|
|
7
|
+
:host {
|
|
8
|
+
gap: ${smallPadding};
|
|
9
|
+
align-items: center;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.reserve-icon-size {
|
|
13
|
+
flex-shrink: 0;
|
|
14
|
+
width: ${iconSize};
|
|
15
|
+
height: ${iconSize};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.text {
|
|
19
|
+
flex-shrink: 1;
|
|
20
|
+
font: ${bodyFont};
|
|
21
|
+
color: ${bodyFontColor};
|
|
22
|
+
white-space: nowrap;
|
|
23
|
+
overflow: hidden;
|
|
24
|
+
text-overflow: ellipsis;
|
|
25
|
+
}
|
|
26
|
+
`;
|
|
27
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/table-column/icon/cell-view/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,YAAY,EACf,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,aAAa,CAAC;;;eAGb,YAAY;;;;;;iBAMV,QAAQ;kBACP,QAAQ;;;;;gBAKV,QAAQ;iBACP,aAAa;;;;;CAK7B,CAAC","sourcesContent":["import { css } from '@microsoft/fast-element';\nimport { display } from '@microsoft/fast-foundation';\nimport {\n bodyFont,\n bodyFontColor,\n iconSize,\n smallPadding\n} from '../../../theme-provider/design-tokens';\n\nexport const styles = css`\n ${display('inline-flex')}\n\n :host {\n gap: ${smallPadding};\n align-items: center;\n }\n\n .reserve-icon-size {\n flex-shrink: 0;\n width: ${iconSize};\n height: ${iconSize};\n }\n\n .text {\n flex-shrink: 1;\n font: ${bodyFont};\n color: ${bodyFontColor};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n`;\n"]}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import { html, when } from '@microsoft/fast-element';
|
|
2
|
-
import {
|
|
2
|
+
import { overflow } from '../../../utilities/directive/overflow';
|
|
3
|
+
// prettier-ignore
|
|
3
4
|
export const template = html `
|
|
4
|
-
${when(x => x.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
${when(x => x.visualizationTemplate, html `
|
|
6
|
+
<span class="reserve-icon-size">
|
|
7
|
+
${x => x.visualizationTemplate}
|
|
8
|
+
</span>
|
|
9
|
+
`)}
|
|
10
|
+
${when(x => !x.textHidden, html `
|
|
11
|
+
<span
|
|
12
|
+
${overflow('hasOverflow')}
|
|
13
|
+
title=${x => (x.hasOverflow && x.text ? x.text : null)}
|
|
14
|
+
class="text"
|
|
15
|
+
>
|
|
16
|
+
${x => x.text}
|
|
17
|
+
</span>
|
|
11
18
|
`)}
|
|
12
19
|
`;
|
|
13
20
|
//# sourceMappingURL=template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table-column/icon/cell-view/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table-column/icon/cell-view/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAEjE,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAyB;MAC/C,IAAI,CACF,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAC5B,IAAI,CAAyB;;kBAEnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB;;SAErC,CACJ;MACC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAyB;;cAE9C,QAAQ,CAAC,aAAa,CAAC;oBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;;;cAGpD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;;KAEpB,CAAC;CACL,CAAC","sourcesContent":["import { html, when } from '@microsoft/fast-element';\nimport type { TableColumnIconCellView } from '.';\nimport { overflow } from '../../../utilities/directive/overflow';\n\n// prettier-ignore\nexport const template = html<TableColumnIconCellView>`\n ${when(\n x => x.visualizationTemplate,\n html<TableColumnIconCellView>`\n <span class=\"reserve-icon-size\">\n ${x => x.visualizationTemplate}\n </span>\n `\n )}\n ${when(x => !x.textHidden, html<TableColumnIconCellView>`\n <span\n ${overflow('hasOverflow')}\n title=${x => (x.hasOverflow && x.text ? x.text : null)}\n class=\"text\"\n >\n ${x => x.text}\n </span>\n `)}\n`;\n"]}
|
|
@@ -4,6 +4,7 @@ import type { TableFieldValue } from '../../../table/types';
|
|
|
4
4
|
import { TableColumnTextGroupHeaderViewBase } from '../../text-base/group-header-view';
|
|
5
5
|
import type { IconSeverity } from '../../../icon-base/types';
|
|
6
6
|
import { type IconView } from '../../enum-base/models/mapping-icon-config';
|
|
7
|
+
import { SpinnerView } from '../../enum-base/models/mapping-spinner-config';
|
|
7
8
|
declare global {
|
|
8
9
|
interface HTMLElementTagNameMap {
|
|
9
10
|
'nimble-table-column-icon-group-header-view': TableColumnIconGroupHeaderView;
|
|
@@ -12,10 +13,10 @@ declare global {
|
|
|
12
13
|
/**
|
|
13
14
|
* The group header view for the icon column
|
|
14
15
|
*/
|
|
15
|
-
export declare class TableColumnIconGroupHeaderView extends TableColumnTextGroupHeaderViewBase<TableFieldValue, TableColumnEnumColumnConfig> implements IconView {
|
|
16
|
+
export declare class TableColumnIconGroupHeaderView extends TableColumnTextGroupHeaderViewBase<TableFieldValue, TableColumnEnumColumnConfig> implements IconView, SpinnerView {
|
|
16
17
|
severity: IconSeverity;
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
visualizationTemplate?: ViewTemplate<IconView> | ViewTemplate<SpinnerView>;
|
|
19
|
+
readonly textHidden = false;
|
|
19
20
|
protected updateText(): void;
|
|
20
21
|
}
|
|
21
22
|
export declare const tableColumnIconGroupHeaderViewTag = "nimble-table-column-icon-group-header-view";
|
|
@@ -10,8 +10,12 @@ import { MappingSpinnerConfig } from '../../enum-base/models/mapping-spinner-con
|
|
|
10
10
|
* The group header view for the icon column
|
|
11
11
|
*/
|
|
12
12
|
export class TableColumnIconGroupHeaderView extends TableColumnTextGroupHeaderViewBase {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.textHidden = false;
|
|
16
|
+
}
|
|
13
17
|
updateText() {
|
|
14
|
-
this.
|
|
18
|
+
this.visualizationTemplate = undefined;
|
|
15
19
|
if (!this.columnConfig) {
|
|
16
20
|
this.text = '';
|
|
17
21
|
return;
|
|
@@ -19,14 +23,13 @@ export class TableColumnIconGroupHeaderView extends TableColumnTextGroupHeaderVi
|
|
|
19
23
|
const value = this.groupHeaderValue;
|
|
20
24
|
const mappingConfig = this.columnConfig.mappingConfigs.get(value);
|
|
21
25
|
if (mappingConfig instanceof MappingIconConfig) {
|
|
22
|
-
this.visual = 'icon';
|
|
23
26
|
this.severity = mappingConfig.severity;
|
|
24
27
|
this.text = mappingConfig.text ?? '';
|
|
25
|
-
this.
|
|
28
|
+
this.visualizationTemplate = mappingConfig.iconTemplate;
|
|
26
29
|
}
|
|
27
30
|
else if (mappingConfig instanceof MappingSpinnerConfig) {
|
|
28
|
-
this.visual = 'spinner';
|
|
29
31
|
this.text = mappingConfig.text ?? '';
|
|
32
|
+
this.visualizationTemplate = mappingConfig.spinnerTemplate;
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
35
|
}
|
|
@@ -35,10 +38,7 @@ __decorate([
|
|
|
35
38
|
], TableColumnIconGroupHeaderView.prototype, "severity", void 0);
|
|
36
39
|
__decorate([
|
|
37
40
|
observable
|
|
38
|
-
], TableColumnIconGroupHeaderView.prototype, "
|
|
39
|
-
__decorate([
|
|
40
|
-
observable
|
|
41
|
-
], TableColumnIconGroupHeaderView.prototype, "visual", void 0);
|
|
41
|
+
], TableColumnIconGroupHeaderView.prototype, "visualizationTemplate", void 0);
|
|
42
42
|
const iconGroupHeaderView = TableColumnIconGroupHeaderView.compose({
|
|
43
43
|
baseName: 'table-column-icon-group-header-view',
|
|
44
44
|
template,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/icon/group-header-view/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAgB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AAEvF,OAAO,EACH,iBAAiB,EAEpB,MAAM,4CAA4C,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/icon/group-header-view/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAgB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AAEvF,OAAO,EACH,iBAAiB,EAEpB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACH,oBAAoB,EAEvB,MAAM,+CAA+C,CAAC;AAQvD;;GAEG;AACH,MAAM,OAAO,8BACT,SAAQ,kCAGP;IAJL;;QAcoB,eAAU,GAAG,KAAK,CAAC;IAmBvC,CAAC;IAjBa,UAAU;QAChB,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACf,OAAO;SACV;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,KAAM,CAAC,CAAC;QACnE,IAAI,aAAa,YAAY,iBAAiB,EAAE;YAC5C,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;YACvC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC,YAAY,CAAC;SAC3D;aAAM,IAAI,aAAa,YAAY,oBAAoB,EAAE;YACtD,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC,eAAe,CAAC;SAC9D;IACL,CAAC;CACJ;AA1BU;IADN,UAAU;gEACmB;AAGvB;IADN,UAAU;6EAGiB;AAuBhC,MAAM,mBAAmB,GAAG,8BAA8B,CAAC,OAAO,CAAC;IAC/D,QAAQ,EAAE,qCAAqC;IAC/C,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,iCAAiC,GAAG,4CAA4C,CAAC","sourcesContent":["import { DesignSystem } from '@microsoft/fast-foundation';\nimport { ViewTemplate, observable } from '@microsoft/fast-element';\nimport { styles } from './styles';\nimport { template } from './template';\nimport type { TableColumnEnumColumnConfig } from '../../enum-base';\nimport type { TableFieldValue } from '../../../table/types';\nimport { TableColumnTextGroupHeaderViewBase } from '../../text-base/group-header-view';\nimport type { IconSeverity } from '../../../icon-base/types';\nimport {\n MappingIconConfig,\n type IconView\n} from '../../enum-base/models/mapping-icon-config';\nimport {\n MappingSpinnerConfig,\n SpinnerView\n} from '../../enum-base/models/mapping-spinner-config';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-icon-group-header-view': TableColumnIconGroupHeaderView;\n }\n}\n\n/**\n * The group header view for the icon column\n */\nexport class TableColumnIconGroupHeaderView\n extends TableColumnTextGroupHeaderViewBase<\n TableFieldValue,\n TableColumnEnumColumnConfig\n >\n implements IconView, SpinnerView {\n @observable\n public severity: IconSeverity;\n\n @observable\n public visualizationTemplate?:\n | ViewTemplate<IconView>\n | ViewTemplate<SpinnerView>;\n\n public readonly textHidden = false;\n\n protected updateText(): void {\n this.visualizationTemplate = undefined;\n if (!this.columnConfig) {\n this.text = '';\n return;\n }\n const value = this.groupHeaderValue;\n const mappingConfig = this.columnConfig.mappingConfigs.get(value!);\n if (mappingConfig instanceof MappingIconConfig) {\n this.severity = mappingConfig.severity;\n this.text = mappingConfig.text ?? '';\n this.visualizationTemplate = mappingConfig.iconTemplate;\n } else if (mappingConfig instanceof MappingSpinnerConfig) {\n this.text = mappingConfig.text ?? '';\n this.visualizationTemplate = mappingConfig.spinnerTemplate;\n }\n }\n}\n\nconst iconGroupHeaderView = TableColumnIconGroupHeaderView.compose({\n baseName: 'table-column-icon-group-header-view',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(iconGroupHeaderView());\nexport const tableColumnIconGroupHeaderViewTag = 'nimble-table-column-icon-group-header-view';\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { css } from '@microsoft/fast-element';
|
|
2
2
|
import { display } from '@microsoft/fast-foundation';
|
|
3
|
-
import { bodyFont, bodyFontColor, smallPadding } from '../../../theme-provider/design-tokens';
|
|
3
|
+
import { bodyFont, bodyFontColor, iconSize, smallPadding } from '../../../theme-provider/design-tokens';
|
|
4
4
|
export const styles = css `
|
|
5
5
|
${display('inline-flex')}
|
|
6
6
|
|
|
@@ -9,11 +9,13 @@ export const styles = css `
|
|
|
9
9
|
align-items: center;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
.
|
|
12
|
+
.reserve-icon-size {
|
|
13
13
|
flex-shrink: 0;
|
|
14
|
+
width: ${iconSize};
|
|
15
|
+
height: ${iconSize};
|
|
14
16
|
}
|
|
15
17
|
|
|
16
|
-
|
|
18
|
+
.text {
|
|
17
19
|
flex-shrink: 1;
|
|
18
20
|
font: ${bodyFont};
|
|
19
21
|
color: ${bodyFontColor};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/table-column/icon/group-header-view/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,QAAQ,EACR,aAAa,EACb,YAAY,EACf,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,aAAa,CAAC;;;eAGb,YAAY
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/table-column/icon/group-header-view/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,YAAY,EACf,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,aAAa,CAAC;;;eAGb,YAAY;;;;;;iBAMV,QAAQ;kBACP,QAAQ;;;;;gBAKV,QAAQ;iBACP,aAAa;;;;;CAK7B,CAAC","sourcesContent":["import { css } from '@microsoft/fast-element';\nimport { display } from '@microsoft/fast-foundation';\nimport {\n bodyFont,\n bodyFontColor,\n iconSize,\n smallPadding\n} from '../../../theme-provider/design-tokens';\n\nexport const styles = css`\n ${display('inline-flex')}\n\n :host {\n gap: ${smallPadding};\n align-items: center;\n }\n\n .reserve-icon-size {\n flex-shrink: 0;\n width: ${iconSize};\n height: ${iconSize};\n }\n\n .text {\n flex-shrink: 1;\n font: ${bodyFont};\n color: ${bodyFontColor};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n`;\n"]}
|