@ni/nimble-components 32.11.0 → 32.11.2

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 (180) hide show
  1. package/dist/all-components-bundle.js.map +1 -1
  2. package/dist/all-components-bundle.min.js.map +1 -1
  3. package/dist/esm/anchor/index.js.map +1 -1
  4. package/dist/esm/anchor/template.js +1 -1
  5. package/dist/esm/anchor/template.js.map +1 -1
  6. package/dist/esm/anchor-button/index.d.ts +1 -1
  7. package/dist/esm/anchor-button/index.js +1 -1
  8. package/dist/esm/anchor-button/index.js.map +1 -1
  9. package/dist/esm/anchor-button/template.d.ts +1 -1
  10. package/dist/esm/anchor-button/template.js +1 -1
  11. package/dist/esm/anchor-button/template.js.map +1 -1
  12. package/dist/esm/anchor-menu-item/index.d.ts +1 -1
  13. package/dist/esm/anchor-menu-item/index.js.map +1 -1
  14. package/dist/esm/anchor-menu-item/template.d.ts +1 -1
  15. package/dist/esm/anchor-menu-item/template.js +1 -1
  16. package/dist/esm/anchor-menu-item/template.js.map +1 -1
  17. package/dist/esm/anchor-tab/index.d.ts +1 -1
  18. package/dist/esm/anchor-tab/index.js.map +1 -1
  19. package/dist/esm/anchor-tab/template.d.ts +1 -1
  20. package/dist/esm/anchor-tab/template.js +1 -1
  21. package/dist/esm/anchor-tab/template.js.map +1 -1
  22. package/dist/esm/anchor-tabs/index.d.ts +1 -1
  23. package/dist/esm/anchor-tabs/index.js.map +1 -1
  24. package/dist/esm/anchor-tree-item/index.js.map +1 -1
  25. package/dist/esm/anchor-tree-item/template.d.ts +1 -1
  26. package/dist/esm/anchor-tree-item/template.js +1 -1
  27. package/dist/esm/anchor-tree-item/template.js.map +1 -1
  28. package/dist/esm/banner/index.js.map +1 -1
  29. package/dist/esm/breadcrumb-item/index.js.map +1 -1
  30. package/dist/esm/button/index.js +1 -1
  31. package/dist/esm/button/index.js.map +1 -1
  32. package/dist/esm/button/template.d.ts +1 -1
  33. package/dist/esm/button/template.js.map +1 -1
  34. package/dist/esm/checkbox/index.js.map +1 -1
  35. package/dist/esm/combobox/index.js +2 -2
  36. package/dist/esm/combobox/index.js.map +1 -1
  37. package/dist/esm/label-provider/base/index.js +1 -1
  38. package/dist/esm/label-provider/base/index.js.map +1 -1
  39. package/dist/esm/label-provider/core/index.d.ts +1 -1
  40. package/dist/esm/label-provider/core/index.js.map +1 -1
  41. package/dist/esm/label-provider/rich-text/index.d.ts +1 -1
  42. package/dist/esm/label-provider/rich-text/index.js.map +1 -1
  43. package/dist/esm/label-provider/table/index.d.ts +1 -1
  44. package/dist/esm/label-provider/table/index.js.map +1 -1
  45. package/dist/esm/menu/menu.foundation.js.map +1 -1
  46. package/dist/esm/menu-button/index.js +1 -1
  47. package/dist/esm/menu-button/index.js.map +1 -1
  48. package/dist/esm/menu-item/index.js.map +1 -1
  49. package/dist/esm/number-field/index.js.map +1 -1
  50. package/dist/esm/number-field/template.d.ts +1 -1
  51. package/dist/esm/number-field/template.js.map +1 -1
  52. package/dist/esm/patterns/error/types.js +1 -1
  53. package/dist/esm/patterns/error/types.js.map +1 -1
  54. package/dist/esm/patterns/required-visible/template.js +1 -1
  55. package/dist/esm/patterns/required-visible/template.js.map +1 -1
  56. package/dist/esm/patterns/required-visible/types.js +1 -1
  57. package/dist/esm/patterns/required-visible/types.js.map +1 -1
  58. package/dist/esm/patterns/tabs/template.d.ts +1 -1
  59. package/dist/esm/patterns/tabs/template.js.map +1 -1
  60. package/dist/esm/radio/index.js.map +1 -1
  61. package/dist/esm/rich-text/editor/index.d.ts +1 -1
  62. package/dist/esm/rich-text/editor/index.js +1 -1
  63. package/dist/esm/rich-text/editor/index.js.map +1 -1
  64. package/dist/esm/rich-text/editor/models/create-tiptap-editor.d.ts +1 -1
  65. package/dist/esm/rich-text/editor/models/create-tiptap-editor.js +2 -2
  66. package/dist/esm/rich-text/editor/models/create-tiptap-editor.js.map +1 -1
  67. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.d.ts +1 -1
  68. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js +1 -1
  69. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js.map +1 -1
  70. package/dist/esm/rich-text/mention-listbox/index.js +1 -1
  71. package/dist/esm/rich-text/mention-listbox/index.js.map +1 -1
  72. package/dist/esm/rich-text/models/markdown-serializer.js +1 -1
  73. package/dist/esm/rich-text/models/markdown-serializer.js.map +1 -1
  74. package/dist/esm/rich-text-mention/base/index.d.ts +2 -2
  75. package/dist/esm/rich-text-mention/base/index.js.map +1 -1
  76. package/dist/esm/rich-text-mention/base/models/mention-internals.js +1 -1
  77. package/dist/esm/rich-text-mention/base/models/mention-internals.js.map +1 -1
  78. package/dist/esm/rich-text-mention/base/models/mention-validator.d.ts +1 -1
  79. package/dist/esm/rich-text-mention/base/models/mention-validator.js.map +1 -1
  80. package/dist/esm/select/index.d.ts +1 -1
  81. package/dist/esm/select/index.js +1 -1
  82. package/dist/esm/select/index.js.map +1 -1
  83. package/dist/esm/select/template.d.ts +1 -1
  84. package/dist/esm/select/template.js +1 -1
  85. package/dist/esm/select/template.js.map +1 -1
  86. package/dist/esm/switch/index.js.map +1 -1
  87. package/dist/esm/table/components/cell/index.js +1 -1
  88. package/dist/esm/table/components/cell/index.js.map +1 -1
  89. package/dist/esm/table/components/cell/template.js.map +1 -1
  90. package/dist/esm/table/components/group-row/index.d.ts +1 -1
  91. package/dist/esm/table/components/group-row/index.js.map +1 -1
  92. package/dist/esm/table/components/row/index.d.ts +1 -1
  93. package/dist/esm/table/components/row/index.js.map +1 -1
  94. package/dist/esm/table/index.d.ts +3 -2
  95. package/dist/esm/table/index.js +1 -1
  96. package/dist/esm/table/index.js.map +1 -1
  97. package/dist/esm/table/models/interactive-selection-manager.d.ts +2 -1
  98. package/dist/esm/table/models/interactive-selection-manager.js.map +1 -1
  99. package/dist/esm/table/models/keyboard-navigation-manager.d.ts +2 -2
  100. package/dist/esm/table/models/keyboard-navigation-manager.js.map +1 -1
  101. package/dist/esm/table/models/selection-managers/multi-selection-manager.d.ts +1 -1
  102. package/dist/esm/table/models/selection-managers/multi-selection-manager.js.map +1 -1
  103. package/dist/esm/table/models/selection-managers/selection-manager-base.d.ts +1 -1
  104. package/dist/esm/table/models/selection-managers/selection-manager-base.js.map +1 -1
  105. package/dist/esm/table/models/table-validator.d.ts +1 -1
  106. package/dist/esm/table/models/table-validator.js.map +1 -1
  107. package/dist/esm/table/models/virtualizer.d.ts +1 -1
  108. package/dist/esm/table/models/virtualizer.js.map +1 -1
  109. package/dist/esm/table/template.js +1 -1
  110. package/dist/esm/table/template.js.map +1 -1
  111. package/dist/esm/table/testing/table.pageobject.d.ts +1 -1
  112. package/dist/esm/table/testing/table.pageobject.js +5 -6
  113. package/dist/esm/table/testing/table.pageobject.js.map +1 -1
  114. package/dist/esm/table-column/base/group-header-view/template.js +1 -1
  115. package/dist/esm/table-column/base/group-header-view/template.js.map +1 -1
  116. package/dist/esm/table-column/base/index.d.ts +1 -1
  117. package/dist/esm/table-column/base/index.js.map +1 -1
  118. package/dist/esm/table-column/base/models/column-internals.d.ts +1 -1
  119. package/dist/esm/table-column/base/models/column-internals.js +1 -1
  120. package/dist/esm/table-column/base/models/column-internals.js.map +1 -1
  121. package/dist/esm/table-column/date-text/index.d.ts +2 -1
  122. package/dist/esm/table-column/date-text/index.js.map +1 -1
  123. package/dist/esm/table-column/duration-text/index.js.map +1 -1
  124. package/dist/esm/table-column/enum-base/index.d.ts +1 -1
  125. package/dist/esm/table-column/enum-base/index.js.map +1 -1
  126. package/dist/esm/table-column/mapping/cell-view/index.d.ts +2 -2
  127. package/dist/esm/table-column/mapping/cell-view/index.js +1 -1
  128. package/dist/esm/table-column/mapping/cell-view/index.js.map +1 -1
  129. package/dist/esm/table-column/mapping/group-header-view/index.d.ts +1 -1
  130. package/dist/esm/table-column/mapping/group-header-view/index.js +1 -1
  131. package/dist/esm/table-column/mapping/group-header-view/index.js.map +1 -1
  132. package/dist/esm/table-column/mapping/index.d.ts +1 -1
  133. package/dist/esm/table-column/mapping/index.js.map +1 -1
  134. package/dist/esm/table-column/menu-button/index.js.map +1 -1
  135. package/dist/esm/table-column/mixins/custom-sort-order.d.ts +1 -1
  136. package/dist/esm/table-column/mixins/custom-sort-order.js.map +1 -1
  137. package/dist/esm/table-column/number-text/index.js.map +1 -1
  138. package/dist/esm/table-column/text-base/cell-view/index.d.ts +1 -1
  139. package/dist/esm/table-column/text-base/cell-view/index.js.map +1 -1
  140. package/dist/esm/tabs/index.js.map +1 -1
  141. package/dist/esm/text-area/template.js +1 -1
  142. package/dist/esm/text-area/template.js.map +1 -1
  143. package/dist/esm/text-field/index.js.map +1 -1
  144. package/dist/esm/text-field/template.d.ts +1 -1
  145. package/dist/esm/text-field/template.js.map +1 -1
  146. package/dist/esm/theme-provider/design-tokens.d.ts +1 -1
  147. package/dist/esm/theme-provider/design-tokens.js.map +1 -1
  148. package/dist/esm/toggle-button/index.js +1 -1
  149. package/dist/esm/toggle-button/index.js.map +1 -1
  150. package/dist/esm/toggle-button/template.d.ts +1 -1
  151. package/dist/esm/toggle-button/template.js +1 -1
  152. package/dist/esm/toggle-button/template.js.map +1 -1
  153. package/dist/esm/toolbar/index.js.map +1 -1
  154. package/dist/esm/tree-item/index.js.map +1 -1
  155. package/dist/esm/utilities/style/multivalue-property-stylesheet-behavior.d.ts +1 -1
  156. package/dist/esm/utilities/style/multivalue-property-stylesheet-behavior.js +1 -1
  157. package/dist/esm/utilities/style/multivalue-property-stylesheet-behavior.js.map +1 -1
  158. package/dist/esm/utilities/unit-format/decimal-unit-format.d.ts +1 -1
  159. package/dist/esm/utilities/unit-format/decimal-unit-format.js.map +1 -1
  160. package/dist/esm/utilities/unit-format/default-unit-format.d.ts +1 -1
  161. package/dist/esm/utilities/unit-format/default-unit-format.js.map +1 -1
  162. package/dist/esm/utilities/unit-format/unit-scale/byte-1024-unit-scale.js.map +1 -1
  163. package/dist/esm/utilities/unit-format/unit-scale/volt-unit-scale.js.map +1 -1
  164. package/dist/esm/wafer-map/experimental/computations.d.ts +1 -1
  165. package/dist/esm/wafer-map/experimental/computations.js.map +1 -1
  166. package/dist/esm/wafer-map/experimental/hover-handler.js.map +1 -1
  167. package/dist/esm/wafer-map/index.d.ts +1 -1
  168. package/dist/esm/wafer-map/index.js +1 -1
  169. package/dist/esm/wafer-map/index.js.map +1 -1
  170. package/dist/esm/wafer-map/modules/computations.d.ts +1 -1
  171. package/dist/esm/wafer-map/modules/computations.js.map +1 -1
  172. package/dist/esm/wafer-map/modules/create-matrix-renderer.d.ts +1 -1
  173. package/dist/esm/wafer-map/modules/create-matrix-renderer.js.map +1 -1
  174. package/dist/esm/wafer-map/modules/hover-handler.js.map +1 -1
  175. package/dist/esm/wafer-map/modules/prerendering.d.ts +1 -1
  176. package/dist/esm/wafer-map/modules/prerendering.js.map +1 -1
  177. package/dist/esm/wafer-map/modules/rendering.js.map +1 -1
  178. package/dist/esm/wafer-map/modules/zoom-handler.js +1 -1
  179. package/dist/esm/wafer-map/modules/zoom-handler.js.map +1 -1
  180. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"column-internals.js","sourceRoot":"","sources":["../../../../../src/table-column/base/models/column-internals.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAgB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EACH,oBAAoB,EACpB,wBAAwB,EAE3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AA6C/D;;;GAGG;AACH,MAAM,OAAO,eAAe;IAmJxB,YAAmB,OAAiD;QA1IpE;;WAEG;QACa,aAAQ,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QA6BzD;;WAEG;QAEI,kBAAa,GAA6B,wBAAwB,CAAC,KAAK,CAAC;QAEhF;;;WAGG;QAEI,yBAAoB,GAA4C,EAAE,CAAC;QAO1E;;WAEG;QAEI,qBAAgB,GAAG,IAAI,CAAC;QAgB/B;;;WAGG;QAEI,oBAAe,GAAG,sBAAsB,CAAC;QAEhD;;WAEG;QAEI,kBAAa,GAAG,oBAAoB,CAAC;QAE5C;;WAEG;QAEI,qBAAgB,GAAG,KAAK,CAAC;QAEhC;;;WAGG;QAEI,yBAAoB,GAAG,KAAK,CAAC;QAEpC;;WAEG;QAEI,oBAAe,GAAyB,oBAAoB,CAAC,IAAI,CAAC;QAEzE;;;WAGG;QAEI,2BAAsB,GAAG,sBAAsB,CAAC;QASvD;;WAEG;QAEI,oBAAe,GAAG,IAAI,CAAC;QAS9B;;;WAGG;QAEI,yBAAoB,GAA6B,wBAAwB,CAAC,IAAI,CAAC;QAKlF,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC7B,IAAI,CAAC,uBAAuB,GAAG,6BAA6B,CACxD,OAAO,CAAC,kBAAkB,CAC7B,CAAC;QACN,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,wBAAwB,CAAC,KAAK,CAAC;QAC7E,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACvC,CAAC;IAES,sBAAsB;QAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,eAAe,CAAC;IACvD,CAAC;IAES,iBAAiB;QACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC;IAC7C,CAAC;CACJ;AAvIU;IADN,UAAU;qDACyB;AAM7B;IADN,UAAU;mEACwC;AAM5C;IADN,UAAU;sDACqE;AAOzE;IADN,UAAU;6DAC+D;AAWnE;IADN,UAAU;yDACoB;AAQxB;IADN,UAAU;mDACgB;AAMpB;IADN,UAAU;mDACgB;AAOpB;IADN,UAAU;wDACqC;AAMzC;IADN,UAAU;sDACiC;AAMrC;IADN,UAAU;yDACqB;AAOzB;IADN,UAAU;6DACyB;AAM7B;IADN,UAAU;wDAC8D;AAOlE;IADN,UAAU;+DAC4C;AAOhD;IADN,UAAU;0DACuB;AAM3B;IADN,UAAU;wDACmB;AAOvB;IADN,UAAU;yDACsB;AAO1B;IADN,UAAU;6DAC2E;AA2B1F,MAAM,UAAU,yBAAyB,CACrC,eAAuB,EACvB,GAAG,IAA6D;IAEhE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,eAAe,KAAK,GAAG,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC","sourcesContent":["import { uniqueId } from '@microsoft/fast-web-utilities';\nimport { ViewTemplate, observable } from '@microsoft/fast-element';\nimport {\n TableColumnAlignment,\n TableColumnSortDirection,\n TableFieldName\n} from '../../../table/types';\nimport type { TableCell } from '../../../table/components/cell';\nimport {\n TableColumnSortOperation,\n defaultFractionalWidth,\n defaultMinPixelWidth\n} from '../types';\nimport type { TableGroupRow } from '../../../table/components/group-row';\nimport { createGroupHeaderViewTemplate } from '../group-header-view/template';\nimport { createCellViewTemplate } from '../cell-view/template';\nimport type { ColumnValidator } from './column-validator';\n\nexport interface ColumnInternalsOptions<\n TColumnValidator extends ColumnValidator<[]> = ColumnValidator<[]>\n> {\n /**\n * The tag (element name) of the custom element that renders the cell content for the column.\n * That element should derive from TableCellView<TCellRecord, TColumnConfig>.\n */\n readonly cellViewTag: string;\n\n /**\n * The names of the fields that should be present in TCellRecord.\n * This array is parallel with the field names specified by `dataRecordFieldNames`.\n */\n readonly cellRecordFieldNames: readonly TableFieldName[];\n\n /**\n * The tag to use to render the group header content for a column.\n * The element this tag refers to must derive from TableGroupHeaderView.\n */\n readonly groupHeaderViewTag?: string;\n\n /**\n * The names of events that should be delegated from the cell view to the column.\n */\n readonly delegatedEvents: readonly string[];\n\n /**\n * The names of slots that need to be forwarded into a cell.\n */\n readonly slotNames?: readonly string[];\n\n /**\n * The sort operation to use for the column (defaults to TableColumnSortOperation.basic)\n */\n readonly sortOperation?: TableColumnSortOperation;\n\n /**\n * The validator for the column\n */\n readonly validator: TColumnValidator;\n}\n\n/**\n * Internal column state configured by plugin authors\n * @internal\n */\nexport class ColumnInternals<\n TColumnConfig,\n TColumnValidator extends ColumnValidator<[]>\n> {\n /**\n * @see ColumnInternalsOptions.cellRecordFieldNames\n */\n public readonly cellRecordFieldNames: readonly TableFieldName[];\n\n /**\n * A unique id used internally in the table to identify specific column instances\n */\n public readonly uniqueId = uniqueId('table-column-slot');\n\n /**\n * Template for the cell view\n */\n public readonly cellViewTemplate: ViewTemplate<TableCell>;\n\n /**\n * The names of events that should be delegated from the cell view to the column.\n */\n public readonly delegatedEvents: readonly string[];\n\n /**\n * The names of slots that need to be forwarded into a cell.\n */\n public readonly slotNames: readonly string[];\n\n /**\n * The relevant, static configuration a column requires its cell view to have access to.\n */\n @observable\n public columnConfig?: TColumnConfig;\n\n /**\n * The name of the data field that will be used for operations on the table, such as sorting and grouping.\n */\n @observable\n public operandDataRecordFieldName?: TableFieldName;\n\n /**\n * The operation to use when sorting the table by this column.\n */\n @observable\n public sortOperation: TableColumnSortOperation = TableColumnSortOperation.basic;\n\n /**\n * The names of the fields from the row's record that correlate to the data that will be in TCellRecord.\n * This array is parallel with the field names specified by `cellRecordFieldNames`.\n */\n @observable\n public dataRecordFieldNames: readonly (TableFieldName | undefined)[] = [];\n\n /**\n * Template for the group header view\n */\n public readonly groupHeaderViewTemplate?: ViewTemplate<TableGroupRow>;\n\n /**\n * Whether or not this column can be used to group rows by\n */\n @observable\n public groupingDisabled = true;\n\n /**\n * Specifies the grouping precedence of the column within the set of all columns participating in grouping.\n * Columns are rendered in the grouping tree from lowest group-index as the tree root to highest\n * group-index as tree leaves.\n */\n @observable\n public groupIndex?: number;\n\n /**\n * Used by column plugins to set a specific pixel width. Sets currentPixelWidth when changed.\n */\n @observable\n public pixelWidth?: number;\n\n /**\n * Used by column plugins to size a column proportionally to the available\n * width of a row. Sets currentFractionalWidth when changed.\n */\n @observable\n public fractionalWidth = defaultFractionalWidth;\n\n /**\n * The minimum size in pixels according to the design doc\n */\n @observable\n public minPixelWidth = defaultMinPixelWidth;\n\n /**\n * Whether or not resizing the column has been disabled.\n */\n @observable\n public resizingDisabled = false;\n\n /**\n * Whether or not the grouping and sorting indicators should be hidden in the column header\n * when the column is grouped or sorted.\n */\n @observable\n public hideHeaderIndicators = false;\n\n /**\n * How to align the header content.\n */\n @observable\n public headerAlignment: TableColumnAlignment = TableColumnAlignment.left;\n\n /**\n * @internal Do not write to this value directly. It is used by the Table in order to store\n * the resolved value of the fractionalWidth after updates programmatic or interactive updates.\n */\n @observable\n public currentFractionalWidth = defaultFractionalWidth;\n\n /**\n * @internal Do not write to this value directly. It is used by the Table in order to store\n * the resolved value of the pixelWidth after programmatic or interactive updates.\n */\n @observable\n public currentPixelWidth?: number;\n\n /**\n * Whether or not this column can be sorted\n */\n @observable\n public sortingDisabled = true;\n\n /**\n * @internal Do not write to this value directly. It is used by the Table in order to store\n * the resolved value of the sortIndex after programmatic or interactive updates.\n */\n @observable\n public currentSortIndex?: number;\n\n /**\n * @internal Do not write to this value directly. It is used by the Table in order to store\n * the resolved value of the sortDirection after programmatic or interactive updates.\n */\n @observable\n public currentSortDirection: TableColumnSortDirection = TableColumnSortDirection.none;\n\n public readonly validator: TColumnValidator;\n\n public constructor(options: ColumnInternalsOptions<TColumnValidator>) {\n this.cellRecordFieldNames = options.cellRecordFieldNames;\n this.cellViewTemplate = createCellViewTemplate(options.cellViewTag);\n if (options.groupHeaderViewTag) {\n this.groupHeaderViewTemplate = createGroupHeaderViewTemplate(\n options.groupHeaderViewTag\n );\n }\n this.delegatedEvents = options.delegatedEvents;\n this.slotNames = options.slotNames ?? [];\n this.sortOperation = options.sortOperation ?? TableColumnSortOperation.basic;\n this.validator = options.validator;\n }\n\n protected fractionalWidthChanged(): void {\n this.currentFractionalWidth = this.fractionalWidth;\n }\n\n protected pixelWidthChanged(): void {\n this.currentPixelWidth = this.pixelWidth;\n }\n}\n\nexport function isColumnInternalsProperty(\n changedProperty: string,\n ...args: (keyof ColumnInternals<unknown, ColumnValidator<[]>>)[]\n): boolean {\n for (const arg of args) {\n if (changedProperty === arg) {\n return true;\n }\n }\n return false;\n}\n"]}
