aeico-components 0.1.8 → 0.1.10
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/README.md +0 -0
- package/dist/alert.cjs +20 -29
- package/dist/alert.cjs.map +3 -3
- package/dist/alert.js +20 -29
- package/dist/alert.js.map +3 -3
- package/dist/badge.cjs +19 -28
- package/dist/badge.cjs.map +3 -3
- package/dist/badge.js +19 -28
- package/dist/badge.js.map +3 -3
- package/dist/breadcrumb.cjs +22 -33
- package/dist/breadcrumb.cjs.map +3 -3
- package/dist/breadcrumb.js +22 -33
- package/dist/breadcrumb.js.map +3 -3
- package/dist/button-group.cjs +19 -28
- package/dist/button-group.cjs.map +3 -3
- package/dist/button-group.js +19 -28
- package/dist/button-group.js.map +3 -3
- package/dist/button.cjs +19 -29
- package/dist/button.cjs.map +3 -3
- package/dist/button.js +19 -29
- package/dist/button.js.map +3 -3
- package/dist/card.cjs +19 -29
- package/dist/card.cjs.map +3 -3
- package/dist/card.js +19 -29
- package/dist/card.js.map +3 -3
- package/dist/checkbox.cjs +21 -31
- package/dist/checkbox.cjs.map +3 -3
- package/dist/checkbox.js +21 -31
- package/dist/checkbox.js.map +3 -3
- package/dist/copy-button.cjs +25 -33
- package/dist/copy-button.cjs.map +2 -2
- package/dist/copy-button.js +25 -33
- package/dist/copy-button.js.map +3 -3
- package/dist/detail-group.cjs +19 -29
- package/dist/detail-group.cjs.map +3 -3
- package/dist/detail-group.js +19 -29
- package/dist/detail-group.js.map +3 -3
- package/dist/detail.cjs +19 -29
- package/dist/detail.cjs.map +3 -3
- package/dist/detail.js +19 -29
- package/dist/detail.js.map +3 -3
- package/dist/dialog.cjs +24 -32
- package/dist/dialog.cjs.map +2 -2
- package/dist/dialog.js +24 -32
- package/dist/dialog.js.map +3 -3
- package/dist/divider.cjs +20 -30
- package/dist/divider.cjs.map +3 -3
- package/dist/divider.js +20 -30
- package/dist/divider.js.map +3 -3
- package/dist/drawer.cjs +24 -32
- package/dist/drawer.cjs.map +2 -2
- package/dist/drawer.js +24 -32
- package/dist/drawer.js.map +3 -3
- package/dist/dropdown.cjs +31 -43
- package/dist/dropdown.cjs.map +3 -3
- package/dist/dropdown.js +31 -43
- package/dist/dropdown.js.map +3 -3
- package/dist/icon-button.cjs +25 -35
- package/dist/icon-button.cjs.map +3 -3
- package/dist/icon-button.js +25 -35
- package/dist/icon-button.js.map +3 -3
- package/dist/icon.cjs +20 -26
- package/dist/icon.cjs.map +2 -2
- package/dist/icon.js +20 -26
- package/dist/icon.js.map +2 -2
- package/dist/index.cjs +75 -113
- package/dist/index.cjs.map +3 -3
- package/dist/index.js +75 -113
- package/dist/index.js.map +3 -3
- package/dist/menu.cjs +20 -31
- package/dist/menu.cjs.map +3 -3
- package/dist/menu.js +20 -31
- package/dist/menu.js.map +3 -3
- package/dist/navbar.cjs +19 -29
- package/dist/navbar.cjs.map +3 -3
- package/dist/navbar.js +19 -29
- package/dist/navbar.js.map +3 -3
- package/dist/number-input.cjs +21 -31
- package/dist/number-input.cjs.map +3 -3
- package/dist/number-input.js +21 -31
- package/dist/number-input.js.map +3 -3
- package/dist/pagination.cjs +24 -33
- package/dist/pagination.cjs.map +2 -2
- package/dist/pagination.js +24 -33
- package/dist/pagination.js.map +3 -3
- package/dist/progress-bar.cjs +19 -29
- package/dist/progress-bar.cjs.map +3 -3
- package/dist/progress-bar.js +19 -29
- package/dist/progress-bar.js.map +3 -3
- package/dist/radio-group.cjs +24 -35
- package/dist/radio-group.cjs.map +3 -3
- package/dist/radio-group.js +24 -35
- package/dist/radio-group.js.map +3 -3
- package/dist/select.cjs +23 -34
- package/dist/select.cjs.map +3 -3
- package/dist/select.js +23 -34
- package/dist/select.js.map +3 -3
- package/dist/slider.cjs +21 -32
- package/dist/slider.cjs.map +3 -3
- package/dist/slider.js +21 -32
- package/dist/slider.js.map +3 -3
- package/dist/spinner.cjs +19 -29
- package/dist/spinner.cjs.map +3 -3
- package/dist/spinner.js +19 -29
- package/dist/spinner.js.map +3 -3
- package/dist/styles/layout.cjs +1 -1
- package/dist/styles/layout.js +1 -1
- package/dist/styles/radius.cjs +1 -1
- package/dist/styles/radius.js +1 -1
- package/dist/styles/variables.cjs +1 -1
- package/dist/styles/variables.js +1 -1
- package/dist/switch.cjs +26 -35
- package/dist/switch.cjs.map +3 -3
- package/dist/switch.js +26 -35
- package/dist/switch.js.map +3 -3
- package/dist/tabs.cjs +21 -30
- package/dist/tabs.cjs.map +3 -3
- package/dist/tabs.js +21 -30
- package/dist/tabs.js.map +3 -3
- package/dist/tag.cjs +19 -28
- package/dist/tag.cjs.map +3 -3
- package/dist/tag.js +19 -28
- package/dist/tag.js.map +3 -3
- package/dist/text-input.cjs +21 -31
- package/dist/text-input.cjs.map +3 -3
- package/dist/text-input.js +21 -31
- package/dist/text-input.js.map +3 -3
- package/dist/textarea.cjs +21 -31
- package/dist/textarea.cjs.map +3 -3
- package/dist/textarea.js +21 -31
- package/dist/textarea.js.map +3 -3
- package/dist/tooltip.cjs +19 -28
- package/dist/tooltip.cjs.map +3 -3
- package/dist/tooltip.js +19 -28
- package/dist/tooltip.js.map +3 -3
- package/dist/tree.cjs +25 -35
- package/dist/tree.cjs.map +3 -3
- package/dist/tree.js +25 -35
- package/dist/tree.js.map +3 -3
- package/dist/types/aeico-component.d.ts +1 -1
- package/dist/types/aeico-field.d.ts +1 -1
- package/dist/types/breadcrumb/breadcrumb-item.d.ts +0 -1
- package/dist/types/breadcrumb/breadcrumb.d.ts +2 -3
- package/dist/types/button-group/button-group.d.ts +1 -1
- package/dist/types/card/card.d.ts +0 -1
- package/dist/types/checkbox/checkbox.d.ts +0 -1
- package/dist/types/detail/detail.d.ts +0 -1
- package/dist/types/detail-group/detail-group.d.ts +1 -2
- package/dist/types/divider/divider.d.ts +0 -1
- package/dist/types/dropdown/dropdown-button.d.ts +4 -5
- package/dist/types/dropdown/dropdown-item.d.ts +3 -4
- package/dist/types/dropdown/dropdown.d.ts +4 -5
- package/dist/types/icon/icon.d.ts +0 -1
- package/dist/types/icon/registry.d.ts +1 -1
- package/dist/types/icon-button/icon-button.d.ts +0 -1
- package/dist/types/index.d.ts +4 -4
- package/dist/types/menu/menu-item.d.ts +3 -4
- package/dist/types/menu/menu.d.ts +3 -4
- package/dist/types/navbar/navbar.d.ts +5 -6
- package/dist/types/number-input/number-input.d.ts +0 -1
- package/dist/types/pagination/pagination.d.ts +0 -1
- package/dist/types/progress-bar/progress-bar.d.ts +0 -1
- package/dist/types/radio-group/radio-group.d.ts +0 -1
- package/dist/types/radio-group/radio.d.ts +6 -7
- package/dist/types/select/select-option.d.ts +0 -1
- package/dist/types/select/select.d.ts +0 -1
- package/dist/types/slider/defines.d.ts +5 -5
- package/dist/types/slider/slider.d.ts +0 -1
- package/dist/types/spinner/spinner.d.ts +1 -2
- package/dist/types/switch/switch.d.ts +0 -1
- package/dist/types/text-input/text-input.d.ts +0 -1
- package/dist/types/textarea/textarea.d.ts +0 -1
- package/dist/types/tree/tree-item.d.ts +1 -2
- package/dist/types/tree/tree.d.ts +0 -1
- package/package.json +5 -3
- package/src/aeico-component.ts +6 -5
- package/src/aeico-field.ts +2 -2
- package/src/alert/alert.ts +2 -2
- package/src/badge/badge.ts +2 -2
- package/src/breadcrumb/breadcrumb-item.ts +2 -4
- package/src/breadcrumb/breadcrumb.ts +4 -6
- package/src/button/button.ts +2 -2
- package/src/button-group/button-group.ts +3 -3
- package/src/card/card.ts +2 -4
- package/src/card/defines.ts +1 -1
- package/src/card/index.ts +1 -1
- package/src/checkbox/checkbox.ts +2 -4
- package/src/copy-button/copy-button.ts +1 -1
- package/src/detail/detail.ts +2 -4
- package/src/detail-group/detail-group.ts +2 -4
- package/src/dialog/dialog.ts +2 -2
- package/src/divider/divider.ts +2 -4
- package/src/drawer/drawer.ts +2 -2
- package/src/dropdown/dropdown-button.ts +6 -8
- package/src/dropdown/dropdown-item.ts +5 -7
- package/src/dropdown/dropdown.ts +7 -9
- package/src/icon/icon.ts +2 -4
- package/src/icon/registry.ts +1 -1
- package/src/icon-button/icon-button.ts +2 -4
- package/src/index.ts +4 -4
- package/src/menu/menu-item.ts +5 -7
- package/src/menu/menu.ts +4 -6
- package/src/navbar/navbar.ts +7 -9
- package/src/number-input/number-input.ts +1 -3
- package/src/pagination/pagination.ts +1 -3
- package/src/progress-bar/progress-bar.ts +1 -2
- package/src/radio-group/radio-group.ts +5 -7
- package/src/radio-group/radio.ts +8 -10
- package/src/select/select-option.ts +2 -4
- package/src/select/select.ts +4 -6
- package/src/slider/defines.ts +5 -5
- package/src/slider/slider.ts +5 -8
- package/src/spinner/spinner.ts +2 -4
- package/src/styles/components/action-button.css +1 -1
- package/src/styles/components/alert.css +1 -1
- package/src/styles/components/breadcrumb-item.css +2 -2
- package/src/styles/components/button.css +0 -1
- package/src/styles/components/divider.css +1 -1
- package/src/styles/components/dropdown-item.css +2 -2
- package/src/styles/components/dropdown.css +1 -1
- package/src/styles/layout.css +14 -14
- package/src/styles/radius.css +1 -1
- package/src/styles/variables.css +14 -16
- package/src/switch/switch.ts +2 -4
- package/src/tabs/tab-panel.ts +2 -2
- package/src/tabs/tab.ts +2 -2
- package/src/tabs/tabs.ts +2 -2
- package/src/tag/tag.ts +2 -2
- package/src/text-input/text-input.ts +2 -4
- package/src/textarea/textarea.ts +1 -3
- package/src/tooltip/tooltip.ts +1 -1
- package/src/tree/tree-item.ts +3 -5
- package/src/tree/tree.ts +2 -4
|
@@ -7,15 +7,14 @@ import './menu-item';
|
|
|
7
7
|
* optional two-level flyout or inline (accordion) submenus.
|
|
8
8
|
*
|
|
9
9
|
* Two modes:
|
|
10
|
-
* - `flyout` (default)
|
|
10
|
+
* - `flyout` (default) - submenus open as floating panels (like a nav bar or
|
|
11
11
|
* context menu).
|
|
12
|
-
* - `inline`
|
|
12
|
+
* - `inline` - submenus expand in-place (accordion-style sidebar).
|
|
13
13
|
*
|
|
14
14
|
* Emits:
|
|
15
|
-
* - `select`
|
|
15
|
+
* - `select` - `{ detail: { key, label, keyPath } }` when a leaf item is clicked.
|
|
16
16
|
*/
|
|
17
17
|
declare class Menu extends AeicoComponent {
|
|
18
|
-
static tagName: string;
|
|
19
18
|
protected static styles: string[];
|
|
20
19
|
accessor mode: MenuMode;
|
|
21
20
|
accessor orientation: MenuOrientation;
|
|
@@ -8,9 +8,9 @@ import type { NavbarColor, NavbarAppearance } from './defines';
|
|
|
8
8
|
* mobile hamburger collapse.
|
|
9
9
|
*
|
|
10
10
|
* Slots:
|
|
11
|
-
* - `brand`
|
|
12
|
-
* - `start`
|
|
13
|
-
* - `end`
|
|
11
|
+
* - `brand` - leftmost area, typically a logo or site name link
|
|
12
|
+
* - `start` - main navigation links / dropdowns
|
|
13
|
+
* - `end` - right-side actions (login button, avatar, etc.)
|
|
14
14
|
*
|
|
15
15
|
* Slotted `<a>` elements receive default link styling controlled via
|
|
16
16
|
* CSS custom properties. Mark the active link with `aria-current="page"`.
|
|
@@ -37,7 +37,6 @@ import type { NavbarColor, NavbarAppearance } from './defines';
|
|
|
37
37
|
* ```
|
|
38
38
|
*/
|
|
39
39
|
declare class Navbar extends AeicoComponent {
|
|
40
|
-
static tagName: string;
|
|
41
40
|
protected static styles: string[];
|
|
42
41
|
/** Background color using the design-system color token set. */
|
|
43
42
|
accessor color: NavbarColor | undefined;
|
|
@@ -45,8 +44,8 @@ declare class Navbar extends AeicoComponent {
|
|
|
45
44
|
accessor sticky: boolean;
|
|
46
45
|
/**
|
|
47
46
|
* Hover style preset for slotted `<a>` links.
|
|
48
|
-
* - `text`
|
|
49
|
-
* - `block`
|
|
47
|
+
* - `text` - only the font color changes on hover (default)
|
|
48
|
+
* - `block` - a subtle filled background block appears on hover
|
|
50
49
|
*
|
|
51
50
|
* Fine-tune further with `--ae-navbar-link-hover-color` /
|
|
52
51
|
* `--ae-navbar-link-hover-bg` CSS variables.
|
|
@@ -2,7 +2,6 @@ import AeicoField from '../aeico-field';
|
|
|
2
2
|
import type { InferProps, Props } from 'aeico';
|
|
3
3
|
declare class NumberInput extends AeicoField<number> {
|
|
4
4
|
protected fieldElement: HTMLInputElement | null;
|
|
5
|
-
static tagName: string;
|
|
6
5
|
static props: Props;
|
|
7
6
|
placeholder?: string;
|
|
8
7
|
min?: number;
|
|
@@ -20,7 +20,6 @@ import type { ProgressBarColor } from './defines';
|
|
|
20
20
|
* When set, takes precedence over the `color` prop entirely.
|
|
21
21
|
*/
|
|
22
22
|
declare class ProgressBar extends AeicoComponent {
|
|
23
|
-
static tagName: string;
|
|
24
23
|
protected static styles: string[];
|
|
25
24
|
accessor value: number;
|
|
26
25
|
accessor label: string;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import AeicoComponent from '../aeico-component';
|
|
2
2
|
import type { InferProps, Props } from 'aeico';
|
|
3
3
|
/**
|
|
4
|
-
* AeRadio
|
|
4
|
+
* AeRadio - structured option element for ae-radio-group.
|
|
5
5
|
*
|
|
6
6
|
* Replaces the native `<option>` approach with a custom element that is
|
|
7
7
|
* fully extensible. Current surface:
|
|
8
|
-
* - `value`
|
|
9
|
-
* - `disabled`
|
|
10
|
-
* - Light DOM
|
|
8
|
+
* - `value` - option value submitted / matched against radio-group value
|
|
9
|
+
* - `disabled` - disables this individual option (independent of the group)
|
|
10
|
+
* - Light DOM - label content; can be plain text or rich HTML (icons, etc.)
|
|
11
11
|
*
|
|
12
|
-
* This element has **no shadow DOM**
|
|
12
|
+
* This element has **no shadow DOM** - it is a pure data / content carrier.
|
|
13
13
|
* ae-radio-group reads its properties and light-DOM content, then renders
|
|
14
14
|
* the appropriate UI (radio input, button, segmented pill, …).
|
|
15
15
|
*
|
|
@@ -31,8 +31,7 @@ import type { InferProps, Props } from 'aeico';
|
|
|
31
31
|
* ```
|
|
32
32
|
*/
|
|
33
33
|
declare class Radio extends AeicoComponent {
|
|
34
|
-
|
|
35
|
-
/** No shadow DOM — this element is a transparent data/content carrier. */
|
|
34
|
+
/** No shadow DOM - this element is a transparent data/content carrier. */
|
|
36
35
|
static useShadowDOM: boolean;
|
|
37
36
|
static props: Props;
|
|
38
37
|
value: string;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import AeicoComponent from '../aeico-component';
|
|
2
2
|
import type { InferProps } from 'aeico';
|
|
3
3
|
declare class SelectOption extends AeicoComponent {
|
|
4
|
-
static tagName: string;
|
|
5
4
|
accessor value: string | undefined;
|
|
6
5
|
accessor label: string | undefined;
|
|
7
6
|
accessor disabled: boolean;
|
|
@@ -21,7 +21,6 @@ declare class Select extends AeicoField<SelectOptionValue | SelectMultiValue> {
|
|
|
21
21
|
private _slotEl;
|
|
22
22
|
private _slotOptionData;
|
|
23
23
|
private _selectedListEl;
|
|
24
|
-
static tagName: string;
|
|
25
24
|
accessor _expanded: boolean;
|
|
26
25
|
accessor options: SelectOptions | undefined;
|
|
27
26
|
accessor position: SelectPosition | undefined;
|
|
@@ -11,8 +11,8 @@ export type NormalizedOption = {
|
|
|
11
11
|
};
|
|
12
12
|
/**
|
|
13
13
|
* A single mark on the slider track.
|
|
14
|
-
* - `number`
|
|
15
|
-
* - `{ value, label? }`
|
|
14
|
+
* - `number` - mark at that numeric position, no label
|
|
15
|
+
* - `{ value, label? }` - mark at `value` with optional label
|
|
16
16
|
*
|
|
17
17
|
* Marks are purely visual; they do NOT constrain snapping.
|
|
18
18
|
* The slider still snaps according to `step` / `options`.
|
|
@@ -24,8 +24,8 @@ export type MarkItem = number | {
|
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
26
26
|
* The `marks` prop accepts:
|
|
27
|
-
* - `true`
|
|
28
|
-
* - `MarkItem[]`
|
|
29
|
-
* - `false` / omitted
|
|
27
|
+
* - `true` - auto-generate marks (at option positions, or min+max in free mode)
|
|
28
|
+
* - `MarkItem[]` - custom marks at the given positions
|
|
29
|
+
* - `false` / omitted - no marks
|
|
30
30
|
*/
|
|
31
31
|
export type SliderMarks = boolean | MarkItem[];
|
|
@@ -2,7 +2,7 @@ import AeicoComponent from '../aeico-component';
|
|
|
2
2
|
import type { InferProps } from 'aeico';
|
|
3
3
|
import type { SpinnerColor, SpinnerSize, SpinnerVariant } from './defines';
|
|
4
4
|
/**
|
|
5
|
-
* Spinner
|
|
5
|
+
* Spinner - animated loading indicator.
|
|
6
6
|
*
|
|
7
7
|
* Supports two visual variants: a rotating ring (`border`, default) and
|
|
8
8
|
* three bouncing dots (`dots`). Size and colour are driven by the shared
|
|
@@ -16,7 +16,6 @@ import type { SpinnerColor, SpinnerSize, SpinnerVariant } from './defines';
|
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
18
|
declare class Spinner extends AeicoComponent {
|
|
19
|
-
static tagName: string;
|
|
20
19
|
accessor variant: SpinnerVariant;
|
|
21
20
|
accessor size: SpinnerSize;
|
|
22
21
|
accessor color: SpinnerColor;
|
|
@@ -4,7 +4,6 @@ import type { SwitchIconPlacement } from './defines';
|
|
|
4
4
|
import '../icon/icon';
|
|
5
5
|
declare class Switch extends AeicoField<boolean> {
|
|
6
6
|
protected fieldElement: HTMLInputElement | null;
|
|
7
|
-
static tagName: string;
|
|
8
7
|
accessor checked: boolean | undefined;
|
|
9
8
|
accessor defaultChecked: boolean | undefined;
|
|
10
9
|
accessor icon: string | undefined;
|
|
@@ -2,7 +2,6 @@ import AeicoField from '../aeico-field';
|
|
|
2
2
|
import type { InferProps, Props } from 'aeico';
|
|
3
3
|
declare class TextInput extends AeicoField {
|
|
4
4
|
protected fieldElement: HTMLInputElement | null;
|
|
5
|
-
static tagName: string;
|
|
6
5
|
static props: Props;
|
|
7
6
|
placeholder?: string;
|
|
8
7
|
type?: string;
|
|
@@ -3,7 +3,6 @@ import type { InferProps } from 'aeico';
|
|
|
3
3
|
export type TextareaResize = 'none' | 'vertical' | 'horizontal' | 'both';
|
|
4
4
|
declare class Textarea extends AeicoField {
|
|
5
5
|
protected fieldElement: HTMLTextAreaElement | null;
|
|
6
|
-
static tagName: string;
|
|
7
6
|
accessor placeholder: string | undefined;
|
|
8
7
|
accessor rows: number | undefined;
|
|
9
8
|
accessor maxlength: number | undefined;
|
|
@@ -2,7 +2,7 @@ import AeicoComponent from '../aeico-component';
|
|
|
2
2
|
import type { InferProps } from 'aeico';
|
|
3
3
|
import '../icon';
|
|
4
4
|
/**
|
|
5
|
-
* Tree item
|
|
5
|
+
* Tree item - used as a direct child of `<ae-tree>` or nested inside another
|
|
6
6
|
* `<ae-tree-item>` to create a multi-level tree.
|
|
7
7
|
*
|
|
8
8
|
* - **Parent item**: nest `<ae-tree-item>` children inside; an expand toggle is shown.
|
|
@@ -20,7 +20,6 @@ import '../icon';
|
|
|
20
20
|
* @slot label - Custom label content (falls back to the `label` attribute text).
|
|
21
21
|
*/
|
|
22
22
|
declare class TreeItem extends AeicoComponent {
|
|
23
|
-
static tagName: string;
|
|
24
23
|
protected static styles: string[];
|
|
25
24
|
accessor key: string | undefined;
|
|
26
25
|
accessor icon: string | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aeico-components",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "Built-in UI components for the Aeico Web Components framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -57,6 +57,8 @@
|
|
|
57
57
|
"build": "node scripts/build.mjs && node scripts/build-cjs.mjs && node scripts/build-styles.mjs && tsc --declaration --emitDeclarationOnly --outDir dist/types -p tsconfig.json",
|
|
58
58
|
"dev": "node scripts/build.mjs --watch",
|
|
59
59
|
"dev:example": "vite --config vite.example.config.ts",
|
|
60
|
+
"dev:example:components": "vite --config vite.example.config.ts",
|
|
61
|
+
"dev:example:simple": "cd examples/simple && vite",
|
|
60
62
|
"type-check": "tsc --noEmit",
|
|
61
63
|
"lint": "eslint \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
62
64
|
"lint:fix": "eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix",
|
|
@@ -76,7 +78,7 @@
|
|
|
76
78
|
"author": "Eowl",
|
|
77
79
|
"license": "MIT",
|
|
78
80
|
"peerDependencies": {
|
|
79
|
-
"aeico": "^0.1.
|
|
81
|
+
"aeico": "^0.1.8"
|
|
80
82
|
},
|
|
81
83
|
"devDependencies": {
|
|
82
84
|
"@eslint/js": "^10.0.1",
|
|
@@ -85,7 +87,7 @@
|
|
|
85
87
|
"@web/dev-server-esbuild": "^1.0.5",
|
|
86
88
|
"@web/test-runner": "^0.20.2",
|
|
87
89
|
"@web/test-runner-playwright": "^0.11.1",
|
|
88
|
-
"aeico": "^0.1.
|
|
90
|
+
"aeico": "^0.1.8",
|
|
89
91
|
"aeico-localize": "^0.1.1",
|
|
90
92
|
"esbuild": "^0.28.1",
|
|
91
93
|
"eslint": "^10.1.0",
|
package/src/aeico-component.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { toKebab } from './utils';
|
|
1
|
+
import { AeicoElement } from 'aeico';
|
|
3
2
|
|
|
4
3
|
const TAG_NAME_PREFIX = 'ae';
|
|
5
4
|
|
|
@@ -7,10 +6,12 @@ const TAG_NAME_PREFIX = 'ae';
|
|
|
7
6
|
* AeicoComponent is the base class for all built-in Aeico components.
|
|
8
7
|
*/
|
|
9
8
|
class AeicoComponent extends AeicoElement {
|
|
10
|
-
static
|
|
11
|
-
const
|
|
9
|
+
static define(name: string) {
|
|
10
|
+
const prefix = `${TAG_NAME_PREFIX}-`;
|
|
12
11
|
|
|
13
|
-
|
|
12
|
+
const tagName = name.startsWith(prefix) ? name : `${prefix}${name}`;
|
|
13
|
+
|
|
14
|
+
super.define(tagName);
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
17
|
|
package/src/aeico-field.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { InferProps, Props, Watchers } from 'aeico';
|
|
2
2
|
import { tags } from 'aeico';
|
|
3
3
|
import AeicoComponent from './aeico-component';
|
|
4
4
|
|
|
@@ -205,7 +205,7 @@ class AeicoField<TValue = string> extends AeicoComponent {
|
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
/**
|
|
208
|
-
* Watcher for error property
|
|
208
|
+
* Watcher for error property - syncs aria-invalid on the field element
|
|
209
209
|
*/
|
|
210
210
|
protected onErrorChanged(newValue: string | undefined): void {
|
|
211
211
|
if (this.fieldElement) {
|
package/src/alert/alert.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { InferProps, Props } from 'aeico';
|
|
2
2
|
import styleVariables from '../styles/variables.css';
|
|
3
3
|
import colorCSS from '../styles/color.css';
|
|
4
4
|
import alertStyle from '../styles/components/alert.css';
|
|
@@ -96,7 +96,7 @@ class Alert extends AeicoComponent {
|
|
|
96
96
|
};
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
Alert.
|
|
99
|
+
Alert.define('alert');
|
|
100
100
|
|
|
101
101
|
declare global {
|
|
102
102
|
interface HTMLElementTagNameMap {
|
package/src/badge/badge.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { InferProps } from 'aeico';
|
|
2
2
|
import styleVariables from '../styles/variables.css';
|
|
3
3
|
import sizeCSS from '../styles/size.css';
|
|
4
4
|
import colorCSS from '../styles/color.css';
|
|
@@ -50,7 +50,7 @@ class Badge extends AeicoComponent {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
Badge.
|
|
53
|
+
Badge.define('badge');
|
|
54
54
|
|
|
55
55
|
declare global {
|
|
56
56
|
interface HTMLElementTagNameMap {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { InferProps } from 'aeico';
|
|
2
2
|
import styleVariables from '../styles/variables.css';
|
|
3
3
|
import style from '../styles/components/breadcrumb-item.css';
|
|
4
4
|
import AeicoComponent from '../aeico-component';
|
|
@@ -22,8 +22,6 @@ import { prop } from 'aeico';
|
|
|
22
22
|
* ```
|
|
23
23
|
*/
|
|
24
24
|
class BreadcrumbItem extends AeicoComponent {
|
|
25
|
-
static tagName = 'breadcrumb-item';
|
|
26
|
-
|
|
27
25
|
protected static styles = [styleVariables, style];
|
|
28
26
|
|
|
29
27
|
@prop({ type: String })
|
|
@@ -49,7 +47,7 @@ class BreadcrumbItem extends AeicoComponent {
|
|
|
49
47
|
}
|
|
50
48
|
}
|
|
51
49
|
|
|
52
|
-
BreadcrumbItem.
|
|
50
|
+
BreadcrumbItem.define('breadcrumb-item');
|
|
53
51
|
|
|
54
52
|
declare global {
|
|
55
53
|
interface HTMLElementTagNameMap {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { InferProps } from 'aeico';
|
|
2
2
|
import styleVariables from '../styles/variables.css';
|
|
3
3
|
import colorCSS from '../styles/color.css';
|
|
4
4
|
import style from '../styles/components/breadcrumb.css';
|
|
@@ -15,8 +15,8 @@ import type BreadcrumbItem from './breadcrumb-item';
|
|
|
15
15
|
* as `aria-current="page"`.
|
|
16
16
|
*
|
|
17
17
|
* The separator is configurable via:
|
|
18
|
-
* - `separator` attribute (text, default `/`)
|
|
19
|
-
* - `slot="separator"` (any element, e.g. `ae-icon`)
|
|
18
|
+
* - `separator` attribute (text, default `/`) - simple and concise
|
|
19
|
+
* - `slot="separator"` (any element, e.g. `ae-icon`) - takes priority over the attribute
|
|
20
20
|
*
|
|
21
21
|
* Supports `color` for theming item link colors. The separator intentionally
|
|
22
22
|
* uses a fixed muted color and does NOT respond to the `color` prop.
|
|
@@ -45,8 +45,6 @@ import type BreadcrumbItem from './breadcrumb-item';
|
|
|
45
45
|
* ```
|
|
46
46
|
*/
|
|
47
47
|
class Breadcrumb extends AeicoComponent {
|
|
48
|
-
static tagName = 'breadcrumb';
|
|
49
|
-
|
|
50
48
|
protected static styles = [styleVariables, colorCSS, style];
|
|
51
49
|
|
|
52
50
|
/** Text separator shown between items. Ignored when `slot="separator"` is provided. */
|
|
@@ -126,7 +124,7 @@ class Breadcrumb extends AeicoComponent {
|
|
|
126
124
|
};
|
|
127
125
|
}
|
|
128
126
|
|
|
129
|
-
Breadcrumb.
|
|
127
|
+
Breadcrumb.define('breadcrumb');
|
|
130
128
|
|
|
131
129
|
declare global {
|
|
132
130
|
interface HTMLElementTagNameMap {
|
package/src/button/button.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { InferProps } from 'aeico';
|
|
2
2
|
import styleVariables from '../styles/variables.css';
|
|
3
3
|
import sizeCSS from '../styles/size.css';
|
|
4
4
|
import colorCSS from '../styles/color.css';
|
|
@@ -133,7 +133,7 @@ class Button extends AeicoComponent {
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
Button.
|
|
136
|
+
Button.define('button');
|
|
137
137
|
|
|
138
138
|
declare global {
|
|
139
139
|
interface HTMLElementTagNameMap {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { InferProps, Props } from 'aeico';
|
|
2
2
|
import styleVariables from '../styles/variables.css';
|
|
3
3
|
import buttonGroupStyle from '../styles/components/button-group.css';
|
|
4
4
|
import AeicoComponent from '../aeico-component';
|
|
@@ -23,7 +23,7 @@ import DropdownButton from '../dropdown/dropdown-button';
|
|
|
23
23
|
* <ae-button>Three</ae-button>
|
|
24
24
|
* </ae-button-group>
|
|
25
25
|
*
|
|
26
|
-
* <!-- Compact
|
|
26
|
+
* <!-- Compact - joined strip -->
|
|
27
27
|
* <ae-button-group compact color="primary">
|
|
28
28
|
* <ae-button>Left</ae-button>
|
|
29
29
|
* <ae-button>Middle</ae-button>
|
|
@@ -127,7 +127,7 @@ class ButtonGroup extends AeicoComponent {
|
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
ButtonGroup.
|
|
130
|
+
ButtonGroup.define('button-group');
|
|
131
131
|
|
|
132
132
|
declare global {
|
|
133
133
|
interface HTMLElementTagNameMap {
|
package/src/card/card.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { InferProps } from 'aeico';
|
|
2
2
|
import styleVariables from '../styles/variables.css';
|
|
3
3
|
import colorCSS from '../styles/color.css';
|
|
4
4
|
import cardStyle from '../styles/components/card.css';
|
|
@@ -8,8 +8,6 @@ import type { CardVariant, CardColor } from './defines';
|
|
|
8
8
|
import { prop } from 'aeico';
|
|
9
9
|
|
|
10
10
|
class Card extends AeicoComponent {
|
|
11
|
-
static tagName = 'card';
|
|
12
|
-
|
|
13
11
|
protected static styles = [styleVariables, colorCSS, cardStyle];
|
|
14
12
|
|
|
15
13
|
@prop({ type: String })
|
|
@@ -45,7 +43,7 @@ class Card extends AeicoComponent {
|
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
45
|
|
|
48
|
-
Card.
|
|
46
|
+
Card.define('card');
|
|
49
47
|
|
|
50
48
|
declare global {
|
|
51
49
|
interface HTMLElementTagNameMap {
|
package/src/card/defines.ts
CHANGED
package/src/card/index.ts
CHANGED
package/src/checkbox/checkbox.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import AeicoField, { type FieldAction } from '../aeico-field';
|
|
2
2
|
import type { InferProps, Props } from 'aeico';
|
|
3
3
|
import { html } from 'aeico';
|
|
4
4
|
import styleVariables from '../styles/variables.css';
|
|
@@ -12,8 +12,6 @@ import { CheckboxVariant } from './defines';
|
|
|
12
12
|
class Checkbox extends AeicoField<boolean> {
|
|
13
13
|
protected fieldElement: HTMLInputElement | null = null;
|
|
14
14
|
|
|
15
|
-
static tagName = 'checkbox';
|
|
16
|
-
|
|
17
15
|
static props: Props = {
|
|
18
16
|
checked: { type: Boolean },
|
|
19
17
|
defaultChecked: { type: Boolean },
|
|
@@ -93,7 +91,7 @@ class Checkbox extends AeicoField<boolean> {
|
|
|
93
91
|
}
|
|
94
92
|
}
|
|
95
93
|
|
|
96
|
-
Checkbox.
|
|
94
|
+
Checkbox.define('checkbox');
|
|
97
95
|
|
|
98
96
|
declare global {
|
|
99
97
|
interface HTMLElementTagNameMap {
|
package/src/detail/detail.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { InferProps } from 'aeico';
|
|
2
2
|
import styleVariables from '../styles/variables.css';
|
|
3
3
|
import colorCSS from '../styles/color.css';
|
|
4
4
|
import detailStyle from '../styles/components/detail.css';
|
|
@@ -19,8 +19,6 @@ import type { DetailColor, DetailVariant, DetailIconPlacement } from './defines'
|
|
|
19
19
|
* </ae-detail>
|
|
20
20
|
*/
|
|
21
21
|
class Detail extends AeicoComponent {
|
|
22
|
-
static tagName = 'detail';
|
|
23
|
-
|
|
24
22
|
protected static styles = [styleVariables, colorCSS, detailStyle];
|
|
25
23
|
|
|
26
24
|
@prop({ type: String })
|
|
@@ -113,7 +111,7 @@ class Detail extends AeicoComponent {
|
|
|
113
111
|
}
|
|
114
112
|
}
|
|
115
113
|
|
|
116
|
-
Detail.
|
|
114
|
+
Detail.define('detail');
|
|
117
115
|
|
|
118
116
|
declare global {
|
|
119
117
|
interface HTMLElementTagNameMap {
|
|
@@ -7,7 +7,7 @@ import type Detail from '../detail/detail';
|
|
|
7
7
|
import type { DetailColor, DetailVariant } from '../detail/defines';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
* DetailGroup component
|
|
10
|
+
* DetailGroup component - wraps multiple `ae-detail` elements into an
|
|
11
11
|
* accordion-style group. By default only one item can be open at a time;
|
|
12
12
|
* set `multiple` to allow several items open simultaneously.
|
|
13
13
|
*
|
|
@@ -21,8 +21,6 @@ import type { DetailColor, DetailVariant } from '../detail/defines';
|
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
23
|
class DetailGroup extends AeicoComponent {
|
|
24
|
-
static tagName = 'detail-group';
|
|
25
|
-
|
|
26
24
|
static props: Props = {
|
|
27
25
|
multiple: { type: Boolean },
|
|
28
26
|
variant: { type: String },
|
|
@@ -92,7 +90,7 @@ class DetailGroup extends AeicoComponent {
|
|
|
92
90
|
}
|
|
93
91
|
}
|
|
94
92
|
|
|
95
|
-
DetailGroup.
|
|
93
|
+
DetailGroup.define('detail-group');
|
|
96
94
|
|
|
97
95
|
declare global {
|
|
98
96
|
interface HTMLElementTagNameMap {
|
package/src/dialog/dialog.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { InferProps, Props } from 'aeico';
|
|
2
2
|
import styleVariables from '../styles/variables.css';
|
|
3
3
|
import style from '../styles/components/dialog.css';
|
|
4
4
|
import AeicoComponent from '../aeico-component';
|
|
@@ -138,7 +138,7 @@ class Dialog extends AeicoComponent {
|
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
Dialog.
|
|
141
|
+
Dialog.define('dialog');
|
|
142
142
|
|
|
143
143
|
declare global {
|
|
144
144
|
interface HTMLElementTagNameMap {
|
package/src/divider/divider.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import AeicoComponent from '../aeico-component';
|
|
2
2
|
import type { InferProps } from 'aeico';
|
|
3
3
|
import styleVariables from '../styles/variables.css';
|
|
4
4
|
import colorCSS from '../styles/color.css';
|
|
@@ -22,8 +22,6 @@ import { prop } from 'aeico';
|
|
|
22
22
|
* @cssproperty --thickness - Custom property to set the thickness of the divider when the `thickness` prop is used.
|
|
23
23
|
*/
|
|
24
24
|
class Divider extends AeicoComponent {
|
|
25
|
-
static tagName = 'divider';
|
|
26
|
-
|
|
27
25
|
@prop({ type: Boolean })
|
|
28
26
|
accessor vertical: boolean = false;
|
|
29
27
|
|
|
@@ -44,7 +42,7 @@ class Divider extends AeicoComponent {
|
|
|
44
42
|
}
|
|
45
43
|
}
|
|
46
44
|
|
|
47
|
-
Divider.
|
|
45
|
+
Divider.define('divider');
|
|
48
46
|
|
|
49
47
|
declare global {
|
|
50
48
|
interface HTMLElementTagNameMap {
|
package/src/drawer/drawer.ts
CHANGED
|
@@ -84,7 +84,7 @@ class Drawer extends AeicoComponent {
|
|
|
84
84
|
slot();
|
|
85
85
|
});
|
|
86
86
|
|
|
87
|
-
// Footer
|
|
87
|
+
// Footer - always rendered to capture slotchange, hidden when empty
|
|
88
88
|
footer({ style: { display: this._hasFooter ? '' : 'none' } }, () => {
|
|
89
89
|
slot({ name: 'footer', '@slotchange': this._handleFooterSlotChange });
|
|
90
90
|
});
|
|
@@ -162,7 +162,7 @@ class Drawer extends AeicoComponent {
|
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
164
|
|
|
165
|
-
Drawer.
|
|
165
|
+
Drawer.define('drawer');
|
|
166
166
|
|
|
167
167
|
declare global {
|
|
168
168
|
interface HTMLElementTagNameMap {
|