@kodaris/krubble-components 1.0.60 → 1.0.62

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.
@@ -6,4 +6,5 @@ export { KRTextareaField } from './textarea-field/textarea-field.js';
6
6
  export { KRDetailField } from './detail-field/detail-field.js';
7
7
  export { KRAutoSuggest } from './auto-suggest/auto-suggest.js';
8
8
  export { KRComboBox } from './combo-box/combo-box.js';
9
+ export { KRRadioCards } from './radio-cards/radio-cards.js';
9
10
  //# 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;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,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,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { LitElement } from 'lit';
2
+ export interface KRRadioCardsOption {
3
+ value: string;
4
+ label: string;
5
+ description?: string;
6
+ disabled?: boolean;
7
+ }
8
+ /**
9
+ * A card-style radio group for selecting between a small number of options.
10
+ * Each option renders as a bordered card with a radio indicator, label, and optional description.
11
+ *
12
+ * Uses ElementInternals for form association, allowing the component
13
+ * to participate in form submission, validation, and reset.
14
+ *
15
+ * @element kr-radio-cards
16
+ * @fires change - Fired when the selected value changes
17
+ */
18
+ export declare class KRRadioCards extends LitElement {
19
+ static styles: import("lit").CSSResult[];
20
+ static formAssociated: boolean;
21
+ private _internals;
22
+ private _focusedIndex;
23
+ /**
24
+ * The label text above the cards
25
+ */
26
+ label: string;
27
+ /**
28
+ * The input name for form submission
29
+ */
30
+ name: string;
31
+ /**
32
+ * The currently selected value
33
+ */
34
+ value: string;
35
+ /**
36
+ * The card options to display
37
+ */
38
+ options: KRRadioCardsOption[];
39
+ /**
40
+ * Whether the field is disabled
41
+ */
42
+ disabled: boolean;
43
+ /**
44
+ * Whether the field is required
45
+ */
46
+ required: boolean;
47
+ /**
48
+ * Helper text shown below the cards
49
+ */
50
+ hint: string;
51
+ /**
52
+ * Layout direction: 'row' or 'column'
53
+ */
54
+ direction: 'row' | 'column';
55
+ private _touched;
56
+ constructor();
57
+ get form(): HTMLFormElement | null;
58
+ get validity(): ValidityState;
59
+ get validationMessage(): string;
60
+ get willValidate(): boolean;
61
+ checkValidity(): boolean;
62
+ reportValidity(): boolean;
63
+ formResetCallback(): void;
64
+ formStateRestoreCallback(state: string): void;
65
+ connectedCallback(): void;
66
+ disconnectedCallback(): void;
67
+ private _handleInvalid;
68
+ protected firstUpdated(): void;
69
+ updated(changedProperties: Map<string, unknown>): void;
70
+ private _updateValidity;
71
+ private _handleCardClick;
72
+ private _handleKeyDown;
73
+ private _findNextEnabledIndex;
74
+ render(): import("lit-html").TemplateResult<1>;
75
+ }
76
+ declare global {
77
+ interface HTMLElementTagNameMap {
78
+ 'kr-radio-cards': KRRadioCards;
79
+ }
80
+ }
81
+ //# sourceMappingURL=radio-cards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-cards.d.ts","sourceRoot":"","sources":["../../../src/form/radio-cards/radio-cards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAKrD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,qBACa,YAAa,SAAQ,UAAU;IAC1C,OAAgB,MAAM,4BA2HnB;IAEH,MAAM,CAAC,cAAc,UAAQ;IAE7B,OAAO,CAAC,UAAU,CAAmB;IAErC,OAAO,CAAC,aAAa,CAAM;IAE3B;;OAEG;IAEH,KAAK,SAAM;IAEX;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,KAAK,SAAM;IAEX;;OAEG;IAEH,OAAO,EAAE,kBAAkB,EAAE,CAAM;IAEnC;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAS;IAGpC,OAAO,CAAC,QAAQ,CAAS;;IAQzB,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;IAKjB,oBAAoB;IAK7B,OAAO,CAAC,cAAc,CAGpB;cAEiB,YAAY;IAItB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMxD,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,cAAc;IAuCtB,OAAO,CAAC,qBAAqB;IAWpB,MAAM;CA2DhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,YAAY,CAAC;KAChC;CACF"}
@@ -0,0 +1,388 @@
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, nothing } from 'lit';
8
+ import { customElement, property, state } from 'lit/decorators.js';
9
+ import { classMap } from 'lit/directives/class-map.js';
10
+ import { krBaseCSS } from '../../style/base.js';
11
+ /**
12
+ * A card-style radio group for selecting between a small number of options.
13
+ * Each option renders as a bordered card with a radio indicator, label, and optional description.
14
+ *
15
+ * Uses ElementInternals for form association, allowing the component
16
+ * to participate in form submission, validation, and reset.
17
+ *
18
+ * @element kr-radio-cards
19
+ * @fires change - Fired when the selected value changes
20
+ */
21
+ let KRRadioCards = class KRRadioCards extends LitElement {
22
+ constructor() {
23
+ super();
24
+ this._focusedIndex = -1;
25
+ /**
26
+ * The label text above the cards
27
+ */
28
+ this.label = '';
29
+ /**
30
+ * The input name for form submission
31
+ */
32
+ this.name = '';
33
+ /**
34
+ * The currently selected value
35
+ */
36
+ this.value = '';
37
+ /**
38
+ * The card options to display
39
+ */
40
+ this.options = [];
41
+ /**
42
+ * Whether the field is disabled
43
+ */
44
+ this.disabled = false;
45
+ /**
46
+ * Whether the field is required
47
+ */
48
+ this.required = false;
49
+ /**
50
+ * Helper text shown below the cards
51
+ */
52
+ this.hint = '';
53
+ /**
54
+ * Layout direction: 'row' or 'column'
55
+ */
56
+ this.direction = 'row';
57
+ this._touched = false;
58
+ this._handleInvalid = (e) => {
59
+ e.preventDefault();
60
+ this._touched = true;
61
+ };
62
+ this._internals = this.attachInternals();
63
+ }
64
+ // Form-associated custom element callbacks
65
+ get form() {
66
+ return this._internals.form;
67
+ }
68
+ get validity() {
69
+ return this._internals.validity;
70
+ }
71
+ get validationMessage() {
72
+ return this._internals.validationMessage;
73
+ }
74
+ get willValidate() {
75
+ return this._internals.willValidate;
76
+ }
77
+ checkValidity() {
78
+ return this._internals.checkValidity();
79
+ }
80
+ reportValidity() {
81
+ return this._internals.reportValidity();
82
+ }
83
+ formResetCallback() {
84
+ this.value = '';
85
+ this._touched = false;
86
+ this._internals.setFormValue('');
87
+ this._internals.setValidity({});
88
+ }
89
+ formStateRestoreCallback(state) {
90
+ this.value = state;
91
+ }
92
+ connectedCallback() {
93
+ super.connectedCallback();
94
+ this.addEventListener('invalid', this._handleInvalid);
95
+ }
96
+ disconnectedCallback() {
97
+ super.disconnectedCallback();
98
+ this.removeEventListener('invalid', this._handleInvalid);
99
+ }
100
+ firstUpdated() {
101
+ this._updateValidity();
102
+ }
103
+ updated(changedProperties) {
104
+ if (changedProperties.has('required') || changedProperties.has('value')) {
105
+ this._updateValidity();
106
+ }
107
+ }
108
+ _updateValidity() {
109
+ if (this.required && !this.value) {
110
+ this._internals.setValidity({ valueMissing: true }, 'Please select an option');
111
+ }
112
+ else {
113
+ this._internals.setValidity({});
114
+ }
115
+ }
116
+ _handleCardClick(e, option) {
117
+ if (this.disabled || option.disabled) {
118
+ return;
119
+ }
120
+ this.value = option.value;
121
+ this._touched = true;
122
+ this._internals.setFormValue(this.value);
123
+ this._updateValidity();
124
+ this.dispatchEvent(new Event('change', { bubbles: true, composed: true }));
125
+ }
126
+ _handleKeyDown(e, index) {
127
+ if (this.disabled) {
128
+ return;
129
+ }
130
+ if (e.key === ' ' || e.key === 'Enter') {
131
+ e.preventDefault();
132
+ if (!this.options[index].disabled) {
133
+ this._handleCardClick(e, this.options[index]);
134
+ }
135
+ return;
136
+ }
137
+ let nextIndex = -1;
138
+ if (this.direction === 'row') {
139
+ if (e.key === 'ArrowRight') {
140
+ nextIndex = this._findNextEnabledIndex(index, 1);
141
+ }
142
+ else if (e.key === 'ArrowLeft') {
143
+ nextIndex = this._findNextEnabledIndex(index, -1);
144
+ }
145
+ }
146
+ else {
147
+ if (e.key === 'ArrowDown') {
148
+ nextIndex = this._findNextEnabledIndex(index, 1);
149
+ }
150
+ else if (e.key === 'ArrowUp') {
151
+ nextIndex = this._findNextEnabledIndex(index, -1);
152
+ }
153
+ }
154
+ if (nextIndex >= 0) {
155
+ e.preventDefault();
156
+ this._focusedIndex = nextIndex;
157
+ const cards = this.shadowRoot?.querySelectorAll('.card');
158
+ if (cards[nextIndex]) {
159
+ cards[nextIndex].focus();
160
+ }
161
+ }
162
+ }
163
+ _findNextEnabledIndex(current, step) {
164
+ let next = current + step;
165
+ while (next >= 0 && next < this.options.length) {
166
+ if (!this.options[next].disabled) {
167
+ return next;
168
+ }
169
+ next += step;
170
+ }
171
+ return -1;
172
+ }
173
+ render() {
174
+ return html `
175
+ <div class="wrapper">
176
+ ${this.label
177
+ ? html `
178
+ <label>
179
+ ${this.label}
180
+ ${this.required ? html `<span class="required" aria-hidden="true">*</span>` : nothing}
181
+ </label>
182
+ `
183
+ : nothing}
184
+ <div
185
+ class=${classMap({
186
+ 'cards': true,
187
+ 'cards--row': this.direction === 'row',
188
+ 'cards--column': this.direction === 'column',
189
+ })}
190
+ role="radiogroup"
191
+ aria-label=${this.label}
192
+ >
193
+ ${this.options.map((option, index) => {
194
+ const isSelected = option.value === this.value;
195
+ const isDisabled = this.disabled || !!option.disabled;
196
+ return html `
197
+ <div
198
+ class=${classMap({
199
+ 'card': true,
200
+ 'card--selected': isSelected,
201
+ 'card--disabled': isDisabled,
202
+ })}
203
+ role="radio"
204
+ aria-checked=${isSelected}
205
+ aria-disabled=${isDisabled}
206
+ tabindex=${isDisabled ? -1 : 0}
207
+ @click=${(e) => this._handleCardClick(e, option)}
208
+ @keydown=${(e) => this._handleKeyDown(e, index)}
209
+ >
210
+ <div class="card__radio">
211
+ ${isSelected ? html `<div class="card__radio-dot"></div>` : nothing}
212
+ </div>
213
+ <div class="card__content">
214
+ <div class="card__label">${option.label}</div>
215
+ ${option.description
216
+ ? html `<div class="card__description">${option.description}</div>`
217
+ : nothing}
218
+ </div>
219
+ </div>
220
+ `;
221
+ })}
222
+ </div>
223
+ ${this._touched && this.required && !this.value
224
+ ? html `<div class="validation-message">Please select an option</div>`
225
+ : this.hint
226
+ ? html `<div class="hint">${this.hint}</div>`
227
+ : nothing}
228
+ </div>
229
+ `;
230
+ }
231
+ };
232
+ KRRadioCards.styles = [krBaseCSS, css `
233
+ :host {
234
+ display: block;
235
+ font-family: inherit;
236
+ }
237
+
238
+ .wrapper {
239
+ display: flex;
240
+ flex-direction: column;
241
+ gap: 6px;
242
+ }
243
+
244
+ label {
245
+ font-size: 14px;
246
+ font-weight: 500;
247
+ color: black;
248
+ }
249
+
250
+ .required {
251
+ color: var(--kr-radio-cards-required-color, #ef4444);
252
+ margin-left: 0.125rem;
253
+ }
254
+
255
+ .cards {
256
+ display: flex;
257
+ gap: 12px;
258
+ }
259
+
260
+ .cards--row {
261
+ flex-direction: row;
262
+ }
263
+
264
+ .cards--column {
265
+ flex-direction: column;
266
+ }
267
+
268
+ .card {
269
+ flex: 1;
270
+ display: flex;
271
+ align-items: flex-start;
272
+ gap: 12px;
273
+ padding: 16px;
274
+ border: 1px solid var(--kr-radio-cards-border-color, #0000003d);
275
+ border-radius: 8px;
276
+ background-color: var(--kr-radio-cards-bg, #fff);
277
+ cursor: pointer;
278
+ transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s;
279
+ }
280
+
281
+ .card:hover:not(.card--disabled) {
282
+ border-color: var(--kr-radio-cards-hover-border-color, #9ca3af);
283
+ }
284
+
285
+ .card:focus-visible {
286
+ outline: none;
287
+ box-shadow: 0 0 0 3px rgba(22, 48, 82, 0.1);
288
+ }
289
+
290
+ .card--selected {
291
+ border-color: var(--kr-radio-cards-selected-border-color, var(--kr-primary));
292
+ background-color: var(--kr-radio-cards-selected-bg, rgba(22, 48, 82, 0.06));
293
+ }
294
+
295
+ .card--selected:hover {
296
+ border-color: var(--kr-radio-cards-selected-border-color, var(--kr-primary));
297
+ }
298
+
299
+ .card--disabled {
300
+ opacity: 0.5;
301
+ cursor: not-allowed;
302
+ }
303
+
304
+ .card__radio {
305
+ flex-shrink: 0;
306
+ width: 18px;
307
+ height: 18px;
308
+ border: 2px solid var(--kr-radio-cards-radio-border-color, #0000003d);
309
+ border-radius: 50%;
310
+ margin-top: 1px;
311
+ display: flex;
312
+ align-items: center;
313
+ justify-content: center;
314
+ transition: border-color 0.2s;
315
+ }
316
+
317
+ .card--selected .card__radio {
318
+ border-color: var(--kr-radio-cards-radio-selected-color, var(--kr-primary));
319
+ }
320
+
321
+ .card__radio-dot {
322
+ width: 10px;
323
+ height: 10px;
324
+ border-radius: 50%;
325
+ background-color: var(--kr-radio-cards-radio-selected-color, var(--kr-primary));
326
+ }
327
+
328
+ .card__content {
329
+ display: flex;
330
+ flex-direction: column;
331
+ gap: 4px;
332
+ min-width: 0;
333
+ }
334
+
335
+ .card__label {
336
+ font-size: 14px;
337
+ font-weight: 600;
338
+ color: var(--kr-radio-cards-label-color, #000);
339
+ }
340
+
341
+ .card__description {
342
+ font-size: 14px;
343
+ color: var(--kr-radio-cards-description-color, #4d525c);
344
+ }
345
+
346
+ .hint {
347
+ font-size: 0.75rem;
348
+ color: var(--kr-radio-cards-helper-color, #6b7280);
349
+ }
350
+
351
+ .validation-message {
352
+ font-size: 0.75rem;
353
+ color: var(--kr-radio-cards-error-color, #ef4444);
354
+ }
355
+ `];
356
+ KRRadioCards.formAssociated = true;
357
+ __decorate([
358
+ property({ type: String })
359
+ ], KRRadioCards.prototype, "label", void 0);
360
+ __decorate([
361
+ property({ type: String })
362
+ ], KRRadioCards.prototype, "name", void 0);
363
+ __decorate([
364
+ property({ type: String })
365
+ ], KRRadioCards.prototype, "value", void 0);
366
+ __decorate([
367
+ property({ attribute: false })
368
+ ], KRRadioCards.prototype, "options", void 0);
369
+ __decorate([
370
+ property({ type: Boolean })
371
+ ], KRRadioCards.prototype, "disabled", void 0);
372
+ __decorate([
373
+ property({ type: Boolean })
374
+ ], KRRadioCards.prototype, "required", void 0);
375
+ __decorate([
376
+ property({ type: String })
377
+ ], KRRadioCards.prototype, "hint", void 0);
378
+ __decorate([
379
+ property({ type: String })
380
+ ], KRRadioCards.prototype, "direction", void 0);
381
+ __decorate([
382
+ state()
383
+ ], KRRadioCards.prototype, "_touched", void 0);
384
+ KRRadioCards = __decorate([
385
+ customElement('kr-radio-cards')
386
+ ], KRRadioCards);
387
+ export { KRRadioCards };
388
+ //# sourceMappingURL=radio-cards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-cards.js","sourceRoot":"","sources":["../../../src/form/radio-cards/radio-cards.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export type { KRButtonOption } from './button/button.js';
6
6
  export { KRCodeDemo } from './code-demo/code-demo.js';
