@waggylabs/yumekit 0.4.2 → 0.4.3-beta.37

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 (35) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +3 -1
  3. package/dist/components/y-banner/y-banner.d.ts +38 -0
  4. package/dist/components/y-banner/y-banner.stories.d.ts +139 -0
  5. package/dist/components/y-banner/y-banner.test.d.ts +1 -0
  6. package/dist/components/y-banner.js +1142 -0
  7. package/dist/components/y-color/y-color.d.ts +46 -0
  8. package/dist/components/y-color/y-color.stories.d.ts +157 -0
  9. package/dist/components/y-color/y-color.test.d.ts +1 -0
  10. package/dist/components/y-color.js +3087 -0
  11. package/dist/components/y-colorpicker/y-colorpicker.d.ts +73 -0
  12. package/dist/components/y-colorpicker/y-colorpicker.stories.d.ts +84 -0
  13. package/dist/components/y-colorpicker/y-colorpicker.test.d.ts +1 -0
  14. package/dist/components/y-colorpicker.js +2263 -0
  15. package/dist/components/y-gallery/y-gallery.d.ts +66 -0
  16. package/dist/components/y-gallery/y-gallery.stories.d.ts +151 -0
  17. package/dist/components/y-gallery/y-gallery.test.d.ts +1 -0
  18. package/dist/components/y-gallery.js +989 -0
  19. package/dist/components/y-input.js +25 -1
  20. package/dist/components/y-stack/y-stack.d.ts +52 -0
  21. package/dist/components/y-stack/y-stack.stories.d.ts +195 -0
  22. package/dist/components/y-stack/y-stack.test.d.ts +1 -0
  23. package/dist/components/y-stack.js +411 -0
  24. package/dist/components/y-theme.js +2 -1
  25. package/dist/components/y-toast.js +217 -0
  26. package/dist/index.d.ts +3 -0
  27. package/dist/index.js +3475 -902
  28. package/dist/modules/helpers.d.ts +51 -0
  29. package/dist/modules/helpers.js +212 -0
  30. package/dist/modules/helpers.test.js +45 -0
  31. package/dist/react.d.ts +19 -0
  32. package/dist/styles/variables.css +63 -0
  33. package/dist/yumekit.min.js +1 -1
  34. package/llm.txt +118 -1
  35. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -31,6 +31,16 @@ Delete any empty sections before publishing.
31
31
  <!-- ### Security -->
32
32
  <!-- Vulnerability patches or hardening changes -->
33
33
 
34
+ ## [0.4.3] - 2026-04-17
35
+
36
+ ### Added
37
+
38
+ - New `y-gallery` component — a media gallery that accepts `<img>` or `<figure>` children and arranges them in `grid`, `row`, `column`, or `masonry` layouts. Supports `columns`, `gap` (`"small"` | `"medium"` | `"large"` or any CSS length), `aspect-ratio`, `expandable` (lightbox with prev/next navigation), `loop`, and `size` attributes. The expanded view uses `<y-icon>` for nav arrows and supports `data-src` for full-resolution images, `<figcaption>` captions, and image counter. Icon slots (`expand-prev-icon`, `expand-next-icon`, `expand-close-icon`) allow custom icons. Fires `expand`, `close`, and `navigate` events.
39
+ - New `y-colorpicker` component — a standalone color picker widget with a 2D saturation/brightness canvas, hue slider, optional alpha slider, format selector, and channel inputs. Supports `value` (`#hex`, `rgb()`, `rgba()`, `hsl()`, `hsla()`, `hsv()`, `hsva()`), `format` (`"hex"` | `"rgb"` | `"hsl"` | `"hsv"`), `formats` (JSON array of available formats), `show-alpha` (alpha channel), and `size` attributes.
40
+ - New `y-color` component — a form-associated color input with a trigger/popup pattern (like `<y-date>`). Renders a color swatch preview and value string in the trigger; opens a `<y-colorpicker>` popup on click. Supports `value`, `format`, `formats`, `show-alpha`, `placeholder`, `name`, `disabled`, `invalid`, `clearable`, `size`, and `label-position` attributes. Uses `ElementInternals` for `FormData` participation.
41
+ - New `y-banner` component — a full-width informational banner that renders in a semantic color with matching text. Supports `color` (`"base"` | `"primary"` | `"secondary"` | `"success"` | `"error"` | `"warning"` | `"help"`), `icon` attribute (or `icon` slot), `position` (`"push"` | `"overlap"`), `sticky` (fixed to viewport when overlapping), `dismissable` close button, `size` (`"small"` | `"medium"` | `"large"`), and an `action` slot for CTA elements.
42
+ - New `y-stack` component — a layout container for arranging child elements in rows, columns, grids, or masonry patterns. Supports `mode` (`"flex"` | `"grid"` | `"masonry"`), `direction`, `columns`, `gap` (maps to `--spacing-*` tokens), `wrap`, `align`, `justify`, and `responsive` attributes. Masonry mode uses JS absolute positioning with `ResizeObserver`. Responsive mode auto-collapses columns at configurable breakpoints.
43
+
34
44
  ## [0.4.2] - 2026-04-07