1
+ {"version":3,"file":"column-internals.js","sourceRoot":"","sources":["../../../../../src/table-column/base/models/column-internals.ts"],"names":[],"mappings":"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","sourcesContent":["import { uniqueId } from '@microsoft/fast-web-utilities';\nimport { ViewTemplate, observable } from '@microsoft/fast-element';\nimport {\n TableColumnAlignment,\n TableColumnSortDirection,\n type TableFieldName\n} from '../../../table/types';\nimport type { TableCell } from '../../../table/components/cell';\nimport {\n TableColumnSortOperation,\n defaultFractionalWidth,\n defaultMinPixelWidth\n} from '../types';\nimport type { TableGroupRow } from '../../../table/components/group-row';\nimport { createGroupHeaderViewTemplate } from '../group-header-view/template';\nimport { createCellViewTemplate } from '../cell-view/template';\nimport type { ColumnValidator } from './column-validator';\n\nexport interface ColumnInternalsOptions<\n TColumnValidator extends ColumnValidator<[]> = ColumnValidator<[]>\n> {\n /**\n * The tag (element name) of the custom element that renders the cell content for the column.\n * That element should derive from TableCellView<TCellRecord, TColumnConfig>.\n */\n readonly cellViewTag: string;\n\n /**\n * The names of the fields that should be present in TCellRecord.\n * This array is parallel with the field names specified by `dataRecordFieldNames`.\n */\n readonly cellRecordFieldNames: readonly TableFieldName[];\n\n /**\n * The tag to use to render the group header content for a column.\n * The element this tag refers to must derive from TableGroupHeaderView.\n */\n readonly groupHeaderViewTag?: string;\n\n /**\n * The names of events that should be delegated from the cell view to the column.\n */\n readonly delegatedEvents: readonly string[];\n\n /**\n * The names of slots that need to be forwarded into a cell.\n */\n readonly slotNames?: readonly string[];\n\n /**\n * The sort operation to use for the column (defaults to TableColumnSortOperation.basic)\n */\n readonly sortOperation?: TableColumnSortOperation;\n\n /**\n * The validator for the column\n */\n readonly validator: TColumnValidator;\n}\n\n/**\n * Internal column state configured by plugin authors\n * @internal\n */\nexport class ColumnInternals<\n TColumnConfig,\n TColumnValidator extends ColumnValidator<[]>\n> {\n /**\n * @see ColumnInternalsOptions.cellRecordFieldNames\n */\n public readonly cellRecordFieldNames: readonly TableFieldName[];\n\n /**\n * A unique id used internally in the table to identify specific column instances\n */\n public readonly uniqueId = uniqueId('table-column-slot');\n\n /**\n * Template for the cell view\n */\n public readonly cellViewTemplate: ViewTemplate<TableCell>;\n\n /**\n * The names of events that should be delegated from the cell view to the column.\n */\n public readonly delegatedEvents: readonly string[];\n\n /**\n * The names of slots that need to be forwarded into a cell.\n */\n public readonly slotNames: readonly string[];\n\n /**\n * The relevant, static configuration a column requires its cell view to have access to.\n */\n @observable\n public columnConfig?: TColumnConfig;\n\n /**\n * The name of the data field that will be used for operations on the table, such as sorting and grouping.\n */\n @observable\n public operandDataRecordFieldName?: TableFieldName;\n\n /**\n * The operation to use when sorting the table by this column.\n */\n @observable\n public sortOperation: TableColumnSortOperation = TableColumnSortOperation.basic;\n\n /**\n * The names of the fields from the row's record that correlate to the data that will be in TCellRecord.\n * This array is parallel with the field names specified by `cellRecordFieldNames`.\n */\n @observable\n public dataRecordFieldNames: readonly (TableFieldName | undefined)[] = [];\n\n /**\n * Template for the group header view\n */\n public readonly groupHeaderViewTemplate?: ViewTemplate<TableGroupRow>;\n\n /**\n * Whether or not this column can be used to group rows by\n */\n @observable\n public groupingDisabled = true;\n\n /**\n * Specifies the grouping precedence of the column within the set of all columns participating in grouping.\n * Columns are rendered in the grouping tree from lowest group-index as the tree root to highest\n * group-index as tree leaves.\n */\n @observable\n public groupIndex?: number;\n\n /**\n * Used by column plugins to set a specific pixel width. Sets currentPixelWidth when changed.\n */\n @observable\n public pixelWidth?: number;\n\n /**\n * Used by column plugins to size a column proportionally to the available\n * width of a row. Sets currentFractionalWidth when changed.\n */\n @observable\n public fractionalWidth = defaultFractionalWidth;\n\n /**\n * The minimum size in pixels according to the design doc\n */\n @observable\n public minPixelWidth = defaultMinPixelWidth;\n\n /**\n * Whether or not resizing the column has been disabled.\n */\n @observable\n public resizingDisabled = false;\n\n /**\n * Whether or not the grouping and sorting indicators should be hidden in the column header\n * when the column is grouped or sorted.\n */\n @observable\n public hideHeaderIndicators = false;\n\n /**\n * How to align the header content.\n */\n @observable\n public headerAlignment: TableColumnAlignment = TableColumnAlignment.left;\n\n /**\n * @internal Do not write to this value directly. It is used by the Table in order to store\n * the resolved value of the fractionalWidth after updates programmatic or interactive updates.\n */\n @observable\n public currentFractionalWidth = defaultFractionalWidth;\n\n /**\n * @internal Do not write to this value directly. It is used by the Table in order to store\n * the resolved value of the pixelWidth after programmatic or interactive updates.\n */\n @observable\n public currentPixelWidth?: number;\n\n /**\n * Whether or not this column can be sorted\n */\n @observable\n public sortingDisabled = true;\n\n /**\n * @internal Do not write to this value directly. It is used by the Table in order to store\n * the resolved value of the sortIndex after programmatic or interactive updates.\n */\n @observable\n public currentSortIndex?: number;\n\n /**\n * @internal Do not write to this value directly. It is used by the Table in order to store\n * the resolved value of the sortDirection after programmatic or interactive updates.\n */\n @observable\n public currentSortDirection: TableColumnSortDirection = TableColumnSortDirection.none;\n\n public readonly validator: TColumnValidator;\n\n public constructor(options: ColumnInternalsOptions<TColumnValidator>) {\n this.cellRecordFieldNames = options.cellRecordFieldNames;\n this.cellViewTemplate = createCellViewTemplate(options.cellViewTag);\n if (options.groupHeaderViewTag) {\n this.groupHeaderViewTemplate = createGroupHeaderViewTemplate(\n options.groupHeaderViewTag\n );\n }\n this.delegatedEvents = options.delegatedEvents;\n this.slotNames = options.slotNames ?? [];\n this.sortOperation = options.sortOperation ?? TableColumnSortOperation.basic;\n this.validator = options.validator;\n }\n\n protected fractionalWidthChanged(): void {\n this.currentFractionalWidth = this.fractionalWidth;\n }\n\n protected pixelWidthChanged(): void {\n this.currentPixelWidth = this.pixelWidth;\n }\n}\n\nexport function isColumnInternalsProperty(\n changedProperty: string,\n ...args: (keyof ColumnInternals<unknown, ColumnValidator<[]>>)[]\n): boolean {\n for (const arg of args) {\n if (changedProperty === arg) {\n return true;\n }\n }\n return false;\n}\n"]}
@@ -1,7 +1,8 @@
1
1
  import type { TableNumberField } from '../../table/types';
2
2
  import { TableColumnTextBase } from '../text-base';
3
3
  import type { ColumnInternalsOptions } from '../base/models/column-internals';
4
- import { DateTextFormat, LocaleMatcherAlgorithm, EraFormat, YearFormat, DayFormat, HourFormat, MinuteFormat, SecondFormat, TimeZoneNameFormat, FormatMatcherAlgorithm, DayPeriodFormat, DateStyle, TimeStyle, HourCycleFormat, MonthFormat, WeekdayFormat } from './types';
4
+ import { DateTextFormat } from './types';
5
+ import type { LocaleMatcherAlgorithm, EraFormat, YearFormat, DayFormat, HourFormat, MinuteFormat, SecondFormat, TimeZoneNameFormat, FormatMatcherAlgorithm, DayPeriodFormat, DateStyle, TimeStyle, HourCycleFormat, MonthFormat, WeekdayFormat } from './types';
5
6
  import { TableColumnDateTextValidator } from './models/table-column-date-text-validator';
