@ni/nimble-components 34.3.1 → 34.3.3

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 (108) hide show
  1. package/dist/all-components-bundle.js +665 -579
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +6368 -6371
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/anchor/template.js +0 -1
  6. package/dist/esm/anchor/template.js.map +1 -1
  7. package/dist/esm/banner/template.js +0 -1
  8. package/dist/esm/banner/template.js.map +1 -1
  9. package/dist/esm/breadcrumb/breadcrumb.foundation.spec.js +8 -1
  10. package/dist/esm/breadcrumb/breadcrumb.foundation.spec.js.map +1 -1
  11. package/dist/esm/breadcrumb/template.js +0 -1
  12. package/dist/esm/breadcrumb/template.js.map +1 -1
  13. package/dist/esm/combobox/template.js +0 -2
  14. package/dist/esm/combobox/template.js.map +1 -1
  15. package/dist/esm/list-option/template.js +0 -1
  16. package/dist/esm/list-option/template.js.map +1 -1
  17. package/dist/esm/list-option-group/template.js +0 -1
  18. package/dist/esm/list-option-group/template.js.map +1 -1
  19. package/dist/esm/menu/template.js +0 -3
  20. package/dist/esm/menu/template.js.map +1 -1
  21. package/dist/esm/menu-button/template.js +0 -1
  22. package/dist/esm/menu-button/template.js.map +1 -1
  23. package/dist/esm/patterns/required-visible/template.js +0 -1
  24. package/dist/esm/patterns/required-visible/template.js.map +1 -1
  25. package/dist/esm/patterns/tabs/template.js +0 -1
  26. package/dist/esm/patterns/tabs/template.js.map +1 -1
  27. package/dist/esm/radio-group/template.js +0 -1
  28. package/dist/esm/radio-group/template.js.map +1 -1
  29. package/dist/esm/rich-text/editor/template.js +0 -1
  30. package/dist/esm/rich-text/editor/template.js.map +1 -1
  31. package/dist/esm/rich-text/mention-listbox/template.js +0 -2
  32. package/dist/esm/rich-text/mention-listbox/template.js.map +1 -1
  33. package/dist/esm/rich-text/models/markdown-parser.js.map +1 -1
  34. package/dist/esm/select/index.js.map +1 -1
  35. package/dist/esm/select/template.js +0 -3
  36. package/dist/esm/select/template.js.map +1 -1
  37. package/dist/esm/spinner/template.js +0 -3
  38. package/dist/esm/spinner/template.js.map +1 -1
  39. package/dist/esm/switch/template.js +0 -1
  40. package/dist/esm/switch/template.js.map +1 -1
  41. package/dist/esm/table/components/cell/template.js +0 -1
  42. package/dist/esm/table/components/cell/template.js.map +1 -1
  43. package/dist/esm/table/components/group-row/template.js +0 -3
  44. package/dist/esm/table/components/group-row/template.js.map +1 -1
  45. package/dist/esm/table/components/header/template.js +0 -1
  46. package/dist/esm/table/components/header/template.js.map +1 -1
  47. package/dist/esm/table/components/row/template.js +0 -1
  48. package/dist/esm/table/components/row/template.js.map +1 -1
  49. package/dist/esm/table/index.js.map +1 -1
  50. package/dist/esm/table/models/expansion-manager.js.map +1 -1
  51. package/dist/esm/table/models/keyboard-navigation-manager.js +1 -2
  52. package/dist/esm/table/models/keyboard-navigation-manager.js.map +1 -1
  53. package/dist/esm/table/models/virtualizer.js.map +1 -1
  54. package/dist/esm/table/template.js +0 -1
  55. package/dist/esm/table/template.js.map +1 -1
  56. package/dist/esm/table/testing/table.pageobject.js.map +1 -1
  57. package/dist/esm/table-column/anchor/cell-view/index.js.map +1 -1
  58. package/dist/esm/table-column/anchor/cell-view/template.js +0 -3
  59. package/dist/esm/table-column/anchor/cell-view/template.js.map +1 -1
  60. package/dist/esm/table-column/anchor/index.js.map +1 -1
  61. package/dist/esm/table-column/base/cell-view/template.js +0 -1
  62. package/dist/esm/table-column/base/cell-view/template.js.map +1 -1
  63. package/dist/esm/table-column/base/index.js.map +1 -1
  64. package/dist/esm/table-column/base/template.js +0 -1
  65. package/dist/esm/table-column/base/template.js.map +1 -1
  66. package/dist/esm/table-column/date-text/cell-view/index.js.map +1 -1
  67. package/dist/esm/table-column/date-text/group-header-view/index.js.map +1 -1
  68. package/dist/esm/table-column/date-text/index.js.map +1 -1
  69. package/dist/esm/table-column/duration-text/cell-view/index.js.map +1 -1
  70. package/dist/esm/table-column/duration-text/group-header-view/index.js.map +1 -1
  71. package/dist/esm/table-column/mapping/cell-view/index.js.map +1 -1
  72. package/dist/esm/table-column/mapping/cell-view/template.js +0 -1
  73. package/dist/esm/table-column/mapping/cell-view/template.js.map +1 -1
  74. package/dist/esm/table-column/mapping/group-header-view/index.js.map +1 -1
  75. package/dist/esm/table-column/mapping/group-header-view/template.js +0 -1
  76. package/dist/esm/table-column/mapping/group-header-view/template.js.map +1 -1
  77. package/dist/esm/table-column/mapping/index.js.map +1 -1
  78. package/dist/esm/table-column/menu-button/cell-view/index.js.map +1 -1
  79. package/dist/esm/table-column/number-text/cell-view/index.js.map +1 -1
  80. package/dist/esm/table-column/number-text/group-header-view/index.js.map +1 -1
  81. package/dist/esm/table-column/number-text/index.js.map +1 -1
  82. package/dist/esm/table-column/number-text/models/number-text-unit-format.js.map +1 -1
  83. package/dist/esm/table-column/number-text/template.js +0 -1
  84. package/dist/esm/table-column/number-text/template.js.map +1 -1
  85. package/dist/esm/table-column/text/cell-view/index.js.map +1 -1
  86. package/dist/esm/table-column/text/group-header-view/index.js.map +1 -1
  87. package/dist/esm/table-column/text/index.js.map +1 -1
  88. package/dist/esm/table-column/text-base/cell-view/template.js +0 -1
  89. package/dist/esm/table-column/text-base/cell-view/template.js.map +1 -1
  90. package/dist/esm/tabs-toolbar/template.js +0 -2
  91. package/dist/esm/tabs-toolbar/template.js.map +1 -1
  92. package/dist/esm/theme-provider/design-token-values.d.ts +257 -0
  93. package/dist/esm/theme-provider/design-token-values.js +164 -0
  94. package/dist/esm/theme-provider/design-token-values.js.map +1 -0
  95. package/dist/esm/theme-provider/design-tokens.js +153 -201
  96. package/dist/esm/theme-provider/design-tokens.js.map +1 -1
  97. package/dist/esm/toggle-button/template.js +0 -3
  98. package/dist/esm/toggle-button/template.js.map +1 -1
  99. package/dist/esm/tooltip/template.js +0 -1
  100. package/dist/esm/tooltip/template.js.map +1 -1
  101. package/dist/esm/tree-view/template.js +0 -1
  102. package/dist/esm/tree-view/template.js.map +1 -1
  103. package/dist/esm/utilities/style/theme.js.map +1 -1
  104. package/dist/esm/utilities/unit-format/default-unit-format.js.map +1 -1
  105. package/dist/esm/wafer-map/index.js.map +1 -1
  106. package/dist/esm/wafer-map/modules/create-matrix-renderer.js.map +1 -1
  107. package/dist/esm/wafer-map/modules/prerendering.js.map +1 -1
  108. package/package.json +5 -4