35
45
 
36
46
  ### Added
package/README.md CHANGED
@@ -17,7 +17,7 @@
17
17
 
18
18
  ## Overview
19
19
 
20
- YumeKit is a collection of 27 production-ready custom elements built with native Web Components. It works with any framework — or none at all — and ships with a comprehensive design token system, built-in theming, an icon registry, and full TypeScript support.
20
+ YumeKit is a collection of 32 production-ready custom elements built with native Web Components. It works with any framework — or none at all — and ships with a comprehensive design token system, built-in theming, an icon registry, and full TypeScript support.
21
21
 
22
22
  - **Zero dependencies** — built entirely on web standards
23
23
  - **Framework-agnostic** — works with React, Vue, Svelte, or plain HTML
@@ -86,6 +86,7 @@ Then use the `<y-theme>` component to apply a theme:
86
86
  | DatePicker | `<y-datepicker>` | A date and time picker |
87
87
  | Dialog | `<y-dialog>` | Modal dialog |
88
88
  | Drawer | `<y-drawer>` | Side drawer / sidebar |
89
+ | Gallery | `<y-gallery>` | Media gallery with lightbox |
89
90
  | Icon | `<y-icon>` | SVG icon display |
90
91
  | Input | `<y-input>` | Text input field |
91
92
  | Menu | `<y-menu>` | Dropdown navigation menu |
@@ -96,6 +97,7 @@ Then use the `<y-theme>` component to apply a theme:
96
97
  | Rating | `<y-rating>` | Star / icon rating input |
97
98
  | Select | `<y-select>` | Select / dropdown input |
98
99
  | Slider | `<y-slider>` | Range slider input |
100
+ | Stack | `<y-stack>` | Layout container (row, column, grid, masonry) |
99
101
  | Switch | `<y-switch>` | Toggle switch |
100
102
  | Table | `<y-table>` | Sortable data table |
101
103
  | Textarea | `<y-textarea>` | Multi-line text input |