6
7
  import type { TableColumnTextBaseColumnConfig } from '../text-base/cell-view';
7
8
  export type TableColumnDateTextCellRecord = TableNumberField<'value'>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/date-text/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DesignSystem,\n DesignTokenSubscriber\n} from '@microsoft/fast-foundation';\nimport { attr } from '@microsoft/fast-element';\nimport { styles } from '../base/styles';\nimport { template } from '../base/template';\nimport type { TableNumberField } from '../../table/types';\nimport { TableColumnTextBase, mixinTextBase } from '../text-base';\nimport { TableColumnSortOperation } from '../base/types';\nimport { tableColumnDateTextGroupHeaderViewTag } from './group-header-view';\nimport { tableColumnDateTextCellViewTag } from './cell-view';\nimport type { ColumnInternalsOptions } from '../base/models/column-internals';\nimport {\n DateTextFormat,\n LocaleMatcherAlgorithm,\n EraFormat,\n YearFormat,\n DayFormat,\n HourFormat,\n MinuteFormat,\n SecondFormat,\n TimeZoneNameFormat,\n FormatMatcherAlgorithm,\n DayPeriodFormat,\n DateStyle,\n TimeStyle,\n HourCycleFormat,\n MonthFormat,\n WeekdayFormat\n} from './types';\nimport { TableColumnDateTextValidator } from './models/table-column-date-text-validator';\nimport { lang } from '../../theme-provider';\nimport { optionalBooleanConverter } from '../../utilities/models/converter';\nimport type { TableColumnTextBaseColumnConfig } from '../text-base/cell-view';\n\nexport type TableColumnDateTextCellRecord = TableNumberField<'value'>;\nexport interface TableColumnDateTextColumnConfig\n extends TableColumnTextBaseColumnConfig {\n formatter: Intl.DateTimeFormat;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-date-text': TableColumnDateText;\n }\n}\n\n/**\n * The table column for displaying dates/times as text.\n */\nexport class TableColumnDateText extends mixinTextBase(\n TableColumnTextBase<\n TableColumnDateTextColumnConfig,\n TableColumnDateTextValidator\n >\n) {\n @attr\n public format: DateTextFormat;\n\n @attr({ attribute: 'custom-locale-matcher' })\n public customLocaleMatcher: LocaleMatcherAlgorithm;\n\n @attr({ attribute: 'custom-weekday' })\n public customWeekday: WeekdayFormat;\n\n @attr({ attribute: 'custom-era' })\n public customEra: EraFormat;\n\n @attr({ attribute: 'custom-year' })\n public customYear: YearFormat;\n\n @attr({ attribute: 'custom-month' })\n public customMonth: MonthFormat;\n\n @attr({ attribute: 'custom-day' })\n public customDay: DayFormat;\n\n @attr({ attribute: 'custom-hour' })\n public customHour: HourFormat;\n\n @attr({ attribute: 'custom-minute' })\n public customMinute: MinuteFormat;\n\n @attr({ attribute: 'custom-second' })\n public customSecond: SecondFormat;\n\n @attr({ attribute: 'custom-time-zone-name' })\n public customTimeZoneName: TimeZoneNameFormat;\n\n @attr({ attribute: 'custom-format-matcher' })\n public customFormatMatcher: FormatMatcherAlgorithm;\n\n // Later versions of FAST (than the legacy branch we're on) have a nullableBooleanConverter.\n // We should replace our converter with that one when it is available to us.\n // See issue related to adopting FastElement 2.0: https://github.com/ni/nimble/issues/572\n @attr({ attribute: 'custom-hour12', converter: optionalBooleanConverter })\n public customHour12?: boolean;\n\n @attr({ attribute: 'custom-time-zone' })\n public customTimeZone?: string;\n\n @attr({ attribute: 'custom-calendar' })\n public customCalendar?: string;\n\n @attr({ attribute: 'custom-day-period' })\n public customDayPeriod: DayPeriodFormat;\n\n @attr({ attribute: 'custom-numbering-system' })\n public customNumberingSystem?: string;\n\n @attr({ attribute: 'custom-date-style' })\n public customDateStyle: DateStyle;\n\n @attr({ attribute: 'custom-time-style' })\n public customTimeStyle: TimeStyle;\n\n @attr({ attribute: 'custom-hour-cycle' })\n public customHourCycle: HourCycleFormat;\n\n private readonly langSubscriber: DesignTokenSubscriber<typeof lang> = {\n handleChange: () => {\n this.updateColumnConfig();\n }\n };\n\n public override connectedCallback(): void {\n super.connectedCallback();\n lang.subscribe(this.langSubscriber, this);\n this.updateColumnConfig();\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n lang.unsubscribe(this.langSubscriber, this);\n }\n\n public placeholderChanged(): void {\n this.updateColumnConfig();\n }\n\n protected override getColumnInternalsOptions(): ColumnInternalsOptions<TableColumnDateTextValidator> {\n return {\n cellRecordFieldNames: ['value'],\n cellViewTag: tableColumnDateTextCellViewTag,\n groupHeaderViewTag: tableColumnDateTextGroupHeaderViewTag,\n delegatedEvents: [],\n sortOperation: TableColumnSortOperation.basic,\n validator: new TableColumnDateTextValidator()\n };\n }\n\n protected formatChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customLocaleMatcherChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customWeekdayChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customEraChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customYearChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customMonthChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customDayChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customHourChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customMinuteChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customSecondChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customTimeZoneNameChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customFormatMatcherChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customHour12Changed(): void {\n this.updateColumnConfig();\n }\n\n protected customTimeZoneChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customCalendarChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customDayPeriodChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customNumberingSystemChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customDateStyleChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customTimeStyleChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customHourCycleChanged(): void {\n this.updateColumnConfig();\n }\n\n private updateColumnConfig(): void {\n const formatter = this.createFormatter();\n\n if (formatter) {\n const columnConfig: TableColumnDateTextColumnConfig = {\n formatter,\n placeholder: this.placeholder\n };\n this.columnInternals.columnConfig = columnConfig;\n this.columnInternals.validator.setCustomOptionsValidity(true);\n } else {\n this.columnInternals.columnConfig = undefined;\n this.columnInternals.validator.setCustomOptionsValidity(false);\n }\n }\n\n private createFormatter(): Intl.DateTimeFormat | undefined {\n let options: Intl.DateTimeFormatOptions;\n if (this.format === DateTextFormat.default) {\n options = {\n dateStyle: 'medium',\n timeStyle: 'medium'\n };\n } else {\n options = this.getCustomFormattingOptions();\n }\n try {\n return new Intl.DateTimeFormat(lang.getValueFor(this), options);\n } catch (e) {\n return undefined;\n }\n }\n\n private getCustomFormattingOptions(): Intl.DateTimeFormatOptions {\n // There's a FAST bug (https://github.com/microsoft/fast/issues/6630) where removing\n // attributes sets their values to null instead of undefined. To work around this,\n // translate null values to undefined.\n const options: Intl.DateTimeFormatOptions = {\n localeMatcher: this.customLocaleMatcher ?? undefined,\n weekday: this.customWeekday ?? undefined,\n era: this.customEra ?? undefined,\n year: this.customYear ?? undefined,\n month: this.customMonth ?? undefined,\n day: this.customDay ?? undefined,\n hour: this.customHour ?? undefined,\n minute: this.customMinute ?? undefined,\n second: this.customSecond ?? undefined,\n timeZoneName: this.customTimeZoneName ?? undefined,\n formatMatcher: this.customFormatMatcher ?? undefined,\n hour12: this.customHour12 ?? undefined,\n timeZone: this.customTimeZone ?? undefined,\n calendar: this.customCalendar ?? undefined,\n dayPeriod: this.customDayPeriod ?? undefined,\n numberingSystem: this.customNumberingSystem ?? undefined,\n dateStyle: this.customDateStyle ?? undefined,\n timeStyle: this.customTimeStyle ?? undefined,\n hourCycle: this.customHourCycle ?? undefined\n };\n return options;\n }\n}\n\nconst nimbleTableColumnDateText = TableColumnDateText.compose({\n baseName: 'table-column-date-text',\n template,\n styles\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleTableColumnDateText());\nexport const tableColumnDateTextTag = 'nimble-table-column-date-text';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/date-text/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DesignSystem,\n type DesignTokenSubscriber\n} from '@microsoft/fast-foundation';\nimport { attr } from '@microsoft/fast-element';\nimport { styles } from '../base/styles';\nimport { template } from '../base/template';\nimport type { TableNumberField } from '../../table/types';\nimport { TableColumnTextBase, mixinTextBase } from '../text-base';\nimport { TableColumnSortOperation } from '../base/types';\nimport { tableColumnDateTextGroupHeaderViewTag } from './group-header-view';\nimport { tableColumnDateTextCellViewTag } from './cell-view';\nimport type { ColumnInternalsOptions } from '../base/models/column-internals';\nimport { DateTextFormat } from './types';\nimport type {\n LocaleMatcherAlgorithm,\n EraFormat,\n YearFormat,\n DayFormat,\n HourFormat,\n MinuteFormat,\n SecondFormat,\n TimeZoneNameFormat,\n FormatMatcherAlgorithm,\n DayPeriodFormat,\n DateStyle,\n TimeStyle,\n HourCycleFormat,\n MonthFormat,\n WeekdayFormat\n} from './types';\nimport { TableColumnDateTextValidator } from './models/table-column-date-text-validator';\nimport { lang } from '../../theme-provider';\nimport { optionalBooleanConverter } from '../../utilities/models/converter';\nimport type { TableColumnTextBaseColumnConfig } from '../text-base/cell-view';\n\nexport type TableColumnDateTextCellRecord = TableNumberField<'value'>;\nexport interface TableColumnDateTextColumnConfig\n extends TableColumnTextBaseColumnConfig {\n formatter: Intl.DateTimeFormat;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-date-text': TableColumnDateText;\n }\n}\n\n/**\n * The table column for displaying dates/times as text.\n */\nexport class TableColumnDateText extends mixinTextBase(\n TableColumnTextBase<\n TableColumnDateTextColumnConfig,\n TableColumnDateTextValidator\n >\n) {\n @attr\n public format: DateTextFormat;\n\n @attr({ attribute: 'custom-locale-matcher' })\n public customLocaleMatcher: LocaleMatcherAlgorithm;\n\n @attr({ attribute: 'custom-weekday' })\n public customWeekday: WeekdayFormat;\n\n @attr({ attribute: 'custom-era' })\n public customEra: EraFormat;\n\n @attr({ attribute: 'custom-year' })\n public customYear: YearFormat;\n\n @attr({ attribute: 'custom-month' })\n public customMonth: MonthFormat;\n\n @attr({ attribute: 'custom-day' })\n public customDay: DayFormat;\n\n @attr({ attribute: 'custom-hour' })\n public customHour: HourFormat;\n\n @attr({ attribute: 'custom-minute' })\n public customMinute: MinuteFormat;\n\n @attr({ attribute: 'custom-second' })\n public customSecond: SecondFormat;\n\n @attr({ attribute: 'custom-time-zone-name' })\n public customTimeZoneName: TimeZoneNameFormat;\n\n @attr({ attribute: 'custom-format-matcher' })\n public customFormatMatcher: FormatMatcherAlgorithm;\n\n // Later versions of FAST (than the legacy branch we're on) have a nullableBooleanConverter.\n // We should replace our converter with that one when it is available to us.\n // See issue related to adopting FastElement 2.0: https://github.com/ni/nimble/issues/572\n @attr({ attribute: 'custom-hour12', converter: optionalBooleanConverter })\n public customHour12?: boolean;\n\n @attr({ attribute: 'custom-time-zone' })\n public customTimeZone?: string;\n\n @attr({ attribute: 'custom-calendar' })\n public customCalendar?: string;\n\n @attr({ attribute: 'custom-day-period' })\n public customDayPeriod: DayPeriodFormat;\n\n @attr({ attribute: 'custom-numbering-system' })\n public customNumberingSystem?: string;\n\n @attr({ attribute: 'custom-date-style' })\n public customDateStyle: DateStyle;\n\n @attr({ attribute: 'custom-time-style' })\n public customTimeStyle: TimeStyle;\n\n @attr({ attribute: 'custom-hour-cycle' })\n public customHourCycle: HourCycleFormat;\n\n private readonly langSubscriber: DesignTokenSubscriber<typeof lang> = {\n handleChange: () => {\n this.updateColumnConfig();\n }\n };\n\n public override connectedCallback(): void {\n super.connectedCallback();\n lang.subscribe(this.langSubscriber, this);\n this.updateColumnConfig();\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n lang.unsubscribe(this.langSubscriber, this);\n }\n\n public placeholderChanged(): void {\n this.updateColumnConfig();\n }\n\n protected override getColumnInternalsOptions(): ColumnInternalsOptions<TableColumnDateTextValidator> {\n return {\n cellRecordFieldNames: ['value'],\n cellViewTag: tableColumnDateTextCellViewTag,\n groupHeaderViewTag: tableColumnDateTextGroupHeaderViewTag,\n delegatedEvents: [],\n sortOperation: TableColumnSortOperation.basic,\n validator: new TableColumnDateTextValidator()\n };\n }\n\n protected formatChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customLocaleMatcherChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customWeekdayChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customEraChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customYearChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customMonthChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customDayChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customHourChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customMinuteChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customSecondChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customTimeZoneNameChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customFormatMatcherChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customHour12Changed(): void {\n this.updateColumnConfig();\n }\n\n protected customTimeZoneChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customCalendarChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customDayPeriodChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customNumberingSystemChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customDateStyleChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customTimeStyleChanged(): void {\n this.updateColumnConfig();\n }\n\n protected customHourCycleChanged(): void {\n this.updateColumnConfig();\n }\n\n private updateColumnConfig(): void {\n const formatter = this.createFormatter();\n\n if (formatter) {\n const columnConfig: TableColumnDateTextColumnConfig = {\n formatter,\n placeholder: this.placeholder\n };\n this.columnInternals.columnConfig = columnConfig;\n this.columnInternals.validator.setCustomOptionsValidity(true);\n } else {\n this.columnInternals.columnConfig = undefined;\n this.columnInternals.validator.setCustomOptionsValidity(false);\n }\n }\n\n private createFormatter(): Intl.DateTimeFormat | undefined {\n let options: Intl.DateTimeFormatOptions;\n if (this.format === DateTextFormat.default) {\n options = {\n dateStyle: 'medium',\n timeStyle: 'medium'\n };\n } else {\n options = this.getCustomFormattingOptions();\n }\n try {\n return new Intl.DateTimeFormat(lang.getValueFor(this), options);\n } catch (e) {\n return undefined;\n }\n }\n\n private getCustomFormattingOptions(): Intl.DateTimeFormatOptions {\n // There's a FAST bug (https://github.com/microsoft/fast/issues/6630) where removing\n // attributes sets their values to null instead of undefined. To work around this,\n // translate null values to undefined.\n const options: Intl.DateTimeFormatOptions = {\n localeMatcher: this.customLocaleMatcher ?? undefined,\n weekday: this.customWeekday ?? undefined,\n era: this.customEra ?? undefined,\n year: this.customYear ?? undefined,\n month: this.customMonth ?? undefined,\n day: this.customDay ?? undefined,\n hour: this.customHour ?? undefined,\n minute: this.customMinute ?? undefined,\n second: this.customSecond ?? undefined,\n timeZoneName: this.customTimeZoneName ?? undefined,\n formatMatcher: this.customFormatMatcher ?? undefined,\n hour12: this.customHour12 ?? undefined,\n timeZone: this.customTimeZone ?? undefined,\n calendar: this.customCalendar ?? undefined,\n dayPeriod: this.customDayPeriod ?? undefined,\n numberingSystem: this.customNumberingSystem ?? undefined,\n dateStyle: this.customDateStyle ?? undefined,\n timeStyle: this.customTimeStyle ?? undefined,\n hourCycle: this.customHourCycle ?? undefined\n };\n return options;\n }\n}\n\nconst nimbleTableColumnDateText = TableColumnDateText.compose({\n baseName: 'table-column-date-text',\n template,\n styles\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleTableColumnDateText());\nexport const tableColumnDateTextTag = 'nimble-table-column-date-text';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/duration-text/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EAEf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,kCAAkC,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,yCAAyC,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAclE;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,aAAa,CACtD,CAAA,mBAAwD,CAAA,CAC3D;IAFD;;QAGqB,mBAAc,GAAuC;YAClE,YAAY,EAAE,GAAG,EAAE;gBACf,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9B,CAAC;SACJ,CAAC;IAqCN,CAAC;IAnCmB,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEe,oBAAoB;QAChC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAEM,kBAAkB;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEkB,yBAAyB;QACxC,OAAO;YACH,oBAAoB,EAAE,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,kCAAkC;YAC/C,kBAAkB,EAAE,yCAAyC;YAC7D,eAAe,EAAE,EAAE;YACnB,aAAa,EAAE,wBAAwB,CAAC,KAAK;YAC7C,SAAS,EAAE,IAAI,eAAe,CAAK,EAAE,CAAC;SACzC,CAAC;IACN,CAAC;IAEO,kBAAkB;QACtB,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhE,MAAM,YAAY,GAAwC;YACtD,SAAS;YACT,WAAW,EAAE,IAAI,CAAC,WAAW;SAChC,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,YAAY,CAAC;IACrD,CAAC;CACJ;AAED,MAAM,6BAA6B,GAAG,uBAAuB,CAAC,OAAO,CAAC;IAClE,QAAQ,EAAE,4BAA4B;IACtC,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,6BAA6B,EAAE,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,0BAA0B,GAAG,mCAAmC,CAAC","sourcesContent":["import {\n DesignSystem,\n DesignTokenSubscriber\n} from '@microsoft/fast-foundation';\nimport { styles } from '../base/styles';\nimport { template } from '../base/template';\nimport type { TableNumberField } from '../../table/types';\nimport { TableColumnSortOperation } from '../base/types';\nimport { tableColumnDurationTextCellViewTag } from './cell-view';\nimport type { ColumnInternalsOptions } from '../base/models/column-internals';\nimport { lang } from '../../theme-provider';\nimport { DurationFormatter } from './models/duration-formatter';\nimport { tableColumnDurationTextGroupHeaderViewTag } from './group-header-view';\nimport type { TableColumnTextBaseColumnConfig } from '../text-base/cell-view';\nimport { TableColumnTextBase, mixinTextBase } from '../text-base';\nimport { ColumnValidator } from '../base/models/column-validator';\n\nexport type TableColumnDurationTextCellRecord = TableNumberField<'value'>;\nexport interface TableColumnDurationTextColumnConfig\n extends TableColumnTextBaseColumnConfig {\n formatter: DurationFormatter;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-duration-text': TableColumnDurationText;\n }\n}\n\n/**\n * The table column for displaying a duration value as text.\n */\nexport class TableColumnDurationText extends mixinTextBase(\n TableColumnTextBase<TableColumnDurationTextColumnConfig>\n) {\n private readonly langSubscriber: DesignTokenSubscriber<typeof lang> = {\n handleChange: () => {\n this.updateColumnConfig();\n }\n };\n\n public override connectedCallback(): void {\n super.connectedCallback();\n lang.subscribe(this.langSubscriber, this);\n this.updateColumnConfig();\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n lang.unsubscribe(this.langSubscriber, this);\n }\n\n public placeholderChanged(): void {\n this.updateColumnConfig();\n }\n\n protected override getColumnInternalsOptions(): ColumnInternalsOptions {\n return {\n cellRecordFieldNames: ['value'],\n cellViewTag: tableColumnDurationTextCellViewTag,\n groupHeaderViewTag: tableColumnDurationTextGroupHeaderViewTag,\n delegatedEvents: [],\n sortOperation: TableColumnSortOperation.basic,\n validator: new ColumnValidator<[]>([])\n };\n }\n\n private updateColumnConfig(): void {\n const formatter = new DurationFormatter(lang.getValueFor(this));\n\n const columnConfig: TableColumnDurationTextColumnConfig = {\n formatter,\n placeholder: this.placeholder\n };\n this.columnInternals.columnConfig = columnConfig;\n }\n}\n\nconst nimbleTableColumnDurationText = TableColumnDurationText.compose({\n baseName: 'table-column-duration-text',\n template,\n styles\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleTableColumnDurationText());\nexport const tableColumnDurationTextTag = 'nimble-table-column-duration-text';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/duration-text/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EAEf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,kCAAkC,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,yCAAyC,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAclE;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,aAAa,CACtD,CAAA,mBAAwD,CAAA,CAC3D;IAFD;;QAGqB,mBAAc,GAAuC;YAClE,YAAY,EAAE,GAAG,EAAE;gBACf,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9B,CAAC;SACJ,CAAC;IAqCN,CAAC;IAnCmB,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEe,oBAAoB;QAChC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAEM,kBAAkB;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEkB,yBAAyB;QACxC,OAAO;YACH,oBAAoB,EAAE,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,kCAAkC;YAC/C,kBAAkB,EAAE,yCAAyC;YAC7D,eAAe,EAAE,EAAE;YACnB,aAAa,EAAE,wBAAwB,CAAC,KAAK;YAC7C,SAAS,EAAE,IAAI,eAAe,CAAK,EAAE,CAAC;SACzC,CAAC;IACN,CAAC;IAEO,kBAAkB;QACtB,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhE,MAAM,YAAY,GAAwC;YACtD,SAAS;YACT,WAAW,EAAE,IAAI,CAAC,WAAW;SAChC,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,YAAY,CAAC;IACrD,CAAC;CACJ;AAED,MAAM,6BAA6B,GAAG,uBAAuB,CAAC,OAAO,CAAC;IAClE,QAAQ,EAAE,4BAA4B;IACtC,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,6BAA6B,EAAE,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,0BAA0B,GAAG,mCAAmC,CAAC","sourcesContent":["import {\n DesignSystem,\n type DesignTokenSubscriber\n} from '@microsoft/fast-foundation';\nimport { styles } from '../base/styles';\nimport { template } from '../base/template';\nimport type { TableNumberField } from '../../table/types';\nimport { TableColumnSortOperation } from '../base/types';\nimport { tableColumnDurationTextCellViewTag } from './cell-view';\nimport type { ColumnInternalsOptions } from '../base/models/column-internals';\nimport { lang } from '../../theme-provider';\nimport { DurationFormatter } from './models/duration-formatter';\nimport { tableColumnDurationTextGroupHeaderViewTag } from './group-header-view';\nimport type { TableColumnTextBaseColumnConfig } from '../text-base/cell-view';\nimport { TableColumnTextBase, mixinTextBase } from '../text-base';\nimport { ColumnValidator } from '../base/models/column-validator';\n\nexport type TableColumnDurationTextCellRecord = TableNumberField<'value'>;\nexport interface TableColumnDurationTextColumnConfig\n extends TableColumnTextBaseColumnConfig {\n formatter: DurationFormatter;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-duration-text': TableColumnDurationText;\n }\n}\n\n/**\n * The table column for displaying a duration value as text.\n */\nexport class TableColumnDurationText extends mixinTextBase(\n TableColumnTextBase<TableColumnDurationTextColumnConfig>\n) {\n private readonly langSubscriber: DesignTokenSubscriber<typeof lang> = {\n handleChange: () => {\n this.updateColumnConfig();\n }\n };\n\n public override connectedCallback(): void {\n super.connectedCallback();\n lang.subscribe(this.langSubscriber, this);\n this.updateColumnConfig();\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n lang.unsubscribe(this.langSubscriber, this);\n }\n\n public placeholderChanged(): void {\n this.updateColumnConfig();\n }\n\n protected override getColumnInternalsOptions(): ColumnInternalsOptions {\n return {\n cellRecordFieldNames: ['value'],\n cellViewTag: tableColumnDurationTextCellViewTag,\n groupHeaderViewTag: tableColumnDurationTextGroupHeaderViewTag,\n delegatedEvents: [],\n sortOperation: TableColumnSortOperation.basic,\n validator: new ColumnValidator<[]>([])\n };\n }\n\n private updateColumnConfig(): void {\n const formatter = new DurationFormatter(lang.getValueFor(this));\n\n const columnConfig: TableColumnDurationTextColumnConfig = {\n formatter,\n placeholder: this.placeholder\n };\n this.columnInternals.columnConfig = columnConfig;\n }\n}\n\nconst nimbleTableColumnDurationText = TableColumnDurationText.compose({\n baseName: 'table-column-duration-text',\n template,\n styles\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleTableColumnDurationText());\nexport const tableColumnDurationTextTag = 'nimble-table-column-duration-text';\n"]}
