@waggylabs/yumekit 0.4.3-beta.39 → 0.4.3-beta.40

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
@@ -36,6 +36,7 @@ Delete any empty sections before publishing.
36
36
  ### Added
37
37
 
38
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.
39
+ - New `y-breadcrumbs` component — a navigation breadcrumb trail. Accepts an `items` JSON array (`{ text, href?, icon? }`). Supports `separator` (custom separator character or slotted icon), `max-items` (collapses middle items with an expand button), `size` (`"small"` | `"medium"` | `"large"`), and `history` (set to `"false"` for full-page navigation instead of `pushState`). Fires cancelable `navigate` and `expand` events. Full ARIA with `<nav aria-label="Breadcrumb">`, `<ol>`, `aria-current="page"`, and `aria-hidden` separators.
39
40
  - 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.
40
41
  - 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.
41
42
  - 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 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.
20
+ YumeKit is a collection of 34 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
@@ -78,6 +78,7 @@ Then use the `<y-theme>` component to apply a theme:
78
78
  | App Bar | `<y-appbar>` | Top or side navigation bar |
79
79
  | Avatar | `<y-avatar>` | User avatar with shape and color variants |
80
80
  | Badge | `<y-badge>` | Status badge or label |
81
+ | Breadcrumbs | `<y-breadcrumbs>` | Navigation breadcrumb trail with collapse support |
81
82
  | Button | `<y-button>` | Button with icon, size, and style variants |
82
83
  | Button Group | `<y-button-group>` | Groups buttons (or inputs) into a connected toolbar |
83
84
  | Card | `<y-card>` | Content card container |
@@ -0,0 +1,35 @@
1
+ export class YumeBreadcrumbs extends HTMLElement {
2
+ static get observedAttributes(): string[];
3
+ _expanded: boolean;
4
+ connectedCallback(): void;
5
+ attributeChangedCallback(name: any, oldValue: any, newValue: any): void;
6
+ set history(val: string);
7
+ /** When omitted, navigation uses pushState. Set to "false" for full-page navigation. */
8
+ get history(): string;
9
+ set items(val: any);
10
+ /** Array of breadcrumb items. */
11
+ get items(): any;
12
+ set maxItems(val: number);
13
+ /** Maximum visible items before collapsing. */
14
+ get maxItems(): number;
15
+ set separator(val: string);
16
+ /** Text or character used as the separator. Defaults to a chevron-right icon when unset. */
17
+ get separator(): string;
18
+ set size(val: string);
19
+ /** Controls padding, font size, and icon size. */
20
+ get size(): string;
21
+ render(): void;
22
+ _buildExpandItem(): HTMLElement;
23
+ _buildHostStyles(): string;
24
+ _buildItem(item: any, index: any, items: any): HTMLElement;
25
+ _buildItemStyles(): string;
26
+ _buildSeparatorItem(): HTMLElement;
27
+ _buildSeparatorStyles(): string;
28
+ _buildStyles(): string;
29
+ _getDefaultFontSize(): any;
30
+ _getDefaultGap(): any;
31
+ _getIconSize(): any;
32
+ _getVisibleItems(items: any): any;
33
+ _onExpand(): void;
34
+ _onNavigate(e: any, href: any): void;
35
+ }
@@ -0,0 +1,35 @@
1
+ export class YumeBreadcrumbs extends HTMLElement {
2
+ static get observedAttributes(): string[];
3
+ _expanded: boolean;
4
+ connectedCallback(): void;
5
+ attributeChangedCallback(name: any, oldValue: any, newValue: any): void;
6
+ set history(val: string);
7
+ /** When omitted, navigation uses pushState. Set to "false" for full-page navigation. */
8
+ get history(): string;
9
+ set items(val: any);
10
+ /** Array of breadcrumb items. */
11
+ get items(): any;
12
+ set maxItems(val: number);
13
+ /** Maximum visible items before collapsing. */
14
+ get maxItems(): number;
15
+ set separator(val: string);
16
+ /** Text or character used as the separator. Defaults to a chevron-right icon when unset. */
17
+ get separator(): string;
18
+ set size(val: string);
19
+ /** Controls padding, font size, and icon size. */
20
+ get size(): string;
21
+ render(): void;
22
+ _buildExpandItem(): HTMLElement;
23
+ _buildHostStyles(): string;
24
+ _buildItem(item: any, index: any, items: any): HTMLElement;
25
+ _buildItemStyles(): string;
26
+ _buildSeparatorItem(): HTMLElement;
27
+ _buildSeparatorStyles(): string;
28
+ _buildStyles(): string;
29
+ _getDefaultFontSize(): any;
30
+ _getDefaultGap(): any;
31
+ _getIconSize(): any;
32
+ _getVisibleItems(items: any): any;
33
+ _onExpand(): void;
34
+ _onNavigate(e: any, href: any): void;
35
+ }