@ni/nimble-components 30.0.7 → 30.0.8

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.
Files changed (107) hide show
  1. package/dist/all-components-bundle.js +19 -14
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +1195 -1191
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/anchor-menu-item/index.js.map +1 -1
  6. package/dist/esm/anchor-tabs/index.js.map +1 -1
  7. package/dist/esm/anchor-tree-item/index.js.map +1 -1
  8. package/dist/esm/combobox/index.js.map +1 -1
  9. package/dist/esm/dialog/index.js.map +1 -1
  10. package/dist/esm/drawer/index.js.map +1 -1
  11. package/dist/esm/label-provider/base/index.js.map +1 -1
  12. package/dist/esm/list-option/index.js.map +1 -1
  13. package/dist/esm/list-option-group/index.js.map +1 -1
  14. package/dist/esm/mapping/icon/index.js.map +1 -1
  15. package/dist/esm/menu-button/index.js.map +1 -1
  16. package/dist/esm/menu-button/testing/menu-button.pageobject.js.map +1 -1
  17. package/dist/esm/rich-text/base/index.js.map +1 -1
  18. package/dist/esm/rich-text/editor/index.js.map +1 -1
  19. package/dist/esm/rich-text/editor/models/create-tiptap-editor.js.map +1 -1
  20. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js.map +1 -1
  21. package/dist/esm/rich-text/mention-listbox/index.js.map +1 -1
  22. package/dist/esm/rich-text/models/markdown-parser.js +12 -12
  23. package/dist/esm/rich-text/models/markdown-parser.js.map +1 -1
  24. package/dist/esm/rich-text/models/rich-text-tracker.js.map +1 -1
  25. package/dist/esm/rich-text/models/testing/markdown-parser-utils.js.map +1 -1
  26. package/dist/esm/rich-text/viewer/index.js.map +1 -1
  27. package/dist/esm/rich-text/viewer/testing/rich-text-viewer.pageobject.js.map +1 -1
  28. package/dist/esm/rich-text-mention/base/index.js.map +1 -1
  29. package/dist/esm/rich-text-mention/base/models/mention-validator.js.map +1 -1
  30. package/dist/esm/rich-text-mention/users/index.js.map +1 -1
  31. package/dist/esm/select/index.js.map +1 -1
  32. package/dist/esm/select/testing/select.pageobject.js.map +1 -1
  33. package/dist/esm/table/components/group-row/index.js.map +1 -1
  34. package/dist/esm/table/components/header/index.js.map +1 -1
  35. package/dist/esm/table/components/row/index.js.map +1 -1
  36. package/dist/esm/table/index.js.map +1 -1
  37. package/dist/esm/table/models/array-to-tree.js.map +1 -1
  38. package/dist/esm/table/models/data-hierarchy-manager.js.map +1 -1
  39. package/dist/esm/table/models/expansion-manager.js.map +1 -1
  40. package/dist/esm/table/models/interactive-selection-manager.js.map +1 -1
  41. package/dist/esm/table/models/keyboard-navigation-manager.js.map +1 -1
  42. package/dist/esm/table/models/selection-managers/multi-selection-manager.js.map +1 -1
  43. package/dist/esm/table/models/selection-managers/selection-manager-base.js.map +1 -1
  44. package/dist/esm/table/models/sort-operations.js.map +1 -1
  45. package/dist/esm/table/models/table-layout-manager.js.map +1 -1
  46. package/dist/esm/table/models/table-update-tracker.js.map +1 -1
  47. package/dist/esm/table/models/table-validator.js.map +1 -1
  48. package/dist/esm/table/models/virtualizer.js.map +1 -1
  49. package/dist/esm/table/testing/table.pageobject.js.map +1 -1
  50. package/dist/esm/table-column/anchor/cell-view/index.js.map +1 -1
  51. package/dist/esm/table-column/anchor/cell-view/template.js.map +1 -1
  52. package/dist/esm/table-column/base/cell-view/index.js.map +1 -1
  53. package/dist/esm/table-column/base/cell-view/template.js.map +1 -1
  54. package/dist/esm/table-column/base/group-header-view/template.js.map +1 -1
  55. package/dist/esm/table-column/base/models/column-internals.js.map +1 -1
  56. package/dist/esm/table-column/base/models/column-validator.js.map +1 -1
  57. package/dist/esm/table-column/date-text/cell-view/index.js.map +1 -1
  58. package/dist/esm/table-column/date-text/group-header-view/index.js.map +1 -1
  59. package/dist/esm/table-column/date-text/index.js.map +1 -1
  60. package/dist/esm/table-column/date-text/models/format-helper.js.map +1 -1
  61. package/dist/esm/table-column/date-text/testing/table-column-date-text.pageobject.js.map +1 -1
  62. package/dist/esm/table-column/duration-text/group-header-view/index.js.map +1 -1
  63. package/dist/esm/table-column/duration-text/models/duration-formatter.js.map +1 -1
  64. package/dist/esm/table-column/duration-text/testing/table-column-duration-text.pageobject.js.map +1 -1
  65. package/dist/esm/table-column/enum-base/index.js.map +1 -1
  66. package/dist/esm/table-column/enum-base/models/mapping-key-resolver.js.map +1 -1
  67. package/dist/esm/table-column/mapping/cell-view/index.js.map +1 -1
  68. package/dist/esm/table-column/mapping/group-header-view/index.js.map +1 -1
  69. package/dist/esm/table-column/mapping/index.js.map +1 -1
  70. package/dist/esm/table-column/mapping/testing/table-column-mapping.pageobject.js.map +1 -1
  71. package/dist/esm/table-column/menu-button/cell-view/index.js.map +1 -1
  72. package/dist/esm/table-column/menu-button/index.js.map +1 -1
  73. package/dist/esm/table-column/mixins/custom-sort-order.js.map +1 -1
  74. package/dist/esm/table-column/mixins/sortable-column.js.map +1 -1
  75. package/dist/esm/table-column/number-text/index.js.map +1 -1
  76. package/dist/esm/table-column/number-text/models/number-text-unit-format.js.map +1 -1
  77. package/dist/esm/table-column/text-base/cell-view/index.js.map +1 -1
  78. package/dist/esm/table-column/text-base/group-header-view/index.js.map +1 -1
  79. package/dist/esm/text-area/index.js.map +1 -1
  80. package/dist/esm/theme-provider/design-tokens.js.map +1 -1
  81. package/dist/esm/theme-provider/index.js.map +1 -1
  82. package/dist/esm/tree-view/index.js.map +1 -1
  83. package/dist/esm/utilities/models/converter.js.map +1 -1
  84. package/dist/esm/utilities/models/document-element-lang.js.map +1 -1
  85. package/dist/esm/utilities/models/tracker.js.map +1 -1
  86. package/dist/esm/utilities/style/direction.js.map +1 -1
  87. package/dist/esm/utilities/style/multivalue-property-stylesheet-behavior.js.map +1 -1
  88. package/dist/esm/utilities/style/theme.js.map +1 -1
  89. package/dist/esm/utilities/testing/component.js.map +1 -1
  90. package/dist/esm/utilities/unit-format/decimal-unit-format.js.map +1 -1
  91. package/dist/esm/utilities/unit-format/default-unit-format.js.map +1 -1
  92. package/dist/esm/utilities/unit-format/scaled-unit-format/manually-translated-scaled-unit-format.js.map +1 -1
  93. package/dist/esm/utilities/unit-format/unit-format.js.map +1 -1
  94. package/dist/esm/utilities/unit-format/unit-scale/unit-scale.js.map +1 -1
  95. package/dist/esm/wafer-map/experimental/computations.js.map +1 -1
  96. package/dist/esm/wafer-map/experimental/hover-handler.js.map +1 -1
  97. package/dist/esm/wafer-map/experimental/worker-renderer.js.map +1 -1
  98. package/dist/esm/wafer-map/index.js.map +1 -1
  99. package/dist/esm/wafer-map/modules/computations.js.map +1 -1
  100. package/dist/esm/wafer-map/modules/create-matrix-renderer.js.map +1 -1
  101. package/dist/esm/wafer-map/modules/hover-handler.js.map +1 -1
  102. package/dist/esm/wafer-map/modules/prerendering.js.map +1 -1
  103. package/dist/esm/wafer-map/modules/rendering.js.map +1 -1
  104. package/dist/esm/wafer-map/modules/wafer-map-update-tracker.js.map +1 -1
  105. package/dist/esm/wafer-map/modules/wafer-map-validator.js.map +1 -1
  106. package/dist/esm/wafer-map/modules/zoom-handler.js.map +1 -1
  107. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"sortable-column.js","sourceRoot":"","sources":["../../../../src/table-column/mixins/sortable-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAExE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAQ7D,4HAA4H;AAC5H,+HAA+H;AAC/H,MAAM,UAAU,sBAAsB,CAEpC,IAAW;IACT;;;OAGG;IACH,MAAe,cAAe,SAAQ,IAAI;QAA1C;;YACW,oBAAe,GAAG,KAAK,CAAC;YAIxB,kBAAa,GAA6B,wBAAwB,CAAC,IAAI,CAAC;QA2BnF,CAAC;QAzBG,gBAAgB;QACT,sBAAsB;YACzB,IAAI,CAAC,eAAe,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC5D,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,IAAI,CAAC,eAAe,CAAC,oBAAoB,GAAG,wBAAwB,CAAC,IAAI,CAAC;gBAC1E,IAAI,CAAC,eAAe,CAAC,gBAAgB,GAAG,SAAS,CAAC;aACrD;iBAAM;gBACH,IAAI,CAAC,eAAe,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC;gBAC/D,IAAI,CAAC,eAAe,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;aACvE;QACL,CAAC;QAED,gBAAgB;QACT,oBAAoB;YACvB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACvB,IAAI,CAAC,eAAe,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC;aAClE;QACL,CAAC;QAED,gBAAgB;QACT,gBAAgB;YACnB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACvB,IAAI,CAAC,eAAe,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;aACvE;QACL,CAAC;KACJ;IACD,IAAI,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACpD,iEAAiE;IACjE,cAAc,CAAC,SAAS,EACxB,iBAAiB,CACpB,CAAC;IACF,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACjE,iEAAiE;IACjE,cAAc,CAAC,SAAS,EACxB,WAAW,CACd,CAAC;IACF,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IACjC,iEAAiE;IACjE,cAAc,CAAC,SAAS,EACxB,eAAe,CAClB,CAAC;IAEF,OAAO,cAAc,CAAC;AAC1B,CAAC","sourcesContent":["import { attr, nullableNumberConverter } from '@microsoft/fast-element';\nimport type { TableColumn } from '../base';\nimport { TableColumnSortDirection } from '../../table/types';\n\n// Pick just the relevant properties the mixin depends on (typescript complains if the mixin declares private / protected base exports)\ntype SortableTableColumn = Pick<TableColumn, 'columnInternals'>;\n// prettier-ignore\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype SortableTableColumnConstructor = abstract new (...args: any[]) => SortableTableColumn;\n\n// As the returned class is internal to the function, we can't write a signature that uses is directly, so rely on inference\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type\nexport function mixinSortableColumnAPI<\n TBase extends SortableTableColumnConstructor\n>(base: TBase) {\n /**\n * The Mixin that provides a concrete column with the API to allow sorting\n * by the values in that column.\n */\n abstract class SortableColumn extends base {\n public sortingDisabled = false;\n\n public sortIndex?: number | null;\n\n public sortDirection: TableColumnSortDirection = TableColumnSortDirection.none;\n\n /** @internal */\n public sortingDisabledChanged(): void {\n this.columnInternals.sortingDisabled = this.sortingDisabled;\n if (this.sortingDisabled) {\n this.columnInternals.currentSortDirection = TableColumnSortDirection.none;\n this.columnInternals.currentSortIndex = undefined;\n } else {\n this.columnInternals.currentSortDirection = this.sortDirection;\n this.columnInternals.currentSortIndex = this.sortIndex ?? undefined;\n }\n }\n\n /** @internal */\n public sortDirectionChanged(): void {\n if (!this.sortingDisabled) {\n this.columnInternals.currentSortDirection = this.sortDirection;\n }\n }\n\n /** @internal */\n public sortIndexChanged(): void {\n if (!this.sortingDisabled) {\n this.columnInternals.currentSortIndex = this.sortIndex ?? undefined;\n }\n }\n }\n attr({ attribute: 'sorting-disabled', mode: 'boolean' })(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n SortableColumn.prototype,\n 'sortingDisabled'\n );\n attr({ attribute: 'sort-index', converter: nullableNumberConverter })(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n SortableColumn.prototype,\n 'sortIndex'\n );\n attr({ attribute: 'sort-direction' })(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n SortableColumn.prototype,\n 'sortDirection'\n );\n\n return SortableColumn;\n}\n"]}
