@govtechsg/sgds-web-component 3.26.1-rc.2 → 3.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/components/Breadcrumb/index.umd.min.js +25 -25
  2. package/components/Breadcrumb/index.umd.min.js.map +1 -1
  3. package/components/Checkbox/index.umd.min.js +233 -233
  4. package/components/Checkbox/index.umd.min.js.map +1 -1
  5. package/components/Checkbox/sgds-checkbox.d.ts +0 -1
  6. package/components/Checkbox/sgds-checkbox.js +1 -6
  7. package/components/Checkbox/sgds-checkbox.js.map +1 -1
  8. package/components/ComboBox/index.umd.min.js +241 -241
  9. package/components/ComboBox/index.umd.min.js.map +1 -1
  10. package/components/Datepicker/index.umd.min.js +86 -86
  11. package/components/Datepicker/index.umd.min.js.map +1 -1
  12. package/components/Dropdown/dropdown-item.js +1 -1
  13. package/components/Dropdown/index.umd.min.js +4 -4
  14. package/components/Dropdown/index.umd.min.js.map +1 -1
  15. package/components/Dropdown/sgds-dropdown-item.d.ts +0 -2
  16. package/components/Dropdown/sgds-dropdown-item.js +2 -8
  17. package/components/Dropdown/sgds-dropdown-item.js.map +1 -1
  18. package/components/Input/index.umd.min.js +2 -2
  19. package/components/Input/index.umd.min.js.map +1 -1
  20. package/components/Input/input.js +1 -1
  21. package/components/Mainnav/index.d.ts +0 -2
  22. package/components/Mainnav/index.js +0 -2
  23. package/components/Mainnav/index.js.map +1 -1
  24. package/components/Mainnav/index.umd.min.js +286 -327
  25. package/components/Mainnav/index.umd.min.js.map +1 -1
  26. package/components/Mainnav/mainnav-dropdown.js +1 -1
  27. package/components/Mainnav/mainnav-item.js +1 -1
  28. package/components/Mainnav/mainnav.js +1 -1
  29. package/components/Mainnav/sgds-mainnav.d.ts +16 -14
  30. package/components/Mainnav/sgds-mainnav.js +21 -59
  31. package/components/Mainnav/sgds-mainnav.js.map +1 -1
  32. package/components/OverflowMenu/index.umd.min.js +4 -4
  33. package/components/OverflowMenu/index.umd.min.js.map +1 -1
  34. package/components/QuantityToggle/index.umd.min.js +40 -40
  35. package/components/QuantityToggle/index.umd.min.js.map +1 -1
  36. package/components/QuantityToggle/sgds-quantity-toggle.d.ts +1 -2
  37. package/components/QuantityToggle/sgds-quantity-toggle.js +9 -18
  38. package/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
  39. package/components/Select/index.umd.min.js +1 -1
  40. package/components/Tab/index.umd.min.js +1 -1
  41. package/components/Tab/index.umd.min.js.map +1 -1
  42. package/components/Tab/tab-panel.js +1 -1
  43. package/components/Textarea/index.umd.min.js +1 -1
  44. package/components/Textarea/index.umd.min.js.map +1 -1
  45. package/components/Textarea/textarea.js +1 -1
  46. package/components/index.d.ts +0 -5
  47. package/components/index.js +0 -5
  48. package/components/index.js.map +1 -1
  49. package/components/index.umd.min.js +498 -633
  50. package/components/index.umd.min.js.map +1 -1
  51. package/css/fouc.css +2 -7
  52. package/custom-elements.json +10277 -11992
  53. package/index.d.ts +0 -1
  54. package/index.js +0 -1
  55. package/index.js.map +1 -1
  56. package/index.umd.min.js +361 -496
  57. package/index.umd.min.js.map +1 -1
  58. package/package.json +1 -1
  59. package/react/components/Checkbox/sgds-checkbox.cjs.js +1 -6
  60. package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -1
  61. package/react/components/Checkbox/sgds-checkbox.js +1 -6
  62. package/react/components/Checkbox/sgds-checkbox.js.map +1 -1
  63. package/react/components/Dropdown/dropdown-item.cjs.js +1 -1
  64. package/react/components/Dropdown/dropdown-item.js +1 -1
  65. package/react/components/Dropdown/sgds-dropdown-item.cjs.js +2 -8
  66. package/react/components/Dropdown/sgds-dropdown-item.cjs.js.map +1 -1
  67. package/react/components/Dropdown/sgds-dropdown-item.js +2 -8
  68. package/react/components/Dropdown/sgds-dropdown-item.js.map +1 -1
  69. package/react/components/Input/input.cjs.js +1 -1
  70. package/react/components/Input/input.js +1 -1
  71. package/react/components/Mainnav/mainnav-dropdown.cjs.js +1 -1
  72. package/react/components/Mainnav/mainnav-dropdown.js +1 -1
  73. package/react/components/Mainnav/mainnav-item.cjs.js +1 -1
  74. package/react/components/Mainnav/mainnav-item.js +1 -1
  75. package/react/components/Mainnav/mainnav.cjs.js +1 -1
  76. package/react/components/Mainnav/mainnav.js +1 -1
  77. package/react/components/Mainnav/sgds-mainnav.cjs.js +20 -58
  78. package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -1
  79. package/react/components/Mainnav/sgds-mainnav.js +21 -59
  80. package/react/components/Mainnav/sgds-mainnav.js.map +1 -1
  81. package/react/components/QuantityToggle/sgds-quantity-toggle.cjs.js +9 -18
  82. package/react/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +1 -1
  83. package/react/components/QuantityToggle/sgds-quantity-toggle.js +9 -18
  84. package/react/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
  85. package/react/components/Tab/tab-panel.cjs.js +1 -1
  86. package/react/components/Tab/tab-panel.js +1 -1
  87. package/react/components/Textarea/textarea.cjs.js +1 -1
  88. package/react/components/Textarea/textarea.js +1 -1
  89. package/react/index.cjs.js +118 -128
  90. package/react/index.cjs.js.map +1 -1
  91. package/react/index.d.ts +2 -7
  92. package/react/index.js +2 -7
  93. package/react/index.js.map +1 -1
  94. package/react/styles/form-text-control.cjs.js +1 -1
  95. package/react/styles/form-text-control.js +1 -1
  96. package/styles/form-text-control.js +1 -1
  97. package/themes/blue.css +11 -11
  98. package/themes/cyan.css +10 -10
  99. package/themes/gt/blue.css +11 -11
  100. package/themes/gt/cyan.css +10 -10
  101. package/themes/gt/magenta.css +11 -11
  102. package/themes/gt/pink.css +11 -11
  103. package/themes/gt/purple.css +11 -11
  104. package/themes/gt/red.css +11 -11
  105. package/themes/magenta.css +11 -11
  106. package/themes/pink.css +11 -11
  107. package/themes/purple.css +11 -11
  108. package/themes/red.css +11 -11
  109. package/themes/root.css +0 -5
  110. package/types/react.d.ts +51 -164
  111. package/components/DataTable/data-table.js +0 -6
  112. package/components/DataTable/data-table.js.map +0 -1
  113. package/components/DataTable/index.d.ts +0 -12
  114. package/components/DataTable/index.js +0 -11
  115. package/components/DataTable/index.js.map +0 -1
  116. package/components/DataTable/index.umd.min.js +0 -2634
  117. package/components/DataTable/index.umd.min.js.map +0 -1
  118. package/components/DataTable/sgds-data-table-cell.d.ts +0 -15
  119. package/components/DataTable/sgds-data-table-cell.js +0 -32
  120. package/components/DataTable/sgds-data-table-cell.js.map +0 -1
  121. package/components/DataTable/sgds-data-table-head.d.ts +0 -28
  122. package/components/DataTable/sgds-data-table-head.js +0 -69
  123. package/components/DataTable/sgds-data-table-head.js.map +0 -1
  124. package/components/DataTable/sgds-data-table-row.d.ts +0 -76
  125. package/components/DataTable/sgds-data-table-row.js +0 -333
  126. package/components/DataTable/sgds-data-table-row.js.map +0 -1
  127. package/components/DataTable/sgds-data-table.d.ts +0 -82
  128. package/components/DataTable/sgds-data-table.js +0 -405
  129. package/components/DataTable/sgds-data-table.js.map +0 -1
  130. package/components/Mainnav/mainnav-profile.js +0 -6
  131. package/components/Mainnav/mainnav-profile.js.map +0 -1
  132. package/components/Mainnav/sgds-mainnav-profile.d.ts +0 -41
  133. package/components/Mainnav/sgds-mainnav-profile.js +0 -136
  134. package/components/Mainnav/sgds-mainnav-profile.js.map +0 -1
  135. package/react/components/DataTable/data-table.cjs.js +0 -11
  136. package/react/components/DataTable/data-table.cjs.js.map +0 -1
  137. package/react/components/DataTable/data-table.js +0 -7
  138. package/react/components/DataTable/data-table.js.map +0 -1
  139. package/react/components/DataTable/sgds-data-table-cell.cjs.js +0 -38
  140. package/react/components/DataTable/sgds-data-table-cell.cjs.js.map +0 -1
  141. package/react/components/DataTable/sgds-data-table-cell.js +0 -33
  142. package/react/components/DataTable/sgds-data-table-cell.js.map +0 -1
  143. package/react/components/DataTable/sgds-data-table-head.cjs.js +0 -75
  144. package/react/components/DataTable/sgds-data-table-head.cjs.js.map +0 -1
  145. package/react/components/DataTable/sgds-data-table-head.js +0 -70
  146. package/react/components/DataTable/sgds-data-table-head.js.map +0 -1
  147. package/react/components/DataTable/sgds-data-table-row.cjs.js +0 -339
  148. package/react/components/DataTable/sgds-data-table-row.cjs.js.map +0 -1
  149. package/react/components/DataTable/sgds-data-table-row.js +0 -334
  150. package/react/components/DataTable/sgds-data-table-row.js.map +0 -1
  151. package/react/components/DataTable/sgds-data-table.cjs.js +0 -411
  152. package/react/components/DataTable/sgds-data-table.cjs.js.map +0 -1
  153. package/react/components/DataTable/sgds-data-table.js +0 -406
  154. package/react/components/DataTable/sgds-data-table.js.map +0 -1
  155. package/react/components/Mainnav/mainnav-profile.cjs.js +0 -11
  156. package/react/components/Mainnav/mainnav-profile.cjs.js.map +0 -1
  157. package/react/components/Mainnav/mainnav-profile.js +0 -7
  158. package/react/components/Mainnav/mainnav-profile.js.map +0 -1
  159. package/react/components/Mainnav/sgds-mainnav-profile.cjs.js +0 -142
  160. package/react/components/Mainnav/sgds-mainnav-profile.cjs.js.map +0 -1
  161. package/react/components/Mainnav/sgds-mainnav-profile.js +0 -137
  162. package/react/components/Mainnav/sgds-mainnav-profile.js.map +0 -1
  163. package/react/data-table/index.cjs.js +0 -44
  164. package/react/data-table/index.cjs.js.map +0 -1
  165. package/react/data-table/index.d.ts +0 -4
  166. package/react/data-table/index.js +0 -20
  167. package/react/data-table/index.js.map +0 -1
  168. package/react/data-table-cell/index.cjs.js +0 -40
  169. package/react/data-table-cell/index.cjs.js.map +0 -1
  170. package/react/data-table-cell/index.d.ts +0 -4
  171. package/react/data-table-cell/index.js +0 -16
  172. package/react/data-table-cell/index.js.map +0 -1
  173. package/react/data-table-head/index.cjs.js +0 -40
  174. package/react/data-table-head/index.cjs.js.map +0 -1
  175. package/react/data-table-head/index.d.ts +0 -4
  176. package/react/data-table-head/index.js +0 -16
  177. package/react/data-table-head/index.js.map +0 -1
  178. package/react/data-table-row/index.cjs.js +0 -45
  179. package/react/data-table-row/index.cjs.js.map +0 -1
  180. package/react/data-table-row/index.d.ts +0 -4
  181. package/react/data-table-row/index.js +0 -21
  182. package/react/data-table-row/index.js.map +0 -1
  183. package/react/mainnav-profile/index.cjs.js +0 -40
  184. package/react/mainnav-profile/index.cjs.js.map +0 -1
  185. package/react/mainnav-profile/index.d.ts +0 -4
  186. package/react/mainnav-profile/index.js +0 -16
  187. package/react/mainnav-profile/index.js.map +0 -1
