@waggylabs/yumekit 0.4.3-beta.36 → 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.
package/CHANGELOG.md CHANGED
@@ -35,6 +35,7 @@ Delete any empty sections before publishing.
35
35
 
36
36
  ### Added
37
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.
38
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.
39
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.
40
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.
package/README.md CHANGED
@@ -17,7 +17,7 @@
17
17
 
18
18
  ## Overview
19
19
 
20
- YumeKit is a collection of 31 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 |
@@ -0,0 +1,66 @@
1
+ export class YumeGallery extends HTMLElement {
2
+ static get observedAttributes(): string[];
3
+ _expandedIndex: number;
4
+ _items: any[];
5
+ _onKeyDown(e: any): void;
6
+ _previouslyFocused: Element;
7
+ connectedCallback(): void;
8
+ disconnectedCallback(): void;
9
+ attributeChangedCallback(name: any, oldValue: any, newValue: any): void;
10
+ set layout(val: string);
11
+ /** Layout mode for the thumbnail grid. */
12
+ get layout(): string;
13
+ set columns(val: number);
14
+ /** Number of columns in grid/masonry layouts. */
15
+ get columns(): number;
16
+ set gap(val: string);
17
+ /** Gap between items. */
18
+ get gap(): string;
19
+ set aspectRatio(val: string);
20
+ /** Thumbnail aspect ratio for grid/row layouts. */
21
+ get aspectRatio(): string;
22
+ set expandable(val: boolean);
23
+ /** Whether clicking a thumbnail opens the expanded view. */
24
+ get expandable(): boolean;
25
+ set loop(val: boolean);
26
+ /** Whether navigation wraps around. */
27
+ get loop(): boolean;
28
+ set size(val: string);
29
+ /** Size for thumbnails and expand arrows. */
30
+ get size(): string;
31
+ /** Closes the expanded view. */
32
+ close(): void;
33
+ /** Advances to the next image in the expanded view. */
34
+ next(): void;
35
+ /** Opens the expanded view at the given index. */
36
+ open(index: any): void;
37
+ /** Returns to the previous image in the expanded view. */
38
+ previous(): void;
39
+ render(): void;
40
+ _bindExpandedListeners(): void;
41
+ _bindSlotListener(): void;
42
+ _buildBaseStyles(): string;
43
+ _buildExpandStyles(): string;
44
+ _buildExpandedDOM(): HTMLElement;
45
+ _buildInteractiveStyles(): string;
46
+ _buildLayoutStyles(): string;
47
+ _buildStyles(): string;
48
+ _createExpandContent(item: any, caption: any, counter: any): HTMLElement;
49
+ _createItemWrapper(data: any, index: any): HTMLElement;
50
+ _createNavButton(name: any, label: any, iconName: any, slotName: any, disabled: any): HTMLElement;
51
+ _getExpandIconSize(): any;
52
+ _getThumbnailMinWidth(): any;
53
+ _getImageData(el: any): {
54
+ element: any;
55
+ src: any;
56
+ fullSrc: any;
57
+ alt: any;
58
+ caption: any;
59
+ };
60
+ _indexItems(): void;
61
+ _removeExpandedView(): void;
62
+ _resolveGap(): any;
63
+ _showExpandedView(): void;
64
+ _trapFocus(e: any): void;
65
+ _updateExpandedView(): void;
66
+ }
@@ -0,0 +1,151 @@
1
+ declare namespace _default {
2
+ let title: string;
3
+ let tags: string[];
4
+ namespace argTypes {
5
+ namespace layout {
6
+ let control: string;
7
+ let options: string[];
8
+ let description: string;
9
+ namespace table {
10
+ namespace defaultValue {
11
+ let summary: string;
12
+ }
13
+ }
14
+ }
15
+ namespace columns {
16
+ let control_1: string;
17
+ export { control_1 as control };
18
+ let description_1: string;
19
+ export { description_1 as description };
20
+ export namespace table_1 {
21
+ export namespace defaultValue_1 {
22
+ let summary_1: number;
23
+ export { summary_1 as summary };
24
+ }
25
+ export { defaultValue_1 as defaultValue };
26
+ }
27
+ export { table_1 as table };
28
+ }
29
+ namespace gap {
30
+ let control_2: string;
31
+ export { control_2 as control };
32
+ let options_1: string[];
33
+ export { options_1 as options };
34
+ let description_2: string;
35
+ export { description_2 as description };
36
+ export namespace table_2 {
37
+ export namespace defaultValue_2 {
38
+ let summary_2: string;
39
+ export { summary_2 as summary };
40
+ }
41
+ export { defaultValue_2 as defaultValue };
42
+ }
43
+ export { table_2 as table };
44
+ }
45
+ namespace aspectRatio {
46
+ let control_3: string;
47
+ export { control_3 as control };
48
+ let description_3: string;
49
+ export { description_3 as description };
50
+ export namespace table_3 {
51
+ export namespace defaultValue_3 {
52
+ let summary_3: string;
53
+ export { summary_3 as summary };
54
+ }
55
+ export { defaultValue_3 as defaultValue };
56
+ }
57
+ export { table_3 as table };
58
+ }
59
+ namespace expandable {
60
+ let control_4: string;
61
+ export { control_4 as control };
62
+ let description_4: string;
63
+ export { description_4 as description };
64
+ export namespace table_4 {
65
+ export namespace defaultValue_4 {
66
+ let summary_4: boolean;
67
+ export { summary_4 as summary };
68
+ }
69
+ export { defaultValue_4 as defaultValue };
70
+ }
71
+ export { table_4 as table };
72
+ }
73
+ namespace loop {
74
+ let control_5: string;
75
+ export { control_5 as control };
76
+ let description_5: string;
77
+ export { description_5 as description };
78
+ export namespace table_5 {
79
+ export namespace defaultValue_5 {
80
+ let summary_5: boolean;
81
+ export { summary_5 as summary };
82
+ }
83
+ export { defaultValue_5 as defaultValue };
84
+ }
85
+ export { table_5 as table };
86
+ }
87
+ namespace size {
88
+ let control_6: string;
89
+ export { control_6 as control };
90
+ let options_2: string[];
91
+ export { options_2 as options };
92
+ let description_6: string;
93
+ export { description_6 as description };
94
+ export namespace table_6 {
95
+ export namespace defaultValue_6 {
96
+ let summary_6: string;
97
+ export { summary_6 as summary };
98
+ }
99
+ export { defaultValue_6 as defaultValue };
100
+ }
101
+ export { table_6 as table };
102
+ }
103
+ }
104
+ namespace args {
105
+ let layout_1: string;
106
+ export { layout_1 as layout };
107
+ let columns_1: number;
108
+ export { columns_1 as columns };
109
+ let gap_1: string;
110
+ export { gap_1 as gap };
111
+ let aspectRatio_1: string;
112
+ export { aspectRatio_1 as aspectRatio };
113
+ let expandable_1: boolean;
114
+ export { expandable_1 as expandable };
115
+ let loop_1: boolean;
116
+ export { loop_1 as loop };
117
+ let size_1: string;
118
+ export { size_1 as size };
119
+ }
120
+ function render({ layout, columns, gap, aspectRatio, expandable, loop, size }: {
121
+ layout: any;
122
+ columns: any;
123
+ gap: any;
124
+ aspectRatio: any;
125
+ expandable: any;
126
+ loop: any;
127
+ size: any;
128
+ }): string;
129
+ }
130
+ export default _default;
131
+ export const Default: {};
132
+ export namespace Layouts {
133
+ export function render_1(): string;
134
+ export { render_1 as render };
135
+ }
136
+ export namespace WithCaptions {
137
+ export function render_2(): string;
138
+ export { render_2 as render };
139
+ }
140
+ export namespace WithDataSrc {
141
+ export function render_3(): string;
142
+ export { render_3 as render };
143
+ }
144
+ export namespace AspectRatios {
145
+ export function render_4(): string;
146
+ export { render_4 as render };
147
+ }
148
+ export namespace NonExpandable {
149
+ export function render_5(): string;
150
+ export { render_5 as render };
151
+ }
@@ -0,0 +1 @@
1
+ export {};