7
7
  export { KRContextMenu } from './context-menu/context-menu.js';
8
8
  export { KRDialog, KRDialogRef } from './dialog/dialog.js';
9
+ export { KRDateRangePicker } from './date-range-picker/date-range-picker.js';
9
10
  export { KRSnackbar } from './snackbar/snackbar.js';
10
11
  export { KRTabGroup } from './tabs/tabs.js';
11
12
  export { KRTab } from './tabs/tab.js';
@@ -19,9 +20,11 @@ export { KRFileList } from './file-list/file-list.js';
19
20
  export type { KRFile } from './file-list/file-list.js';
20
21
  export { KRFilePreview } from './file-preview/file-preview.js';
21
22
  export type { KRFilePreviewOptions } from './file-preview/file-preview.js';
22
- export { KRTextField, KRTextareaField, KRSelectField, KRSelectOption, KRAutoSuggest, KRComboBox } from './form/index.js';
23
+ export { KRTextField, KRTextareaField, KRSelectField, KRSelectOption, KRAutoSuggest, KRComboBox, KRRadioCards } from './form/index.js';
23
24
  export type { ContextMenuItem, ContextMenuOptions } from './context-menu/context-menu.js';
24
25
  export type { KRDialogConfig } from './dialog/dialog.js';
25
26
  export type { KRSnackbarOptions } from './snackbar/snackbar.js';