@@ -0,0 +1,38 @@
1
+ export class YumeBanner extends HTMLElement {
2
+ static get observedAttributes(): string[];
3
+ connectedCallback(): void;
4
+ attributeChangedCallback(name: any, oldValue: any, newValue: any): void;
5
+ set color(val: string);
6
+ /** Semantic color for the banner background. */
7
+ get color(): string;
8
+ set icon(val: string);
9
+ /** Icon name passed to an internal y-icon. */
10
+ get icon(): string;
11
+ set position(val: string);
12
+ /** Position mode: "push" (in-flow) or "overlap" (over content). */
13
+ get position(): string;
14
+ set sticky(val: boolean);
15
+ /** When true with position="overlap", fixes to viewport top on scroll. */
16
+ get sticky(): boolean;
17
+ set dismissable(val: boolean);
18
+ /** Whether the banner shows a close button. */
19
+ get dismissable(): boolean;
20
+ set dismissed(val: boolean);
21
+ /** Whether the banner is currently dismissed (hidden). */
22
+ get dismissed(): boolean;
23
+ set size(val: string);
24
+ /** Controls padding, icon size, and font size. */
25
+ get size(): string;
26
+ /** Hides the banner and fires the dismiss event. */
27
+ dismiss(): void;
28
+ /** Shows the banner if it is currently dismissed. */
29
+ show(): void;
30
+ render(): void;
31
+ _bindSlotListeners(): void;
32
+ _updateSlotVisibility(): void;
33
+ _applyDismissedState(): void;
34
+ _getAriaLabel(color: any): any;
35
+ _getIconSize(size: any): any;
36
+ _getColorVars(color: any): any;
37
+ _buildStyles(color: any, size: any): string;
38
+ }
@@ -0,0 +1,139 @@
1
+ declare namespace _default {
2
+ let title: string;
3
+ let tags: string[];
4
+ namespace argTypes {
5
+ namespace message {
6
+ let control: string;
7
+ let description: string;
8
+ }
9
+ namespace color {
10
+ let control_1: string;
11
+ export { control_1 as control };
12
+ export let options: string[];
13
+ let description_1: string;
14
+ export { description_1 as description };
15
+ export namespace table {
16
+ namespace defaultValue {
17
+ let summary: string;
18
+ }
19
+ }
20
+ }
21
+ namespace size {
22
+ let control_2: string;
23
+ export { control_2 as control };
24
+ let options_1: string[];
25
+ export { options_1 as options };
26
+ let description_2: string;
27
+ export { description_2 as description };
28
+ export namespace table_1 {
29
+ export namespace defaultValue_1 {
30
+ let summary_1: string;
31
+ export { summary_1 as summary };
32
+ }
33
+ export { defaultValue_1 as defaultValue };
34
+ }
35
+ export { table_1 as table };
36
+ }
37
+ namespace position {
38
+ let control_3: string;
39
+ export { control_3 as control };
40
+ let options_2: string[];
41
+ export { options_2 as options };
42
+ let description_3: string;
43
+ export { description_3 as description };
44
+ export namespace table_2 {
45
+ export namespace defaultValue_2 {
46
+ let summary_2: string;
47
+ export { summary_2 as summary };
48
+ }
49
+ export { defaultValue_2 as defaultValue };
50
+ }
51
+ export { table_2 as table };
52
+ }
53
+ namespace icon {
54
+ let control_4: string;
55
+ export { control_4 as control };
56
+ let description_4: string;
57
+ export { description_4 as description };
58
+ }
59
+ namespace dismissable {
60
+ let control_5: string;
61
+ export { control_5 as control };
62
+ let description_5: string;
63
+ export { description_5 as description };
64
+ export namespace table_3 {
65
+ export namespace defaultValue_3 {
66
+ let summary_3: boolean;
67
+ export { summary_3 as summary };
68
+ }
69
+ export { defaultValue_3 as defaultValue };
70
+ }
71
+ export { table_3 as table };
72
+ }
73
+ namespace sticky {
74
+ let control_6: string;
75
+ export { control_6 as control };
76
+ let description_6: string;
77
+ export { description_6 as description };
78
+ export namespace table_4 {
79
+ export namespace defaultValue_4 {
80
+ let summary_4: boolean;
81
+ export { summary_4 as summary };
82
+ }
83
+ export { defaultValue_4 as defaultValue };
84
+ }
85
+ export { table_4 as table };
86
+ }
87
+ }
88
+ namespace args {
89
+ let message_1: string;
90
+ export { message_1 as message };
91
+ let color_1: string;
92
+ export { color_1 as color };
93
+ let size_1: string;
94
+ export { size_1 as size };
95
+ let position_1: string;
96
+ export { position_1 as position };
97
+ let icon_1: string;
98
+ export { icon_1 as icon };
99
+ let dismissable_1: boolean;
100
+ export { dismissable_1 as dismissable };
101
+ let sticky_1: boolean;
102
+ export { sticky_1 as sticky };
103
+ }
104
+ function render({ message, color, size, position, icon, dismissable, sticky }: {
105
+ message: any;
106
+ color: any;
107
+ size: any;
108
+ position: any;
109
+ icon: any;
110
+ dismissable: any;
111
+ sticky: any;
112
+ }): string;
113
+ }
114
+ export default _default;
115
+ export const Default: {};
116
+ export namespace Colors {
117
+ export function render_1(): string;
118
+ export { render_1 as render };
119
+ }
120
+ export namespace WithIcon {
121
+ export function render_2(): string;
122
+ export { render_2 as render };
123
+ }
124
+ export namespace Dismissable {
125
+ export function render_3(): string;
126
+ export { render_3 as render };
127
+ }
128
+ export namespace WithAction {
129
+ export function render_4(): string;
130
+ export { render_4 as render };
131
+ }
132
+ export namespace Sizes {
133
+ export function render_5(): string;
134
+ export { render_5 as render };
135
+ }
136
+ export namespace SlottedIcon {
137
+ export function render_6(): string;
138
+ export { render_6 as render };
139
+ }
@@ -0,0 +1 @@
1
+ export {};