@waggylabs/yumekit 0.4.1-beta.76 → 0.4.1-beta.78

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.
package/CHANGELOG.md CHANGED
@@ -31,7 +31,13 @@ Delete any empty sections before publishing.
31
31
  <!-- ### Security -->
32
32
  <!-- Vulnerability patches or hardening changes -->
33
33
 
34
- ## [0.4.1] 2026-04-01
34
+ ## [0.4.2] - 2026-04-11
35
+
36
+ ### Changed
37
+
38
+ - Added responsive display to `y-date` and `y-datepicker` as well as the ability to set a `native-mobile` property to `y-date` which will allow the input to use the native mobile date and time picker instead of the `y-datepicker`.
39
+
40
+ ## [0.4.1] - 2026-04-01
35
41
 
36
42
  ### Added
37
43
 
@@ -54,7 +60,7 @@ Delete any empty sections before publishing.
54
60
  - `y-icon` removed artifact from accessibility icon
55
61
  - Dark theme files corrected: `--help-background-component` now uses `var(--indigo-dark-0)` instead of `var(--indigo-light-0)`.
56
62
 
57
- ## [0.4.0] 2026-03-29
63
+ ## [0.4.0] - 2026-03-29
58
64
 
59
65
  ### Added
60
66
 
@@ -86,19 +92,19 @@ Delete any empty sections before publishing.
86
92
  - `gripDots(horizontal)` function removed from `src/icons/index.js`.
87
93
  - Stale `--base-background-border` and `--error-background-border` variable references cleaned up across all theme files (renamed to `--base-border` / `--error-border` in 0.3.9).
88
94
 
89
- ## [0.3.10] 2026-03-25
95
+ ## [0.3.10] - 2026-03-25
90
96
 
91
97
  ### Added
92
98
 
93
99
  - `y-card`: added `image` slot that displays over the `header` slot if included.
94
100
 
95
- ## [0.3.9] 2026-03-25
101
+ ## [0.3.9] - 2026-03-25
96
102
 
97
103
  ### Fixed
98
104
 
99
105
  - `y-card`, `y-switch`, `y-slider`, `y-progress`: restored missing borders after theme variable rename in 0.3.8 changed `--{scheme}-background-border` to `--{scheme}-border` without updating component references.
100
106
 
101
- ## [0.3.8] 2026-03-25
107
+ ## [0.3.8] - 2026-03-25
102
108
 
103
109
  ### Fixed
104
110
 
@@ -106,7 +112,7 @@ Delete any empty sections before publishing.
106
112
 
107
113
  - `y-tag`: reverted earlier change adding variables to tag backgrounds. Defaults to -background-app variables
108
114
 
109
- ## [0.3.6] 2026-03-23
115
+ ## [0.3.6] - 2026-03-23
110
116
 
111
117
  ### Added
112
118
 
@@ -128,25 +134,25 @@ Delete any empty sections before publishing.
128
134
 
129
135
  - Removed `features` icon (duplicate of `sun`)
130
136
 
131
- ## [0.3.5] 2026-03-20
137
+ ## [0.3.5] - 2026-03-20
132
138
 
133
139
  ### Fixed
134
140
 
135
141
  - Patch for 0.3.3 with bug fixes
136
142
 
137
- ## [0.3.4] 2026-03-20
143
+ ## [0.3.4] - 2026-03-20
138
144
 
139
145
  ### Fixed
140
146
 
141
147
  - Patch for 0.3.3 with bug fixes
142
148
 
143
- ## [0.3.3] 2026-03-20
149
+ ## [0.3.3] - 2026-03-20
144
150
 
145
151
  ### Fixed
146
152
 
147
153
  - Several bug fixes and test updates
148
154
 
149
- ## [0.3.2] 2026-03-18
155
+ ## [0.3.2] - 2026-03-18
150
156
 
151
157
  ### Added
152
158
 
package/README.md CHANGED
@@ -73,34 +73,36 @@ Then use the `<y-theme>` component to apply a theme:
73
73
 
74
74
  ## Components
75
75
 