26
27
  export type { KRAutoSuggestOption } from './form/auto-suggest/auto-suggest.js';
28
+ export type { KRDateRangePickerValue, KRDateRangePickerRelativeOption, KRDateRangePickerMode } from './date-range-picker/date-range-picker.js';
29
+ export type { KRRadioCardsOption } from './form/radio-cards/radio-cards.js';
27
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACtH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAG3E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGzH,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC1F,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACtH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAG3E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGvI,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC1F,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,YAAY,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAC/I,YAAY,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC"}
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ export { KRButton } from './button/button.js';
7
7
  export { KRCodeDemo } from './code-demo/code-demo.js';
8
8
  export { KRContextMenu } from './context-menu/context-menu.js';
9
9
  export { KRDialog, KRDialogRef } from './dialog/dialog.js';
10
+ export { KRDateRangePicker } from './date-range-picker/date-range-picker.js';
10
11
  export { KRSnackbar } from './snackbar/snackbar.js';
11
12
  export { KRTabGroup } from './tabs/tabs.js';
12
13
  export { KRTab } from './tabs/tab.js';
@@ -17,5 +18,5 @@ export { KRProgressBar } from './progress-bar/progress-bar.js';
17
18
  export { KRFileList } from './file-list/file-list.js';
18
19
  export { KRFilePreview } from './file-preview/file-preview.js';
19
20
  // Form components
20
- export { KRTextField, KRTextareaField, KRSelectField, KRSelectOption, KRAutoSuggest, KRComboBox } from './form/index.js';
21
+ export { KRTextField, KRTextareaField, KRSelectField, KRSelectOption, KRAutoSuggest, KRComboBox, KRRadioCards } from './form/index.js';
21
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,kBAAkB;AAClB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,kBAAkB;AAClB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}