@chromvoid/uikit 0.1.0

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 (246) hide show
  1. package/LICENSE +8 -0
  2. package/README.md +96 -0
  3. package/dist/components/cv-accordion-item.d.ts +69 -0
  4. package/dist/components/cv-accordion-item.js +176 -0
  5. package/dist/components/cv-accordion.d.ts +79 -0
  6. package/dist/components/cv-accordion.js +310 -0
  7. package/dist/components/cv-alert-dialog.d.ts +86 -0
  8. package/dist/components/cv-alert-dialog.js +393 -0
  9. package/dist/components/cv-alert.d.ts +48 -0
  10. package/dist/components/cv-alert.js +156 -0
  11. package/dist/components/cv-badge.d.ts +56 -0
  12. package/dist/components/cv-badge.js +280 -0
  13. package/dist/components/cv-breadcrumb-item.d.ts +35 -0
  14. package/dist/components/cv-breadcrumb-item.js +64 -0
  15. package/dist/components/cv-breadcrumb.d.ts +39 -0
  16. package/dist/components/cv-breadcrumb.js +160 -0
  17. package/dist/components/cv-button.d.ts +83 -0
  18. package/dist/components/cv-button.js +541 -0
  19. package/dist/components/cv-callout.d.ts +32 -0
  20. package/dist/components/cv-callout.js +221 -0
  21. package/dist/components/cv-card.d.ts +48 -0
  22. package/dist/components/cv-card.js +269 -0
  23. package/dist/components/cv-carousel-slide.d.ts +25 -0
  24. package/dist/components/cv-carousel-slide.js +51 -0
  25. package/dist/components/cv-carousel.d.ts +96 -0
  26. package/dist/components/cv-carousel.js +457 -0
  27. package/dist/components/cv-checkbox.d.ts +84 -0
  28. package/dist/components/cv-checkbox.js +274 -0
  29. package/dist/components/cv-combobox-group.d.ts +15 -0
  30. package/dist/components/cv-combobox-group.js +34 -0
  31. package/dist/components/cv-combobox-option.d.ts +30 -0
  32. package/dist/components/cv-combobox-option.js +66 -0
  33. package/dist/components/cv-combobox.d.ts +135 -0
  34. package/dist/components/cv-combobox.js +834 -0
  35. package/dist/components/cv-command-item.d.ts +30 -0
  36. package/dist/components/cv-command-item.js +68 -0
  37. package/dist/components/cv-command-palette.d.ts +105 -0
  38. package/dist/components/cv-command-palette.js +578 -0
  39. package/dist/components/cv-context-menu.d.ts +98 -0
  40. package/dist/components/cv-context-menu.js +515 -0
  41. package/dist/components/cv-copy-button.d.ts +61 -0
  42. package/dist/components/cv-copy-button.js +318 -0
  43. package/dist/components/cv-date-picker.d.ts +161 -0
  44. package/dist/components/cv-date-picker.js +803 -0
  45. package/dist/components/cv-dialog.d.ts +89 -0
  46. package/dist/components/cv-dialog.js +459 -0
  47. package/dist/components/cv-disclosure.d.ts +57 -0
  48. package/dist/components/cv-disclosure.js +241 -0
  49. package/dist/components/cv-drawer.d.ts +102 -0
  50. package/dist/components/cv-drawer.js +595 -0
  51. package/dist/components/cv-feed-article.d.ts +26 -0
  52. package/dist/components/cv-feed-article.js +52 -0
  53. package/dist/components/cv-feed.d.ts +62 -0
  54. package/dist/components/cv-feed.js +310 -0
  55. package/dist/components/cv-grid-cell.d.ts +30 -0
  56. package/dist/components/cv-grid-cell.js +57 -0
  57. package/dist/components/cv-grid-column.d.ts +30 -0
  58. package/dist/components/cv-grid-column.js +43 -0
  59. package/dist/components/cv-grid-row.d.ts +30 -0
  60. package/dist/components/cv-grid-row.js +42 -0
  61. package/dist/components/cv-grid.d.ts +119 -0
  62. package/dist/components/cv-grid.js +567 -0
  63. package/dist/components/cv-icon.d.ts +57 -0
  64. package/dist/components/cv-icon.js +352 -0
  65. package/dist/components/cv-input.d.ts +127 -0
  66. package/dist/components/cv-input.js +482 -0
  67. package/dist/components/cv-landmark.d.ts +32 -0
  68. package/dist/components/cv-landmark.js +62 -0
  69. package/dist/components/cv-link.d.ts +22 -0
  70. package/dist/components/cv-link.js +99 -0
  71. package/dist/components/cv-listbox-group.d.ts +15 -0
  72. package/dist/components/cv-listbox-group.js +42 -0
  73. package/dist/components/cv-listbox.d.ts +81 -0
  74. package/dist/components/cv-listbox.js +388 -0
  75. package/dist/components/cv-menu-button.d.ts +118 -0
  76. package/dist/components/cv-menu-button.js +822 -0
  77. package/dist/components/cv-menu-group.d.ts +20 -0
  78. package/dist/components/cv-menu-group.js +48 -0
  79. package/dist/components/cv-menu-item.d.ts +52 -0
  80. package/dist/components/cv-menu-item.js +105 -0
  81. package/dist/components/cv-menu.d.ts +62 -0
  82. package/dist/components/cv-menu.js +414 -0
  83. package/dist/components/cv-meter.d.ts +66 -0
  84. package/dist/components/cv-meter.js +154 -0
  85. package/dist/components/cv-number.d.ts +139 -0
  86. package/dist/components/cv-number.js +553 -0
  87. package/dist/components/cv-option.d.ts +30 -0
  88. package/dist/components/cv-option.js +84 -0
  89. package/dist/components/cv-popover.d.ts +87 -0
  90. package/dist/components/cv-popover.js +373 -0
  91. package/dist/components/cv-progress-ring.d.ts +45 -0
  92. package/dist/components/cv-progress-ring.js +169 -0
  93. package/dist/components/cv-progress.d.ts +45 -0
  94. package/dist/components/cv-progress.js +148 -0
  95. package/dist/components/cv-radio-group.d.ts +79 -0
  96. package/dist/components/cv-radio-group.js +398 -0
  97. package/dist/components/cv-radio.d.ts +36 -0
  98. package/dist/components/cv-radio.js +123 -0
  99. package/dist/components/cv-select-group.d.ts +15 -0
  100. package/dist/components/cv-select-group.js +44 -0
  101. package/dist/components/cv-select-option.d.ts +30 -0
  102. package/dist/components/cv-select-option.js +66 -0
  103. package/dist/components/cv-select.d.ts +128 -0
  104. package/dist/components/cv-select.js +666 -0
  105. package/dist/components/cv-sidebar-item.d.ts +26 -0
  106. package/dist/components/cv-sidebar-item.js +142 -0
  107. package/dist/components/cv-sidebar.d.ts +171 -0
  108. package/dist/components/cv-sidebar.js +767 -0
  109. package/dist/components/cv-slider-multi-thumb.d.ts +73 -0
  110. package/dist/components/cv-slider-multi-thumb.js +374 -0
  111. package/dist/components/cv-slider.d.ts +84 -0
  112. package/dist/components/cv-slider.js +328 -0
  113. package/dist/components/cv-spinbutton.d.ts +121 -0
  114. package/dist/components/cv-spinbutton.js +486 -0
  115. package/dist/components/cv-spinner.d.ts +18 -0
  116. package/dist/components/cv-spinner.js +95 -0
  117. package/dist/components/cv-switch.d.ts +81 -0
  118. package/dist/components/cv-switch.js +285 -0
  119. package/dist/components/cv-tab-panel.d.ts +20 -0
  120. package/dist/components/cv-tab-panel.js +37 -0
  121. package/dist/components/cv-tab.d.ts +40 -0
  122. package/dist/components/cv-tab.js +132 -0
  123. package/dist/components/cv-table-cell.d.ts +31 -0
  124. package/dist/components/cv-table-cell.js +49 -0
  125. package/dist/components/cv-table-column.d.ts +37 -0
  126. package/dist/components/cv-table-column.js +63 -0
  127. package/dist/components/cv-table-row.d.ts +30 -0
  128. package/dist/components/cv-table-row.js +45 -0
  129. package/dist/components/cv-table.d.ts +147 -0
  130. package/dist/components/cv-table.js +607 -0
  131. package/dist/components/cv-tabs.d.ts +70 -0
  132. package/dist/components/cv-tabs.js +524 -0
  133. package/dist/components/cv-textarea.d.ts +108 -0
  134. package/dist/components/cv-textarea.js +328 -0
  135. package/dist/components/cv-toast-region.d.ts +39 -0
  136. package/dist/components/cv-toast-region.js +162 -0
  137. package/dist/components/cv-toast.d.ts +67 -0
  138. package/dist/components/cv-toast.js +315 -0
  139. package/dist/components/cv-toolbar-item.d.ts +25 -0
  140. package/dist/components/cv-toolbar-item.js +72 -0
  141. package/dist/components/cv-toolbar-separator.d.ts +25 -0
  142. package/dist/components/cv-toolbar-separator.js +45 -0
  143. package/dist/components/cv-toolbar.d.ts +63 -0
  144. package/dist/components/cv-toolbar.js +295 -0
  145. package/dist/components/cv-tooltip.d.ts +83 -0
  146. package/dist/components/cv-tooltip.js +455 -0
  147. package/dist/components/cv-treegrid-cell.d.ts +30 -0
  148. package/dist/components/cv-treegrid-cell.js +57 -0
  149. package/dist/components/cv-treegrid-column.d.ts +37 -0
  150. package/dist/components/cv-treegrid-column.js +53 -0
  151. package/dist/components/cv-treegrid-row.d.ts +55 -0
  152. package/dist/components/cv-treegrid-row.js +90 -0
  153. package/dist/components/cv-treegrid.d.ts +96 -0
  154. package/dist/components/cv-treegrid.js +632 -0
  155. package/dist/components/cv-treeitem.d.ts +58 -0
  156. package/dist/components/cv-treeitem.js +144 -0
  157. package/dist/components/cv-treeview.d.ts +70 -0
  158. package/dist/components/cv-treeview.js +396 -0
  159. package/dist/components/cv-window-splitter.d.ts +79 -0
  160. package/dist/components/cv-window-splitter.js +316 -0
  161. package/dist/components/index.d.ts +94 -0
  162. package/dist/components/index.js +79 -0
  163. package/dist/dialog/create-dialog-controller.d.ts +31 -0
  164. package/dist/dialog/create-dialog-controller.js +320 -0
  165. package/dist/dialog/index.d.ts +2 -0
  166. package/dist/dialog/index.js +1 -0
  167. package/dist/form-associated/FormAssociatedReatomElement.d.ts +25 -0
  168. package/dist/form-associated/FormAssociatedReatomElement.js +70 -0
  169. package/dist/form-associated/withFormAssociated.d.ts +5 -0
  170. package/dist/form-associated/withFormAssociated.js +1 -0
  171. package/dist/index.d.ts +10 -0
  172. package/dist/index.js +9 -0
  173. package/dist/reatom-lit/ReatomLitElement.d.ts +27 -0
  174. package/dist/reatom-lit/ReatomLitElement.js +118 -0
  175. package/dist/reatom-lit/html.d.ts +4 -0
  176. package/dist/reatom-lit/html.js +10 -0
  177. package/dist/reatom-lit/index.d.ts +4 -0
  178. package/dist/reatom-lit/index.js +4 -0
  179. package/dist/reatom-lit/watch.d.ts +15 -0
  180. package/dist/reatom-lit/watch.js +40 -0
  181. package/dist/reatom-lit/withReatomElement.d.ts +4 -0
  182. package/dist/reatom-lit/withReatomElement.js +57 -0
  183. package/dist/register.d.ts +1 -0
  184. package/dist/register.js +84 -0
  185. package/dist/styles/component-styles.d.ts +4 -0
  186. package/dist/styles/component-styles.js +78 -0
  187. package/dist/theme/cv-theme-provider.d.ts +32 -0
  188. package/dist/theme/cv-theme-provider.js +110 -0
  189. package/dist/theme/index.d.ts +4 -0
  190. package/dist/theme/index.js +2 -0
  191. package/dist/theme/theme-engine.d.ts +4 -0
  192. package/dist/theme/theme-engine.js +67 -0
  193. package/dist/theme/tokens.css +265 -0
  194. package/dist/theme/types.d.ts +7 -0
  195. package/dist/theme/types.js +1 -0
  196. package/dist/toast/create-toast-controller.d.ts +12 -0
  197. package/dist/toast/create-toast-controller.js +12 -0
  198. package/dist/toast/index.d.ts +2 -0
  199. package/dist/toast/index.js +1 -0
  200. package/package.json +146 -0
  201. package/specs/_template.md +110 -0
  202. package/specs/components/accordion.md +207 -0
  203. package/specs/components/alert.md +83 -0
  204. package/specs/components/badge.md +183 -0
  205. package/specs/components/breadcrumb.md +152 -0
  206. package/specs/components/button.md +227 -0
  207. package/specs/components/callout.md +153 -0
  208. package/specs/components/card.md +192 -0
  209. package/specs/components/carousel.md +232 -0
  210. package/specs/components/checkbox.md +141 -0
  211. package/specs/components/combobox.md +427 -0
  212. package/specs/components/context-menu.md +375 -0
  213. package/specs/components/copy-button.md +236 -0
  214. package/specs/components/date-picker.md +290 -0
  215. package/specs/components/dialog.md +184 -0
  216. package/specs/components/disclosure.md +151 -0
  217. package/specs/components/drawer.md +216 -0
  218. package/specs/components/feed.md +266 -0
  219. package/specs/components/grid.md +423 -0
  220. package/specs/components/input.md +237 -0
  221. package/specs/components/landmark.md +92 -0
  222. package/specs/components/link.md +117 -0
  223. package/specs/components/listbox.md +327 -0
  224. package/specs/components/menu.md +508 -0
  225. package/specs/components/meter.md +148 -0
  226. package/specs/components/number.md +268 -0
  227. package/specs/components/option.md +167 -0
  228. package/specs/components/popover.md +207 -0
  229. package/specs/components/progress-ring.md +134 -0
  230. package/specs/components/progress.md +110 -0
  231. package/specs/components/radio.md +208 -0
  232. package/specs/components/select.md +305 -0
  233. package/specs/components/sidebar.md +204 -0
  234. package/specs/components/spinbutton.md +157 -0
  235. package/specs/components/spinner.md +83 -0
  236. package/specs/components/switch.md +145 -0
  237. package/specs/components/table.md +372 -0
  238. package/specs/components/tabs.md +242 -0
  239. package/specs/components/textarea.md +166 -0
  240. package/specs/components/theme.md +364 -0
  241. package/specs/components/toast.md +198 -0
  242. package/specs/components/toolbar.md +258 -0
  243. package/specs/components/tooltip.md +152 -0
  244. package/specs/components/treegrid.md +363 -0
  245. package/specs/components/treeview.md +263 -0
  246. package/specs/components/window-splitter.md +225 -0
