@kyndryl-design-system/shidoka-applications 2.47.4 → 2.47.5

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.
@@ -1,4 +1,4 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, PropertyValues } from 'lit';
2
2
  import { TableContextType } from './table-context';
3
3
  import { SORT_DIRECTION, TABLE_CELL_ALIGN } from './defs';
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"table-header.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/table/table-header.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAWlD,OAAO,EAAgB,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKjE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1D;;;;;;;;GAQG;AACH,qBACa,WAAY,SAAQ,UAAU;IACzC,OAAgB,MAAM,0BAAqB;IAE3C;;OAEG;IACH,SACkB,IAAI,SAAkB;IAExC,0DAA0D;IAE1D,QAAQ,CAAC,KAAK,UAAS;IAEvB;;;;;;OAMG;IAGH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAO/B;IAEF;;;OAGG;IACH,mBAAmB,GAAI,WAAW,gBAAgB,UAIhD;IAEF;;;OAGG;IAEH,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAyB;IAEzD;;;;OAIG;IAEH,QAAQ,CAAC,QAAQ,UAAS;IAE1B,gEAAgE;IAEhE,QAAQ,CAAC,aAAa,EAAE,cAAc,CAA0B;IAEhE;;;OAGG;IAEH,QAAQ,CAAC,WAAW,SAAM;IAE1B;;;;OAIG;IAEH,QAAQ,CAAC,OAAO,SAAM;IAEtB;;;;;;OAMG;IAEH,QAAQ,CAAC,aAAa,UAAS;IAE/B;;;OAGG;IAEH,QAAQ,CAAC,KAAK,SAAM;IAEpB;;;OAGG;IAEH,QAAQ,CAAC,QAAQ,SAAM;IAEvB;;;;OAIG;IAEH,QAAQ,CAAC,QAAQ,SAAM;IAEvB;;OAEG;IAEH,QAAQ,CAAC,SAAS,EAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjC;;;OAGG;IACH,SAAS;IAIT;;;OAGG;IAEH,QAAQ,CAAC,aAAa,SAAM;IAE5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAsClB,OAAO,CAAC,iBAAiB,EAAE,cAAc;IAiBlD,cAAc;IAUL,MAAM;CAiEhB;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,QAAQ,EAAE,WAAW,CAAC;KACvB;CACF"}
1
+ {"version":3,"file":"table-header.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/table/table-header.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAmB,cAAc,EAAE,MAAM,KAAK,CAAC;AAWlE,OAAO,EAAgB,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKjE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1D;;;;;;;;GAQG;AACH,qBACa,WAAY,SAAQ,UAAU;IACzC,OAAgB,MAAM,0BAAqB;IAE3C;;OAEG;IACH,SACkB,IAAI,SAAkB;IAExC,0DAA0D;IAE1D,QAAQ,CAAC,KAAK,UAAS;IAEvB;;;;;;OAMG;IAGH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAO/B;IAEF;;;OAGG;IACH,mBAAmB,GAAI,WAAW,gBAAgB,UAIhD;IAEF;;;OAGG;IAEH,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAyB;IAEzD;;;;OAIG;IAEH,QAAQ,CAAC,QAAQ,UAAS;IAE1B,gEAAgE;IAEhE,QAAQ,CAAC,aAAa,EAAE,cAAc,CAA0B;IAEhE;;;OAGG;IAEH,QAAQ,CAAC,WAAW,SAAM;IAE1B;;;;OAIG;IAEH,QAAQ,CAAC,OAAO,SAAM;IAEtB;;;;;;OAMG;IAEH,QAAQ,CAAC,aAAa,UAAS;IAE/B;;;OAGG;IAEH,QAAQ,CAAC,KAAK,SAAM;IAEpB;;;OAGG;IAEH,QAAQ,CAAC,QAAQ,SAAM;IAEvB;;;;OAIG;IAEH,QAAQ,CAAC,QAAQ,SAAM;IAEvB;;OAEG;IAEH,QAAQ,CAAC,SAAS,EAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjC;;;OAGG;IACH,SAAS;IAIT;;;OAGG;IAEH,QAAQ,CAAC,aAAa,SAAM;IAE5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAsClB,OAAO,CAAC,iBAAiB,EAAE,cAAc;IAiBlD,cAAc;IAUL,MAAM;CAiEhB;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,QAAQ,EAAE,WAAW,CAAC;KACvB;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-header.js","sources":["../../../../src/components/reusable/table/table-header.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, unsafeCSS } from 'lit';\nimport {\n customElement,\n property,\n queryAssignedNodes,\n state,\n} from 'lit/decorators.js';\nimport { classMap } from 'lit-html/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { ContextConsumer } from '@lit/context';\nimport { tableContext, TableContextType } from './table-context';\n\nimport arrowUpIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/arrow-up.svg';\nimport styles from './table-header.scss?inline';\n\nimport { SORT_DIRECTION, TABLE_CELL_ALIGN } from './defs';\n\n/**\n * `kyn-th` Web Component.\n *\n * Represents a custom table header cell (`<th>`) for Shidoka's design system tables.\n * Provides sorting functionality when enabled and allows alignment customization.\n *\n * @fires on-sort-changed - Dispatched when the sort direction is changed.\n * @slot unnamed - The content slot for adding header text or content.\n */\n@customElement('kyn-th')\nexport class TableHeader extends LitElement {\n static override styles = unsafeCSS(styles);\n\n /** aria role.\n * @internal\n */\n @property({ type: String, reflect: true })\n override accessor role = 'columnheader';\n\n /** Determines if the cell should have a denser layout. */\n @property({ type: Boolean, reflect: true })\n accessor dense = false;\n\n /**\n * Context consumer for the table context.\n * Updates the cell's dense properties when the context changes.\n * @private\n * @ignore\n * @type {ContextConsumer<TableContextType, TableHeader>}\n */\n @state()\n // @ts-expect-error - This is a context consumer\n private accessor _contextConsumer = new ContextConsumer(\n this,\n tableContext,\n (context) => {\n if (context) this.handleContextChange(context);\n },\n true\n );\n\n /**\n * Updates the cell's dense properties when the context changes.\n * @param {TableContextType} context - The updated context.\n */\n handleContextChange = ({ dense }: TableContextType) => {\n if (typeof dense == 'boolean') {\n this.dense = dense;\n }\n };\n\n /**\n * Specifies the alignment of the content within the table header.\n * Options: 'left', 'center', 'right'\n */\n @property({ type: String, reflect: true })\n accessor align: TABLE_CELL_ALIGN = TABLE_CELL_ALIGN.LEFT;\n\n /**\n * Specifies if the column is sortable.\n * If set to true, an arrow icon will be displayed unpon hover,\n * allowing the user to toggle sort directions.\n */\n @property({ type: Boolean, reflect: true })\n accessor sortable = false;\n\n /** Specifies the direction of sorting applied to the column. */\n @property({ type: String, reflect: true })\n accessor sortDirection: SORT_DIRECTION = SORT_DIRECTION.DEFAULT;\n\n /**\n * The textual content associated with this component.\n * Represents the primary content or label that will be displayed.\n */\n @property({ type: String })\n accessor headerLabel = '';\n\n /**\n * The unique identifier representing this column header.\n * Used to distinguish between different sortable columns and\n * to ensure that only one column is sorted at a time.\n */\n @property({ type: String })\n accessor sortKey = '';\n\n /**\n * Determines whether the content should be hidden from visual view but remain accessible\n * to screen readers for accessibility purposes. When set to `true`, the content\n * will not be visibly shown, but its content can still be read by screen readers.\n * This is especially useful for providing additional context or information to\n * assistive technologies without cluttering the visual UI.\n */\n @property({ type: Boolean })\n accessor visiblyHidden = false;\n\n /**\n * Sets a fixed width for the cell.\n * Accepts standard CSS width values (e.g., '150px', '50%').\n */\n @property({ type: String, reflect: true })\n accessor width = '';\n\n /**\n * Sets a maximum width for the cell.\n * Accepts standard CSS width values (e.g., '150px', '50%').\n */\n @property({ type: String, reflect: true })\n accessor maxWidth = '';\n\n /**\n * Sets a minimum width for the cell;\n * Accepts standard CSS width values (e.g., '150px', '50%').\n * @type {string}\n */\n @property({ type: String, reflect: true })\n accessor minWidth = '';\n\n /**\n * @ignore\n */\n @queryAssignedNodes({ flatten: true })\n accessor listItems!: Array<Node>;\n\n /**\n * Resets the sorting direction of the component to its default state.\n * Useful for initializing or clearing any applied sorting on the element.\n */\n resetSort() {\n this.sortDirection = SORT_DIRECTION.DEFAULT;\n }\n\n /**\n * Assistive text for screen readers.\n * @ignore\n */\n @state()\n accessor assistiveText = '';\n\n /**\n * Toggles the sort direction between ascending, descending, and default states.\n * It also dispatches an event to notify parent components of the sorting change.\n */\n private toggleSortDirection() {\n if (!this.sortKey) {\n console.error('sortKey is missing for a sortable column.');\n return;\n }\n\n switch (this.sortDirection) {\n case SORT_DIRECTION.DEFAULT:\n case SORT_DIRECTION.DESC: {\n this.sortDirection = SORT_DIRECTION.ASC;\n const assistiveText1 = `Column header ${this.sortKey} sorted in ascending order`;\n this.assistiveText =\n this.assistiveText === '' || this.assistiveText === assistiveText1\n ? `${assistiveText1}.`\n : assistiveText1;\n break;\n }\n case SORT_DIRECTION.ASC: {\n this.sortDirection = SORT_DIRECTION.DESC;\n const assistiveText2 = `Column header ${this.sortKey} sorted in descending order`;\n this.assistiveText =\n this.assistiveText === '' || this.assistiveText === assistiveText2\n ? `${assistiveText2}.`\n : assistiveText2;\n break;\n }\n }\n\n // Dispatch event to notify parent components of the sorting change\n this.dispatchEvent(\n new CustomEvent('on-sort-changed', {\n bubbles: true,\n composed: true,\n detail: { sortDirection: this.sortDirection, sortKey: this.sortKey },\n })\n );\n }\n\n override updated(changedProperties: PropertyValues) {\n this.getTextContent();\n\n super.updated(changedProperties);\n if (this.maxWidth && changedProperties.has('maxWidth')) {\n this.style.setProperty('--kyn-th-max-width', this.maxWidth);\n }\n\n if (this.width && changedProperties.has('width')) {\n this.style.setProperty('--kyn-th-width', this.width);\n }\n\n if (this.minWidth && changedProperties.has('minWidth')) {\n this.style.setProperty('--kyn-th-min-width', this.minWidth);\n }\n }\n\n getTextContent() {\n const nonWhitespaceNodes = this.listItems.filter((node) => {\n return (\n node?.nodeType !== Node.TEXT_NODE || node?.textContent?.trim() !== ''\n );\n });\n\n this.headerLabel = nonWhitespaceNodes[0]?.textContent || '';\n }\n\n override render() {\n const iconClasses = {\n 'sort-icon': true,\n 'sort-icon--sorting': this.sortDirection !== SORT_DIRECTION.DEFAULT,\n 'sort-icon--sorting-asc': this.sortDirection === SORT_DIRECTION.ASC,\n 'sort-icon--sorting-desc': this.sortDirection === SORT_DIRECTION.DESC,\n };\n\n const slotClasses = {\n 'slot-wrapper': true,\n 'sr-only': this.visiblyHidden,\n };\n\n /**\n * Accessibility Enhancements:\n * - role: Sets the appropriate role for interactive headers (e.g., when sortable).\n * - ariaSort: Indicates the sorting direction to assistive technologies.\n * - ariaLabel: Provides a descriptive label to assistive technologies for sortable headers.\n * - tabIndex: Enables keyboard interaction for sortable headers.\n * - onKeyDown: Handles keyboard events for sortable headers to allow sorting via the keyboard.\n */\n const role = this.sortable ? 'button' : undefined;\n // const arialSort = this.sortable ? this.sortDirection : undefined;\n const ariaLabel =\n this.sortable && this.headerLabel\n ? `Sort by ${this.headerLabel}`\n : undefined;\n const tabIndex = this.sortable ? 0 : undefined;\n const onKeyDown = this.sortable\n ? (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n this.toggleSortDirection();\n }\n }\n : undefined;\n\n return html`\n <div\n class=\"container\"\n role=${ifDefined(role)}\n @click=${this.sortable ? () => this.toggleSortDirection() : undefined}\n aria-label=${ifDefined(ariaLabel)}\n tabindex=${ifDefined(tabIndex)}\n @keydown=${onKeyDown}\n >\n <div class=${classMap(slotClasses)}>\n <slot></slot>\n </div>\n ${this.sortable\n ? html`<span class=${classMap(iconClasses)}\n >${unsafeSVG(arrowUpIcon)}</span\n >`\n : null}\n\n <div\n class=\"assistive-text\"\n role=\"status\"\n aria-live=\"polite\"\n aria-relevant=\"additions text\"\n >\n ${this.assistiveText}\n </div>\n </div>\n `;\n }\n}\n\n// Define the custom element in the global namespace\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-th': TableHeader;\n }\n}\n"],"names":["TableHeader","customElement","LitElement","_classThis","_classSuper","role","__classPrivateFieldGet","this","_TableHeader_role_accessor_storage","value","__classPrivateFieldSet","dense","_TableHeader_dense_accessor_storage","_contextConsumer","_TableHeader__contextConsumer_accessor_storage","align","_TableHeader_align_accessor_storage","sortable","_TableHeader_sortable_accessor_storage","sortDirection","_TableHeader_sortDirection_accessor_storage","headerLabel","_TableHeader_headerLabel_accessor_storage","sortKey","_TableHeader_sortKey_accessor_storage","visiblyHidden","_TableHeader_visiblyHidden_accessor_storage","width","_TableHeader_width_accessor_storage","maxWidth","_TableHeader_maxWidth_accessor_storage","minWidth","_TableHeader_minWidth_accessor_storage","listItems","_TableHeader_listItems_accessor_storage","resetSort","SORT_DIRECTION","DEFAULT","assistiveText","_TableHeader_assistiveText_accessor_storage","toggleSortDirection","DESC","ASC","assistiveText1","assistiveText2","dispatchEvent","CustomEvent","bubbles","composed","detail","console","error","updated","changedProperties","getTextContent","super","has","style","setProperty","nonWhitespaceNodes","filter","node","nodeType","Node","TEXT_NODE","_a","textContent","trim","render","iconClasses","slotClasses","undefined","ariaLabel","tabIndex","onKeyDown","e","key","html","ifDefined","classMap","unsafeSVG","arrowUpIcon","set","__runInitializers","_role_initializers","_role_extraInitializers","_dense_initializers","_dense_extraInitializers","__contextConsumer_initializers","ContextConsumer","tableContext","context","handleContextChange","_align_initializers","TABLE_CELL_ALIGN","LEFT","_align_extraInitializers","_sortable_initializers","_sortable_extraInitializers","_sortDirection_initializers","_sortDirection_extraInitializers","_headerLabel_initializers","_headerLabel_extraInitializers","_sortKey_initializers","_sortKey_extraInitializers","_visiblyHidden_initializers","_visiblyHidden_extraInitializers","_width_initializers","_width_extraInitializers","_maxWidth_initializers","_maxWidth_extraInitializers","_minWidth_initializers","_minWidth_extraInitializers","_listItems_initializers","_listItems_extraInitializers","_assistiveText_initializers","property","type","String","reflect","Boolean","__contextConsumer_decorators","state","_headerLabel_decorators","_sortKey_decorators","_visiblyHidden_decorators","_listItems_decorators","queryAssignedNodes","flatten","_assistiveText_decorators","__esDecorate","_role_decorators","kind","name","static","private","access","obj","get","metadata","_metadata","_dense_decorators","__contextConsumer_extraInitializers","_align_decorators","_sortable_decorators","_sortDirection_decorators","_width_decorators","_maxWidth_decorators","_minWidth_decorators","_assistiveText_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS"],"mappings":"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"}
1
+ {"version":3,"file":"table-header.js","sources":["../../../../src/components/reusable/table/table-header.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, unsafeCSS, PropertyValues } from 'lit';\nimport {\n customElement,\n property,\n queryAssignedNodes,\n state,\n} from 'lit/decorators.js';\nimport { classMap } from 'lit-html/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { ContextConsumer } from '@lit/context';\nimport { tableContext, TableContextType } from './table-context';\n\nimport arrowUpIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/arrow-up.svg';\nimport styles from './table-header.scss?inline';\n\nimport { SORT_DIRECTION, TABLE_CELL_ALIGN } from './defs';\n\n/**\n * `kyn-th` Web Component.\n *\n * Represents a custom table header cell (`<th>`) for Shidoka's design system tables.\n * Provides sorting functionality when enabled and allows alignment customization.\n *\n * @fires on-sort-changed - Dispatched when the sort direction is changed.\n * @slot unnamed - The content slot for adding header text or content.\n */\n@customElement('kyn-th')\nexport class TableHeader extends LitElement {\n static override styles = unsafeCSS(styles);\n\n /** aria role.\n * @internal\n */\n @property({ type: String, reflect: true })\n override accessor role = 'columnheader';\n\n /** Determines if the cell should have a denser layout. */\n @property({ type: Boolean, reflect: true })\n accessor dense = false;\n\n /**\n * Context consumer for the table context.\n * Updates the cell's dense properties when the context changes.\n * @private\n * @ignore\n * @type {ContextConsumer<TableContextType, TableHeader>}\n */\n @state()\n // @ts-expect-error - This is a context consumer\n private accessor _contextConsumer = new ContextConsumer(\n this,\n tableContext,\n (context) => {\n if (context) this.handleContextChange(context);\n },\n true\n );\n\n /**\n * Updates the cell's dense properties when the context changes.\n * @param {TableContextType} context - The updated context.\n */\n handleContextChange = ({ dense }: TableContextType) => {\n if (typeof dense == 'boolean') {\n this.dense = dense;\n }\n };\n\n /**\n * Specifies the alignment of the content within the table header.\n * Options: 'left', 'center', 'right'\n */\n @property({ type: String, reflect: true })\n accessor align: TABLE_CELL_ALIGN = TABLE_CELL_ALIGN.LEFT;\n\n /**\n * Specifies if the column is sortable.\n * If set to true, an arrow icon will be displayed unpon hover,\n * allowing the user to toggle sort directions.\n */\n @property({ type: Boolean, reflect: true })\n accessor sortable = false;\n\n /** Specifies the direction of sorting applied to the column. */\n @property({ type: String, reflect: true })\n accessor sortDirection: SORT_DIRECTION = SORT_DIRECTION.DEFAULT;\n\n /**\n * The textual content associated with this component.\n * Represents the primary content or label that will be displayed.\n */\n @property({ type: String })\n accessor headerLabel = '';\n\n /**\n * The unique identifier representing this column header.\n * Used to distinguish between different sortable columns and\n * to ensure that only one column is sorted at a time.\n */\n @property({ type: String })\n accessor sortKey = '';\n\n /**\n * Determines whether the content should be hidden from visual view but remain accessible\n * to screen readers for accessibility purposes. When set to `true`, the content\n * will not be visibly shown, but its content can still be read by screen readers.\n * This is especially useful for providing additional context or information to\n * assistive technologies without cluttering the visual UI.\n */\n @property({ type: Boolean })\n accessor visiblyHidden = false;\n\n /**\n * Sets a fixed width for the cell.\n * Accepts standard CSS width values (e.g., '150px', '50%').\n */\n @property({ type: String, reflect: true })\n accessor width = '';\n\n /**\n * Sets a maximum width for the cell.\n * Accepts standard CSS width values (e.g., '150px', '50%').\n */\n @property({ type: String, reflect: true })\n accessor maxWidth = '';\n\n /**\n * Sets a minimum width for the cell;\n * Accepts standard CSS width values (e.g., '150px', '50%').\n * @type {string}\n */\n @property({ type: String, reflect: true })\n accessor minWidth = '';\n\n /**\n * @ignore\n */\n @queryAssignedNodes({ flatten: true })\n accessor listItems!: Array<Node>;\n\n /**\n * Resets the sorting direction of the component to its default state.\n * Useful for initializing or clearing any applied sorting on the element.\n */\n resetSort() {\n this.sortDirection = SORT_DIRECTION.DEFAULT;\n }\n\n /**\n * Assistive text for screen readers.\n * @ignore\n */\n @state()\n accessor assistiveText = '';\n\n /**\n * Toggles the sort direction between ascending, descending, and default states.\n * It also dispatches an event to notify parent components of the sorting change.\n */\n private toggleSortDirection() {\n if (!this.sortKey) {\n console.error('sortKey is missing for a sortable column.');\n return;\n }\n\n switch (this.sortDirection) {\n case SORT_DIRECTION.DEFAULT:\n case SORT_DIRECTION.DESC: {\n this.sortDirection = SORT_DIRECTION.ASC;\n const assistiveText1 = `Column header ${this.sortKey} sorted in ascending order`;\n this.assistiveText =\n this.assistiveText === '' || this.assistiveText === assistiveText1\n ? `${assistiveText1}.`\n : assistiveText1;\n break;\n }\n case SORT_DIRECTION.ASC: {\n this.sortDirection = SORT_DIRECTION.DESC;\n const assistiveText2 = `Column header ${this.sortKey} sorted in descending order`;\n this.assistiveText =\n this.assistiveText === '' || this.assistiveText === assistiveText2\n ? `${assistiveText2}.`\n : assistiveText2;\n break;\n }\n }\n\n // Dispatch event to notify parent components of the sorting change\n this.dispatchEvent(\n new CustomEvent('on-sort-changed', {\n bubbles: true,\n composed: true,\n detail: { sortDirection: this.sortDirection, sortKey: this.sortKey },\n })\n );\n }\n\n override updated(changedProperties: PropertyValues) {\n this.getTextContent();\n\n super.updated(changedProperties);\n if (this.maxWidth && changedProperties.has('maxWidth')) {\n this.style.setProperty('--kyn-th-max-width', this.maxWidth);\n }\n\n if (this.width && changedProperties.has('width')) {\n this.style.setProperty('--kyn-th-width', this.width);\n }\n\n if (this.minWidth && changedProperties.has('minWidth')) {\n this.style.setProperty('--kyn-th-min-width', this.minWidth);\n }\n }\n\n getTextContent() {\n const nonWhitespaceNodes = this.listItems.filter((node) => {\n return (\n node?.nodeType !== Node.TEXT_NODE || node?.textContent?.trim() !== ''\n );\n });\n\n this.headerLabel = nonWhitespaceNodes[0]?.textContent || '';\n }\n\n override render() {\n const iconClasses = {\n 'sort-icon': true,\n 'sort-icon--sorting': this.sortDirection !== SORT_DIRECTION.DEFAULT,\n 'sort-icon--sorting-asc': this.sortDirection === SORT_DIRECTION.ASC,\n 'sort-icon--sorting-desc': this.sortDirection === SORT_DIRECTION.DESC,\n };\n\n const slotClasses = {\n 'slot-wrapper': true,\n 'sr-only': this.visiblyHidden,\n };\n\n /**\n * Accessibility Enhancements:\n * - role: Sets the appropriate role for interactive headers (e.g., when sortable).\n * - ariaSort: Indicates the sorting direction to assistive technologies.\n * - ariaLabel: Provides a descriptive label to assistive technologies for sortable headers.\n * - tabIndex: Enables keyboard interaction for sortable headers.\n * - onKeyDown: Handles keyboard events for sortable headers to allow sorting via the keyboard.\n */\n const role = this.sortable ? 'button' : undefined;\n // const arialSort = this.sortable ? this.sortDirection : undefined;\n const ariaLabel =\n this.sortable && this.headerLabel\n ? `Sort by ${this.headerLabel}`\n : undefined;\n const tabIndex = this.sortable ? 0 : undefined;\n const onKeyDown = this.sortable\n ? (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n this.toggleSortDirection();\n }\n }\n : undefined;\n\n return html`\n <div\n class=\"container\"\n role=${ifDefined(role)}\n @click=${this.sortable ? () => this.toggleSortDirection() : undefined}\n aria-label=${ifDefined(ariaLabel)}\n tabindex=${ifDefined(tabIndex)}\n @keydown=${onKeyDown}\n >\n <div class=${classMap(slotClasses)}>\n <slot></slot>\n </div>\n ${this.sortable\n ? html`<span class=${classMap(iconClasses)}\n >${unsafeSVG(arrowUpIcon)}</span\n >`\n : null}\n\n <div\n class=\"assistive-text\"\n role=\"status\"\n aria-live=\"polite\"\n aria-relevant=\"additions text\"\n >\n ${this.assistiveText}\n </div>\n </div>\n `;\n }\n}\n\n// Define the custom element in the global namespace\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-th': TableHeader;\n }\n}\n"],"names":["TableHeader","customElement","LitElement","_classThis","_classSuper","role","__classPrivateFieldGet","this","_TableHeader_role_accessor_storage","value","__classPrivateFieldSet","dense","_TableHeader_dense_accessor_storage","_contextConsumer","_TableHeader__contextConsumer_accessor_storage","align","_TableHeader_align_accessor_storage","sortable","_TableHeader_sortable_accessor_storage","sortDirection","_TableHeader_sortDirection_accessor_storage","headerLabel","_TableHeader_headerLabel_accessor_storage","sortKey","_TableHeader_sortKey_accessor_storage","visiblyHidden","_TableHeader_visiblyHidden_accessor_storage","width","_TableHeader_width_accessor_storage","maxWidth","_TableHeader_maxWidth_accessor_storage","minWidth","_TableHeader_minWidth_accessor_storage","listItems","_TableHeader_listItems_accessor_storage","resetSort","SORT_DIRECTION","DEFAULT","assistiveText","_TableHeader_assistiveText_accessor_storage","toggleSortDirection","DESC","ASC","assistiveText1","assistiveText2","dispatchEvent","CustomEvent","bubbles","composed","detail","console","error","updated","changedProperties","getTextContent","super","has","style","setProperty","nonWhitespaceNodes","filter","node","nodeType","Node","TEXT_NODE","_a","textContent","trim","render","iconClasses","slotClasses","undefined","ariaLabel","tabIndex","onKeyDown","e","key","html","ifDefined","classMap","unsafeSVG","arrowUpIcon","set","__runInitializers","_role_initializers","_role_extraInitializers","_dense_initializers","_dense_extraInitializers","__contextConsumer_initializers","ContextConsumer","tableContext","context","handleContextChange","_align_initializers","TABLE_CELL_ALIGN","LEFT","_align_extraInitializers","_sortable_initializers","_sortable_extraInitializers","_sortDirection_initializers","_sortDirection_extraInitializers","_headerLabel_initializers","_headerLabel_extraInitializers","_sortKey_initializers","_sortKey_extraInitializers","_visiblyHidden_initializers","_visiblyHidden_extraInitializers","_width_initializers","_width_extraInitializers","_maxWidth_initializers","_maxWidth_extraInitializers","_minWidth_initializers","_minWidth_extraInitializers","_listItems_initializers","_listItems_extraInitializers","_assistiveText_initializers","property","type","String","reflect","Boolean","__contextConsumer_decorators","state","_headerLabel_decorators","_sortKey_decorators","_visiblyHidden_decorators","_listItems_decorators","queryAssignedNodes","flatten","_assistiveText_decorators","__esDecorate","_role_decorators","kind","name","static","private","access","obj","get","metadata","_metadata","_dense_decorators","__contextConsumer_extraInitializers","_align_decorators","_sortable_decorators","_sortDirection_decorators","_width_decorators","_maxWidth_decorators","_minWidth_decorators","_assistiveText_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BaA,EAAW,6EADvBC,EAAc,kBACkBC,iLAARC,EAAA,cAAQC,EAO/B,QAAkBC,GAAI,OAAAC,EAAAC,KAAAC,EAAA,IAAA,CAAtB,QAAkBH,CAAII,GAAAC,EAAAH,KAAAC,EAAAC,EAAA,IAAA,CAItB,SAASE,GAAK,OAAAL,EAAAC,KAAAK,EAAA,IAAA,CAAd,SAASD,CAAKF,GAAAC,EAAAH,KAAAK,EAAAH,EAAA,IAAA,CAWd,oBAAiBI,GAAgB,OAAAP,EAAAC,KAAAO,EAAA,IAAA,CAAjC,oBAAiBD,CAAgBJ,GAAAC,EAAAH,KAAAO,EAAAL,EAAA,IAAA,CAwBjC,SAASM,GAAK,OAAAT,EAAAC,KAAAS,EAAA,IAAA,CAAd,SAASD,CAAKN,GAAAC,EAAAH,KAAAS,EAAAP,EAAA,IAAA,CAQd,YAASQ,GAAQ,OAAAX,EAAAC,KAAAW,EAAA,IAAA,CAAjB,YAASD,CAAQR,GAAAC,EAAAH,KAAAW,EAAAT,EAAA,IAAA,CAIjB,iBAASU,GAAa,OAAAb,EAAAC,KAAAa,EAAA,IAAA,CAAtB,iBAASD,CAAaV,GAAAC,EAAAH,KAAAa,EAAAX,EAAA,IAAA,CAOtB,eAASY,GAAW,OAAAf,EAAAC,KAAAe,EAAA,IAAA,CAApB,eAASD,CAAWZ,GAAAC,EAAAH,KAAAe,EAAAb,EAAA,IAAA,CAQpB,WAASc,GAAO,OAAAjB,EAAAC,KAAAiB,EAAA,IAAA,CAAhB,WAASD,CAAOd,GAAAC,EAAAH,KAAAiB,EAAAf,EAAA,IAAA,CAUhB,iBAASgB,GAAa,OAAAnB,EAAAC,KAAAmB,EAAA,IAAA,CAAtB,iBAASD,CAAahB,GAAAC,EAAAH,KAAAmB,EAAAjB,EAAA,IAAA,CAOtB,SAASkB,GAAK,OAAArB,EAAAC,KAAAqB,EAAA,IAAA,CAAd,SAASD,CAAKlB,GAAAC,EAAAH,KAAAqB,EAAAnB,EAAA,IAAA,CAOd,YAASoB,GAAQ,OAAAvB,EAAAC,KAAAuB,EAAA,IAAA,CAAjB,YAASD,CAAQpB,GAAAC,EAAAH,KAAAuB,EAAArB,EAAA,IAAA,CAQjB,YAASsB,GAAQ,OAAAzB,EAAAC,KAAAyB,EAAA,IAAA,CAAjB,YAASD,CAAQtB,GAAAC,EAAAH,KAAAyB,EAAAvB,EAAA,IAAA,CAMjB,aAASwB,GAAS,OAAA3B,EAAAC,KAAA2B,EAAA,IAAA,CAAlB,aAASD,CAASxB,GAAAC,EAAAH,KAAA2B,EAAAzB,EAAA,IAAA,CAMlB,SAAA0B,GACE5B,KAAKY,cAAgBiB,EAAeC,QAQtC,iBAASC,GAAa,OAAAhC,EAAAC,KAAAgC,EAAA,IAAA,CAAtB,iBAASD,CAAa7B,GAAAC,EAAAH,KAAAgC,EAAA9B,EAAA,IAAA,CAMd,mBAAA+B,GACN,GAAKjC,KAAKgB,QAAV,CAKA,OAAQhB,KAAKY,eACX,KAAKiB,EAAeC,QACpB,KAAKD,EAAeK,KAAM,CACxBlC,KAAKY,cAAgBiB,EAAeM,IACpC,MAAMC,EAAiB,iBAAiBpC,KAAKgB,oCAC7ChB,KAAK+B,cACoB,KAAvB/B,KAAK+B,eAAwB/B,KAAK+B,gBAAkBK,EAChD,GAAGA,KACHA,EACN,MAEF,KAAKP,EAAeM,IAAK,CACvBnC,KAAKY,cAAgBiB,EAAeK,KACpC,MAAMG,EAAiB,iBAAiBrC,KAAKgB,qCAC7ChB,KAAK+B,cACoB,KAAvB/B,KAAK+B,eAAwB/B,KAAK+B,gBAAkBM,EAChD,GAAGA,KACHA,EACN,OAKJrC,KAAKsC,cACH,IAAIC,YAAY,kBAAmB,CACjCC,SAAS,EACTC,UAAU,EACVC,OAAQ,CAAE9B,cAAeZ,KAAKY,cAAeI,QAAShB,KAAKgB,iBA/B7D2B,QAAQC,MAAM,6CAoCT,OAAAC,CAAQC,GACf9C,KAAK+C,iBAELC,MAAMH,QAAQC,GACV9C,KAAKsB,UAAYwB,EAAkBG,IAAI,aACzCjD,KAAKkD,MAAMC,YAAY,qBAAsBnD,KAAKsB,UAGhDtB,KAAKoB,OAAS0B,EAAkBG,IAAI,UACtCjD,KAAKkD,MAAMC,YAAY,iBAAkBnD,KAAKoB,OAG5CpB,KAAKwB,UAAYsB,EAAkBG,IAAI,aACzCjD,KAAKkD,MAAMC,YAAY,qBAAsBnD,KAAKwB,UAItD,cAAAuB,SACE,MAAMK,EAAqBpD,KAAK0B,UAAU2B,QAAQC,UAChD,OACEA,aAAI,EAAJA,EAAMC,YAAaC,KAAKC,WAA2C,MAAb,QAAjBC,EAAAJ,aAAI,EAAJA,EAAMK,mBAAW,IAAAD,OAAA,EAAAA,EAAEE,OAAa,IAIzE5D,KAAKc,aAAmC,QAArB4C,EAAAN,EAAmB,UAAE,IAAAM,OAAA,EAAAA,EAAEC,cAAe,GAGlD,MAAAE,GACP,MAAMC,EAAc,CAClB,aAAa,EACb,qBAAsB9D,KAAKY,gBAAkBiB,EAAeC,QAC5D,yBAA0B9B,KAAKY,gBAAkBiB,EAAeM,IAChE,0BAA2BnC,KAAKY,gBAAkBiB,EAAeK,MAG7D6B,EAAc,CAClB,gBAAgB,EAChB,UAAW/D,KAAKkB,eAWZpB,EAAOE,KAAKU,SAAW,cAAWsD,EAElCC,EACJjE,KAAKU,UAAYV,KAAKc,YAClB,WAAWd,KAAKc,mBAChBkD,EACAE,EAAWlE,KAAKU,SAAW,OAAIsD,EAC/BG,EAAYnE,KAAKU,SAClB0D,IACe,UAAVA,EAAEC,KAA6B,MAAVD,EAAEC,KACzBrE,KAAKiC,4BAGT+B,EAEJ,OAAOM,CAAI;;;eAGAC,EAAUzE;iBACRE,KAAKU,SAAW,IAAMV,KAAKiC,2BAAwB+B;qBAC/CO,EAAUN;mBACZM,EAAUL;mBACVC;;qBAEEK,EAAST;;;UAGpB/D,KAAKU,SACH4D,CAAI,eAAeE,EAASV;iBACvBW,EAAUC;eAEf;;;;;;;;YAQA1E,KAAK+B;;;wCA1PG9B,EAAA0E,IAAA3E,KAAA4E,EAAA5E,KAAA6E,GAAO,iBAIhBxE,EAAAsE,IAAA3E,MAAA4E,EAAA5E,KAAA8E,IAAAF,EAAA5E,KAAA+E,IAAQ,KAWAxE,EAAAoE,IAAA3E,MAAA4E,EAAA5E,KAAAgF,IAAAJ,EAAA5E,KAAAiF,GAAmB,IAAIC,EACtClF,KACAmF,GACCC,IACKA,GAASpF,KAAKqF,oBAAoBD,EAAQ,IAEhD,MAOFpF,KAAAqF,gCAAsB,EAAGjF,YACH,kBAATA,IACTJ,KAAKI,MAAQA,KASRK,EAAAkE,IAAA3E,KAAA4E,EAAA5E,KAAAsF,GAA0BC,EAAiBC,OAQ3C7E,EAAAgE,IAAA3E,MAAA4E,EAAA5E,KAAAyF,IAAAb,EAAA5E,KAAA0F,IAAW,KAIX7E,EAAA8D,IAAA3E,MAAA4E,EAAA5E,KAAA2F,IAAAf,EAAA5E,KAAA4F,GAAgC/D,EAAeC,WAO/Cf,EAAA4D,IAAA3E,MAAA4E,EAAA5E,KAAA6F,IAAAjB,EAAA5E,KAAA8F,GAAc,MAQd7E,EAAA0D,IAAA3E,MAAA4E,EAAA5E,KAAA+F,IAAAnB,EAAA5E,KAAAgG,GAAU,MAUV7E,EAAAwD,IAAA3E,MAAA4E,EAAA5E,KAAAiG,IAAArB,EAAA5E,KAAAkG,IAAgB,KAOhB7E,EAAAsD,IAAA3E,MAAA4E,EAAA5E,KAAAmG,IAAAvB,EAAA5E,KAAAoG,GAAQ,MAOR7E,EAAAoD,IAAA3E,MAAA4E,EAAA5E,KAAAqG,IAAAzB,EAAA5E,KAAAsG,GAAW,MAQX7E,EAAAkD,IAAA3E,MAAA4E,EAAA5E,KAAAuG,IAAA3B,EAAA5E,KAAAwG,GAAW,MAMX7E,EAAAgD,IAAA3E,MAAA4E,EAAA5E,KAAAyG,IAAA7B,EAAA5E,KAAA0G,QAAA,KAeA1E,EAAA2C,IAAA3E,MAAA4E,EAAA5E,KAAA2G,IAAA/B,EAAA5E,KAAA4G,GAAgB,mXAxHxBC,EAAS,CAAEC,KAAMC,OAAQC,SAAS,QAIlCH,EAAS,CAAEC,KAAMG,QAASD,SAAS,KAUnCE,EAAA,CAAAC,QAyBAN,EAAS,CAAEC,KAAMC,OAAQC,SAAS,QAQlCH,EAAS,CAAEC,KAAMG,QAASD,SAAS,QAInCH,EAAS,CAAEC,KAAMC,OAAQC,SAAS,KAOlCI,EAAA,CAAAP,EAAS,CAAEC,KAAMC,UAQjBM,EAAA,CAAAR,EAAS,CAAEC,KAAMC,UAUjBO,EAAA,CAAAT,EAAS,CAAEC,KAAMG,cAOjBJ,EAAS,CAAEC,KAAMC,OAAQC,SAAS,QAOlCH,EAAS,CAAEC,KAAMC,OAAQC,SAAS,QAQlCH,EAAS,CAAEC,KAAMC,OAAQC,SAAS,KAMlCO,EAAA,CAAAC,EAAmB,CAAEC,SAAS,KAe9BC,EAAA,CAAAP,KAtHDQ,EAAA/H,EAAA,KAAAgI,EAAA,CAAAC,KAAA,WAAAC,KAAA,OAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAhF,IAAAiF,GAAA,SAAAA,EAAAC,IAAAD,GAAAA,EAAkBpI,KAAI6E,IAAA,CAAAuD,EAAAhI,KAAAgI,EAAJpI,KAAII,CAAA,GAAAkI,SAAAC,GAAAxD,GAAAC,IAItB6C,EAAA/H,EAAA,KAAA0I,EAAA,CAAAT,KAAA,WAAAC,KAAA,QAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAhF,IAAAiF,GAAA,UAAAA,EAAAC,IAAAD,GAAAA,EAAS9H,MAAKuE,IAAA,CAAAuD,EAAAhI,KAAAgI,EAAL9H,MAAKF,CAAA,GAAAkI,SAAAC,GAAAtD,GAAAC,IAWd2C,EAAA/H,EAAA,KAAAsH,EAAA,CAAAW,KAAA,WAAAC,KAAA,mBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAhF,IAAAiF,GAAA,qBAAAA,EAAAC,IAAAD,GAAAA,EAAiB5H,iBAAgBqE,IAAA,CAAAuD,EAAAhI,KAAAgI,EAAhB5H,iBAAgBJ,CAAA,GAAAkI,SAAAC,GAAApD,GAAAsD,IAwBjCZ,EAAA/H,EAAA,KAAA4I,EAAA,CAAAX,KAAA,WAAAC,KAAA,QAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAhF,IAAAiF,GAAA,UAAAA,EAAAC,IAAAD,GAAAA,EAAS1H,MAAKmE,IAAA,CAAAuD,EAAAhI,KAAAgI,EAAL1H,MAAKN,CAAA,GAAAkI,SAAAC,GAAA/C,GAAAG,IAQdkC,EAAA/H,EAAA,KAAA6I,EAAA,CAAAZ,KAAA,WAAAC,KAAA,WAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAhF,IAAAiF,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAASxH,SAAQiE,IAAA,CAAAuD,EAAAhI,KAAAgI,EAARxH,SAAQR,CAAA,GAAAkI,SAAAC,GAAA3C,GAAAC,IAIjBgC,EAAA/H,EAAA,KAAA8I,EAAA,CAAAb,KAAA,WAAAC,KAAA,gBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAhF,IAAAiF,GAAA,kBAAAA,EAAAC,IAAAD,GAAAA,EAAStH,cAAa+D,IAAA,CAAAuD,EAAAhI,KAAAgI,EAAbtH,cAAaV,CAAA,GAAAkI,SAAAC,GAAAzC,GAAAC,IAOtB8B,EAAA/H,EAAA,KAAAwH,EAAA,CAAAS,KAAA,WAAAC,KAAA,cAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAhF,IAAAiF,GAAA,gBAAAA,EAAAC,IAAAD,GAAAA,EAASpH,YAAW6D,IAAA,CAAAuD,EAAAhI,KAAAgI,EAAXpH,YAAWZ,CAAA,GAAAkI,SAAAC,GAAAvC,GAAAC,IAQpB4B,EAAA/H,EAAA,KAAAyH,EAAA,CAAAQ,KAAA,WAAAC,KAAA,UAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAhF,IAAAiF,GAAA,YAAAA,EAAAC,IAAAD,GAAAA,EAASlH,QAAO2D,IAAA,CAAAuD,EAAAhI,KAAAgI,EAAPlH,QAAOd,CAAA,GAAAkI,SAAAC,GAAArC,GAAAC,IAUhB0B,EAAA/H,EAAA,KAAA0H,EAAA,CAAAO,KAAA,WAAAC,KAAA,gBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAhF,IAAAiF,GAAA,kBAAAA,EAAAC,IAAAD,GAAAA,EAAShH,cAAayD,IAAA,CAAAuD,EAAAhI,KAAAgI,EAAbhH,cAAahB,CAAA,GAAAkI,SAAAC,GAAAnC,GAAAC,IAOtBwB,EAAA/H,EAAA,KAAA+I,EAAA,CAAAd,KAAA,WAAAC,KAAA,QAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAhF,IAAAiF,GAAA,UAAAA,EAAAC,IAAAD,GAAAA,EAAS9G,MAAKuD,IAAA,CAAAuD,EAAAhI,KAAAgI,EAAL9G,MAAKlB,CAAA,GAAAkI,SAAAC,GAAAjC,GAAAC,IAOdsB,EAAA/H,EAAA,KAAAgJ,EAAA,CAAAf,KAAA,WAAAC,KAAA,WAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAhF,IAAAiF,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAAS5G,SAAQqD,IAAA,CAAAuD,EAAAhI,KAAAgI,EAAR5G,SAAQpB,CAAA,GAAAkI,SAAAC,GAAA/B,GAAAC,IAQjBoB,EAAA/H,EAAA,KAAAiJ,EAAA,CAAAhB,KAAA,WAAAC,KAAA,WAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAhF,IAAAiF,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAAS1G,SAAQmD,IAAA,CAAAuD,EAAAhI,KAAAgI,EAAR1G,SAAQtB,CAAA,GAAAkI,SAAAC,GAAA7B,GAAAC,IAMjBkB,EAAA/H,EAAA,KAAA2H,EAAA,CAAAM,KAAA,WAAAC,KAAA,YAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAhF,IAAAiF,GAAA,cAAAA,EAAAC,IAAAD,GAAAA,EAASxG,UAASiD,IAAA,CAAAuD,EAAAhI,KAAAgI,EAATxG,UAASxB,CAAA,GAAAkI,SAAAC,GAAA3B,GAAAC,IAelBgB,EAAA/H,EAAA,KAAA8H,EAAA,CAAAG,KAAA,WAAAC,KAAA,gBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAhF,IAAAiF,GAAA,kBAAAA,EAAAC,IAAAD,GAAAA,EAASnG,cAAa4C,IAAA,CAAAuD,EAAAhI,KAAAgI,EAAbnG,cAAa7B,CAAA,GAAAkI,SAAAC,GAAAzB,GAAAkC,IA9HxBnB,EAAA,KAAAoB,EAAA,CAAA7I,MAAAN,GAAAoJ,EAAA,CAAAnB,KAAA,QAAAC,KAAAlI,EAAAkI,KAAAM,SAAAC,GAAA,KAAAY,iHACkBrJ,EAAAsJ,OAASC,EAAUD,GADxBtE,EAAAhF,EAAAqJ,MAAW"}
@@ -1,4 +1,4 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, PropertyValues } from 'lit';
2
2
  import { TableContextType } from './table-context';