@@ -1 +1 @@
1
- {"version":3,"file":"table.pageobject.js","sourceRoot":"","sources":["../../../../src/table/testing/table.pageobject.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Checkbox } from '@ni/fast-foundation';\nimport { parseColor } from '@ni/fast-colors';\nimport type { Table } from '..';\nimport { tableHeaderTag, type TableHeader } from '../components/header';\nimport {\n TableColumnSortDirection,\n type TableRecord,\n TableRowSelectionState\n} from '../types';\nimport { waitForUpdatesAsync } from '../../testing/async-helpers';\nimport { menuButtonTag, type MenuButton } from '../../menu-button';\nimport { tableCellTag, type TableCell } from '../components/cell';\nimport type { TableGroupHeaderView } from '../../table-column/base/group-header-view';\nimport { TableCellView } from '../../table-column/base/cell-view';\nimport { tableRowTag, type TableRow } from '../components/row';\nimport { Anchor, anchorTag } from '../../anchor';\nimport { tableGroupRowTag, type TableGroupRow } from '../components/group-row';\nimport type { Button } from '../../button';\nimport { Icon } from '../../icon-base';\nimport type { IconSeverity } from '../../icon-base/types';\nimport { Spinner, spinnerTag } from '../../spinner';\nimport { borderHoverColor } from '../../theme-provider/design-tokens';\n\n/**\n * Summary information about a column that is sorted in the table for use in the `TablePageObject`.\n */\nexport interface SortedColumn {\n columnId?: string;\n sortDirection: TableColumnSortDirection;\n}\n\n/**\n * Page object for the `nimble-table` component to provide consistent ways\n * of querying and interacting with the component during tests.\n */\nexport class TablePageObject<T extends TableRecord> {\n public constructor(private readonly tableElement: Table<T>) {}\n\n public getRenderedHeaderCount(): number {\n const headers = this.tableElement.shadowRoot!.querySelectorAll(tableHeaderTag);\n return headers.length;\n }\n\n public getRenderedCellCountForRow(rowIndex: number): number {\n const row = this.getRow(rowIndex);\n const cells = row.shadowRoot!.querySelectorAll(tableCellTag);\n return cells.length;\n }\n\n public getHeaderContent(columnIndex: number): Node | undefined {\n const headers = this.tableElement.shadowRoot!.querySelectorAll<TableHeader>(\n tableHeaderTag\n );\n if (columnIndex >= headers.length) {\n throw new Error(\n 'Attempting to index past the total number of rendered columns'\n );\n }\n\n return this.getHeaderContentElement(headers.item(columnIndex));\n }\n\n public getHeaderElement(columnIndex: number): TableHeader {\n const headers = this.tableElement.shadowRoot!.querySelectorAll<TableHeader>(\n tableHeaderTag\n );\n if (columnIndex >= headers.length) {\n throw new Error(\n 'Attempting to index past the total number of rendered columns'\n );\n }\n\n return headers.item(columnIndex);\n }\n\n public getHeaderTitle(columnIndex: number): string {\n const column = this.tableElement.columns[columnIndex];\n return (\n column?.shadowRoot!.firstElementChild?.getAttribute('title') ?? ''\n );\n }\n\n public getHeaderTextContent(columnIndex: number): string {\n return (\n this.getHeaderContent(\n columnIndex\n )?.firstChild?.textContent?.trim() ?? ''\n );\n }\n\n public dispatchEventToHeader(\n columnIndex: number,\n event: Event\n ): boolean | undefined {\n const column = this.tableElement.columns[columnIndex];\n return column?.shadowRoot!.firstElementChild?.dispatchEvent(event);\n }\n\n public getHeaderRenderedWidth(columnIndex: number): number {\n const headers = this.tableElement.shadowRoot!.querySelectorAll<TableHeader>(\n tableHeaderTag\n );\n if (columnIndex >= headers.length) {\n throw new Error(\n 'Attempting to index past the total number of rendered columns'\n );\n }\n\n return headers[columnIndex]!.getBoundingClientRect().width;\n }\n\n public async clickColumnHeader(\n columnIndex: number,\n shiftKeyDown = false\n ): Promise<void> {\n const clickEvent = new MouseEvent('click', {\n shiftKey: shiftKeyDown,\n bubbles: true\n } as MouseEventInit);\n this.getHeaderElement(columnIndex).dispatchEvent(clickEvent);\n await waitForUpdatesAsync();\n }\n\n public getRenderedRowCount(): number {\n return this.tableElement.shadowRoot!.querySelectorAll(tableRowTag)\n .length;\n }\n\n public getRenderedGroupRowCount(): number {\n return this.tableElement.shadowRoot!.querySelectorAll(tableGroupRowTag)\n .length;\n }\n\n public getAllGroupRowsExpandedState(): boolean[] {\n const groupRows = this.tableElement.shadowRoot!.querySelectorAll(tableGroupRowTag);\n return Array.from(groupRows).map(row => row.expanded);\n }\n\n public getAllDataRowsExpandedState(): boolean[] {\n const rows = this.tableElement.shadowRoot!.querySelectorAll(tableRowTag);\n return Array.from(rows).map(row => row.expanded);\n }\n\n public getRenderedCellView(\n rowIndex: number,\n columnIndex: number\n ): TableCellView {\n const cell = this.getCell(rowIndex, columnIndex);\n const cellView = cell.cellViewContainer.firstElementChild;\n if (!(cellView instanceof TableCellView)) {\n throw new Error(\n 'Cell view not found in cell - ensure cellViewTag is set for column'\n );\n }\n return cellView as TableCellView;\n }\n\n public getRenderedCellViewById(\n recordId: string,\n columnId: string\n ): TableCellView {\n const cell = this.getCellById(recordId, columnId);\n const cellView = cell.cellViewContainer.firstElementChild;\n if (!(cellView instanceof TableCellView)) {\n throw new Error(\n 'Cell view not found in cell - ensure cellViewTag is set for column'\n );\n }\n return cellView as TableCellView;\n }\n\n public getRenderedCellTextContent(\n rowIndex: number,\n columnIndex: number\n ): string {\n return (\n this.getRenderedCellView(\n rowIndex,\n columnIndex\n ).shadowRoot!.textContent?.trim() ?? ''\n );\n }\n\n public getRenderedCellAnchor(\n rowIndex: number,\n columnIndex: number\n ): Anchor {\n const anchor = this.getRenderedCellView(\n rowIndex,\n columnIndex\n ).shadowRoot!.querySelector(anchorTag);\n if (!anchor) {\n throw new Error(\n `Anchor not found at cell ${rowIndex},${columnIndex}`\n );\n }\n return anchor;\n }\n\n public getRenderedMappingColumnCellIconTagName(\n rowIndex: number,\n columnIndex: number\n ): string {\n const iconOrSpinner = this.getRenderedMappingColumnIconOrSpinner(\n this.getRenderedCellView(rowIndex, columnIndex)\n );\n return iconOrSpinner.tagName.toLocaleLowerCase();\n }\n\n public getRenderedMappingColumnCellIconSeverity(\n rowIndex: number,\n columnIndex: number\n ): IconSeverity {\n const iconOrSpinner = this.getRenderedMappingColumnIconOrSpinner(\n this.getRenderedCellView(rowIndex, columnIndex)\n );\n if (iconOrSpinner instanceof Icon) {\n return iconOrSpinner.severity;\n }\n throw new Error('Cell does not contain an icon');\n }\n\n public getRenderedGroupHeaderTextContent(groupRowIndex: number): string {\n return (\n this.getGroupRowHeaderView(\n groupRowIndex\n ).shadowRoot!.textContent?.trim() ?? ''\n );\n }\n\n public getAllRenderedGroupHeaderTextContent(): string[] {\n const groupRows = this.tableElement.shadowRoot!.querySelectorAll(tableGroupRowTag);\n return Array.from(groupRows).map((_, i) => {\n return this.getRenderedGroupHeaderTextContent(i);\n });\n }\n\n public getCellTitle(rowIndex: number, columnIndex: number): string {\n const cellView = this.getRenderedCellView(rowIndex, columnIndex);\n return (\n cellView.shadowRoot!.firstElementChild?.getAttribute('title') ?? ''\n );\n }\n\n public dispatchEventToCell(\n rowIndex: number,\n columnIndex: number,\n event: Event\n ): boolean | undefined {\n const cellView = this.getRenderedCellView(rowIndex, columnIndex);\n return cellView.shadowRoot!.firstElementChild?.dispatchEvent(event);\n }\n\n public getGroupHeaderTitle(groupRowIndex: number): string {\n const groupHeader = this.getGroupRowHeaderView(groupRowIndex);\n return (\n groupHeader\n .shadowRoot!.querySelector('span')\n ?.getAttribute('title') ?? ''\n );\n }\n\n public dispatchEventToGroupHeader(\n groupRowIndex: number,\n event: Event\n ): boolean | undefined {\n const groupHeader = this.getGroupRowHeaderView(groupRowIndex);\n return groupHeader\n .shadowRoot!.querySelector('span')\n ?.dispatchEvent(event);\n }\n\n public getRecordId(rowIndex: number): string | undefined {\n return this.getRow(rowIndex).recordId;\n }\n\n public getRowWidth(): number {\n const tableRowContainer = this.tableElement.shadowRoot!.querySelector(\n '.table-row-container'\n );\n return tableRowContainer!.scrollWidth;\n }\n\n public async sizeTableToGivenRowWidth(\n rowWidth: number,\n table: Table<T>\n ): Promise<void> {\n if (!table.$fastController.isConnected) {\n throw Error(\n 'The element must be connected before calling this method'\n );\n }\n\n table.style.width = `${\n rowWidth\n + table.headerRowActionContainer.getBoundingClientRect().width\n + table.virtualizer.headerContainerMarginRight\n }px`;\n await waitForUpdatesAsync();\n }\n\n public getCellRenderedWidth(rowIndex: number, columnIndex: number): number {\n const cell = this.getCell(rowIndex, columnIndex);\n const actualWidth = cell.getBoundingClientRect().width;\n // Round to one decimal place. This is to work around a bug in Chrome related to\n // fractional widths (e.g. '1fr') in grid layouts that results in some numerical\n // precision issues. See: https://bugs.chromium.org/p/chromium/issues/detail?id=1515685\n return Math.round(actualWidth * 10) / 10;\n }\n\n public getTotalCellRenderedWidth(): number {\n const row = this.getRow(0);\n const cells = row?.shadowRoot?.querySelectorAll(tableCellTag);\n return Array.from(cells!).reduce((p, c) => {\n return p + c.getBoundingClientRect().width;\n }, 0);\n }\n\n public async scrollToFirstRowAsync(): Promise<void> {\n const scrollElement = this.tableElement.viewport;\n scrollElement.scroll({ top: 0 });\n await waitForUpdatesAsync();\n }\n\n public async scrollToLastRowAsync(): Promise<void> {\n const scrollElement = this.tableElement.viewport;\n scrollElement.scroll({ top: scrollElement.scrollHeight });\n await waitForUpdatesAsync();\n }\n\n public getCellActionMenu(\n rowIndex: number,\n columnIndex: number\n ): MenuButton | null {\n return this.getCell(rowIndex, columnIndex).shadowRoot!.querySelector(\n menuButtonTag\n );\n }\n\n public async clickCellActionMenu(\n rowIndex: number,\n columnIndex: number\n ): Promise<void> {\n this.setRowHoverState(rowIndex, true);\n await waitForUpdatesAsync();\n\n const menuButton = this.getCellActionMenu(rowIndex, columnIndex);\n if (!menuButton) {\n throw new Error('Cannot click on a non-visible action menu');\n }\n\n menuButton.toggleButton!.control.click();\n }\n\n public isCellActionMenuVisible(\n rowIndex: number,\n columnIndex: number\n ): boolean {\n const actionMenu = this.getCellActionMenu(rowIndex, columnIndex);\n if (!actionMenu) {\n return false;\n }\n\n return window.getComputedStyle(actionMenu).display !== 'none';\n }\n\n public setRowHoverState(rowIndex: number, hover: boolean): void {\n const row = this.getRow(rowIndex);\n const cells = row.shadowRoot!.querySelectorAll(tableCellTag);\n if (hover) {\n cells.forEach(cell => cell.style.setProperty(\n '--ni-private-table-cell-action-menu-display',\n 'block'\n ));\n } else {\n cells.forEach(cell => cell.style.removeProperty(\n '--ni-private-table-cell-action-menu-display'\n ));\n }\n }\n\n public async clickGroupRow(groupRowIndex: number): Promise<void> {\n const groupRow = this.getGroupRow(groupRowIndex);\n groupRow.click();\n await waitForUpdatesAsync();\n }\n\n public async clickRow(\n rowIndex: number,\n modifiers: { shiftKey?: boolean, ctrlKey?: boolean } = {}\n ): Promise<void> {\n const row = this.getRow(rowIndex);\n const event = new MouseEvent('click', modifiers);\n row.dispatchEvent(event);\n await waitForUpdatesAsync();\n }\n\n public getIsRowSelectable(rowIndex: number): boolean {\n const row = this.getRow(rowIndex);\n return row.selectable;\n }\n\n public getIsRowSelected(rowIndex: number): boolean {\n const row = this.getRow(rowIndex);\n return row.selected;\n }\n\n public toggleGroupRowExpandedState(groupRowIndex: number): void {\n this.getGroupRow(groupRowIndex).click();\n }\n\n public clickCollapseAllButton(): void {\n this.getCollapseAllButton()?.click();\n }\n\n public clickDataRowExpandCollapseButton(rowIndex: number): void {\n const expandCollapseButton = this.getExpandCollapseButtonForRow(rowIndex);\n if (!expandCollapseButton) {\n throw new Error(\n 'The provided row index has no visible expand collapse button associated with it.'\n );\n }\n\n expandCollapseButton.click();\n }\n\n public isCollapseAllButtonVisible(): boolean {\n const collapseButton = this.getCollapseAllButton();\n if (collapseButton) {\n return (\n window.getComputedStyle(collapseButton).visibility === 'visible'\n );\n }\n return false;\n }\n\n public isCollapseAllButtonSpaceReserved(): boolean {\n const collapseButton = this.getCollapseAllButton();\n if (collapseButton) {\n return window.getComputedStyle(collapseButton).display !== 'none';\n }\n return true;\n }\n\n public isDataRowExpandCollapseButtonVisible(rowIndex: number): boolean {\n const expandCollapseButton = this.getExpandCollapseButtonForRow(rowIndex);\n return expandCollapseButton !== null;\n }\n\n public isDataRowLoadingSpinnerVisible(rowIndex: number): boolean {\n const row = this.getRow(rowIndex);\n const spinner = row.shadowRoot!.querySelector(spinnerTag);\n return spinner !== null;\n }\n\n public isTableSelectionCheckboxVisible(): boolean {\n const checkbox = this.getSelectionCheckboxForTable();\n return this.isCheckboxVisible(checkbox);\n }\n\n public getTableSelectionState(): TableRowSelectionState {\n const checkbox = this.getSelectionCheckboxForTable();\n return this.getSelectionStateOfCheckbox(checkbox);\n }\n\n public clickTableSelectionCheckbox(): void {\n const checkbox = this.getSelectionCheckboxForTable();\n checkbox!.click();\n }\n\n public isRowSelectionCheckboxVisible(rowIndex: number): boolean {\n const checkbox = this.getSelectionCheckboxForRow(rowIndex);\n return this.isCheckboxVisible(checkbox);\n }\n\n public getRowSelectionState(rowIndex: number): TableRowSelectionState {\n const checkbox = this.getSelectionCheckboxForRow(rowIndex);\n return this.getSelectionStateOfCheckbox(checkbox);\n }\n\n public clickRowSelectionCheckbox(rowIndex: number, shiftKey = false): void {\n if (shiftKey) {\n const shiftKeyDownEvent = new KeyboardEvent('keydown', {\n key: 'Shift',\n shiftKey: true,\n bubbles: true\n } as KeyboardEventInit);\n document.dispatchEvent(shiftKeyDownEvent);\n }\n\n const checkbox = this.getSelectionCheckboxForRow(rowIndex);\n checkbox!.click();\n\n if (shiftKey) {\n const shiftKeyUpEvent = new KeyboardEvent('keyup', {\n key: 'Shift',\n bubbles: true\n } as KeyboardEventInit);\n document.dispatchEvent(shiftKeyUpEvent);\n }\n }\n\n public getGroupRowSelectionState(\n groupRowIndex: number\n ): TableRowSelectionState {\n const checkbox = this.getSelectionCheckboxForGroupRow(groupRowIndex);\n return this.getSelectionStateOfCheckbox(checkbox);\n }\n\n public clickGroupRowSelectionCheckbox(\n groupRowIndex: number,\n shiftKey = false\n ): void {\n if (shiftKey) {\n const shiftKeyDownEvent = new KeyboardEvent('keydown', {\n key: 'Shift',\n shiftKey: true,\n bubbles: true\n } as KeyboardEventInit);\n document.dispatchEvent(shiftKeyDownEvent);\n }\n\n const checkbox = this.getSelectionCheckboxForGroupRow(groupRowIndex);\n checkbox!.click();\n\n if (shiftKey) {\n const shiftKeyUpEvent = new KeyboardEvent('keyup', {\n key: 'Shift',\n bubbles: true\n } as KeyboardEventInit);\n document.dispatchEvent(shiftKeyUpEvent);\n }\n }\n\n /**\n * @param columnIndex The index of the column to the left of the divider to press.\n */\n public pressRightColumnDivider(columnIndex: number): void {\n this.pressColumnDivider(this.getColumnDivider(columnIndex, false));\n }\n\n /**\n * @param columnIndex The index of the column to the left of the divider to release.\n */\n public releaseRightColumnDivider(columnIndex: number): void {\n this.releaseColumnDivider(this.getColumnDivider(columnIndex, false));\n }\n\n /**\n * @param columnIndex The index of the column to the left of a divider being dragged. Thus, this\n * cannot be given a value representing the last visible column index.\n * @param deltas The series of mouse movements in the x-direction while sizing a column.\n */\n public dragSizeColumnByRightDivider(\n columnIndex: number,\n deltas: readonly number[]\n ): void {\n this.dragSizeColumnByDivider(columnIndex, false, deltas);\n }\n\n /**\n * @param columnIndex The index of the column to the right of a divider being dragged. Thus, this\n * value must be greater than 0 and less than the total number of visible columns.\n * @param deltas The series of mouse movements in the x-direction while sizing a column.\n */\n public dragSizeColumnByLeftDivider(\n columnIndex: number,\n deltas: readonly number[]\n ): void {\n this.dragSizeColumnByDivider(columnIndex, true, deltas);\n }\n\n /**\n * @param columnIndex The index of the column whose right divider we're checking.\n */\n public columnRightDividerHasActiveStyling(columnIndex: number): boolean {\n const divider = this.getColumnDivider(columnIndex, false);\n const currentColor = parseColor(\n window.getComputedStyle(divider).borderLeftColor\n );\n const hoverColor = parseColor(borderHoverColor.getValueFor(divider))!;\n return currentColor!.equalValue(hoverColor);\n }\n\n public isVerticalScrollbarVisible(): boolean {\n return (\n this.tableElement.viewport.clientHeight\n < this.tableElement.viewport.scrollHeight\n );\n }\n\n public isHorizontalScrollbarVisible(): boolean {\n return (\n this.tableElement.viewport.clientWidth\n < this.tableElement.viewport.scrollWidth\n );\n }\n\n public getSortedColumns(): SortedColumn[] {\n return this.tableElement.columns\n .filter(\n x => !x.columnInternals.sortingDisabled\n && typeof x.columnInternals.currentSortIndex === 'number'\n && x.columnInternals.currentSortDirection\n !== TableColumnSortDirection.none\n )\n .sort(\n (a, b) => a.columnInternals.currentSortIndex!\n - b.columnInternals.currentSortIndex!\n )\n .map(x => {\n return {\n columnId: x.columnId,\n sortDirection: x.columnInternals.currentSortDirection\n };\n });\n }\n\n public getGroupedColumns(): string[] {\n return this.tableElement.columns\n .filter(\n x => !x.columnInternals.groupingDisabled\n && typeof x.columnInternals.groupIndex === 'number'\n )\n .sort(\n (a, b) => a.columnInternals.groupIndex!\n - b.columnInternals.groupIndex!\n )\n .map(x => x.columnId ?? '');\n }\n\n public getChildRowCountForGroup(groupRowIndex: number): number {\n const groupRow = this.getGroupRow(groupRowIndex);\n const countDisplayString = groupRow\n .shadowRoot!.querySelector('.group-row-child-count')!\n .textContent!.trim();\n // Remove the parenthesis to get just the number as a string\n const countString = countDisplayString.substring(\n 1,\n countDisplayString.length - 1\n );\n return Number(countString);\n }\n\n /** @internal */\n public isRowHoverStylingEnabled(): boolean {\n const rows: NodeListOf<TableRow | TableGroupRow> = this.tableElement.shadowRoot!.querySelectorAll(\n `${tableRowTag}, ${tableGroupRowTag}`\n );\n const firstRowAllowsHover = rows[0]!.allowHover;\n if (Array.from(rows).some(x => x.allowHover !== firstRowAllowsHover)) {\n throw new Error('Rows inconsistently allow hover styling');\n }\n return firstRowAllowsHover;\n }\n\n /** @internal */\n public getGroupRowHeaderView(groupRowIndex: number): TableGroupHeaderView {\n const groupRow = this.getGroupRow(groupRowIndex);\n return groupRow.shadowRoot!.querySelector('.group-header-view')!;\n }\n\n /** @internal */\n public getRow(rowIndex: number): TableRow {\n const rows = this.tableElement.shadowRoot!.querySelectorAll(tableRowTag);\n if (rowIndex >= rows.length) {\n throw new Error(\n 'Attempting to index past the total number of rendered rows'\n );\n }\n\n return rows.item(rowIndex);\n }\n\n /** @internal */\n public getCell(rowIndex: number, columnIndex: number): TableCell {\n const row = this.getRow(rowIndex);\n const cells = row.shadowRoot!.querySelectorAll(tableCellTag);\n if (columnIndex >= cells.length) {\n throw new Error(\n 'Attempting to index past the total number of rendered columns'\n );\n }\n\n return cells.item(columnIndex);\n }\n\n private getRowById(recordId: string): TableRow {\n const row: TableRow | null = this.tableElement.shadowRoot!.querySelector(\n `nimble-table-row[record-id=\"${CSS.escape(recordId)}\"]`\n );\n if (!row) {\n throw new Error(\n 'Row with given id was not found. It may not be scrolled into view.'\n );\n }\n\n return row;\n }\n\n private getCellById(recordId: string, columnId: string): TableCell {\n const row = this.getRowById(recordId);\n const cell: TableCell | null = row.shadowRoot!.querySelector(\n `nimble-table-cell[column-id=\"${CSS.escape(columnId)}\"]`\n );\n\n if (!cell) {\n throw new Error('Cell with given columnId was not found in row');\n }\n\n return cell;\n }\n\n private getCollapseAllButton(): Button | null {\n return this.tableElement.shadowRoot!.querySelector<Button>(\n '.collapse-all-button'\n );\n }\n\n private getExpandCollapseButtonForRow(rowIndex: number): Button | null {\n const row = this.getRow(rowIndex);\n const rowExpandCollapseButton = row.shadowRoot!.querySelector<Button>(\n '.expand-collapse-button'\n );\n if (!rowExpandCollapseButton) {\n const firstCell = this.getCell(rowIndex, 0);\n return firstCell?.shadowRoot!.querySelector<Button>(\n '.expand-collapse-button'\n );\n }\n\n return rowExpandCollapseButton;\n }\n\n private getSelectionCheckboxForRow(rowIndex: number): Checkbox | null {\n const row = this.getRow(rowIndex);\n return row.shadowRoot!.querySelector('.selection-checkbox');\n }\n\n private getSelectionCheckboxForGroupRow(\n groupRowIndex: number\n ): Checkbox | null {\n const groupRow = this.getGroupRow(groupRowIndex);\n return groupRow.shadowRoot!.querySelector('.selection-checkbox');\n }\n\n private getSelectionCheckboxForTable(): Checkbox | null {\n return this.tableElement.shadowRoot!.querySelector<Checkbox>(\n '.header-row .selection-checkbox'\n );\n }\n\n private isCheckboxVisible(checkbox: Checkbox | null): boolean {\n return !!checkbox && !checkbox.hidden;\n }\n\n private getSelectionStateOfCheckbox(\n checkbox: Checkbox | null\n ): TableRowSelectionState {\n if (!checkbox) {\n throw new Error('Cannot get selection state from null checkbox');\n }\n\n if (checkbox.indeterminate) {\n return TableRowSelectionState.partiallySelected;\n }\n if (checkbox.checked) {\n return TableRowSelectionState.selected;\n }\n return TableRowSelectionState.notSelected;\n }\n\n private getGroupRow(groupRowIndex: number): TableGroupRow {\n const groupRows = this.tableElement.shadowRoot!.querySelectorAll(tableGroupRowTag);\n if (groupRowIndex >= groupRows.length) {\n throw new Error(\n 'Attempting to index past the total number of group rows'\n );\n }\n\n return groupRows.item(groupRowIndex);\n }\n\n private getHeaderContentElement(\n element: HTMLElement | HTMLSlotElement\n ): Node | undefined {\n const nodeChildren = this.isSlotElement(element)\n ? element.assignedNodes()\n : element.shadowRoot?.childNodes;\n if (!nodeChildren) {\n return undefined;\n }\n\n const slotElement = Array.from(nodeChildren)?.find<HTMLSlotElement>(\n this.isSlotElement\n );\n if (slotElement) {\n return this.getHeaderContentElement(slotElement);\n }\n\n return nodeChildren[0]; // header content should be first item in final slot element\n }\n\n private getRenderedMappingColumnIconOrSpinner(\n view: TableCellView | TableGroupHeaderView\n ): Icon | Spinner {\n const viewShadowRoot = view.shadowRoot!;\n const spinnerOrIcon = viewShadowRoot.querySelector(\n '.reserve-icon-size'\n )?.firstElementChild;\n if (\n !(spinnerOrIcon instanceof Icon || spinnerOrIcon instanceof Spinner)\n ) {\n throw new Error('Icon or Spinner not found');\n }\n\n return spinnerOrIcon;\n }\n\n private getColumnDivider(\n columnIndex: number,\n leftDivider: boolean\n ): HTMLElement {\n const headerContainers = this.tableElement.shadowRoot!.querySelectorAll('.header-container');\n if (columnIndex < 0 || columnIndex >= headerContainers.length) {\n throw new Error(\n 'Invalid column index. Index must be greater than or equal to 0 and less than the number of visible columns.'\n );\n }\n const side = leftDivider ? 'left' : 'right';\n const divider = headerContainers[columnIndex]!.querySelector(\n `.column-divider.${side}`\n );\n if (!divider) {\n throw new Error(\n `The provided column index has no ${side} divider associated with it.`\n );\n }\n\n return divider as HTMLElement;\n }\n\n private pressColumnDivider(divider: HTMLElement): number {\n const dividerRect = divider.getBoundingClientRect();\n const clickX = (dividerRect.x + dividerRect.width) / 2;\n const pointerDownEvent = new PointerEvent('pointerdown', {\n // -1 is a value reserved for synthetic events: https://w3c.github.io/pointerevents/#dom-pointerevent-pointerid\n pointerId: -1,\n clientX: clickX,\n clientY: (dividerRect.y + dividerRect.height) / 2\n });\n divider.dispatchEvent(pointerDownEvent);\n\n return clickX;\n }\n\n private releaseColumnDivider(divider: HTMLElement): void {\n divider.dispatchEvent(new PointerEvent('pointerup'));\n }\n\n private dragSizeColumnByDivider(\n columnIndex: number,\n leftDivider: boolean,\n deltas: readonly number[]\n ): void {\n const divider = this.getColumnDivider(columnIndex, leftDivider);\n let currentPointerX = this.pressColumnDivider(divider);\n for (const delta of deltas) {\n currentPointerX += delta;\n const pointerMoveEvent = new PointerEvent('pointermove', {\n clientX: currentPointerX\n });\n divider.dispatchEvent(pointerMoveEvent);\n }\n this.releaseColumnDivider(divider);\n }\n\n private readonly isSlotElement = (\n element: Node | undefined\n ): element is HTMLSlotElement => {\n return element?.nodeName === 'SLOT';\n };\n}\n"]}
1
+ {"version":3,"file":"table.pageobject.js","sourceRoot":"","sources":["../../../../src/table/testing/table.pageobject.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Checkbox } from '@ni/fast-foundation';\nimport { parseColor } from '@ni/fast-colors';\nimport type { Table } from '..';\nimport { tableHeaderTag, type TableHeader } from '../components/header';\nimport {\n TableColumnSortDirection,\n type TableRecord,\n TableRowSelectionState\n} from '../types';\nimport { waitForUpdatesAsync } from '../../testing/async-helpers';\nimport { menuButtonTag, type MenuButton } from '../../menu-button';\nimport { tableCellTag, type TableCell } from '../components/cell';\nimport type { TableGroupHeaderView } from '../../table-column/base/group-header-view';\nimport { TableCellView } from '../../table-column/base/cell-view';\nimport { tableRowTag, type TableRow } from '../components/row';\nimport { Anchor, anchorTag } from '../../anchor';\nimport { tableGroupRowTag, type TableGroupRow } from '../components/group-row';\nimport type { Button } from '../../button';\nimport { Icon } from '../../icon-base';\nimport type { IconSeverity } from '../../icon-base/types';\nimport { Spinner, spinnerTag } from '../../spinner';\nimport { borderHoverColor } from '../../theme-provider/design-tokens';\n\n/**\n * Summary information about a column that is sorted in the table for use in the `TablePageObject`.\n */\nexport interface SortedColumn {\n columnId?: string;\n sortDirection: TableColumnSortDirection;\n}\n\n/**\n * Page object for the `nimble-table` component to provide consistent ways\n * of querying and interacting with the component during tests.\n */\nexport class TablePageObject<T extends TableRecord> {\n public constructor(private readonly tableElement: Table<T>) {}\n\n public getRenderedHeaderCount(): number {\n const headers = this.tableElement.shadowRoot!.querySelectorAll(tableHeaderTag);\n return headers.length;\n }\n\n public getRenderedCellCountForRow(rowIndex: number): number {\n const row = this.getRow(rowIndex);\n const cells = row.shadowRoot!.querySelectorAll(tableCellTag);\n return cells.length;\n }\n\n public getHeaderContent(columnIndex: number): Node | undefined {\n const headers = this.tableElement.shadowRoot!.querySelectorAll<TableHeader>(\n tableHeaderTag\n );\n if (columnIndex >= headers.length) {\n throw new Error(\n 'Attempting to index past the total number of rendered columns'\n );\n }\n\n return this.getHeaderContentElement(headers.item(columnIndex));\n }\n\n public getHeaderElement(columnIndex: number): TableHeader {\n const headers = this.tableElement.shadowRoot!.querySelectorAll<TableHeader>(\n tableHeaderTag\n );\n if (columnIndex >= headers.length) {\n throw new Error(\n 'Attempting to index past the total number of rendered columns'\n );\n }\n\n return headers.item(columnIndex);\n }\n\n public getHeaderTitle(columnIndex: number): string {\n const column = this.tableElement.columns[columnIndex];\n return (\n column?.shadowRoot!.firstElementChild?.getAttribute('title') ?? ''\n );\n }\n\n public getHeaderTextContent(columnIndex: number): string {\n return (\n this.getHeaderContent(\n columnIndex\n )?.firstChild?.textContent?.trim() ?? ''\n );\n }\n\n public dispatchEventToHeader(\n columnIndex: number,\n event: Event\n ): boolean | undefined {\n const column = this.tableElement.columns[columnIndex];\n return column?.shadowRoot!.firstElementChild?.dispatchEvent(event);\n }\n\n public getHeaderRenderedWidth(columnIndex: number): number {\n const headers = this.tableElement.shadowRoot!.querySelectorAll<TableHeader>(\n tableHeaderTag\n );\n if (columnIndex >= headers.length) {\n throw new Error(\n 'Attempting to index past the total number of rendered columns'\n );\n }\n\n return headers[columnIndex]!.getBoundingClientRect().width;\n }\n\n public async clickColumnHeader(\n columnIndex: number,\n shiftKeyDown = false\n ): Promise<void> {\n const clickEvent = new MouseEvent('click', {\n shiftKey: shiftKeyDown,\n bubbles: true\n } as MouseEventInit);\n this.getHeaderElement(columnIndex).dispatchEvent(clickEvent);\n await waitForUpdatesAsync();\n }\n\n public getRenderedRowCount(): number {\n return this.tableElement.shadowRoot!.querySelectorAll(tableRowTag)\n .length;\n }\n\n public getRenderedGroupRowCount(): number {\n return this.tableElement.shadowRoot!.querySelectorAll(tableGroupRowTag)\n .length;\n }\n\n public getAllGroupRowsExpandedState(): boolean[] {\n const groupRows = this.tableElement.shadowRoot!.querySelectorAll(tableGroupRowTag);\n return Array.from(groupRows).map(row => row.expanded);\n }\n\n public getAllDataRowsExpandedState(): boolean[] {\n const rows = this.tableElement.shadowRoot!.querySelectorAll(tableRowTag);\n return Array.from(rows).map(row => row.expanded);\n }\n\n public getRenderedCellView(\n rowIndex: number,\n columnIndex: number\n ): TableCellView {\n const cell = this.getCell(rowIndex, columnIndex);\n const cellView = cell.cellViewContainer.firstElementChild;\n if (!(cellView instanceof TableCellView)) {\n throw new Error(\n 'Cell view not found in cell - ensure cellViewTag is set for column'\n );\n }\n return cellView as TableCellView;\n }\n\n public getRenderedCellViewById(\n recordId: string,\n columnId: string\n ): TableCellView {\n const cell = this.getCellById(recordId, columnId);\n const cellView = cell.cellViewContainer.firstElementChild;\n if (!(cellView instanceof TableCellView)) {\n throw new Error(\n 'Cell view not found in cell - ensure cellViewTag is set for column'\n );\n }\n return cellView as TableCellView;\n }\n\n public getRenderedCellTextContent(\n rowIndex: number,\n columnIndex: number\n ): string {\n return (\n this.getRenderedCellView(\n rowIndex,\n columnIndex\n ).shadowRoot!.textContent?.trim() ?? ''\n );\n }\n\n public getRenderedCellAnchor(\n rowIndex: number,\n columnIndex: number\n ): Anchor {\n const anchor = this.getRenderedCellView(\n rowIndex,\n columnIndex\n ).shadowRoot!.querySelector(anchorTag);\n if (!anchor) {\n throw new Error(\n `Anchor not found at cell ${rowIndex},${columnIndex}`\n );\n }\n return anchor;\n }\n\n public getRenderedMappingColumnCellIconTagName(\n rowIndex: number,\n columnIndex: number\n ): string {\n const iconOrSpinner = this.getRenderedMappingColumnIconOrSpinner(\n this.getRenderedCellView(rowIndex, columnIndex)\n );\n return iconOrSpinner.tagName.toLocaleLowerCase();\n }\n\n public getRenderedMappingColumnCellIconSeverity(\n rowIndex: number,\n columnIndex: number\n ): IconSeverity {\n const iconOrSpinner = this.getRenderedMappingColumnIconOrSpinner(\n this.getRenderedCellView(rowIndex, columnIndex)\n );\n if (iconOrSpinner instanceof Icon) {\n return iconOrSpinner.severity;\n }\n throw new Error('Cell does not contain an icon');\n }\n\n public getRenderedGroupHeaderTextContent(groupRowIndex: number): string {\n return (\n this.getGroupRowHeaderView(\n groupRowIndex\n ).shadowRoot!.textContent?.trim() ?? ''\n );\n }\n\n public getAllRenderedGroupHeaderTextContent(): string[] {\n const groupRows = this.tableElement.shadowRoot!.querySelectorAll(tableGroupRowTag);\n return Array.from(groupRows).map((_, i) => {\n return this.getRenderedGroupHeaderTextContent(i);\n });\n }\n\n public getCellTitle(rowIndex: number, columnIndex: number): string {\n const cellView = this.getRenderedCellView(rowIndex, columnIndex);\n return (\n cellView.shadowRoot!.firstElementChild?.getAttribute('title') ?? ''\n );\n }\n\n public dispatchEventToCell(\n rowIndex: number,\n columnIndex: number,\n event: Event\n ): boolean | undefined {\n const cellView = this.getRenderedCellView(rowIndex, columnIndex);\n return cellView.shadowRoot!.firstElementChild?.dispatchEvent(event);\n }\n\n public getGroupHeaderTitle(groupRowIndex: number): string {\n const groupHeader = this.getGroupRowHeaderView(groupRowIndex);\n return (\n groupHeader\n .shadowRoot!.querySelector('span')\n ?.getAttribute('title') ?? ''\n );\n }\n\n public dispatchEventToGroupHeader(\n groupRowIndex: number,\n event: Event\n ): boolean | undefined {\n const groupHeader = this.getGroupRowHeaderView(groupRowIndex);\n return groupHeader\n .shadowRoot!.querySelector('span')\n ?.dispatchEvent(event);\n }\n\n public getRecordId(rowIndex: number): string | undefined {\n return this.getRow(rowIndex).recordId;\n }\n\n public getRowWidth(): number {\n const tableRowContainer = this.tableElement.shadowRoot!.querySelector(\n '.table-row-container'\n );\n return tableRowContainer!.scrollWidth;\n }\n\n public async sizeTableToGivenRowWidth(\n rowWidth: number,\n table: Table<T>\n ): Promise<void> {\n if (!table.$fastController.isConnected) {\n throw Error(\n 'The element must be connected before calling this method'\n );\n }\n\n table.style.width = `${\n rowWidth\n + table.headerRowActionContainer.getBoundingClientRect().width\n + table.virtualizer.headerContainerMarginRight\n }px`;\n await waitForUpdatesAsync();\n }\n\n public getCellRenderedWidth(rowIndex: number, columnIndex: number): number {\n const cell = this.getCell(rowIndex, columnIndex);\n const actualWidth = cell.getBoundingClientRect().width;\n // Round to one decimal place. This is to work around a bug in Chrome related to\n // fractional widths (e.g. '1fr') in grid layouts that results in some numerical\n // precision issues. See: https://bugs.chromium.org/p/chromium/issues/detail?id=1515685\n return Math.round(actualWidth * 10) / 10;\n }\n\n public getTotalCellRenderedWidth(): number {\n const row = this.getRow(0);\n const cells = row?.shadowRoot?.querySelectorAll(tableCellTag);\n return Array.from(cells!).reduce((p, c) => {\n return p + c.getBoundingClientRect().width;\n }, 0);\n }\n\n public async scrollToFirstRowAsync(): Promise<void> {\n const scrollElement = this.tableElement.viewport;\n scrollElement.scroll({ top: 0 });\n await waitForUpdatesAsync();\n }\n\n public async scrollToLastRowAsync(): Promise<void> {\n const scrollElement = this.tableElement.viewport;\n scrollElement.scroll({ top: scrollElement.scrollHeight });\n await waitForUpdatesAsync();\n }\n\n public getCellActionMenu(\n rowIndex: number,\n columnIndex: number\n ): MenuButton | null {\n return this.getCell(rowIndex, columnIndex).shadowRoot!.querySelector(\n menuButtonTag\n );\n }\n\n public async clickCellActionMenu(\n rowIndex: number,\n columnIndex: number\n ): Promise<void> {\n this.setRowHoverState(rowIndex, true);\n await waitForUpdatesAsync();\n\n const menuButton = this.getCellActionMenu(rowIndex, columnIndex);\n if (!menuButton) {\n throw new Error('Cannot click on a non-visible action menu');\n }\n\n menuButton.toggleButton!.control.click();\n }\n\n public isCellActionMenuVisible(\n rowIndex: number,\n columnIndex: number\n ): boolean {\n const actionMenu = this.getCellActionMenu(rowIndex, columnIndex);\n if (!actionMenu) {\n return false;\n }\n\n return window.getComputedStyle(actionMenu).display !== 'none';\n }\n\n public setRowHoverState(rowIndex: number, hover: boolean): void {\n const row = this.getRow(rowIndex);\n const cells = row.shadowRoot!.querySelectorAll(tableCellTag);\n if (hover) {\n cells.forEach(cell => cell.style.setProperty(\n '--ni-private-table-cell-action-menu-display',\n 'block'\n ));\n } else {\n cells.forEach(cell => cell.style.removeProperty(\n '--ni-private-table-cell-action-menu-display'\n ));\n }\n }\n\n public async clickGroupRow(groupRowIndex: number): Promise<void> {\n const groupRow = this.getGroupRow(groupRowIndex);\n groupRow.click();\n await waitForUpdatesAsync();\n }\n\n public async clickRow(\n rowIndex: number,\n modifiers: { shiftKey?: boolean, ctrlKey?: boolean } = {}\n ): Promise<void> {\n const row = this.getRow(rowIndex);\n const event = new MouseEvent('click', modifiers);\n row.dispatchEvent(event);\n await waitForUpdatesAsync();\n }\n\n public getIsRowSelectable(rowIndex: number): boolean {\n const row = this.getRow(rowIndex);\n return row.selectable;\n }\n\n public getIsRowSelected(rowIndex: number): boolean {\n const row = this.getRow(rowIndex);\n return row.selected;\n }\n\n public toggleGroupRowExpandedState(groupRowIndex: number): void {\n this.getGroupRow(groupRowIndex).click();\n }\n\n public clickCollapseAllButton(): void {\n this.getCollapseAllButton()?.click();\n }\n\n public clickDataRowExpandCollapseButton(rowIndex: number): void {\n const expandCollapseButton = this.getExpandCollapseButtonForRow(rowIndex);\n if (!expandCollapseButton) {\n throw new Error(\n 'The provided row index has no visible expand collapse button associated with it.'\n );\n }\n\n expandCollapseButton.click();\n }\n\n public isCollapseAllButtonVisible(): boolean {\n const collapseButton = this.getCollapseAllButton();\n if (collapseButton) {\n return (\n window.getComputedStyle(collapseButton).visibility === 'visible'\n );\n }\n return false;\n }\n\n public isCollapseAllButtonSpaceReserved(): boolean {\n const collapseButton = this.getCollapseAllButton();\n if (collapseButton) {\n return window.getComputedStyle(collapseButton).display !== 'none';\n }\n return true;\n }\n\n public isDataRowExpandCollapseButtonVisible(rowIndex: number): boolean {\n const expandCollapseButton = this.getExpandCollapseButtonForRow(rowIndex);\n return expandCollapseButton !== null;\n }\n\n public isDataRowLoadingSpinnerVisible(rowIndex: number): boolean {\n const row = this.getRow(rowIndex);\n const spinner = row.shadowRoot!.querySelector(spinnerTag);\n return spinner !== null;\n }\n\n public isTableSelectionCheckboxVisible(): boolean {\n const checkbox = this.getSelectionCheckboxForTable();\n return this.isCheckboxVisible(checkbox);\n }\n\n public getTableSelectionState(): TableRowSelectionState {\n const checkbox = this.getSelectionCheckboxForTable();\n return this.getSelectionStateOfCheckbox(checkbox);\n }\n\n public clickTableSelectionCheckbox(): void {\n const checkbox = this.getSelectionCheckboxForTable();\n checkbox!.click();\n }\n\n public isRowSelectionCheckboxVisible(rowIndex: number): boolean {\n const checkbox = this.getSelectionCheckboxForRow(rowIndex);\n return this.isCheckboxVisible(checkbox);\n }\n\n public getRowSelectionState(rowIndex: number): TableRowSelectionState {\n const checkbox = this.getSelectionCheckboxForRow(rowIndex);\n return this.getSelectionStateOfCheckbox(checkbox);\n }\n\n public clickRowSelectionCheckbox(rowIndex: number, shiftKey = false): void {\n if (shiftKey) {\n const shiftKeyDownEvent = new KeyboardEvent('keydown', {\n key: 'Shift',\n shiftKey: true,\n bubbles: true\n } as KeyboardEventInit);\n document.dispatchEvent(shiftKeyDownEvent);\n }\n\n const checkbox = this.getSelectionCheckboxForRow(rowIndex);\n checkbox!.click();\n\n if (shiftKey) {\n const shiftKeyUpEvent = new KeyboardEvent('keyup', {\n key: 'Shift',\n bubbles: true\n } as KeyboardEventInit);\n document.dispatchEvent(shiftKeyUpEvent);\n }\n }\n\n public getGroupRowSelectionState(\n groupRowIndex: number\n ): TableRowSelectionState {\n const checkbox = this.getSelectionCheckboxForGroupRow(groupRowIndex);\n return this.getSelectionStateOfCheckbox(checkbox);\n }\n\n public clickGroupRowSelectionCheckbox(\n groupRowIndex: number,\n shiftKey = false\n ): void {\n if (shiftKey) {\n const shiftKeyDownEvent = new KeyboardEvent('keydown', {\n key: 'Shift',\n shiftKey: true,\n bubbles: true\n } as KeyboardEventInit);\n document.dispatchEvent(shiftKeyDownEvent);\n }\n\n const checkbox = this.getSelectionCheckboxForGroupRow(groupRowIndex);\n checkbox!.click();\n\n if (shiftKey) {\n const shiftKeyUpEvent = new KeyboardEvent('keyup', {\n key: 'Shift',\n bubbles: true\n } as KeyboardEventInit);\n document.dispatchEvent(shiftKeyUpEvent);\n }\n }\n\n /**\n * @param columnIndex The index of the column to the left of the divider to press.\n */\n public pressRightColumnDivider(columnIndex: number): void {\n this.pressColumnDivider(this.getColumnDivider(columnIndex, false));\n }\n\n /**\n * @param columnIndex The index of the column to the left of the divider to release.\n */\n public releaseRightColumnDivider(columnIndex: number): void {\n this.releaseColumnDivider(this.getColumnDivider(columnIndex, false));\n }\n\n /**\n * @param columnIndex The index of the column to the left of a divider being dragged. Thus, this\n * cannot be given a value representing the last visible column index.\n * @param deltas The series of mouse movements in the x-direction while sizing a column.\n */\n public dragSizeColumnByRightDivider(\n columnIndex: number,\n deltas: readonly number[]\n ): void {\n this.dragSizeColumnByDivider(columnIndex, false, deltas);\n }\n\n /**\n * @param columnIndex The index of the column to the right of a divider being dragged. Thus, this\n * value must be greater than 0 and less than the total number of visible columns.\n * @param deltas The series of mouse movements in the x-direction while sizing a column.\n */\n public dragSizeColumnByLeftDivider(\n columnIndex: number,\n deltas: readonly number[]\n ): void {\n this.dragSizeColumnByDivider(columnIndex, true, deltas);\n }\n\n /**\n * @param columnIndex The index of the column whose right divider we're checking.\n */\n public columnRightDividerHasActiveStyling(columnIndex: number): boolean {\n const divider = this.getColumnDivider(columnIndex, false);\n const currentColor = parseColor(\n window.getComputedStyle(divider).borderLeftColor\n );\n const hoverColor = parseColor(borderHoverColor.getValueFor(divider))!;\n return currentColor!.equalValue(hoverColor);\n }\n\n public isVerticalScrollbarVisible(): boolean {\n return (\n this.tableElement.viewport.clientHeight\n < this.tableElement.viewport.scrollHeight\n );\n }\n\n public isHorizontalScrollbarVisible(): boolean {\n return (\n this.tableElement.viewport.clientWidth\n < this.tableElement.viewport.scrollWidth\n );\n }\n\n public getSortedColumns(): SortedColumn[] {\n return this.tableElement.columns\n .filter(\n x => !x.columnInternals.sortingDisabled\n && typeof x.columnInternals.currentSortIndex === 'number'\n && x.columnInternals.currentSortDirection\n !== TableColumnSortDirection.none\n )\n .sort(\n (a, b) => a.columnInternals.currentSortIndex!\n - b.columnInternals.currentSortIndex!\n )\n .map(x => {\n return {\n columnId: x.columnId,\n sortDirection: x.columnInternals.currentSortDirection\n };\n });\n }\n\n public getGroupedColumns(): string[] {\n return this.tableElement.columns\n .filter(\n x => !x.columnInternals.groupingDisabled\n && typeof x.columnInternals.groupIndex === 'number'\n )\n .sort(\n (a, b) => a.columnInternals.groupIndex!\n - b.columnInternals.groupIndex!\n )\n .map(x => x.columnId ?? '');\n }\n\n public getChildRowCountForGroup(groupRowIndex: number): number {\n const groupRow = this.getGroupRow(groupRowIndex);\n const countDisplayString = groupRow\n .shadowRoot!.querySelector('.group-row-child-count')!\n .textContent!.trim();\n // Remove the parenthesis to get just the number as a string\n const countString = countDisplayString.substring(\n 1,\n countDisplayString.length - 1\n );\n return Number(countString);\n }\n\n /** @internal */\n public isRowHoverStylingEnabled(): boolean {\n const rows: NodeListOf<TableRow | TableGroupRow> = this.tableElement.shadowRoot!.querySelectorAll(\n `${tableRowTag}, ${tableGroupRowTag}`\n );\n const firstRowAllowsHover = rows[0]!.allowHover;\n if (\n Array.from(rows).some(x => x.allowHover !== firstRowAllowsHover)\n ) {\n throw new Error('Rows inconsistently allow hover styling');\n }\n return firstRowAllowsHover;\n }\n\n /** @internal */\n public getGroupRowHeaderView(groupRowIndex: number): TableGroupHeaderView {\n const groupRow = this.getGroupRow(groupRowIndex);\n return groupRow.shadowRoot!.querySelector('.group-header-view')!;\n }\n\n /** @internal */\n public getRow(rowIndex: number): TableRow {\n const rows = this.tableElement.shadowRoot!.querySelectorAll(tableRowTag);\n if (rowIndex >= rows.length) {\n throw new Error(\n 'Attempting to index past the total number of rendered rows'\n );\n }\n\n return rows.item(rowIndex);\n }\n\n /** @internal */\n public getCell(rowIndex: number, columnIndex: number): TableCell {\n const row = this.getRow(rowIndex);\n const cells = row.shadowRoot!.querySelectorAll(tableCellTag);\n if (columnIndex >= cells.length) {\n throw new Error(\n 'Attempting to index past the total number of rendered columns'\n );\n }\n\n return cells.item(columnIndex);\n }\n\n private getRowById(recordId: string): TableRow {\n const row: TableRow | null = this.tableElement.shadowRoot!.querySelector(\n `nimble-table-row[record-id=\"${CSS.escape(recordId)}\"]`\n );\n if (!row) {\n throw new Error(\n 'Row with given id was not found. It may not be scrolled into view.'\n );\n }\n\n return row;\n }\n\n private getCellById(recordId: string, columnId: string): TableCell {\n const row = this.getRowById(recordId);\n const cell: TableCell | null = row.shadowRoot!.querySelector(\n `nimble-table-cell[column-id=\"${CSS.escape(columnId)}\"]`\n );\n\n if (!cell) {\n throw new Error('Cell with given columnId was not found in row');\n }\n\n return cell;\n }\n\n private getCollapseAllButton(): Button | null {\n return this.tableElement.shadowRoot!.querySelector<Button>(\n '.collapse-all-button'\n );\n }\n\n private getExpandCollapseButtonForRow(rowIndex: number): Button | null {\n const row = this.getRow(rowIndex);\n const rowExpandCollapseButton = row.shadowRoot!.querySelector<Button>(\n '.expand-collapse-button'\n );\n if (!rowExpandCollapseButton) {\n const firstCell = this.getCell(rowIndex, 0);\n return firstCell?.shadowRoot!.querySelector<Button>(\n '.expand-collapse-button'\n );\n }\n\n return rowExpandCollapseButton;\n }\n\n private getSelectionCheckboxForRow(rowIndex: number): Checkbox | null {\n const row = this.getRow(rowIndex);\n return row.shadowRoot!.querySelector('.selection-checkbox');\n }\n\n private getSelectionCheckboxForGroupRow(\n groupRowIndex: number\n ): Checkbox | null {\n const groupRow = this.getGroupRow(groupRowIndex);\n return groupRow.shadowRoot!.querySelector('.selection-checkbox');\n }\n\n private getSelectionCheckboxForTable(): Checkbox | null {\n return this.tableElement.shadowRoot!.querySelector<Checkbox>(\n '.header-row .selection-checkbox'\n );\n }\n\n private isCheckboxVisible(checkbox: Checkbox | null): boolean {\n return !!checkbox && !checkbox.hidden;\n }\n\n private getSelectionStateOfCheckbox(\n checkbox: Checkbox | null\n ): TableRowSelectionState {\n if (!checkbox) {\n throw new Error('Cannot get selection state from null checkbox');\n }\n\n if (checkbox.indeterminate) {\n return TableRowSelectionState.partiallySelected;\n }\n if (checkbox.checked) {\n return TableRowSelectionState.selected;\n }\n return TableRowSelectionState.notSelected;\n }\n\n private getGroupRow(groupRowIndex: number): TableGroupRow {\n const groupRows = this.tableElement.shadowRoot!.querySelectorAll(tableGroupRowTag);\n if (groupRowIndex >= groupRows.length) {\n throw new Error(\n 'Attempting to index past the total number of group rows'\n );\n }\n\n return groupRows.item(groupRowIndex);\n }\n\n private getHeaderContentElement(\n element: HTMLElement | HTMLSlotElement\n ): Node | undefined {\n const nodeChildren = this.isSlotElement(element)\n ? element.assignedNodes()\n : element.shadowRoot?.childNodes;\n if (!nodeChildren) {\n return undefined;\n }\n\n const slotElement = Array.from(nodeChildren)?.find<HTMLSlotElement>(\n this.isSlotElement\n );\n if (slotElement) {\n return this.getHeaderContentElement(slotElement);\n }\n\n return nodeChildren[0]; // header content should be first item in final slot element\n }\n\n private getRenderedMappingColumnIconOrSpinner(\n view: TableCellView | TableGroupHeaderView\n ): Icon | Spinner {\n const viewShadowRoot = view.shadowRoot!;\n const spinnerOrIcon = viewShadowRoot.querySelector(\n '.reserve-icon-size'\n )?.firstElementChild;\n if (\n !(spinnerOrIcon instanceof Icon || spinnerOrIcon instanceof Spinner)\n ) {\n throw new Error('Icon or Spinner not found');\n }\n\n return spinnerOrIcon;\n }\n\n private getColumnDivider(\n columnIndex: number,\n leftDivider: boolean\n ): HTMLElement {\n const headerContainers = this.tableElement.shadowRoot!.querySelectorAll('.header-container');\n if (columnIndex < 0 || columnIndex >= headerContainers.length) {\n throw new Error(\n 'Invalid column index. Index must be greater than or equal to 0 and less than the number of visible columns.'\n );\n }\n const side = leftDivider ? 'left' : 'right';\n const divider = headerContainers[columnIndex]!.querySelector(\n `.column-divider.${side}`\n );\n if (!divider) {\n throw new Error(\n `The provided column index has no ${side} divider associated with it.`\n );\n }\n\n return divider as HTMLElement;\n }\n\n private pressColumnDivider(divider: HTMLElement): number {\n const dividerRect = divider.getBoundingClientRect();\n const clickX = (dividerRect.x + dividerRect.width) / 2;\n const pointerDownEvent = new PointerEvent('pointerdown', {\n // -1 is a value reserved for synthetic events: https://w3c.github.io/pointerevents/#dom-pointerevent-pointerid\n pointerId: -1,\n clientX: clickX,\n clientY: (dividerRect.y + dividerRect.height) / 2\n });\n divider.dispatchEvent(pointerDownEvent);\n\n return clickX;\n }\n\n private releaseColumnDivider(divider: HTMLElement): void {\n divider.dispatchEvent(new PointerEvent('pointerup'));\n }\n\n private dragSizeColumnByDivider(\n columnIndex: number,\n leftDivider: boolean,\n deltas: readonly number[]\n ): void {\n const divider = this.getColumnDivider(columnIndex, leftDivider);\n let currentPointerX = this.pressColumnDivider(divider);\n for (const delta of deltas) {\n currentPointerX += delta;\n const pointerMoveEvent = new PointerEvent('pointermove', {\n clientX: currentPointerX\n });\n divider.dispatchEvent(pointerMoveEvent);\n }\n this.releaseColumnDivider(divider);\n }\n\n private readonly isSlotElement = (\n element: Node | undefined\n ): element is HTMLSlotElement => {\n return element?.nodeName === 'SLOT';\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/anchor/cell-view/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,aAG9C;IAHD;;QAII,gBAAgB;QAET,gBAAW,GAAG,KAAK,CAAC;QAE3B,gBAAgB;QAET,kBAAa,GAAG,KAAK,CAAC;IAsCjC,CAAC;IAhCG,IAAW,IAAI;QACX,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;QACtE,IACI,CAAC,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,CAAC;eACpD,IAAI,CAAC,YAAY,EAAE,WAAW,EACnC,CAAC;YACC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,UAAU,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAChC,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,gBAAgB;IAEhB,IAAW,UAAU;QACjB,OAAO,OAAO,IAAI,CAAC,UAAU,EAAE,IAAI,KAAK,QAAQ,CAAC;IACrD,CAAC;IAED,IAAoB,gBAAgB;QAChC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AA1CU;IADN,UAAU;8DACgB;AAIpB;IADN,UAAU;gEACkB;AAM7B;IADC,QAAQ;qDAmBR;AAID;IADC,QAAQ;2DAGR;AAUL,MAAM,cAAc,GAAG,yBAAyB,CAAC,OAAO,CAAC;IACrD,QAAQ,EAAE,+BAA+B;IACzC,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,4BAA4B,GAAG,sCAAsC,CAAC","sourcesContent":["import { observable, volatile } from '@ni/fast-element';\nimport { DesignSystem } from '@ni/fast-foundation';\nimport type {\n TableColumnAnchorCellRecord,\n TableColumnAnchorColumnConfig\n} from '..';\nimport type { Anchor } from '../../../anchor';\nimport { TableCellView } from '../../base/cell-view';\nimport { styles } from './styles';\nimport { template } from './template';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-anchor-cell-view': TableColumnAnchorCellView;\n }\n}\n\n/**\n * A cell view for displaying links\n */\nexport class TableColumnAnchorCellView extends TableCellView<\nTableColumnAnchorCellRecord,\nTableColumnAnchorColumnConfig\n> {\n /** @internal */\n @observable\n public hasOverflow = false;\n\n /** @internal */\n @observable\n public isPlaceholder = false;\n\n /** @internal */\n public anchor?: Anchor;\n\n @volatile\n public get text(): string {\n const displayedText = this.cellRecord?.label ?? this.cellRecord?.href;\n if (\n (displayedText === undefined || displayedText === null)\n && this.columnConfig?.placeholder\n ) {\n this.isPlaceholder = true;\n return this.columnConfig.placeholder;\n }\n\n this.isPlaceholder = false;\n if (typeof this.cellRecord?.label === 'string') {\n return this.cellRecord.label;\n }\n if (typeof this.cellRecord?.href === 'string') {\n return this.cellRecord.href;\n }\n return '';\n }\n\n /** @internal */\n @volatile\n public get showAnchor(): boolean {\n return typeof this.cellRecord?.href === 'string';\n }\n\n public override get tabbableChildren(): HTMLElement[] {\n if (this.showAnchor) {\n return [this.anchor!];\n }\n return [];\n }\n}\n\nconst anchorCellView = TableColumnAnchorCellView.compose({\n baseName: 'table-column-anchor-cell-view',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(anchorCellView());\nexport const tableColumnAnchorCellViewTag = 'nimble-table-column-anchor-cell-view';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/anchor/cell-view/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,aAG9C;IAHD;;QAII,gBAAgB;QAET,gBAAW,GAAG,KAAK,CAAC;QAE3B,gBAAgB;QAET,kBAAa,GAAG,KAAK,CAAC;IAsCjC,CAAC;IAhCG,IAAW,IAAI;QACX,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;QACtE,IACI,CAAC,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,CAAC;eACpD,IAAI,CAAC,YAAY,EAAE,WAAW,EACnC,CAAC;YACC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,UAAU,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAChC,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,gBAAgB;IAEhB,IAAW,UAAU;QACjB,OAAO,OAAO,IAAI,CAAC,UAAU,EAAE,IAAI,KAAK,QAAQ,CAAC;IACrD,CAAC;IAED,IAAoB,gBAAgB;QAChC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AA1CU;IADN,UAAU;8DACgB;AAIpB;IADN,UAAU;gEACkB;AAM7B;IADC,QAAQ;qDAmBR;AAID;IADC,QAAQ;2DAGR;AAUL,MAAM,cAAc,GAAG,yBAAyB,CAAC,OAAO,CAAC;IACrD,QAAQ,EAAE,+BAA+B;IACzC,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,4BAA4B,GAAG,sCAAsC,CAAC","sourcesContent":["import { observable, volatile } from '@ni/fast-element';\nimport { DesignSystem } from '@ni/fast-foundation';\nimport type {\n TableColumnAnchorCellRecord,\n TableColumnAnchorColumnConfig\n} from '..';\nimport type { Anchor } from '../../../anchor';\nimport { TableCellView } from '../../base/cell-view';\nimport { styles } from './styles';\nimport { template } from './template';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-anchor-cell-view': TableColumnAnchorCellView;\n }\n}\n\n/**\n * A cell view for displaying links\n */\nexport class TableColumnAnchorCellView extends TableCellView<\n TableColumnAnchorCellRecord,\n TableColumnAnchorColumnConfig\n> {\n /** @internal */\n @observable\n public hasOverflow = false;\n\n /** @internal */\n @observable\n public isPlaceholder = false;\n\n /** @internal */\n public anchor?: Anchor;\n\n @volatile\n public get text(): string {\n const displayedText = this.cellRecord?.label ?? this.cellRecord?.href;\n if (\n (displayedText === undefined || displayedText === null)\n && this.columnConfig?.placeholder\n ) {\n this.isPlaceholder = true;\n return this.columnConfig.placeholder;\n }\n\n this.isPlaceholder = false;\n if (typeof this.cellRecord?.label === 'string') {\n return this.cellRecord.label;\n }\n if (typeof this.cellRecord?.href === 'string') {\n return this.cellRecord.href;\n }\n return '';\n }\n\n /** @internal */\n @volatile\n public get showAnchor(): boolean {\n return typeof this.cellRecord?.href === 'string';\n }\n\n public override get tabbableChildren(): HTMLElement[] {\n if (this.showAnchor) {\n return [this.anchor!];\n }\n return [];\n }\n}\n\nconst anchorCellView = TableColumnAnchorCellView.compose({\n baseName: 'table-column-anchor-cell-view',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(anchorCellView());\nexport const tableColumnAnchorCellViewTag = 'nimble-table-column-anchor-cell-view';\n"]}
@@ -1,8 +1,6 @@
1
- /* eslint-disable @typescript-eslint/indent */
2
1
  import { html, ref, when } from '@ni/fast-element';
3
2
  import { anchorTag } from '../../../anchor';
4
3
  import { overflow } from '../../../utilities/directive/overflow';
5
- // prettier-ignore
6
4
  export const template = html `
7
5
  <template
8
6
  @click="${(x, c) => {
@@ -42,5 +40,4 @@ export const template = html `
42
40
  </span>`)}
43
41
  </template>
44
42
  `;
45
- /* eslint-enable @typescript-eslint/indent */
46
43
  //# sourceMappingURL=template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table-column/anchor/cell-view/template.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAEjE,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAA2B;;kBAErC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;IACf,IAAI,OAAO,CAAC,CAAC,UAAU,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzC,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;iBACQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;;UAElD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAA2B;eAClD,SAAS;kBACN,GAAG,CAAC,QAAQ,CAAC;kBACb,QAAQ,CAAC,aAAa,CAAC;kBACvB,EAAE,CAAC,+DAA+D;;wBAE5D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI;4BACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ;wBACjC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI;kCACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,cAAc;uBAC9C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG;0BACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM;wBAC7B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI;4BACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ;qCACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,eAAe;8BAC3C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,UAAU;wBACrC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;;kBAE1C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBACb,SAAS,GAAG,CAAC;UACnB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAA2B;;kBAEhD,QAAQ,CAAC,aAAa,CAAC;wBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;;kBAE1C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;oBACT,CAAC;;CAEpB,CAAC;AACF,6CAA6C","sourcesContent":["/* eslint-disable @typescript-eslint/indent */\nimport { html, ref, when } from '@ni/fast-element';\nimport type { TableColumnAnchorCellView } from '.';\nimport { anchorTag } from '../../../anchor';\nimport { overflow } from '../../../utilities/directive/overflow';\n\n// prettier-ignore\nexport const template = html<TableColumnAnchorCellView>`\n <template\n @click=\"${(x, c) => {\n if (typeof x.cellRecord?.href === 'string') {\n c.event.stopPropagation();\n }\n return true;\n }}\"\n class=\"${x => (x.isPlaceholder ? 'placeholder' : '')}\"\n >\n ${when(x => x.showAnchor, html<TableColumnAnchorCellView>`\n <${anchorTag}\n ${ref('anchor')}\n ${overflow('hasOverflow')}\n ${'' /* tabindex managed dynamically by KeyboardNavigationManager */}\n tabindex=\"-1\"\n href=\"${x => x.cellRecord?.href}\"\n hreflang=\"${x => x.columnConfig?.hreflang}\"\n ping=\"${x => x.columnConfig?.ping}\"\n referrerpolicy=\"${x => x.columnConfig?.referrerpolicy}\"\n rel=\"${x => x.columnConfig?.rel}\"\n target=\"${x => x.columnConfig?.target}\"\n type=\"${x => x.columnConfig?.type}\"\n download=\"${x => x.columnConfig?.download}\"\n ?underline-hidden=\"${x => x.columnConfig?.underlineHidden}\"\n appearance=\"${x => x.columnConfig?.appearance}\"\n title=${x => (x.hasOverflow ? x.text : null)}\n >\n ${x => x.text}\n </${anchorTag}>`)}\n ${when(x => !x.showAnchor, html<TableColumnAnchorCellView>`\n <span\n ${overflow('hasOverflow')}\n title=${x => (x.hasOverflow ? x.text : null)}\n >\n ${x => x.text}\n </span>`)}\n </template>\n`;\n/* eslint-enable @typescript-eslint/indent */\n"]}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table-column/anchor/cell-view/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAEjE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAA2B;;kBAErC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;IACf,IAAI,OAAO,CAAC,CAAC,UAAU,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzC,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;iBACQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;;UAElD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAA2B;eAClD,SAAS;kBACN,GAAG,CAAC,QAAQ,CAAC;kBACb,QAAQ,CAAC,aAAa,CAAC;kBACvB,EAAE,CAAC,+DAA+D;;wBAE5D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI;4BACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ;wBACjC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI;kCACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,cAAc;uBAC9C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG;0BACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM;wBAC7B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI;4BACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ;qCACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,eAAe;8BAC3C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,UAAU;wBACrC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;;kBAE1C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBACb,SAAS,GAAG,CAAC;UACnB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAA2B;;kBAEhD,QAAQ,CAAC,aAAa,CAAC;wBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;;kBAE1C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;oBACT,CAAC;;CAEpB,CAAC","sourcesContent":["import { html, ref, when } from '@ni/fast-element';\nimport type { TableColumnAnchorCellView } from '.';\nimport { anchorTag } from '../../../anchor';\nimport { overflow } from '../../../utilities/directive/overflow';\n\nexport const template = html<TableColumnAnchorCellView>`\n <template\n @click=\"${(x, c) => {\n if (typeof x.cellRecord?.href === 'string') {\n c.event.stopPropagation();\n }\n return true;\n }}\"\n class=\"${x => (x.isPlaceholder ? 'placeholder' : '')}\"\n >\n ${when(x => x.showAnchor, html<TableColumnAnchorCellView>`\n <${anchorTag}\n ${ref('anchor')}\n ${overflow('hasOverflow')}\n ${'' /* tabindex managed dynamically by KeyboardNavigationManager */}\n tabindex=\"-1\"\n href=\"${x => x.cellRecord?.href}\"\n hreflang=\"${x => x.columnConfig?.hreflang}\"\n ping=\"${x => x.columnConfig?.ping}\"\n referrerpolicy=\"${x => x.columnConfig?.referrerpolicy}\"\n rel=\"${x => x.columnConfig?.rel}\"\n target=\"${x => x.columnConfig?.target}\"\n type=\"${x => x.columnConfig?.type}\"\n download=\"${x => x.columnConfig?.download}\"\n ?underline-hidden=\"${x => x.columnConfig?.underlineHidden}\"\n appearance=\"${x => x.columnConfig?.appearance}\"\n title=${x => (x.hasOverflow ? x.text : null)}\n >\n ${x => x.text}\n </${anchorTag}>`)}\n ${when(x => !x.showAnchor, html<TableColumnAnchorCellView>`\n <span\n ${overflow('hasOverflow')}\n title=${x => (x.hasOverflow ? x.text : null)}\n >\n ${x => x.text}\n </span>`)}\n </template>\n`;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/anchor/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { DesignSystem } from '@ni/fast-foundation';\nimport { attr } from '@ni/fast-element';\nimport { TableColumn } from '../base';\nimport { styles } from '../base/styles';\nimport { template } from '../base/template';\nimport { TableColumnSortOperation } from '../base/types';\nimport { mixinFractionalWidthColumnAPI } from '../mixins/fractional-width-column';\nimport { mixinGroupableColumnAPI } from '../mixins/groupable-column';\nimport { mixinColumnWithPlaceholderAPI } from '../mixins/placeholder';\nimport type { TableStringField } from '../../table/types';\nimport { tableColumnAnchorCellViewTag } from './cell-view';\nimport { tableColumnTextGroupHeaderViewTag } from '../text/group-header-view';\nimport type { AnchorAppearance } from '../../anchor/types';\nimport type { ColumnInternalsOptions } from '../base/models/column-internals';\nimport { mixinSortableColumnAPI } from '../mixins/sortable-column';\nimport { mixinCustomSortOrderColumnAPI } from '../mixins/custom-sort-order';\nimport { TableColumnAnchorValidator } from './models/table-column-anchor-validator';\n\nexport type TableColumnAnchorCellRecord = TableStringField<'label' | 'href'>;\nexport interface TableColumnAnchorColumnConfig {\n appearance: AnchorAppearance;\n underlineHidden?: boolean;\n hreflang?: string;\n ping?: string;\n referrerpolicy?: string;\n rel?: string;\n target?: string;\n type?: string;\n download?: string;\n placeholder?: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-anchor': TableColumnAnchor;\n }\n}\n\n/**\n * A table column for displaying links.\n */\nexport class TableColumnAnchor extends mixinGroupableColumnAPI(\n mixinFractionalWidthColumnAPI(\n mixinColumnWithPlaceholderAPI(\n mixinSortableColumnAPI(\n mixinCustomSortOrderColumnAPI(\n TableColumn<\n TableColumnAnchorColumnConfig,\n TableColumnAnchorValidator\n >\n )\n )\n )\n )\n) {\n @attr({ attribute: 'label-field-name' })\n public labelFieldName?: string;\n\n @attr({ attribute: 'href-field-name' })\n public hrefFieldName?: string;\n\n @attr\n public appearance?: AnchorAppearance;\n\n @attr({ attribute: 'underline-hidden', mode: 'boolean' })\n public underlineHidden = false;\n\n @attr\n public hreflang?: string;\n\n @attr\n public ping?: string;\n\n @attr\n public referrerpolicy?: string;\n\n @attr\n public rel?: string;\n\n @attr\n public target?: string;\n\n @attr\n public type?: string;\n\n @attr\n public download?: string;\n\n private readonly defaultSortOperation = TableColumnSortOperation.localeAwareCaseSensitive;\n\n public placeholderChanged(): void {\n this.updateColumnConfig();\n }\n\n public override handleSortConfigurationChange(): void {\n this.updateColumnInternalsSortConfiguration();\n }\n\n protected override getColumnInternalsOptions(): ColumnInternalsOptions<TableColumnAnchorValidator> {\n return {\n cellRecordFieldNames: ['label', 'href'],\n cellViewTag: tableColumnAnchorCellViewTag,\n groupHeaderViewTag: tableColumnTextGroupHeaderViewTag,\n delegatedEvents: ['click'],\n sortOperation: this.getResolvedSortOperation(\n this.defaultSortOperation\n ),\n validator: new TableColumnAnchorValidator()\n };\n }\n\n protected labelFieldNameChanged(): void {\n this.columnInternals.dataRecordFieldNames = [\n this.labelFieldName,\n this.hrefFieldName\n ] as const;\n this.updateColumnInternalsSortConfiguration();\n }\n\n protected hrefFieldNameChanged(): void {\n this.columnInternals.dataRecordFieldNames = [\n this.labelFieldName,\n this.hrefFieldName\n ] as const;\n }\n\n protected appearanceChanged(): void {\n this.updateColumnConfig();\n }\n\n protected underlineHiddenChanged(): void {\n this.updateColumnConfig();\n }\n\n protected hreflangChanged(): void {\n this.updateColumnConfig();\n }\n\n protected pingChanged(): void {\n this.updateColumnConfig();\n }\n\n protected referrerpolicyChanged(): void {\n this.updateColumnConfig();\n }\n\n protected relChanged(): void {\n this.updateColumnConfig();\n }\n\n protected targetChanged(): void {\n this.updateColumnConfig();\n }\n\n protected typeChanged(): void {\n this.updateColumnConfig();\n }\n\n protected downloadChanged(): void {\n this.updateColumnConfig();\n }\n\n private updateColumnConfig(): void {\n this.columnInternals.columnConfig = {\n appearance: this.appearance,\n underlineHidden: this.underlineHidden,\n hreflang: this.hreflang,\n ping: this.ping,\n referrerpolicy: this.referrerpolicy,\n rel: this.rel,\n target: this.target,\n type: this.type,\n download: this.download,\n placeholder: this.placeholder\n };\n }\n\n private updateColumnInternalsSortConfiguration(): void {\n this.columnInternals.operandDataRecordFieldName = this.getResolvedOperandDataRecordFieldName(this.labelFieldName);\n this.columnInternals.sortOperation = this.getResolvedSortOperation(\n this.defaultSortOperation\n );\n }\n}\n\nconst nimbleTableColumnAnchor = TableColumnAnchor.compose({\n baseName: 'table-column-anchor',\n template,\n styles\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleTableColumnAnchor());\nexport const tableColumnAnchorTag = 'nimble-table-column-anchor';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/anchor/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { DesignSystem } from '@ni/fast-foundation';\nimport { attr } from '@ni/fast-element';\nimport { TableColumn } from '../base';\nimport { styles } from '../base/styles';\nimport { template } from '../base/template';\nimport { TableColumnSortOperation } from '../base/types';\nimport { mixinFractionalWidthColumnAPI } from '../mixins/fractional-width-column';\nimport { mixinGroupableColumnAPI } from '../mixins/groupable-column';\nimport { mixinColumnWithPlaceholderAPI } from '../mixins/placeholder';\nimport type { TableStringField } from '../../table/types';\nimport { tableColumnAnchorCellViewTag } from './cell-view';\nimport { tableColumnTextGroupHeaderViewTag } from '../text/group-header-view';\nimport type { AnchorAppearance } from '../../anchor/types';\nimport type { ColumnInternalsOptions } from '../base/models/column-internals';\nimport { mixinSortableColumnAPI } from '../mixins/sortable-column';\nimport { mixinCustomSortOrderColumnAPI } from '../mixins/custom-sort-order';\nimport { TableColumnAnchorValidator } from './models/table-column-anchor-validator';\n\nexport type TableColumnAnchorCellRecord = TableStringField<'label' | 'href'>;\nexport interface TableColumnAnchorColumnConfig {\n appearance: AnchorAppearance;\n underlineHidden?: boolean;\n hreflang?: string;\n ping?: string;\n referrerpolicy?: string;\n rel?: string;\n target?: string;\n type?: string;\n download?: string;\n placeholder?: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-anchor': TableColumnAnchor;\n }\n}\n\n/**\n * A table column for displaying links.\n */\nexport class TableColumnAnchor extends mixinGroupableColumnAPI(\n mixinFractionalWidthColumnAPI(\n mixinColumnWithPlaceholderAPI(\n mixinSortableColumnAPI(\n mixinCustomSortOrderColumnAPI(\n TableColumn<\n TableColumnAnchorColumnConfig,\n TableColumnAnchorValidator\n >\n )\n )\n )\n )\n) {\n @attr({ attribute: 'label-field-name' })\n public labelFieldName?: string;\n\n @attr({ attribute: 'href-field-name' })\n public hrefFieldName?: string;\n\n @attr\n public appearance?: AnchorAppearance;\n\n @attr({ attribute: 'underline-hidden', mode: 'boolean' })\n public underlineHidden = false;\n\n @attr\n public hreflang?: string;\n\n @attr\n public ping?: string;\n\n @attr\n public referrerpolicy?: string;\n\n @attr\n public rel?: string;\n\n @attr\n public target?: string;\n\n @attr\n public type?: string;\n\n @attr\n public download?: string;\n\n private readonly defaultSortOperation = TableColumnSortOperation.localeAwareCaseSensitive;\n\n public placeholderChanged(): void {\n this.updateColumnConfig();\n }\n\n public override handleSortConfigurationChange(): void {\n this.updateColumnInternalsSortConfiguration();\n }\n\n protected override getColumnInternalsOptions(): ColumnInternalsOptions<TableColumnAnchorValidator> {\n return {\n cellRecordFieldNames: ['label', 'href'],\n cellViewTag: tableColumnAnchorCellViewTag,\n groupHeaderViewTag: tableColumnTextGroupHeaderViewTag,\n delegatedEvents: ['click'],\n sortOperation: this.getResolvedSortOperation(\n this.defaultSortOperation\n ),\n validator: new TableColumnAnchorValidator()\n };\n }\n\n protected labelFieldNameChanged(): void {\n this.columnInternals.dataRecordFieldNames = [\n this.labelFieldName,\n this.hrefFieldName\n ] as const;\n this.updateColumnInternalsSortConfiguration();\n }\n\n protected hrefFieldNameChanged(): void {\n this.columnInternals.dataRecordFieldNames = [\n this.labelFieldName,\n this.hrefFieldName\n ] as const;\n }\n\n protected appearanceChanged(): void {\n this.updateColumnConfig();\n }\n\n protected underlineHiddenChanged(): void {\n this.updateColumnConfig();\n }\n\n protected hreflangChanged(): void {\n this.updateColumnConfig();\n }\n\n protected pingChanged(): void {\n this.updateColumnConfig();\n }\n\n protected referrerpolicyChanged(): void {\n this.updateColumnConfig();\n }\n\n protected relChanged(): void {\n this.updateColumnConfig();\n }\n\n protected targetChanged(): void {\n this.updateColumnConfig();\n }\n\n protected typeChanged(): void {\n this.updateColumnConfig();\n }\n\n protected downloadChanged(): void {\n this.updateColumnConfig();\n }\n\n private updateColumnConfig(): void {\n this.columnInternals.columnConfig = {\n appearance: this.appearance,\n underlineHidden: this.underlineHidden,\n hreflang: this.hreflang,\n ping: this.ping,\n referrerpolicy: this.referrerpolicy,\n rel: this.rel,\n target: this.target,\n type: this.type,\n download: this.download,\n placeholder: this.placeholder\n };\n }\n\n private updateColumnInternalsSortConfiguration(): void {\n this.columnInternals.operandDataRecordFieldName = this.getResolvedOperandDataRecordFieldName(this.labelFieldName);\n this.columnInternals.sortOperation = this.getResolvedSortOperation(\n this.defaultSortOperation\n );\n }\n}\n\nconst nimbleTableColumnAnchor = TableColumnAnchor.compose({\n baseName: 'table-column-anchor',\n template,\n styles\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleTableColumnAnchor());\nexport const tableColumnAnchorTag = 'nimble-table-column-anchor';\n"]}
@@ -13,7 +13,6 @@ const validateCellViewTemplate = (cellViewTag) => {
13
13
  throw new Error(`Cell view tag name (${cellViewTag}) must evaluate to an element extending TableCellView`);
14
14
  }
15
15
  };
16
- // prettier-ignore
17
16
  export const createCellViewTemplate = (cellViewTag) => {
18
17
  validateCellViewTemplate(cellViewTag);
19
18
  return html `
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table-column/base/cell-view/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,MAAM,wBAAwB,GAAG,CAAC,WAAmB,EAAQ,EAAE;IAC3D,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACD,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACV,oDAAoD;IACxD,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,YAAY,aAAa,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACX,uBAAuB,WAAW,uDAAuD,CAC5F,CAAC;IACN,CAAC;AACL,CAAC,CAAC;AAEF,kBAAkB;AAClB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAClC,WAAmB,EACI,EAAE;IACzB,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACtC,OAAO,IAAI,CAAW;WACf,WAAW;2BACK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU;6BAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY;uBACpC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;;;cAG1B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,SAAS,IAAI,EAAE,EAAE,IAAI,CAAmB;;4BAEhE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAO,EAAE,CAAC,CAAC;4BACxD,CAAC,CAAC,EAAE,CAAC,CAAC;;aAErB,CAAC;YACF,WAAW;KAClB,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { type ViewTemplate, html, repeat } from '@ni/fast-element';\nimport type { TableCell } from '../../../table/components/cell';\nimport { TableCellView } from '.';\nimport { uniquifySlotNameForColumn } from '../../../table/models/utilities';\n\nconst validateCellViewTemplate = (cellViewTag: string): void => {\n let instance;\n try {\n instance = document.createElement(cellViewTag);\n } catch (ex) {\n // Swallow construction error to report a better one\n }\n if (!(instance instanceof TableCellView)) {\n throw new Error(\n `Cell view tag name (${cellViewTag}) must evaluate to an element extending TableCellView`\n );\n }\n};\n\n// prettier-ignore\nexport const createCellViewTemplate = (\n cellViewTag: string\n): ViewTemplate<TableCell> => {\n validateCellViewTemplate(cellViewTag);\n return html<TableCell>`\n <${cellViewTag}\n :cellRecord=\"${y => y.cellState?.cellRecord}\"\n :columnConfig=\"${y => y.cellState?.columnConfig}\"\n :column=\"${y => y.column}\"\n :recordId=\"${y => y.recordId}\"\n class=\"cell-view\"\n >\n ${repeat(y => y.column?.columnInternals.slotNames || [], html<string, TableCell>`\n <slot\n name=\"${(x, c) => uniquifySlotNameForColumn(c.parent.column!, x)}\"\n slot=\"${x => x}\"\n ></slot>\n `)}\n </${cellViewTag}>\n `;\n};\n"]}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table-column/base/cell-view/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,MAAM,wBAAwB,GAAG,CAAC,WAAmB,EAAQ,EAAE;IAC3D,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACD,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACV,oDAAoD;IACxD,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,YAAY,aAAa,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACX,uBAAuB,WAAW,uDAAuD,CAC5F,CAAC;IACN,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAClC,WAAmB,EACI,EAAE;IACzB,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACtC,OAAO,IAAI,CAAW;WACf,WAAW;2BACK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU;6BAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY;uBACpC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;;;cAG1B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,SAAS,IAAI,EAAE,EAAE,IAAI,CAAmB;;4BAEhE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAO,EAAE,CAAC,CAAC;4BACxD,CAAC,CAAC,EAAE,CAAC,CAAC;;aAErB,CAAC;YACF,WAAW;KAClB,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { type ViewTemplate, html, repeat } from '@ni/fast-element';\nimport type { TableCell } from '../../../table/components/cell';\nimport { TableCellView } from '.';\nimport { uniquifySlotNameForColumn } from '../../../table/models/utilities';\n\nconst validateCellViewTemplate = (cellViewTag: string): void => {\n let instance;\n try {\n instance = document.createElement(cellViewTag);\n } catch (ex) {\n // Swallow construction error to report a better one\n }\n if (!(instance instanceof TableCellView)) {\n throw new Error(\n `Cell view tag name (${cellViewTag}) must evaluate to an element extending TableCellView`\n );\n }\n};\n\nexport const createCellViewTemplate = (\n cellViewTag: string\n): ViewTemplate<TableCell> => {\n validateCellViewTemplate(cellViewTag);\n return html<TableCell>`\n <${cellViewTag}\n :cellRecord=\"${y => y.cellState?.cellRecord}\"\n :columnConfig=\"${y => y.cellState?.columnConfig}\"\n :column=\"${y => y.column}\"\n :recordId=\"${y => y.recordId}\"\n class=\"cell-view\"\n >\n ${repeat(y => y.column?.columnInternals.slotNames || [], html<string, TableCell>`\n <slot\n name=\"${(x, c) => uniquifySlotNameForColumn(c.parent.column!, x)}\"\n slot=\"${x => x}\"\n ></slot>\n `)}\n </${cellViewTag}>\n `;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/base/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACH,eAAe,EAElB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E;;GAEG;AACH,MAAM,OAAgB,WAGpB,SAAQ,iBAAiB;IAH3B;;QAII;;;;WAIG;QACa,oBAAe,GAG3B,IAAI,eAAe,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;QAYnD,iBAAY,GAAG,KAAK,CAAC;QAE5B,gBAAgB;QAET,gBAAW,GAAG,KAAK,CAAC;IA0B/B,CAAC;IArBU,aAAa;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC;IACxD,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IACxD,CAAC;IAED,gBAAgB;IAChB,IAAW,iBAAiB;QACxB,OAAO,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAEe,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,oFAAoF;QACpF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;CAGJ;AAvCU;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;6CACR;AAGlB;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;mDACT;AAGxB;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;oDACT;AAGzB;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;iDAC1B;AAIrB;IADN,UAAU;gDACgB","sourcesContent":["import { attr, observable } from '@ni/fast-element';\nimport { FoundationElement } from '@ni/fast-foundation';\nimport {\n ColumnInternals,\n type ColumnInternalsOptions\n} from './models/column-internals';\nimport type { TableColumnValidity } from './types';\nimport type { ColumnValidator } from './models/column-validator';\nimport { slotTextContent } from '../../utilities/models/slot-text-content';\n\n/**\n * The base class for table columns\n */\nexport abstract class TableColumn<\n TColumnConfig = unknown,\n TColumnValidator extends ColumnValidator<[]> = ColumnValidator<[]>\n> extends FoundationElement {\n /**\n * @internal\n *\n * Column properties configurable by plugin authors\n */\n public readonly columnInternals: ColumnInternals<\n TColumnConfig,\n TColumnValidator\n > = new ColumnInternals(this.getColumnInternalsOptions());\n\n @attr({ attribute: 'column-id' })\n public columnId?: string;\n\n @attr({ attribute: 'action-menu-slot' })\n public actionMenuSlot?: string;\n\n @attr({ attribute: 'action-menu-label' })\n public actionMenuLabel?: string;\n\n @attr({ attribute: 'column-hidden', mode: 'boolean' })\n public columnHidden = false;\n\n /** @internal */\n @observable\n public hasOverflow = false;\n\n /** @internal */\n public contentSlot!: HTMLSlotElement;\n\n public checkValidity(): boolean {\n return this.columnInternals.validator.isColumnValid;\n }\n\n public get validity(): TableColumnValidity {\n return this.columnInternals.validator.getValidity();\n }\n\n /** @internal */\n public get headerTextContent(): string {\n return slotTextContent(this.contentSlot);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n\n // Done here to enforce consistency across headers as they may have custom templates\n this.setAttribute('slot', this.columnInternals.uniqueId);\n }\n\n protected abstract getColumnInternalsOptions(): ColumnInternalsOptions<TColumnValidator>;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/base/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACH,eAAe,EAElB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E;;GAEG;AACH,MAAM,OAAgB,WAGpB,SAAQ,iBAAiB;IAH3B;;QAII;;;;WAIG;QACa,oBAAe,GAG3B,IAAI,eAAe,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;QAYnD,iBAAY,GAAG,KAAK,CAAC;QAE5B,gBAAgB;QAET,gBAAW,GAAG,KAAK,CAAC;IA0B/B,CAAC;IArBU,aAAa;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC;IACxD,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IACxD,CAAC;IAED,gBAAgB;IAChB,IAAW,iBAAiB;QACxB,OAAO,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAEe,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,oFAAoF;QACpF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;CAGJ;AAvCU;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;6CACR;AAGlB;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;mDACT;AAGxB;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;oDACT;AAGzB;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;iDAC1B;AAIrB;IADN,UAAU;gDACgB","sourcesContent":["import { attr, observable } from '@ni/fast-element';\nimport { FoundationElement } from '@ni/fast-foundation';\nimport {\n ColumnInternals,\n type ColumnInternalsOptions\n} from './models/column-internals';\nimport type { TableColumnValidity } from './types';\nimport type { ColumnValidator } from './models/column-validator';\nimport { slotTextContent } from '../../utilities/models/slot-text-content';\n\n/**\n * The base class for table columns\n */\nexport abstract class TableColumn<\n TColumnConfig = unknown,\n TColumnValidator extends ColumnValidator<[]> = ColumnValidator<[]>\n> extends FoundationElement {\n /**\n * @internal\n *\n * Column properties configurable by plugin authors\n */\n public readonly columnInternals: ColumnInternals<\n TColumnConfig,\n TColumnValidator\n > = new ColumnInternals(this.getColumnInternalsOptions());\n\n @attr({ attribute: 'column-id' })\n public columnId?: string;\n\n @attr({ attribute: 'action-menu-slot' })\n public actionMenuSlot?: string;\n\n @attr({ attribute: 'action-menu-label' })\n public actionMenuLabel?: string;\n\n @attr({ attribute: 'column-hidden', mode: 'boolean' })\n public columnHidden = false;\n\n /** @internal */\n @observable\n public hasOverflow = false;\n\n /** @internal */\n public contentSlot!: HTMLSlotElement;\n\n public checkValidity(): boolean {\n return this.columnInternals.validator.isColumnValid;\n }\n\n public get validity(): TableColumnValidity {\n return this.columnInternals.validator.getValidity();\n }\n\n /** @internal */\n public get headerTextContent(): string {\n return slotTextContent(this.contentSlot);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n\n // Done here to enforce consistency across headers as they may have custom templates\n this.setAttribute('slot', this.columnInternals.uniqueId);\n }\n\n protected abstract getColumnInternalsOptions(): ColumnInternalsOptions<TColumnValidator>;\n}\n"]}
@@ -2,7 +2,6 @@ import { html, ref } from '@ni/fast-element';
2
2
  import { overflow } from '../../utilities/directive/overflow';
3
3
  // Avoiding a wrapping <template> and be careful about starting and ending whitspace
4
4
  // so the template can be composed into other column header templates
5
- // prettier-ignore
6
5
  export const template = html `<span
7
6
  ${overflow('hasOverflow')}
8
7
  class="header-content"
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/table-column/base/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,oFAAoF;AACpF,qEAAqE;AACrE,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAa;MACnC,QAAQ,CAAC,aAAa,CAAC;;YAEjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;;YAExE,GAAG,CAAC,aAAa,CAAC;QACtB,CAAC","sourcesContent":["import { html, ref } from '@ni/fast-element';\nimport type { TableColumn } from '.';\nimport { overflow } from '../../utilities/directive/overflow';\n\n// Avoiding a wrapping <template> and be careful about starting and ending whitspace\n// so the template can be composed into other column header templates\n// prettier-ignore\nexport const template = html<TableColumn>`<span\n ${overflow('hasOverflow')}\n class=\"header-content\"\n title=${x => (x.hasOverflow && x.headerTextContent ? x.headerTextContent : null)}\n>\n <slot ${ref('contentSlot')}></slot>\n</span>`;\n"]}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/table-column/base/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,oFAAoF;AACpF,qEAAqE;AACrE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAa;MACnC,QAAQ,CAAC,aAAa,CAAC;;YAEjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;;YAExE,GAAG,CAAC,aAAa,CAAC;QACtB,CAAC","sourcesContent":["import { html, ref } from '@ni/fast-element';\nimport type { TableColumn } from '.';\nimport { overflow } from '../../utilities/directive/overflow';\n\n// Avoiding a wrapping <template> and be careful about starting and ending whitspace\n// so the template can be composed into other column header templates\nexport const template = html<TableColumn>`<span\n ${overflow('hasOverflow')}\n class=\"header-content\"\n title=${x => (x.hasOverflow && x.headerTextContent ? x.headerTextContent : null)}\n>\n <slot ${ref('contentSlot')}></slot>\n</span>`;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/date-text/cell-view/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAK9D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAQ5D;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,2BAGhD;IACa,UAAU;QAChB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CACzB,IAAI,CAAC,YAAY,CAAC,SAAS,EAC3B,IAAI,CAAC,UAAU,EAAE,KAAK,CACzB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;IACL,CAAC;CACJ;AAED,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,OAAO,CAAC;IACzD,QAAQ,EAAE,kCAAkC;IAC5C,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,8BAA8B,GAAG,yCAAyC,CAAC","sourcesContent":["import { DesignSystem } from '@ni/fast-foundation';\nimport { template } from '../../text-base/cell-view/template';\nimport type {\n TableColumnDateTextCellRecord,\n TableColumnDateTextColumnConfig\n} from '..';\nimport { styles } from '../../text-base/cell-view/styles';\nimport { TableColumnTextCellViewBase } from '../../text-base/cell-view';\nimport { formatNumericDate } from '../models/format-helper';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-date-text-cell-view': TableColumnDateTextCellView;\n }\n}\n\n/**\n * A cell view for displaying date/time fields as text\n */\nexport class TableColumnDateTextCellView extends TableColumnTextCellViewBase<\nTableColumnDateTextCellRecord,\nTableColumnDateTextColumnConfig\n> {\n protected updateText(): void {\n if (this.columnConfig) {\n this.text = formatNumericDate(\n this.columnConfig.formatter,\n this.cellRecord?.value\n );\n } else {\n this.text = '';\n }\n }\n}\n\nconst dateTextCellView = TableColumnDateTextCellView.compose({\n baseName: 'table-column-date-text-cell-view',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(dateTextCellView());\nexport const tableColumnDateTextCellViewTag = 'nimble-table-column-date-text-cell-view';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/date-text/cell-view/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAK9D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAQ5D;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,2BAGhD;IACa,UAAU;QAChB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CACzB,IAAI,CAAC,YAAY,CAAC,SAAS,EAC3B,IAAI,CAAC,UAAU,EAAE,KAAK,CACzB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;IACL,CAAC;CACJ;AAED,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,OAAO,CAAC;IACzD,QAAQ,EAAE,kCAAkC;IAC5C,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,8BAA8B,GAAG,yCAAyC,CAAC","sourcesContent":["import { DesignSystem } from '@ni/fast-foundation';\nimport { template } from '../../text-base/cell-view/template';\nimport type {\n TableColumnDateTextCellRecord,\n TableColumnDateTextColumnConfig\n} from '..';\nimport { styles } from '../../text-base/cell-view/styles';\nimport { TableColumnTextCellViewBase } from '../../text-base/cell-view';\nimport { formatNumericDate } from '../models/format-helper';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-date-text-cell-view': TableColumnDateTextCellView;\n }\n}\n\n/**\n * A cell view for displaying date/time fields as text\n */\nexport class TableColumnDateTextCellView extends TableColumnTextCellViewBase<\n TableColumnDateTextCellRecord,\n TableColumnDateTextColumnConfig\n> {\n protected updateText(): void {\n if (this.columnConfig) {\n this.text = formatNumericDate(\n this.columnConfig.formatter,\n this.cellRecord?.value\n );\n } else {\n this.text = '';\n }\n }\n}\n\nconst dateTextCellView = TableColumnDateTextCellView.compose({\n baseName: 'table-column-date-text-cell-view',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(dateTextCellView());\nexport const tableColumnDateTextCellViewTag = 'nimble-table-column-date-text-cell-view';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/date-text/group-header-view/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAO5D;;GAEG;AACH,MAAM,OAAO,kCAAmC,SAAQ,kCAGvD;IACa,UAAU;QAChB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CACzB,IAAI,CAAC,YAAY,CAAC,SAAS,EAC3B,IAAI,CAAC,gBAAgB,CACxB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;IACL,CAAC;CACJ;AAED,MAAM,kCAAkC,GAAG,kCAAkC,CAAC,OAAO,CAAC;IAClF,QAAQ,EAAE,0CAA0C;IACpD,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,kCAAkC,EAAE,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,qCAAqC,GAAG,iDAAiD,CAAC","sourcesContent":["import { DesignSystem } from '@ni/fast-foundation';\nimport type { TableNumberFieldValue } from '../../../table/types';\nimport { TableColumnTextGroupHeaderViewBase } from '../../text-base/group-header-view';\nimport { template } from '../../text-base/group-header-view/template';\nimport { styles } from '../../text-base/group-header-view/styles';\nimport type { TableColumnDateTextColumnConfig } from '..';\nimport { formatNumericDate } from '../models/format-helper';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-date-text-group-header': TableColumnDateTextGroupHeaderView;\n }\n}\n/**\n * The group header view for displaying date/time fields as text.\n */\nexport class TableColumnDateTextGroupHeaderView extends TableColumnTextGroupHeaderViewBase<\nTableNumberFieldValue,\nTableColumnDateTextColumnConfig\n> {\n protected updateText(): void {\n if (this.columnConfig) {\n this.text = formatNumericDate(\n this.columnConfig.formatter,\n this.groupHeaderValue\n );\n } else {\n this.text = '';\n }\n }\n}\n\nconst tableColumnDateTextGroupHeaderView = TableColumnDateTextGroupHeaderView.compose({\n baseName: 'table-column-date-text-group-header-view',\n template,\n styles\n});\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(tableColumnDateTextGroupHeaderView());\nexport const tableColumnDateTextGroupHeaderViewTag = 'nimble-table-column-date-text-group-header-view';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/date-text/group-header-view/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAO5D;;GAEG;AACH,MAAM,OAAO,kCAAmC,SAAQ,kCAGvD;IACa,UAAU;QAChB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CACzB,IAAI,CAAC,YAAY,CAAC,SAAS,EAC3B,IAAI,CAAC,gBAAgB,CACxB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;IACL,CAAC;CACJ;AAED,MAAM,kCAAkC,GAAG,kCAAkC,CAAC,OAAO,CAAC;IAClF,QAAQ,EAAE,0CAA0C;IACpD,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,kCAAkC,EAAE,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,qCAAqC,GAAG,iDAAiD,CAAC","sourcesContent":["import { DesignSystem } from '@ni/fast-foundation';\nimport type { TableNumberFieldValue } from '../../../table/types';\nimport { TableColumnTextGroupHeaderViewBase } from '../../text-base/group-header-view';\nimport { template } from '../../text-base/group-header-view/template';\nimport { styles } from '../../text-base/group-header-view/styles';\nimport type { TableColumnDateTextColumnConfig } from '..';\nimport { formatNumericDate } from '../models/format-helper';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-date-text-group-header': TableColumnDateTextGroupHeaderView;\n }\n}\n/**\n * The group header view for displaying date/time fields as text.\n */\nexport class TableColumnDateTextGroupHeaderView extends TableColumnTextGroupHeaderViewBase<\n TableNumberFieldValue,\n TableColumnDateTextColumnConfig\n> {\n protected updateText(): void {\n if (this.columnConfig) {\n this.text = formatNumericDate(\n this.columnConfig.formatter,\n this.groupHeaderValue\n );\n } else {\n this.text = '';\n }\n }\n}\n\nconst tableColumnDateTextGroupHeaderView = TableColumnDateTextGroupHeaderView.compose({\n baseName: 'table-column-date-text-group-header-view',\n template,\n styles\n});\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(tableColumnDateTextGroupHeaderView());\nexport const tableColumnDateTextGroupHeaderViewTag = 'nimble-table-column-date-text-group-header-view';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/date-text/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { DesignSystem, type DesignTokenSubscriber } from '@ni/fast-foundation';\nimport { attr } from '@ni/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
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/date-text/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { DesignSystem, type DesignTokenSubscriber } from '@ni/fast-foundation';\nimport { attr } from '@ni/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/cell-view/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAK9D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAQxE;;GAEG;AACH,MAAM,OAAO,+BAAgC,SAAQ,2BAGpD;IACa,UAAU;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAClF,CAAC;CACJ;AAED,MAAM,oBAAoB,GAAG,+BAA+B,CAAC,OAAO,CAAC;IACjE,QAAQ,EAAE,sCAAsC;IAChD,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,kCAAkC,GAAG,6CAA6C,CAAC","sourcesContent":["import { DesignSystem } from '@ni/fast-foundation';\nimport { template } from '../../text-base/cell-view/template';\nimport type {\n TableColumnDurationTextCellRecord,\n TableColumnDurationTextColumnConfig\n} from '..';\nimport { styles } from '../../text-base/cell-view/styles';\nimport { TableColumnTextCellViewBase } from '../../text-base/cell-view';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-duration-text-cell-view': TableColumnDurationTextCellView;\n }\n}\n\n/**\n * A cell view for displaying duration fields as text\n */\nexport class TableColumnDurationTextCellView extends TableColumnTextCellViewBase<\nTableColumnDurationTextCellRecord,\nTableColumnDurationTextColumnConfig\n> {\n protected updateText(): void {\n this.text = this.columnConfig?.formatter.format(this.cellRecord?.value) ?? '';\n }\n}\n\nconst durationTextCellView = TableColumnDurationTextCellView.compose({\n baseName: 'table-column-duration-text-cell-view',\n template,\n styles\n});\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(durationTextCellView());\nexport const tableColumnDurationTextCellViewTag = 'nimble-table-column-duration-text-cell-view';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/duration-text/cell-view/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAK9D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAQxE;;GAEG;AACH,MAAM,OAAO,+BAAgC,SAAQ,2BAGpD;IACa,UAAU;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAClF,CAAC;CACJ;AAED,MAAM,oBAAoB,GAAG,+BAA+B,CAAC,OAAO,CAAC;IACjE,QAAQ,EAAE,sCAAsC;IAChD,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,kCAAkC,GAAG,6CAA6C,CAAC","sourcesContent":["import { DesignSystem } from '@ni/fast-foundation';\nimport { template } from '../../text-base/cell-view/template';\nimport type {\n TableColumnDurationTextCellRecord,\n TableColumnDurationTextColumnConfig\n} from '..';\nimport { styles } from '../../text-base/cell-view/styles';\nimport { TableColumnTextCellViewBase } from '../../text-base/cell-view';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-column-duration-text-cell-view': TableColumnDurationTextCellView;\n }\n}\n\n/**\n * A cell view for displaying duration fields as text\n */\nexport class TableColumnDurationTextCellView extends TableColumnTextCellViewBase<\n TableColumnDurationTextCellRecord,\n TableColumnDurationTextColumnConfig\n> {\n protected updateText(): void {\n this.text = this.columnConfig?.formatter.format(this.cellRecord?.value) ?? '';\n }\n}\n\nconst durationTextCellView = TableColumnDurationTextCellView.compose({\n baseName: 'table-column-duration-text-cell-view',\n template,\n styles\n});\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(durationTextCellView());\nexport const tableColumnDurationTextCellViewTag = 'nimble-table-column-duration-text-cell-view';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/duration-text/group-header-view/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAQlE;;GAEG;AACH,MAAM,OAAO,sCAAuC,SAAQ,kCAG3D;IACa,UAAU;QAChB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAC1C,IAAI,CAAC,gBAAgB,CACxB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;IACL,CAAC;CACJ;AAED,MAAM,sCAAsC,GAAG,sCAAsC,CAAC,OAAO,CAAC;IAC1F,QAAQ,EAAE,8CAA8C;IACxD,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,sCAAsC,EAAE,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,yCAAyC,GAAG,qDAAqD,CAAC","sourcesContent":["import { DesignSystem } from '@ni/fast-foundation';\nimport type { TableNumberFieldValue } from '../../../table/types';\nimport { TableColumnTextGroupHeaderViewBase } from '../../text-base/group-header-view';\nimport { template } from '../../text-base/group-header-view/template';\nimport { styles } from '../../text-base/group-header-view/styles';\nimport type { TableColumnDurationTextColumnConfig } from '..';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-duration-text-group-header': TableColumnDurationTextGroupHeaderView;\n }\n}\n/**\n * The group header view for displaying duration fields as text.\n */\nexport class TableColumnDurationTextGroupHeaderView extends TableColumnTextGroupHeaderViewBase<\nTableNumberFieldValue,\nTableColumnDurationTextColumnConfig\n> {\n protected updateText(): void {\n if (this.columnConfig) {\n this.text = this.columnConfig.formatter.format(\n this.groupHeaderValue\n );\n } else {\n this.text = '';\n }\n }\n}\n\nconst tableColumnDurationTextGroupHeaderView = TableColumnDurationTextGroupHeaderView.compose({\n baseName: 'table-column-duration-text-group-header-view',\n template,\n styles\n});\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(tableColumnDurationTextGroupHeaderView());\nexport const tableColumnDurationTextGroupHeaderViewTag = 'nimble-table-column-duration-text-group-header-view';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/duration-text/group-header-view/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAQlE;;GAEG;AACH,MAAM,OAAO,sCAAuC,SAAQ,kCAG3D;IACa,UAAU;QAChB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAC1C,IAAI,CAAC,gBAAgB,CACxB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;IACL,CAAC;CACJ;AAED,MAAM,sCAAsC,GAAG,sCAAsC,CAAC,OAAO,CAAC;IAC1F,QAAQ,EAAE,8CAA8C;IACxD,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,sCAAsC,EAAE,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,yCAAyC,GAAG,qDAAqD,CAAC","sourcesContent":["import { DesignSystem } from '@ni/fast-foundation';\nimport type { TableNumberFieldValue } from '../../../table/types';\nimport { TableColumnTextGroupHeaderViewBase } from '../../text-base/group-header-view';\nimport { template } from '../../text-base/group-header-view/template';\nimport { styles } from '../../text-base/group-header-view/styles';\nimport type { TableColumnDurationTextColumnConfig } from '..';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-table-duration-text-group-header': TableColumnDurationTextGroupHeaderView;\n }\n}\n/**\n * The group header view for displaying duration fields as text.\n */\nexport class TableColumnDurationTextGroupHeaderView extends TableColumnTextGroupHeaderViewBase<\n TableNumberFieldValue,\n TableColumnDurationTextColumnConfig\n> {\n protected updateText(): void {\n if (this.columnConfig) {\n this.text = this.columnConfig.formatter.format(\n this.groupHeaderValue\n );\n } else {\n this.text = '';\n }\n }\n}\n\nconst tableColumnDurationTextGroupHeaderView = TableColumnDurationTextGroupHeaderView.compose({\n baseName: 'table-column-duration-text-group-header-view',\n template,\n styles\n});\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(tableColumnDurationTextGroupHeaderView());\nexport const tableColumnDurationTextGroupHeaderViewTag = 'nimble-table-column-duration-text-group-header-view';\n"]}