76
- | Component | Element | Description |
77
- | --------- | -------------- | ------------------------------------------ |
78
- | App Bar | `<y-appbar>` | Top or side navigation bar |
79
- | Avatar | `<y-avatar>` | User avatar with shape and color variants |
80
- | Badge | `<y-badge>` | Status badge or label |
81
- | Button | `<y-button>` | Button with icon, size, and style variants |
82
- | Card | `<y-card>` | Content card container |
83
- | Checkbox | `<y-checkbox>` | Form checkbox input |
84
- | Dialog | `<y-dialog>` | Modal dialog |
85
- | Drawer | `<y-drawer>` | Side drawer / sidebar |
86
- | Icon | `<y-icon>` | SVG icon display |
87
- | Input | `<y-input>` | Text input field |
88
- | Menu | `<y-menu>` | Dropdown navigation menu |
89
- | Panel | `<y-panel>` | Accordion panel |
90
- | Panel Bar | `<y-panelbar>` | Accordion panel group |
91
- | Progress | `<y-progress>` | Progress bar |
92
- | Radio | `<y-radio>` | Radio button input |
93
- | Rating | `<y-rating>` | Star / icon rating input |
94
- | Select | `<y-select>` | Select / dropdown input |
95
- | Slider | `<y-slider>` | Range slider input |
96
- | Switch | `<y-switch>` | Toggle switch |
97
- | Table | `<y-table>` | Sortable data table |
98
- | Textarea | `<y-textarea>` | Multi-line text input |
99
- | Tabs | `<y-tabs>` | Tabbed interface |
100
- | Tag | `<y-tag>` | Tag / chip label |
101
- | Theme | `<y-theme>` | Theme provider |
102
- | Toast | `<y-toast>` | Notification toast |
103
- | Tooltip | `<y-tooltip>` | Tooltip / popover |
76
+ | Component | Element | Description |
77
+ | ---------- | ---------------- | ------------------------------------------ |
78
+ | App Bar | `<y-appbar>` | Top or side navigation bar |
79
+ | Avatar | `<y-avatar>` | User avatar with shape and color variants |
80
+ | Badge | `<y-badge>` | Status badge or label |
81
+ | Button | `<y-button>` | Button with icon, size, and style variants |
82
+ | Card | `<y-card>` | Content card container |
83
+ | Checkbox | `<y-checkbox>` | Form checkbox input |
84
+ | Date | `<y-date>` | Date input |
85
+ | DatePicker | `<y-datepicker>` | A date and time picker |
86
+ | Dialog | `<y-dialog>` | Modal dialog |
87
+ | Drawer | `<y-drawer>` | Side drawer / sidebar |
88
+ | Icon | `<y-icon>` | SVG icon display |
89
+ | Input | `<y-input>` | Text input field |
90
+ | Menu | `<y-menu>` | Dropdown navigation menu |
91
+ | Panel | `<y-panel>` | Accordion panel |
92
+ | Panel Bar | `<y-panelbar>` | Accordion panel group |
93
+ | Progress | `<y-progress>` | Progress bar |
94
+ | Radio | `<y-radio>` | Radio button input |
95
+ | Rating | `<y-rating>` | Star / icon rating input |
96
+ | Select | `<y-select>` | Select / dropdown input |
97
+ | Slider | `<y-slider>` | Range slider input |
98
+ | Switch | `<y-switch>` | Toggle switch |
99
+ | Table | `<y-table>` | Sortable data table |
100
+ | Textarea | `<y-textarea>` | Multi-line text input |
101
+ | Tabs | `<y-tabs>` | Tabbed interface |
102
+ | Tag | `<y-tag>` | Tag / chip label |
103
+ | Theme | `<y-theme>` | Theme provider |
104
+ | Toast | `<y-toast>` | Notification toast |
105
+ | Tooltip | `<y-tooltip>` | Tooltip / popover |
104
106
 
105
107
  ---
106
108
 
