@kodaris/krubble-components 1.0.4 → 1.0.6

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 (58) hide show
  1. package/custom-elements.json +1596 -382
  2. package/dist/alert/alert.d.ts.map +1 -0
  3. package/dist/alert/alert.js.map +1 -0
  4. package/dist/button/button.d.ts +34 -3
  5. package/dist/button/button.d.ts.map +1 -1
  6. package/dist/button/button.js +193 -38
  7. package/dist/button/button.js.map +1 -1
  8. package/dist/code-demo/code-demo.d.ts.map +1 -1
  9. package/dist/code-demo/code-demo.js +2 -1
  10. package/dist/code-demo/code-demo.js.map +1 -1
  11. package/dist/form/index.d.ts +2 -0
  12. package/dist/form/index.d.ts.map +1 -1
  13. package/dist/form/index.js +2 -0
  14. package/dist/form/index.js.map +1 -1
  15. package/dist/form/select/select-option.d.ts +27 -0
  16. package/dist/form/select/select-option.d.ts.map +1 -0
  17. package/dist/form/select/select-option.js +50 -0
  18. package/dist/form/select/select-option.js.map +1 -0
  19. package/dist/form/select/select.d.ts +81 -0
  20. package/dist/form/select/select.d.ts.map +1 -0
  21. package/dist/form/select/select.js +519 -0
  22. package/dist/form/select/select.js.map +1 -0
  23. package/dist/form/text-field/text-field.d.ts +6 -0
  24. package/dist/form/text-field/text-field.d.ts.map +1 -1
  25. package/dist/form/text-field/text-field.js +38 -8
  26. package/dist/form/text-field/text-field.js.map +1 -1
  27. package/dist/index.d.ts +5 -2
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +6 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/krubble.bundled.js +1329 -156
  32. package/dist/krubble.bundled.js.map +1 -1
  33. package/dist/krubble.bundled.min.js +592 -91
  34. package/dist/krubble.bundled.min.js.map +1 -1
  35. package/dist/krubble.umd.js +1325 -151
  36. package/dist/krubble.umd.js.map +1 -1
  37. package/dist/krubble.umd.min.js +585 -84
  38. package/dist/krubble.umd.min.js.map +1 -1
  39. package/dist/snackbar/snackbar.d.ts.map +1 -1
  40. package/dist/snackbar/snackbar.js +8 -1
  41. package/dist/snackbar/snackbar.js.map +1 -1
  42. package/dist/style/base.d.ts +6 -0
  43. package/dist/style/base.d.ts.map +1 -0
  44. package/dist/style/base.js +34 -0
  45. package/dist/style/base.js.map +1 -0
  46. package/dist/tabs/tab.d.ts +54 -0
  47. package/dist/tabs/tab.d.ts.map +1 -0
  48. package/dist/tabs/tab.js +103 -0
  49. package/dist/tabs/tab.js.map +1 -0
  50. package/dist/tabs/tabs.d.ts +47 -0
  51. package/dist/tabs/tabs.d.ts.map +1 -0
  52. package/dist/tabs/tabs.js +282 -0
  53. package/dist/tabs/tabs.js.map +1 -0
  54. package/package.json +1 -1
  55. package/dist/alert.d.ts.map +0 -1
  56. package/dist/alert.js.map +0 -1
  57. /package/dist/{alert.d.ts → alert/alert.d.ts} +0 -0
  58. /package/dist/{alert.js → alert/alert.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../src/alert/alert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAIrD;;;;;GAKG;AACH,qBACa,OAAQ,SAAQ,UAAU;IACrC,OAAgB,MAAM,0BA2GpB;IAEF;;OAEG;IAEH,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAU;IAExD;;OAEG;IAEH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IAEH,WAAW,UAAS;IAEpB;;OAEG;IAEH,OAAO,UAAQ;IAEf,mCAAmC;IACnC,OAAO,CAAC,cAAc;IAKb,MAAM;CA2ChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.js","sourceRoot":"","sources":["../../src/alert/alert.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD;;;;;GAKG;AAEI,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAAhC;;QA8GL;;WAEG;QAEH,SAAI,GAA6C,MAAM,CAAC;QAQxD;;WAEG;QAEH,gBAAW,GAAG,KAAK,CAAC;QAEpB;;WAEG;QAEH,YAAO,GAAG,IAAI,CAAC;IAmDjB,CAAC;IAjDC,mCAAmC;IAC3B,cAAc;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC;IAEQ,MAAM;QACb,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,IAAI,CAAA,sPAAsP;YAChQ,OAAO,EAAE,IAAI,CAAA,2PAA2P;YACxQ,OAAO,EAAE,IAAI,CAAA,uUAAuU;YACpV,KAAK,EAAE,IAAI,CAAA,6UAA6U;SACzV,CAAC;QAEF,OAAO,IAAI,CAAA;;gBAEC,QAAQ,CAAC;YACf,OAAO,EAAE,IAAI;YACb,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI;YAC7B,eAAe,EAAE,CAAC,IAAI,CAAC,OAAO;SAC/B,CAAC;;;UAGA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;YAEd,IAAI,CAAC,MAAM;YACX,CAAC,CAAC,IAAI,CAAA,sBAAsB,IAAI,CAAC,MAAM,OAAO;YAC9C,CAAC,CAAC,OAAO;;;;;UAKV,IAAI,CAAC,WAAW;YACjB,CAAC,CAAC,IAAI,CAAA;;;;;yBAKS,IAAI,CAAC,cAAc;;;;;;aAM/B;YACH,CAAC,CAAC,OAAQ;;KAEf,CAAC;IACJ,CAAC;;AArLe,cAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2G3B,AA3GqB,CA2GpB;AAMF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qCAC6B;AAMxD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uCACX;AAMhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CACR;AAMpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACb;AApIJ,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO,CAuLnB"}
@@ -3,15 +3,18 @@ import { LitElement } from 'lit';
3
3
  * A customizable button component.
4
4
  *
5
5
  * @slot - The button content
6
- * @csspart button - The button element
7
6
  * @fires click - Fired when the button is clicked
8
7
  */
9
8
  export declare class KRButton extends LitElement {
10
9
  static styles: import("lit").CSSResult;
11
10
  /**
12
- * The button variant style
11
+ * The button variant (shape)
13
12
  */
14
- variant: 'primary' | 'secondary' | 'outline';
13
+ variant: 'flat' | 'outline';
14
+ /**
15
+ * The button color
16
+ */
17
+ color: 'primary' | 'secondary';
15
18
  /**
16
19
  * The button size
17
20
  */
@@ -20,6 +23,34 @@ export declare class KRButton extends LitElement {
20
23
  * Whether the button is disabled
21
24
  */
22
25
  disabled: boolean;
26
+ private _state;
27
+ private _stateText;
28
+ private _stateTimeout?;
29
+ connectedCallback(): void;
30
+ disconnectedCallback(): void;
31
+ private _handleKeydown;
32
+ /**
33
+ * Shows a loading spinner and disables the button.
34
+ */
35
+ showLoading(): void;
36
+ /**
37
+ * Shows a success state with optional custom text.
38
+ * @param text - Text to display (default: "Saved")
39
+ * @param duration - Duration in ms before auto-reset (default: 2000)
40
+ */
41
+ showSuccess(text?: string, duration?: number): void;
42
+ /**
43
+ * Shows an error state with optional custom text.
44
+ * @param text - Text to display (default: "Error")
45
+ * @param duration - Duration in ms before auto-reset (default: 2000)
46
+ */
47
+ showError(text?: string, duration?: number): void;
48
+ /**
49
+ * Resets the button to its idle state.
50
+ */
51
+ reset(): void;
52
+ private _clearStateTimeout;
53
+ protected updated(changedProperties: Map<string, unknown>): void;
23
54
  render(): import("lit-html").TemplateResult<1>;
24
55
  }
25
56
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/button/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C;;;;;;GAMG;AACH,qBACa,QAAS,SAAQ,UAAU;IACtC,OAAgB,MAAM,0BA0EpB;IAEF;;OAEG;IAEH,OAAO,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAa;IAEzD;;OAEG;IAEH,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAY;IAE9C;;OAEG;IAEH,QAAQ,UAAS;IAER,MAAM;CAahB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/button/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C;;;;;GAKG;AACH,qBACa,QAAS,SAAQ,UAAU;IACtC,OAAgB,MAAM,0BAiJpB;IAEF;;OAEG;IAEH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAU;IAErC;;OAEG;IAEH,KAAK,EAAE,SAAS,GAAG,WAAW,CAAa;IAE3C;;OAEG;IAEH,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAY;IAE9C;;OAEG;IAEH,QAAQ,UAAS;IAGjB,OAAO,CAAC,MAAM,CAAoD;IAGlE,OAAO,CAAC,UAAU,CAAM;IAExB,OAAO,CAAC,aAAa,CAAC,CAAS;IAE/B,iBAAiB;IAOjB,oBAAoB;IAKpB,OAAO,CAAC,cAAc,CAKpB;IAEF;;OAEG;IACH,WAAW;IAMX;;;;OAIG;IACH,WAAW,CAAC,IAAI,SAAY,EAAE,QAAQ,SAAO;IAO7C;;;;OAIG;IACH,SAAS,CAAC,IAAI,SAAU,EAAE,QAAQ,SAAO;IAOzC;;OAEG;IACH,KAAK;IAML,OAAO,CAAC,kBAAkB;cAOP,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAWzD,MAAM;CAYhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}
@@ -5,21 +5,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { LitElement, html, css } from 'lit';
8
- import { customElement, property } from 'lit/decorators.js';
8
+ import { customElement, property, state } from 'lit/decorators.js';
9
9
  /**
10
10
  * A customizable button component.
11
11
  *
12
12
  * @slot - The button content
13
- * @csspart button - The button element
14
13
  * @fires click - Fired when the button is clicked
15
14
  */
16
15
  let KRButton = class KRButton extends LitElement {
17
16
  constructor() {
18
17
  super(...arguments);
19
18
  /**
20
- * The button variant style
19
+ * The button variant (shape)
21
20
  */
22
- this.variant = 'primary';
21
+ this.variant = 'flat';
22
+ /**
23
+ * The button color
24
+ */
25
+ this.color = 'primary';
23
26
  /**
24
27
  * The button size
25
28
  */
@@ -28,104 +31,256 @@ let KRButton = class KRButton extends LitElement {
28
31
  * Whether the button is disabled
29
32
  */
30
33
  this.disabled = false;
34
+ this._state = 'idle';
35
+ this._stateText = '';
36
+ this._handleKeydown = (e) => {
37
+ if (e.key === 'Enter' || e.key === ' ') {
38
+ e.preventDefault();
39
+ this.click();
40
+ }
41
+ };
42
+ }
43
+ connectedCallback() {
44
+ super.connectedCallback();
45
+ this.setAttribute('role', 'button');
46
+ this.setAttribute('tabindex', '0');
47
+ this.addEventListener('keydown', this._handleKeydown);
48
+ }
49
+ disconnectedCallback() {
50
+ super.disconnectedCallback();
51
+ this.removeEventListener('keydown', this._handleKeydown);
52
+ }
53
+ /**
54
+ * Shows a loading spinner and disables the button.
55
+ */
56
+ showLoading() {
57
+ this._clearStateTimeout();
58
+ this._state = 'loading';
59
+ this._stateText = '';
60
+ }
61
+ /**
62
+ * Shows a success state with optional custom text.
63
+ * @param text - Text to display (default: "Saved")
64
+ * @param duration - Duration in ms before auto-reset (default: 2000)
65
+ */
66
+ showSuccess(text = 'Success', duration = 2000) {
67
+ this._clearStateTimeout();
68
+ this._state = 'success';
69
+ this._stateText = text;
70
+ this._stateTimeout = window.setTimeout(() => this.reset(), duration);
71
+ }
72
+ /**
73
+ * Shows an error state with optional custom text.
74
+ * @param text - Text to display (default: "Error")
75
+ * @param duration - Duration in ms before auto-reset (default: 2000)
76
+ */
77
+ showError(text = 'Error', duration = 2000) {
78
+ this._clearStateTimeout();
79
+ this._state = 'error';
80
+ this._stateText = text;
81
+ this._stateTimeout = window.setTimeout(() => this.reset(), duration);
82
+ }
83
+ /**
84
+ * Resets the button to its idle state.
85
+ */
86
+ reset() {
87
+ this._clearStateTimeout();
88
+ this._state = 'idle';
89
+ this._stateText = '';
90
+ }
91
+ _clearStateTimeout() {
92
+ if (this._stateTimeout) {
93
+ clearTimeout(this._stateTimeout);
94
+ this._stateTimeout = undefined;
95
+ }
96
+ }
97
+ updated(changedProperties) {
98
+ // Reflect state classes to host
99
+ this.classList.toggle('kr-button--loading', this._state === 'loading');
100
+ this.classList.toggle('kr-button--success', this._state === 'success');
101
+ this.classList.toggle('kr-button--error', this._state === 'error');
102
+ this.classList.toggle(`kr-button--${this.variant}`, true);
103
+ this.classList.toggle(`kr-button--${this.color}`, true);
104
+ this.classList.toggle('kr-button--small', this.size === 'small');
105
+ this.classList.toggle('kr-button--large', this.size === 'large');
31
106
  }
32
107
  render() {
33
- const sizeClass = this.size !== 'medium' ? this.size : '';
34
108
  return html `
35
- <button
36
- part="button"
37
- class="${this.variant} ${sizeClass}"
38
- ?disabled=${this.disabled}
39
- >
40
- <slot></slot>
41
- </button>
109
+ <slot></slot>
110
+ ${this._state !== 'idle'
111
+ ? html `<span class="state-overlay">
112
+ ${this._state === 'loading'
113
+ ? html `<span class="spinner"></span>`
114
+ : this._stateText}
115
+ </span>`
116
+ : ''}
42
117
  `;
43
118
  }
44
119
  };
45
120
  KRButton.styles = css `
46
121
  :host {
47
- display: inline-block;
48
- }
49
-
50
- button {
122
+ display: inline-flex;
123
+ position: relative;
124
+ align-items: center;
125
+ justify-content: center;
51
126
  font-family: inherit;
52
127
  font-size: 14px;
53
128
  font-weight: 400;
54
129
  letter-spacing: 0.01em;
55
130
  padding: 0 22px;
56
131
  height: 36px;
57
- line-height: 36px;
58
132
  border: none;
59
133
  border-radius: 20px;
60
134
  cursor: pointer;
61
135
  transition: background 0.15s ease;
136
+ user-select: none;
137
+ box-sizing: border-box;
62
138
  }
63
139
 
64
- button:active:not(:disabled) {
65
- transform: scale(0.98);
140
+ :host([disabled]),
141
+ :host(.kr-button--loading),
142
+ :host(.kr-button--success),
143
+ :host(.kr-button--error) {
144
+ cursor: not-allowed;
145
+ pointer-events: none;
66
146
  }
67
147
 
68
- button:disabled {
148
+ :host([disabled]:not(.kr-button--loading):not(.kr-button--success):not(.kr-button--error)) {
69
149
  opacity: 0.5;
70
- cursor: not-allowed;
71
150
  }
72
151
 
73
- /* Variants */
74
- button.primary {
152
+ /* Flat + Primary (default) */
153
+ :host,
154
+ :host(.kr-button--flat.kr-button--primary) {
75
155
  background: #163052;
76
156
  color: white;
77
157
  }
78
158
 
79
- button.primary:hover:not(:disabled) {
159
+ :host(:hover:not([disabled])),
160
+ :host(.kr-button--flat.kr-button--primary:hover:not([disabled])) {
80
161
  background: #0e1f35;
81
162
  }
82
163
 
83
- button.secondary {
164
+ /* Flat + Secondary */
165
+ :host(.kr-button--flat.kr-button--secondary) {
84
166
  background: #f3f4f6;
85
167
  color: #374151;
86
168
  }
87
169
 
88
- button.secondary:hover:not(:disabled) {
170
+ :host(.kr-button--flat.kr-button--secondary:hover:not([disabled])) {
89
171
  background: #e5e7eb;
90
172
  }
91
173
 
92
- button.outline {
174
+ /* Outline + Primary */
175
+ :host(.kr-button--outline.kr-button--primary) {
176
+ background: transparent;
177
+ border: 1px solid #163052;
178
+ color: #163052;
179
+ }
180
+
181
+ :host(.kr-button--outline.kr-button--primary:hover:not([disabled])) {
182
+ background: rgba(22, 48, 82, 0.05);
183
+ }
184
+
185
+ /* Outline + Secondary */
186
+ :host(.kr-button--outline.kr-button--secondary) {
93
187
  background: transparent;
94
188
  border: 1px solid #d1d5db;
95
189
  color: #374151;
96
- box-shadow: none;
97
190
  }
98
191
 
99
- button.outline:hover:not(:disabled) {
192
+ :host(.kr-button--outline.kr-button--secondary:hover:not([disabled])) {
100
193
  background: #f9fafb;
101
194
  border-color: #9ca3af;
102
- box-shadow: none;
103
195
  }
104
196
 
105
197
  /* Sizes */
106
- button.small {
198
+ :host(.kr-button--small) {
107
199
  font-size: 13px;
108
200
  height: 28px;
109
- line-height: 28px;
110
201
  padding: 0 16px;
111
202
  }
112
203
 
113
- button.large {
114
- font-size: 1rem;
204
+ :host(.kr-button--large) {
205
+ font-size: 16px;
115
206
  height: 44px;
116
- line-height: 44px;
117
207
  padding: 0 24px;
208
+ border-radius: 30px;
209
+ }
210
+
211
+ /* State colors */
212
+ :host(.kr-button--success) {
213
+ background: #198754 !important;
214
+ color: white !important;
215
+ }
216
+
217
+ :host(.kr-button--error) {
218
+ background: rgb(220, 53, 69) !important;
219
+ color: white !important;
220
+ }
221
+
222
+ /* Content */
223
+ :host(.kr-button--loading) slot,
224
+ :host(.kr-button--success) slot,
225
+ :host(.kr-button--error) slot {
226
+ visibility: hidden;
227
+ }
228
+
229
+ /* State overlay */
230
+ .state-overlay {
231
+ position: absolute;
232
+ inset: 0;
233
+ display: flex;
234
+ align-items: center;
235
+ justify-content: center;
236
+ }
237
+
238
+ /* Spinner */
239
+ @keyframes kr-spin {
240
+ to {
241
+ transform: rotate(360deg);
242
+ }
243
+ }
244
+
245
+ .spinner {
246
+ width: 12px;
247
+ height: 12px;
248
+ border: 2.5px solid currentColor;
249
+ border-top-color: transparent;
250
+ border-radius: 50%;
251
+ animation: kr-spin 0.6s linear infinite;
252
+ }
253
+
254
+ :host(.kr-button--small) .spinner {
255
+ width: 10px;
256
+ height: 10px;
257
+ border-width: 2px;
258
+ }
259
+
260
+ :host(.kr-button--large) .spinner {
261
+ width: 16px;
262
+ height: 16px;
263
+ border-width: 3px;
118
264
  }
119
265
  `;
120
266
  __decorate([
121
- property({ type: String })
267
+ property({ type: String, reflect: true })
122
268
  ], KRButton.prototype, "variant", void 0);
123
269
  __decorate([
124
- property({ type: String })
270
+ property({ type: String, reflect: true })
271
+ ], KRButton.prototype, "color", void 0);
272
+ __decorate([
273
+ property({ type: String, reflect: true })
125
274
  ], KRButton.prototype, "size", void 0);
126
275
  __decorate([
127
- property({ type: Boolean })
276
+ property({ type: Boolean, reflect: true })
128
277
  ], KRButton.prototype, "disabled", void 0);
278
+ __decorate([
279
+ state()
280
+ ], KRButton.prototype, "_state", void 0);
281
+ __decorate([
282
+ state()
283
+ ], KRButton.prototype, "_stateText", void 0);
129
284
  KRButton = __decorate([
130
285
  customElement('kr-button')
131
286
  ], KRButton);
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/button/button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;;GAMG;AAEI,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;IAAjC;;QA6EL;;WAEG;QAEH,YAAO,GAAwC,SAAS,CAAC;QAEzD;;WAEG;QAEH,SAAI,GAAiC,QAAQ,CAAC;QAE9C;;WAEG;QAEH,aAAQ,GAAG,KAAK,CAAC;IAenB,CAAC;IAbU,MAAM;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1D,OAAO,IAAI,CAAA;;;iBAGE,IAAI,CAAC,OAAO,IAAI,SAAS;oBACtB,IAAI,CAAC,QAAQ;;;;KAI5B,CAAC;IACJ,CAAC;;AA1Ge,eAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0E3B,AA1EqB,CA0EpB;AAMF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yCAC8B;AAMzD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sCACmB;AAM9C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACX;AA7FN,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CA4GpB"}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/button/button.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"code-demo.d.ts","sourceRoot":"","sources":["../../src/code-demo/code-demo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAK5C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,KAAK,CAAC,EAAE;YACN,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;YACxE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACpC,CAAC;KACH;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,0BA+JpB;IAGF,QAAQ,SAAU;IAGlB,IAAI,SAAM;IAGV,OAAO,CAAC,SAAS,CAAiC;IAGlD,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,UAAU;YAMJ,QAAQ;IAcb,MAAM;CAiChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,UAAU,CAAC;KAC5B;CACF"}
1
+ {"version":3,"file":"code-demo.d.ts","sourceRoot":"","sources":["../../src/code-demo/code-demo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAK5C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,KAAK,CAAC,EAAE;YACN,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;YACxE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACpC,CAAC;KACH;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,0BAgKpB;IAGF,QAAQ,SAAU;IAGlB,IAAI,SAAM;IAGV,OAAO,CAAC,SAAS,CAAiC;IAGlD,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,UAAU;YAMJ,QAAQ;IAcb,MAAM;CAiChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,UAAU,CAAC;KAC5B;CACF"}
@@ -103,7 +103,6 @@ KRCodeDemo.styles = css `
103
103
  display: block;
104
104
  border: 1px solid #e9ecef;
105
105
  border-radius: 8px;
106
- overflow: hidden;
107
106
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
108
107
  }
109
108
 
@@ -111,6 +110,7 @@ KRCodeDemo.styles = css `
111
110
  display: flex;
112
111
  background: #f8f9fa;
113
112
  border-bottom: 1px solid #e9ecef;
113
+ border-radius: 8px 8px 0 0;
114
114
  }
115
115
 
116
116
  .tab {
@@ -170,6 +170,7 @@ KRCodeDemo.styles = css `
170
170
  font-size: 13px;
171
171
  line-height: 1.6;
172
172
  color: #cdd6f4;
173
+ border-radius: 0 0 8px 8px;
173
174
  }
174
175
 
175
176
  .code code {
@@ -1 +1 @@
1
- {"version":3,"file":"code-demo.js","sourceRoot":"","sources":["../../src/code-demo/code-demo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-demo.js","sourceRoot":"","sources":["../../src/code-demo/code-demo.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
1
  export { KRTextField } from './text-field/text-field.js';
2
+ export { KRSelect } from './select/select.js';
3
+ export { KRSelectOption } from './select/select-option.js';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/form/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/form/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,3 +1,5 @@
1
1
  // Form components
2
2
  export { KRTextField } from './text-field/text-field.js';
3
+ export { KRSelect } from './select/select.js';
4
+ export { KRSelectOption } from './select/select-option.js';
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/form/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/form/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * An option for the kr-select component.
4
+ *
5
+ * @element kr-select-option
6
+ * @slot - The option label content
7
+ */
8
+ export declare class KRSelectOption extends LitElement {
9
+ static styles: import("lit").CSSResult;
10
+ /**
11
+ * The option value
12
+ */
13
+ value: string;
14
+ /**
15
+ * Whether the option is disabled
16
+ */
17
+ disabled: boolean;
18
+ /** Gets the label text from the slot */
19
+ get label(): string;
20
+ render(): import("lit-html").TemplateResult<1>;
21
+ }
22
+ declare global {
23
+ interface HTMLElementTagNameMap {
24
+ 'kr-select-option': KRSelectOption;
25
+ }
26
+ }
27
+ //# sourceMappingURL=select-option.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-option.d.ts","sourceRoot":"","sources":["../../../src/form/select/select-option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C;;;;;GAKG;AACH,qBACa,cAAe,SAAQ,UAAU;IAC5C,OAAgB,MAAM,0BAIpB;IAEF;;OAEG;IAEH,KAAK,SAAM;IAEX;;OAEG;IAEH,QAAQ,UAAS;IAEjB,wCAAwC;IACxC,IAAI,KAAK,IAAI,MAAM,CAElB;IAEQ,MAAM;CAGhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,cAAc,CAAC;KACpC;CACF"}
@@ -0,0 +1,50 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { LitElement, html, css } from 'lit';
8
+ import { customElement, property } from 'lit/decorators.js';
9
+ /**
10
+ * An option for the kr-select component.
11
+ *
12
+ * @element kr-select-option
13
+ * @slot - The option label content
14
+ */
15
+ let KRSelectOption = class KRSelectOption extends LitElement {
16
+ constructor() {
17
+ super(...arguments);
18
+ /**
19
+ * The option value
20
+ */
21
+ this.value = '';
22
+ /**
23
+ * Whether the option is disabled
24
+ */
25
+ this.disabled = false;
26
+ }
27
+ /** Gets the label text from the slot */
28
+ get label() {
29
+ return this.textContent?.trim() || '';
30
+ }
31
+ render() {
32
+ return html `<slot></slot>`;
33
+ }
34
+ };
35
+ KRSelectOption.styles = css `
36
+ :host {
37
+ display: none;
38
+ }
39
+ `;
40
+ __decorate([
41
+ property({ type: String })
42
+ ], KRSelectOption.prototype, "value", void 0);
43
+ __decorate([
44
+ property({ type: Boolean })
45
+ ], KRSelectOption.prototype, "disabled", void 0);
46
+ KRSelectOption = __decorate([
47
+ customElement('kr-select-option')
48
+ ], KRSelectOption);
49
+ export { KRSelectOption };
50
+ //# sourceMappingURL=select-option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-option.js","sourceRoot":"","sources":["../../../src/form/select/select-option.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;GAKG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU;IAAvC;;QAOL;;WAEG;QAEH,UAAK,GAAG,EAAE,CAAC;QAEX;;WAEG;QAEH,aAAQ,GAAG,KAAK,CAAC;IAUnB,CAAC;IARC,wCAAwC;IACxC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AAzBe,qBAAM,GAAG,GAAG,CAAA;;;;GAI3B,AAJqB,CAIpB;AAMF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAChB;AAMX;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDACX;AAjBN,cAAc;IAD1B,aAAa,CAAC,kBAAkB,CAAC;GACrB,cAAc,CA2B1B"}
@@ -0,0 +1,81 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * A select dropdown component that works with native browser forms.
4
+ *
5
+ * Uses ElementInternals for form association, allowing the component
6
+ * to participate in form submission, validation, and reset.
7
+ *
8
+ * @element kr-select
9
+ * @slot - The kr-select-option elements
10
+ */
11
+ export declare class KRSelect extends LitElement {
12
+ static styles: import("lit").CSSResult;
13
+ static formAssociated: boolean;
14
+ private _internals;
15
+ constructor();
16
+ /**
17
+ * The select label text
18
+ */
19
+ label: string;
20
+ /**
21
+ * The input name for form submission
22
+ */
23
+ name: string;
24
+ /**
25
+ * The currently selected value
26
+ */
27
+ value: string;
28
+ /**
29
+ * Placeholder text when no option is selected
30
+ */
31
+ placeholder: string;
32
+ /**
33
+ * Whether the select is disabled
34
+ */
35
+ disabled: boolean;
36
+ /**
37
+ * Whether the field is required
38
+ */
39
+ required: boolean;
40
+ /**
41
+ * Whether the field is readonly
42
+ */
43
+ readonly: boolean;
44
+ /**
45
+ * Helper text shown below the select
46
+ */
47
+ hint: string;
48
+ private _isOpen;
49
+ private _highlightedIndex;
50
+ private _touched;
51
+ private _triggerElement;
52
+ get form(): HTMLFormElement | null;
53
+ get validity(): ValidityState;
54
+ get validationMessage(): string;
55
+ get willValidate(): boolean;
56
+ checkValidity(): boolean;
57
+ reportValidity(): boolean;
58
+ formResetCallback(): void;
59
+ formStateRestoreCallback(state: string): void;
60
+ connectedCallback(): void;
61
+ private _handleInvalid;
62
+ protected firstUpdated(): void;
63
+ updated(changedProperties: Map<string, unknown>): void;
64
+ disconnectedCallback(): void;
65
+ private _handleOutsideClick;
66
+ private _handleKeyDown;
67
+ private _toggle;
68
+ private _close;
69
+ private _selectOption;
70
+ private _handleBlur;
71
+ private _updateValidity;
72
+ render(): import("lit-html").TemplateResult<1>;
73
+ focus(): void;
74
+ blur(): void;
75
+ }
76
+ declare global {
77
+ interface HTMLElementTagNameMap {
78
+ 'kr-select': KRSelect;
79
+ }
80
+ }
81
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/form/select/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAKrD;;;;;;;;GAQG;AACH,qBACa,QAAS,SAAQ,UAAU;IACtC,OAAgB,MAAM,0BA0LpB;IAGF,MAAM,CAAC,cAAc,UAAQ;IAE7B,OAAO,CAAC,UAAU,CAAmB;;IAOrC;;OAEG;IAEH,KAAK,SAAM;IAEX;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,KAAK,SAAM;IAEX;;OAEG;IAEH,WAAW,SAAsB;IAEjC;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,IAAI,SAAM;IAGV,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,iBAAiB,CAAM;IAG/B,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,eAAe,CAAqB;IAG5C,IAAI,IAAI,2BAEP;IAED,IAAI,QAAQ,kBAEX;IAED,IAAI,iBAAiB,WAEpB;IAED,IAAI,YAAY,YAEf;IAED,aAAa;IAIb,cAAc;IAId,iBAAiB;IAOjB,wBAAwB,CAAC,KAAK,EAAE,MAAM;IAI7B,iBAAiB;IAO1B,OAAO,CAAC,cAAc,CAGpB;cAEiB,YAAY;IAItB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAM/C,oBAAoB;IAO7B,OAAO,CAAC,mBAAmB,CAIzB;IAEF,OAAO,CAAC,cAAc,CAiCpB;IAEF,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,eAAe;IAYd,MAAM;IA+Ff,KAAK;IAIL,IAAI;CAGL;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}