3
3
  import '../checkbox/checkbox';
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"table-row.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/table/table-row.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAQlD,OAAO,EAAgB,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKjE,OAAO,sBAAsB,CAAC;AAW9B;;;;;;;GAOG;AACH,qBACa,QAAS,SAAQ,UAAU;IACtC,OAAgB,MAAM,0BAAqB;IAE3C;;OAEG;IACH,SACkB,IAAI,SAAS;IAE/B;;OAEG;IAEH,QAAQ,CAAC,eAAe,SAAW;IAEnC;;OAEG;IAEH,QAAQ,CAAC,KAAK,SAAM;IAEpB;;;OAGG;IAEH,QAAQ,CAAC,QAAQ,UAAS;IAE1B;;;OAGG;IAEH,QAAQ,CAAC,iBAAiB,UAAS;IAEnC;;;OAGG;IAEH,QAAQ,CAAC,KAAK,UAAS;IAEvB;;OAEG;IAEH,QAAQ,CAAC,MAAM,UAAS;IAExB;;;;OAIG;IAEH,QAAQ,CAAC,MAAM,UAAS;IAExB;;OAEG;IAEH,QAAQ,CAAC,UAAU,UAAS;IAE5B;;OAEG;IAEH,QAAQ,CAAC,QAAQ,UAAS;IAE1B;;;;OAIG;IAEH,QAAQ,CAAC,QAAQ,UAAS;IAE1B;;OAEG;IAEH,QAAQ,CAAC,gBAAgB,UAAS;IAElC;;;OAGG;IAEH,QAAQ,CAAC,MAAM,UAAS;IAExB,iCAAiC;IAEjC,QAAQ,CAAC,WAAW;;;MAAuB;IAE3C;;OAEG;IAEH,QAAQ,CAAC,YAAY;;;MAAuB;IAE5C;;OAEG;IAEH,QAAQ,CAAC,cAAc,EAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IAE7C;;;;;;OAMG;IAGH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAO/B;IAEF;;;OAGG;IAEH,QAAQ,CAAC,aAAa,SAAM;IAE5B;;;OAGG;IACH,mBAAmB,GAAI,uBAAuB,gBAAgB,UAI5D;IAEF;;OAEG;IACH,wBAAwB,CAAC,KAAK,EAAE,WAAW;IAYlC,UAAU,CAAC,YAAY,EAAE,GAAG;IAM5B,OAAO,CAAC,iBAAiB,EAAE,cAAc;IAiClD,iCAAiC,CAAC,QAAQ,UAAiB;IAsB3D,OAAO,CAAC,gBAAgB;IAIf,MAAM;CAkDhB;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,QAAQ,EAAE,QAAQ,CAAC;KACpB;CACF"}
1
+ {"version":3,"file":"table-row.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/table/table-row.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAQ,cAAc,EAAa,MAAM,KAAK,CAAC;AAQlE,OAAO,EAAgB,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKjE,OAAO,sBAAsB,CAAC;AAW9B;;;;;;;GAOG;AACH,qBACa,QAAS,SAAQ,UAAU;IACtC,OAAgB,MAAM,0BAAqB;IAE3C;;OAEG;IACH,SACkB,IAAI,SAAS;IAE/B;;OAEG;IAEH,QAAQ,CAAC,eAAe,SAAW;IAEnC;;OAEG;IAEH,QAAQ,CAAC,KAAK,SAAM;IAEpB;;;OAGG;IAEH,QAAQ,CAAC,QAAQ,UAAS;IAE1B;;;OAGG;IAEH,QAAQ,CAAC,iBAAiB,UAAS;IAEnC;;;OAGG;IAEH,QAAQ,CAAC,KAAK,UAAS;IAEvB;;OAEG;IAEH,QAAQ,CAAC,MAAM,UAAS;IAExB;;;;OAIG;IAEH,QAAQ,CAAC,MAAM,UAAS;IAExB;;OAEG;IAEH,QAAQ,CAAC,UAAU,UAAS;IAE5B;;OAEG;IAEH,QAAQ,CAAC,QAAQ,UAAS;IAE1B;;;;OAIG;IAEH,QAAQ,CAAC,QAAQ,UAAS;IAE1B;;OAEG;IAEH,QAAQ,CAAC,gBAAgB,UAAS;IAElC;;;OAGG;IAEH,QAAQ,CAAC,MAAM,UAAS;IAExB,iCAAiC;IAEjC,QAAQ,CAAC,WAAW;;;MAAuB;IAE3C;;OAEG;IAEH,QAAQ,CAAC,YAAY;;;MAAuB;IAE5C;;OAEG;IAEH,QAAQ,CAAC,cAAc,EAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IAE7C;;;;;;OAMG;IAGH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAO/B;IAEF;;;OAGG;IAEH,QAAQ,CAAC,aAAa,SAAM;IAE5B;;;OAGG;IACH,mBAAmB,GAAI,uBAAuB,gBAAgB,UAI5D;IAEF;;OAEG;IACH,wBAAwB,CAAC,KAAK,EAAE,WAAW;IAYlC,UAAU,CAAC,YAAY,EAAE,GAAG;IAM5B,OAAO,CAAC,iBAAiB,EAAE,cAAc;IAiClD,iCAAiC,CAAC,QAAQ,UAAiB;IAsB3D,OAAO,CAAC,gBAAgB;IAIf,MAAM;CAkDhB;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,QAAQ,EAAE,QAAQ,CAAC;KACpB;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-row.js","sources":["../../../../src/components/reusable/table/table-row.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, unsafeCSS } from 'lit';\nimport {\n customElement,\n property,\n state,\n queryAssignedElements,\n} from 'lit/decorators.js';\nimport { ContextConsumer } from '@lit/context';\nimport { tableContext, TableContextType } from './table-context';\n\nimport chevronDownIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/chevron-down.svg';\n\nimport styles from './table-row.scss?inline';\nimport '../checkbox/checkbox';\n\nimport { TableExpandedRow } from './table-expanded-row';\nimport { TableCell } from './table-cell';\nimport { deepmerge } from 'deepmerge-ts';\n\nconst _defaultTextStrings = {\n expanded: 'Expanded',\n collapsed: 'Collapsed',\n};\n\n/**\n * `kyn-tr` Web Component.\n *\n * Represents a table row (`<tr>`) equivalent for custom tables created with Shidoka's design system.\n * It primarily acts as a container for individual table cells and behaves similarly to a native `<tr>` element.\n *\n * @slot unnamed - The content slot for adding table cells (`kyn-td` or other relevant cells).\n */\n@customElement('kyn-tr')\nexport class TableRow extends LitElement {\n static override styles = unsafeCSS(styles);\n\n /** aria role.\n * @internal\n */\n @property({ type: String, reflect: true })\n override accessor role = 'row';\n\n /** aria-disabled.\n * @internal\n */\n @property({ type: String, reflect: true })\n accessor 'aria-disabled' = 'false';\n\n /**\n * rowId: String - Unique identifier for the row.\n */\n @property({ type: String, reflect: true })\n accessor rowId = '';\n\n /**\n * selected: Boolean indicating whether the row is selected.\n * Reflects the `selected` attribute.\n */\n @property({ type: Boolean, reflect: true })\n accessor selected = false;\n\n /**\n * checkboxSelection: Boolean indicating whether rows should be\n * selectable using checkboxes.\n */\n @property({ type: Boolean, reflect: true })\n accessor checkboxSelection = false;\n\n /**\n * dense: Boolean indicating whether the table should be displayed\n * in dense mode.\n */\n @property({ type: Boolean })\n accessor dense = false;\n\n /**\n * Unread row state.\n */\n @property({ type: Boolean })\n accessor unread = false;\n\n /**\n * locked: Boolean indicating whether the row is locked.\n * If a row is selected before it is locked, it remains selected even after being locked.\n * A row can be selected and disabled/locked simultaneously.\n */\n @property({ type: Boolean, reflect: true })\n accessor locked = false;\n\n /**\n * expandable: Boolean indicating whether the row is expandable.\n */\n @property({ type: Boolean, reflect: true })\n accessor expandable = false;\n\n /**\n * expanded: Boolean indicating whether the row is expanded.\n */\n @property({ type: Boolean, reflect: true })\n accessor expanded = false;\n\n /**\n * disabled: Boolean indicating whether the row is disabled.\n * A disabled row is not allowed to have any user interactions.\n * A row can be selected and disabled/locked simultaneously.\n */\n @property({ type: Boolean, reflect: true })\n accessor disabled = false;\n\n /**\n * preventHighlight: Boolean indicating whether the row should not be highlighted.\n */\n @property({ type: Boolean, reflect: true })\n accessor preventHighlight = false;\n\n /**\n * dimmed: Boolean indicating whether the row is dimmed.\n * A row should not be selected and dimmed simultaneously.\n */\n @property({ type: Boolean, reflect: true })\n accessor dimmed = false;\n\n /** Text string customization. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n /**\n * @ignore\n */\n @queryAssignedElements()\n accessor unnamedSlotEls!: Array<HTMLElement>;\n\n /**\n * Context consumer for the table context.\n * Updates the cell's dense properties when the context changes.\n * @private\n * @ignore\n * @type {ContextConsumer<TableContextType, TableHeader>}\n */\n @state()\n // @ts-expect-error - This is a context consumer\n private accessor _contextConsumer = new ContextConsumer(\n this,\n tableContext,\n (context) => {\n if (context) this.handleContextChange(context);\n },\n true\n );\n\n /**\n * Assistive text for screen readers.\n * @ignore\n */\n @state()\n accessor assistiveText = '';\n\n /**\n * Updates the cell's dense and ellipsis properties when the context changes.\n * @param {TableContextType} context - The updated context.\n */\n handleContextChange = ({ checkboxSelection }: TableContextType) => {\n if (typeof checkboxSelection == 'boolean') {\n this.checkboxSelection = checkboxSelection;\n }\n };\n\n /**\n * Handles the change of selection state for a specific row.\n */\n handleRowSelectionChange(event: CustomEvent) {\n this.selected = event.detail.checked;\n // Emit the custom event with the selected row and its new state\n this.dispatchEvent(\n new CustomEvent('on-row-select', {\n detail: event.detail,\n bubbles: true,\n composed: true,\n })\n );\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n }\n\n override updated(changedProperties: PropertyValues) {\n // Reflect the expanded state to the next sibling expanded row\n if (changedProperties.has('expanded')) {\n const { expanded, nextElementSibling } = this;\n if (nextElementSibling?.matches('kyn-expanded-tr')) {\n (nextElementSibling as TableExpandedRow).expanded = expanded;\n }\n }\n\n // Reflect the disabled state to the tabindex attribute\n if (changedProperties.has('disabled')) {\n this['aria-disabled'] = this.disabled.toString();\n\n if (this.disabled) {\n this.setAttribute('tabindex', '-1');\n } else {\n this.removeAttribute('tabindex');\n }\n\n this.unnamedSlotEls.forEach((el) => {\n (el as TableCell).disabled = this.disabled;\n });\n }\n\n // A row can be selected and disabled/locked simultaneously.\n // However, a row should not be both selected and dimmed at the same time.\n if (changedProperties.has('dimmed') || changedProperties.has('selected')) {\n this.unnamedSlotEls.forEach((el) => {\n (el as TableCell).dimmed = this.dimmed && !this.selected;\n });\n }\n }\n\n _handleUserInitiatedToggleExpando(expanded = !this.expanded) {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n expanded,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent('table-row-expando-beingtoggled', init)\n )\n ) {\n this.expanded = expanded;\n this.assistiveText = expanded\n ? this._textStrings.expanded\n : this._textStrings.collapsed;\n this.dispatchEvent(new CustomEvent('table-row-expando-toggled', init));\n }\n }\n\n private _handleExpanding() {\n this._handleUserInitiatedToggleExpando();\n }\n\n override render() {\n return html`\n ${this.expandable\n ? html`\n <kyn-td .align=${'center'} ?dense=${this.dense}>\n <div class=\"kyn--table-expand\">\n <button\n class=\"kyn--table-expand__button\"\n type=\"button\"\n ?disabled=${this.disabled}\n title=${this.expanded\n ? this._textStrings.expanded\n : this._textStrings.collapsed}\n aria-label=${this.expanded\n ? this._textStrings.expanded\n : this._textStrings.collapsed}\n @click=${this._handleExpanding}\n >\n <span slot=\"icon\">${unsafeSVG(chevronDownIcon)}</span>\n </button>\n </div>\n\n <div\n class=\"assistive-text\"\n role=\"status\"\n aria-live=\"assertive\"\n aria-relevant=\"additions text\"\n >\n ${this.assistiveText}\n </div>\n </kyn-td>\n `\n : null}\n ${this.checkboxSelection\n ? html`\n <kyn-td .align=${'center'} ?dense=${this.dense}>\n <kyn-checkbox\n ?disabled=${this.disabled || this.locked}\n .checked=${this.selected}\n visiblyHidden\n @on-checkbox-change=${this.handleRowSelectionChange}\n >\n ${this.selected ? 'Deselect' : 'Select'} Row ${this.rowId}\n </kyn-checkbox>\n </kyn-td>\n `\n : null}\n <slot></slot>\n `;\n }\n}\n\n// Define the custom element in the global namespace\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-tr': TableRow;\n }\n}\n"],"names":["_defaultTextStrings","expanded","collapsed","TableRow","customElement","LitElement","_classThis","_classSuper","_TableRow_role_accessor_storage","set","this","__runInitializers","_role_initializers","_TableRow__a_accessor_storage","_role_extraInitializers","_member_initializers","_TableRow_rowId_accessor_storage","_member_extraInitializers","_rowId_initializers","_TableRow_selected_accessor_storage","_rowId_extraInitializers","_selected_initializers","_TableRow_checkboxSelection_accessor_storage","_selected_extraInitializers","_checkboxSelection_initializers","_TableRow_dense_accessor_storage","_checkboxSelection_extraInitializers","_dense_initializers","_TableRow_unread_accessor_storage","_dense_extraInitializers","_unread_initializers","_TableRow_locked_accessor_storage","_unread_extraInitializers","_locked_initializers","_TableRow_expandable_accessor_storage","_locked_extraInitializers","_expandable_initializers","_TableRow_expanded_accessor_storage","_expandable_extraInitializers","_expanded_initializers","_TableRow_disabled_accessor_storage","_expanded_extraInitializers","_disabled_initializers","_TableRow_preventHighlight_accessor_storage","_disabled_extraInitializers","_preventHighlight_initializers","_TableRow_dimmed_accessor_storage","_preventHighlight_extraInitializers","_dimmed_initializers","_TableRow_textStrings_accessor_storage","_dimmed_extraInitializers","_textStrings_initializers","_TableRow__textStrings_accessor_storage","_textStrings_extraInitializers","__textStrings_initializers","_TableRow_unnamedSlotEls_accessor_storage","__textStrings_extraInitializers","_unnamedSlotEls_initializers","_TableRow__contextConsumer_accessor_storage","_unnamedSlotEls_extraInitializers","__contextConsumer_initializers","ContextConsumer","tableContext","context","handleContextChange","_TableRow_assistiveText_accessor_storage","__contextConsumer_extraInitializers","_assistiveText_initializers","checkboxSelection","role","__classPrivateFieldGet","value","__classPrivateFieldSet","rowId","selected","dense","unread","locked","expandable","disabled","preventHighlight","dimmed","textStrings","_textStrings","unnamedSlotEls","_contextConsumer","assistiveText","handleRowSelectionChange","event","detail","checked","dispatchEvent","CustomEvent","bubbles","composed","willUpdate","changedProps","has","deepmerge","updated","changedProperties","nextElementSibling","matches","toString","setAttribute","removeAttribute","forEach","el","_handleUserInitiatedToggleExpando","init","cancelable","_handleExpanding","render","html","unsafeSVG","chevronDownIcon","property","type","String","reflect","Boolean","_dense_decorators","_unread_decorators","_textStrings_decorators","Object","__textStrings_decorators","state","_unnamedSlotEls_decorators","queryAssignedElements","__contextConsumer_decorators","_assistiveText_decorators","__esDecorate","_role_decorators","kind","name","static","private","access","obj","get","metadata","_metadata","_member_decorators","_rowId_decorators","_selected_decorators","_checkboxSelection_decorators","_locked_decorators","_expandable_decorators","_expanded_decorators","_disabled_decorators","_preventHighlight_decorators","_dimmed_decorators","_assistiveText_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS"],"mappings":"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"}
1
+ {"version":3,"file":"table-row.js","sources":["../../../../src/components/reusable/table/table-row.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, PropertyValues, unsafeCSS } from 'lit';\nimport {\n customElement,\n property,\n state,\n queryAssignedElements,\n} from 'lit/decorators.js';\nimport { ContextConsumer } from '@lit/context';\nimport { tableContext, TableContextType } from './table-context';\n\nimport chevronDownIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/chevron-down.svg';\n\nimport styles from './table-row.scss?inline';\nimport '../checkbox/checkbox';\n\nimport { TableExpandedRow } from './table-expanded-row';\nimport { TableCell } from './table-cell';\nimport { deepmerge } from 'deepmerge-ts';\n\nconst _defaultTextStrings = {\n expanded: 'Expanded',\n collapsed: 'Collapsed',\n};\n\n/**\n * `kyn-tr` Web Component.\n *\n * Represents a table row (`<tr>`) equivalent for custom tables created with Shidoka's design system.\n * It primarily acts as a container for individual table cells and behaves similarly to a native `<tr>` element.\n *\n * @slot unnamed - The content slot for adding table cells (`kyn-td` or other relevant cells).\n */\n@customElement('kyn-tr')\nexport class TableRow extends LitElement {\n static override styles = unsafeCSS(styles);\n\n /** aria role.\n * @internal\n */\n @property({ type: String, reflect: true })\n override accessor role = 'row';\n\n /** aria-disabled.\n * @internal\n */\n @property({ type: String, reflect: true })\n accessor 'aria-disabled' = 'false';\n\n /**\n * rowId: String - Unique identifier for the row.\n */\n @property({ type: String, reflect: true })\n accessor rowId = '';\n\n /**\n * selected: Boolean indicating whether the row is selected.\n * Reflects the `selected` attribute.\n */\n @property({ type: Boolean, reflect: true })\n accessor selected = false;\n\n /**\n * checkboxSelection: Boolean indicating whether rows should be\n * selectable using checkboxes.\n */\n @property({ type: Boolean, reflect: true })\n accessor checkboxSelection = false;\n\n /**\n * dense: Boolean indicating whether the table should be displayed\n * in dense mode.\n */\n @property({ type: Boolean })\n accessor dense = false;\n\n /**\n * Unread row state.\n */\n @property({ type: Boolean })\n accessor unread = false;\n\n /**\n * locked: Boolean indicating whether the row is locked.\n * If a row is selected before it is locked, it remains selected even after being locked.\n * A row can be selected and disabled/locked simultaneously.\n */\n @property({ type: Boolean, reflect: true })\n accessor locked = false;\n\n /**\n * expandable: Boolean indicating whether the row is expandable.\n */\n @property({ type: Boolean, reflect: true })\n accessor expandable = false;\n\n /**\n * expanded: Boolean indicating whether the row is expanded.\n */\n @property({ type: Boolean, reflect: true })\n accessor expanded = false;\n\n /**\n * disabled: Boolean indicating whether the row is disabled.\n * A disabled row is not allowed to have any user interactions.\n * A row can be selected and disabled/locked simultaneously.\n */\n @property({ type: Boolean, reflect: true })\n accessor disabled = false;\n\n /**\n * preventHighlight: Boolean indicating whether the row should not be highlighted.\n */\n @property({ type: Boolean, reflect: true })\n accessor preventHighlight = false;\n\n /**\n * dimmed: Boolean indicating whether the row is dimmed.\n * A row should not be selected and dimmed simultaneously.\n */\n @property({ type: Boolean, reflect: true })\n accessor dimmed = false;\n\n /** Text string customization. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n /**\n * @ignore\n */\n @queryAssignedElements()\n accessor unnamedSlotEls!: Array<HTMLElement>;\n\n /**\n * Context consumer for the table context.\n * Updates the cell's dense properties when the context changes.\n * @private\n * @ignore\n * @type {ContextConsumer<TableContextType, TableHeader>}\n */\n @state()\n // @ts-expect-error - This is a context consumer\n private accessor _contextConsumer = new ContextConsumer(\n this,\n tableContext,\n (context) => {\n if (context) this.handleContextChange(context);\n },\n true\n );\n\n /**\n * Assistive text for screen readers.\n * @ignore\n */\n @state()\n accessor assistiveText = '';\n\n /**\n * Updates the cell's dense and ellipsis properties when the context changes.\n * @param {TableContextType} context - The updated context.\n */\n handleContextChange = ({ checkboxSelection }: TableContextType) => {\n if (typeof checkboxSelection == 'boolean') {\n this.checkboxSelection = checkboxSelection;\n }\n };\n\n /**\n * Handles the change of selection state for a specific row.\n */\n handleRowSelectionChange(event: CustomEvent) {\n this.selected = event.detail.checked;\n // Emit the custom event with the selected row and its new state\n this.dispatchEvent(\n new CustomEvent('on-row-select', {\n detail: event.detail,\n bubbles: true,\n composed: true,\n })\n );\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n }\n\n override updated(changedProperties: PropertyValues) {\n // Reflect the expanded state to the next sibling expanded row\n if (changedProperties.has('expanded')) {\n const { expanded, nextElementSibling } = this;\n if (nextElementSibling?.matches('kyn-expanded-tr')) {\n (nextElementSibling as TableExpandedRow).expanded = expanded;\n }\n }\n\n // Reflect the disabled state to the tabindex attribute\n if (changedProperties.has('disabled')) {\n this['aria-disabled'] = this.disabled.toString();\n\n if (this.disabled) {\n this.setAttribute('tabindex', '-1');\n } else {\n this.removeAttribute('tabindex');\n }\n\n this.unnamedSlotEls.forEach((el) => {\n (el as TableCell).disabled = this.disabled;\n });\n }\n\n // A row can be selected and disabled/locked simultaneously.\n // However, a row should not be both selected and dimmed at the same time.\n if (changedProperties.has('dimmed') || changedProperties.has('selected')) {\n this.unnamedSlotEls.forEach((el) => {\n (el as TableCell).dimmed = this.dimmed && !this.selected;\n });\n }\n }\n\n _handleUserInitiatedToggleExpando(expanded = !this.expanded) {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n expanded,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent('table-row-expando-beingtoggled', init)\n )\n ) {\n this.expanded = expanded;\n this.assistiveText = expanded\n ? this._textStrings.expanded\n : this._textStrings.collapsed;\n this.dispatchEvent(new CustomEvent('table-row-expando-toggled', init));\n }\n }\n\n private _handleExpanding() {\n this._handleUserInitiatedToggleExpando();\n }\n\n override render() {\n return html`\n ${this.expandable\n ? html`\n <kyn-td .align=${'center'} ?dense=${this.dense}>\n <div class=\"kyn--table-expand\">\n <button\n class=\"kyn--table-expand__button\"\n type=\"button\"\n ?disabled=${this.disabled}\n title=${this.expanded\n ? this._textStrings.expanded\n : this._textStrings.collapsed}\n aria-label=${this.expanded\n ? this._textStrings.expanded\n : this._textStrings.collapsed}\n @click=${this._handleExpanding}\n >\n <span slot=\"icon\">${unsafeSVG(chevronDownIcon)}</span>\n </button>\n </div>\n\n <div\n class=\"assistive-text\"\n role=\"status\"\n aria-live=\"assertive\"\n aria-relevant=\"additions text\"\n >\n ${this.assistiveText}\n </div>\n </kyn-td>\n `\n : null}\n ${this.checkboxSelection\n ? html`\n <kyn-td .align=${'center'} ?dense=${this.dense}>\n <kyn-checkbox\n ?disabled=${this.disabled || this.locked}\n .checked=${this.selected}\n visiblyHidden\n @on-checkbox-change=${this.handleRowSelectionChange}\n >\n ${this.selected ? 'Deselect' : 'Select'} Row ${this.rowId}\n </kyn-checkbox>\n </kyn-td>\n `\n : null}\n <slot></slot>\n `;\n }\n}\n\n// Define the custom element in the global namespace\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-tr': TableRow;\n }\n}\n"],"names":["_defaultTextStrings","expanded","collapsed","TableRow","customElement","LitElement","_classThis","_classSuper","_TableRow_role_accessor_storage","set","this","__runInitializers","_role_initializers","_TableRow__a_accessor_storage","_role_extraInitializers","_member_initializers","_TableRow_rowId_accessor_storage","_member_extraInitializers","_rowId_initializers","_TableRow_selected_accessor_storage","_rowId_extraInitializers","_selected_initializers","_TableRow_checkboxSelection_accessor_storage","_selected_extraInitializers","_checkboxSelection_initializers","_TableRow_dense_accessor_storage","_checkboxSelection_extraInitializers","_dense_initializers","_TableRow_unread_accessor_storage","_dense_extraInitializers","_unread_initializers","_TableRow_locked_accessor_storage","_unread_extraInitializers","_locked_initializers","_TableRow_expandable_accessor_storage","_locked_extraInitializers","_expandable_initializers","_TableRow_expanded_accessor_storage","_expandable_extraInitializers","_expanded_initializers","_TableRow_disabled_accessor_storage","_expanded_extraInitializers","_disabled_initializers","_TableRow_preventHighlight_accessor_storage","_disabled_extraInitializers","_preventHighlight_initializers","_TableRow_dimmed_accessor_storage","_preventHighlight_extraInitializers","_dimmed_initializers","_TableRow_textStrings_accessor_storage","_dimmed_extraInitializers","_textStrings_initializers","_TableRow__textStrings_accessor_storage","_textStrings_extraInitializers","__textStrings_initializers","_TableRow_unnamedSlotEls_accessor_storage","__textStrings_extraInitializers","_unnamedSlotEls_initializers","_TableRow__contextConsumer_accessor_storage","_unnamedSlotEls_extraInitializers","__contextConsumer_initializers","ContextConsumer","tableContext","context","handleContextChange","_TableRow_assistiveText_accessor_storage","__contextConsumer_extraInitializers","_assistiveText_initializers","checkboxSelection","role","__classPrivateFieldGet","value","__classPrivateFieldSet","rowId","selected","dense","unread","locked","expandable","disabled","preventHighlight","dimmed","textStrings","_textStrings","unnamedSlotEls","_contextConsumer","assistiveText","handleRowSelectionChange","event","detail","checked","dispatchEvent","CustomEvent","bubbles","composed","willUpdate","changedProps","has","deepmerge","updated","changedProperties","nextElementSibling","matches","toString","setAttribute","removeAttribute","forEach","el","_handleUserInitiatedToggleExpando","init","cancelable","_handleExpanding","render","html","unsafeSVG","chevronDownIcon","property","type","String","reflect","Boolean","_dense_decorators","_unread_decorators","_textStrings_decorators","Object","__textStrings_decorators","state","_unnamedSlotEls_decorators","queryAssignedElements","__contextConsumer_decorators","_assistiveText_decorators","__esDecorate","_role_decorators","kind","name","static","private","access","obj","get","metadata","_metadata","_member_decorators","_rowId_decorators","_selected_decorators","_checkboxSelection_decorators","_locked_decorators","_expandable_decorators","_expanded_decorators","_disabled_decorators","_preventHighlight_decorators","_dimmed_decorators","_assistiveText_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, PropertyValues } from 'lit';
2
2
  import { TableRow } from './table-row';
3
3
  /**
4
4
  * `kyn-table` Web Component.
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/table/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAKlD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC;;;;;;GAMG;AAEH,qBACa,KAAM,SAAQ,UAAU;IACnC,OAAgB,MAAM,0BAAqB;IAE3C;;OAEG;IACH,SACkB,IAAI,SAAW;IAEjC;;;;;OAKG;IAEH,QAAQ,CAAC,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;IAEhD;;;;;OAKG;IAEH,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAEtC;;;;;OAKG;IAEH,QAAQ,CAAC,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;IAE3C;;;;;OAKG;IAEH,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IAEpC;;;;;;;SAOK;IAEL,QAAQ,CAAC,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IAE1C;;;;OAIG;IAEH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2C;IAErE;;OAEG;IACM,OAAO,CAAC,iBAAiB,EAAE,cAAc;IAkBlD;;;;OAIG;IAEH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+B;IAE/D;;;;OAIG;IAEH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAE3C;;;;OAIG;IAEH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkB;IAEhD;;;;OAIG;IAEH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAE1D;;;;;OAKG;IAEH,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAS;IAEtD;;;;;OAKG;IAEH,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAEhD;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAgCjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmC3B;;;;;OAKG;IACI,0BAA0B;IAWjC;;;;OAIG;IACI,eAAe;IAItB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,sBAAsB;IAmBrB,iBAAiB;IAiBjB,oBAAoB;IAiBpB,YAAY;IAIZ,MAAM;CAGhB;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,KAAK,CAAC;KACpB;CACF"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/table/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,cAAc,EAAa,MAAM,KAAK,CAAC;AAKlE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC;;;;;;GAMG;AAEH,qBACa,KAAM,SAAQ,UAAU;IACnC,OAAgB,MAAM,0BAAqB;IAE3C;;OAEG;IACH,SACkB,IAAI,SAAW;IAEjC;;;;;OAKG;IAEH,QAAQ,CAAC,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;IAEhD;;;;;OAKG;IAEH,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAEtC;;;;;OAKG;IAEH,QAAQ,CAAC,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;IAE3C;;;;;OAKG;IAEH,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IAEpC;;;;;;;SAOK;IAEL,QAAQ,CAAC,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IAE1C;;;;OAIG;IAEH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2C;IAErE;;OAEG;IACM,OAAO,CAAC,iBAAiB,EAAE,cAAc;IAkBlD;;;;OAIG;IAEH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+B;IAE/D;;;;OAIG;IAEH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAE3C;;;;OAIG;IAEH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkB;IAEhD;;;;OAIG;IAEH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAE1D;;;;;OAKG;IAEH,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAS;IAEtD;;;;;OAKG;IAEH,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAEhD;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAgCjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmC3B;;;;;OAKG;IACI,0BAA0B;IAWjC;;;;OAIG;IACI,eAAe;IAItB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,sBAAsB;IAmBrB,iBAAiB;IAiBjB,oBAAoB;IAiBpB,YAAY;IAIZ,MAAM;CAGhB;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,KAAK,CAAC;KACpB;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kyndryl-design-system/shidoka-applications",
3
- "version": "2.47.4",
3
+ "version": "2.47.5",
4
4
  "description": "Shidoka Web Components for Applications",
5
5
  "license": "MIT",
6
6
  "main": "index.js",
@@ -1 +1 @@
1
- {"version":3,"file":"table-CCYJ3J_m.js","sources":["../src/components/reusable/table/table.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { ContextProvider } from '@lit/context';\nimport { tableContext } from './table-context';\n\nimport { TableRow } from './table-row';\nimport { TableHeaderRow } from './table-header-row';\n\nimport styles from './table.scss?inline';\n\n/**\n * `kyn-table` Web Component.\n * This component provides a table with sorting, pagination, and selection capabilities.\n * It is designed to be used with the `kyn-table-toolbar` and `kyn-table-container` components.\n * @fires on-row-selection-change - Dispatched when the selection state of a row is toggled.\n * @fires on-all-rows-selection-change - Dispatched when the selection state of all rows is toggled.\n */\n\n@customElement('kyn-table')\nexport class Table extends LitElement {\n static override styles = unsafeCSS(styles);\n\n /** aria role.\n * @internal\n */\n @property({ type: String, reflect: true })\n override accessor role = 'table';\n\n /**\n * checkboxSelection: Boolean indicating whether rows should be\n * selectable using checkboxes.\n * @type {boolean}\n * @default false\n */\n @property({ type: Boolean })\n accessor checkboxSelection: boolean | undefined;\n\n /**\n * striped: Boolean indicating whether rows should have alternate\n * coloring.\n * @type {boolean}\n * @default false\n */\n @property({ type: Boolean })\n accessor striped: boolean | undefined;\n\n /**\n * stickyHeader: Boolean indicating whether the table header should be sticky.\n * Must also set a height or max-height on kyn-table-container.\n * @type {boolean}\n * @default false\n */\n @property({ type: Boolean })\n accessor stickyHeader: boolean | undefined;\n\n /**\n * dense: Boolean indicating whether the table should be displayed\n * in dense mode.\n * @type {boolean}\n * @default false\n */\n @property({ type: Boolean })\n accessor dense: boolean | undefined;\n\n /**\n * fixedLayout: Boolean indicating whether the table should have a fixed layout.\n * This will set the table's layout to fixed, which means the table and column widths\n * will be determined by the width of the columns and not by the content of the cells.\n * This can be useful when you want to have a consistent column width across multiple tables.\n * @type {boolean}\n * @default false\n * */\n @property({ type: Boolean })\n accessor fixedLayout: boolean | undefined;\n\n /**\n * _provider: Context provider for the table.\n * @ignore\n * @private\n */\n @state()\n private accessor _provider = new ContextProvider(this, tableContext);\n\n /**\n * updated: Lifecycle method called when the element is updated.\n */\n override updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n\n // Create an object to hold the new values\n const newValues: Partial<any> = {};\n\n // Check each property in _propsToCheck and add it to newValues if it has really changed\n if (changedProperties.has('dense')) newValues.dense = this.dense;\n if (changedProperties.has('striped')) newValues.striped = this.striped;\n if (changedProperties.has('checkboxSelection'))\n newValues.checkboxSelection = this.checkboxSelection;\n if (changedProperties.has('stickyHeader'))\n newValues.stickyHeader = this.stickyHeader;\n\n // Update the context provider with the new values\n this._provider.setValue(newValues);\n }\n\n /**\n * tableHeaderRow: Reference to the header row of the table.\n * @ignore\n * @private\n */\n @state()\n private accessor _tableHeaderRow: TableHeaderRow | null = null;\n\n /**\n * allRows: Array of objects representing each row in the data table.\n * @ignore\n * @private\n */\n @state()\n private accessor _allRows: TableRow[] = [];\n\n /**\n * selectedRows: Set of row ids that are currently selected.\n * @ignore\n * @private\n */\n @state()\n private accessor _selectedRows: TableRow[] = [];\n\n /**\n * selectedRowIds: Set of row ids that are currently selected.\n * @ignore\n * @private\n */\n @state()\n private accessor _selectedRowIds: Set<string> = new Set();\n\n /**\n * headerCheckboxIndeterminate: Boolean indicating whether the header\n * checkbox is in an indeterminate state.\n * @ignore\n * @private\n */\n @state()\n private accessor _headerCheckboxIndeterminate = false;\n\n /**\n * headerCheckboxChecked: Boolean indicating whether the header checkbox is\n * checked.\n * @ignore\n * @private\n */\n @state()\n private accessor _headerCheckboxChecked = false;\n\n /**\n * Updates the state of the header checkbox based on the number of\n * selected rows.\n * @private\n */\n private _updateHeaderCheckbox() {\n if (this._selectedRows.length === 0 || this._allRows.length === 0) {\n this._headerCheckboxIndeterminate = false;\n this._headerCheckboxChecked = false;\n } else if (this._selectedRows.length === this._allRows.length) {\n this._headerCheckboxIndeterminate = false;\n this._headerCheckboxChecked = true;\n } else {\n this._headerCheckboxIndeterminate = true;\n this._headerCheckboxChecked = false;\n }\n\n this._tableHeaderRow?.updateHeaderCheckboxState(\n this._headerCheckboxIndeterminate,\n this._headerCheckboxChecked\n );\n }\n\n /**\n * Handles the change of selection state for a specific row.\n */\n private _handleRowSelectionChange(event: CustomEvent) {\n event.stopPropagation();\n\n const { target } = event;\n const { _selectedRows: selectedRows } = this;\n\n if (!this.contains(target as TableRow)) {\n return;\n }\n\n if (selectedRows.includes(target as TableRow)) {\n this._selectedRows = selectedRows.filter((e) => e !== target);\n this._selectedRowIds.delete((target as TableRow).rowId);\n } else {\n this._selectedRows.push(target as TableRow);\n this._selectedRowIds.add((target as TableRow).rowId);\n }\n\n this._updateHeaderCheckbox();\n\n const init = {\n bubbles: false,\n cancelable: true,\n composed: true,\n detail: {\n selectedRow: target,\n selectedRows: this._selectedRows,\n },\n };\n this.dispatchEvent(new CustomEvent('on-row-selection-change', init));\n }\n\n /**\n * Toggles the selection state of all rows in the table.\n */\n private _toggleSelectionAll(event: CustomEvent) {\n event.stopPropagation();\n\n const {\n detail: { checked },\n target,\n } = event;\n const { _allRows: allRows } = this;\n\n if (!this.contains(target as TableRow)) {\n return;\n }\n\n allRows.forEach((row) => {\n if ((row as TableRow).disabled) return;\n\n (row as TableRow).selected = checked;\n });\n\n this._selectedRows = [...allRows.filter((row) => row.selected)];\n this._selectedRowIds = new Set(this._selectedRows.map((row) => row.rowId));\n\n this._updateHeaderCheckbox();\n\n const init = {\n bubbles: false,\n cancelable: true,\n composed: true,\n detail: {\n selectedRows: this._selectedRows,\n },\n };\n this.dispatchEvent(new CustomEvent('on-all-rows-selection-change', init));\n }\n\n /**\n * Resets the selection state of all rows in the table.\n * This method is called when the table is reset or cleared.\n * @public\n * @returns void\n */\n public updateAfterExternalChanges() {\n // Re-query the DOM to update the _allRows based on current children elements\n this._allRows = Array.from(this.querySelectorAll('kyn-tr'));\n\n // Update _selectedRows based on whether the row elements are marked as selected\n this._selectedRows = this._allRows.filter((row) => row.selected);\n\n this._updateHeaderCheckbox();\n this.requestUpdate();\n }\n\n /**\n * Returns the selected rows in the table.\n * @returns Array of selected rows.\n * @public\n */\n public getSelectedRows() {\n return this._selectedRows;\n }\n\n /**\n * Handles the change of rows in the table body.\n * @param {CustomEvent} event - The custom event containing the updated rows.\n * @private\n */\n private _handleRowsChange(event: CustomEvent) {\n const {\n detail: { rows },\n } = event;\n event.stopPropagation();\n\n this._allRows = rows;\n this._updateSelectionStates();\n this._updateHeaderCheckbox();\n }\n\n private _updateSelectionStates() {\n // Temporary array to hold updated selected rows\n const updatedSelectedRows: TableRow[] = [];\n\n // Loop through all rows to update their selected state and rebuild the selectedRows array\n this._allRows.forEach((row) => {\n if (this._selectedRowIds.has(row.rowId)) {\n row.selected = true; // Update the selected property if the rowId matches\n updatedSelectedRows.push(row); // Add the actual row element to the updated selected rows array\n } else if (row.selected) {\n this._selectedRowIds.add(row.rowId); // Add the rowId to the selectedRowIds set\n updatedSelectedRows.push(row); // Add the actual row element to the updated selected rows array\n }\n });\n\n // Replace the old selectedRows with the updated selected rows\n this._selectedRows = updatedSelectedRows;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener(\n 'on-header-checkbox-toggle',\n this._toggleSelectionAll as EventListener\n );\n this.addEventListener(\n 'on-row-select',\n this._handleRowSelectionChange as EventListener\n );\n this.addEventListener(\n 'on-rows-change',\n this._handleRowsChange as EventListener\n );\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n\n this.removeEventListener(\n 'on-header-checkbox-toggle',\n this._toggleSelectionAll as EventListener\n );\n this.removeEventListener(\n 'on-row-select',\n this._handleRowSelectionChange as EventListener\n );\n this.removeEventListener(\n 'on-rows-change',\n this._handleRowsChange as EventListener\n );\n }\n\n override firstUpdated() {\n this._tableHeaderRow = this.querySelector('kyn-header-tr');\n }\n\n override render() {\n return html` <slot></slot> `;\n }\n}\n\n// Define the custom element in the global namespace\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-table': Table;\n }\n}\n"],"names":["Table","customElement","LitElement","_classThis","_classSuper","role","__classPrivateFieldGet","this","_Table_role_accessor_storage","value","__classPrivateFieldSet","checkboxSelection","_Table_checkboxSelection_accessor_storage","striped","_Table_striped_accessor_storage","stickyHeader","_Table_stickyHeader_accessor_storage","dense","_Table_dense_accessor_storage","fixedLayout","_Table_fixedLayout_accessor_storage","_provider","_Table__provider_accessor_storage","updated","changedProperties","super","newValues","has","setValue","_tableHeaderRow","_Table__tableHeaderRow_accessor_storage","_allRows","_Table__allRows_accessor_storage","_selectedRows","_Table__selectedRows_accessor_storage","_selectedRowIds","_Table__selectedRowIds_accessor_storage","_headerCheckboxIndeterminate","_Table__headerCheckboxIndeterminate_accessor_storage","_headerCheckboxChecked","_Table__headerCheckboxChecked_accessor_storage","_updateHeaderCheckbox","length","_a","updateHeaderCheckboxState","_handleRowSelectionChange","event","stopPropagation","target","selectedRows","contains","includes","filter","e","delete","rowId","push","add","init","bubbles","cancelable","composed","detail","selectedRow","dispatchEvent","CustomEvent","_toggleSelectionAll","checked","allRows","forEach","row","disabled","selected","Set","map","updateAfterExternalChanges","Array","from","querySelectorAll","requestUpdate","getSelectedRows","_handleRowsChange","rows","_updateSelectionStates","updatedSelectedRows","connectedCallback","addEventListener","disconnectedCallback","removeEventListener","firstUpdated","querySelector","render","html","set","__runInitializers","_role_initializers","_role_extraInitializers","_checkboxSelection_initializers","_checkboxSelection_extraInitializers","_striped_initializers","_striped_extraInitializers","_stickyHeader_initializers","_stickyHeader_extraInitializers","_dense_initializers","_dense_extraInitializers","_fixedLayout_initializers","_fixedLayout_extraInitializers","__provider_initializers","ContextProvider","tableContext","__provider_extraInitializers","__tableHeaderRow_initializers","__tableHeaderRow_extraInitializers","__allRows_initializers","__allRows_extraInitializers","__selectedRows_initializers","__selectedRows_extraInitializers","__selectedRowIds_initializers","__selectedRowIds_extraInitializers","__headerCheckboxIndeterminate_initializers","__headerCheckboxIndeterminate_extraInitializers","__headerCheckboxChecked_initializers","property","type","String","reflect","_checkboxSelection_decorators","Boolean","_striped_decorators","_stickyHeader_decorators","_dense_decorators","_fixedLayout_decorators","__provider_decorators","state","__tableHeaderRow_decorators","__allRows_decorators","__selectedRows_decorators","__selectedRowIds_decorators","__headerCheckboxIndeterminate_decorators","__headerCheckboxChecked_decorators","__esDecorate","_role_decorators","kind","name","static","private","access","obj","get","metadata","_metadata","__headerCheckboxChecked_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;OAmBaA,EAAK,yEADjBC,EAAc,qBACYC,4JAARC,EAAA,cAAQC,EAOzB,QAAkBC,GAAI,OAAAC,EAAAC,KAAAC,EAAA,IAAA,CAAtB,QAAkBH,CAAII,GAAAC,EAAAH,KAAAC,EAAAC,EAAA,IAAA,CAStB,qBAASE,GAAiB,OAAAL,EAAAC,KAAAK,EAAA,IAAA,CAA1B,qBAASD,CAAiBF,GAAAC,EAAAH,KAAAK,EAAAH,EAAA,IAAA,CAS1B,WAASI,GAAO,OAAAP,EAAAC,KAAAO,EAAA,IAAA,CAAhB,WAASD,CAAOJ,GAAAC,EAAAH,KAAAO,EAAAL,EAAA,IAAA,CAShB,gBAASM,GAAY,OAAAT,EAAAC,KAAAS,EAAA,IAAA,CAArB,gBAASD,CAAYN,GAAAC,EAAAH,KAAAS,EAAAP,EAAA,IAAA,CASrB,SAASQ,GAAK,OAAAX,EAAAC,KAAAW,EAAA,IAAA,CAAd,SAASD,CAAKR,GAAAC,EAAAH,KAAAW,EAAAT,EAAA,IAAA,CAWd,eAASU,GAAW,OAAAb,EAAAC,KAAAa,EAAA,IAAA,CAApB,eAASD,CAAWV,GAAAC,EAAAH,KAAAa,EAAAX,EAAA,IAAA,CAQpB,aAAiBY,GAAS,OAAAf,EAAAC,KAAAe,EAAA,IAAA,CAA1B,aAAiBD,CAASZ,GAAAC,EAAAH,KAAAe,EAAAb,EAAA,IAAA,CAKjB,OAAAc,CAAQC,GACfC,MAAMF,QAAQC,GAGd,MAAME,EAA0B,CAAA,EAG5BF,EAAkBG,IAAI,WAAUD,EAAUT,MAAQV,KAAKU,OACvDO,EAAkBG,IAAI,aAAYD,EAAUb,QAAUN,KAAKM,SAC3DW,EAAkBG,IAAI,uBACxBD,EAAUf,kBAAoBJ,KAAKI,mBACjCa,EAAkBG,IAAI,kBACxBD,EAAUX,aAAeR,KAAKQ,cAGhCR,KAAKc,UAAUO,SAASF,GAS1B,mBAAiBG,GAAe,OAAAvB,EAAAC,KAAAuB,EAAA,IAAA,CAAhC,mBAAiBD,CAAepB,GAAAC,EAAAH,KAAAuB,EAAArB,EAAA,IAAA,CAQhC,YAAiBsB,GAAQ,OAAAzB,EAAAC,KAAAyB,EAAA,IAAA,CAAzB,YAAiBD,CAAQtB,GAAAC,EAAAH,KAAAyB,EAAAvB,EAAA,IAAA,CAQzB,iBAAiBwB,GAAa,OAAA3B,EAAAC,KAAA2B,EAAA,IAAA,CAA9B,iBAAiBD,CAAaxB,GAAAC,EAAAH,KAAA2B,EAAAzB,EAAA,IAAA,CAQ9B,mBAAiB0B,GAAe,OAAA7B,EAAAC,KAAA6B,EAAA,IAAA,CAAhC,mBAAiBD,CAAe1B,GAAAC,EAAAH,KAAA6B,EAAA3B,EAAA,IAAA,CAShC,gCAAiB4B,GAA4B,OAAA/B,EAAAC,KAAA+B,EAAA,IAAA,CAA7C,gCAAiBD,CAA4B5B,GAAAC,EAAAH,KAAA+B,EAAA7B,EAAA,IAAA,CAS7C,0BAAiB8B,GAAsB,OAAAjC,EAAAC,KAAAiC,EAAA,IAAA,CAAvC,0BAAiBD,CAAsB9B,GAAAC,EAAAH,KAAAiC,EAAA/B,EAAA,IAAA,CAO/B,qBAAAgC,SAC4B,IAA9BlC,KAAK0B,cAAcS,QAAyC,IAAzBnC,KAAKwB,SAASW,QACnDnC,KAAK8B,8BAA+B,EACpC9B,KAAKgC,wBAAyB,GACrBhC,KAAK0B,cAAcS,SAAWnC,KAAKwB,SAASW,QACrDnC,KAAK8B,8BAA+B,EACpC9B,KAAKgC,wBAAyB,IAE9BhC,KAAK8B,8BAA+B,EACpC9B,KAAKgC,wBAAyB,GAGZ,QAApBI,EAAApC,KAAKsB,uBAAe,IAAAc,GAAAA,EAAEC,0BACpBrC,KAAK8B,6BACL9B,KAAKgC,wBAOD,yBAAAM,CAA0BC,GAChCA,EAAMC,kBAEN,MAAMC,OAAEA,GAAWF,GACXb,cAAegB,GAAiB1C,KAExC,IAAKA,KAAK2C,SAASF,GACjB,OAGEC,EAAaE,SAASH,IACxBzC,KAAK0B,cAAgBgB,EAAaG,QAAQC,GAAMA,IAAML,IACtDzC,KAAK4B,gBAAgBmB,OAAQN,EAAoBO,SAEjDhD,KAAK0B,cAAcuB,KAAKR,GACxBzC,KAAK4B,gBAAgBsB,IAAKT,EAAoBO,QAGhDhD,KAAKkC,wBAEL,MAAMiB,EAAO,CACXC,SAAS,EACTC,YAAY,EACZC,UAAU,EACVC,OAAQ,CACNC,YAAaf,EACbC,aAAc1C,KAAK0B,gBAGvB1B,KAAKyD,cAAc,IAAIC,YAAY,0BAA2BP,IAMxD,mBAAAQ,CAAoBpB,GAC1BA,EAAMC,kBAEN,MACEe,QAAQK,QAAEA,GAASnB,OACnBA,GACEF,GACIf,SAAUqC,GAAY7D,KAE9B,IAAKA,KAAK2C,SAASF,GACjB,OAGFoB,EAAQC,SAASC,IACVA,EAAiBC,WAErBD,EAAiBE,SAAWL,EAAO,IAGtC5D,KAAK0B,cAAgB,IAAImC,EAAQhB,QAAQkB,GAAQA,EAAIE,YACrDjE,KAAK4B,gBAAkB,IAAIsC,IAAIlE,KAAK0B,cAAcyC,KAAKJ,GAAQA,EAAIf,SAEnEhD,KAAKkC,wBAEL,MAAMiB,EAAO,CACXC,SAAS,EACTC,YAAY,EACZC,UAAU,EACVC,OAAQ,CACNb,aAAc1C,KAAK0B,gBAGvB1B,KAAKyD,cAAc,IAAIC,YAAY,+BAAgCP,IAS9D,0BAAAiB,GAELpE,KAAKwB,SAAW6C,MAAMC,KAAKtE,KAAKuE,iBAAiB,WAGjDvE,KAAK0B,cAAgB1B,KAAKwB,SAASqB,QAAQkB,GAAQA,EAAIE,WAEvDjE,KAAKkC,wBACLlC,KAAKwE,gBAQA,eAAAC,GACL,OAAOzE,KAAK0B,cAQN,iBAAAgD,CAAkBnC,GACxB,MACEgB,QAAQoB,KAAEA,IACRpC,EACJA,EAAMC,kBAENxC,KAAKwB,SAAWmD,EAChB3E,KAAK4E,yBACL5E,KAAKkC,wBAGC,sBAAA0C,GAEN,MAAMC,EAAkC,GAGxC7E,KAAKwB,SAASsC,SAASC,IACjB/D,KAAK4B,gBAAgBR,IAAI2C,EAAIf,QAC/Be,EAAIE,UAAW,EACfY,EAAoB5B,KAAKc,IAChBA,EAAIE,WACbjE,KAAK4B,gBAAgBsB,IAAIa,EAAIf,OAC7B6B,EAAoB5B,KAAKc,OAK7B/D,KAAK0B,cAAgBmD,EAGd,iBAAAC,GACP5D,MAAM4D,oBAEN9E,KAAK+E,iBACH,4BACA/E,KAAK2D,qBAEP3D,KAAK+E,iBACH,gBACA/E,KAAKsC,2BAEPtC,KAAK+E,iBACH,iBACA/E,KAAK0E,mBAIA,oBAAAM,GACP9D,MAAM8D,uBAENhF,KAAKiF,oBACH,4BACAjF,KAAK2D,qBAEP3D,KAAKiF,oBACH,gBACAjF,KAAKsC,2BAEPtC,KAAKiF,oBACH,iBACAjF,KAAK0E,mBAIA,YAAAQ,GACPlF,KAAKsB,gBAAkBtB,KAAKmF,cAAc,iBAGnC,MAAAC,GACP,OAAOC,CAAI,oDApUKpF,EAAAqF,IAAAtF,KAAAuF,EAAAvF,KAAAwF,EAAO,UAShBnF,EAAAiF,IAAAtF,MAAAuF,EAAAvF,KAAAyF,GAAAF,EAAAvF,KAAA0F,OAAA,KASAnF,EAAA+E,IAAAtF,MAAAuF,EAAAvF,KAAA2F,GAAAJ,EAAAvF,KAAA4F,OAAA,KASAnF,EAAA6E,IAAAtF,MAAAuF,EAAAvF,KAAA6F,GAAAN,EAAAvF,KAAA8F,OAAA,KASAnF,EAAA2E,IAAAtF,MAAAuF,EAAAvF,KAAA+F,GAAAR,EAAAvF,KAAAgG,OAAA,KAWAnF,EAAAyE,IAAAtF,MAAAuF,EAAAvF,KAAAiG,IAAAV,EAAAvF,KAAAkG,QAAA,KAQQnF,EAAAuE,IAAAtF,MAAAuF,EAAAvF,KAAAmG,IAAAZ,EAAAvF,KAAAoG,GAAY,IAAIC,EAAgBrG,KAAMsG,MA6BtC/E,EAAA+D,IAAAtF,MAAAuF,EAAAvF,KAAAuG,IAAAhB,EAAAvF,KAAAwG,GAAyC,QAQzC/E,EAAA6D,IAAAtF,MAAAuF,EAAAvF,KAAAyG,IAAAlB,EAAAvF,KAAA0G,GAAuB,MAQvB/E,EAAA2D,IAAAtF,MAAAuF,EAAAvF,KAAA2G,IAAApB,EAAAvF,KAAA4G,GAA4B,MAQ5B/E,EAAAyD,IAAAtF,MAAAuF,EAAAvF,KAAA6G,IAAAtB,EAAAvF,KAAA8G,GAA+B,IAAI5C,OASnCnC,EAAAuD,IAAAtF,MAAAuF,EAAAvF,KAAA+G,IAAAxB,EAAAvF,KAAAgH,IAA+B,KAS/B/E,EAAAqD,IAAAtF,MAAAuF,EAAAvF,KAAAiH,IAAA1B,EAAAvF,KAAAkH,IAAyB,8VA/HzCC,EAAS,CAAEC,KAAMC,OAAQC,SAAS,KASlCC,EAAA,CAAAJ,EAAS,CAAEC,KAAMI,WASjBC,EAAA,CAAAN,EAAS,CAAEC,KAAMI,WASjBE,EAAA,CAAAP,EAAS,CAAEC,KAAMI,WASjBG,EAAA,CAAAR,EAAS,CAAEC,KAAMI,WAWjBI,EAAA,CAAAT,EAAS,CAAEC,KAAMI,WAQjBK,EAAA,CAAAC,KA6BAC,EAAA,CAAAD,KAQAE,EAAA,CAAAF,KAQAG,EAAA,CAAAH,KAQAI,EAAA,CAAAJ,KASAK,EAAA,CAAAL,KASAM,EAAA,CAAAN,KA7HDO,EAAAzI,EAAA,KAAA0I,EAAA,CAAAC,KAAA,WAAAC,KAAA,OAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAvH,IAAAwH,GAAA,SAAAA,EAAAC,IAAAD,GAAAA,EAAkB9I,KAAIwF,IAAA,CAAAsD,EAAA1I,KAAA0I,EAAJ9I,KAAII,CAAA,GAAA4I,SAAAC,GAAAvD,EAAAC,GAStB4C,EAAAzI,EAAA,KAAA2H,EAAA,CAAAgB,KAAA,WAAAC,KAAA,oBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAvH,IAAAwH,GAAA,sBAAAA,EAAAC,IAAAD,GAAAA,EAASxI,kBAAiBkF,IAAA,CAAAsD,EAAA1I,KAAA0I,EAAjBxI,kBAAiBF,CAAA,GAAA4I,SAAAC,GAAArD,EAAAC,GAS1B0C,EAAAzI,EAAA,KAAA6H,EAAA,CAAAc,KAAA,WAAAC,KAAA,UAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAvH,IAAAwH,GAAA,YAAAA,EAAAC,IAAAD,GAAAA,EAAStI,QAAOgF,IAAA,CAAAsD,EAAA1I,KAAA0I,EAAPtI,QAAOJ,CAAA,GAAA4I,SAAAC,GAAAnD,EAAAC,GAShBwC,EAAAzI,EAAA,KAAA8H,EAAA,CAAAa,KAAA,WAAAC,KAAA,eAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAvH,IAAAwH,GAAA,iBAAAA,EAAAC,IAAAD,GAAAA,EAASpI,aAAY8E,IAAA,CAAAsD,EAAA1I,KAAA0I,EAAZpI,aAAYN,CAAA,GAAA4I,SAAAC,GAAAjD,EAAAC,GASrBsC,EAAAzI,EAAA,KAAA+H,EAAA,CAAAY,KAAA,WAAAC,KAAA,QAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAvH,IAAAwH,GAAA,UAAAA,EAAAC,IAAAD,GAAAA,EAASlI,MAAK4E,IAAA,CAAAsD,EAAA1I,KAAA0I,EAALlI,MAAKR,CAAA,GAAA4I,SAAAC,GAAA/C,EAAAC,IAWdoC,EAAAzI,EAAA,KAAAgI,EAAA,CAAAW,KAAA,WAAAC,KAAA,cAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAvH,IAAAwH,GAAA,gBAAAA,EAAAC,IAAAD,GAAAA,EAAShI,YAAW0E,IAAA,CAAAsD,EAAA1I,KAAA0I,EAAXhI,YAAWV,CAAA,GAAA4I,SAAAC,GAAA7C,GAAAC,IAQpBkC,EAAAzI,EAAA,KAAAiI,EAAA,CAAAU,KAAA,WAAAC,KAAA,YAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAvH,IAAAwH,GAAA,cAAAA,EAAAC,IAAAD,GAAAA,EAAiB9H,UAASwE,IAAA,CAAAsD,EAAA1I,KAAA0I,EAAT9H,UAASZ,CAAA,GAAA4I,SAAAC,GAAA3C,GAAAG,IA6B1B8B,EAAAzI,EAAA,KAAAmI,EAAA,CAAAQ,KAAA,WAAAC,KAAA,kBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAvH,IAAAwH,GAAA,oBAAAA,EAAAC,IAAAD,GAAAA,EAAiBtH,gBAAegE,IAAA,CAAAsD,EAAA1I,KAAA0I,EAAftH,gBAAepB,CAAA,GAAA4I,SAAAC,GAAAvC,GAAAC,IAQhC4B,EAAAzI,EAAA,KAAAoI,EAAA,CAAAO,KAAA,WAAAC,KAAA,WAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAvH,IAAAwH,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAAiBpH,SAAQ8D,IAAA,CAAAsD,EAAA1I,KAAA0I,EAARpH,SAAQtB,CAAA,GAAA4I,SAAAC,GAAArC,GAAAC,IAQzB0B,EAAAzI,EAAA,KAAAqI,EAAA,CAAAM,KAAA,WAAAC,KAAA,gBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAvH,IAAAwH,GAAA,kBAAAA,EAAAC,IAAAD,GAAAA,EAAiBlH,cAAa4D,IAAA,CAAAsD,EAAA1I,KAAA0I,EAAblH,cAAaxB,CAAA,GAAA4I,SAAAC,GAAAnC,GAAAC,IAQ9BwB,EAAAzI,EAAA,KAAAsI,EAAA,CAAAK,KAAA,WAAAC,KAAA,kBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAvH,IAAAwH,GAAA,oBAAAA,EAAAC,IAAAD,GAAAA,EAAiBhH,gBAAe0D,IAAA,CAAAsD,EAAA1I,KAAA0I,EAAfhH,gBAAe1B,CAAA,GAAA4I,SAAAC,GAAAjC,GAAAC,IAShCsB,EAAAzI,EAAA,KAAAuI,EAAA,CAAAI,KAAA,WAAAC,KAAA,+BAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAvH,IAAAwH,GAAA,iCAAAA,EAAAC,IAAAD,GAAAA,EAAiB9G,6BAA4BwD,IAAA,CAAAsD,EAAA1I,KAAA0I,EAA5B9G,6BAA4B5B,CAAA,GAAA4I,SAAAC,GAAA/B,GAAAC,IAS7CoB,EAAAzI,EAAA,KAAAwI,EAAA,CAAAG,KAAA,WAAAC,KAAA,yBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAvH,IAAAwH,GAAA,2BAAAA,EAAAC,IAAAD,GAAAA,EAAiB5G,uBAAsBsD,IAAA,CAAAsD,EAAA1I,KAAA0I,EAAtB5G,uBAAsB9B,CAAA,GAAA4I,SAAAC,GAAA7B,GAAA8B,IArIzCX,EAAA,KAAAY,EAAA,CAAA/I,MAAAN,GAAAsJ,EAAA,CAAAX,KAAA,QAAAC,KAAA5I,EAAA4I,KAAAM,SAAAC,GAAA,KAAAI,iHACkBvJ,EAAAwJ,OAASC,EAAUD,GADxB7D,EAAA3F,EAAAuJ,MAAK"}
1
+ {"version":3,"file":"table-CCYJ3J_m.js","sources":["../src/components/reusable/table/table.ts"],"sourcesContent":["import { LitElement, html, PropertyValues, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { ContextProvider } from '@lit/context';\nimport { tableContext } from './table-context';\n\nimport { TableRow } from './table-row';\nimport { TableHeaderRow } from './table-header-row';\n\nimport styles from './table.scss?inline';\n\n/**\n * `kyn-table` Web Component.\n * This component provides a table with sorting, pagination, and selection capabilities.\n * It is designed to be used with the `kyn-table-toolbar` and `kyn-table-container` components.\n * @fires on-row-selection-change - Dispatched when the selection state of a row is toggled.\n * @fires on-all-rows-selection-change - Dispatched when the selection state of all rows is toggled.\n */\n\n@customElement('kyn-table')\nexport class Table extends LitElement {\n static override styles = unsafeCSS(styles);\n\n /** aria role.\n * @internal\n */\n @property({ type: String, reflect: true })\n override accessor role = 'table';\n\n /**\n * checkboxSelection: Boolean indicating whether rows should be\n * selectable using checkboxes.\n * @type {boolean}\n * @default false\n */\n @property({ type: Boolean })\n accessor checkboxSelection: boolean | undefined;\n\n /**\n * striped: Boolean indicating whether rows should have alternate\n * coloring.\n * @type {boolean}\n * @default false\n */\n @property({ type: Boolean })\n accessor striped: boolean | undefined;\n\n /**\n * stickyHeader: Boolean indicating whether the table header should be sticky.\n * Must also set a height or max-height on kyn-table-container.\n * @type {boolean}\n * @default false\n */\n @property({ type: Boolean })\n accessor stickyHeader: boolean | undefined;\n\n /**\n * dense: Boolean indicating whether the table should be displayed\n * in dense mode.\n * @type {boolean}\n * @default false\n */\n @property({ type: Boolean })\n accessor dense: boolean | undefined;\n\n /**\n * fixedLayout: Boolean indicating whether the table should have a fixed layout.\n * This will set the table's layout to fixed, which means the table and column widths\n * will be determined by the width of the columns and not by the content of the cells.\n * This can be useful when you want to have a consistent column width across multiple tables.\n * @type {boolean}\n * @default false\n * */\n @property({ type: Boolean })\n accessor fixedLayout: boolean | undefined;\n\n /**\n * _provider: Context provider for the table.\n * @ignore\n * @private\n */\n @state()\n private accessor _provider = new ContextProvider(this, tableContext);\n\n /**\n * updated: Lifecycle method called when the element is updated.\n */\n override updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n\n // Create an object to hold the new values\n const newValues: Partial<any> = {};\n\n // Check each property in _propsToCheck and add it to newValues if it has really changed\n if (changedProperties.has('dense')) newValues.dense = this.dense;\n if (changedProperties.has('striped')) newValues.striped = this.striped;\n if (changedProperties.has('checkboxSelection'))\n newValues.checkboxSelection = this.checkboxSelection;\n if (changedProperties.has('stickyHeader'))\n newValues.stickyHeader = this.stickyHeader;\n\n // Update the context provider with the new values\n this._provider.setValue(newValues);\n }\n\n /**\n * tableHeaderRow: Reference to the header row of the table.\n * @ignore\n * @private\n */\n @state()\n private accessor _tableHeaderRow: TableHeaderRow | null = null;\n\n /**\n * allRows: Array of objects representing each row in the data table.\n * @ignore\n * @private\n */\n @state()\n private accessor _allRows: TableRow[] = [];\n\n /**\n * selectedRows: Set of row ids that are currently selected.\n * @ignore\n * @private\n */\n @state()\n private accessor _selectedRows: TableRow[] = [];\n\n /**\n * selectedRowIds: Set of row ids that are currently selected.\n * @ignore\n * @private\n */\n @state()\n private accessor _selectedRowIds: Set<string> = new Set();\n\n /**\n * headerCheckboxIndeterminate: Boolean indicating whether the header\n * checkbox is in an indeterminate state.\n * @ignore\n * @private\n */\n @state()\n private accessor _headerCheckboxIndeterminate = false;\n\n /**\n * headerCheckboxChecked: Boolean indicating whether the header checkbox is\n * checked.\n * @ignore\n * @private\n */\n @state()\n private accessor _headerCheckboxChecked = false;\n\n /**\n * Updates the state of the header checkbox based on the number of\n * selected rows.\n * @private\n */\n private _updateHeaderCheckbox() {\n if (this._selectedRows.length === 0 || this._allRows.length === 0) {\n this._headerCheckboxIndeterminate = false;\n this._headerCheckboxChecked = false;\n } else if (this._selectedRows.length === this._allRows.length) {\n this._headerCheckboxIndeterminate = false;\n this._headerCheckboxChecked = true;\n } else {\n this._headerCheckboxIndeterminate = true;\n this._headerCheckboxChecked = false;\n }\n\n this._tableHeaderRow?.updateHeaderCheckboxState(\n this._headerCheckboxIndeterminate,\n this._headerCheckboxChecked\n );\n }\n\n /**\n * Handles the change of selection state for a specific row.\n */\n private _handleRowSelectionChange(event: CustomEvent) {\n event.stopPropagation();\n\n const { target } = event;\n const { _selectedRows: selectedRows } = this;\n\n if (!this.contains(target as TableRow)) {\n return;\n }\n\n if (selectedRows.includes(target as TableRow)) {\n this._selectedRows = selectedRows.filter((e) => e !== target);\n this._selectedRowIds.delete((target as TableRow).rowId);\n } else {\n this._selectedRows.push(target as TableRow);\n this._selectedRowIds.add((target as TableRow).rowId);\n }\n\n this._updateHeaderCheckbox();\n\n const init = {\n bubbles: false,\n cancelable: true,\n composed: true,\n detail: {\n selectedRow: target,\n selectedRows: this._selectedRows,\n },\n };\n this.dispatchEvent(new CustomEvent('on-row-selection-change', init));\n }\n\n /**\n * Toggles the selection state of all rows in the table.\n */\n private _toggleSelectionAll(event: CustomEvent) {\n event.stopPropagation();\n\n const {\n detail: { checked },\n target,\n } = event;\n const { _allRows: allRows } = this;\n\n if (!this.contains(target as TableRow)) {\n return;\n }\n\n allRows.forEach((row) => {\n if ((row as TableRow).disabled) return;\n\n (row as TableRow).selected = checked;\n });\n\n this._selectedRows = [...allRows.filter((row) => row.selected)];\n this._selectedRowIds = new Set(this._selectedRows.map((row) => row.rowId));\n\n this._updateHeaderCheckbox();\n\n const init = {\n bubbles: false,\n cancelable: true,\n composed: true,\n detail: {\n selectedRows: this._selectedRows,\n },\n };\n this.dispatchEvent(new CustomEvent('on-all-rows-selection-change', init));\n }\n\n /**\n * Resets the selection state of all rows in the table.\n * This method is called when the table is reset or cleared.\n * @public\n * @returns void\n */\n public updateAfterExternalChanges() {\n // Re-query the DOM to update the _allRows based on current children elements\n this._allRows = Array.from(this.querySelectorAll('kyn-tr'));\n\n // Update _selectedRows based on whether the row elements are marked as selected\n this._selectedRows = this._allRows.filter((row) => row.selected);\n\n this._updateHeaderCheckbox();\n this.requestUpdate();\n }\n\n /**\n * Returns the selected rows in the table.\n * @returns Array of selected rows.\n * @public\n */\n public getSelectedRows() {\n return this._selectedRows;\n }\n\n /**\n * Handles the change of rows in the table body.\n * @param {CustomEvent} event - The custom event containing the updated rows.\n * @private\n */\n private _handleRowsChange(event: CustomEvent) {\n const {\n detail: { rows },\n } = event;\n event.stopPropagation();\n\n this._allRows = rows;\n this._updateSelectionStates();\n this._updateHeaderCheckbox();\n }\n\n private _updateSelectionStates() {\n // Temporary array to hold updated selected rows\n const updatedSelectedRows: TableRow[] = [];\n\n // Loop through all rows to update their selected state and rebuild the selectedRows array\n this._allRows.forEach((row) => {\n if (this._selectedRowIds.has(row.rowId)) {\n row.selected = true; // Update the selected property if the rowId matches\n updatedSelectedRows.push(row); // Add the actual row element to the updated selected rows array\n } else if (row.selected) {\n this._selectedRowIds.add(row.rowId); // Add the rowId to the selectedRowIds set\n updatedSelectedRows.push(row); // Add the actual row element to the updated selected rows array\n }\n });\n\n // Replace the old selectedRows with the updated selected rows\n this._selectedRows = updatedSelectedRows;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener(\n 'on-header-checkbox-toggle',\n this._toggleSelectionAll as EventListener\n );\n this.addEventListener(\n 'on-row-select',\n this._handleRowSelectionChange as EventListener\n );\n this.addEventListener(\n 'on-rows-change',\n this._handleRowsChange as EventListener\n );\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n\n this.removeEventListener(\n 'on-header-checkbox-toggle',\n this._toggleSelectionAll as EventListener\n );\n this.removeEventListener(\n 'on-row-select',\n this._handleRowSelectionChange as EventListener\n );\n this.removeEventListener(\n 'on-rows-change',\n this._handleRowsChange as EventListener\n );\n }\n\n override firstUpdated() {\n this._tableHeaderRow = this.querySelector('kyn-header-tr');\n }\n\n override render() {\n return html` <slot></slot> `;\n }\n}\n\n// Define the custom element in the global namespace\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-table': Table;\n }\n}\n"],"names":["Table","customElement","LitElement","_classThis","_classSuper","role","__classPrivateFieldGet","this","_Table_role_accessor_storage","value","__classPrivateFieldSet","checkboxSelection","_Table_checkboxSelection_accessor_storage","striped","_Table_striped_accessor_storage","stickyHeader","_Table_stickyHeader_accessor_storage","dense","_Table_dense_accessor_storage","fixedLayout","_Table_fixedLayout_accessor_storage","_provider","_Table__provider_accessor_storage","updated","changedProperties","super","newValues","has","setValue","_tableHeaderRow","_Table__tableHeaderRow_accessor_storage","_allRows","_Table__allRows_accessor_storage","_selectedRows","_Table__selectedRows_accessor_storage","_selectedRowIds","_Table__selectedRowIds_accessor_storage","_headerCheckboxIndeterminate","_Table__headerCheckboxIndeterminate_accessor_storage","_headerCheckboxChecked","_Table__headerCheckboxChecked_accessor_storage","_updateHeaderCheckbox","length","_a","updateHeaderCheckboxState","_handleRowSelectionChange","event","stopPropagation","target","selectedRows","contains","includes","filter","e","delete","rowId","push","add","init","bubbles","cancelable","composed","detail","selectedRow","dispatchEvent","CustomEvent","_toggleSelectionAll","checked","allRows","forEach","row","disabled","selected","Set","map","updateAfterExternalChanges","Array","from","querySelectorAll","requestUpdate","getSelectedRows","_handleRowsChange","rows","_updateSelectionStates","updatedSelectedRows","connectedCallback","addEventListener","disconnectedCallback","removeEventListener","firstUpdated","querySelector","render","html","set","__runInitializers","_role_initializers","_role_extraInitializers","_checkboxSelection_initializers","_checkboxSelection_extraInitializers","_striped_initializers","_striped_extraInitializers","_stickyHeader_initializers","_stickyHeader_extraInitializers","_dense_initializers","_dense_extraInitializers","_fixedLayout_initializers","_fixedLayout_extraInitializers","__provider_initializers","ContextProvider","tableContext","__provider_extraInitializers","__tableHeaderRow_initializers","__tableHeaderRow_extraInitializers","__allRows_initializers","__allRows_extraInitializers","__selectedRows_initializers","__selectedRows_extraInitializers","__selectedRowIds_initializers","__selectedRowIds_extraInitializers","__headerCheckboxIndeterminate_initializers","__headerCheckboxIndeterminate_extraInitializers","__headerCheckboxChecked_initializers","property","type","String","reflect","_checkboxSelection_decorators","Boolean","_striped_decorators","_stickyHeader_decorators","_dense_decorators","_fixedLayout_decorators","__provider_decorators","state","__tableHeaderRow_decorators","__allRows_decorators","__selectedRows_decorators","__selectedRowIds_decorators","__headerCheckboxIndeterminate_decorators","__headerCheckboxChecked_decorators","__esDecorate","_role_decorators","kind","name","static","private","access","obj","get","metadata","_metadata","__headerCheckboxChecked_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS"],"mappings":"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"}