@@ -1,136 +0,0 @@
1
- import { __decorate } from 'tslib';
2
- import { html, nothing } from 'lit';
3
- import { consume } from '@lit/context';
4
- import { state, property } from 'lit/decorators.js';
5
- import { classMap } from 'lit/directives/class-map.js';
6
- import { ifDefined } from 'lit/directives/if-defined.js';
7
- import { offset } from '@floating-ui/dom';
8
- import SgdsElement from '../../base/sgds-element.js';
9
- import { SgdsDropdown } from '../Dropdown/sgds-dropdown.js';
10
- import { SgdsDropdownItem } from '../Dropdown/sgds-dropdown-item.js';
11
- import { SgdsIcon } from '../Icon/sgds-icon.js';
12
- import { MainnavBreakpointContext } from './mainnav-context.js';
13
- import css_248z from './mainnav-profile.js';
14
- import genId from '../../utils/generateId.js';
15
-
16
- /**
17
- * @summary A profile component for the mainnav that shows a full dropdown in desktop and handles its own mobile menu.
18
- * In desktop: renders avatar + label + secondaryText with a dropdown.
19
- * In mobile: renders the avatar as a toggler that opens a self-contained mobile panel with profile items.
20
- * When present, it disables the mainnav's default hamburger toggler.
21
- *
22
- * @slot avatar - Avatar element displayed in both desktop (before label) and mobile (as toggler)
23
- * @slot default - Profile menu items (sgds-dropdown-item elements)
24
- */
25
- class SgdsMainnavProfile extends SgdsElement {
26
- constructor() {
27
- super(...arguments);
28
- this._breakpointReached = true;
29
- /** @internal Whether the mobile menu is open */
30
- this._mobileMenuOpen = false;
31
- /** Primary text displayed next to the avatar in desktop (e.g. user name) */
32
- this.label = "";
33
- /** Secondary text displayed below the label in desktop (e.g. agency or role) */
34
- this.secondaryText = "";
35
- /** When true, disables the profile dropdown */
36
- this.disabled = false;
37
- /** Accessible label for the profile toggle button */
38
- this.ariaLabel = "";
39
- /** Controls dropdown close behavior. "default" auto-closes on item/outside click, "outside" closes only on outside click, "inside" prevents auto-close. */
40
- this.close = "default";
41
- /** @internal */
42
- this.togglerId = genId("profile", "button");
43
- this._handleMobileToggle = () => {
44
- this._mobileMenuOpen = !this._mobileMenuOpen;
45
- };
46
- this._handleKeydown = (e) => {
47
- if (e.key === "Enter" || e.key === " ") {
48
- e.preventDefault();
49
- this._handleMobileToggle();
50
- }
51
- };
52
- }
53
- render() {
54
- if (!this._breakpointReached) {
55
- // Desktop: dropdown with avatar + label + secondaryText
56
- return html `
57
- <sgds-dropdown .floatingOpts=${{ middleware: [offset(0)] }} ?disabled=${this.disabled} close=${this.close}>
58
- <button
59
- class="${classMap({
60
- "nav-link": true,
61
- disabled: this.disabled
62
- })}"
63
- aria-disabled=${this.disabled ? "true" : "false"}
64
- aria-label=${ifDefined(this.ariaLabel)}
65
- id=${this.togglerId}
66
- tabindex=${this.disabled ? "-1" : "0"}
67
- slot="toggler"
68
- >
69
- <slot name="avatar"></slot>
70
- ${this.label || this.secondaryText
71
- ? html `<div class="profile-text">
72
- ${this.label ? html `<span class="profile-label">${this.label}</span>` : nothing}
73
- ${this.secondaryText
74
- ? html `<span class="profile-secondary-text">${this.secondaryText}</span>`
75
- : nothing}
76
- </div>`
77
- : nothing}
78
- <sgds-icon name="chevron-down" size="md"></sgds-icon>
79
- </button>
80
- <slot></slot>
81
- </sgds-dropdown>
82
- `;
83
- }
84
- // Mobile: avatar toggler + self-contained mobile panel
85
- return html `
86
- <div
87
- class="profile-avatar-mobile"
88
- role="button"
89
- tabindex="0"
90
- aria-label=${this.ariaLabel || "Toggle navigation"}
91
- aria-expanded=${this._mobileMenuOpen ? "true" : "false"}
92
- @click=${this._handleMobileToggle}
93
- @keydown=${this._handleKeydown}
94
- >
95
- <slot name="avatar"></slot>
96
- </div>
97
- <div class="profile-mobile-panel" ?hidden=${!this._mobileMenuOpen}>
98
- <div class="profile-mobile-items">
99
- <slot></slot>
100
- </div>
101
- </div>
102
- `;
103
- }
104
- }
105
- SgdsMainnavProfile.styles = [...SgdsElement.styles, css_248z];
106
- /** @internal */
107
- SgdsMainnavProfile.dependencies = {
108
- "sgds-dropdown": SgdsDropdown,
109
- "sgds-dropdown-item": SgdsDropdownItem,
110
- "sgds-icon": SgdsIcon
111
- };
112
- __decorate([
113
- consume({ context: MainnavBreakpointContext, subscribe: true }),
114
- state()
115
- ], SgdsMainnavProfile.prototype, "_breakpointReached", void 0);
116
- __decorate([
117
- state()
118
- ], SgdsMainnavProfile.prototype, "_mobileMenuOpen", void 0);
119
- __decorate([
120
- property({ type: String, reflect: true })
121
- ], SgdsMainnavProfile.prototype, "label", void 0);
122
- __decorate([
123
- property({ type: String, reflect: true })
124
- ], SgdsMainnavProfile.prototype, "secondaryText", void 0);
125
- __decorate([
126
- property({ type: Boolean })
127
- ], SgdsMainnavProfile.prototype, "disabled", void 0);
128
- __decorate([
129
- property({ type: String })
130
- ], SgdsMainnavProfile.prototype, "ariaLabel", void 0);
131
- __decorate([
132
- property({ type: String })
133
- ], SgdsMainnavProfile.prototype, "close", void 0);
134
-
135
- export { SgdsMainnavProfile, SgdsMainnavProfile as default };
136
- //# sourceMappingURL=sgds-mainnav-profile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sgds-mainnav-profile.js","sources":["../../../src/components/Mainnav/sgds-mainnav-profile.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { consume } from \"@lit/context\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { offset } from \"@floating-ui/dom\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport SgdsDropdown from \"../Dropdown/sgds-dropdown\";\nimport SgdsDropdownItem from \"../Dropdown/sgds-dropdown-item\";\nimport SgdsIcon from \"../Icon/sgds-icon\";\nimport { MainnavBreakpointContext } from \"./mainnav-context\";\nimport mainnavProfileStyle from \"./mainnav-profile.css\";\nimport genId from \"../../utils/generateId\";\n\n/**\n * @summary A profile component for the mainnav that shows a full dropdown in desktop and handles its own mobile menu.\n * In desktop: renders avatar + label + secondaryText with a dropdown.\n * In mobile: renders the avatar as a toggler that opens a self-contained mobile panel with profile items.\n * When present, it disables the mainnav's default hamburger toggler.\n *\n * @slot avatar - Avatar element displayed in both desktop (before label) and mobile (as toggler)\n * @slot default - Profile menu items (sgds-dropdown-item elements)\n */\nexport class SgdsMainnavProfile extends SgdsElement {\n static styles = [...SgdsElement.styles, mainnavProfileStyle];\n /** @internal */\n static dependencies = {\n \"sgds-dropdown\": SgdsDropdown,\n \"sgds-dropdown-item\": SgdsDropdownItem,\n \"sgds-icon\": SgdsIcon\n };\n\n @consume({ context: MainnavBreakpointContext, subscribe: true })\n @state()\n private _breakpointReached = true;\n\n /** @internal Whether the mobile menu is open */\n @state()\n private _mobileMenuOpen = false;\n\n /** Primary text displayed next to the avatar in desktop (e.g. user name) */\n @property({ type: String, reflect: true })\n label = \"\";\n\n /** Secondary text displayed below the label in desktop (e.g. agency or role) */\n @property({ type: String, reflect: true })\n secondaryText = \"\";\n\n /** When true, disables the profile dropdown */\n @property({ type: Boolean })\n disabled = false;\n\n /** Accessible label for the profile toggle button */\n @property({ type: String })\n ariaLabel = \"\";\n\n /** Controls dropdown close behavior. \"default\" auto-closes on item/outside click, \"outside\" closes only on outside click, \"inside\" prevents auto-close. */\n @property({ type: String })\n close: \"default\" | \"outside\" | \"inside\" = \"default\";\n\n /** @internal */\n private togglerId: string = genId(\"profile\", \"button\");\n\n private _handleMobileToggle = () => {\n this._mobileMenuOpen = !this._mobileMenuOpen;\n };\n\n private _handleKeydown = (e: KeyboardEvent) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n this._handleMobileToggle();\n }\n };\n\n render() {\n if (!this._breakpointReached) {\n // Desktop: dropdown with avatar + label + secondaryText\n return html`\n <sgds-dropdown .floatingOpts=${{ middleware: [offset(0)] }} ?disabled=${this.disabled} close=${this.close}>\n <button\n class=\"${classMap({\n \"nav-link\": true,\n disabled: this.disabled\n })}\"\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n aria-label=${ifDefined(this.ariaLabel)}\n id=${this.togglerId}\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n slot=\"toggler\"\n >\n <slot name=\"avatar\"></slot>\n ${this.label || this.secondaryText\n ? html`<div class=\"profile-text\">\n ${this.label ? html`<span class=\"profile-label\">${this.label}</span>` : nothing}\n ${this.secondaryText\n ? html`<span class=\"profile-secondary-text\">${this.secondaryText}</span>`\n : nothing}\n </div>`\n : nothing}\n <sgds-icon name=\"chevron-down\" size=\"md\"></sgds-icon>\n </button>\n <slot></slot>\n </sgds-dropdown>\n `;\n }\n\n // Mobile: avatar toggler + self-contained mobile panel\n return html`\n <div\n class=\"profile-avatar-mobile\"\n role=\"button\"\n tabindex=\"0\"\n aria-label=${this.ariaLabel || \"Toggle navigation\"}\n aria-expanded=${this._mobileMenuOpen ? \"true\" : \"false\"}\n @click=${this._handleMobileToggle}\n @keydown=${this._handleKeydown}\n >\n <slot name=\"avatar\"></slot>\n </div>\n <div class=\"profile-mobile-panel\" ?hidden=${!this._mobileMenuOpen}>\n <div class=\"profile-mobile-items\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n}\n\nexport default SgdsMainnavProfile;\n"],"names":["mainnavProfileStyle"],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, '__esModule', { value: true });
5
-
6
- var lit = require('lit');
7
-
8
- var css_248z = lit.css`:host{display:contents}:host([layout=fixed]) .table{table-layout:fixed}.table{border-collapse:collapse;display:table;table-layout:auto;width:100%}.data-table{border:var(--sgds-border-width-1) solid;border-color:var(--sgds-border-color-muted);border-radius:var(--sgds-border-radius-md);display:flex;flex-direction:column;min-height:var(--sgds-dimension-56)}.footer{justify-content:space-between;padding:var(--sgds-padding-sm) var(--sgds-padding-lg)}.footer,.loading{align-items:center;display:flex}.loading{border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);justify-content:center;min-height:var(--sgds-dimension-128);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.loading .loading-menu{gap:var(--sgds-gap-xs);pointer-events:none}.loading .loading-menu,.no-data{align-items:center;color:var(--sgds-text-color-subtle);display:flex}.no-data{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);justify-content:center;min-height:var(--sgds-dimension-128);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.active:not(.sort-icon),tr:hover:not([data-header-row]){background-color:var(--sgds-bg-translucent-subtle);transition:background-color .15s ease}td,th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);vertical-align:middle}.data-table-cell,.data-table-head{align-items:center;display:flex;min-height:var(--sgds-dimension-56);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.data-table-head{font-weight:var(--sgds-font-weight-semibold);gap:var(--sgds-gap-2-xs)}.sort,.sort-button{align-items:center;display:inline-flex}.sort-button{background-color:var(--sgds-bg-transparent);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-form-border-radius-md);color:var(--sgds-color-subtle);cursor:pointer;height:var(--sgds-dimension-24);justify-content:center;padding:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:var(--sgds-dimension-24)}.sort-button:hover{background-color:var(--sgds-bg-translucent-subtle);color:var(--sgds-color-default)}.sort-button:focus,.sort-button:focus-visible{background-color:var(--sgds-bg-translucent-subtle);border-color:transparent;outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.sort-button:disabled{background-color:var(--sgds-bg-transparent);color:var(--sgds-color-muted);cursor:not-allowed}.sort-button.active{background-color:var(--sgds-primary-surface-translucent);color:var(--sgds-primary-color-default)}.sort-icon{display:inline-flex}.data-table-cell.align-right,.data-table-head.align-right{justify-content:flex-end;text-align:right}.control-cell{width:var(--sgds-dimension-56)}:host(.checkbox-cell) .data-table-cell,:host(.checkbox-cell) .data-table-head{padding:var(--sgds-padding-sm) var(--sgds-padding-md)}:host(.expand-cell) .data-table-cell{cursor:pointer;padding:var(--sgds-padding-md)}.expandable-td{border:0;padding:0}.expandable-content{background-color:var(--sgds-surface-raised);border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);padding:var(--sgds-padding-2-xl);padding-left:var(--sgds-padding-4-xl)}.hidden{display:none}`;
9
-
10
- exports["default"] = css_248z;
11
- //# sourceMappingURL=data-table.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-table.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1,7 +0,0 @@
1
- 'use client';
2
- import { css } from 'lit';
3
-
4
- var css_248z = css`:host{display:contents}:host([layout=fixed]) .table{table-layout:fixed}.table{border-collapse:collapse;display:table;table-layout:auto;width:100%}.data-table{border:var(--sgds-border-width-1) solid;border-color:var(--sgds-border-color-muted);border-radius:var(--sgds-border-radius-md);display:flex;flex-direction:column;min-height:var(--sgds-dimension-56)}.footer{justify-content:space-between;padding:var(--sgds-padding-sm) var(--sgds-padding-lg)}.footer,.loading{align-items:center;display:flex}.loading{border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);justify-content:center;min-height:var(--sgds-dimension-128);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.loading .loading-menu{gap:var(--sgds-gap-xs);pointer-events:none}.loading .loading-menu,.no-data{align-items:center;color:var(--sgds-text-color-subtle);display:flex}.no-data{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);justify-content:center;min-height:var(--sgds-dimension-128);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.active:not(.sort-icon),tr:hover:not([data-header-row]){background-color:var(--sgds-bg-translucent-subtle);transition:background-color .15s ease}td,th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);vertical-align:middle}.data-table-cell,.data-table-head{align-items:center;display:flex;min-height:var(--sgds-dimension-56);padding:var(--sgds-padding-sm) var(--sgds-padding-md)}.data-table-head{font-weight:var(--sgds-font-weight-semibold);gap:var(--sgds-gap-2-xs)}.sort,.sort-button{align-items:center;display:inline-flex}.sort-button{background-color:var(--sgds-bg-transparent);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-form-border-radius-md);color:var(--sgds-color-subtle);cursor:pointer;height:var(--sgds-dimension-24);justify-content:center;padding:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:var(--sgds-dimension-24)}.sort-button:hover{background-color:var(--sgds-bg-translucent-subtle);color:var(--sgds-color-default)}.sort-button:focus,.sort-button:focus-visible{background-color:var(--sgds-bg-translucent-subtle);border-color:transparent;outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.sort-button:disabled{background-color:var(--sgds-bg-transparent);color:var(--sgds-color-muted);cursor:not-allowed}.sort-button.active{background-color:var(--sgds-primary-surface-translucent);color:var(--sgds-primary-color-default)}.sort-icon{display:inline-flex}.data-table-cell.align-right,.data-table-head.align-right{justify-content:flex-end;text-align:right}.control-cell{width:var(--sgds-dimension-56)}:host(.checkbox-cell) .data-table-cell,:host(.checkbox-cell) .data-table-head{padding:var(--sgds-padding-sm) var(--sgds-padding-md)}:host(.expand-cell) .data-table-cell{cursor:pointer;padding:var(--sgds-padding-md)}.expandable-td{border:0;padding:0}.expandable-content{background-color:var(--sgds-surface-raised);border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);padding:var(--sgds-padding-2-xl);padding-left:var(--sgds-padding-4-xl)}.hidden{display:none}`;
5
-
6
- export { css_248z as default };
7
- //# sourceMappingURL=data-table.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-table.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,38 +0,0 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, '__esModule', { value: true });
5
-
6
- var tslib = require('tslib');
7
- var lit = require('lit');
8
- var sgdsElement = require('../../base/sgds-element.cjs.js');
9
- var decorators_js = require('lit/decorators.js');
10
-
11
- /**
12
- * @summary Data container for a table cell. Rendered as a `<td>` by the parent `sgds-data-table-row`.
13
- *
14
- * @slot default - Content to display inside the cell.
15
- */
16
- class SgdsDataTableCell extends sgdsElement["default"] {
17
- render() {
18
- return lit.html `<slot></slot>`;
19
- }
20
- }
21
- SgdsDataTableCell.styles = [
22
- ...sgdsElement["default"].styles,
23
- lit.css `
24
- :host {
25
- display: contents;
26
- }
27
- `
28
- ];
29
- tslib.__decorate([
30
- decorators_js.property({ type: Number, reflect: true })
31
- ], SgdsDataTableCell.prototype, "colspan", void 0);
32
- tslib.__decorate([
33
- decorators_js.property({ type: Number, reflect: true })
34
- ], SgdsDataTableCell.prototype, "rowspan", void 0);
35
-
36
- exports.SgdsDataTableCell = SgdsDataTableCell;
37
- exports["default"] = SgdsDataTableCell;
38
- //# sourceMappingURL=sgds-data-table-cell.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sgds-data-table-cell.cjs.js","sources":["../../../../src/components/DataTable/sgds-data-table-cell.ts"],"sourcesContent":["import { css, html } from \"lit\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { property } from \"lit/decorators.js\";\n\n/**\n * @summary Data container for a table cell. Rendered as a `<td>` by the parent `sgds-data-table-row`.\n *\n * @slot default - Content to display inside the cell.\n */\nexport class SgdsDataTableCell extends SgdsElement {\n static styles = [\n ...SgdsElement.styles,\n css`\n :host {\n display: contents;\n }\n `\n ];\n\n /** Number of columns this cell spans. */\n @property({ type: Number, reflect: true }) colspan: number | undefined;\n\n /** Number of rows this cell spans. */\n @property({ type: Number, reflect: true }) rowspan: number | undefined;\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\nexport default SgdsDataTableCell;\n"],"names":["SgdsElement","html","css","__decorate","property"],"mappings":";;;;;;;;;;AAIA;;;;AAIG;AACG,MAAO,iBAAkB,SAAQA,sBAAW,CAAA;IAgBhD,MAAM,GAAA;QACJ,OAAOC,QAAI,CAAA,CAAA,aAAA,CAAe,CAAC;KAC5B;;AAjBM,iBAAA,CAAA,MAAM,GAAG;IACd,GAAGD,sBAAW,CAAC,MAAM;AACrB,IAAAE,OAAG,CAAA,CAAA;;;;AAIF,IAAA,CAAA;CACF,CAAC;AAGyCC,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5BD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;;;;;"}
@@ -1,33 +0,0 @@
1
- 'use client';
2
- import { __decorate } from 'tslib';
3
- import { css, html } from 'lit';
4
- import SgdsElement from '../../base/sgds-element.js';
5
- import { property } from 'lit/decorators.js';
6
-
7
- /**
8
- * @summary Data container for a table cell. Rendered as a `<td>` by the parent `sgds-data-table-row`.
9
- *
10
- * @slot default - Content to display inside the cell.
11
- */
12
- class SgdsDataTableCell extends SgdsElement {
13
- render() {
14
- return html `<slot></slot>`;
15
- }
16
- }
17
- SgdsDataTableCell.styles = [
18
- ...SgdsElement.styles,
19
- css `
20
- :host {
21
- display: contents;
22
- }
23
- `
24
- ];
25
- __decorate([
26
- property({ type: Number, reflect: true })
27
- ], SgdsDataTableCell.prototype, "colspan", void 0);
28
- __decorate([
29
- property({ type: Number, reflect: true })
30
- ], SgdsDataTableCell.prototype, "rowspan", void 0);
31
-
32
- export { SgdsDataTableCell, SgdsDataTableCell as default };
33
- //# sourceMappingURL=sgds-data-table-cell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sgds-data-table-cell.js","sources":["../../../../src/components/DataTable/sgds-data-table-cell.ts"],"sourcesContent":["import { css, html } from \"lit\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { property } from \"lit/decorators.js\";\n\n/**\n * @summary Data container for a table cell. Rendered as a `<td>` by the parent `sgds-data-table-row`.\n *\n * @slot default - Content to display inside the cell.\n */\nexport class SgdsDataTableCell extends SgdsElement {\n static styles = [\n ...SgdsElement.styles,\n css`\n :host {\n display: contents;\n }\n `\n ];\n\n /** Number of columns this cell spans. */\n @property({ type: Number, reflect: true }) colspan: number | undefined;\n\n /** Number of rows this cell spans. */\n @property({ type: Number, reflect: true }) rowspan: number | undefined;\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\nexport default SgdsDataTableCell;\n"],"names":[],"mappings":";;;;;;AAIA;;;;AAIG;AACG,MAAO,iBAAkB,SAAQ,WAAW,CAAA;IAgBhD,MAAM,GAAA;QACJ,OAAO,IAAI,CAAA,CAAA,aAAA,CAAe,CAAC;KAC5B;;AAjBM,iBAAA,CAAA,MAAM,GAAG;IACd,GAAG,WAAW,CAAC,MAAM;AACrB,IAAA,GAAG,CAAA,CAAA;;;;AAIF,IAAA,CAAA;CACF,CAAC;AAGyC,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5B,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
@@ -1,75 +0,0 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, '__esModule', { value: true });
5
-
6
- var tslib = require('tslib');
7
- var lit = require('lit');
8
- var sgdsElement = require('../../base/sgds-element.cjs.js');
9
- var decorators_js = require('lit/decorators.js');
10
-
11
- /**
12
- * @summary Data container for a table header cell. Rendered as a `<th>` by the parent `sgds-data-table-row`.
13
- *
14
- * @slot default - Content to display inside the header cell.
15
- *
16
- */
17
- class SgdsDataTableHead extends sgdsElement["default"] {
18
- constructor() {
19
- super(...arguments);
20
- /** Text alignment for the header content. */
21
- this.textAlign = "left";
22
- /** When true, clicking this header cycles through ascending → descending → none sort. */
23
- this.sorting = false;
24
- /** Column key emitted in the row's internal sort payload, used to identify which column to sort. */
25
- this.sortKey = "";
26
- }
27
- /** @internal — called by the row when the rendered `<th>` is clicked. */
28
- handleSortClick() {
29
- if (!this.sorting)
30
- return;
31
- const next = this.ariasort === "ascending" ? "descending" : this.ariasort === "descending" ? "none" : "ascending";
32
- this.ariasort = next;
33
- this.emit("i-sgds-sort", {
34
- detail: { key: this.sortKey, direction: next },
35
- bubbles: true,
36
- composed: true
37
- });
38
- }
39
- render() {
40
- return lit.html `<slot></slot>`;
41
- }
42
- }
43
- SgdsDataTableHead.styles = [
44
- ...sgdsElement["default"].styles,
45
- lit.css `
46
- :host {
47
- display: contents;
48
- }
49
- `
50
- ];
51
- tslib.__decorate([
52
- decorators_js.property({ type: String, reflect: true })
53
- ], SgdsDataTableHead.prototype, "width", void 0);
54
- tslib.__decorate([
55
- decorators_js.property({ type: Number, reflect: true })
56
- ], SgdsDataTableHead.prototype, "colspan", void 0);
57
- tslib.__decorate([
58
- decorators_js.property({ type: Number, reflect: true })
59
- ], SgdsDataTableHead.prototype, "rowspan", void 0);
60
- tslib.__decorate([
61
- decorators_js.property({ type: String, reflect: true })
62
- ], SgdsDataTableHead.prototype, "textAlign", void 0);
63
- tslib.__decorate([
64
- decorators_js.property({ type: String, reflect: true })
65
- ], SgdsDataTableHead.prototype, "ariasort", void 0);
66
- tslib.__decorate([
67
- decorators_js.property({ type: Boolean, reflect: true })
68
- ], SgdsDataTableHead.prototype, "sorting", void 0);
69
- tslib.__decorate([
70
- decorators_js.property({ type: String, reflect: true })
71
- ], SgdsDataTableHead.prototype, "sortKey", void 0);
72
-
73
- exports.SgdsDataTableHead = SgdsDataTableHead;
74
- exports["default"] = SgdsDataTableHead;
75
- //# sourceMappingURL=sgds-data-table-head.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sgds-data-table-head.cjs.js","sources":["../../../../src/components/DataTable/sgds-data-table-head.ts"],"sourcesContent":["import { css, html } from \"lit\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { property } from \"lit/decorators.js\";\n\n/**\n * @summary Data container for a table header cell. Rendered as a `<th>` by the parent `sgds-data-table-row`.\n *\n * @slot default - Content to display inside the header cell.\n *\n */\nexport class SgdsDataTableHead extends SgdsElement {\n static styles = [\n ...SgdsElement.styles,\n css`\n :host {\n display: contents;\n }\n `\n ];\n\n /** Sets the column width. */\n @property({ type: String, reflect: true }) width: string | undefined;\n\n /** Number of columns this cell spans. */\n @property({ type: Number, reflect: true }) colspan: number | undefined;\n\n /** Number of rows this cell spans. */\n @property({ type: Number, reflect: true }) rowspan: number | undefined;\n\n /** Text alignment for the header content. */\n @property({ type: String, reflect: true }) textAlign: \"left\" | \"right\" = \"left\";\n\n /** Current sort direction for this column. */\n @property({ type: String, reflect: true }) ariasort: \"ascending\" | \"descending\" | \"none\" | \"other\" | undefined;\n\n /** When true, clicking this header cycles through ascending → descending → none sort. */\n @property({ type: Boolean, reflect: true }) sorting = false;\n\n /** Column key emitted in the row's internal sort payload, used to identify which column to sort. */\n @property({ type: String, reflect: true }) sortKey = \"\";\n\n /** @internal — called by the row when the rendered `<th>` is clicked. */\n handleSortClick() {\n if (!this.sorting) return;\n const next = this.ariasort === \"ascending\" ? \"descending\" : this.ariasort === \"descending\" ? \"none\" : \"ascending\";\n this.ariasort = next;\n this.emit(\"i-sgds-sort\", {\n detail: { key: this.sortKey, direction: next },\n bubbles: true,\n composed: true\n });\n }\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\nexport default SgdsDataTableHead;\n"],"names":["SgdsElement","html","css","__decorate","property"],"mappings":";;;;;;;;;;AAIA;;;;;AAKG;AACG,MAAO,iBAAkB,SAAQA,sBAAW,CAAA;AAAlD,IAAA,WAAA,GAAA;;;QAoB6C,IAAS,CAAA,SAAA,GAAqB,MAAM,CAAC;;QAMpC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;QAGjB,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;KAiBzD;;IAdC,eAAe,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,KAAK,WAAW,GAAG,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,YAAY,GAAG,MAAM,GAAG,WAAW,CAAC;AAClH,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;AAC9C,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC,CAAC;KACJ;IAED,MAAM,GAAA;QACJ,OAAOC,QAAI,CAAA,CAAA,aAAA,CAAe,CAAC;KAC5B;;AA5CM,iBAAA,CAAA,MAAM,GAAG;IACd,GAAGD,sBAAW,CAAC,MAAM;AACrB,IAAAE,OAAG,CAAA,CAAA;;;;AAIF,IAAA,CAAA;AACF,CAPY,CAOX;AAGyCC,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA2B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG1BD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5BD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5BD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAsC,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGrCD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAqE,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGnED,gBAAA,CAAA;IAA3CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAiB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGjBD,gBAAA,CAAA;IAA1CC,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAc,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;;;;;"}
@@ -1,70 +0,0 @@
1
- 'use client';
2
- import { __decorate } from 'tslib';
3
- import { css, html } from 'lit';
4
- import SgdsElement from '../../base/sgds-element.js';
5
- import { property } from 'lit/decorators.js';
6
-
7
- /**
8
- * @summary Data container for a table header cell. Rendered as a `<th>` by the parent `sgds-data-table-row`.
9
- *
10
- * @slot default - Content to display inside the header cell.
11
- *
12
- */
13
- class SgdsDataTableHead extends SgdsElement {
14
- constructor() {
15
- super(...arguments);
16
- /** Text alignment for the header content. */
17
- this.textAlign = "left";
18
- /** When true, clicking this header cycles through ascending → descending → none sort. */
19
- this.sorting = false;
20
- /** Column key emitted in the row's internal sort payload, used to identify which column to sort. */
21
- this.sortKey = "";
22
- }
23
- /** @internal — called by the row when the rendered `<th>` is clicked. */
24
- handleSortClick() {
25
- if (!this.sorting)
26
- return;
27
- const next = this.ariasort === "ascending" ? "descending" : this.ariasort === "descending" ? "none" : "ascending";
28
- this.ariasort = next;
29
- this.emit("i-sgds-sort", {
30
- detail: { key: this.sortKey, direction: next },
31
- bubbles: true,
32
- composed: true
33
- });
34
- }
35
- render() {
36
- return html `<slot></slot>`;
37
- }
38
- }
39
- SgdsDataTableHead.styles = [
40
- ...SgdsElement.styles,
41
- css `
42
- :host {
43
- display: contents;
44
- }
45
- `
46
- ];
47
- __decorate([
48
- property({ type: String, reflect: true })
49
- ], SgdsDataTableHead.prototype, "width", void 0);
50
- __decorate([
51
- property({ type: Number, reflect: true })
52
- ], SgdsDataTableHead.prototype, "colspan", void 0);
53
- __decorate([
54
- property({ type: Number, reflect: true })
55
- ], SgdsDataTableHead.prototype, "rowspan", void 0);
56
- __decorate([
57
- property({ type: String, reflect: true })
58
- ], SgdsDataTableHead.prototype, "textAlign", void 0);
59
- __decorate([
60
- property({ type: String, reflect: true })
61
- ], SgdsDataTableHead.prototype, "ariasort", void 0);
62
- __decorate([
63
- property({ type: Boolean, reflect: true })
64
- ], SgdsDataTableHead.prototype, "sorting", void 0);
65
- __decorate([
66
- property({ type: String, reflect: true })
67
- ], SgdsDataTableHead.prototype, "sortKey", void 0);
68
-
69
- export { SgdsDataTableHead, SgdsDataTableHead as default };
70
- //# sourceMappingURL=sgds-data-table-head.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sgds-data-table-head.js","sources":["../../../../src/components/DataTable/sgds-data-table-head.ts"],"sourcesContent":["import { css, html } from \"lit\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { property } from \"lit/decorators.js\";\n\n/**\n * @summary Data container for a table header cell. Rendered as a `<th>` by the parent `sgds-data-table-row`.\n *\n * @slot default - Content to display inside the header cell.\n *\n */\nexport class SgdsDataTableHead extends SgdsElement {\n static styles = [\n ...SgdsElement.styles,\n css`\n :host {\n display: contents;\n }\n `\n ];\n\n /** Sets the column width. */\n @property({ type: String, reflect: true }) width: string | undefined;\n\n /** Number of columns this cell spans. */\n @property({ type: Number, reflect: true }) colspan: number | undefined;\n\n /** Number of rows this cell spans. */\n @property({ type: Number, reflect: true }) rowspan: number | undefined;\n\n /** Text alignment for the header content. */\n @property({ type: String, reflect: true }) textAlign: \"left\" | \"right\" = \"left\";\n\n /** Current sort direction for this column. */\n @property({ type: String, reflect: true }) ariasort: \"ascending\" | \"descending\" | \"none\" | \"other\" | undefined;\n\n /** When true, clicking this header cycles through ascending → descending → none sort. */\n @property({ type: Boolean, reflect: true }) sorting = false;\n\n /** Column key emitted in the row's internal sort payload, used to identify which column to sort. */\n @property({ type: String, reflect: true }) sortKey = \"\";\n\n /** @internal — called by the row when the rendered `<th>` is clicked. */\n handleSortClick() {\n if (!this.sorting) return;\n const next = this.ariasort === \"ascending\" ? \"descending\" : this.ariasort === \"descending\" ? \"none\" : \"ascending\";\n this.ariasort = next;\n this.emit(\"i-sgds-sort\", {\n detail: { key: this.sortKey, direction: next },\n bubbles: true,\n composed: true\n });\n }\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\nexport default SgdsDataTableHead;\n"],"names":[],"mappings":";;;;;;AAIA;;;;;AAKG;AACG,MAAO,iBAAkB,SAAQ,WAAW,CAAA;AAAlD,IAAA,WAAA,GAAA;;;QAoB6C,IAAS,CAAA,SAAA,GAAqB,MAAM,CAAC;;QAMpC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;QAGjB,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;KAiBzD;;IAdC,eAAe,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,KAAK,WAAW,GAAG,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,YAAY,GAAG,MAAM,GAAG,WAAW,CAAC;AAClH,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;AAC9C,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC,CAAC;KACJ;IAED,MAAM,GAAA;QACJ,OAAO,IAAI,CAAA,CAAA,aAAA,CAAe,CAAC;KAC5B;;AA5CM,iBAAA,CAAA,MAAM,GAAG;IACd,GAAG,WAAW,CAAC,MAAM;AACrB,IAAA,GAAG,CAAA,CAAA;;;;AAIF,IAAA,CAAA;AACF,CAPY,CAOX;AAGyC,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA2B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG1B,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5B,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG5B,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAsC,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGrC,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAqE,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGnE,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAiB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAc,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;;;;"}