1
+ {"version":3,"file":"sortable-column.js","sourceRoot":"","sources":["../../../../src/table-column/mixins/sortable-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAExE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAQ7D,4HAA4H;AAC5H,+HAA+H;AAC/H,MAAM,UAAU,sBAAsB,CAEpC,IAAW;IACT;;;OAGG;IACH,MAAe,cAAe,SAAQ,IAAI;QAA1C;;YACW,oBAAe,GAAG,KAAK,CAAC;YAIxB,kBAAa,GAA6B,wBAAwB,CAAC,IAAI,CAAC;QA2BnF,CAAC;QAzBG,gBAAgB;QACT,sBAAsB;YACzB,IAAI,CAAC,eAAe,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC5D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,eAAe,CAAC,oBAAoB,GAAG,wBAAwB,CAAC,IAAI,CAAC;gBAC1E,IAAI,CAAC,eAAe,CAAC,gBAAgB,GAAG,SAAS,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,eAAe,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC;gBAC/D,IAAI,CAAC,eAAe,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;YACxE,CAAC;QACL,CAAC;QAED,gBAAgB;QACT,oBAAoB;YACvB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC;YACnE,CAAC;QACL,CAAC;QAED,gBAAgB;QACT,gBAAgB;YACnB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;YACxE,CAAC;QACL,CAAC;KACJ;IACD,IAAI,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACpD,iEAAiE;IACjE,cAAc,CAAC,SAAS,EACxB,iBAAiB,CACpB,CAAC;IACF,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACjE,iEAAiE;IACjE,cAAc,CAAC,SAAS,EACxB,WAAW,CACd,CAAC;IACF,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IACjC,iEAAiE;IACjE,cAAc,CAAC,SAAS,EACxB,eAAe,CAClB,CAAC;IAEF,OAAO,cAAc,CAAC;AAC1B,CAAC","sourcesContent":["import { attr, nullableNumberConverter } from '@microsoft/fast-element';\nimport type { TableColumn } from '../base';\nimport { TableColumnSortDirection } from '../../table/types';\n\n// Pick just the relevant properties the mixin depends on (typescript complains if the mixin declares private / protected base exports)\ntype SortableTableColumn = Pick<TableColumn, 'columnInternals'>;\n// prettier-ignore\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype SortableTableColumnConstructor = abstract new (...args: any[]) => SortableTableColumn;\n\n// As the returned class is internal to the function, we can't write a signature that uses is directly, so rely on inference\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type\nexport function mixinSortableColumnAPI<\n TBase extends SortableTableColumnConstructor\n>(base: TBase) {\n /**\n * The Mixin that provides a concrete column with the API to allow sorting\n * by the values in that column.\n */\n abstract class SortableColumn extends base {\n public sortingDisabled = false;\n\n public sortIndex?: number | null;\n\n public sortDirection: TableColumnSortDirection = TableColumnSortDirection.none;\n\n /** @internal */\n public sortingDisabledChanged(): void {\n this.columnInternals.sortingDisabled = this.sortingDisabled;\n if (this.sortingDisabled) {\n this.columnInternals.currentSortDirection = TableColumnSortDirection.none;\n this.columnInternals.currentSortIndex = undefined;\n } else {\n this.columnInternals.currentSortDirection = this.sortDirection;\n this.columnInternals.currentSortIndex = this.sortIndex ?? undefined;\n }\n }\n\n /** @internal */\n public sortDirectionChanged(): void {\n if (!this.sortingDisabled) {\n this.columnInternals.currentSortDirection = this.sortDirection;\n }\n }\n\n /** @internal */\n public sortIndexChanged(): void {\n if (!this.sortingDisabled) {\n this.columnInternals.currentSortIndex = this.sortIndex ?? undefined;\n }\n }\n }\n attr({ attribute: 'sorting-disabled', mode: 'boolean' })(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n SortableColumn.prototype,\n 'sortingDisabled'\n );\n attr({ attribute: 'sort-index', converter: nullableNumberConverter })(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n SortableColumn.prototype,\n 'sortIndex'\n );\n attr({ attribute: 'sort-direction' })(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n SortableColumn.prototype,\n 'sortDirection'\n );\n\n return SortableColumn;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/number-text/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DesignSystem,\n DesignTokenSubscriber\n} from '@microsoft/fast-foundation';\nimport {\n attr,\n Notifier,\n nullableNumberConverter,\n Observable,\n observable,\n Subscriber\n} from '@microsoft/fast-element';\nimport { styles } from '../base/styles';\nimport { template } from './template';\nimport { TableColumnAlignment, type TableNumberField } from '../../table/types';\nimport { TableColumnTextBase, mixinTextBase } from '../text-base';\nimport { TableColumnSortOperation } from '../base/types';\nimport { tableColumnNumberTextGroupHeaderTag } from './group-header-view';\nimport { tableColumnNumberTextCellViewTag } from './cell-view';\nimport type { ColumnInternalsOptions } from '../base/models/column-internals';\nimport { NumberTextAlignment, NumberTextFormat } from './types';\nimport type { UnitFormat } from '../../utilities/unit-format/unit-format';\nimport { NumberTextUnitFormat } from './models/number-text-unit-format';\nimport { TableColumnNumberTextValidator } from './models/table-column-number-text-validator';\nimport { lang } from '../../theme-provider';\nimport { Unit } from '../../unit/base/unit';\nimport { waitUntilCustomElementsDefinedAsync } from '../../utilities/wait-until-custom-elements-defined-async';\nimport type { TableColumnTextBaseColumnConfig } from '../text-base/cell-view';\n\nexport type TableColumnNumberTextCellRecord = TableNumberField<'value'>;\nexport interface TableColumnNumberTextColumnConfig\n extends TableColumnTextBaseColumnConfig {\n formatter: UnitFormat;\n alignment: TableColumnAlignment;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-number-text': TableColumnNumberText;\n }\n}\n\n/**\n * The table column for displaying numbers as text.\n */\nexport class TableColumnNumberText extends mixinTextBase(\n TableColumnTextBase<\n TableColumnNumberTextColumnConfig,\n TableColumnNumberTextValidator\n >\n) {\n @attr\n public format: NumberTextFormat;\n\n @attr\n public alignment: NumberTextAlignment;\n\n @attr({ attribute: 'decimal-digits', converter: nullableNumberConverter })\n public decimalDigits?: number;\n\n @attr({\n attribute: 'decimal-maximum-digits',\n converter: nullableNumberConverter\n })\n public decimalMaximumDigits?: number;\n\n /** @internal */\n @observable\n public unitElements?: Element[];\n\n @observable\n private unit?: Unit;\n\n private unitNotifier?: Notifier;\n\n private readonly langSubscriber: DesignTokenSubscriber<typeof lang> = {\n handleChange: () => {\n this.updateColumnConfig();\n }\n };\n\n private readonly unitSubscriber: Subscriber = {\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<TableColumnNumberTextValidator> {\n return {\n cellRecordFieldNames: ['value'],\n cellViewTag: tableColumnNumberTextCellViewTag,\n groupHeaderViewTag: tableColumnNumberTextGroupHeaderTag,\n delegatedEvents: [],\n sortOperation: TableColumnSortOperation.basic,\n validator: new TableColumnNumberTextValidator()\n };\n }\n\n private updateUnitNotifier(): void {\n if (this.unitNotifier) {\n this.unitNotifier.unsubscribe(this.unitSubscriber);\n this.unitNotifier = undefined;\n }\n\n if (this.unit) {\n const notifier = Observable.getNotifier(this.unit);\n notifier.subscribe(this.unitSubscriber, 'resolvedUnitScale');\n this.unitNotifier = notifier;\n }\n }\n\n private formatChanged(): void {\n this.updateColumnConfig();\n }\n\n private alignmentChanged(): void {\n this.updateColumnConfig();\n }\n\n private decimalDigitsChanged(): void {\n this.updateColumnConfig();\n }\n\n private decimalMaximumDigitsChanged(): void {\n this.updateColumnConfig();\n }\n\n private unitElementsChanged(): void {\n void this.updateUnit();\n }\n\n private async updateUnit(): Promise<void> {\n this.unit = undefined;\n if (this.unitElements) {\n await waitUntilCustomElementsDefinedAsync(this.unitElements);\n this.unit = this.unitElements.find(\n (x): x is Unit => x instanceof Unit\n );\n }\n this.updateUnitNotifier();\n }\n\n private unitChanged(): void {\n this.updateColumnConfig();\n }\n\n private updateColumnConfig(): void {\n const validator = this.columnInternals.validator;\n validator.validateDecimalDigits(this.format, this.decimalDigits);\n validator.validateDecimalMaximumDigits(\n this.format,\n this.decimalMaximumDigits\n );\n validator.validateNoMutuallyExclusiveProperties(\n this.format,\n this.decimalDigits,\n this.decimalMaximumDigits\n );\n validator.validateAtMostOneUnit(this.unitElements ?? []);\n\n if (validator.isValid()) {\n const columnConfig: TableColumnNumberTextColumnConfig = {\n formatter: this.createFormatter(),\n alignment: this.determineCellContentAlignment(),\n placeholder: this.placeholder\n };\n this.columnInternals.headerAlignment = columnConfig.alignment;\n this.columnInternals.columnConfig = columnConfig;\n } else {\n this.columnInternals.columnConfig = undefined;\n }\n }\n\n private createFormatter(): UnitFormat {\n const unitScale = this.unit?.resolvedUnitScale;\n return new NumberTextUnitFormat(lang.getValueFor(this), {\n // Attribute values sometimes resolve to either null or undefined\n // See https://github.com/microsoft/fast/issues/6630\n numberTextFormat: this.format ?? undefined,\n decimalDigits: this.decimalDigits ?? undefined,\n decimalMaximumDigits: this.decimalMaximumDigits ?? undefined,\n unitScale\n });\n }\n\n private determineCellContentAlignment(): TableColumnAlignment {\n if (this.alignment === NumberTextAlignment.left) {\n return TableColumnAlignment.left;\n }\n\n if (this.alignment === NumberTextAlignment.right) {\n return TableColumnAlignment.right;\n }\n\n // Look at format and decimal max digits and unit to determine the default alignment\n if (\n this.format === NumberTextFormat.decimal\n && typeof this.decimalMaximumDigits !== 'number'\n && !this.unit\n ) {\n return TableColumnAlignment.right;\n }\n return TableColumnAlignment.left;\n }\n}\n\nconst nimbleTableColumnNumberText = TableColumnNumberText.compose({\n baseName: 'table-column-number-text',\n template,\n styles\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleTableColumnNumberText());\nexport const tableColumnNumberTextTag = 'nimble-table-column-number-text';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/number-text/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DesignSystem,\n DesignTokenSubscriber\n} from '@microsoft/fast-foundation';\nimport {\n attr,\n Notifier,\n nullableNumberConverter,\n Observable,\n observable,\n Subscriber\n} from '@microsoft/fast-element';\nimport { styles } from '../base/styles';\nimport { template } from './template';\nimport { TableColumnAlignment, type TableNumberField } from '../../table/types';\nimport { TableColumnTextBase, mixinTextBase } from '../text-base';\nimport { TableColumnSortOperation } from '../base/types';\nimport { tableColumnNumberTextGroupHeaderTag } from './group-header-view';\nimport { tableColumnNumberTextCellViewTag } from './cell-view';\nimport type { ColumnInternalsOptions } from '../base/models/column-internals';\nimport { NumberTextAlignment, NumberTextFormat } from './types';\nimport type { UnitFormat } from '../../utilities/unit-format/unit-format';\nimport { NumberTextUnitFormat } from './models/number-text-unit-format';\nimport { TableColumnNumberTextValidator } from './models/table-column-number-text-validator';\nimport { lang } from '../../theme-provider';\nimport { Unit } from '../../unit/base/unit';\nimport { waitUntilCustomElementsDefinedAsync } from '../../utilities/wait-until-custom-elements-defined-async';\nimport type { TableColumnTextBaseColumnConfig } from '../text-base/cell-view';\n\nexport type TableColumnNumberTextCellRecord = TableNumberField<'value'>;\nexport interface TableColumnNumberTextColumnConfig\n extends TableColumnTextBaseColumnConfig {\n formatter: UnitFormat;\n alignment: TableColumnAlignment;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-number-text': TableColumnNumberText;\n }\n}\n\n/**\n * The table column for displaying numbers as text.\n */\nexport class TableColumnNumberText extends mixinTextBase(\n TableColumnTextBase<\n TableColumnNumberTextColumnConfig,\n TableColumnNumberTextValidator\n >\n) {\n @attr\n public format: NumberTextFormat;\n\n @attr\n public alignment: NumberTextAlignment;\n\n @attr({ attribute: 'decimal-digits', converter: nullableNumberConverter })\n public decimalDigits?: number;\n\n @attr({\n attribute: 'decimal-maximum-digits',\n converter: nullableNumberConverter\n })\n public decimalMaximumDigits?: number;\n\n /** @internal */\n @observable\n public unitElements?: Element[];\n\n @observable\n private unit?: Unit;\n\n private unitNotifier?: Notifier;\n\n private readonly langSubscriber: DesignTokenSubscriber<typeof lang> = {\n handleChange: () => {\n this.updateColumnConfig();\n }\n };\n\n private readonly unitSubscriber: Subscriber = {\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<TableColumnNumberTextValidator> {\n return {\n cellRecordFieldNames: ['value'],\n cellViewTag: tableColumnNumberTextCellViewTag,\n groupHeaderViewTag: tableColumnNumberTextGroupHeaderTag,\n delegatedEvents: [],\n sortOperation: TableColumnSortOperation.basic,\n validator: new TableColumnNumberTextValidator()\n };\n }\n\n private updateUnitNotifier(): void {\n if (this.unitNotifier) {\n this.unitNotifier.unsubscribe(this.unitSubscriber);\n this.unitNotifier = undefined;\n }\n\n if (this.unit) {\n const notifier = Observable.getNotifier(this.unit);\n notifier.subscribe(this.unitSubscriber, 'resolvedUnitScale');\n this.unitNotifier = notifier;\n }\n }\n\n private formatChanged(): void {\n this.updateColumnConfig();\n }\n\n private alignmentChanged(): void {\n this.updateColumnConfig();\n }\n\n private decimalDigitsChanged(): void {\n this.updateColumnConfig();\n }\n\n private decimalMaximumDigitsChanged(): void {\n this.updateColumnConfig();\n }\n\n private unitElementsChanged(): void {\n void this.updateUnit();\n }\n\n private async updateUnit(): Promise<void> {\n this.unit = undefined;\n if (this.unitElements) {\n await waitUntilCustomElementsDefinedAsync(this.unitElements);\n this.unit = this.unitElements.find(\n (x): x is Unit => x instanceof Unit\n );\n }\n this.updateUnitNotifier();\n }\n\n private unitChanged(): void {\n this.updateColumnConfig();\n }\n\n private updateColumnConfig(): void {\n const validator = this.columnInternals.validator;\n validator.validateDecimalDigits(this.format, this.decimalDigits);\n validator.validateDecimalMaximumDigits(\n this.format,\n this.decimalMaximumDigits\n );\n validator.validateNoMutuallyExclusiveProperties(\n this.format,\n this.decimalDigits,\n this.decimalMaximumDigits\n );\n validator.validateAtMostOneUnit(this.unitElements ?? []);\n\n if (validator.isValid()) {\n const columnConfig: TableColumnNumberTextColumnConfig = {\n formatter: this.createFormatter(),\n alignment: this.determineCellContentAlignment(),\n placeholder: this.placeholder\n };\n this.columnInternals.headerAlignment = columnConfig.alignment;\n this.columnInternals.columnConfig = columnConfig;\n } else {\n this.columnInternals.columnConfig = undefined;\n }\n }\n\n private createFormatter(): UnitFormat {\n const unitScale = this.unit?.resolvedUnitScale;\n return new NumberTextUnitFormat(lang.getValueFor(this), {\n // Attribute values sometimes resolve to either null or undefined\n // See https://github.com/microsoft/fast/issues/6630\n numberTextFormat: this.format ?? undefined,\n decimalDigits: this.decimalDigits ?? undefined,\n decimalMaximumDigits: this.decimalMaximumDigits ?? undefined,\n unitScale\n });\n }\n\n private determineCellContentAlignment(): TableColumnAlignment {\n if (this.alignment === NumberTextAlignment.left) {\n return TableColumnAlignment.left;\n }\n\n if (this.alignment === NumberTextAlignment.right) {\n return TableColumnAlignment.right;\n }\n\n // Look at format and decimal max digits and unit to determine the default alignment\n if (\n this.format === NumberTextFormat.decimal\n && typeof this.decimalMaximumDigits !== 'number'\n && !this.unit\n ) {\n return TableColumnAlignment.right;\n }\n return TableColumnAlignment.left;\n }\n}\n\nconst nimbleTableColumnNumberText = TableColumnNumberText.compose({\n baseName: 'table-column-number-text',\n template,\n styles\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleTableColumnNumberText());\nexport const tableColumnNumberTextTag = 'nimble-table-column-number-text';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"number-text-unit-format.js","sourceRoot":"","sources":["../../../../../src/table-column/number-text/models/number-text-unit-format.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n UnitFormat,\n type UnitFormatOptions\n} from '../../../utilities/unit-format/unit-format';\nimport { passthroughUnitScale } from '../../../utilities/unit-format/unit-scale/passthrough-unit-scale';\nimport { NumberTextFormat } from '../types';\nimport { DefaultUnitFormat } from '../../../utilities/unit-format/default-unit-format';\nimport { DecimalUnitFormat } from '../../../utilities/unit-format/decimal-unit-format';\n\nexport interface NumberTextUnitFormatOptions extends UnitFormatOptions {\n numberTextFormat?: NumberTextFormat;\n decimalDigits?: number;\n decimalMaximumDigits?: number;\n}\ntype ResolvedNumberTextUnitFormatOptions = NumberTextUnitFormatOptions &\nRequired<UnitFormatOptions>;\n\n/**\n * Format for numbers (with optional units) in a number-text table column.\n */\nexport class NumberTextUnitFormat extends UnitFormat {\n private static readonly defaultDecimalDigits = 2;\n private readonly resolvedUnitFormat: DefaultUnitFormat | DecimalUnitFormat;\n private readonly _resolvedOptions: ResolvedNumberTextUnitFormatOptions;\n\n public constructor(locale: string, options?: NumberTextUnitFormatOptions) {\n super();\n this._resolvedOptions = this.resolveOptions(options);\n this.resolvedUnitFormat = this.resolveUnitFormat(\n locale,\n this._resolvedOptions\n );\n }\n\n public override resolvedOptions(): ResolvedNumberTextUnitFormatOptions {\n return { ...this._resolvedOptions };\n }\n\n public optionsMatch(targetOptions?: NumberTextUnitFormatOptions): boolean {\n const targetResolvedOptions = this.resolveOptions(targetOptions);\n return (\n this._resolvedOptions.decimalDigits\n === targetResolvedOptions.decimalDigits\n && this._resolvedOptions.decimalMaximumDigits\n === targetResolvedOptions.decimalMaximumDigits\n && this._resolvedOptions.numberTextFormat\n === targetResolvedOptions.numberTextFormat\n && this._resolvedOptions.unitScale === targetResolvedOptions.unitScale\n );\n }\n\n protected override tryFormat(number: number): string {\n return this.resolvedUnitFormat.format(number);\n }\n\n private resolveUnitFormat(\n locale: string,\n options: ResolvedNumberTextUnitFormatOptions\n ): DefaultUnitFormat | DecimalUnitFormat {\n const {\n numberTextFormat,\n decimalMaximumDigits,\n decimalDigits,\n unitScale\n } = options;\n\n if (numberTextFormat === NumberTextFormat.default) {\n return new DefaultUnitFormat(locale, {\n unitScale\n });\n }\n if (typeof decimalDigits === 'number') {\n return new DecimalUnitFormat(locale, {\n minimumFractionDigits: decimalDigits,\n maximumFractionDigits: decimalDigits,\n unitScale\n });\n }\n return new DecimalUnitFormat(locale, {\n minimumFractionDigits: 0,\n maximumFractionDigits: decimalMaximumDigits,\n unitScale\n });\n }\n\n private resolveOptions(\n options?: NumberTextUnitFormatOptions\n ): ResolvedNumberTextUnitFormatOptions {\n if (!options || options.numberTextFormat === NumberTextFormat.default) {\n return {\n numberTextFormat: NumberTextFormat.default,\n decimalDigits: undefined,\n decimalMaximumDigits: undefined,\n unitScale: options?.unitScale ?? passthroughUnitScale\n };\n }\n const hasDecimalDigits = typeof options.decimalDigits === 'number';\n const hasDecimalMaximumDigits = typeof options.decimalMaximumDigits === 'number';\n if (hasDecimalDigits && hasDecimalMaximumDigits) {\n throw new Error(\n 'decimalDigits and decimalMaximumDigits are mutually exclusive. Do not specify both.'\n );\n }\n if (!hasDecimalDigits && !hasDecimalMaximumDigits) {\n return {\n numberTextFormat: NumberTextFormat.decimal,\n decimalDigits: NumberTextUnitFormat.defaultDecimalDigits,\n decimalMaximumDigits: undefined,\n unitScale: options.unitScale ?? passthroughUnitScale\n };\n }\n return {\n numberTextFormat: NumberTextFormat.decimal,\n decimalDigits: options.decimalDigits,\n decimalMaximumDigits: options.decimalMaximumDigits,\n unitScale: options.unitScale ?? passthroughUnitScale\n };\n }\n}\n"]}
1
+ {"version":3,"file":"number-text-unit-format.js","sourceRoot":"","sources":["../../../../../src/table-column/number-text/models/number-text-unit-format.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n UnitFormat,\n type UnitFormatOptions\n} from '../../../utilities/unit-format/unit-format';\nimport { passthroughUnitScale } from '../../../utilities/unit-format/unit-scale/passthrough-unit-scale';\nimport { NumberTextFormat } from '../types';\nimport { DefaultUnitFormat } from '../../../utilities/unit-format/default-unit-format';\nimport { DecimalUnitFormat } from '../../../utilities/unit-format/decimal-unit-format';\n\nexport interface NumberTextUnitFormatOptions extends UnitFormatOptions {\n numberTextFormat?: NumberTextFormat;\n decimalDigits?: number;\n decimalMaximumDigits?: number;\n}\ntype ResolvedNumberTextUnitFormatOptions = NumberTextUnitFormatOptions &\nRequired<UnitFormatOptions>;\n\n/**\n * Format for numbers (with optional units) in a number-text table column.\n */\nexport class NumberTextUnitFormat extends UnitFormat {\n private static readonly defaultDecimalDigits = 2;\n private readonly resolvedUnitFormat: DefaultUnitFormat | DecimalUnitFormat;\n private readonly _resolvedOptions: ResolvedNumberTextUnitFormatOptions;\n\n public constructor(locale: string, options?: NumberTextUnitFormatOptions) {\n super();\n this._resolvedOptions = this.resolveOptions(options);\n this.resolvedUnitFormat = this.resolveUnitFormat(\n locale,\n this._resolvedOptions\n );\n }\n\n public override resolvedOptions(): ResolvedNumberTextUnitFormatOptions {\n return { ...this._resolvedOptions };\n }\n\n public optionsMatch(targetOptions?: NumberTextUnitFormatOptions): boolean {\n const targetResolvedOptions = this.resolveOptions(targetOptions);\n return (\n this._resolvedOptions.decimalDigits\n === targetResolvedOptions.decimalDigits\n && this._resolvedOptions.decimalMaximumDigits\n === targetResolvedOptions.decimalMaximumDigits\n && this._resolvedOptions.numberTextFormat\n === targetResolvedOptions.numberTextFormat\n && this._resolvedOptions.unitScale === targetResolvedOptions.unitScale\n );\n }\n\n protected override tryFormat(number: number): string {\n return this.resolvedUnitFormat.format(number);\n }\n\n private resolveUnitFormat(\n locale: string,\n options: ResolvedNumberTextUnitFormatOptions\n ): DefaultUnitFormat | DecimalUnitFormat {\n const {\n numberTextFormat,\n decimalMaximumDigits,\n decimalDigits,\n unitScale\n } = options;\n\n if (numberTextFormat === NumberTextFormat.default) {\n return new DefaultUnitFormat(locale, {\n unitScale\n });\n }\n if (typeof decimalDigits === 'number') {\n return new DecimalUnitFormat(locale, {\n minimumFractionDigits: decimalDigits,\n maximumFractionDigits: decimalDigits,\n unitScale\n });\n }\n return new DecimalUnitFormat(locale, {\n minimumFractionDigits: 0,\n maximumFractionDigits: decimalMaximumDigits,\n unitScale\n });\n }\n\n private resolveOptions(\n options?: NumberTextUnitFormatOptions\n ): ResolvedNumberTextUnitFormatOptions {\n if (!options || options.numberTextFormat === NumberTextFormat.default) {\n return {\n numberTextFormat: NumberTextFormat.default,\n decimalDigits: undefined,\n decimalMaximumDigits: undefined,\n unitScale: options?.unitScale ?? passthroughUnitScale\n };\n }\n const hasDecimalDigits = typeof options.decimalDigits === 'number';\n const hasDecimalMaximumDigits = typeof options.decimalMaximumDigits === 'number';\n if (hasDecimalDigits && hasDecimalMaximumDigits) {\n throw new Error(\n 'decimalDigits and decimalMaximumDigits are mutually exclusive. Do not specify both.'\n );\n }\n if (!hasDecimalDigits && !hasDecimalMaximumDigits) {\n return {\n numberTextFormat: NumberTextFormat.decimal,\n decimalDigits: NumberTextUnitFormat.defaultDecimalDigits,\n decimalMaximumDigits: undefined,\n unitScale: options.unitScale ?? passthroughUnitScale\n };\n }\n return {\n numberTextFormat: NumberTextFormat.decimal,\n decimalDigits: options.decimalDigits,\n decimalMaximumDigits: options.decimalMaximumDigits,\n unitScale: options.unitScale ?? passthroughUnitScale\n };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/text-base/cell-view/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAmB,MAAM,sBAAsB,CAAC;AAU7E;;GAEG;AACH,MAAM,OAAgB,2BAKpB,SAAQ,aAAyC;IALnD;;QAMI,gBAAgB;QAET,gBAAW,GAAG,KAAK,CAAC;QAE3B;;WAEG;QAEI,SAAI,GAAG,EAAE,CAAC;QAEjB;;WAEG;QAEI,cAAS,GAAyB,oBAAoB,CAAC,IAAI,CAAC;QAEnE;;WAEG;QAEI,kBAAa,GAAG,KAAK,CAAC;IAmCjC,CAAC;IA/Ba,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE;YACtC,IAAI,CAAC,UAAU,EAAE,CAAC;SACrB;IACL,CAAC;IAEO,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE;YACtC,IAAI,CAAC,UAAU,EAAE,CAAC;SACrB;IACL,CAAC;IAED;;;OAGG;IACK,4BAA4B;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;QACnD,IACI,OAAO,WAAW,KAAK,QAAQ;eAC5B,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,CAAC,EACpD;YACE,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7B;aAAM;YACH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC9B;QAED,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;CACJ;AArDU;IADN,UAAU;gEACgB;AAMpB;IADN,UAAU;yDACM;AAMV;IADN,UAAU;8DACwD;AAM5D;IADN,UAAU;kEACkB","sourcesContent":["import { observable } from '@microsoft/fast-element';\nimport { TableCellView } from '../../base/cell-view';\nimport type { TableCellRecord } from '../../base/types';\nimport { TableColumnAlignment, TableFieldValue } from '../../../table/types';\n\nexport interface TableColumnTextBaseCellRecord extends TableCellRecord {\n value: TableFieldValue;\n}\n\nexport interface TableColumnTextBaseColumnConfig {\n placeholder?: string;\n}\n\n/**\n * The cell view base class for displaying fields of any type as text.\n */\nexport abstract class TableColumnTextCellViewBase<\n TCellRecord extends\n TableColumnTextBaseCellRecord = TableColumnTextBaseCellRecord,\n TColumnConfig extends\n TableColumnTextBaseColumnConfig = TableColumnTextBaseColumnConfig\n> extends TableCellView<TCellRecord, TColumnConfig> {\n /** @internal */\n @observable\n public hasOverflow = false;\n\n /**\n * Text to render in the cell.\n */\n @observable\n public text = '';\n\n /**\n * The alignment of the text within the cell.\n */\n @observable\n public alignment: TableColumnAlignment = TableColumnAlignment.left;\n\n /**\n * Whether or not the text being displayed in the cell view is a placeholder.\n */\n @observable\n public isPlaceholder = false;\n\n protected abstract updateText(): void;\n\n protected columnConfigChanged(): void {\n if (!this.applyPlaceholderTextIfNeeded()) {\n this.updateText();\n }\n }\n\n private cellRecordChanged(): void {\n if (!this.applyPlaceholderTextIfNeeded()) {\n this.updateText();\n }\n }\n\n /**\n * Sets `this.text` to the appropriate placeholder if `cellValue` warrants it.\n * @returns `true` if `this.text` was set to a placeholder, `false` otherwise.\n */\n private applyPlaceholderTextIfNeeded(): boolean {\n const cellValue = this.cellRecord?.value;\n const placeholder = this.columnConfig?.placeholder;\n if (\n typeof placeholder === 'string'\n && (cellValue === null || cellValue === undefined)\n ) {\n this.text = placeholder;\n this.isPlaceholder = true;\n } else {\n this.isPlaceholder = false;\n }\n\n return this.isPlaceholder;\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/text-base/cell-view/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAmB,MAAM,sBAAsB,CAAC;AAU7E;;GAEG;AACH,MAAM,OAAgB,2BAKpB,SAAQ,aAAyC;IALnD;;QAMI,gBAAgB;QAET,gBAAW,GAAG,KAAK,CAAC;QAE3B;;WAEG;QAEI,SAAI,GAAG,EAAE,CAAC;QAEjB;;WAEG;QAEI,cAAS,GAAyB,oBAAoB,CAAC,IAAI,CAAC;QAEnE;;WAEG;QAEI,kBAAa,GAAG,KAAK,CAAC;IAmCjC,CAAC;IA/Ba,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC;IACL,CAAC;IAEO,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,4BAA4B;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;QACnD,IACI,OAAO,WAAW,KAAK,QAAQ;eAC5B,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,CAAC,EACpD,CAAC;YACC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC9B,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;CACJ;AArDU;IADN,UAAU;gEACgB;AAMpB;IADN,UAAU;yDACM;AAMV;IADN,UAAU;8DACwD;AAM5D;IADN,UAAU;kEACkB","sourcesContent":["import { observable } from '@microsoft/fast-element';\nimport { TableCellView } from '../../base/cell-view';\nimport type { TableCellRecord } from '../../base/types';\nimport { TableColumnAlignment, TableFieldValue } from '../../../table/types';\n\nexport interface TableColumnTextBaseCellRecord extends TableCellRecord {\n value: TableFieldValue;\n}\n\nexport interface TableColumnTextBaseColumnConfig {\n placeholder?: string;\n}\n\n/**\n * The cell view base class for displaying fields of any type as text.\n */\nexport abstract class TableColumnTextCellViewBase<\n TCellRecord extends\n TableColumnTextBaseCellRecord = TableColumnTextBaseCellRecord,\n TColumnConfig extends\n TableColumnTextBaseColumnConfig = TableColumnTextBaseColumnConfig\n> extends TableCellView<TCellRecord, TColumnConfig> {\n /** @internal */\n @observable\n public hasOverflow = false;\n\n /**\n * Text to render in the cell.\n */\n @observable\n public text = '';\n\n /**\n * The alignment of the text within the cell.\n */\n @observable\n public alignment: TableColumnAlignment = TableColumnAlignment.left;\n\n /**\n * Whether or not the text being displayed in the cell view is a placeholder.\n */\n @observable\n public isPlaceholder = false;\n\n protected abstract updateText(): void;\n\n protected columnConfigChanged(): void {\n if (!this.applyPlaceholderTextIfNeeded()) {\n this.updateText();\n }\n }\n\n private cellRecordChanged(): void {\n if (!this.applyPlaceholderTextIfNeeded()) {\n this.updateText();\n }\n }\n\n /**\n * Sets `this.text` to the appropriate placeholder if `cellValue` warrants it.\n * @returns `true` if `this.text` was set to a placeholder, `false` otherwise.\n */\n private applyPlaceholderTextIfNeeded(): boolean {\n const cellValue = this.cellRecord?.value;\n const placeholder = this.columnConfig?.placeholder;\n if (\n typeof placeholder === 'string'\n && (cellValue === null || cellValue === undefined)\n ) {\n this.text = placeholder;\n this.isPlaceholder = true;\n } else {\n this.isPlaceholder = false;\n }\n\n return this.isPlaceholder;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/text-base/group-header-view/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EACH,kCAAkC,EAClC,oCAAoC,EACvC,MAAM,4CAA4C,CAAC;AAEpD;;GAEG;AACH,MAAM,OAAgB,kCAGpB,SAAQ,oBAAgD;IAH1D;;QAII,gBAAgB;QAET,gBAAW,GAAG,KAAK,CAAC;QAE3B;;;;;;WAMG;QAEI,SAAI,GAAG,oCAAoC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEpD,sCAAiC,GAE9C;YACI,YAAY,EAAE,GAAG,EAAE;gBACf,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACxC,CAAC;SACJ,CAAC;QAEW,oCAA+B,GAE5C;YACI,YAAY,EAAE,GAAG,EAAE;gBACf,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACxC,CAAC;SACJ,CAAC;IAyDV,CAAC;IAvDmB,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,oCAAoC,CAAC,SAAS,CAC1C,IAAI,CAAC,iCAAiC,EACtC,IAAI,CACP,CAAC;QACF,kCAAkC,CAAC,SAAS,CACxC,IAAI,CAAC,+BAA+B,EACpC,IAAI,CACP,CAAC;QACF,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACxC,CAAC;IAEe,oBAAoB;QAChC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,oCAAoC,CAAC,WAAW,CAC5C,IAAI,CAAC,iCAAiC,CACzC,CAAC;QACF,kCAAkC,CAAC,WAAW,CAC1C,IAAI,CAAC,+BAA+B,CACvC,CAAC;IACN,CAAC;IAIO,mBAAmB;QACvB,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE;YACtC,IAAI,CAAC,UAAU,EAAE,CAAC;SACrB;IACL,CAAC;IAEO,uBAAuB;QAC3B,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE;YACtC,IAAI,CAAC,UAAU,EAAE,CAAC;SACrB;IACL,CAAC;IAED;;;OAGG;IACK,4BAA4B;QAChC,IACI,IAAI,CAAC,gBAAgB,KAAK,IAAI;eAC3B,IAAI,CAAC,gBAAgB,KAAK,SAAS,EACxC;YACE,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;SACf;QACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAnFU;IADN,UAAU;uEACgB;AAUpB;IADN,UAAU;gEAC0D","sourcesContent":["import type { DesignTokenSubscriber } from '@microsoft/fast-foundation';\nimport { observable } from '@microsoft/fast-element';\nimport { TableGroupHeaderView } from '../../base/group-header-view';\nimport type { TableFieldValue } from '../../../table/types';\nimport {\n tableGroupRowPlaceholderEmptyLabel,\n tableGroupRowPlaceholderNoValueLabel\n} from '../../../label-provider/table/label-tokens';\n\n/**\n * The group header view base class for displaying fields of any type as text.\n */\nexport abstract class TableColumnTextGroupHeaderViewBase<\n TGroupValue = TableFieldValue,\n TColumnConfig = unknown\n> extends TableGroupHeaderView<TGroupValue, TColumnConfig> {\n /** @internal */\n @observable\n public hasOverflow = false;\n\n /**\n * Text to render in the cell.\n *\n * The value is initialized to `tableGroupRowPlaceholderNoValue` because if the group\n * row never has a value defined on it, the change handlers may never get called but\n * the text needs to be correct.\n */\n @observable\n public text = tableGroupRowPlaceholderNoValueLabel.getValueFor(this);\n\n private readonly noValuePlaceholderLabelSubscriber: DesignTokenSubscriber<\n typeof tableGroupRowPlaceholderNoValueLabel\n > = {\n handleChange: () => {\n this.applyPlaceholderTextIfNeeded();\n }\n };\n\n private readonly emptyPlaceholderLabelSubscriber: DesignTokenSubscriber<\n typeof tableGroupRowPlaceholderEmptyLabel\n > = {\n handleChange: () => {\n this.applyPlaceholderTextIfNeeded();\n }\n };\n\n public override connectedCallback(): void {\n super.connectedCallback();\n tableGroupRowPlaceholderNoValueLabel.subscribe(\n this.noValuePlaceholderLabelSubscriber,\n this\n );\n tableGroupRowPlaceholderEmptyLabel.subscribe(\n this.emptyPlaceholderLabelSubscriber,\n this\n );\n this.applyPlaceholderTextIfNeeded();\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n tableGroupRowPlaceholderNoValueLabel.unsubscribe(\n this.noValuePlaceholderLabelSubscriber\n );\n tableGroupRowPlaceholderEmptyLabel.unsubscribe(\n this.emptyPlaceholderLabelSubscriber\n );\n }\n\n protected abstract updateText(): void;\n\n private columnConfigChanged(): void {\n if (!this.applyPlaceholderTextIfNeeded()) {\n this.updateText();\n }\n }\n\n private groupHeaderValueChanged(): void {\n if (!this.applyPlaceholderTextIfNeeded()) {\n this.updateText();\n }\n }\n\n /**\n * Sets `this.text` to the appropriate placeholder if `groupHeaderValue` warrants it.\n * @returns `true` if `this.text` was set to a placeholder, `false` otherwise.\n */\n private applyPlaceholderTextIfNeeded(): boolean {\n if (\n this.groupHeaderValue === null\n || this.groupHeaderValue === undefined\n ) {\n this.text = tableGroupRowPlaceholderNoValueLabel.getValueFor(this);\n return true;\n }\n if (this.groupHeaderValue === '') {\n this.text = tableGroupRowPlaceholderEmptyLabel.getValueFor(this);\n return true;\n }\n return false;\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/text-base/group-header-view/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EACH,kCAAkC,EAClC,oCAAoC,EACvC,MAAM,4CAA4C,CAAC;AAEpD;;GAEG;AACH,MAAM,OAAgB,kCAGpB,SAAQ,oBAAgD;IAH1D;;QAII,gBAAgB;QAET,gBAAW,GAAG,KAAK,CAAC;QAE3B;;;;;;WAMG;QAEI,SAAI,GAAG,oCAAoC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEpD,sCAAiC,GAE9C;YACI,YAAY,EAAE,GAAG,EAAE;gBACf,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACxC,CAAC;SACJ,CAAC;QAEW,oCAA+B,GAE5C;YACI,YAAY,EAAE,GAAG,EAAE;gBACf,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACxC,CAAC;SACJ,CAAC;IAyDV,CAAC;IAvDmB,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,oCAAoC,CAAC,SAAS,CAC1C,IAAI,CAAC,iCAAiC,EACtC,IAAI,CACP,CAAC;QACF,kCAAkC,CAAC,SAAS,CACxC,IAAI,CAAC,+BAA+B,EACpC,IAAI,CACP,CAAC;QACF,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACxC,CAAC;IAEe,oBAAoB;QAChC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,oCAAoC,CAAC,WAAW,CAC5C,IAAI,CAAC,iCAAiC,CACzC,CAAC;QACF,kCAAkC,CAAC,WAAW,CAC1C,IAAI,CAAC,+BAA+B,CACvC,CAAC;IACN,CAAC;IAIO,mBAAmB;QACvB,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC;IACL,CAAC;IAEO,uBAAuB;QAC3B,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,4BAA4B;QAChC,IACI,IAAI,CAAC,gBAAgB,KAAK,IAAI;eAC3B,IAAI,CAAC,gBAAgB,KAAK,SAAS,EACxC,CAAC;YACC,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAnFU;IADN,UAAU;uEACgB;AAUpB;IADN,UAAU;gEAC0D","sourcesContent":["import type { DesignTokenSubscriber } from '@microsoft/fast-foundation';\nimport { observable } from '@microsoft/fast-element';\nimport { TableGroupHeaderView } from '../../base/group-header-view';\nimport type { TableFieldValue } from '../../../table/types';\nimport {\n tableGroupRowPlaceholderEmptyLabel,\n tableGroupRowPlaceholderNoValueLabel\n} from '../../../label-provider/table/label-tokens';\n\n/**\n * The group header view base class for displaying fields of any type as text.\n */\nexport abstract class TableColumnTextGroupHeaderViewBase<\n TGroupValue = TableFieldValue,\n TColumnConfig = unknown\n> extends TableGroupHeaderView<TGroupValue, TColumnConfig> {\n /** @internal */\n @observable\n public hasOverflow = false;\n\n /**\n * Text to render in the cell.\n *\n * The value is initialized to `tableGroupRowPlaceholderNoValue` because if the group\n * row never has a value defined on it, the change handlers may never get called but\n * the text needs to be correct.\n */\n @observable\n public text = tableGroupRowPlaceholderNoValueLabel.getValueFor(this);\n\n private readonly noValuePlaceholderLabelSubscriber: DesignTokenSubscriber<\n typeof tableGroupRowPlaceholderNoValueLabel\n > = {\n handleChange: () => {\n this.applyPlaceholderTextIfNeeded();\n }\n };\n\n private readonly emptyPlaceholderLabelSubscriber: DesignTokenSubscriber<\n typeof tableGroupRowPlaceholderEmptyLabel\n > = {\n handleChange: () => {\n this.applyPlaceholderTextIfNeeded();\n }\n };\n\n public override connectedCallback(): void {\n super.connectedCallback();\n tableGroupRowPlaceholderNoValueLabel.subscribe(\n this.noValuePlaceholderLabelSubscriber,\n this\n );\n tableGroupRowPlaceholderEmptyLabel.subscribe(\n this.emptyPlaceholderLabelSubscriber,\n this\n );\n this.applyPlaceholderTextIfNeeded();\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n tableGroupRowPlaceholderNoValueLabel.unsubscribe(\n this.noValuePlaceholderLabelSubscriber\n );\n tableGroupRowPlaceholderEmptyLabel.unsubscribe(\n this.emptyPlaceholderLabelSubscriber\n );\n }\n\n protected abstract updateText(): void;\n\n private columnConfigChanged(): void {\n if (!this.applyPlaceholderTextIfNeeded()) {\n this.updateText();\n }\n }\n\n private groupHeaderValueChanged(): void {\n if (!this.applyPlaceholderTextIfNeeded()) {\n this.updateText();\n }\n }\n\n /**\n * Sets `this.text` to the appropriate placeholder if `groupHeaderValue` warrants it.\n * @returns `true` if `this.text` was set to a placeholder, `false` otherwise.\n */\n private applyPlaceholderTextIfNeeded(): boolean {\n if (\n this.groupHeaderValue === null\n || this.groupHeaderValue === undefined\n ) {\n this.text = tableGroupRowPlaceholderNoValueLabel.getValueFor(this);\n return true;\n }\n if (this.groupHeaderValue === '') {\n this.text = tableGroupRowPlaceholderEmptyLabel.getValueFor(this);\n return true;\n }\n return false;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/text-area/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { attr, DOM, observable } from '@microsoft/fast-element';\nimport {\n DesignSystem,\n TextArea as FoundationTextArea\n} from '@microsoft/fast-foundation';\nimport type { ErrorPattern } from '../patterns/error/types';\nimport { styles } from './styles';\nimport { template } from './template';\nimport { TextAreaAppearance } from './types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-text-area': TextArea;\n }\n}\n\n/**\n * A nimble-styed HTML text area\n */\nexport class TextArea extends FoundationTextArea implements ErrorPattern {\n /**\n * The appearance the text area should have.\n *\n * @public\n * @remarks\n * HTML Attribute: appearance\n */\n @attr\n public appearance: TextAreaAppearance = TextAreaAppearance.outline;\n\n /**\n * A message explaining why the value is invalid.\n *\n * @public\n * @remarks\n * HTML Attribute: error-text\n */\n @attr({ attribute: 'error-text' })\n public errorText?: string;\n\n /**\n * Whether to display the error state.\n *\n * @public\n * @remarks\n * HTML Attribute: error-visible\n */\n @attr({ attribute: 'error-visible', mode: 'boolean' })\n public errorVisible = false;\n\n /**\n * The width of the vertical scrollbar, if displayed.\n * @internal\n */\n @observable\n public scrollbarWidth = -1;\n\n private resizeObserver?: ResizeObserver;\n private updateScrollbarWidthQueued = false;\n\n /**\n * @internal\n */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.resizeObserver = new ResizeObserver(() => this.onResize());\n this.resizeObserver.observe(this);\n }\n\n /**\n * @internal\n */\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.resizeObserver?.disconnect();\n }\n\n /**\n * @internal\n */\n public onTextAreaInput(): void {\n this.handleTextInput();\n this.queueUpdateScrollbarWidth();\n }\n\n // If a property can affect whether a scrollbar is visible, we need to\n // call queueUpdateScrollbarWidth() when it changes. The exceptions are\n // properties that affect size (e.g. height, width, cols, rows), because\n // we already have a ResizeObserver handling those changes. Also,\n // a change to errorVisible cannot cause scrollbar visibility to change,\n // because we always reserve space for the error icon.\n\n /**\n * @internal\n */\n public placeholderChanged(): void {\n this.queueUpdateScrollbarWidth();\n }\n\n /**\n * @internal\n */\n public override valueChanged(previous: string, next: string): void {\n super.valueChanged(previous, next);\n this.queueUpdateScrollbarWidth();\n }\n\n private onResize(): void {\n // Do this directly instead of calling updateScrollbarWidth, b/c we don't want to\n // interfere with queue.\n this.scrollbarWidth = this.control.offsetWidth - this.control.clientWidth;\n }\n\n private queueUpdateScrollbarWidth(): void {\n if (!this.$fastController.isConnected) {\n return;\n }\n if (!this.updateScrollbarWidthQueued) {\n this.updateScrollbarWidthQueued = true;\n DOM.queueUpdate(() => this.updateScrollbarWidth());\n }\n }\n\n private updateScrollbarWidth(): void {\n this.updateScrollbarWidthQueued = false;\n this.scrollbarWidth = this.control.offsetWidth - this.control.clientWidth;\n }\n}\n\nconst nimbleTextArea = TextArea.compose({\n baseName: 'text-area',\n baseClass: FoundationTextArea,\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTextArea());\nexport const textAreaTag = 'nimble-text-area';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/text-area/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { attr, DOM, observable } from '@microsoft/fast-element';\nimport {\n DesignSystem,\n TextArea as FoundationTextArea\n} from '@microsoft/fast-foundation';\nimport type { ErrorPattern } from '../patterns/error/types';\nimport { styles } from './styles';\nimport { template } from './template';\nimport { TextAreaAppearance } from './types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-text-area': TextArea;\n }\n}\n\n/**\n * A nimble-styed HTML text area\n */\nexport class TextArea extends FoundationTextArea implements ErrorPattern {\n /**\n * The appearance the text area should have.\n *\n * @public\n * @remarks\n * HTML Attribute: appearance\n */\n @attr\n public appearance: TextAreaAppearance = TextAreaAppearance.outline;\n\n /**\n * A message explaining why the value is invalid.\n *\n * @public\n * @remarks\n * HTML Attribute: error-text\n */\n @attr({ attribute: 'error-text' })\n public errorText?: string;\n\n /**\n * Whether to display the error state.\n *\n * @public\n * @remarks\n * HTML Attribute: error-visible\n */\n @attr({ attribute: 'error-visible', mode: 'boolean' })\n public errorVisible = false;\n\n /**\n * The width of the vertical scrollbar, if displayed.\n * @internal\n */\n @observable\n public scrollbarWidth = -1;\n\n private resizeObserver?: ResizeObserver;\n private updateScrollbarWidthQueued = false;\n\n /**\n * @internal\n */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.resizeObserver = new ResizeObserver(() => this.onResize());\n this.resizeObserver.observe(this);\n }\n\n /**\n * @internal\n */\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.resizeObserver?.disconnect();\n }\n\n /**\n * @internal\n */\n public onTextAreaInput(): void {\n this.handleTextInput();\n this.queueUpdateScrollbarWidth();\n }\n\n // If a property can affect whether a scrollbar is visible, we need to\n // call queueUpdateScrollbarWidth() when it changes. The exceptions are\n // properties that affect size (e.g. height, width, cols, rows), because\n // we already have a ResizeObserver handling those changes. Also,\n // a change to errorVisible cannot cause scrollbar visibility to change,\n // because we always reserve space for the error icon.\n\n /**\n * @internal\n */\n public placeholderChanged(): void {\n this.queueUpdateScrollbarWidth();\n }\n\n /**\n * @internal\n */\n public override valueChanged(previous: string, next: string): void {\n super.valueChanged(previous, next);\n this.queueUpdateScrollbarWidth();\n }\n\n private onResize(): void {\n // Do this directly instead of calling updateScrollbarWidth, b/c we don't want to\n // interfere with queue.\n this.scrollbarWidth = this.control.offsetWidth - this.control.clientWidth;\n }\n\n private queueUpdateScrollbarWidth(): void {\n if (!this.$fastController.isConnected) {\n return;\n }\n if (!this.updateScrollbarWidthQueued) {\n this.updateScrollbarWidthQueued = true;\n DOM.queueUpdate(() => this.updateScrollbarWidth());\n }\n }\n\n private updateScrollbarWidth(): void {\n this.updateScrollbarWidthQueued = false;\n this.scrollbarWidth = this.control.offsetWidth - this.control.clientWidth;\n }\n}\n\nconst nimbleTextArea = TextArea.compose({\n baseName: 'text-area',\n baseClass: FoundationTextArea,\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTextArea());\nexport const textAreaTag = 'nimble-text-area';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"design-tokens.js","sourceRoot":"","sources":["../../../src/theme-provider/design-tokens.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSDesignToken, DesignToken } from '@microsoft/fast-foundation';\nimport { parseColorHexRGB } from '@microsoft/fast-colors';\nimport {\n Black,\n Black7,\n Black15,\n Black80,\n Black85,\n Black88,\n Black91,\n White,\n ForestGreen,\n DigitalGreenLight,\n Fail100LightUi,\n SmallDelay,\n MediumDelay,\n LargeDelay,\n Fail100DarkUi,\n Warning100LightUi,\n Warning100DarkUi,\n Pass100LightUi,\n Pass100DarkUi,\n BodyFamily,\n BodySize,\n BodyWeight,\n Body2Family,\n Body2Size,\n Body2Weight,\n ControlLabel1Family,\n ControlLabel1Size,\n ControlLabel1Weight,\n GroupLabel1Family,\n GroupLabel1Size,\n GroupLabel1Weight,\n Headline2Size,\n Headline2Family,\n Headline2Weight,\n Headline1Size,\n Headline1Family,\n Headline1Weight,\n Title3Size,\n Title3Family,\n Title3Weight,\n Title2Size,\n Title2Family,\n Title2Weight,\n Title1Size,\n Title1Family,\n Title1Weight,\n Subtitle2Size,\n Subtitle2Family,\n Subtitle2Weight,\n Subtitle1Size,\n Subtitle1Family,\n Subtitle1Weight,\n LinkLightUiSize,\n LinkLightUiFamily,\n LinkLightUiWeight,\n PlaceholderSize,\n PlaceholderFamily,\n PlaceholderWeight,\n BodyEmphasizedSize,\n BodyEmphasizedFamily,\n BodyEmphasizedWeight,\n BodyEmphasized2Size,\n BodyEmphasized2Family,\n BodyEmphasized2Weight,\n ButtonLabel1Size,\n ButtonLabel1Family,\n ButtonLabel1Weight,\n TooltipCaptionSize,\n TooltipCaptionFamily,\n TooltipCaptionWeight,\n ErrorLightUiSize,\n ErrorLightUiFamily,\n ErrorLightUiWeight,\n Headline2LineHeight,\n Headline1LineHeight,\n Title3LineHeight,\n Title2LineHeight,\n Title1LineHeight,\n Subtitle2LineHeight,\n Subtitle1LineHeight,\n LinkLineHeight,\n PlaceholderLineHeight,\n BodyEmphasizedLineHeight,\n BodyEmphasized2LineHeight,\n BodyLineHeight,\n Body2LineHeight,\n GroupLabel1LineHeight,\n ControlLabel1LineHeight,\n ButtonLabel1LineHeight,\n TooltipCaptionLineHeight,\n Information100LightUi,\n Information100DarkUi,\n DigitalGreenDark,\n PowerGreen,\n GridHeaderFamily,\n GridHeaderWeight,\n GridHeaderSize,\n DigitalGreenDark105,\n NiFern,\n NiFernDark1,\n NiHoneyLight,\n NiIndigo,\n NiIndigoDark2,\n NiPlumDark1,\n NiScarlet,\n NiScarletDark1,\n NiScarletDark3,\n NiSea,\n NiSeaLight,\n NiSeaDark2,\n NiSky,\n NiTulip\n} from '@ni/nimble-tokens/dist/styledictionary/js/tokens';\nimport {\n modalBackdropColorThemeColorStatic,\n modalBackdropColorThemeDarkStatic,\n modalBackdropColorThemeLightStatic\n} from './design-tokens-static';\nimport { Theme } from './types';\nimport { tokenNames, styleNameFromTokenName } from './design-token-names';\nimport { theme } from '.';\nimport { hexToRgbaCssColor } from '../utilities/style/colors';\n\n// Color Tokens\nexport const actionRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.actionRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getColorForTheme(element, Black91, Black15, White)));\n\nexport const applicationBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.applicationBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, White, Black85, ForestGreen));\n\nexport const headerBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.headerBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black7, Black88, ForestGreen));\n\nexport const sectionBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.sectionBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black80, ForestGreen));\n\nexport const dividerBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dividerBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black80, ForestGreen));\n\nexport const fillSelectedColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillSelectedColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillSelectedColorForTheme(element), 0.2));\n\nexport const fillSelectedRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillSelectedRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getFillSelectedColorForTheme(element)));\n\nexport const fillHoverSelectedColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillHoverSelectedColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillSelectedColorForTheme(element), 0.15));\n\nexport const fillHoverColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillHoverColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillHoverColorForTheme(element), 0.1));\n\nexport const fillHoverRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillHoverRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getFillHoverColorForTheme(element)));\n\nexport const fillDownColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillDownColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillDownColorForTheme(element), 0.15));\n\nexport const borderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderColor)\n).withDefault((element: HTMLElement) => getDefaultLineColorForTheme(element));\n\nexport const borderRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getDefaultLineColorForTheme(element)));\n\nexport const failColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.failColor)\n).withDefault((element: HTMLElement) => getFailColorForTheme(element));\n\nexport const warningColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.warningColor)\n).withDefault((element: HTMLElement) => getWarningColorForTheme(element));\n\nexport const passColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.passColor)\n).withDefault((element: HTMLElement) => getPassColorForTheme(element));\n\nexport const informationColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.informationColor)\n).withDefault((element: HTMLElement) => getInformationColorForTheme(element));\n\nexport const borderHoverColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderHoverColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, DigitalGreenLight, PowerGreen, White));\n\n// Component Color Tokens\nexport const iconColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.iconColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black91, Black15, White));\n\nexport const modalBackdropColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.modalBackdropColor)\n).withDefault((element: HTMLElement) => getModalBackdropForTheme(element));\n\nexport const popupBorderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.popupBorderColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getColorForTheme(element, Black91, Black15, White), 0.3));\n\nexport const cardBorderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.cardBorderColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getColorForTheme(element, Black91, Black15, White), 0.1));\n\nexport const graphGridlineColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphGridlineColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getColorForTheme(element, Black91, Black15, White), 0.2));\n\nexport const graphTrace1Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace1Color)\n).withDefault((element: HTMLElement) => getColorForTheme(element, NiIndigoDark2, NiSky, White));\n\nexport const graphTrace2Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace2Color)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n NiScarletDark1,\n NiScarlet,\n hexToRgbaCssColor(White, 0.7)\n));\n\nexport const graphTrace3Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace3Color)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n NiFernDark1,\n NiFern,\n hexToRgbaCssColor(White, 0.4)\n));\n\nexport const graphTrace4Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace4Color)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n NiPlumDark1,\n NiSeaLight,\n hexToRgbaCssColor(White, 0.25)\n));\n\nexport const graphTrace5Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace5Color)\n).withDefault((element: HTMLElement) => getColorForTheme(element, NiSeaDark2, NiSea, hexToRgbaCssColor(White, 0.55)));\n\nexport const graphTrace6Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace6Color)\n).withDefault((element: HTMLElement) => getColorForTheme(element, NiTulip, NiTulip, hexToRgbaCssColor(White, 0.85)));\n\nexport const graphTrace7Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace7Color)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n NiScarletDark3,\n NiHoneyLight,\n hexToRgbaCssColor(White, 0.325)\n));\n\nexport const graphTrace8Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace8Color)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n NiIndigo,\n NiIndigo,\n hexToRgbaCssColor(White, 0.625)\n));\n\nexport const tooltipBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.tooltipBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black85, ForestGreen));\n\nexport const tableRowBorderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.tableRowBorderColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black80, ForestGreen));\n\nexport const tagFillColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.tagFillColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getColorForTheme(element, Black91, Black15, White), 0.1));\n\nexport const buttonFillPrimaryColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonFillPrimaryColor)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n hexToRgbaCssColor(Black91, 0.75),\n hexToRgbaCssColor(Black15, 0.3),\n hexToRgbaCssColor(White, 0.3)\n));\n\nexport const buttonPrimaryFontColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonPrimaryFontColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black15, White));\n\nexport const buttonFillAccentColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonFillAccentColor)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenDark,\n DigitalGreenLight,\n hexToRgbaCssColor(White, 0.1)\n));\n\nexport const buttonAccentBlockFontColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonAccentBlockFontColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, White, Black15, White));\n\nexport const buttonAccentOutlineFontColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonAccentOutlineFontColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, DigitalGreenDark105, PowerGreen, White));\n\nexport const buttonBorderAccentOutlineColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonBorderAccentOutlineColor)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenLight,\n PowerGreen,\n hexToRgbaCssColor(White, 0.3)\n));\n\n// Component Sizing Tokens\nexport const controlHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.controlHeight)\n).withDefault('32px');\nexport const controlSlimHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.controlSlimHeight)\n).withDefault('24px');\nexport const smallPadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.smallPadding)\n).withDefault('4px');\nexport const mediumPadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.mediumPadding)\n).withDefault('8px');\nexport const standardPadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.standardPadding)\n).withDefault('16px');\nexport const largePadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.largePadding)\n).withDefault('24px');\nexport const labelHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.labelHeight)\n).withDefault('16px');\nexport const borderWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderWidth)\n).withDefault('1px');\nexport const iconSize = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.iconSize)\n).withDefault('16px');\nexport const drawerWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.drawerWidth)\n).withDefault('784px');\nexport const dialogSmallWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogSmallWidth)\n).withDefault('400px');\nexport const dialogSmallHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogSmallHeight)\n).withDefault('fit-content');\nexport const dialogSmallMaxHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogSmallMaxHeight)\n).withDefault('600px');\nexport const dialogLargeWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogLargeWidth)\n).withDefault('1024px');\nexport const dialogLargeHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogLargeHeight)\n).withDefault('680px');\nexport const dialogLargeMaxHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogLargeMaxHeight)\n).withDefault('680px');\nexport const menuMinWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.menuMinWidth)\n).withDefault('176px');\nexport const bannerGapSize = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.bannerGapSize)\n).withDefault('1px');\n\nexport const spinnerSmallHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.spinnerSmallHeight)\n).withDefault('16px');\nexport const spinnerMediumHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.spinnerMediumHeight)\n).withDefault('32px');\nexport const spinnerLargeHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.spinnerLargeHeight)\n).withDefault('64px');\n\n// Drop Shadow Tokens\nexport const elevation1BoxShadow = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.elevation1BoxShadow)\n).withDefault(\n (element: HTMLElement) => `0px 1px 4px ${hexToRgbaCssColor(\n getColorForTheme(element, Black, Black, Black),\n 0.16\n )}`\n);\n\nexport const elevation2BoxShadow = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.elevation2BoxShadow)\n).withDefault(\n (element: HTMLElement) => `0px 2px 4px ${hexToRgbaCssColor(\n getColorForTheme(element, Black, Black, Black),\n 0.16\n )}`\n);\n\nexport const elevation3BoxShadow = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.elevation3BoxShadow)\n).withDefault(\n (element: HTMLElement) => `0px 4px 8px ${hexToRgbaCssColor(\n getColorForTheme(element, Black, Black, Black),\n 0.3\n )}`\n);\n\n// Font Tokens\nexport const [\n headlineFont,\n headlineFontColor,\n headlineDisabledFontColor,\n headlineFontFamily,\n headlineFontWeight,\n headlineFontSize,\n headlineFontLineHeight\n] = createFontTokens(\n tokenNames.headlineFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Headline1Family,\n Headline1Weight,\n Headline1Size,\n Headline1LineHeight\n);\n\nexport const [\n headlinePlus1Font,\n headlinePlus1FontColor,\n headlinePlus1DisabledFontColor,\n headlinePlus1FontFamily,\n headlinePlus1FontWeight,\n headlinePlus1FontSize,\n headlinePlus1FontLineHeight\n] = createFontTokens(\n tokenNames.headlinePlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Headline2Family,\n Headline2Weight,\n Headline2Size,\n Headline2LineHeight\n);\n\nexport const [\n titlePlus2Font,\n titlePlus2FontColor,\n titlePlus2DisabledFontColor,\n titlePlus2FontFamily,\n titlePlus2FontWeight,\n titlePlus2FontSize,\n titlePlus2FontLineHeight\n] = createFontTokens(\n tokenNames.titlePlus2Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Title3Family,\n Title3Weight,\n Title3Size,\n Title3LineHeight\n);\n\nexport const [\n titlePlus1Font,\n titlePlus1FontColor,\n titlePlus1DisabledFontColor,\n titlePlus1FontFamily,\n titlePlus1FontWeight,\n titlePlus1FontSize,\n titlePlus1FontLineHeight\n] = createFontTokens(\n tokenNames.titlePlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Title2Family,\n Title2Weight,\n Title2Size,\n Title2LineHeight\n);\n\nexport const [\n titleFont,\n titleFontColor,\n titleDisabledFontColor,\n titleFontFamily,\n titleFontWeight,\n titleFontSize,\n titleFontLineHeight\n] = createFontTokens(\n tokenNames.titleFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Title1Family,\n Title1Weight,\n Title1Size,\n Title1LineHeight\n);\n\nexport const [\n subtitlePlus1Font,\n subtitlePlus1FontColor,\n subtitlePlus1DisabledFontColor,\n subtitlePlus1FontFamily,\n subtitlePlus1FontWeight,\n subtitlePlus1FontSize,\n subtitlePlus1FontLineHeight\n] = createFontTokens(\n tokenNames.subtitlePlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Subtitle2Family,\n Subtitle2Weight,\n Subtitle2Size,\n Subtitle2LineHeight\n);\n\nexport const [\n subtitleFont,\n subtitleFontColor,\n subtitleDisabledFontColor,\n subtitleFontFamily,\n subtitleFontWeight,\n subtitleFontSize,\n subtitleFontLineHeight\n] = createFontTokens(\n tokenNames.subtitleFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Subtitle1Family,\n Subtitle1Weight,\n Subtitle1Size,\n Subtitle1LineHeight\n);\n\nexport const [\n linkFont,\n linkFontColor,\n linkDisabledFontColor,\n linkFontFamily,\n linkFontWeight,\n linkFontSize,\n linkFontLineHeight\n] = createFontTokens(\n tokenNames.linkFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight\n);\n\nexport const [\n linkActiveFont,\n linkActiveFontColor,\n linkActiveDisabledFontColor,\n linkActiveFontFamily,\n linkActiveFontWeight,\n linkActiveFontSize,\n linkActiveFontLineHeight\n] = createFontTokens(\n tokenNames.linkActiveFont,\n (element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenLight,\n DigitalGreenLight,\n hexToRgbaCssColor(White, 0.75)\n ),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight\n);\n\nexport const [\n linkProminentFont,\n linkProminentFontColor,\n linkProminentDisabledFontColor,\n linkProminentFontFamily,\n linkProminentFontWeight,\n linkProminentFontSize,\n linkProminentFontLineHeight\n] = createFontTokens(\n tokenNames.linkProminentFont,\n (element: HTMLElement) => getColorForTheme(element, DigitalGreenDark105, PowerGreen, White),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight\n);\n\nexport const [\n linkActiveProminentFont,\n linkActiveProminentFontColor,\n linkActiveProminentDisabledFontColor,\n linkActiveProminentFontFamily,\n linkActiveProminentFontWeight,\n linkActiveProminentFontSize,\n linkActiveProminentFontLineHeight\n] = createFontTokens(\n tokenNames.linkActiveProminentFont,\n (element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenLight,\n DigitalGreenLight,\n hexToRgbaCssColor(White, 0.75)\n ),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight\n);\n\nexport const [\n placeholderFont,\n placeholderFontColor,\n placeholderDisabledFontColor,\n placeholderFontFamily,\n placeholderFontWeight,\n placeholderFontSize,\n placeholderFontLineHeight\n] = createFontTokens(\n tokenNames.placeholderFont,\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.6),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n PlaceholderFamily,\n PlaceholderWeight,\n PlaceholderSize,\n PlaceholderLineHeight\n);\n\nexport const [\n bodyFont,\n bodyFontColor,\n bodyDisabledFontColor,\n bodyFontFamily,\n bodyFontWeight,\n bodyFontSize,\n bodyFontLineHeight\n] = createFontTokens(\n tokenNames.bodyFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyFamily,\n BodyWeight,\n BodySize,\n BodyLineHeight\n);\n\nexport const [\n bodyEmphasizedFont,\n bodyEmphasizedFontColor,\n bodyEmphasizedDisabledFontColor,\n bodyEmphasizedFontFamily,\n bodyEmphasizedFontWeight,\n bodyEmphasizedFontSize,\n bodyEmphasizedFontLineHeight\n] = createFontTokens(\n tokenNames.bodyEmphasizedFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyEmphasizedFamily,\n BodyEmphasizedWeight,\n BodyEmphasizedSize,\n BodyEmphasizedLineHeight\n);\n\nexport const [\n bodyPlus1Font,\n bodyPlus1FontColor,\n bodyPlus1DisabledFontColor,\n bodyPlus1FontFamily,\n bodyPlus1FontWeight,\n bodyPlus1FontSize,\n bodyPlus1FontLineHeight\n] = createFontTokens(\n tokenNames.bodyPlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Body2Family,\n Body2Weight,\n Body2Size,\n Body2LineHeight\n);\n\nexport const [\n bodyPlus1EmphasizedFont,\n bodyPlus1EmphasizedFontColor,\n bodyPlus1EmphasizedDisabledFontColor,\n bodyPlus1EmphasizedFontFamily,\n bodyPlus1EmphasizedFontWeight,\n bodyPlus1EmphasizedFontSize,\n bodyPlus1EmphasizedFontLineHeight\n] = createFontTokens(\n tokenNames.bodyPlus1EmphasizedFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyEmphasized2Family,\n BodyEmphasized2Weight,\n BodyEmphasized2Size,\n BodyEmphasized2LineHeight\n);\n\nexport const [\n groupHeaderFont,\n groupHeaderFontColor,\n groupHeaderDisabledFontColor,\n groupHeaderFontFamily,\n groupHeaderFontWeight,\n groupHeaderFontSize,\n groupHeaderFontLineHeight\n] = createFontTokens(\n tokenNames.groupHeaderFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n GroupLabel1Family,\n GroupLabel1Weight,\n GroupLabel1Size,\n GroupLabel1LineHeight\n);\n\nexport const [\n controlLabelFont,\n controlLabelFontColor,\n controlLabelDisabledFontColor,\n controlLabelFontFamily,\n controlLabelFontWeight,\n controlLabelFontSize,\n controlLabelFontLineHeight\n] = createFontTokens(\n tokenNames.controlLabelFont,\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.6),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n ControlLabel1Family,\n ControlLabel1Weight,\n ControlLabel1Size,\n ControlLabel1LineHeight\n);\n\nexport const [\n buttonLabelFont,\n buttonLabelFontColor,\n buttonLabelDisabledFontColor,\n buttonLabelFontFamily,\n buttonLabelFontWeight,\n buttonLabelFontSize,\n buttonLabelFontLineHeight\n] = createFontTokens(\n tokenNames.buttonLabelFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n ButtonLabel1Family,\n ButtonLabel1Weight,\n ButtonLabel1Size,\n ButtonLabel1LineHeight\n);\n\nexport const [\n tooltipCaptionFont,\n tooltipCaptionFontColor,\n tooltipCaptionDisabledFontColor,\n tooltipCaptionFontFamily,\n tooltipCaptionFontWeight,\n tooltipCaptionFontSize,\n tooltipCaptionFontLineHeight\n] = createFontTokens(\n tokenNames.tooltipCaptionFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n TooltipCaptionFamily,\n TooltipCaptionWeight,\n TooltipCaptionSize,\n TooltipCaptionLineHeight\n);\n\nexport const [\n errorTextFont,\n errorTextFontColor,\n errorTextDisabledFontColor,\n errorTextFontFamily,\n errorTextFontWeight,\n errorTextFontSize,\n errorTextFontLineHeight\n] = createFontTokens(\n tokenNames.errorTextFont,\n (element: HTMLElement) => getFailColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getFailColorForTheme(element), 0.3),\n ErrorLightUiFamily,\n ErrorLightUiWeight,\n ErrorLightUiSize,\n TooltipCaptionLineHeight\n);\n\nexport const [\n tableHeaderFont,\n tableHeaderFontColor,\n tableHeaderDisabledFontColor,\n tableHeaderFontFamily,\n tableHeaderFontWeight,\n tableHeaderFontSize,\n tableHeaderFontLineHeight\n] = createFontTokens(\n tokenNames.tableHeaderFont,\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.6),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n GridHeaderFamily,\n GridHeaderWeight,\n GridHeaderSize,\n TooltipCaptionLineHeight\n);\n\nexport const [\n mentionFont,\n mentionFontColor,\n mentionDisabledFontColor,\n mentionFontFamily,\n mentionFontWeight,\n mentionFontSize,\n mentionFontLineHeight\n] = createFontTokens(\n tokenNames.mentionFont,\n (element: HTMLElement) => getColorForTheme(element, DigitalGreenDark, PowerGreen, PowerGreen),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyFamily,\n BodyEmphasizedWeight,\n BodySize,\n BodyLineHeight\n);\n\n// Font Transform Tokens\nexport const groupHeaderTextTransform = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.groupHeaderTextTransform)\n).withDefault('uppercase');\n\n// Animation Tokens\nexport const smallDelay = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.smallDelay)\n).withDefault(SmallDelay);\nexport const mediumDelay = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.mediumDelay)\n).withDefault(MediumDelay);\nexport const largeDelay = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.largeDelay)\n).withDefault(LargeDelay);\n\n// Private helpers functions\nfunction hexToRgbPartial(hexValue: string): string {\n const { r, g, b } = parseColorHexRGB(hexValue)!;\n return `${r * 255}, ${g * 255}, ${b * 255}`;\n}\n\nfunction createFontTokens(\n fontTokenName: string,\n colorFunction: (element: HTMLElement) => string,\n disabledColorFunction: (element: HTMLElement) => string,\n family: string,\n weight: string,\n size: string,\n lineHeight: string\n): readonly [\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>\n ] {\n if (\n fontTokenName === ''\n || family === ''\n || weight === ''\n || size === ''\n || lineHeight === ''\n ) {\n throw new Error(\n 'createFontTokens parameter unexpectedly set to empty string'\n );\n }\n\n const familyWithFallback = `${family}, ${family} Fallback`;\n const fontToken = DesignToken.create<string>(\n styleNameFromTokenName(fontTokenName)\n ).withDefault(`${weight} ${size}/${lineHeight} ${familyWithFallback}`);\n\n const fontNameParts = fontTokenName.split('-font');\n const tokenPrefixWithoutFont = fontNameParts[0];\n if (tokenPrefixWithoutFont === undefined || fontNameParts[1] !== '') {\n throw new Error(\n `fontTokenName value of ${fontTokenName} did not have the expected '-font' suffix`\n );\n }\n\n const fontColorToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-color`)\n ).withDefault((element: HTMLElement) => colorFunction(element));\n\n const fontDisabledColorToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-disabled-font-color`)\n ).withDefault((element: HTMLElement) => disabledColorFunction(element));\n\n const fontFamilyToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-family`)\n ).withDefault(familyWithFallback);\n\n const fontWeightToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-weight`)\n ).withDefault(weight);\n\n const fontSizeToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-size`)\n ).withDefault(size);\n\n const fontLineHeightToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-line-height`)\n ).withDefault(lineHeight);\n\n return [\n fontToken,\n fontColorToken,\n fontDisabledColorToken,\n fontFamilyToken,\n fontWeightToken,\n fontSizeToken,\n fontLineHeightToken\n ] as const;\n}\n\nfunction getColorForTheme(\n element: HTMLElement,\n lightThemeColor: string,\n darkThemeColor: string,\n colorThemeColor: string\n): string {\n switch (theme.getValueFor(element)) {\n case Theme.light:\n return lightThemeColor;\n case Theme.dark:\n return darkThemeColor;\n case Theme.color:\n return colorThemeColor;\n default:\n return lightThemeColor;\n }\n}\n\nfunction getWarningColorForTheme(element: HTMLElement): string {\n return getColorForTheme(\n element,\n Warning100LightUi,\n Warning100DarkUi,\n White\n );\n}\n\nfunction getFailColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Fail100LightUi, Fail100DarkUi, White);\n}\n\nfunction getPassColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Pass100LightUi, Pass100DarkUi, White);\n}\n\nfunction getInformationColorForTheme(element: HTMLElement): string {\n return getColorForTheme(\n element,\n Information100LightUi,\n Information100DarkUi,\n White\n );\n}\n\nfunction getDefaultLineColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getDefaultFontColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getFillSelectedColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, DigitalGreenLight, PowerGreen, White);\n}\n\nfunction getFillHoverColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getFillDownColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getModalBackdropForTheme(element: HTMLElement): string {\n switch (theme.getValueFor(element)) {\n case Theme.light:\n return modalBackdropColorThemeLightStatic;\n case Theme.dark:\n return modalBackdropColorThemeDarkStatic;\n case Theme.color:\n return modalBackdropColorThemeColorStatic;\n default:\n return modalBackdropColorThemeLightStatic;\n }\n}\n"]}
1
+ {"version":3,"file":"design-tokens.js","sourceRoot":"","sources":["../../../src/theme-provider/design-tokens.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSDesignToken, DesignToken } from '@microsoft/fast-foundation';\nimport { parseColorHexRGB } from '@microsoft/fast-colors';\nimport {\n Black,\n Black7,\n Black15,\n Black80,\n Black85,\n Black88,\n Black91,\n White,\n ForestGreen,\n DigitalGreenLight,\n Fail100LightUi,\n SmallDelay,\n MediumDelay,\n LargeDelay,\n Fail100DarkUi,\n Warning100LightUi,\n Warning100DarkUi,\n Pass100LightUi,\n Pass100DarkUi,\n BodyFamily,\n BodySize,\n BodyWeight,\n Body2Family,\n Body2Size,\n Body2Weight,\n ControlLabel1Family,\n ControlLabel1Size,\n ControlLabel1Weight,\n GroupLabel1Family,\n GroupLabel1Size,\n GroupLabel1Weight,\n Headline2Size,\n Headline2Family,\n Headline2Weight,\n Headline1Size,\n Headline1Family,\n Headline1Weight,\n Title3Size,\n Title3Family,\n Title3Weight,\n Title2Size,\n Title2Family,\n Title2Weight,\n Title1Size,\n Title1Family,\n Title1Weight,\n Subtitle2Size,\n Subtitle2Family,\n Subtitle2Weight,\n Subtitle1Size,\n Subtitle1Family,\n Subtitle1Weight,\n LinkLightUiSize,\n LinkLightUiFamily,\n LinkLightUiWeight,\n PlaceholderSize,\n PlaceholderFamily,\n PlaceholderWeight,\n BodyEmphasizedSize,\n BodyEmphasizedFamily,\n BodyEmphasizedWeight,\n BodyEmphasized2Size,\n BodyEmphasized2Family,\n BodyEmphasized2Weight,\n ButtonLabel1Size,\n ButtonLabel1Family,\n ButtonLabel1Weight,\n TooltipCaptionSize,\n TooltipCaptionFamily,\n TooltipCaptionWeight,\n ErrorLightUiSize,\n ErrorLightUiFamily,\n ErrorLightUiWeight,\n Headline2LineHeight,\n Headline1LineHeight,\n Title3LineHeight,\n Title2LineHeight,\n Title1LineHeight,\n Subtitle2LineHeight,\n Subtitle1LineHeight,\n LinkLineHeight,\n PlaceholderLineHeight,\n BodyEmphasizedLineHeight,\n BodyEmphasized2LineHeight,\n BodyLineHeight,\n Body2LineHeight,\n GroupLabel1LineHeight,\n ControlLabel1LineHeight,\n ButtonLabel1LineHeight,\n TooltipCaptionLineHeight,\n Information100LightUi,\n Information100DarkUi,\n DigitalGreenDark,\n PowerGreen,\n GridHeaderFamily,\n GridHeaderWeight,\n GridHeaderSize,\n DigitalGreenDark105,\n NiFern,\n NiFernDark1,\n NiHoneyLight,\n NiIndigo,\n NiIndigoDark2,\n NiPlumDark1,\n NiScarlet,\n NiScarletDark1,\n NiScarletDark3,\n NiSea,\n NiSeaLight,\n NiSeaDark2,\n NiSky,\n NiTulip\n} from '@ni/nimble-tokens/dist/styledictionary/js/tokens';\nimport {\n modalBackdropColorThemeColorStatic,\n modalBackdropColorThemeDarkStatic,\n modalBackdropColorThemeLightStatic\n} from './design-tokens-static';\nimport { Theme } from './types';\nimport { tokenNames, styleNameFromTokenName } from './design-token-names';\nimport { theme } from '.';\nimport { hexToRgbaCssColor } from '../utilities/style/colors';\n\n// Color Tokens\nexport const actionRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.actionRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getColorForTheme(element, Black91, Black15, White)));\n\nexport const applicationBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.applicationBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, White, Black85, ForestGreen));\n\nexport const headerBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.headerBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black7, Black88, ForestGreen));\n\nexport const sectionBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.sectionBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black80, ForestGreen));\n\nexport const dividerBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dividerBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black80, ForestGreen));\n\nexport const fillSelectedColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillSelectedColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillSelectedColorForTheme(element), 0.2));\n\nexport const fillSelectedRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillSelectedRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getFillSelectedColorForTheme(element)));\n\nexport const fillHoverSelectedColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillHoverSelectedColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillSelectedColorForTheme(element), 0.15));\n\nexport const fillHoverColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillHoverColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillHoverColorForTheme(element), 0.1));\n\nexport const fillHoverRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillHoverRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getFillHoverColorForTheme(element)));\n\nexport const fillDownColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.fillDownColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getFillDownColorForTheme(element), 0.15));\n\nexport const borderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderColor)\n).withDefault((element: HTMLElement) => getDefaultLineColorForTheme(element));\n\nexport const borderRgbPartialColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderRgbPartialColor)\n).withDefault((element: HTMLElement) => hexToRgbPartial(getDefaultLineColorForTheme(element)));\n\nexport const failColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.failColor)\n).withDefault((element: HTMLElement) => getFailColorForTheme(element));\n\nexport const warningColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.warningColor)\n).withDefault((element: HTMLElement) => getWarningColorForTheme(element));\n\nexport const passColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.passColor)\n).withDefault((element: HTMLElement) => getPassColorForTheme(element));\n\nexport const informationColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.informationColor)\n).withDefault((element: HTMLElement) => getInformationColorForTheme(element));\n\nexport const borderHoverColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderHoverColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, DigitalGreenLight, PowerGreen, White));\n\n// Component Color Tokens\nexport const iconColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.iconColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black91, Black15, White));\n\nexport const modalBackdropColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.modalBackdropColor)\n).withDefault((element: HTMLElement) => getModalBackdropForTheme(element));\n\nexport const popupBorderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.popupBorderColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getColorForTheme(element, Black91, Black15, White), 0.3));\n\nexport const cardBorderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.cardBorderColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getColorForTheme(element, Black91, Black15, White), 0.1));\n\nexport const graphGridlineColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphGridlineColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getColorForTheme(element, Black91, Black15, White), 0.2));\n\nexport const graphTrace1Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace1Color)\n).withDefault((element: HTMLElement) => getColorForTheme(element, NiIndigoDark2, NiSky, White));\n\nexport const graphTrace2Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace2Color)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n NiScarletDark1,\n NiScarlet,\n hexToRgbaCssColor(White, 0.7)\n));\n\nexport const graphTrace3Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace3Color)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n NiFernDark1,\n NiFern,\n hexToRgbaCssColor(White, 0.4)\n));\n\nexport const graphTrace4Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace4Color)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n NiPlumDark1,\n NiSeaLight,\n hexToRgbaCssColor(White, 0.25)\n));\n\nexport const graphTrace5Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace5Color)\n).withDefault((element: HTMLElement) => getColorForTheme(element, NiSeaDark2, NiSea, hexToRgbaCssColor(White, 0.55)));\n\nexport const graphTrace6Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace6Color)\n).withDefault((element: HTMLElement) => getColorForTheme(element, NiTulip, NiTulip, hexToRgbaCssColor(White, 0.85)));\n\nexport const graphTrace7Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace7Color)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n NiScarletDark3,\n NiHoneyLight,\n hexToRgbaCssColor(White, 0.325)\n));\n\nexport const graphTrace8Color = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.graphTrace8Color)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n NiIndigo,\n NiIndigo,\n hexToRgbaCssColor(White, 0.625)\n));\n\nexport const tooltipBackgroundColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.tooltipBackgroundColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black85, ForestGreen));\n\nexport const tableRowBorderColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.tableRowBorderColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black80, ForestGreen));\n\nexport const tagFillColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.tagFillColor)\n).withDefault((element: HTMLElement) => hexToRgbaCssColor(getColorForTheme(element, Black91, Black15, White), 0.1));\n\nexport const buttonFillPrimaryColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonFillPrimaryColor)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n hexToRgbaCssColor(Black91, 0.75),\n hexToRgbaCssColor(Black15, 0.3),\n hexToRgbaCssColor(White, 0.3)\n));\n\nexport const buttonPrimaryFontColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonPrimaryFontColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, Black15, Black15, White));\n\nexport const buttonFillAccentColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonFillAccentColor)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenDark,\n DigitalGreenLight,\n hexToRgbaCssColor(White, 0.1)\n));\n\nexport const buttonAccentBlockFontColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonAccentBlockFontColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, White, Black15, White));\n\nexport const buttonAccentOutlineFontColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonAccentOutlineFontColor)\n).withDefault((element: HTMLElement) => getColorForTheme(element, DigitalGreenDark105, PowerGreen, White));\n\nexport const buttonBorderAccentOutlineColor = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.buttonBorderAccentOutlineColor)\n).withDefault((element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenLight,\n PowerGreen,\n hexToRgbaCssColor(White, 0.3)\n));\n\n// Component Sizing Tokens\nexport const controlHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.controlHeight)\n).withDefault('32px');\nexport const controlSlimHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.controlSlimHeight)\n).withDefault('24px');\nexport const smallPadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.smallPadding)\n).withDefault('4px');\nexport const mediumPadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.mediumPadding)\n).withDefault('8px');\nexport const standardPadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.standardPadding)\n).withDefault('16px');\nexport const largePadding = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.largePadding)\n).withDefault('24px');\nexport const labelHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.labelHeight)\n).withDefault('16px');\nexport const borderWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.borderWidth)\n).withDefault('1px');\nexport const iconSize = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.iconSize)\n).withDefault('16px');\nexport const drawerWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.drawerWidth)\n).withDefault('784px');\nexport const dialogSmallWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogSmallWidth)\n).withDefault('400px');\nexport const dialogSmallHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogSmallHeight)\n).withDefault('fit-content');\nexport const dialogSmallMaxHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogSmallMaxHeight)\n).withDefault('600px');\nexport const dialogLargeWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogLargeWidth)\n).withDefault('1024px');\nexport const dialogLargeHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogLargeHeight)\n).withDefault('680px');\nexport const dialogLargeMaxHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.dialogLargeMaxHeight)\n).withDefault('680px');\nexport const menuMinWidth = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.menuMinWidth)\n).withDefault('176px');\nexport const bannerGapSize = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.bannerGapSize)\n).withDefault('1px');\n\nexport const spinnerSmallHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.spinnerSmallHeight)\n).withDefault('16px');\nexport const spinnerMediumHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.spinnerMediumHeight)\n).withDefault('32px');\nexport const spinnerLargeHeight = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.spinnerLargeHeight)\n).withDefault('64px');\n\n// Drop Shadow Tokens\nexport const elevation1BoxShadow = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.elevation1BoxShadow)\n).withDefault(\n (element: HTMLElement) => `0px 1px 4px ${hexToRgbaCssColor(\n getColorForTheme(element, Black, Black, Black),\n 0.16\n )}`\n);\n\nexport const elevation2BoxShadow = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.elevation2BoxShadow)\n).withDefault(\n (element: HTMLElement) => `0px 2px 4px ${hexToRgbaCssColor(\n getColorForTheme(element, Black, Black, Black),\n 0.16\n )}`\n);\n\nexport const elevation3BoxShadow = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.elevation3BoxShadow)\n).withDefault(\n (element: HTMLElement) => `0px 4px 8px ${hexToRgbaCssColor(\n getColorForTheme(element, Black, Black, Black),\n 0.3\n )}`\n);\n\n// Font Tokens\nexport const [\n headlineFont,\n headlineFontColor,\n headlineDisabledFontColor,\n headlineFontFamily,\n headlineFontWeight,\n headlineFontSize,\n headlineFontLineHeight\n] = createFontTokens(\n tokenNames.headlineFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Headline1Family,\n Headline1Weight,\n Headline1Size,\n Headline1LineHeight\n);\n\nexport const [\n headlinePlus1Font,\n headlinePlus1FontColor,\n headlinePlus1DisabledFontColor,\n headlinePlus1FontFamily,\n headlinePlus1FontWeight,\n headlinePlus1FontSize,\n headlinePlus1FontLineHeight\n] = createFontTokens(\n tokenNames.headlinePlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Headline2Family,\n Headline2Weight,\n Headline2Size,\n Headline2LineHeight\n);\n\nexport const [\n titlePlus2Font,\n titlePlus2FontColor,\n titlePlus2DisabledFontColor,\n titlePlus2FontFamily,\n titlePlus2FontWeight,\n titlePlus2FontSize,\n titlePlus2FontLineHeight\n] = createFontTokens(\n tokenNames.titlePlus2Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Title3Family,\n Title3Weight,\n Title3Size,\n Title3LineHeight\n);\n\nexport const [\n titlePlus1Font,\n titlePlus1FontColor,\n titlePlus1DisabledFontColor,\n titlePlus1FontFamily,\n titlePlus1FontWeight,\n titlePlus1FontSize,\n titlePlus1FontLineHeight\n] = createFontTokens(\n tokenNames.titlePlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Title2Family,\n Title2Weight,\n Title2Size,\n Title2LineHeight\n);\n\nexport const [\n titleFont,\n titleFontColor,\n titleDisabledFontColor,\n titleFontFamily,\n titleFontWeight,\n titleFontSize,\n titleFontLineHeight\n] = createFontTokens(\n tokenNames.titleFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Title1Family,\n Title1Weight,\n Title1Size,\n Title1LineHeight\n);\n\nexport const [\n subtitlePlus1Font,\n subtitlePlus1FontColor,\n subtitlePlus1DisabledFontColor,\n subtitlePlus1FontFamily,\n subtitlePlus1FontWeight,\n subtitlePlus1FontSize,\n subtitlePlus1FontLineHeight\n] = createFontTokens(\n tokenNames.subtitlePlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Subtitle2Family,\n Subtitle2Weight,\n Subtitle2Size,\n Subtitle2LineHeight\n);\n\nexport const [\n subtitleFont,\n subtitleFontColor,\n subtitleDisabledFontColor,\n subtitleFontFamily,\n subtitleFontWeight,\n subtitleFontSize,\n subtitleFontLineHeight\n] = createFontTokens(\n tokenNames.subtitleFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Subtitle1Family,\n Subtitle1Weight,\n Subtitle1Size,\n Subtitle1LineHeight\n);\n\nexport const [\n linkFont,\n linkFontColor,\n linkDisabledFontColor,\n linkFontFamily,\n linkFontWeight,\n linkFontSize,\n linkFontLineHeight\n] = createFontTokens(\n tokenNames.linkFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight\n);\n\nexport const [\n linkActiveFont,\n linkActiveFontColor,\n linkActiveDisabledFontColor,\n linkActiveFontFamily,\n linkActiveFontWeight,\n linkActiveFontSize,\n linkActiveFontLineHeight\n] = createFontTokens(\n tokenNames.linkActiveFont,\n (element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenLight,\n DigitalGreenLight,\n hexToRgbaCssColor(White, 0.75)\n ),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight\n);\n\nexport const [\n linkProminentFont,\n linkProminentFontColor,\n linkProminentDisabledFontColor,\n linkProminentFontFamily,\n linkProminentFontWeight,\n linkProminentFontSize,\n linkProminentFontLineHeight\n] = createFontTokens(\n tokenNames.linkProminentFont,\n (element: HTMLElement) => getColorForTheme(element, DigitalGreenDark105, PowerGreen, White),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight\n);\n\nexport const [\n linkActiveProminentFont,\n linkActiveProminentFontColor,\n linkActiveProminentDisabledFontColor,\n linkActiveProminentFontFamily,\n linkActiveProminentFontWeight,\n linkActiveProminentFontSize,\n linkActiveProminentFontLineHeight\n] = createFontTokens(\n tokenNames.linkActiveProminentFont,\n (element: HTMLElement) => getColorForTheme(\n element,\n DigitalGreenLight,\n DigitalGreenLight,\n hexToRgbaCssColor(White, 0.75)\n ),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n LinkLightUiFamily,\n LinkLightUiWeight,\n LinkLightUiSize,\n LinkLineHeight\n);\n\nexport const [\n placeholderFont,\n placeholderFontColor,\n placeholderDisabledFontColor,\n placeholderFontFamily,\n placeholderFontWeight,\n placeholderFontSize,\n placeholderFontLineHeight\n] = createFontTokens(\n tokenNames.placeholderFont,\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.6),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n PlaceholderFamily,\n PlaceholderWeight,\n PlaceholderSize,\n PlaceholderLineHeight\n);\n\nexport const [\n bodyFont,\n bodyFontColor,\n bodyDisabledFontColor,\n bodyFontFamily,\n bodyFontWeight,\n bodyFontSize,\n bodyFontLineHeight\n] = createFontTokens(\n tokenNames.bodyFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyFamily,\n BodyWeight,\n BodySize,\n BodyLineHeight\n);\n\nexport const [\n bodyEmphasizedFont,\n bodyEmphasizedFontColor,\n bodyEmphasizedDisabledFontColor,\n bodyEmphasizedFontFamily,\n bodyEmphasizedFontWeight,\n bodyEmphasizedFontSize,\n bodyEmphasizedFontLineHeight\n] = createFontTokens(\n tokenNames.bodyEmphasizedFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyEmphasizedFamily,\n BodyEmphasizedWeight,\n BodyEmphasizedSize,\n BodyEmphasizedLineHeight\n);\n\nexport const [\n bodyPlus1Font,\n bodyPlus1FontColor,\n bodyPlus1DisabledFontColor,\n bodyPlus1FontFamily,\n bodyPlus1FontWeight,\n bodyPlus1FontSize,\n bodyPlus1FontLineHeight\n] = createFontTokens(\n tokenNames.bodyPlus1Font,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n Body2Family,\n Body2Weight,\n Body2Size,\n Body2LineHeight\n);\n\nexport const [\n bodyPlus1EmphasizedFont,\n bodyPlus1EmphasizedFontColor,\n bodyPlus1EmphasizedDisabledFontColor,\n bodyPlus1EmphasizedFontFamily,\n bodyPlus1EmphasizedFontWeight,\n bodyPlus1EmphasizedFontSize,\n bodyPlus1EmphasizedFontLineHeight\n] = createFontTokens(\n tokenNames.bodyPlus1EmphasizedFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyEmphasized2Family,\n BodyEmphasized2Weight,\n BodyEmphasized2Size,\n BodyEmphasized2LineHeight\n);\n\nexport const [\n groupHeaderFont,\n groupHeaderFontColor,\n groupHeaderDisabledFontColor,\n groupHeaderFontFamily,\n groupHeaderFontWeight,\n groupHeaderFontSize,\n groupHeaderFontLineHeight\n] = createFontTokens(\n tokenNames.groupHeaderFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n GroupLabel1Family,\n GroupLabel1Weight,\n GroupLabel1Size,\n GroupLabel1LineHeight\n);\n\nexport const [\n controlLabelFont,\n controlLabelFontColor,\n controlLabelDisabledFontColor,\n controlLabelFontFamily,\n controlLabelFontWeight,\n controlLabelFontSize,\n controlLabelFontLineHeight\n] = createFontTokens(\n tokenNames.controlLabelFont,\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.6),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n ControlLabel1Family,\n ControlLabel1Weight,\n ControlLabel1Size,\n ControlLabel1LineHeight\n);\n\nexport const [\n buttonLabelFont,\n buttonLabelFontColor,\n buttonLabelDisabledFontColor,\n buttonLabelFontFamily,\n buttonLabelFontWeight,\n buttonLabelFontSize,\n buttonLabelFontLineHeight\n] = createFontTokens(\n tokenNames.buttonLabelFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n ButtonLabel1Family,\n ButtonLabel1Weight,\n ButtonLabel1Size,\n ButtonLabel1LineHeight\n);\n\nexport const [\n tooltipCaptionFont,\n tooltipCaptionFontColor,\n tooltipCaptionDisabledFontColor,\n tooltipCaptionFontFamily,\n tooltipCaptionFontWeight,\n tooltipCaptionFontSize,\n tooltipCaptionFontLineHeight\n] = createFontTokens(\n tokenNames.tooltipCaptionFont,\n (element: HTMLElement) => getDefaultFontColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n TooltipCaptionFamily,\n TooltipCaptionWeight,\n TooltipCaptionSize,\n TooltipCaptionLineHeight\n);\n\nexport const [\n errorTextFont,\n errorTextFontColor,\n errorTextDisabledFontColor,\n errorTextFontFamily,\n errorTextFontWeight,\n errorTextFontSize,\n errorTextFontLineHeight\n] = createFontTokens(\n tokenNames.errorTextFont,\n (element: HTMLElement) => getFailColorForTheme(element),\n (element: HTMLElement) => hexToRgbaCssColor(getFailColorForTheme(element), 0.3),\n ErrorLightUiFamily,\n ErrorLightUiWeight,\n ErrorLightUiSize,\n TooltipCaptionLineHeight\n);\n\nexport const [\n tableHeaderFont,\n tableHeaderFontColor,\n tableHeaderDisabledFontColor,\n tableHeaderFontFamily,\n tableHeaderFontWeight,\n tableHeaderFontSize,\n tableHeaderFontLineHeight\n] = createFontTokens(\n tokenNames.tableHeaderFont,\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.6),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n GridHeaderFamily,\n GridHeaderWeight,\n GridHeaderSize,\n TooltipCaptionLineHeight\n);\n\nexport const [\n mentionFont,\n mentionFontColor,\n mentionDisabledFontColor,\n mentionFontFamily,\n mentionFontWeight,\n mentionFontSize,\n mentionFontLineHeight\n] = createFontTokens(\n tokenNames.mentionFont,\n (element: HTMLElement) => getColorForTheme(element, DigitalGreenDark, PowerGreen, PowerGreen),\n (element: HTMLElement) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3),\n BodyFamily,\n BodyEmphasizedWeight,\n BodySize,\n BodyLineHeight\n);\n\n// Font Transform Tokens\nexport const groupHeaderTextTransform = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.groupHeaderTextTransform)\n).withDefault('uppercase');\n\n// Animation Tokens\nexport const smallDelay = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.smallDelay)\n).withDefault(SmallDelay);\nexport const mediumDelay = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.mediumDelay)\n).withDefault(MediumDelay);\nexport const largeDelay = DesignToken.create<string>(\n styleNameFromTokenName(tokenNames.largeDelay)\n).withDefault(LargeDelay);\n\n// Private helpers functions\nfunction hexToRgbPartial(hexValue: string): string {\n const { r, g, b } = parseColorHexRGB(hexValue)!;\n return `${r * 255}, ${g * 255}, ${b * 255}`;\n}\n\nfunction createFontTokens(\n fontTokenName: string,\n colorFunction: (element: HTMLElement) => string,\n disabledColorFunction: (element: HTMLElement) => string,\n family: string,\n weight: string,\n size: string,\n lineHeight: string\n): readonly [\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>,\n CSSDesignToken<string>\n ] {\n if (\n fontTokenName === ''\n || family === ''\n || weight === ''\n || size === ''\n || lineHeight === ''\n ) {\n throw new Error(\n 'createFontTokens parameter unexpectedly set to empty string'\n );\n }\n\n const familyWithFallback = `${family}, ${family} Fallback`;\n const fontToken = DesignToken.create<string>(\n styleNameFromTokenName(fontTokenName)\n ).withDefault(`${weight} ${size}/${lineHeight} ${familyWithFallback}`);\n\n const fontNameParts = fontTokenName.split('-font');\n const tokenPrefixWithoutFont = fontNameParts[0];\n if (tokenPrefixWithoutFont === undefined || fontNameParts[1] !== '') {\n throw new Error(\n `fontTokenName value of ${fontTokenName} did not have the expected '-font' suffix`\n );\n }\n\n const fontColorToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-color`)\n ).withDefault((element: HTMLElement) => colorFunction(element));\n\n const fontDisabledColorToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-disabled-font-color`)\n ).withDefault((element: HTMLElement) => disabledColorFunction(element));\n\n const fontFamilyToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-family`)\n ).withDefault(familyWithFallback);\n\n const fontWeightToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-weight`)\n ).withDefault(weight);\n\n const fontSizeToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-size`)\n ).withDefault(size);\n\n const fontLineHeightToken = DesignToken.create<string>(\n styleNameFromTokenName(`${tokenPrefixWithoutFont}-font-line-height`)\n ).withDefault(lineHeight);\n\n return [\n fontToken,\n fontColorToken,\n fontDisabledColorToken,\n fontFamilyToken,\n fontWeightToken,\n fontSizeToken,\n fontLineHeightToken\n ] as const;\n}\n\nfunction getColorForTheme(\n element: HTMLElement,\n lightThemeColor: string,\n darkThemeColor: string,\n colorThemeColor: string\n): string {\n switch (theme.getValueFor(element)) {\n case Theme.light:\n return lightThemeColor;\n case Theme.dark:\n return darkThemeColor;\n case Theme.color:\n return colorThemeColor;\n default:\n return lightThemeColor;\n }\n}\n\nfunction getWarningColorForTheme(element: HTMLElement): string {\n return getColorForTheme(\n element,\n Warning100LightUi,\n Warning100DarkUi,\n White\n );\n}\n\nfunction getFailColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Fail100LightUi, Fail100DarkUi, White);\n}\n\nfunction getPassColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Pass100LightUi, Pass100DarkUi, White);\n}\n\nfunction getInformationColorForTheme(element: HTMLElement): string {\n return getColorForTheme(\n element,\n Information100LightUi,\n Information100DarkUi,\n White\n );\n}\n\nfunction getDefaultLineColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getDefaultFontColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getFillSelectedColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, DigitalGreenLight, PowerGreen, White);\n}\n\nfunction getFillHoverColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getFillDownColorForTheme(element: HTMLElement): string {\n return getColorForTheme(element, Black91, Black15, White);\n}\n\nfunction getModalBackdropForTheme(element: HTMLElement): string {\n switch (theme.getValueFor(element)) {\n case Theme.light:\n return modalBackdropColorThemeLightStatic;\n case Theme.dark:\n return modalBackdropColorThemeDarkStatic;\n case Theme.color:\n return modalBackdropColorThemeColorStatic;\n default:\n return modalBackdropColorThemeLightStatic;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/theme-provider/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DesignSystem,\n DesignToken,\n FoundationElement\n} from '@microsoft/fast-foundation';\nimport { attr } from '@microsoft/fast-element';\nimport { Direction } from '@microsoft/fast-web-utilities';\nimport { template } from './template';\nimport { styles } from './styles';\nimport { Theme } from './types';\nimport { documentElementLang } from '../utilities/models/document-element-lang';\nimport type { ValidityObject } from '../utilities/models/validator';\n\nexport { Direction };\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-theme-provider': ThemeProvider;\n }\n}\n\nfunction isValidLang(value: string): boolean {\n try {\n // We are relying on the Locale constructor to validate the value\n // eslint-disable-next-line no-new\n new Intl.Locale(value);\n return true;\n } catch (e) {\n return false;\n }\n}\n\nexport const lang = DesignToken.create<string>({\n name: 'lang',\n cssCustomPropertyName: null\n}).withDefault((): string => (isValidLang(documentElementLang.lang) ? documentElementLang.lang : 'en-US'));\n\n// Not represented as a CSS Custom Property, instead available\n// as an attribute of theme provider.\nexport const direction = DesignToken.create<Direction>({\n name: 'direction',\n cssCustomPropertyName: null\n}).withDefault(Direction.ltr);\n\nexport const theme = DesignToken.create<Theme>({\n name: 'theme',\n cssCustomPropertyName: null\n}).withDefault(Theme.light);\n\n/**\n * The ThemeProvider implementation. Add this component to the page and set its `theme` attribute to control\n * the values of design tokens that provide colors and fonts as CSS custom properties to any descendant components.\n * @internal\n */\nexport class ThemeProvider extends FoundationElement {\n @attr()\n public override lang!: string;\n\n @attr()\n public direction?: Direction;\n\n @attr()\n public theme: Theme = Theme.light;\n\n public get validity(): ValidityObject {\n return {\n invalidLang: this.langIsInvalid\n };\n }\n\n private langIsInvalid = false;\n\n public checkValidity(): boolean {\n return !this.langIsInvalid;\n }\n\n public langChanged(\n _prev: string | undefined | null,\n next: string | undefined | null\n ): void {\n if (next === null || next === undefined) {\n lang.deleteValueFor(this);\n this.langIsInvalid = false;\n return;\n }\n\n if (isValidLang(next)) {\n lang.setValueFor(this, next);\n this.langIsInvalid = false;\n } else {\n lang.deleteValueFor(this);\n this.langIsInvalid = true;\n }\n }\n\n public directionChanged(\n _prev: Direction | undefined | null,\n next: Direction | undefined | null\n ): void {\n if (next !== undefined && next !== null) {\n direction.setValueFor(this, next);\n } else {\n direction.deleteValueFor(this);\n }\n }\n\n public themeChanged(\n _prev: Theme | undefined | null,\n next: Theme | undefined | null\n ): void {\n if (next !== undefined && next !== null) {\n theme.setValueFor(this, next);\n } else {\n theme.deleteValueFor(this);\n }\n }\n}\n\nconst nimbleDesignSystemProvider = ThemeProvider.compose({\n baseName: 'theme-provider',\n styles,\n template\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleDesignSystemProvider());\nexport const themeProviderTag = 'nimble-theme-provider';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/theme-provider/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DesignSystem,\n DesignToken,\n FoundationElement\n} from '@microsoft/fast-foundation';\nimport { attr } from '@microsoft/fast-element';\nimport { Direction } from '@microsoft/fast-web-utilities';\nimport { template } from './template';\nimport { styles } from './styles';\nimport { Theme } from './types';\nimport { documentElementLang } from '../utilities/models/document-element-lang';\nimport type { ValidityObject } from '../utilities/models/validator';\n\nexport { Direction };\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-theme-provider': ThemeProvider;\n }\n}\n\nfunction isValidLang(value: string): boolean {\n try {\n // We are relying on the Locale constructor to validate the value\n // eslint-disable-next-line no-new\n new Intl.Locale(value);\n return true;\n } catch (e) {\n return false;\n }\n}\n\nexport const lang = DesignToken.create<string>({\n name: 'lang',\n cssCustomPropertyName: null\n}).withDefault((): string => (isValidLang(documentElementLang.lang) ? documentElementLang.lang : 'en-US'));\n\n// Not represented as a CSS Custom Property, instead available\n// as an attribute of theme provider.\nexport const direction = DesignToken.create<Direction>({\n name: 'direction',\n cssCustomPropertyName: null\n}).withDefault(Direction.ltr);\n\nexport const theme = DesignToken.create<Theme>({\n name: 'theme',\n cssCustomPropertyName: null\n}).withDefault(Theme.light);\n\n/**\n * The ThemeProvider implementation. Add this component to the page and set its `theme` attribute to control\n * the values of design tokens that provide colors and fonts as CSS custom properties to any descendant components.\n * @internal\n */\nexport class ThemeProvider extends FoundationElement {\n @attr()\n public override lang!: string;\n\n @attr()\n public direction?: Direction;\n\n @attr()\n public theme: Theme = Theme.light;\n\n public get validity(): ValidityObject {\n return {\n invalidLang: this.langIsInvalid\n };\n }\n\n private langIsInvalid = false;\n\n public checkValidity(): boolean {\n return !this.langIsInvalid;\n }\n\n public langChanged(\n _prev: string | undefined | null,\n next: string | undefined | null\n ): void {\n if (next === null || next === undefined) {\n lang.deleteValueFor(this);\n this.langIsInvalid = false;\n return;\n }\n\n if (isValidLang(next)) {\n lang.setValueFor(this, next);\n this.langIsInvalid = false;\n } else {\n lang.deleteValueFor(this);\n this.langIsInvalid = true;\n }\n }\n\n public directionChanged(\n _prev: Direction | undefined | null,\n next: Direction | undefined | null\n ): void {\n if (next !== undefined && next !== null) {\n direction.setValueFor(this, next);\n } else {\n direction.deleteValueFor(this);\n }\n }\n\n public themeChanged(\n _prev: Theme | undefined | null,\n next: Theme | undefined | null\n ): void {\n if (next !== undefined && next !== null) {\n theme.setValueFor(this, next);\n } else {\n theme.deleteValueFor(this);\n }\n }\n}\n\nconst nimbleDesignSystemProvider = ThemeProvider.compose({\n baseName: 'theme-provider',\n styles,\n template\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleDesignSystemProvider());\nexport const themeProviderTag = 'nimble-theme-provider';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tree-view/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { attr, observable } from '@microsoft/fast-element';\nimport {\n TreeView as FoundationTreeView,\n DesignSystem,\n isTreeItemElement\n} from '@microsoft/fast-foundation';\nimport { TreeItem } from '../tree-item';\nimport { styles } from './styles';\nimport { template } from './template';\nimport { TreeViewSelectionMode } from './types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-tree-view': TreeView;\n }\n}\n\n/**\n * A function that returns a nimble-tree-view registration for configuring the component with a DesignSystem.\n * Implements {@link @microsoft/fast-foundation#treeViewTemplate}\n *\n *\n * @public\n * @remarks\n * Generates HTML Element: \\<nimble-tree-view\\>\n *\n */\nexport class TreeView extends FoundationTreeView {\n @attr({ attribute: 'selection-mode' })\n public selectionMode: TreeViewSelectionMode = TreeViewSelectionMode.all;\n\n /**\n * @internal\n */\n @observable\n public selectedItems: Element[] = [];\n\n public override handleClick(e: Event): boolean {\n if (e.defaultPrevented) {\n // handled, do nothing\n return false;\n }\n\n if (!(e.target instanceof Element) || !isTreeItemElement(e.target)) {\n // not a tree item, ignore\n return true;\n }\n\n const item: TreeItem = e.target as TreeItem;\n if (item.disabled) {\n return false;\n }\n\n if (this.canSelect(item)) {\n item.selected = true;\n } else if (this.itemHasChildren(item)) {\n item.expanded = !item.expanded;\n }\n return true;\n }\n\n private canSelect(item: TreeItem): boolean {\n switch (this.selectionMode) {\n case TreeViewSelectionMode.all:\n return true;\n case TreeViewSelectionMode.none:\n return false;\n case TreeViewSelectionMode.leavesOnly:\n return !this.itemHasChildren(item);\n default:\n return true;\n }\n }\n\n private itemHasChildren(item: TreeItem): boolean {\n const treeItemChild = item.querySelector('[role=\"treeitem\"]');\n return treeItemChild !== null;\n }\n\n private selectedItemsChanged(): void {\n for (const item of Array.from(this.children)) {\n if (item instanceof TreeItem) {\n item.groupSelected = false;\n }\n }\n\n for (let item of this.selectedItems) {\n while (item.parentElement !== null && item.parentElement !== this) {\n item = item.parentElement;\n }\n if (item instanceof TreeItem) {\n item.groupSelected = true;\n }\n }\n }\n}\n\nconst nimbleTreeView = TreeView.compose({\n baseName: 'tree-view',\n baseClass: FoundationTreeView,\n template,\n styles\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTreeView());\nexport const treeViewTag = 'nimble-tree-view';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tree-view/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { attr, observable } from '@microsoft/fast-element';\nimport {\n TreeView as FoundationTreeView,\n DesignSystem,\n isTreeItemElement\n} from '@microsoft/fast-foundation';\nimport { TreeItem } from '../tree-item';\nimport { styles } from './styles';\nimport { template } from './template';\nimport { TreeViewSelectionMode } from './types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-tree-view': TreeView;\n }\n}\n\n/**\n * A function that returns a nimble-tree-view registration for configuring the component with a DesignSystem.\n * Implements {@link @microsoft/fast-foundation#treeViewTemplate}\n *\n *\n * @public\n * @remarks\n * Generates HTML Element: \\<nimble-tree-view\\>\n *\n */\nexport class TreeView extends FoundationTreeView {\n @attr({ attribute: 'selection-mode' })\n public selectionMode: TreeViewSelectionMode = TreeViewSelectionMode.all;\n\n /**\n * @internal\n */\n @observable\n public selectedItems: Element[] = [];\n\n public override handleClick(e: Event): boolean {\n if (e.defaultPrevented) {\n // handled, do nothing\n return false;\n }\n\n if (!(e.target instanceof Element) || !isTreeItemElement(e.target)) {\n // not a tree item, ignore\n return true;\n }\n\n const item: TreeItem = e.target as TreeItem;\n if (item.disabled) {\n return false;\n }\n\n if (this.canSelect(item)) {\n item.selected = true;\n } else if (this.itemHasChildren(item)) {\n item.expanded = !item.expanded;\n }\n return true;\n }\n\n private canSelect(item: TreeItem): boolean {\n switch (this.selectionMode) {\n case TreeViewSelectionMode.all:\n return true;\n case TreeViewSelectionMode.none:\n return false;\n case TreeViewSelectionMode.leavesOnly:\n return !this.itemHasChildren(item);\n default:\n return true;\n }\n }\n\n private itemHasChildren(item: TreeItem): boolean {\n const treeItemChild = item.querySelector('[role=\"treeitem\"]');\n return treeItemChild !== null;\n }\n\n private selectedItemsChanged(): void {\n for (const item of Array.from(this.children)) {\n if (item instanceof TreeItem) {\n item.groupSelected = false;\n }\n }\n\n for (let item of this.selectedItems) {\n while (item.parentElement !== null && item.parentElement !== this) {\n item = item.parentElement;\n }\n if (item instanceof TreeItem) {\n item.groupSelected = true;\n }\n }\n }\n}\n\nconst nimbleTreeView = TreeView.compose({\n baseName: 'tree-view',\n baseClass: FoundationTreeView,\n template,\n styles\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTreeView());\nexport const treeViewTag = 'nimble-tree-view';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"converter.js","sourceRoot":"","sources":["../../../../src/utilities/models/converter.ts"],"names":[],"mappings":"AAEA,iGAAiG;AACjG,iEAAiE;AACjE,MAAM,CAAC,MAAM,wBAAwB,GAAmB;IACpD,MAAM,CAAC,KAAc;QACjB,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAED,QAAQ,CAAC,KAAuB;QAC5B,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,EAAE;YACpC,OAAO,IAAI,CAAC;SACf;QACD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK,EAAE;YACtC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ,CAAC","sourcesContent":["import type { ValueConverter } from '@microsoft/fast-element';\n\n// Should be used for attributes that are optional booleans, where true, false, and undefined all\n// have separate meanings and must have distinct representations.\nexport const optionalBooleanConverter: ValueConverter = {\n toView(value: unknown): string | null {\n return typeof value === 'boolean' ? value.toString() : null;\n },\n\n fromView(value: string | boolean): boolean | undefined {\n if (value === 'true' || value === true) {\n return true;\n }\n if (value === 'false' || value === false) {\n return false;\n }\n return undefined;\n }\n};\n"]}
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../../../../src/utilities/models/converter.ts"],"names":[],"mappings":"AAEA,iGAAiG;AACjG,iEAAiE;AACjE,MAAM,CAAC,MAAM,wBAAwB,GAAmB;IACpD,MAAM,CAAC,KAAc;QACjB,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAED,QAAQ,CAAC,KAAuB;QAC5B,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ,CAAC","sourcesContent":["import type { ValueConverter } from '@microsoft/fast-element';\n\n// Should be used for attributes that are optional booleans, where true, false, and undefined all\n// have separate meanings and must have distinct representations.\nexport const optionalBooleanConverter: ValueConverter = {\n toView(value: unknown): string | null {\n return typeof value === 'boolean' ? value.toString() : null;\n },\n\n fromView(value: string | boolean): boolean | undefined {\n if (value === 'true' || value === true) {\n return true;\n }\n if (value === 'false' || value === false) {\n return false;\n }\n return undefined;\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"document-element-lang.js","sourceRoot":"","sources":["../../../../src/utilities/models/document-element-lang.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,MAAM,mBAAmB;IAIrB;QAFO,SAAI,GAAW,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;QAGhD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE;YAC9C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;gBAC9B,IACI,QAAQ,CAAC,IAAI,KAAK,YAAY;uBAC3B,QAAQ,CAAC,aAAa,KAAK,MAAM,EACtC;oBACE,IAAI,CAAC,IAAI,GAAI,QAAQ,CAAC,MAAsB,CAAC,IAAI,CAAC;iBACrD;aACJ;QACL,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE;YACvC,eAAe,EAAE,CAAC,MAAM,CAAC;SAC5B,CAAC,CAAC;IACP,CAAC;CACJ;AAjBU;IADN,UAAU;iDACyC;AAmBxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC","sourcesContent":["import { observable } from '@microsoft/fast-element';\n\n/**\n * Observable class to subscribe to changes in the page's lang attribute\n */\nclass DocumentElementLang {\n @observable\n public lang: string = document.documentElement.lang;\n\n public constructor() {\n const observer = new MutationObserver(mutations => {\n for (const mutation of mutations) {\n if (\n mutation.type === 'attributes'\n && mutation.attributeName === 'lang'\n ) {\n this.lang = (mutation.target as HTMLElement).lang;\n }\n }\n });\n observer.observe(document.documentElement, {\n attributeFilter: ['lang']\n });\n }\n}\n\nexport const documentElementLang = new DocumentElementLang();\n"]}
1
+ {"version":3,"file":"document-element-lang.js","sourceRoot":"","sources":["../../../../src/utilities/models/document-element-lang.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,MAAM,mBAAmB;IAIrB;QAFO,SAAI,GAAW,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;QAGhD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE;YAC9C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAC/B,IACI,QAAQ,CAAC,IAAI,KAAK,YAAY;uBAC3B,QAAQ,CAAC,aAAa,KAAK,MAAM,EACtC,CAAC;oBACC,IAAI,CAAC,IAAI,GAAI,QAAQ,CAAC,MAAsB,CAAC,IAAI,CAAC;gBACtD,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE;YACvC,eAAe,EAAE,CAAC,MAAM,CAAC;SAC5B,CAAC,CAAC;IACP,CAAC;CACJ;AAjBU;IADN,UAAU;iDACyC;AAmBxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC","sourcesContent":["import { observable } from '@microsoft/fast-element';\n\n/**\n * Observable class to subscribe to changes in the page's lang attribute\n */\nclass DocumentElementLang {\n @observable\n public lang: string = document.documentElement.lang;\n\n public constructor() {\n const observer = new MutationObserver(mutations => {\n for (const mutation of mutations) {\n if (\n mutation.type === 'attributes'\n && mutation.attributeName === 'lang'\n ) {\n this.lang = (mutation.target as HTMLElement).lang;\n }\n }\n });\n observer.observe(document.documentElement, {\n attributeFilter: ['lang']\n });\n }\n}\n\nexport const documentElementLang = new DocumentElementLang();\n"]}