@waggylabs/yumekit 0.4.3-beta.37 → 0.4.3-beta.38
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 +1 -0
- package/README.md +2 -1
- package/dist/components/y-stepper/y-stepper.d.ts +58 -0
- package/dist/components/y-stepper/y-stepper.stories.d.ts +129 -0
- package/dist/components/y-stepper/y-stepper.test.d.ts +1 -0
- package/dist/components/y-stepper.js +921 -0
- package/dist/components/y-theme.js +1 -1
- package/dist/index.js +1 -1
- package/dist/react.d.ts +9 -0
- package/dist/styles/variables.css +18 -0
- package/dist/yumekit.min.js +1 -1
- package/llm.txt +50 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -35,6 +35,7 @@ Delete any empty sections before publishing.
|
|
|
35
35
|
|
|
36
36
|
### Added
|
|
37
37
|
|
|
38
|
+
- New `y-stepper` component — a multi-step wizard that guides users through a sequential flow. Step content is provided via named slots defined in the `items` JSON array (`{ label, slot, description?, icon?, status? }`). Supports `current` (zero-based active step index), `orientation` (`"horizontal"` | `"vertical"`), `position` (`"start"` | `"end"` — controls whether indicators appear before or after the content), `size` (`"small"` | `"medium"` | `"large"`), `linear` (restricts free navigation), and `editable` (allows returning to completed steps). Methods: `next()`, `previous()`, `goTo(index)`, `complete(index?)`, `reset()`. Events: cancelable `change`, `complete`, `finish`. Full ARIA support with `role="list"`, `aria-current="step"`, `aria-controls`/`aria-labelledby` linkage, and keyboard navigation.
|
|
38
39
|
- 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
40
|
- 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
41
|
- 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.
|
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
## Overview
|
|
19
19
|
|
|
20
|
-
YumeKit is a collection of
|
|
20
|
+
YumeKit is a collection of 33 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
|
|
@@ -98,6 +98,7 @@ Then use the `<y-theme>` component to apply a theme:
|
|
|
98
98
|
| Select | `<y-select>` | Select / dropdown input |
|
|
99
99
|
| Slider | `<y-slider>` | Range slider input |
|
|
100
100
|
| Stack | `<y-stack>` | Layout container (row, column, grid, masonry) |
|
|
101
|
+
| Stepper | `<y-stepper>` | Multi-step wizard with sequential flow |
|
|
101
102
|
| Switch | `<y-switch>` | Toggle switch |
|
|
102
103
|
| Table | `<y-table>` | Sortable data table |
|
|
103
104
|
| Textarea | `<y-textarea>` | Multi-line text input |
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export class YumeStepper extends HTMLElement {
|
|
2
|
+
static get observedAttributes(): string[];
|
|
3
|
+
_stepStates: any[];
|
|
4
|
+
connectedCallback(): void;
|
|
5
|
+
attributeChangedCallback(name: any, oldValue: any, newValue: any): void;
|
|
6
|
+
set current(val: number);
|
|
7
|
+
/** Zero-based index of the active step. */
|
|
8
|
+
get current(): number;
|
|
9
|
+
set editable(val: boolean);
|
|
10
|
+
/** When set, completed steps can be clicked to return to them. */
|
|
11
|
+
get editable(): boolean;
|
|
12
|
+
set items(val: any);
|
|
13
|
+
/** Array of step definitions. */
|
|
14
|
+
get items(): any;
|
|
15
|
+
set linear(val: boolean);
|
|
16
|
+
/** When set, users can only advance via next() or complete(). */
|
|
17
|
+
get linear(): boolean;
|
|
18
|
+
set orientation(val: "vertical" | "horizontal");
|
|
19
|
+
/** Layout direction of step indicators. */
|
|
20
|
+
get orientation(): "vertical" | "horizontal";
|
|
21
|
+
set position(val: "start" | "end");
|
|
22
|
+
/** Whether step indicators appear before or after the content panels. */
|
|
23
|
+
get position(): "start" | "end";
|
|
24
|
+
set size(val: string);
|
|
25
|
+
/** Controls indicator size, font size, and spacing. */
|
|
26
|
+
get size(): string;
|
|
27
|
+
/** Marks a step as complete without advancing. Defaults to the current step. */
|
|
28
|
+
complete(index: any): void;
|
|
29
|
+
/** Jumps to the step at the given index. */
|
|
30
|
+
goTo(index: any): void;
|
|
31
|
+
/** Advances to the next step. Marks current as complete. */
|
|
32
|
+
next(): void;
|
|
33
|
+
/** Returns to the previous step. */
|
|
34
|
+
previous(): void;
|
|
35
|
+
render(): void;
|
|
36
|
+
/** Returns all steps to pending and sets current back to 0. */
|
|
37
|
+
reset(): void;
|
|
38
|
+
_buildConnectorStyles(): string;
|
|
39
|
+
_buildHostStyles(): string;
|
|
40
|
+
_buildIndicator(item: any, index: any, items: any): HTMLElement[];
|
|
41
|
+
_buildIndicatorButton(item: any, index: any, state: any, isActive: any, isClickable: any): HTMLElement;
|
|
42
|
+
_buildIndicatorIcon(item: any, index: any, state: any): HTMLElement;
|
|
43
|
+
_buildIndicatorLabel(item: any): HTMLElement;
|
|
44
|
+
_buildIndicators(items: any): HTMLElement;
|
|
45
|
+
_buildIndicatorStyles(): string;
|
|
46
|
+
_buildPanelStyles(): string;
|
|
47
|
+
_buildPanels(items: any): HTMLElement;
|
|
48
|
+
_buildStyles(): string;
|
|
49
|
+
_fireChangeAndApply(nextIndex: any): void;
|
|
50
|
+
_getDefaultGap(): any;
|
|
51
|
+
_getDefaultIndicatorSize(): any;
|
|
52
|
+
_getIconSize(): any;
|
|
53
|
+
_getStepState(index: any): any;
|
|
54
|
+
_isIndicatorClickable(index: any, state: any): boolean;
|
|
55
|
+
_onIndicatorClick(index: any): void;
|
|
56
|
+
_onIndicatorKeydown(e: any, index: any): void;
|
|
57
|
+
_syncStepStates(): void;
|
|
58
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
let title: string;
|
|
3
|
+
let tags: string[];
|
|
4
|
+
namespace argTypes {
|
|
5
|
+
namespace orientation {
|
|
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 size {
|
|
16
|
+
let control_1: string;
|
|
17
|
+
export { control_1 as control };
|
|
18
|
+
let options_1: string[];
|
|
19
|
+
export { options_1 as options };
|
|
20
|
+
let description_1: string;
|
|
21
|
+
export { description_1 as description };
|
|
22
|
+
export namespace table_1 {
|
|
23
|
+
export namespace defaultValue_1 {
|
|
24
|
+
let summary_1: string;
|
|
25
|
+
export { summary_1 as summary };
|
|
26
|
+
}
|
|
27
|
+
export { defaultValue_1 as defaultValue };
|
|
28
|
+
}
|
|
29
|
+
export { table_1 as table };
|
|
30
|
+
}
|
|
31
|
+
namespace linear {
|
|
32
|
+
let control_2: string;
|
|
33
|
+
export { control_2 as control };
|
|
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: boolean;
|
|
39
|
+
export { summary_2 as summary };
|
|
40
|
+
}
|
|
41
|
+
export { defaultValue_2 as defaultValue };
|
|
42
|
+
}
|
|
43
|
+
export { table_2 as table };
|
|
44
|
+
}
|
|
45
|
+
namespace position {
|
|
46
|
+
let control_3: string;
|
|
47
|
+
export { control_3 as control };
|
|
48
|
+
let options_2: string[];
|
|
49
|
+
export { options_2 as options };
|
|
50
|
+
let description_3: string;
|
|
51
|
+
export { description_3 as description };
|
|
52
|
+
export namespace table_3 {
|
|
53
|
+
export namespace defaultValue_3 {
|
|
54
|
+
let summary_3: string;
|
|
55
|
+
export { summary_3 as summary };
|
|
56
|
+
}
|
|
57
|
+
export { defaultValue_3 as defaultValue };
|
|
58
|
+
}
|
|
59
|
+
export { table_3 as table };
|
|
60
|
+
}
|
|
61
|
+
namespace editable {
|
|
62
|
+
let control_4: string;
|
|
63
|
+
export { control_4 as control };
|
|
64
|
+
let description_4: string;
|
|
65
|
+
export { description_4 as description };
|
|
66
|
+
export namespace table_4 {
|
|
67
|
+
export namespace defaultValue_4 {
|
|
68
|
+
let summary_4: boolean;
|
|
69
|
+
export { summary_4 as summary };
|
|
70
|
+
}
|
|
71
|
+
export { defaultValue_4 as defaultValue };
|
|
72
|
+
}
|
|
73
|
+
export { table_4 as table };
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
namespace args {
|
|
77
|
+
let orientation_1: string;
|
|
78
|
+
export { orientation_1 as orientation };
|
|
79
|
+
let position_1: string;
|
|
80
|
+
export { position_1 as position };
|
|
81
|
+
let size_1: string;
|
|
82
|
+
export { size_1 as size };
|
|
83
|
+
let linear_1: boolean;
|
|
84
|
+
export { linear_1 as linear };
|
|
85
|
+
let editable_1: boolean;
|
|
86
|
+
export { editable_1 as editable };
|
|
87
|
+
}
|
|
88
|
+
function render({ orientation, position, size, linear, editable }: {
|
|
89
|
+
orientation: any;
|
|
90
|
+
position: any;
|
|
91
|
+
size: any;
|
|
92
|
+
linear: any;
|
|
93
|
+
editable: any;
|
|
94
|
+
}): string;
|
|
95
|
+
}
|
|
96
|
+
export default _default;
|
|
97
|
+
export const Default: {};
|
|
98
|
+
export namespace WithDescriptions {
|
|
99
|
+
export function render_1(): string;
|
|
100
|
+
export { render_1 as render };
|
|
101
|
+
}
|
|
102
|
+
export namespace WithIcons {
|
|
103
|
+
export function render_2(): string;
|
|
104
|
+
export { render_2 as render };
|
|
105
|
+
}
|
|
106
|
+
export namespace WithStatus {
|
|
107
|
+
export function render_3(): string;
|
|
108
|
+
export { render_3 as render };
|
|
109
|
+
}
|
|
110
|
+
export namespace Vertical {
|
|
111
|
+
export function render_4(): string;
|
|
112
|
+
export { render_4 as render };
|
|
113
|
+
}
|
|
114
|
+
export namespace PositionEnd {
|
|
115
|
+
export function render_5(): string;
|
|
116
|
+
export { render_5 as render };
|
|
117
|
+
}
|
|
118
|
+
export namespace Sizes {
|
|
119
|
+
export function render_6(): string;
|
|
120
|
+
export { render_6 as render };
|
|
121
|
+
}
|
|
122
|
+
export namespace Interactive {
|
|
123
|
+
export function render_7(): string;
|
|
124
|
+
export { render_7 as render };
|
|
125
|
+
}
|
|
126
|
+
export namespace LinearMode {
|
|
127
|
+
export function render_8(): string;
|
|
128
|
+
export { render_8 as render };
|
|
129
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|