@@ -5,6 +5,9 @@ export class YumeDate extends HTMLElement {
5
5
  _onDocumentClick(e: any): void;
6
6
  _suppressBlurApply: boolean;
7
7
  _selectedParts: Set<any>;
8
+ _mql: MediaQueryList;
9
+ _isMobile: boolean;
10
+ _onMediaChange(e: any): void;
8
11
  connectedCallback(): void;
9
12
  disconnectedCallback(): void;
10
13
  attributeChangedCallback(name: any, oldVal: any, newVal: any): void;
@@ -21,6 +24,9 @@ export class YumeDate extends HTMLElement {
21
24
  /** @type {string} Date display format string. Defaults to "MM/DD/YYYY", or
22
25
  * a time-aware variant when show-hours / show-minutes / show-seconds are set. */
23
26
  get format(): string;
27
+ set hourFormat(v: string);
28
+ /** @type {string} Hour display format: "12" (default) or "24" */
29
+ get hourFormat(): string;
24
30
  set invalid(v: boolean);
25
31
  /** @type {boolean} Whether the field is in an invalid state. */
26
32
  get invalid(): boolean;
@@ -33,6 +39,21 @@ export class YumeDate extends HTMLElement {
33
39
  set min(v: string);
34
40
  /** @type {string} Minimum selectable date (ISO string). */
35
41
  get min(): string;
42
+ set minuteInterval(v: number);
43
+ /** @type {number} Interval between minute options (default 5) */
44
+ get minuteInterval(): number;
45
+ /** @type {boolean} Whether the date input is currently rendering in mobile mode. */
46
+ get mobile(): boolean;
47
+ set nativeMobile(v: string);
48
+ /** @type {string} When true, renders native date inputs on mobile instead of the datepicker popup. */
49
+ get nativeMobile(): string;
50
+ set mobileBreakpoint(v: string);
51
+ /**
52
+ * Override the mobile breakpoint (in pixels) for this instance.
53
+ * Falls back to --component-datepicker-mobile-breakpoint (default 768).
54
+ * @type {string}
55
+ */
56
+ get mobileBreakpoint(): string;
36
57
  set mode(v: string);
37
58
  /** @type {string} "single" | "range" (default "single"). */
38
59
  get mode(): string;
@@ -42,33 +63,27 @@ export class YumeDate extends HTMLElement {
42
63
  set placeholder(v: string);
43
64
  /** @type {string} Placeholder text. */
44
65
  get placeholder(): string;
66
+ set secondInterval(v: number);
67
+ /** @type {number} Interval between second options (default 5) */
68
+ get secondInterval(): number;
69
+ set showDays(v: boolean);
70
+ /** @type {boolean} Show day grid in datepicker (default true). */
71
+ get showDays(): boolean;
45
72
  set showHours(v: boolean);
46
73
  /** @type {boolean} Show hour time picker. */
47
74
  get showHours(): boolean;
48
75
  set showMinutes(v: boolean);
49
76
  /** @type {boolean} Show minutes column in time picker. */
50
77
  get showMinutes(): boolean;
78
+ set showMonths(v: boolean);
79
+ /** @type {boolean} Show month select in datepicker header (default true). */
80
+ get showMonths(): boolean;
51
81
  set showSeconds(v: boolean);
52
82
  /** @type {boolean} Show seconds column in time picker. */
53
83
  get showSeconds(): boolean;
54
- set hourFormat(v: string);
55
- /** @type {string} Hour display format: "12" (default) or "24" */
56
- get hourFormat(): string;
57
- set minuteInterval(v: number);
58
- /** @type {number} Interval between minute options (default 5) */
59
- get minuteInterval(): number;
60
- set secondInterval(v: number);
61
- /** @type {number} Interval between second options (default 5) */
62
- get secondInterval(): number;
63
84
  set showYears(v: boolean);
64
85
  /** @type {boolean} Show year select in datepicker header (default true). */
65
86
  get showYears(): boolean;
66
- set showMonths(v: boolean);
67
- /** @type {boolean} Show month select in datepicker header (default true). */
68
- get showMonths(): boolean;
69
- set showDays(v: boolean);
70
- /** @type {boolean} Show day grid in datepicker (default true). */
71
- get showDays(): boolean;
72
87
  set size(v: string);
73
88
  /** @type {string} Input size: "small" | "medium" | "large" (default "medium"). */
74
89
  get size(): string;
@@ -82,21 +97,39 @@ export class YumeDate extends HTMLElement {
82
97
  /** Open the datepicker popup. */
83
98
  open(): void;
84
99
  render(): void;
100
+ _applyParsedDate(date: any): void;
101
+ /**
102
+ * Apply a range value (start and optional end) to the component.
103
+ * @param {Date} start
104
+ * @param {Date|null} end
105
+ */
106
+ _applyRangeValue(start: Date, end: Date | null): void;
85
107
  _bindListeners(): void;
108
+ _bindMobileListeners(): void;
109
+ /**
110
+ * Build a presumed Date from partial input parts, filling in defaults.
111
+ * Returns null if the result is invalid.
112
+ * @param {{ month?: number, day?: number, year?: number, hour?: number, minute?: number, second?: number } | null} partial
113
+ * @returns {Date | null}
114
+ */
115
+ _buildPresumedDate(partial: {
116
+ month?: number;
117
+ day?: number;
118
+ year?: number;
119
+ hour?: number;
120
+ minute?: number;
121
+ second?: number;
122
+ } | null): Date | null;
86
123
  _buildStyles(isDisabled: any): string;
124
+ _getBreakpointPx(): number;
87
125
  _getFormattedDisplay(): string;
88
- _setOpen(open: any): void;
89
- _syncPickerValue(): void;
90
- _updateClearBtn(): void;
91
- _updateDisplay(): void;
92
- _updateValidationState(): void;
93
126
  /**
94
- * Parse a user-typed string into a Date using this component's format.
95
- * Returns null if the text doesn't match the format or produces an invalid date.
127
+ * Handle type-ahead input for range mode.
128
+ * Parses partial range text and navigates/highlights in the picker.
96
129
  * @param {string} text
97
- * @returns {Date|null}
130
+ * @param {HTMLElement} picker
98
131
  */
99
- _parseTypedDate(text: string): Date | null;
132
+ _handleRangeTypeahead(text: string, picker: HTMLElement): void;
100
133
  /**
101
134
  * Parse partial user input and return an object with whatever date parts
102
135
  * could be extracted based on the format string. Returns null if nothing
@@ -117,25 +150,6 @@ export class YumeDate extends HTMLElement {
117
150
  minute?: number;
118
151
  second?: number;
119
152
  } | null;
120
- /**
121
- * Apply a parsed Date as the component's value and emit a change event.
122
- * @param {Date} date
123
- */
124
- _applyParsedDate(date: Date): void;
125
- /**
126
- * Build a presumed Date from partial input parts, filling in defaults.
127
- * Returns null if the result is invalid.
128
- * @param {{ month?: number, day?: number, year?: number, hour?: number, minute?: number, second?: number } | null} partial
129
- * @returns {Date | null}
130
- */
131
- _buildPresumedDate(partial: {
132
- month?: number;
133
- day?: number;
134
- year?: number;
135
- hour?: number;
136
- minute?: number;
137
- second?: number;
138
- } | null): Date | null;
139
153
  /**
140
154
  * Parse range input text in the form "start - end" or just "start".
141
155
  * Each side can be a full or partial date string.
@@ -148,16 +162,18 @@ export class YumeDate extends HTMLElement {
148
162
  end: Date | null;
149
163
  } | null;
150
164
  /**
151
- * Apply a range value (start and optional end) to the component.
152
- * @param {Date} start
153
- * @param {Date|null} end
154
- */
155
- _applyRangeValue(start: Date, end: Date | null): void;
156
- /**
157
- * Handle type-ahead input for range mode.
158
- * Parses partial range text and navigates/highlights in the picker.
165
+ * Parse a user-typed string into a Date using this component's format.
166
+ * Returns null if the text doesn't match the format or produces an invalid date.
159
167
  * @param {string} text
160
- * @param {HTMLElement} picker
168
+ * @returns {Date|null}
161
169
  */
162
- _handleRangeTypeahead(text: string, picker: HTMLElement): void;
170
+ _parseTypedDate(text: string): Date | null;
171
+ _renderMobile(): void;
172
+ _setOpen(open: any): void;
173
+ _setupMediaQuery(): void;
174
+ _syncPickerValue(): void;
175
+ _teardownMediaQuery(): void;
176
+ _updateClearBtn(): void;
177
+ _updateDisplay(): void;
178
+ _updateValidationState(): void;
163
179
  }
@@ -85,7 +85,7 @@ declare namespace _default {
85
85
  }
86
86
  export { table_4 as table };
87
87
  }
88
- namespace disabled {
88
+ namespace nativeMobile {
89
89
  let control_7: string;
90
90
  export { control_7 as control };
91
91
  let description_7: string;
@@ -99,7 +99,7 @@ declare namespace _default {
99
99
  }
100
100
  export { table_5 as table };
101
101
  }
102
- namespace invalid {
102
+ namespace disabled {
103
103
  let control_8: string;
104
104
  export { control_8 as control };
105
105
  let description_8: string;
@@ -113,7 +113,7 @@ declare namespace _default {
113
113
  }
114
114
  export { table_6 as table };
115
115
  }
116
- namespace showHours {
116
+ namespace invalid {
117
117
  let control_9: string;
118
118
  export { control_9 as control };
119
119
  let description_9: string;
@@ -127,7 +127,7 @@ declare namespace _default {
127
127
  }
128
128
  export { table_7 as table };
129
129
  }
130
- namespace showMinutes {
130
+ namespace showHours {
131
131
  let control_10: string;
132
132
  export { control_10 as control };
133
133
  let description_10: string;
@@ -141,7 +141,7 @@ declare namespace _default {
141
141
  }
142
142
  export { table_8 as table };
143
143
  }
144
- namespace showSeconds {
144
+ namespace showMinutes {
145
145
  let control_11: string;
146
146
  export { control_11 as control };
147
147
  let description_11: string;
@@ -155,11 +155,9 @@ declare namespace _default {
155
155
  }
156
156
  export { table_9 as table };
157
157
  }
158
- namespace hourFormat {
158
+ namespace showSeconds {
159
159
  let control_12: string;
160
160
  export { control_12 as control };
161
- let options_3: string[];
162
- export { options_3 as options };
163
161
  let description_12: string;
164
162
  export { description_12 as description };
165
163
  export namespace table_10 {
@@ -171,9 +169,11 @@ declare namespace _default {
171
169
  }
172
170
  export { table_10 as table };
173
171
  }
174
- namespace minuteInterval {
172
+ namespace hourFormat {
175
173
  let control_13: string;
176
174
  export { control_13 as control };
175
+ let options_3: string[];
176
+ export { options_3 as options };
177
177
  let description_13: string;
178
178
  export { description_13 as description };
179
179
  export namespace table_11 {
@@ -185,7 +185,7 @@ declare namespace _default {
185
185
  }
186
186
  export { table_11 as table };
187
187
  }
188
- namespace secondInterval {
188
+ namespace minuteInterval {
189
189
  let control_14: string;
190
190
  export { control_14 as control };
191
191
  let description_14: string;
@@ -199,6 +199,20 @@ declare namespace _default {
199
199
  }
200
200
  export { table_12 as table };
201
201
  }
202
+ namespace secondInterval {
203
+ let control_15: string;
204
+ export { control_15 as control };
205
+ let description_15: string;
206
+ export { description_15 as description };
207
+ export namespace table_13 {
208
+ export namespace defaultValue_13 {
209
+ let summary_13: string;
210
+ export { summary_13 as summary };
211
+ }
212
+ export { defaultValue_13 as defaultValue };
213
+ }
214
+ export { table_13 as table };
215
+ }
202
216
  }
203
217
  namespace args {
204
218
  let mode_1: string;
@@ -213,6 +227,8 @@ declare namespace _default {
213
227
  export { value_1 as value };
214
228
  let clearable_1: boolean;
215
229
  export { clearable_1 as clearable };
230
+ let nativeMobile_1: boolean;
231
+ export { nativeMobile_1 as nativeMobile };
216
232
  let disabled_1: boolean;
217
233
  export { disabled_1 as disabled };
218
234
  let invalid_1: boolean;
@@ -296,3 +312,23 @@ export namespace Invalid {
296
312
  }
297
313
  export { args_7 as args };
298
314
  }
315
+ export namespace NativeMobile {
316
+ export namespace args_8 {
317
+ let nativeMobile_2: boolean;
318
+ export { nativeMobile_2 as nativeMobile };
319
+ let clearable_3: boolean;
320
+ export { clearable_3 as clearable };
321
+ let value_6: string;
322
+ export { value_6 as value };
323
+ }
324
+ export { args_8 as args };
325
+ }
326
+ export namespace NativeMobileRange {
327
+ export namespace args_9 {
328
+ let mode_3: string;
329
+ export { mode_3 as mode };
330
+ let nativeMobile_3: boolean;
331
+ export { nativeMobile_3 as nativeMobile };
332
+ }
333
+ export { args_9 as args };
334
+ }