@@ -1,4 +1,4 @@
1
- import { Notifier, Subscriber } from '@microsoft/fast-element';
1
+ import { type Notifier, type Subscriber } from '@microsoft/fast-element';
2
2
  import type { TableStringField, TableBooleanField, TableNumberField } from '../../table/types';
3
3
  import { TableColumn } from '../base';
4
4
  import { Mapping } from '../../mapping/base';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/enum-base/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n attr,\n Notifier,\n Observable,\n observable,\n Subscriber\n} from '@microsoft/fast-element';\nimport type {\n TableStringField,\n TableBooleanField,\n TableNumberField\n} from '../../table/types';\nimport { TableColumn } from '../base';\nimport { Mapping } from '../../mapping/base';\nimport type { MappingKeyType } from './types';\nimport type { MappingConfig } from './models/mapping-config';\nimport type { MappingKey } from '../../mapping/base/types';\nimport { resolveKeyWithType } from './models/mapping-key-resolver';\nimport type { TableColumnEnumBaseValidator } from './models/table-column-enum-base-validator';\nimport type { TableColumnTextBaseColumnConfig } from '../text-base/cell-view';\n\nexport type TableColumnEnumCellRecord =\n | TableStringField<'value'>\n | TableBooleanField<'value'>\n | TableNumberField<'value'>;\nexport type MappingConfigs = Map<MappingKey, MappingConfig>;\nexport interface TableColumnEnumColumnConfig\n extends TableColumnTextBaseColumnConfig {\n mappingConfigs: MappingConfigs;\n}\n\n/**\n * Base class for table columns that map values to content\n */\nexport abstract class TableColumnEnumBase<\n TColumnConfig extends TableColumnEnumColumnConfig,\n TEnumValidator extends TableColumnEnumBaseValidator<[]>\n>\n extends TableColumn<TColumnConfig, TEnumValidator>\n implements Subscriber {\n /** @internal */\n public mappingNotifiers: Notifier[] = [];\n\n /** @internal */\n @observable\n public mappings: Mapping<unknown>[] = [];\n\n @attr({ attribute: 'field-name' })\n public fieldName?: string;\n\n @attr({ attribute: 'key-type' })\n public keyType: MappingKeyType = 'string';\n\n /**\n * @internal\n *\n * Triggers a request to update the columnConfig when any observable property on\n * a mapping is updated.\n */\n public handleChange(source: unknown, args: unknown): void {\n if (source instanceof Mapping && typeof args === 'string') {\n this.updateColumnConfig();\n }\n }\n\n /**\n * Implementations should throw an error if an invalid Mapping is passed.\n */\n protected abstract createMappingConfig(\n mapping: Mapping<unknown>\n ): MappingConfig;\n\n protected abstract createColumnConfig(\n mappingConfigs: MappingConfigs\n ): TColumnConfig;\n\n /**\n * Called when any Mapping related state has changed.\n */\n private updateColumnConfig(): void {\n this.columnInternals.validator.validate(this.mappings, this.keyType);\n this.columnInternals.columnConfig = this.checkValidity()\n ? this.createColumnConfig(this.getMappingConfigs())\n : undefined;\n }\n\n private getMappingConfigs(): MappingConfigs {\n const mappingConfigs = new Map<MappingKey, MappingConfig>();\n this.mappings.forEach(mapping => {\n const key = resolveKeyWithType(mapping.key, this.keyType);\n if (key === undefined) {\n throw Error(\n 'Key was invalid for type. Validation should have prevented this.'\n );\n }\n const mappingConfig = this.createMappingConfig(mapping);\n mappingConfigs.set(key, mappingConfig);\n });\n return mappingConfigs;\n }\n\n private fieldNameChanged(): void {\n this.columnInternals.dataRecordFieldNames = [this.fieldName];\n this.columnInternals.operandDataRecordFieldName = this.fieldName;\n }\n\n private mappingsChanged(): void {\n this.updateColumnConfig();\n this.observeMappings();\n }\n\n private keyTypeChanged(): void {\n this.updateColumnConfig();\n }\n\n private removeMappingObservers(): void {\n this.mappingNotifiers.forEach(notifier => {\n notifier.unsubscribe(this);\n });\n this.mappingNotifiers = [];\n }\n\n private observeMappings(): void {\n this.removeMappingObservers();\n\n for (const mapping of this.mappings) {\n const notifier = Observable.getNotifier(mapping);\n notifier.subscribe(this);\n this.mappingNotifiers.push(notifier);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/enum-base/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n attr,\n type Notifier,\n Observable,\n observable,\n type Subscriber\n} from '@microsoft/fast-element';\nimport type {\n TableStringField,\n TableBooleanField,\n TableNumberField\n} from '../../table/types';\nimport { TableColumn } from '../base';\nimport { Mapping } from '../../mapping/base';\nimport type { MappingKeyType } from './types';\nimport type { MappingConfig } from './models/mapping-config';\nimport type { MappingKey } from '../../mapping/base/types';\nimport { resolveKeyWithType } from './models/mapping-key-resolver';\nimport type { TableColumnEnumBaseValidator } from './models/table-column-enum-base-validator';\nimport type { TableColumnTextBaseColumnConfig } from '../text-base/cell-view';\n\nexport type TableColumnEnumCellRecord =\n | TableStringField<'value'>\n | TableBooleanField<'value'>\n | TableNumberField<'value'>;\nexport type MappingConfigs = Map<MappingKey, MappingConfig>;\nexport interface TableColumnEnumColumnConfig\n extends TableColumnTextBaseColumnConfig {\n mappingConfigs: MappingConfigs;\n}\n\n/**\n * Base class for table columns that map values to content\n */\nexport abstract class TableColumnEnumBase<\n TColumnConfig extends TableColumnEnumColumnConfig,\n TEnumValidator extends TableColumnEnumBaseValidator<[]>\n>\n extends TableColumn<TColumnConfig, TEnumValidator>\n implements Subscriber {\n /** @internal */\n public mappingNotifiers: Notifier[] = [];\n\n /** @internal */\n @observable\n public mappings: Mapping<unknown>[] = [];\n\n @attr({ attribute: 'field-name' })\n public fieldName?: string;\n\n @attr({ attribute: 'key-type' })\n public keyType: MappingKeyType = 'string';\n\n /**\n * @internal\n *\n * Triggers a request to update the columnConfig when any observable property on\n * a mapping is updated.\n */\n public handleChange(source: unknown, args: unknown): void {\n if (source instanceof Mapping && typeof args === 'string') {\n this.updateColumnConfig();\n }\n }\n\n /**\n * Implementations should throw an error if an invalid Mapping is passed.\n */\n protected abstract createMappingConfig(\n mapping: Mapping<unknown>\n ): MappingConfig;\n\n protected abstract createColumnConfig(\n mappingConfigs: MappingConfigs\n ): TColumnConfig;\n\n /**\n * Called when any Mapping related state has changed.\n */\n private updateColumnConfig(): void {\n this.columnInternals.validator.validate(this.mappings, this.keyType);\n this.columnInternals.columnConfig = this.checkValidity()\n ? this.createColumnConfig(this.getMappingConfigs())\n : undefined;\n }\n\n private getMappingConfigs(): MappingConfigs {\n const mappingConfigs = new Map<MappingKey, MappingConfig>();\n this.mappings.forEach(mapping => {\n const key = resolveKeyWithType(mapping.key, this.keyType);\n if (key === undefined) {\n throw Error(\n 'Key was invalid for type. Validation should have prevented this.'\n );\n }\n const mappingConfig = this.createMappingConfig(mapping);\n mappingConfigs.set(key, mappingConfig);\n });\n return mappingConfigs;\n }\n\n private fieldNameChanged(): void {\n this.columnInternals.dataRecordFieldNames = [this.fieldName];\n this.columnInternals.operandDataRecordFieldName = this.fieldName;\n }\n\n private mappingsChanged(): void {\n this.updateColumnConfig();\n this.observeMappings();\n }\n\n private keyTypeChanged(): void {\n this.updateColumnConfig();\n }\n\n private removeMappingObservers(): void {\n this.mappingNotifiers.forEach(notifier => {\n notifier.unsubscribe(this);\n });\n this.mappingNotifiers = [];\n }\n\n private observeMappings(): void {\n this.removeMappingObservers();\n\n for (const mapping of this.mappings) {\n const notifier = Observable.getNotifier(mapping);\n notifier.subscribe(this);\n this.mappingNotifiers.push(notifier);\n }\n }\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  import { ViewTemplate } from '@microsoft/fast-element';
2
2
  import { TableCellView } from '../../base/cell-view';
3
3
  import type { TableColumnEnumCellRecord, TableColumnEnumColumnConfig } from '../../enum-base';
4
- import { IconView } from '../../enum-base/models/mapping-icon-config';
4
+ import { type IconView } from '../../enum-base/models/mapping-icon-config';
5
5
  import { IconSeverity } from '../../../icon-base/types';
6
- import { SpinnerView } from '../../enum-base/models/mapping-spinner-config';
6
+ import { type SpinnerView } from '../../enum-base/models/mapping-spinner-config';
7
7
  declare global {
8
8
  interface HTMLElementTagNameMap {
9
9
  'nimble-table-column-mapping-cell-view': TableColumnMappingCellView;
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { DesignSystem } from '@microsoft/fast-foundation';
3
- import { observable } from '@microsoft/fast-element';
3
+ import { ViewTemplate, observable } from '@microsoft/fast-element';
4
4
  import { TableCellView } from '../../base/cell-view';
5
5
  import { styles } from './styles';
6
6
  import { template } from './template';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/mapping/cell-view/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { DesignSystem } from '@microsoft/fast-foundation';\nimport { ViewTemplate, observable } from '@microsoft/fast-element';\nimport { TableCellView } from '../../base/cell-view';\nimport { styles } from './styles';\nimport { template } from './template';\nimport type {\n TableColumnEnumCellRecord,\n TableColumnEnumColumnConfig\n} from '../../enum-base';\nimport {\n IconView,\n MappingIconConfig\n} from '../../enum-base/models/mapping-icon-config';\nimport { IconSeverity } from '../../../icon-base/types';\nimport {\n MappingSpinnerConfig,\n SpinnerView\n} from '../../enum-base/models/mapping-spinner-config';\nimport { MappingTextConfig } from '../../enum-base/models/mapping-text-config';\nimport { MappingEmptyConfig } from '../../enum-base/models/mapping-empty-config';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-mapping-cell-view': TableColumnMappingCellView;\n }\n}\n\n/**\n * The cell view for the mapping column\n */\nexport class TableColumnMappingCellView\n extends TableCellView<\n TableColumnEnumCellRecord,\n TableColumnEnumColumnConfig\n >\n implements IconView, SpinnerView {\n @observable\n public severity: IconSeverity;\n\n @observable\n public text?: string;\n\n @observable\n public visualizationTemplate?:\n | ViewTemplate<IconView>\n | ViewTemplate<SpinnerView>;\n\n @observable\n public textHidden = false;\n\n /** @internal */\n @observable\n public hasOverflow = false;\n\n private columnConfigChanged(): void {\n this.updateState();\n }\n\n private cellRecordChanged(): void {\n this.updateState();\n }\n\n private updateState(): void {\n this.resetState();\n\n if (!this.columnConfig || !this.cellRecord) {\n return;\n }\n const value = this.cellRecord.value;\n if (value === undefined || value === null) {\n return;\n }\n const mappingConfig = this.columnConfig.mappingConfigs.get(value);\n if (mappingConfig instanceof MappingIconConfig) {\n this.severity = mappingConfig.severity;\n this.text = mappingConfig.text;\n this.visualizationTemplate = mappingConfig.iconTemplate;\n this.textHidden = mappingConfig.textHidden;\n } else if (mappingConfig instanceof MappingSpinnerConfig) {\n this.text = mappingConfig.text;\n this.visualizationTemplate = mappingConfig.spinnerTemplate;\n this.textHidden = mappingConfig.textHidden;\n } else if (mappingConfig instanceof MappingTextConfig) {\n this.text = mappingConfig.text;\n this.textHidden = false;\n } else if (mappingConfig instanceof MappingEmptyConfig) {\n this.text = mappingConfig.text;\n this.textHidden = true;\n }\n }\n\n private resetState(): void {\n this.text = undefined;\n this.textHidden = false;\n this.visualizationTemplate = undefined;\n this.severity = IconSeverity.default;\n }\n}\n\nconst mappingCellView = TableColumnMappingCellView.compose({\n baseName: 'table-column-mapping-cell-view',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(mappingCellView());\nexport const tableColumnMappingCellViewTag = 'nimble-table-column-mapping-cell-view';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/mapping/cell-view/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { DesignSystem } from '@microsoft/fast-foundation';\nimport { ViewTemplate, observable } from '@microsoft/fast-element';\nimport { TableCellView } from '../../base/cell-view';\nimport { styles } from './styles';\nimport { template } from './template';\nimport type {\n TableColumnEnumCellRecord,\n TableColumnEnumColumnConfig\n} from '../../enum-base';\nimport {\n type IconView,\n MappingIconConfig\n} from '../../enum-base/models/mapping-icon-config';\nimport { IconSeverity } from '../../../icon-base/types';\nimport {\n MappingSpinnerConfig,\n type SpinnerView\n} from '../../enum-base/models/mapping-spinner-config';\nimport { MappingTextConfig } from '../../enum-base/models/mapping-text-config';\nimport { MappingEmptyConfig } from '../../enum-base/models/mapping-empty-config';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-mapping-cell-view': TableColumnMappingCellView;\n }\n}\n\n/**\n * The cell view for the mapping column\n */\nexport class TableColumnMappingCellView\n extends TableCellView<\n TableColumnEnumCellRecord,\n TableColumnEnumColumnConfig\n >\n implements IconView, SpinnerView {\n @observable\n public severity: IconSeverity;\n\n @observable\n public text?: string;\n\n @observable\n public visualizationTemplate?:\n | ViewTemplate<IconView>\n | ViewTemplate<SpinnerView>;\n\n @observable\n public textHidden = false;\n\n /** @internal */\n @observable\n public hasOverflow = false;\n\n private columnConfigChanged(): void {\n this.updateState();\n }\n\n private cellRecordChanged(): void {\n this.updateState();\n }\n\n private updateState(): void {\n this.resetState();\n\n if (!this.columnConfig || !this.cellRecord) {\n return;\n }\n const value = this.cellRecord.value;\n if (value === undefined || value === null) {\n return;\n }\n const mappingConfig = this.columnConfig.mappingConfigs.get(value);\n if (mappingConfig instanceof MappingIconConfig) {\n this.severity = mappingConfig.severity;\n this.text = mappingConfig.text;\n this.visualizationTemplate = mappingConfig.iconTemplate;\n this.textHidden = mappingConfig.textHidden;\n } else if (mappingConfig instanceof MappingSpinnerConfig) {\n this.text = mappingConfig.text;\n this.visualizationTemplate = mappingConfig.spinnerTemplate;\n this.textHidden = mappingConfig.textHidden;\n } else if (mappingConfig instanceof MappingTextConfig) {\n this.text = mappingConfig.text;\n this.textHidden = false;\n } else if (mappingConfig instanceof MappingEmptyConfig) {\n this.text = mappingConfig.text;\n this.textHidden = true;\n }\n }\n\n private resetState(): void {\n this.text = undefined;\n this.textHidden = false;\n this.visualizationTemplate = undefined;\n this.severity = IconSeverity.default;\n }\n}\n\nconst mappingCellView = TableColumnMappingCellView.compose({\n baseName: 'table-column-mapping-cell-view',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(mappingCellView());\nexport const tableColumnMappingCellViewTag = 'nimble-table-column-mapping-cell-view';\n"]}
@@ -3,7 +3,7 @@ import type { TableColumnEnumColumnConfig } from '../../enum-base';
3
3
  import type { TableFieldValue } from '../../../table/types';
4
4
  import { IconSeverity } from '../../../icon-base/types';
5
5
  import { type IconView } from '../../enum-base/models/mapping-icon-config';
6
- import { SpinnerView } from '../../enum-base/models/mapping-spinner-config';
6
+ import { type SpinnerView } from '../../enum-base/models/mapping-spinner-config';
7
7
  import { TableGroupHeaderView } from '../../base/group-header-view';
8
8
  declare global {
9
9
  interface HTMLElementTagNameMap {
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { DesignSystem } from '@microsoft/fast-foundation';
3
- import { observable } from '@microsoft/fast-element';
3
+ import { ViewTemplate, observable } from '@microsoft/fast-element';
4
4
  import { styles } from './styles';
5
5
  import { template } from './template';
6
6
  import { IconSeverity } from '../../../icon-base/types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/mapping/group-header-view/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAgB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EACH,iBAAiB,EAEpB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACH,oBAAoB,EAEvB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAQpE;;GAEG;AACH,MAAM,OAAO,iCACT,SAAQ,oBAAkE;IAD9E;;QAGI,gBAAgB;QAET,gBAAW,GAAG,KAAK,CAAC;QAGpB,SAAI,GAAG,EAAE,CAAC;QAUD,eAAU,GAAG,KAAK,CAAC;IAqCvC,CAAC;IAnCW,mBAAmB;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAEO,uBAAuB;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,KAAM,CAAC,CAAC;QACnE,IAAI,aAAa,YAAY,iBAAiB,EAAE,CAAC;YAC7C,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;YACvC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC,YAAY,CAAC;QAC5D,CAAC;aAAM,IAAI,aAAa,YAAY,oBAAoB,EAAE,CAAC;YACvD,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC,eAAe,CAAC;QAC/D,CAAC;aAAM,IAAI,aAAa,YAAY,iBAAiB,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;QACzC,CAAC;aAAM,IAAI,aAAa,YAAY,kBAAkB,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;QACzC,CAAC;IACL,CAAC;IAEO,UAAU;QACd,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC;IACzC,CAAC;CACJ;AAlDU;IADN,UAAU;sEACgB;AAGpB;IADN,UAAU;+DACM;AAGV;IADN,UAAU;mEACmB;AAGvB;IADN,UAAU;gFAGiB;AAyChC,MAAM,sBAAsB,GAAG,iCAAiC,CAAC,OAAO,CAAC;IACrE,QAAQ,EAAE,wCAAwC;IAClD,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,sBAAsB,EAAE,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,oCAAoC,GAAG,+CAA+C,CAAC","sourcesContent":["import { DesignSystem } from '@microsoft/fast-foundation';\nimport { ViewTemplate, observable } from '@microsoft/fast-element';\nimport { styles } from './styles';\nimport { template } from './template';\nimport type { TableColumnEnumColumnConfig } from '../../enum-base';\nimport type { TableFieldValue } from '../../../table/types';\nimport { IconSeverity } from '../../../icon-base/types';\nimport {\n MappingIconConfig,\n type IconView\n} from '../../enum-base/models/mapping-icon-config';\nimport {\n MappingSpinnerConfig,\n SpinnerView\n} from '../../enum-base/models/mapping-spinner-config';\nimport { MappingTextConfig } from '../../enum-base/models/mapping-text-config';\nimport { MappingEmptyConfig } from '../../enum-base/models/mapping-empty-config';\nimport { TableGroupHeaderView } from '../../base/group-header-view';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-mapping-group-header-view': TableColumnMappingGroupHeaderView;\n }\n}\n\n/**\n * The group header view for the mapping column\n */\nexport class TableColumnMappingGroupHeaderView\n extends TableGroupHeaderView<TableFieldValue, TableColumnEnumColumnConfig>\n implements IconView, SpinnerView {\n /** @internal */\n @observable\n public hasOverflow = false;\n\n @observable\n public text = '';\n\n @observable\n public severity: IconSeverity;\n\n @observable\n public visualizationTemplate?:\n | ViewTemplate<IconView>\n | ViewTemplate<SpinnerView>;\n\n public readonly textHidden = false;\n\n private columnConfigChanged(): void {\n this.updateState();\n }\n\n private groupHeaderValueChanged(): void {\n this.updateState();\n }\n\n private updateState(): void {\n this.resetState();\n\n if (!this.columnConfig) {\n return;\n }\n const value = this.groupHeaderValue;\n const mappingConfig = this.columnConfig.mappingConfigs.get(value!);\n if (mappingConfig instanceof MappingIconConfig) {\n this.severity = mappingConfig.severity;\n this.text = mappingConfig.text ?? '';\n this.visualizationTemplate = mappingConfig.iconTemplate;\n } else if (mappingConfig instanceof MappingSpinnerConfig) {\n this.text = mappingConfig.text ?? '';\n this.visualizationTemplate = mappingConfig.spinnerTemplate;\n } else if (mappingConfig instanceof MappingTextConfig) {\n this.text = mappingConfig.text ?? '';\n } else if (mappingConfig instanceof MappingEmptyConfig) {\n this.text = mappingConfig.text ?? '';\n }\n }\n\n private resetState(): void {\n this.text = '';\n this.visualizationTemplate = undefined;\n this.severity = IconSeverity.default;\n }\n}\n\nconst mappingGroupHeaderView = TableColumnMappingGroupHeaderView.compose({\n baseName: 'table-column-mapping-group-header-view',\n template,\n styles\n});\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(mappingGroupHeaderView());\nexport const tableColumnMappingGroupHeaderViewTag = 'nimble-table-column-mapping-group-header-view';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/mapping/group-header-view/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EACH,iBAAiB,EAEpB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACH,oBAAoB,EAEvB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAQpE;;GAEG;AACH,MAAM,OAAO,iCACT,SAAQ,oBAAkE;IAD9E;;QAGI,gBAAgB;QAET,gBAAW,GAAG,KAAK,CAAC;QAGpB,SAAI,GAAG,EAAE,CAAC;QAUD,eAAU,GAAG,KAAK,CAAC;IAqCvC,CAAC;IAnCW,mBAAmB;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAEO,uBAAuB;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,KAAM,CAAC,CAAC;QACnE,IAAI,aAAa,YAAY,iBAAiB,EAAE,CAAC;YAC7C,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;YACvC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC,YAAY,CAAC;QAC5D,CAAC;aAAM,IAAI,aAAa,YAAY,oBAAoB,EAAE,CAAC;YACvD,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC,eAAe,CAAC;QAC/D,CAAC;aAAM,IAAI,aAAa,YAAY,iBAAiB,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;QACzC,CAAC;aAAM,IAAI,aAAa,YAAY,kBAAkB,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;QACzC,CAAC;IACL,CAAC;IAEO,UAAU;QACd,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC;IACzC,CAAC;CACJ;AAlDU;IADN,UAAU;sEACgB;AAGpB;IADN,UAAU;+DACM;AAGV;IADN,UAAU;mEACmB;AAGvB;IADN,UAAU;gFAGiB;AAyChC,MAAM,sBAAsB,GAAG,iCAAiC,CAAC,OAAO,CAAC;IACrE,QAAQ,EAAE,wCAAwC;IAClD,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,sBAAsB,EAAE,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,oCAAoC,GAAG,+CAA+C,CAAC","sourcesContent":["import { DesignSystem } from '@microsoft/fast-foundation';\nimport { ViewTemplate, observable } from '@microsoft/fast-element';\nimport { styles } from './styles';\nimport { template } from './template';\nimport type { TableColumnEnumColumnConfig } from '../../enum-base';\nimport type { TableFieldValue } from '../../../table/types';\nimport { IconSeverity } from '../../../icon-base/types';\nimport {\n MappingIconConfig,\n type IconView\n} from '../../enum-base/models/mapping-icon-config';\nimport {\n MappingSpinnerConfig,\n type SpinnerView\n} from '../../enum-base/models/mapping-spinner-config';\nimport { MappingTextConfig } from '../../enum-base/models/mapping-text-config';\nimport { MappingEmptyConfig } from '../../enum-base/models/mapping-empty-config';\nimport { TableGroupHeaderView } from '../../base/group-header-view';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-mapping-group-header-view': TableColumnMappingGroupHeaderView;\n }\n}\n\n/**\n * The group header view for the mapping column\n */\nexport class TableColumnMappingGroupHeaderView\n extends TableGroupHeaderView<TableFieldValue, TableColumnEnumColumnConfig>\n implements IconView, SpinnerView {\n /** @internal */\n @observable\n public hasOverflow = false;\n\n @observable\n public text = '';\n\n @observable\n public severity: IconSeverity;\n\n @observable\n public visualizationTemplate?:\n | ViewTemplate<IconView>\n | ViewTemplate<SpinnerView>;\n\n public readonly textHidden = false;\n\n private columnConfigChanged(): void {\n this.updateState();\n }\n\n private groupHeaderValueChanged(): void {\n this.updateState();\n }\n\n private updateState(): void {\n this.resetState();\n\n if (!this.columnConfig) {\n return;\n }\n const value = this.groupHeaderValue;\n const mappingConfig = this.columnConfig.mappingConfigs.get(value!);\n if (mappingConfig instanceof MappingIconConfig) {\n this.severity = mappingConfig.severity;\n this.text = mappingConfig.text ?? '';\n this.visualizationTemplate = mappingConfig.iconTemplate;\n } else if (mappingConfig instanceof MappingSpinnerConfig) {\n this.text = mappingConfig.text ?? '';\n this.visualizationTemplate = mappingConfig.spinnerTemplate;\n } else if (mappingConfig instanceof MappingTextConfig) {\n this.text = mappingConfig.text ?? '';\n } else if (mappingConfig instanceof MappingEmptyConfig) {\n this.text = mappingConfig.text ?? '';\n }\n }\n\n private resetState(): void {\n this.text = '';\n this.visualizationTemplate = undefined;\n this.severity = IconSeverity.default;\n }\n}\n\nconst mappingGroupHeaderView = TableColumnMappingGroupHeaderView.compose({\n baseName: 'table-column-mapping-group-header-view',\n template,\n styles\n});\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(mappingGroupHeaderView());\nexport const tableColumnMappingGroupHeaderViewTag = 'nimble-table-column-mapping-group-header-view';\n"]}
@@ -1,4 +1,4 @@
1
- import { MappingConfigs, TableColumnEnumBase, TableColumnEnumColumnConfig } from '../enum-base';
1
+ import { type MappingConfigs, TableColumnEnumBase, type TableColumnEnumColumnConfig } from '../enum-base';
2
2
  import { TableColumnMappingValidator } from './models/table-column-mapping-validator';
3
3
  import type { ColumnInternalsOptions } from '../base/models/column-internals';
4
4
  import type { Mapping } from '../../mapping/base';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/mapping/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { DesignSystem } from '@microsoft/fast-foundation';\nimport { attr } from '@microsoft/fast-element';\nimport {\n MappingConfigs,\n TableColumnEnumBase,\n TableColumnEnumColumnConfig\n} from '../enum-base';\nimport { styles } from '../enum-base/styles';\nimport { template } from '../enum-base/template';\nimport {\n TableColumnSortOperation,\n singleIconColumnWidth,\n defaultMinPixelWidth\n} from '../base/types';\nimport { mixinGroupableColumnAPI } from '../mixins/groupable-column';\nimport { mixinFractionalWidthColumnAPI } from '../mixins/fractional-width-column';\nimport { MappingSpinner } from '../../mapping/spinner';\nimport { MappingIcon } from '../../mapping/icon';\nimport { TableColumnMappingValidator } from './models/table-column-mapping-validator';\nimport type { ColumnInternalsOptions } from '../base/models/column-internals';\nimport { tableColumnMappingGroupHeaderViewTag } from './group-header-view';\nimport { tableColumnMappingCellViewTag } from './cell-view';\nimport type { Mapping } from '../../mapping/base';\nimport type { MappingConfig } from '../enum-base/models/mapping-config';\nimport { MappingIconConfig } from '../enum-base/models/mapping-icon-config';\nimport { MappingSpinnerConfig } from '../enum-base/models/mapping-spinner-config';\nimport { MappingText } from '../../mapping/text';\nimport { MappingTextConfig } from '../enum-base/models/mapping-text-config';\nimport { MappingEmpty } from '../../mapping/empty';\nimport { MappingEmptyConfig } from '../enum-base/models/mapping-empty-config';\nimport { TableColumnMappingWidthMode } from './types';\nimport { mixinSortableColumnAPI } from '../mixins/sortable-column';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-mapping': TableColumnMapping;\n }\n}\n\n/**\n * Table column that maps number, boolean, or string values to an icon, a spinner,\n * text, or an icon/spinner with text.\n */\nexport class TableColumnMapping extends mixinGroupableColumnAPI(\n mixinFractionalWidthColumnAPI(\n mixinSortableColumnAPI(\n TableColumnEnumBase<\n TableColumnEnumColumnConfig,\n TableColumnMappingValidator\n >\n )\n )\n) {\n @attr({ attribute: 'width-mode' })\n public widthMode: TableColumnMappingWidthMode;\n\n public override minPixelWidthChanged(): void {\n if (this.widthMode !== TableColumnMappingWidthMode.iconSize) {\n this.columnInternals.minPixelWidth = this.getConfiguredMinPixelWidth();\n }\n }\n\n protected override getColumnInternalsOptions(): ColumnInternalsOptions<TableColumnMappingValidator> {\n return {\n cellRecordFieldNames: ['value'],\n cellViewTag: tableColumnMappingCellViewTag,\n groupHeaderViewTag: tableColumnMappingGroupHeaderViewTag,\n delegatedEvents: [],\n sortOperation: TableColumnSortOperation.basic,\n validator: new TableColumnMappingValidator()\n };\n }\n\n protected override createColumnConfig(\n mappingConfigs: MappingConfigs\n ): TableColumnEnumColumnConfig {\n return {\n mappingConfigs\n };\n }\n\n protected createMappingConfig(mapping: Mapping<unknown>): MappingConfig {\n if (mapping instanceof MappingIcon) {\n if (!mapping.resolvedIcon) {\n throw Error('Unresolved icon');\n }\n\n return new MappingIconConfig(\n mapping.resolvedIcon,\n mapping.severity,\n mapping.text,\n mapping.textHidden\n );\n }\n if (mapping instanceof MappingSpinner) {\n return new MappingSpinnerConfig(mapping.text, mapping.textHidden);\n }\n if (mapping instanceof MappingText) {\n return new MappingTextConfig(mapping.text);\n }\n if (mapping instanceof MappingEmpty) {\n return new MappingEmptyConfig(mapping.text);\n }\n // Getting here would indicate a programming error, b/c validation will prevent\n // this function from running when there is an unsupported mapping.\n throw new Error('Unsupported mapping');\n }\n\n private widthModeChanged(): void {\n if (this.widthMode === TableColumnMappingWidthMode.iconSize) {\n this.columnInternals.resizingDisabled = true;\n this.columnInternals.hideHeaderIndicators = true;\n this.columnInternals.pixelWidth = singleIconColumnWidth;\n this.columnInternals.minPixelWidth = singleIconColumnWidth;\n } else {\n this.columnInternals.resizingDisabled = false;\n this.columnInternals.hideHeaderIndicators = false;\n this.columnInternals.pixelWidth = undefined;\n this.columnInternals.minPixelWidth = this.getConfiguredMinPixelWidth();\n }\n }\n\n private getConfiguredMinPixelWidth(): number {\n if (typeof this.minPixelWidth === 'number') {\n return this.minPixelWidth;\n }\n return defaultMinPixelWidth;\n }\n}\n\nconst nimbleTableColumnMapping = TableColumnMapping.compose({\n baseName: 'table-column-mapping',\n template,\n styles\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleTableColumnMapping());\nexport const tableColumnMappingTag = 'nimble-table-column-mapping';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/mapping/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { DesignSystem } from '@microsoft/fast-foundation';\nimport { attr } from '@microsoft/fast-element';\nimport {\n type MappingConfigs,\n TableColumnEnumBase,\n type TableColumnEnumColumnConfig\n} from '../enum-base';\nimport { styles } from '../enum-base/styles';\nimport { template } from '../enum-base/template';\nimport {\n TableColumnSortOperation,\n singleIconColumnWidth,\n defaultMinPixelWidth\n} from '../base/types';\nimport { mixinGroupableColumnAPI } from '../mixins/groupable-column';\nimport { mixinFractionalWidthColumnAPI } from '../mixins/fractional-width-column';\nimport { MappingSpinner } from '../../mapping/spinner';\nimport { MappingIcon } from '../../mapping/icon';\nimport { TableColumnMappingValidator } from './models/table-column-mapping-validator';\nimport type { ColumnInternalsOptions } from '../base/models/column-internals';\nimport { tableColumnMappingGroupHeaderViewTag } from './group-header-view';\nimport { tableColumnMappingCellViewTag } from './cell-view';\nimport type { Mapping } from '../../mapping/base';\nimport type { MappingConfig } from '../enum-base/models/mapping-config';\nimport { MappingIconConfig } from '../enum-base/models/mapping-icon-config';\nimport { MappingSpinnerConfig } from '../enum-base/models/mapping-spinner-config';\nimport { MappingText } from '../../mapping/text';\nimport { MappingTextConfig } from '../enum-base/models/mapping-text-config';\nimport { MappingEmpty } from '../../mapping/empty';\nimport { MappingEmptyConfig } from '../enum-base/models/mapping-empty-config';\nimport { TableColumnMappingWidthMode } from './types';\nimport { mixinSortableColumnAPI } from '../mixins/sortable-column';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-mapping': TableColumnMapping;\n }\n}\n\n/**\n * Table column that maps number, boolean, or string values to an icon, a spinner,\n * text, or an icon/spinner with text.\n */\nexport class TableColumnMapping extends mixinGroupableColumnAPI(\n mixinFractionalWidthColumnAPI(\n mixinSortableColumnAPI(\n TableColumnEnumBase<\n TableColumnEnumColumnConfig,\n TableColumnMappingValidator\n >\n )\n )\n) {\n @attr({ attribute: 'width-mode' })\n public widthMode: TableColumnMappingWidthMode;\n\n public override minPixelWidthChanged(): void {\n if (this.widthMode !== TableColumnMappingWidthMode.iconSize) {\n this.columnInternals.minPixelWidth = this.getConfiguredMinPixelWidth();\n }\n }\n\n protected override getColumnInternalsOptions(): ColumnInternalsOptions<TableColumnMappingValidator> {\n return {\n cellRecordFieldNames: ['value'],\n cellViewTag: tableColumnMappingCellViewTag,\n groupHeaderViewTag: tableColumnMappingGroupHeaderViewTag,\n delegatedEvents: [],\n sortOperation: TableColumnSortOperation.basic,\n validator: new TableColumnMappingValidator()\n };\n }\n\n protected override createColumnConfig(\n mappingConfigs: MappingConfigs\n ): TableColumnEnumColumnConfig {\n return {\n mappingConfigs\n };\n }\n\n protected createMappingConfig(mapping: Mapping<unknown>): MappingConfig {\n if (mapping instanceof MappingIcon) {\n if (!mapping.resolvedIcon) {\n throw Error('Unresolved icon');\n }\n\n return new MappingIconConfig(\n mapping.resolvedIcon,\n mapping.severity,\n mapping.text,\n mapping.textHidden\n );\n }\n if (mapping instanceof MappingSpinner) {\n return new MappingSpinnerConfig(mapping.text, mapping.textHidden);\n }\n if (mapping instanceof MappingText) {\n return new MappingTextConfig(mapping.text);\n }\n if (mapping instanceof MappingEmpty) {\n return new MappingEmptyConfig(mapping.text);\n }\n // Getting here would indicate a programming error, b/c validation will prevent\n // this function from running when there is an unsupported mapping.\n throw new Error('Unsupported mapping');\n }\n\n private widthModeChanged(): void {\n if (this.widthMode === TableColumnMappingWidthMode.iconSize) {\n this.columnInternals.resizingDisabled = true;\n this.columnInternals.hideHeaderIndicators = true;\n this.columnInternals.pixelWidth = singleIconColumnWidth;\n this.columnInternals.minPixelWidth = singleIconColumnWidth;\n } else {\n this.columnInternals.resizingDisabled = false;\n this.columnInternals.hideHeaderIndicators = false;\n this.columnInternals.pixelWidth = undefined;\n this.columnInternals.minPixelWidth = this.getConfiguredMinPixelWidth();\n }\n }\n\n private getConfiguredMinPixelWidth(): number {\n if (typeof this.minPixelWidth === 'number') {\n return this.minPixelWidth;\n }\n return defaultMinPixelWidth;\n }\n}\n\nconst nimbleTableColumnMapping = TableColumnMapping.compose({\n baseName: 'table-column-mapping',\n template,\n styles\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleTableColumnMapping());\nexport const tableColumnMappingTag = 'nimble-table-column-mapping';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/menu-button/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAEH,oBAAoB,EACvB,MAAM,SAAS,CAAC;AAgBjB;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,6BAA6B,CACpE,CAAA,WAA8C,CAAA,CACjD;IAOG,gBAAgB;IACT,gBAAgB,CAAC,CAAQ;QAC5B,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAE7B,MAAM,KAAK,GAAG,CAA4C,CAAC;QAC3D,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;QACjD,IACI,aAAa,CAAC,IAAI,KAAK,cAAc;eAClC,aAAa,CAAC,IAAI,KAAK,QAAQ,EACpC,CAAC;YACC,MAAM,YAAY,GAAG,sBAAsB,aAAa,CAAC,IAAI,EAAE,CAAC;YAChE,MAAM,mBAAmB,GAAG,aAAyD,CAAC;YACtF,MAAM,MAAM,GAAsC;gBAC9C,GAAG,mBAAmB,CAAC,MAAM;gBAC7B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;aAClC,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAEkB,yBAAyB;QACxC,OAAO;YACH,oBAAoB,EAAE,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,gCAAgC;YAC7C,eAAe,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC;YAC3C,SAAS,EAAE,CAAC,oBAAoB,CAAC;YACjC,SAAS,EAAE,IAAI,eAAe,CAAK,EAAE,CAAC;SACzC,CAAC;IACN,CAAC;IAES,gBAAgB;QACtB,IAAI,CAAC,eAAe,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,0BAA0B,GAAG,IAAI,CAAC,SAAS,CAAC;IACrE,CAAC;IAES,eAAe;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEO,kBAAkB;QACtB,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC;IACN,CAAC;CACJ;AAjDU;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;wDACR;AAGnB;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;uDACR;AAgD7B,MAAM,2BAA2B,GAAG,qBAAqB,CAAC,OAAO,CAAC;IAC9D,QAAQ,EAAE,0BAA0B;IACpC,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,2BAA2B,EAAE,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,iCAAiC,CAAC","sourcesContent":["import { DesignSystem } from '@microsoft/fast-foundation';\nimport { attr } from '@microsoft/fast-element';\nimport { template } from './template';\nimport { styles } from '../base/styles';\nimport type { TableStringField } from '../../table/types';\nimport { tableColumnMenuButtonCellViewTag } from './cell-view';\nimport type { ColumnInternalsOptions } from '../base/models/column-internals';\nimport { ColumnValidator } from '../base/models/column-validator';\nimport { mixinFractionalWidthColumnAPI } from '../mixins/fractional-width-column';\nimport { TableColumn } from '../base';\nimport {\n MenuButtonColumnToggleEventDetail,\n cellViewMenuSlotName\n} from './types';\nimport type { DelegatedEventEventDetails } from '../base/types';\nimport type { MenuButtonToggleEventDetail } from '../../menu-button/types';\n\nexport type TableColumnMenuButtonCellRecord = TableStringField<'value'>;\n\nexport interface TableColumnMenuButtonColumnConfig {\n menuSlot?: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-menu-button': TableColumnMenuButton;\n }\n}\n\n/**\n * The table column for displaying string fields as the content within a menu button.\n */\nexport class TableColumnMenuButton extends mixinFractionalWidthColumnAPI(\n TableColumn<TableColumnMenuButtonColumnConfig>\n) {\n @attr({ attribute: 'field-name' })\n public fieldName?: string;\n\n @attr({ attribute: 'menu-slot' })\n public menuSlot?: string;\n\n /** @internal */\n public onDelegatedEvent(e: Event): void {\n e.stopImmediatePropagation();\n\n const event = e as CustomEvent<DelegatedEventEventDetails>;\n const originalEvent = event.detail.originalEvent;\n if (\n originalEvent.type === 'beforetoggle'\n || originalEvent.type === 'toggle'\n ) {\n const newEventName = `menu-button-column-${originalEvent.type}`;\n const originalToggleEvent = originalEvent as CustomEvent<MenuButtonToggleEventDetail>;\n const detail: MenuButtonColumnToggleEventDetail = {\n ...originalToggleEvent.detail,\n recordId: event.detail.recordId\n };\n this.$emit(newEventName, detail);\n }\n }\n\n protected override getColumnInternalsOptions(): ColumnInternalsOptions {\n return {\n cellRecordFieldNames: ['value'],\n cellViewTag: tableColumnMenuButtonCellViewTag,\n delegatedEvents: ['beforetoggle', 'toggle'],\n slotNames: [cellViewMenuSlotName],\n validator: new ColumnValidator<[]>([])\n };\n }\n\n protected fieldNameChanged(): void {\n this.columnInternals.dataRecordFieldNames = [this.fieldName];\n this.columnInternals.operandDataRecordFieldName = this.fieldName;\n }\n\n protected menuSlotChanged(): void {\n this.updateColumnConfig();\n }\n\n private updateColumnConfig(): void {\n this.columnInternals.columnConfig = {\n menuSlot: this.menuSlot\n };\n }\n}\n\nconst nimbleTableColumnMenuButton = TableColumnMenuButton.compose({\n baseName: 'table-column-menu-button',\n template,\n styles\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleTableColumnMenuButton());\nexport const tableColumnMenuButtonTag = 'nimble-table-column-menu-button';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/menu-button/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAEH,oBAAoB,EACvB,MAAM,SAAS,CAAC;AAgBjB;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,6BAA6B,CACpE,CAAA,WAA8C,CAAA,CACjD;IAOG,gBAAgB;IACT,gBAAgB,CAAC,CAAQ;QAC5B,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAE7B,MAAM,KAAK,GAAG,CAA4C,CAAC;QAC3D,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;QACjD,IACI,aAAa,CAAC,IAAI,KAAK,cAAc;eAClC,aAAa,CAAC,IAAI,KAAK,QAAQ,EACpC,CAAC;YACC,MAAM,YAAY,GAAG,sBAAsB,aAAa,CAAC,IAAI,EAAE,CAAC;YAChE,MAAM,mBAAmB,GAAG,aAAyD,CAAC;YACtF,MAAM,MAAM,GAAsC;gBAC9C,GAAG,mBAAmB,CAAC,MAAM;gBAC7B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;aAClC,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAEkB,yBAAyB;QACxC,OAAO;YACH,oBAAoB,EAAE,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,gCAAgC;YAC7C,eAAe,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC;YAC3C,SAAS,EAAE,CAAC,oBAAoB,CAAC;YACjC,SAAS,EAAE,IAAI,eAAe,CAAK,EAAE,CAAC;SACzC,CAAC;IACN,CAAC;IAES,gBAAgB;QACtB,IAAI,CAAC,eAAe,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,0BAA0B,GAAG,IAAI,CAAC,SAAS,CAAC;IACrE,CAAC;IAES,eAAe;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEO,kBAAkB;QACtB,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC;IACN,CAAC;CACJ;AAjDU;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;wDACR;AAGnB;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;uDACR;AAgD7B,MAAM,2BAA2B,GAAG,qBAAqB,CAAC,OAAO,CAAC;IAC9D,QAAQ,EAAE,0BAA0B;IACpC,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,2BAA2B,EAAE,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,iCAAiC,CAAC","sourcesContent":["import { DesignSystem } from '@microsoft/fast-foundation';\nimport { attr } from '@microsoft/fast-element';\nimport { template } from './template';\nimport { styles } from '../base/styles';\nimport type { TableStringField } from '../../table/types';\nimport { tableColumnMenuButtonCellViewTag } from './cell-view';\nimport type { ColumnInternalsOptions } from '../base/models/column-internals';\nimport { ColumnValidator } from '../base/models/column-validator';\nimport { mixinFractionalWidthColumnAPI } from '../mixins/fractional-width-column';\nimport { TableColumn } from '../base';\nimport {\n type MenuButtonColumnToggleEventDetail,\n cellViewMenuSlotName\n} from './types';\nimport type { DelegatedEventEventDetails } from '../base/types';\nimport type { MenuButtonToggleEventDetail } from '../../menu-button/types';\n\nexport type TableColumnMenuButtonCellRecord = TableStringField<'value'>;\n\nexport interface TableColumnMenuButtonColumnConfig {\n menuSlot?: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-menu-button': TableColumnMenuButton;\n }\n}\n\n/**\n * The table column for displaying string fields as the content within a menu button.\n */\nexport class TableColumnMenuButton extends mixinFractionalWidthColumnAPI(\n TableColumn<TableColumnMenuButtonColumnConfig>\n) {\n @attr({ attribute: 'field-name' })\n public fieldName?: string;\n\n @attr({ attribute: 'menu-slot' })\n public menuSlot?: string;\n\n /** @internal */\n public onDelegatedEvent(e: Event): void {\n e.stopImmediatePropagation();\n\n const event = e as CustomEvent<DelegatedEventEventDetails>;\n const originalEvent = event.detail.originalEvent;\n if (\n originalEvent.type === 'beforetoggle'\n || originalEvent.type === 'toggle'\n ) {\n const newEventName = `menu-button-column-${originalEvent.type}`;\n const originalToggleEvent = originalEvent as CustomEvent<MenuButtonToggleEventDetail>;\n const detail: MenuButtonColumnToggleEventDetail = {\n ...originalToggleEvent.detail,\n recordId: event.detail.recordId\n };\n this.$emit(newEventName, detail);\n }\n }\n\n protected override getColumnInternalsOptions(): ColumnInternalsOptions {\n return {\n cellRecordFieldNames: ['value'],\n cellViewTag: tableColumnMenuButtonCellViewTag,\n delegatedEvents: ['beforetoggle', 'toggle'],\n slotNames: [cellViewMenuSlotName],\n validator: new ColumnValidator<[]>([])\n };\n }\n\n protected fieldNameChanged(): void {\n this.columnInternals.dataRecordFieldNames = [this.fieldName];\n this.columnInternals.operandDataRecordFieldName = this.fieldName;\n }\n\n protected menuSlotChanged(): void {\n this.updateColumnConfig();\n }\n\n private updateColumnConfig(): void {\n this.columnInternals.columnConfig = {\n menuSlot: this.menuSlot\n };\n }\n}\n\nconst nimbleTableColumnMenuButton = TableColumnMenuButton.compose({\n baseName: 'table-column-menu-button',\n template,\n styles\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleTableColumnMenuButton());\nexport const tableColumnMenuButtonTag = 'nimble-table-column-menu-button';\n"]}
@@ -1,4 +1,4 @@
1
- import { Notifier } from '@microsoft/fast-element';
1
+ import { type Notifier } from '@microsoft/fast-element';
2
2
  import type { TableColumn } from '../base';
3
3
  import { TableColumnSortOperation } from '../base/types';
4
4
  import type { ColumnValidator } from '../base/models/column-validator';
@@ -1 +1 @@
1
- {"version":3,"file":"custom-sort-order.js","sourceRoot":"","sources":["../../../../src/table-column/mixins/custom-sort-order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAWzD,4HAA4H;AAC5H,+HAA+H;AAC/H,MAAM,UAAU,6BAA6B,CAG3C,IAAW;IACT;;;OAGG;IACH,MAAe,qBAAsB,SAAQ,IAAI;QAAjD;;YAMI,gBAAgB;YACT,uCAAkC,GAAG;gBACxC,YAAY,EAAE,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC;aAClE,CAAC;QAoEN,CAAC;QAlEU,qCAAqC,CACxC,uBAA2C;YAE3C,OAAO,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ;gBAC3C,CAAC,CAAC,IAAI,CAAC,eAAe;gBACtB,CAAC,CAAC,uBAAuB,CAAC;QAClC,CAAC;QAEM,wBAAwB,CAC3B,oBAA8C;YAE9C,OAAO,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ;gBAC3C,CAAC,CAAC,wBAAwB,CAAC,KAAK;gBAChC,CAAC,CAAC,oBAAoB,CAAC;QAC/B,CAAC;QAED,gBAAgB;QACT,sBAAsB;YACzB,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACrC,IAAI,CAAC,iCAAiC,EAAE,CAAC;YAEzC,IACI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ;mBACrC,CAAC,IAAI,CAAC,6BAA6B,EACxC,CAAC;gBACC,IAAI,CAAC,6BAA6B,GAAG,UAAU,CAAC,WAAW,CACvD,IAAI,CAAC,eAAe,CACvB,CAAC;gBACF,IAAI,CAAC,6BAA6B,CAAC,SAAS,CACxC,IAAI,CAAC,kCAAkC,CAC1C,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,6BAA6B,EAAE,WAAW,CAC3C,IAAI,CAAC,kCAAkC,CAC1C,CAAC;gBACF,IAAI,CAAC,6BAA6B,GAAG,SAAS,CAAC;YACnD,CAAC;QACL,CAAC;QAID,gBAAgB;QACT,iCAAiC,CACpC,OAAgB,EAChB,IAAa;YAEb,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAC9B,IAAI,CAAC,iCAAiC,EAAE,CAAC;YAC7C,CAAC;QACL,CAAC;QAED,gBAAgB;QACT,iCAAiC;YACpC,MAAM,sBAAsB,GAAG,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC;YACxE,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC;YACjE,MAAM,OAAO,GAAG,CAAC,iBAAiB,IAAI,CAAC,sBAAsB,CAAC;YAC9D,IAAI,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAClC,+BAA+B,CAClC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAChC,+BAA+B,CAClC,CAAC;YACN,CAAC;QACL,CAAC;KACJ;IAED,IAAI,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;IACrC,iEAAiE;IACjE,qBAAqB,CAAC,SAAS,EAC/B,iBAAiB,CACpB,CAAC;IAEF,OAAO,qBAAqB,CAAC;AACjC,CAAC","sourcesContent":["import { Notifier, Observable, attr } from '@microsoft/fast-element';\nimport type { TableColumn } from '../base';\nimport { TableColumnSortOperation } from '../base/types';\nimport type { ColumnValidator } from '../base/models/column-validator';\n\n// Pick just the relevant properties the mixin depends on (typescript complains if the mixin declares private / protected base exports)\ntype CustomSortOrderTableColumn<\n TColumnValidator extends ColumnValidator<['invalidCustomSortWithGrouping']>\n> = Pick<TableColumn<unknown, TColumnValidator>, 'columnInternals'>;\n// prettier-ignore\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype CustomSortOrderTableColumnConstructor<TColumnValidator extends ColumnValidator<['invalidCustomSortWithGrouping']>> = abstract new (...args: any[]) => CustomSortOrderTableColumn<TColumnValidator>;\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 mixinCustomSortOrderColumnAPI<\n TBase extends CustomSortOrderTableColumnConstructor<TColumnValidator>,\n TColumnValidator extends ColumnValidator<['invalidCustomSortWithGrouping']>\n>(base: TBase) {\n /**\n * The Mixin that provides a concrete column with the API to allow sorting\n * by a field other than the default for that column.\n */\n abstract class CustomSortOrderColumn extends base {\n public sortByFieldName?: string;\n\n /** @internal */\n public customSortOrderColumnNotifier?: Notifier;\n\n /** @internal */\n public customSortOrderColumnChangeHandler = {\n handleChange: this.handleCustomSortOrderColumnChange.bind(this)\n };\n\n public getResolvedOperandDataRecordFieldName(\n initialOperandFieldName: string | undefined\n ): string | undefined {\n return typeof this.sortByFieldName === 'string'\n ? this.sortByFieldName\n : initialOperandFieldName;\n }\n\n public getResolvedSortOperation(\n initialSortOperation: TableColumnSortOperation\n ): TableColumnSortOperation {\n return typeof this.sortByFieldName === 'string'\n ? TableColumnSortOperation.basic\n : initialSortOperation;\n }\n\n /** @internal */\n public sortByFieldNameChanged(): void {\n this.handleSortConfigurationChange();\n this.updateCustomColumnSortingValidity();\n\n if (\n typeof this.sortByFieldName === 'string'\n && !this.customSortOrderColumnNotifier\n ) {\n this.customSortOrderColumnNotifier = Observable.getNotifier(\n this.columnInternals\n );\n this.customSortOrderColumnNotifier.subscribe(\n this.customSortOrderColumnChangeHandler\n );\n } else {\n this.customSortOrderColumnNotifier?.unsubscribe(\n this.customSortOrderColumnChangeHandler\n );\n this.customSortOrderColumnNotifier = undefined;\n }\n }\n\n public abstract handleSortConfigurationChange(): void;\n\n /** @internal */\n public handleCustomSortOrderColumnChange(\n _source: unknown,\n args: unknown\n ): void {\n if (args === 'groupingDisabled') {\n this.updateCustomColumnSortingValidity();\n }\n }\n\n /** @internal */\n public updateCustomColumnSortingValidity(): void {\n const hasCustomColumnSorting = typeof this.sortByFieldName === 'string';\n const isGroupingEnabled = !this.columnInternals.groupingDisabled;\n const isValid = !isGroupingEnabled || !hasCustomColumnSorting;\n if (isValid) {\n this.columnInternals.validator.untrack(\n 'invalidCustomSortWithGrouping'\n );\n } else {\n this.columnInternals.validator.track(\n 'invalidCustomSortWithGrouping'\n );\n }\n }\n }\n\n attr({ attribute: 'sort-by-field-name' })(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n CustomSortOrderColumn.prototype,\n 'sortByFieldName'\n );\n\n return CustomSortOrderColumn;\n}\n"]}
1
+ {"version":3,"file":"custom-sort-order.js","sourceRoot":"","sources":["../../../../src/table-column/mixins/custom-sort-order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAWzD,4HAA4H;AAC5H,+HAA+H;AAC/H,MAAM,UAAU,6BAA6B,CAG3C,IAAW;IACT;;;OAGG;IACH,MAAe,qBAAsB,SAAQ,IAAI;QAAjD;;YAMI,gBAAgB;YACT,uCAAkC,GAAG;gBACxC,YAAY,EAAE,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC;aAClE,CAAC;QAoEN,CAAC;QAlEU,qCAAqC,CACxC,uBAA2C;YAE3C,OAAO,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ;gBAC3C,CAAC,CAAC,IAAI,CAAC,eAAe;gBACtB,CAAC,CAAC,uBAAuB,CAAC;QAClC,CAAC;QAEM,wBAAwB,CAC3B,oBAA8C;YAE9C,OAAO,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ;gBAC3C,CAAC,CAAC,wBAAwB,CAAC,KAAK;gBAChC,CAAC,CAAC,oBAAoB,CAAC;QAC/B,CAAC;QAED,gBAAgB;QACT,sBAAsB;YACzB,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACrC,IAAI,CAAC,iCAAiC,EAAE,CAAC;YAEzC,IACI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ;mBACrC,CAAC,IAAI,CAAC,6BAA6B,EACxC,CAAC;gBACC,IAAI,CAAC,6BAA6B,GAAG,UAAU,CAAC,WAAW,CACvD,IAAI,CAAC,eAAe,CACvB,CAAC;gBACF,IAAI,CAAC,6BAA6B,CAAC,SAAS,CACxC,IAAI,CAAC,kCAAkC,CAC1C,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,6BAA6B,EAAE,WAAW,CAC3C,IAAI,CAAC,kCAAkC,CAC1C,CAAC;gBACF,IAAI,CAAC,6BAA6B,GAAG,SAAS,CAAC;YACnD,CAAC;QACL,CAAC;QAID,gBAAgB;QACT,iCAAiC,CACpC,OAAgB,EAChB,IAAa;YAEb,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAC9B,IAAI,CAAC,iCAAiC,EAAE,CAAC;YAC7C,CAAC;QACL,CAAC;QAED,gBAAgB;QACT,iCAAiC;YACpC,MAAM,sBAAsB,GAAG,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC;YACxE,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC;YACjE,MAAM,OAAO,GAAG,CAAC,iBAAiB,IAAI,CAAC,sBAAsB,CAAC;YAC9D,IAAI,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAClC,+BAA+B,CAClC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAChC,+BAA+B,CAClC,CAAC;YACN,CAAC;QACL,CAAC;KACJ;IAED,IAAI,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;IACrC,iEAAiE;IACjE,qBAAqB,CAAC,SAAS,EAC/B,iBAAiB,CACpB,CAAC;IAEF,OAAO,qBAAqB,CAAC;AACjC,CAAC","sourcesContent":["import { type Notifier, Observable, attr } from '@microsoft/fast-element';\nimport type { TableColumn } from '../base';\nimport { TableColumnSortOperation } from '../base/types';\nimport type { ColumnValidator } from '../base/models/column-validator';\n\n// Pick just the relevant properties the mixin depends on (typescript complains if the mixin declares private / protected base exports)\ntype CustomSortOrderTableColumn<\n TColumnValidator extends ColumnValidator<['invalidCustomSortWithGrouping']>\n> = Pick<TableColumn<unknown, TColumnValidator>, 'columnInternals'>;\n// prettier-ignore\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype CustomSortOrderTableColumnConstructor<TColumnValidator extends ColumnValidator<['invalidCustomSortWithGrouping']>> = abstract new (...args: any[]) => CustomSortOrderTableColumn<TColumnValidator>;\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 mixinCustomSortOrderColumnAPI<\n TBase extends CustomSortOrderTableColumnConstructor<TColumnValidator>,\n TColumnValidator extends ColumnValidator<['invalidCustomSortWithGrouping']>\n>(base: TBase) {\n /**\n * The Mixin that provides a concrete column with the API to allow sorting\n * by a field other than the default for that column.\n */\n abstract class CustomSortOrderColumn extends base {\n public sortByFieldName?: string;\n\n /** @internal */\n public customSortOrderColumnNotifier?: Notifier;\n\n /** @internal */\n public customSortOrderColumnChangeHandler = {\n handleChange: this.handleCustomSortOrderColumnChange.bind(this)\n };\n\n public getResolvedOperandDataRecordFieldName(\n initialOperandFieldName: string | undefined\n ): string | undefined {\n return typeof this.sortByFieldName === 'string'\n ? this.sortByFieldName\n : initialOperandFieldName;\n }\n\n public getResolvedSortOperation(\n initialSortOperation: TableColumnSortOperation\n ): TableColumnSortOperation {\n return typeof this.sortByFieldName === 'string'\n ? TableColumnSortOperation.basic\n : initialSortOperation;\n }\n\n /** @internal */\n public sortByFieldNameChanged(): void {\n this.handleSortConfigurationChange();\n this.updateCustomColumnSortingValidity();\n\n if (\n typeof this.sortByFieldName === 'string'\n && !this.customSortOrderColumnNotifier\n ) {\n this.customSortOrderColumnNotifier = Observable.getNotifier(\n this.columnInternals\n );\n this.customSortOrderColumnNotifier.subscribe(\n this.customSortOrderColumnChangeHandler\n );\n } else {\n this.customSortOrderColumnNotifier?.unsubscribe(\n this.customSortOrderColumnChangeHandler\n );\n this.customSortOrderColumnNotifier = undefined;\n }\n }\n\n public abstract handleSortConfigurationChange(): void;\n\n /** @internal */\n public handleCustomSortOrderColumnChange(\n _source: unknown,\n args: unknown\n ): void {\n if (args === 'groupingDisabled') {\n this.updateCustomColumnSortingValidity();\n }\n }\n\n /** @internal */\n public updateCustomColumnSortingValidity(): void {\n const hasCustomColumnSorting = typeof this.sortByFieldName === 'string';\n const isGroupingEnabled = !this.columnInternals.groupingDisabled;\n const isValid = !isGroupingEnabled || !hasCustomColumnSorting;\n if (isValid) {\n this.columnInternals.validator.untrack(\n 'invalidCustomSortWithGrouping'\n );\n } else {\n this.columnInternals.validator.track(\n 'invalidCustomSortWithGrouping'\n );\n }\n }\n }\n\n attr({ attribute: 'sort-by-field-name' })(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n CustomSortOrderColumn.prototype,\n 'sortByFieldName'\n );\n\n return CustomSortOrderColumn;\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 type DesignTokenSubscriber\n} from '@microsoft/fast-foundation';\nimport {\n attr,\n type Notifier,\n nullableNumberConverter,\n Observable,\n observable,\n type 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,6 +1,6 @@
1
1
  import { TableCellView } from '../../base/cell-view';
2
2
  import type { TableCellRecord } from '../../base/types';
3
- import { TableColumnAlignment, TableFieldValue } from '../../../table/types';
3
+ import { TableColumnAlignment, type TableFieldValue } from '../../../table/types';
4
4
  export interface TableColumnTextBaseCellRecord extends TableCellRecord {
5
5
  value: TableFieldValue;
6
6
  }
@@ -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,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
+ {"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,EACH,oBAAoB,EAEvB,MAAM,sBAAsB,CAAC;AAU9B;;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 {\n TableColumnAlignment,\n type TableFieldValue\n} 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/tabs/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACH,YAAY,EACZ,IAAI,IAAI,cAAc,EAEzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AASrD;;GAEG;AACH,MAAM,OAAO,IAAK,SAAQ,cAAc;IAwBpC;QACI,KAAK,EAAE,CAAC;QAxBZ;;WAEG;QAEI,sBAAiB,GAAG,KAAK,CAAC;QAYjC;;WAEG;QACa,gBAAW,GAAG,KAAK,CAAC;QAMhC,4EAA4E;QAC5E,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,qBAAqB,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;YACtD,IAAI,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC;YACxD,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,WAAW,IAAI,CAAC,CAAC;gBAC5D,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACrD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,mBAAmB,IAAI,WAAW,GAAG,CAAC,CAAC;gBAC3C,CAAC;gBACD,IAAI,CAAC,iBAAiB,GAAG,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YAC5E,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACa,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACa,oBAAoB;QAChC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACa,eAAe,CAAC,QAAgB,EAAE,QAAgB;QAC9D,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACI,iBAAiB;QACpB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAClB,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YAC/B,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACI,kBAAkB;QACrB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAClB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YAC9B,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;IACP,CAAC;CACJ;AA/EU;IADN,UAAU;+CACsB;AAiFrC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAc;IACzC,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,cAAc;IACzB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC","sourcesContent":["import { observable } from '@microsoft/fast-element';\nimport {\n DesignSystem,\n Tabs as FoundationTabs,\n TabsOptions\n} from '@microsoft/fast-foundation';\nimport { styles } from './styles';\nimport { template } from '../patterns/tabs/template';\nimport type { TabsOwner } from '../patterns/tabs/types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-tabs': Tabs;\n }\n}\n\n/**\n * A nimble-styled tabs control\n */\nexport class Tabs extends FoundationTabs implements TabsOwner {\n /**\n * @internal\n */\n @observable\n public showScrollButtons = false;\n\n /**\n * @internal\n */\n public readonly tablist!: HTMLElement;\n\n /**\n * @internal\n */\n public readonly leftScrollButton?: HTMLElement;\n\n /**\n * @internal\n */\n public readonly tabSlotName = 'tab';\n\n private readonly tabListResizeObserver: ResizeObserver;\n\n public constructor() {\n super();\n // We disable the built-in active indicator so that we can implement our own\n this.activeindicator = false;\n this.tabListResizeObserver = new ResizeObserver(entries => {\n let tabListVisibleWidth = entries[0]?.contentRect.width;\n if (tabListVisibleWidth !== undefined) {\n const buttonWidth = this.leftScrollButton?.clientWidth ?? 0;\n tabListVisibleWidth = Math.ceil(tabListVisibleWidth);\n if (this.showScrollButtons) {\n tabListVisibleWidth += buttonWidth * 2;\n }\n this.showScrollButtons = tabListVisibleWidth < this.tablist.scrollWidth;\n }\n });\n }\n\n /**\n * @internal\n */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.tabListResizeObserver.observe(this.tablist);\n }\n\n /**\n * @internal\n */\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.tabListResizeObserver.disconnect();\n }\n\n /**\n * @internal\n */\n public override activeidChanged(oldValue: string, newValue: string): void {\n super.activeidChanged(oldValue, newValue);\n this.activetab?.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n\n /**\n * @internal\n */\n public onScrollLeftClick(): void {\n this.tablist.scrollBy({\n left: -this.tablist.clientWidth,\n behavior: 'smooth'\n });\n }\n\n /**\n * @internal\n */\n public onScrollRightClick(): void {\n this.tablist.scrollBy({\n left: this.tablist.clientWidth,\n behavior: 'smooth'\n });\n }\n}\n\nconst nimbleTabs = Tabs.compose<TabsOptions>({\n baseName: 'tabs',\n baseClass: FoundationTabs,\n template,\n styles\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTabs());\nexport const tabsTag = 'nimble-tabs';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tabs/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACH,YAAY,EACZ,IAAI,IAAI,cAAc,EAEzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AASrD;;GAEG;AACH,MAAM,OAAO,IAAK,SAAQ,cAAc;IAwBpC;QACI,KAAK,EAAE,CAAC;QAxBZ;;WAEG;QAEI,sBAAiB,GAAG,KAAK,CAAC;QAYjC;;WAEG;QACa,gBAAW,GAAG,KAAK,CAAC;QAMhC,4EAA4E;QAC5E,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,qBAAqB,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;YACtD,IAAI,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC;YACxD,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,WAAW,IAAI,CAAC,CAAC;gBAC5D,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACrD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,mBAAmB,IAAI,WAAW,GAAG,CAAC,CAAC;gBAC3C,CAAC;gBACD,IAAI,CAAC,iBAAiB,GAAG,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YAC5E,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACa,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACa,oBAAoB;QAChC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACa,eAAe,CAAC,QAAgB,EAAE,QAAgB;QAC9D,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACI,iBAAiB;QACpB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAClB,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YAC/B,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACI,kBAAkB;QACrB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAClB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YAC9B,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;IACP,CAAC;CACJ;AA/EU;IADN,UAAU;+CACsB;AAiFrC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAc;IACzC,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,cAAc;IACzB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC","sourcesContent":["import { observable } from '@microsoft/fast-element';\nimport {\n DesignSystem,\n Tabs as FoundationTabs,\n type TabsOptions\n} from '@microsoft/fast-foundation';\nimport { styles } from './styles';\nimport { template } from '../patterns/tabs/template';\nimport type { TabsOwner } from '../patterns/tabs/types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-tabs': Tabs;\n }\n}\n\n/**\n * A nimble-styled tabs control\n */\nexport class Tabs extends FoundationTabs implements TabsOwner {\n /**\n * @internal\n */\n @observable\n public showScrollButtons = false;\n\n /**\n * @internal\n */\n public readonly tablist!: HTMLElement;\n\n /**\n * @internal\n */\n public readonly leftScrollButton?: HTMLElement;\n\n /**\n * @internal\n */\n public readonly tabSlotName = 'tab';\n\n private readonly tabListResizeObserver: ResizeObserver;\n\n public constructor() {\n super();\n // We disable the built-in active indicator so that we can implement our own\n this.activeindicator = false;\n this.tabListResizeObserver = new ResizeObserver(entries => {\n let tabListVisibleWidth = entries[0]?.contentRect.width;\n if (tabListVisibleWidth !== undefined) {\n const buttonWidth = this.leftScrollButton?.clientWidth ?? 0;\n tabListVisibleWidth = Math.ceil(tabListVisibleWidth);\n if (this.showScrollButtons) {\n tabListVisibleWidth += buttonWidth * 2;\n }\n this.showScrollButtons = tabListVisibleWidth < this.tablist.scrollWidth;\n }\n });\n }\n\n /**\n * @internal\n */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.tabListResizeObserver.observe(this.tablist);\n }\n\n /**\n * @internal\n */\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.tabListResizeObserver.disconnect();\n }\n\n /**\n * @internal\n */\n public override activeidChanged(oldValue: string, newValue: string): void {\n super.activeidChanged(oldValue, newValue);\n this.activetab?.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n\n /**\n * @internal\n */\n public onScrollLeftClick(): void {\n this.tablist.scrollBy({\n left: -this.tablist.clientWidth,\n behavior: 'smooth'\n });\n }\n\n /**\n * @internal\n */\n public onScrollRightClick(): void {\n this.tablist.scrollBy({\n left: this.tablist.clientWidth,\n behavior: 'smooth'\n });\n }\n}\n\nconst nimbleTabs = Tabs.compose<TabsOptions>({\n baseName: 'tabs',\n baseClass: FoundationTabs,\n template,\n styles\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTabs());\nexport const tabsTag = 'nimble-tabs';\n"]}
@@ -1,4 +1,4 @@
1
- import { html, ref, slotted } from '@microsoft/fast-element';
1
+ import { html, ref, slotted, ViewTemplate } from '@microsoft/fast-element';
2
2
  import { iconExclamationMarkTag } from '../icons/exclamation-mark';
3
3
  import { errorTextTemplate } from '../patterns/error/template';
4
4
  import { createRequiredVisibleLabelTemplate } from '../patterns/required-visible/template';