@@ -0,0 +1,123 @@
1
+ import { LitElement, css, html } from 'lit';
2
+ export class CVRadio extends LitElement {
3
+ static elementName = 'cv-radio';
4
+ static get properties() {
5
+ return {
6
+ value: { type: String, reflect: true },
7
+ disabled: { type: Boolean, reflect: true },
8
+ checked: { type: Boolean, reflect: true },
9
+ active: { type: Boolean, reflect: true },
10
+ size: { type: String, reflect: true },
11
+ };
12
+ }
13
+ constructor() {
14
+ super();
15
+ this.value = '';
16
+ this.disabled = false;
17
+ this.checked = false;
18
+ this.active = false;
19
+ this.size = 'medium';
20
+ }
21
+ static styles = [
22
+ css `
23
+ :host {
24
+ display: inline-block;
25
+ outline: none;
26
+ --cv-radio-indicator-size: 20px;
27
+ --cv-radio-dot-size: 8px;
28
+ --cv-radio-gap: var(--cv-space-2, 8px);
29
+ }
30
+
31
+ :host([size='small']) {
32
+ --cv-radio-indicator-size: 16px;
33
+ --cv-radio-dot-size: 6px;
34
+ }
35
+
36
+ :host([size='large']) {
37
+ --cv-radio-indicator-size: 24px;
38
+ --cv-radio-dot-size: 10px;
39
+ }
40
+
41
+ :host([hidden]) {
42
+ display: none;
43
+ }
44
+
45
+ .radio {
46
+ display: inline-flex;
47
+ align-items: center;
48
+ gap: var(--cv-radio-gap);
49
+ min-block-size: 32px;
50
+ padding: 0 var(--cv-space-1, 4px);
51
+ border-radius: var(--cv-radius-sm, 6px);
52
+ color: var(--cv-color-text, #e8ecf6);
53
+ transition: background var(--cv-duration-fast, 120ms) var(--cv-easing-standard, ease);
54
+ }
55
+
56
+ .indicator {
57
+ inline-size: var(--cv-radio-indicator-size);
58
+ block-size: var(--cv-radio-indicator-size);
59
+ display: inline-flex;
60
+ align-items: center;
61
+ justify-content: center;
62
+ border-radius: 50%;
63
+ border: 1px solid var(--cv-color-border, #2a3245);
64
+ background: var(--cv-color-surface, #141923);
65
+ transition:
66
+ border-color var(--cv-duration-fast, 120ms) var(--cv-easing-standard, ease),
67
+ background var(--cv-duration-fast, 120ms) var(--cv-easing-standard, ease);
68
+ }
69
+
70
+ .dot {
71
+ inline-size: var(--cv-radio-dot-size);
72
+ block-size: var(--cv-radio-dot-size);
73
+ border-radius: 50%;
74
+ background: var(--cv-color-primary, #65d7ff);
75
+ transform: scale(0);
76
+ transition: transform var(--cv-duration-fast, 120ms) var(--cv-easing-standard, ease);
77
+ }
78
+
79
+ :host([active]) .radio {
80
+ background: color-mix(in oklab, var(--cv-color-primary, #65d7ff) 12%, transparent);
81
+ }
82
+
83
+ :host([checked]) .indicator {
84
+ border-color: var(--cv-color-primary, #65d7ff);
85
+ background: color-mix(
86
+ in oklab,
87
+ var(--cv-color-primary, #65d7ff) 20%,
88
+ var(--cv-color-surface, #141923)
89
+ );
90
+ }
91
+
92
+ :host([checked]) .dot {
93
+ transform: scale(1);
94
+ }
95
+
96
+ :host([disabled]) {
97
+ opacity: 0.55;
98
+ cursor: not-allowed;
99
+ }
100
+
101
+ :host(:focus-visible) .radio {
102
+ outline: 2px solid var(--cv-color-primary, #65d7ff);
103
+ outline-offset: 1px;
104
+ }
105
+ `,
106
+ ];
107
+ static define() {
108
+ if (!customElements.get(this.elementName)) {
109
+ customElements.define(this.elementName, this);
110
+ }
111
+ }
112
+ render() {
113
+ return html `
114
+ <div class="radio" part="base">
115
+ <span class="indicator" part="indicator">
116
+ <span class="dot" part="dot"></span>
117
+ </span>
118
+ <span part="label"><slot></slot></span>
119
+ <span part="description"><slot name="description"></slot></span>
120
+ </div>
121
+ `;
122
+ }
123
+ }
@@ -0,0 +1,15 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class CVSelectGroup extends LitElement {
3
+ static elementName: string;
4
+ static get properties(): {
5
+ label: {
6
+ type: StringConstructor;
7
+ reflect: boolean;
8
+ };
9
+ };
10
+ label: string;
11
+ constructor();
12
+ static styles: import("lit").CSSResult[];
13
+ static define(): void;
14
+ protected render(): import("lit").TemplateResult<1>;
15
+ }
@@ -0,0 +1,44 @@
1
+ import { LitElement, css, html } from 'lit';
2
+ export class CVSelectGroup extends LitElement {
3
+ static elementName = 'cv-select-group';
4
+ static get properties() {
5
+ return {
6
+ label: { type: String, reflect: true },
7
+ };
8
+ }
9
+ constructor() {
10
+ super();
11
+ this.label = '';
12
+ }
13
+ static styles = [
14
+ css `
15
+ :host {
16
+ display: grid;
17
+ gap: var(--cv-space-1, 4px);
18
+ }
19
+
20
+ :host([hidden]) {
21
+ display: none;
22
+ }
23
+
24
+ .label {
25
+ padding: 0 var(--cv-space-2, 8px);
26
+ font-size: 0.75rem;
27
+ letter-spacing: 0.02em;
28
+ color: var(--cv-color-text-muted, #9aa6bf);
29
+ }
30
+ `,
31
+ ];
32
+ static define() {
33
+ if (!customElements.get(this.elementName)) {
34
+ customElements.define(this.elementName, this);
35
+ }
36
+ }
37
+ render() {
38
+ const content = this.label || this.getAttribute('label') || '';
39
+ return html `
40
+ <div class="label" part="label">${content}</div>
41
+ <slot></slot>
42
+ `;
43
+ }
44
+ }
@@ -0,0 +1,30 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class CVSelectOption extends LitElement {
3
+ static elementName: string;
4
+ static get properties(): {
5
+ value: {
6
+ type: StringConstructor;
7
+ reflect: boolean;
8
+ };
9
+ disabled: {
10
+ type: BooleanConstructor;
11
+ reflect: boolean;
12
+ };
13
+ selected: {
14
+ type: BooleanConstructor;
15
+ reflect: boolean;
16
+ };
17
+ active: {
18
+ type: BooleanConstructor;
19
+ reflect: boolean;
20
+ };
21
+ };
22
+ value: string;
23
+ disabled: boolean;
24
+ selected: boolean;
25
+ active: boolean;
26
+ constructor();
27
+ static styles: import("lit").CSSResult[];
28
+ static define(): void;
29
+ protected render(): import("lit").TemplateResult<1>;
30
+ }
@@ -0,0 +1,66 @@
1
+ import { LitElement, css, html } from 'lit';
2
+ import { componentResetStyles } from '../styles/component-styles.js';
3
+ export class CVSelectOption extends LitElement {
4
+ static elementName = 'cv-select-option';
5
+ static get properties() {
6
+ return {
7
+ value: { type: String, reflect: true },
8
+ disabled: { type: Boolean, reflect: true },
9
+ selected: { type: Boolean, reflect: true },
10
+ active: { type: Boolean, reflect: true },
11
+ };
12
+ }
13
+ constructor() {
14
+ super();
15
+ this.value = '';
16
+ this.disabled = false;
17
+ this.selected = false;
18
+ this.active = false;
19
+ }
20
+ static styles = [
21
+ componentResetStyles,
22
+ css `
23
+ :host {
24
+ display: inline-block;
25
+ outline: none;
26
+ }
27
+
28
+ .option {
29
+ padding: var(--cv-space-2, 8px) var(--cv-space-3, 12px);
30
+ border-radius: var(--cv-radius-sm, 6px);
31
+ color: var(--cv-color-text, #e8ecf6);
32
+ background: transparent;
33
+ transition:
34
+ background var(--cv-duration-fast, 120ms) var(--cv-easing-standard, ease),
35
+ color var(--cv-duration-fast, 120ms) var(--cv-easing-standard, ease);
36
+ }
37
+
38
+ :host([active]) .option {
39
+ background: color-mix(in oklab, var(--cv-color-primary, #65d7ff) 24%, transparent);
40
+ }
41
+
42
+ :host([selected]) .option {
43
+ background: color-mix(in oklab, var(--cv-color-primary, #65d7ff) 32%, transparent);
44
+ }
45
+
46
+ :host([disabled]) .option {
47
+ opacity: 0.5;
48
+ }
49
+
50
+ :host(:focus-visible) .option {
51
+ outline: 2px solid var(--cv-color-primary, #65d7ff);
52
+ outline-offset: 1px;
53
+ }
54
+ `,
55
+ ];
56
+ static define() {
57
+ if (!customElements.get(this.elementName)) {
58
+ customElements.define(this.elementName, this);
59
+ }
60
+ }
61
+ render() {
62
+ return html `
63
+ <div class="option cv-u-row" part="base"><slot></slot></div>
64
+ `;
65
+ }
66
+ }
@@ -0,0 +1,128 @@
1
+ import { type ListboxSelectionMode } from '@chromvoid/headless-ui/listbox';
2
+ import type { PropertyValues } from 'lit';
3
+ import { FormAssociatedReatomElement } from '../form-associated/FormAssociatedReatomElement.js';
4
+ import type { FormAssociatedValidity } from '../form-associated/withFormAssociated.js';
5
+ export interface CVSelectEventDetail {
6
+ value: string | null;
7
+ values: string[];
8
+ activeId: string | null;
9
+ open: boolean;
10
+ }
11
+ export type CVSelectInputEvent = CustomEvent<CVSelectEventDetail>;
12
+ export type CVSelectChangeEvent = CustomEvent<CVSelectEventDetail>;
13
+ export interface CVSelectEventMap {
14
+ 'cv-input': CVSelectInputEvent;
15
+ 'cv-change': CVSelectChangeEvent;
16
+ }
17
+ export declare class CVSelect extends FormAssociatedReatomElement {
18
+ static elementName: string;
19
+ static hostDisplay: "inline-block";
20
+ static get properties(): {
21
+ name: {
22
+ type: StringConstructor;
23
+ };
24
+ value: {
25
+ type: StringConstructor;
26
+ reflect: boolean;
27
+ };
28
+ selectedValues: {
29
+ attribute: boolean;
30
+ };
31
+ open: {
32
+ type: BooleanConstructor;
33
+ reflect: boolean;
34
+ };
35
+ selectionMode: {
36
+ type: StringConstructor;
37
+ attribute: string;
38
+ reflect: boolean;
39
+ };
40
+ ariaLabel: {
41
+ type: StringConstructor;
42
+ attribute: string;
43
+ };
44
+ closeOnSelect: {
45
+ type: BooleanConstructor;
46
+ attribute: string;
47
+ reflect: boolean;
48
+ };
49
+ placeholder: {
50
+ type: StringConstructor;
51
+ };
52
+ disabled: {
53
+ type: BooleanConstructor;
54
+ reflect: boolean;
55
+ };
56
+ required: {
57
+ type: BooleanConstructor;
58
+ reflect: boolean;
59
+ };
60
+ clearable: {
61
+ type: BooleanConstructor;
62
+ reflect: boolean;
63
+ };
64
+ size: {
65
+ type: StringConstructor;
66
+ reflect: boolean;
67
+ };
68
+ };
69
+ name: string;
70
+ value: string;
71
+ selectedValues: string[];
72
+ open: boolean;
73
+ selectionMode: ListboxSelectionMode;
74
+ ariaLabel: string;
75
+ closeOnSelect: boolean;
76
+ placeholder: string;
77
+ disabled: boolean;
78
+ required: boolean;
79
+ clearable: boolean;
80
+ size: 'small' | 'medium' | 'large';
81
+ private readonly idBase;
82
+ private optionRecords;
83
+ private groupRecords;
84
+ private optionListeners;
85
+ private model;
86
+ private defaultSelectedValues;
87
+ private didCaptureDefaultSelection;
88
+ constructor();
89
+ static styles: import("lit").CSSResult[];
90
+ static define(): void;
91
+ connectedCallback(): void;
92
+ disconnectedCallback(): void;
93
+ willUpdate(changedProperties: PropertyValues): void;
94
+ updated(changedProperties: PropertyValues): void;
95
+ private getOptionElementsWithinGroup;
96
+ private ensureOptionValue;
97
+ private parseStructure;
98
+ private resolveInitialSelectedFromOptions;
99
+ private rebuildModelFromSlot;
100
+ private setSelectedIdsInModel;
101
+ private detachOptionListeners;
102
+ private attachOptionListeners;
103
+ private syncOptionElements;
104
+ private captureState;
105
+ private dispatchInput;
106
+ private dispatchChange;
107
+ private focusTrigger;
108
+ private applyInteractionResult;
109
+ protected onFormDisabledChanged(_disabled: boolean): void;
110
+ protected onFormReset(): void;
111
+ protected onFormStateRestore(state: string | File | FormData | null): void;
112
+ protected isFormAssociatedDisabled(): boolean;
113
+ protected getFormAssociatedValue(): string | File | FormData | null;
114
+ protected getFormAssociatedValidity(): FormAssociatedValidity;
115
+ private isEffectivelyDisabled;
116
+ private syncStateFromModel;
117
+ private restoreSelectedIds;
118
+ private syncOutsidePointerListener;
119
+ private handleDocumentPointerDown;
120
+ private handleTriggerClick;
121
+ private handleTriggerKeyDown;
122
+ private handleListboxKeyDown;
123
+ private handleOptionClick;
124
+ private handleClearClick;
125
+ private handleSlotChange;
126
+ private getValueText;
127
+ protected render(): import("lit").TemplateResult<1>;
128
+ }