kenikool-ui 1.0.0
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 +144 -0
- package/dist/cdn-auto-register.js +188 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types/components/advanced/datepicker.d.ts +86 -0
- package/dist/types/components/advanced/datepicker.d.ts.map +1 -0
- package/dist/types/components/advanced/datepicker.stories.d.ts +48 -0
- package/dist/types/components/advanced/datepicker.stories.d.ts.map +1 -0
- package/dist/types/components/advanced/fileupload.d.ts +75 -0
- package/dist/types/components/advanced/fileupload.d.ts.map +1 -0
- package/dist/types/components/advanced/fileupload.stories.d.ts +46 -0
- package/dist/types/components/advanced/fileupload.stories.d.ts.map +1 -0
- package/dist/types/components/advanced/index.d.ts +4 -0
- package/dist/types/components/advanced/index.d.ts.map +1 -0
- package/dist/types/components/data/avatar.d.ts +94 -0
- package/dist/types/components/data/avatar.d.ts.map +1 -0
- package/dist/types/components/data/avatar.stories.d.ts +51 -0
- package/dist/types/components/data/avatar.stories.d.ts.map +1 -0
- package/dist/types/components/data/badge.d.ts +69 -0
- package/dist/types/components/data/badge.d.ts.map +1 -0
- package/dist/types/components/data/badge.stories.d.ts +48 -0
- package/dist/types/components/data/badge.stories.d.ts.map +1 -0
- package/dist/types/components/data/index.d.ts +5 -0
- package/dist/types/components/data/index.d.ts.map +1 -0
- package/dist/types/components/data/list.d.ts +66 -0
- package/dist/types/components/data/list.d.ts.map +1 -0
- package/dist/types/components/data/list.stories.d.ts +38 -0
- package/dist/types/components/data/list.stories.d.ts.map +1 -0
- package/dist/types/components/data/table.d.ts +70 -0
- package/dist/types/components/data/table.d.ts.map +1 -0
- package/dist/types/components/data/table.stories.d.ts +42 -0
- package/dist/types/components/data/table.stories.d.ts.map +1 -0
- package/dist/types/components/feedback/alert.d.ts +78 -0
- package/dist/types/components/feedback/alert.d.ts.map +1 -0
- package/dist/types/components/feedback/alert.stories.d.ts +35 -0
- package/dist/types/components/feedback/alert.stories.d.ts.map +1 -0
- package/dist/types/components/feedback/index.d.ts +5 -0
- package/dist/types/components/feedback/index.d.ts.map +1 -0
- package/dist/types/components/feedback/loading.d.ts +87 -0
- package/dist/types/components/feedback/loading.d.ts.map +1 -0
- package/dist/types/components/feedback/loading.stories.d.ts +48 -0
- package/dist/types/components/feedback/loading.stories.d.ts.map +1 -0
- package/dist/types/components/feedback/modal.d.ts +93 -0
- package/dist/types/components/feedback/modal.d.ts.map +1 -0
- package/dist/types/components/feedback/modal.stories.d.ts +37 -0
- package/dist/types/components/feedback/modal.stories.d.ts.map +1 -0
- package/dist/types/components/feedback/toast.d.ts +102 -0
- package/dist/types/components/feedback/toast.d.ts.map +1 -0
- package/dist/types/components/feedback/toast.stories.d.ts +51 -0
- package/dist/types/components/feedback/toast.stories.d.ts.map +1 -0
- package/dist/types/components/forms/button.d.ts +64 -0
- package/dist/types/components/forms/button.d.ts.map +1 -0
- package/dist/types/components/forms/button.stories.d.ts +52 -0
- package/dist/types/components/forms/button.stories.d.ts.map +1 -0
- package/dist/types/components/forms/checkbox.d.ts +51 -0
- package/dist/types/components/forms/checkbox.d.ts.map +1 -0
- package/dist/types/components/forms/checkbox.stories.d.ts +31 -0
- package/dist/types/components/forms/checkbox.stories.d.ts.map +1 -0
- package/dist/types/components/forms/index.d.ts +6 -0
- package/dist/types/components/forms/index.d.ts.map +1 -0
- package/dist/types/components/forms/input.d.ts +66 -0
- package/dist/types/components/forms/input.d.ts.map +1 -0
- package/dist/types/components/forms/input.stories.d.ts +49 -0
- package/dist/types/components/forms/input.stories.d.ts.map +1 -0
- package/dist/types/components/forms/radio.d.ts +51 -0
- package/dist/types/components/forms/radio.d.ts.map +1 -0
- package/dist/types/components/forms/radio.stories.d.ts +41 -0
- package/dist/types/components/forms/radio.stories.d.ts.map +1 -0
- package/dist/types/components/forms/select.d.ts +67 -0
- package/dist/types/components/forms/select.d.ts.map +1 -0
- package/dist/types/components/forms/select.stories.d.ts +42 -0
- package/dist/types/components/forms/select.stories.d.ts.map +1 -0
- package/dist/types/components/layout/card.d.ts +66 -0
- package/dist/types/components/layout/card.d.ts.map +1 -0
- package/dist/types/components/layout/card.example.d.ts +5 -0
- package/dist/types/components/layout/card.example.d.ts.map +1 -0
- package/dist/types/components/layout/card.stories.d.ts +40 -0
- package/dist/types/components/layout/card.stories.d.ts.map +1 -0
- package/dist/types/components/layout/container.d.ts +84 -0
- package/dist/types/components/layout/container.d.ts.map +1 -0
- package/dist/types/components/layout/container.stories.d.ts +40 -0
- package/dist/types/components/layout/container.stories.d.ts.map +1 -0
- package/dist/types/components/layout/grid.d.ts +76 -0
- package/dist/types/components/layout/grid.d.ts.map +1 -0
- package/dist/types/components/layout/grid.example.d.ts +11 -0
- package/dist/types/components/layout/grid.example.d.ts.map +1 -0
- package/dist/types/components/layout/grid.stories.d.ts +38 -0
- package/dist/types/components/layout/grid.stories.d.ts.map +1 -0
- package/dist/types/components/layout/index.d.ts +5 -0
- package/dist/types/components/layout/index.d.ts.map +1 -0
- package/dist/types/components/layout/stack.d.ts +82 -0
- package/dist/types/components/layout/stack.d.ts.map +1 -0
- package/dist/types/components/layout/stack.stories.d.ts +44 -0
- package/dist/types/components/layout/stack.stories.d.ts.map +1 -0
- package/dist/types/components/navigation/breadcrumbs.d.ts +62 -0
- package/dist/types/components/navigation/breadcrumbs.d.ts.map +1 -0
- package/dist/types/components/navigation/breadcrumbs.stories.d.ts +32 -0
- package/dist/types/components/navigation/breadcrumbs.stories.d.ts.map +1 -0
- package/dist/types/components/navigation/index.d.ts +4 -0
- package/dist/types/components/navigation/index.d.ts.map +1 -0
- package/dist/types/components/navigation/navbar.d.ts +66 -0
- package/dist/types/components/navigation/navbar.d.ts.map +1 -0
- package/dist/types/components/navigation/navbar.stories.d.ts +37 -0
- package/dist/types/components/navigation/navbar.stories.d.ts.map +1 -0
- package/dist/types/components/navigation/sidebar.d.ts +72 -0
- package/dist/types/components/navigation/sidebar.d.ts.map +1 -0
- package/dist/types/components/navigation/sidebar.stories.d.ts +43 -0
- package/dist/types/components/navigation/sidebar.stories.d.ts.map +1 -0
- package/dist/types/components/typography/index.d.ts +3 -0
- package/dist/types/components/typography/index.d.ts.map +1 -0
- package/dist/types/components/typography/text.d.ts +111 -0
- package/dist/types/components/typography/text.d.ts.map +1 -0
- package/dist/types/components/typography/text.stories.d.ts +48 -0
- package/dist/types/components/typography/text.stories.d.ts.map +1 -0
- package/dist/types/core/base-component.d.ts +178 -0
- package/dist/types/core/base-component.d.ts.map +1 -0
- package/dist/types/core/base-component.example.d.ts +24 -0
- package/dist/types/core/base-component.example.d.ts.map +1 -0
- package/dist/types/core/registry.d.ts +88 -0
- package/dist/types/core/registry.d.ts.map +1 -0
- package/dist/types/core/registry.example.d.ts +42 -0
- package/dist/types/core/registry.example.d.ts.map +1 -0
- package/dist/types/core/smart-defaults.d.ts +45 -0
- package/dist/types/core/smart-defaults.d.ts.map +1 -0
- package/dist/types/core/smart-defaults.example.d.ts +20 -0
- package/dist/types/core/smart-defaults.example.d.ts.map +1 -0
- package/dist/types/core/styles-parser.d.ts +107 -0
- package/dist/types/core/styles-parser.d.ts.map +1 -0
- package/dist/types/core/styles-parser.example.d.ts +10 -0
- package/dist/types/core/styles-parser.example.d.ts.map +1 -0
- package/dist/types/core/theme-system.d.ts +91 -0
- package/dist/types/core/theme-system.d.ts.map +1 -0
- package/dist/types/index.d.ts +24 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/themes/built-in-themes.d.ts +32 -0
- package/dist/types/themes/built-in-themes.d.ts.map +1 -0
- package/dist/types/themes/index.d.ts +5 -0
- package/dist/types/themes/index.d.ts.map +1 -0
- package/dist/types/types/components.d.ts +549 -0
- package/dist/types/types/components.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +379 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/theme-config.d.ts +674 -0
- package/dist/types/types/theme-config.d.ts.map +1 -0
- package/dist/types/types/themes.d.ts +325 -0
- package/dist/types/types/themes.d.ts.map +1 -0
- package/dist/types/types/utils.d.ts +293 -0
- package/dist/types/types/utils.d.ts.map +1 -0
- package/dist/types/types/wrappers.d.ts +335 -0
- package/dist/types/types/wrappers.d.ts.map +1 -0
- package/dist/types/utils/accessibility.d.ts +345 -0
- package/dist/types/utils/accessibility.d.ts.map +1 -0
- package/dist/types/utils/accessibility.example.d.ts +50 -0
- package/dist/types/utils/accessibility.example.d.ts.map +1 -0
- package/dist/types/utils/css-variables.d.ts +278 -0
- package/dist/types/utils/css-variables.d.ts.map +1 -0
- package/dist/types/utils/icon-system.d.ts +79 -0
- package/dist/types/utils/icon-system.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +9 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/performance.d.ts +141 -0
- package/dist/types/utils/performance.d.ts.map +1 -0
- package/dist/types/utils/security.d.ts +109 -0
- package/dist/types/utils/security.d.ts.map +1 -0
- package/dist/types/utils/validation.d.ts +84 -0
- package/dist/types/utils/validation.d.ts.map +1 -0
- package/dist/types/wrappers/angular/components.d.ts +2 -0
- package/dist/types/wrappers/angular/components.d.ts.map +1 -0
- package/dist/types/wrappers/angular/index.d.ts +6 -0
- package/dist/types/wrappers/angular/index.d.ts.map +1 -0
- package/dist/types/wrappers/angular/module.d.ts +2 -0
- package/dist/types/wrappers/angular/module.d.ts.map +1 -0
- package/dist/types/wrappers/angular/services.d.ts +2 -0
- package/dist/types/wrappers/angular/services.d.ts.map +1 -0
- package/dist/types/wrappers/angular/types.d.ts +44 -0
- package/dist/types/wrappers/angular/types.d.ts.map +1 -0
- package/dist/types/wrappers/react/components.d.ts +2 -0
- package/dist/types/wrappers/react/components.d.ts.map +1 -0
- package/dist/types/wrappers/react/hooks.d.ts +2 -0
- package/dist/types/wrappers/react/hooks.d.ts.map +1 -0
- package/dist/types/wrappers/react/index.d.ts +6 -0
- package/dist/types/wrappers/react/index.d.ts.map +1 -0
- package/dist/types/wrappers/react/provider.d.ts +2 -0
- package/dist/types/wrappers/react/provider.d.ts.map +1 -0
- package/dist/types/wrappers/react/types.d.ts +31 -0
- package/dist/types/wrappers/react/types.d.ts.map +1 -0
- package/dist/types/wrappers/vue/components.d.ts +2 -0
- package/dist/types/wrappers/vue/components.d.ts.map +1 -0
- package/dist/types/wrappers/vue/composables.d.ts +2 -0
- package/dist/types/wrappers/vue/composables.d.ts.map +1 -0
- package/dist/types/wrappers/vue/index.d.ts +6 -0
- package/dist/types/wrappers/vue/index.d.ts.map +1 -0
- package/dist/types/wrappers/vue/plugin.d.ts +2 -0
- package/dist/types/wrappers/vue/plugin.d.ts.map +1 -0
- package/dist/types/wrappers/vue/types.d.ts +38 -0
- package/dist/types/wrappers/vue/types.d.ts.map +1 -0
- package/package.json +138 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { BaseComponent } from '../../core/base-component.js';
|
|
2
|
+
import { AccessibilityConfig } from '../../types/index.js';
|
|
3
|
+
import { KButtonProps } from '../../types/components.js';
|
|
4
|
+
/**
|
|
5
|
+
* KButton - A customizable button component with variants, sizes, and loading states
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```html
|
|
9
|
+
* <k-button>Click me</k-button>
|
|
10
|
+
* <k-button variant="primary" size="lg">Large Primary</k-button>
|
|
11
|
+
* <k-button loading>Loading...</k-button>
|
|
12
|
+
* <k-button icon="save" variant="success">Save</k-button>
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare class KButton extends BaseComponent {
|
|
16
|
+
private button;
|
|
17
|
+
static get observedAttributes(): string[];
|
|
18
|
+
get type(): KButtonProps['type'];
|
|
19
|
+
set type(value: KButtonProps['type']);
|
|
20
|
+
get disabled(): boolean;
|
|
21
|
+
set disabled(value: boolean);
|
|
22
|
+
get loading(): boolean;
|
|
23
|
+
set loading(value: boolean);
|
|
24
|
+
get icon(): KButtonProps['icon'];
|
|
25
|
+
set icon(value: KButtonProps['icon']);
|
|
26
|
+
get size(): KButtonProps['size'];
|
|
27
|
+
set size(value: KButtonProps['size']);
|
|
28
|
+
get variant(): KButtonProps['variant'];
|
|
29
|
+
set variant(value: KButtonProps['variant']);
|
|
30
|
+
get appearance(): KButtonProps['appearance'];
|
|
31
|
+
set appearance(value: KButtonProps['appearance']);
|
|
32
|
+
get shape(): KButtonProps['shape'];
|
|
33
|
+
set shape(value: KButtonProps['shape']);
|
|
34
|
+
render(): void;
|
|
35
|
+
private sanitizeIconName;
|
|
36
|
+
private getIconContent;
|
|
37
|
+
private setupEventListeners;
|
|
38
|
+
getAccessibilityConfig(): AccessibilityConfig;
|
|
39
|
+
private getDefaultAriaLabel;
|
|
40
|
+
getDefaultStyles(): CSSStyleSheet;
|
|
41
|
+
protected onAttributeChange(name: string, oldValue: string | null, newValue: string | null): void;
|
|
42
|
+
/**
|
|
43
|
+
* Update only the disabled state without full re-render
|
|
44
|
+
*/
|
|
45
|
+
private updateDisabledState;
|
|
46
|
+
/**
|
|
47
|
+
* Update only the loading state without full re-render
|
|
48
|
+
*/
|
|
49
|
+
private updateLoadingState;
|
|
50
|
+
/**
|
|
51
|
+
* Update only the icon without full re-render
|
|
52
|
+
*/
|
|
53
|
+
private updateIcon;
|
|
54
|
+
click(): void;
|
|
55
|
+
focus(): void;
|
|
56
|
+
blur(): void;
|
|
57
|
+
setLoading(loading: boolean): void;
|
|
58
|
+
setDisabled(disabled: boolean): void;
|
|
59
|
+
setIcon(icon: string): void;
|
|
60
|
+
clearIcon(): void;
|
|
61
|
+
setVariant(variant: KButtonProps['variant']): void;
|
|
62
|
+
setSize(size: KButtonProps['size']): void;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,qBAAa,OAAQ,SAAQ,aAAa;IACxC,OAAO,CAAC,MAAM,CAAkC;IAEhD,WAAoB,kBAAkB,IAAI,MAAM,EAAE,CAYjD;IAGD,IAAI,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,CAE/B;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,EAMnC;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAM1B;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAMzB;IAED,IAAI,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,CAE/B;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,EAMnC;IAED,IAAI,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,CAE/B;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,EAMnC;IAED,IAAI,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,CAIrC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,EAMzC;IAED,IAAI,UAAU,IAAI,YAAY,CAAC,YAAY,CAAC,CAI3C;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,EAM/C;IAED,IAAI,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,CAEjC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,EAMrC;IAEe,MAAM,IAAI,IAAI;IAmV9B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,mBAAmB;IA+CpB,sBAAsB,IAAI,mBAAmB;IA4CpD,OAAO,CAAC,mBAAmB;IAyCpB,gBAAgB,IAAI,aAAa;cAMrB,iBAAiB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI;IAyBP;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;OAEG;IACH,OAAO,CAAC,UAAU;IA+BF,KAAK,IAAI,IAAI;IAMb,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIrB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI7C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,SAAS,IAAI,IAAI;IAIjB,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI;IAMlD,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI;CAKjD"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/web-components';
|
|
2
|
+
import './button';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: string;
|
|
6
|
+
parameters: {
|
|
7
|
+
docs: {
|
|
8
|
+
description: {
|
|
9
|
+
component: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
argTypes: {
|
|
14
|
+
variant: {
|
|
15
|
+
control: string;
|
|
16
|
+
options: string[];
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
size: {
|
|
20
|
+
control: string;
|
|
21
|
+
options: string[];
|
|
22
|
+
description: string;
|
|
23
|
+
};
|
|
24
|
+
disabled: {
|
|
25
|
+
control: string;
|
|
26
|
+
description: string;
|
|
27
|
+
};
|
|
28
|
+
loading: {
|
|
29
|
+
control: string;
|
|
30
|
+
description: string;
|
|
31
|
+
};
|
|
32
|
+
fullWidth: {
|
|
33
|
+
control: string;
|
|
34
|
+
description: string;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export default meta;
|
|
39
|
+
type Story = StoryObj<typeof meta>;
|
|
40
|
+
export declare const Primary: Story;
|
|
41
|
+
export declare const Secondary: Story;
|
|
42
|
+
export declare const Success: Story;
|
|
43
|
+
export declare const Warning: Story;
|
|
44
|
+
export declare const Error: Story;
|
|
45
|
+
export declare const Ghost: Story;
|
|
46
|
+
export declare const Sizes: Story;
|
|
47
|
+
export declare const Disabled: Story;
|
|
48
|
+
export declare const Loading: Story;
|
|
49
|
+
export declare const FullWidth: Story;
|
|
50
|
+
export declare const WithIcon: Story;
|
|
51
|
+
export declare const AllVariants: Story;
|
|
52
|
+
//# sourceMappingURL=button.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/button.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,UAAU,CAAC;AAElB,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCM,CAAC;AAEjB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAEvB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAYnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAEvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAazB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { BaseComponent } from '../../core/base-component.js';
|
|
2
|
+
import { AccessibilityConfig } from '../../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* KCheckbox - A customizable checkbox component with proper form integration
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```html
|
|
8
|
+
* <k-checkbox>Accept terms</k-checkbox>
|
|
9
|
+
* <k-checkbox checked>Pre-selected</k-checkbox>
|
|
10
|
+
* <k-checkbox required>Required field</k-checkbox>
|
|
11
|
+
* <k-checkbox indeterminate>Partially selected</k-checkbox>
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare class KCheckbox extends BaseComponent {
|
|
15
|
+
private checkbox;
|
|
16
|
+
private checkmark;
|
|
17
|
+
static get observedAttributes(): string[];
|
|
18
|
+
get checked(): boolean;
|
|
19
|
+
set checked(value: boolean);
|
|
20
|
+
get indeterminate(): boolean;
|
|
21
|
+
set indeterminate(value: boolean);
|
|
22
|
+
get value(): string;
|
|
23
|
+
set value(value: string);
|
|
24
|
+
get name(): string;
|
|
25
|
+
set name(value: string);
|
|
26
|
+
get required(): boolean;
|
|
27
|
+
set required(value: boolean);
|
|
28
|
+
get disabled(): boolean;
|
|
29
|
+
set disabled(value: boolean);
|
|
30
|
+
get error(): string | undefined;
|
|
31
|
+
set error(value: string | undefined);
|
|
32
|
+
render(): void;
|
|
33
|
+
private getCheckmarkIcon;
|
|
34
|
+
private setupEventListeners;
|
|
35
|
+
getAccessibilityConfig(): AccessibilityConfig;
|
|
36
|
+
getDefaultStyles(): CSSStyleSheet;
|
|
37
|
+
protected onAttributeChange(name: string, oldValue: string | null, newValue: string | null): void;
|
|
38
|
+
focus(): void;
|
|
39
|
+
blur(): void;
|
|
40
|
+
toggle(): void;
|
|
41
|
+
check(): void;
|
|
42
|
+
uncheck(): void;
|
|
43
|
+
setIndeterminate(indeterminate?: boolean): void;
|
|
44
|
+
setError(message: string): void;
|
|
45
|
+
clearError(): void;
|
|
46
|
+
checkValidity(): boolean;
|
|
47
|
+
setCustomValidity(message: string): void;
|
|
48
|
+
reportValidity(): boolean;
|
|
49
|
+
}
|
|
50
|
+
export default KCheckbox;
|
|
51
|
+
//# sourceMappingURL=checkbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;GAUG;AACH,qBAAa,SAAU,SAAQ,aAAa;IAC1C,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,SAAS,CAA4B;IAE7C,WAAoB,kBAAkB,IAAI,MAAM,EAAE,CAYjD;IAGD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EASzB;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,OAAO,EAS/B;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAMtB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAMrB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAM1B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAM1B;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAMlC;IAEe,MAAM,IAAI,IAAI;IA4R9B,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,mBAAmB;IAgEX,sBAAsB,IAAI,mBAAmB;IAsBtD,gBAAgB,IAAI,aAAa;cAKrB,iBAAiB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI;IAuCS,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIrB,MAAM,IAAI,IAAI;IAMd,KAAK,IAAI,IAAI;IAMb,OAAO,IAAI,IAAI;IAMf,gBAAgB,CAAC,aAAa,GAAE,OAAc,GAAG,IAAI;IAIrD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI/B,UAAU,IAAI,IAAI;IAIlB,aAAa,IAAI,OAAO;IAOxB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAWxC,cAAc,IAAI,OAAO;CAGjC;AAOD,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/web-components';
|
|
2
|
+
import './checkbox';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: string;
|
|
6
|
+
parameters: {
|
|
7
|
+
docs: {
|
|
8
|
+
description: {
|
|
9
|
+
component: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
argTypes: {
|
|
14
|
+
checked: {
|
|
15
|
+
control: string;
|
|
16
|
+
description: string;
|
|
17
|
+
};
|
|
18
|
+
disabled: {
|
|
19
|
+
control: string;
|
|
20
|
+
description: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export default meta;
|
|
25
|
+
type Story = StoryObj<typeof meta>;
|
|
26
|
+
export declare const Default: Story;
|
|
27
|
+
export declare const Checked: Story;
|
|
28
|
+
export declare const Disabled: Story;
|
|
29
|
+
export declare const Group: Story;
|
|
30
|
+
export declare const WithLabel: Story;
|
|
31
|
+
//# sourceMappingURL=checkbox.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/checkbox.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,YAAY,CAAC;AAEpB,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;CAoBM,CAAC;AAEjB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAQnB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAOvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/index.ts"],"names":[],"mappings":"AAEA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { BaseComponent } from '../../core/base-component.js';
|
|
2
|
+
import { AccessibilityConfig } from '../../types/index.js';
|
|
3
|
+
import type { KInputProps } from '../../types/components.js';
|
|
4
|
+
/**
|
|
5
|
+
* KInput - A flexible input component with validation, icons, and smart defaults
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```html
|
|
9
|
+
* <k-input type="email" placeholder="Enter your email"></k-input>
|
|
10
|
+
* <k-input type="password" required></k-input>
|
|
11
|
+
* <k-input icon="search" placeholder="Search..."></k-input>
|
|
12
|
+
* <k-input error="This field is required" styles="large primary"></k-input>
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare class KInput extends BaseComponent {
|
|
16
|
+
private input;
|
|
17
|
+
private errorElement;
|
|
18
|
+
static get observedAttributes(): string[];
|
|
19
|
+
get type(): KInputProps['type'];
|
|
20
|
+
set type(value: KInputProps['type']);
|
|
21
|
+
get value(): string;
|
|
22
|
+
set value(value: string);
|
|
23
|
+
get placeholder(): string;
|
|
24
|
+
set placeholder(value: string);
|
|
25
|
+
get required(): boolean;
|
|
26
|
+
set required(value: boolean);
|
|
27
|
+
get disabled(): boolean;
|
|
28
|
+
set disabled(value: boolean);
|
|
29
|
+
get readonly(): boolean;
|
|
30
|
+
set readonly(value: boolean);
|
|
31
|
+
get icon(): KInputProps['icon'];
|
|
32
|
+
set icon(value: KInputProps['icon']);
|
|
33
|
+
get error(): KInputProps['error'];
|
|
34
|
+
set error(value: KInputProps['error']);
|
|
35
|
+
render(): void;
|
|
36
|
+
private sanitizeIconName;
|
|
37
|
+
private sanitizeErrorMessage;
|
|
38
|
+
private getIconContent;
|
|
39
|
+
private setupEventListeners;
|
|
40
|
+
getAccessibilityConfig(): AccessibilityConfig;
|
|
41
|
+
private getDefaultAriaLabel;
|
|
42
|
+
getDefaultStyles(): CSSStyleSheet;
|
|
43
|
+
protected onAttributeChange(name: string, oldValue: string | null, newValue: string | null): void;
|
|
44
|
+
/**
|
|
45
|
+
* Update only the icon without full re-render
|
|
46
|
+
*/
|
|
47
|
+
private updateIcon;
|
|
48
|
+
/**
|
|
49
|
+
* Update only the error state without full re-render
|
|
50
|
+
*/
|
|
51
|
+
private updateError;
|
|
52
|
+
focus(): void;
|
|
53
|
+
blur(): void;
|
|
54
|
+
select(): void;
|
|
55
|
+
setCustomValidity(message: string): void;
|
|
56
|
+
checkValidity(): boolean;
|
|
57
|
+
reportValidity(): boolean;
|
|
58
|
+
clearValue(): void;
|
|
59
|
+
setValue(value: string): void;
|
|
60
|
+
setError(message: string): void;
|
|
61
|
+
clearError(): void;
|
|
62
|
+
setIcon(icon: string): void;
|
|
63
|
+
clearIcon(): void;
|
|
64
|
+
}
|
|
65
|
+
export default KInput;
|
|
66
|
+
//# sourceMappingURL=input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,qBAAa,MAAO,SAAQ,aAAa;IACvC,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,YAAY,CAA4B;IAEhD,WAAoB,kBAAkB,IAAI,MAAM,EAAE,CAcjD;IAGD,IAAI,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,CAG9B;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAMlC;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAYtB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAM5B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAM1B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAM1B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAM1B;IAED,IAAI,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,CAE9B;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAMlC;IAED,IAAI,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAEhC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,EAMpC;IAEe,MAAM,IAAI,IAAI;IAuO9B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,mBAAmB;IA0DX,sBAAsB,IAAI,mBAAmB;IAyC7D,OAAO,CAAC,mBAAmB;IAepB,gBAAgB,IAAI,aAAa;cAKrB,iBAAiB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI;IAyCP;;OAEG;IACH,OAAO,CAAC,UAAU;IAmClB;;OAEG;IACH,OAAO,CAAC,WAAW;IA+BH,KAAK,IAAI,IAAI;IAMb,IAAI,IAAI,IAAI;IAMrB,MAAM,IAAI,IAAI;IAMd,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAaxC,aAAa,IAAI,OAAO;IAIxB,cAAc,IAAI,OAAO;IAKzB,UAAU,IAAI,IAAI;IAIlB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI/B,UAAU,IAAI,IAAI;IAIlB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,SAAS,IAAI,IAAI;CAGzB;AAQD,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/web-components';
|
|
2
|
+
import './input';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: string;
|
|
6
|
+
parameters: {
|
|
7
|
+
docs: {
|
|
8
|
+
description: {
|
|
9
|
+
component: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
argTypes: {
|
|
14
|
+
type: {
|
|
15
|
+
control: string;
|
|
16
|
+
options: string[];
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
placeholder: {
|
|
20
|
+
control: string;
|
|
21
|
+
description: string;
|
|
22
|
+
};
|
|
23
|
+
disabled: {
|
|
24
|
+
control: string;
|
|
25
|
+
description: string;
|
|
26
|
+
};
|
|
27
|
+
required: {
|
|
28
|
+
control: string;
|
|
29
|
+
description: string;
|
|
30
|
+
};
|
|
31
|
+
error: {
|
|
32
|
+
control: string;
|
|
33
|
+
description: string;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export default meta;
|
|
38
|
+
type Story = StoryObj<typeof meta>;
|
|
39
|
+
export declare const Default: Story;
|
|
40
|
+
export declare const Email: Story;
|
|
41
|
+
export declare const Password: Story;
|
|
42
|
+
export declare const Number: Story;
|
|
43
|
+
export declare const WithLabel: Story;
|
|
44
|
+
export declare const WithError: Story;
|
|
45
|
+
export declare const Disabled: Story;
|
|
46
|
+
export declare const Required: Story;
|
|
47
|
+
export declare const WithIcon: Story;
|
|
48
|
+
export declare const AllTypes: Story;
|
|
49
|
+
//# sourceMappingURL=input.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/input.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,SAAS,CAAC;AAEjB,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCM,CAAC;AAEjB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAGnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAGtB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAGpB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAOvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAGtB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAiCtB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { BaseComponent } from '../../core/base-component.js';
|
|
2
|
+
import { AccessibilityConfig } from '../../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* KRadio - A customizable radio button component with proper form integration
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```html
|
|
8
|
+
* <k-radio name="color" value="red">Red</k-radio>
|
|
9
|
+
* <k-radio name="color" value="blue" checked>Blue</k-radio>
|
|
10
|
+
* <k-radio name="color" value="green">Green</k-radio>
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare class KRadio extends BaseComponent {
|
|
14
|
+
private radio;
|
|
15
|
+
private indicator;
|
|
16
|
+
static get observedAttributes(): string[];
|
|
17
|
+
get checked(): boolean;
|
|
18
|
+
set checked(value: boolean);
|
|
19
|
+
get value(): string;
|
|
20
|
+
set value(value: string);
|
|
21
|
+
get name(): string;
|
|
22
|
+
set name(value: string);
|
|
23
|
+
get required(): boolean;
|
|
24
|
+
set required(value: boolean);
|
|
25
|
+
get disabled(): boolean;
|
|
26
|
+
set disabled(value: boolean);
|
|
27
|
+
get error(): string | undefined;
|
|
28
|
+
set error(value: string | undefined);
|
|
29
|
+
render(): void;
|
|
30
|
+
private setupEventListeners;
|
|
31
|
+
private uncheckSiblings;
|
|
32
|
+
private focusNextRadio;
|
|
33
|
+
private focusPreviousRadio;
|
|
34
|
+
getAccessibilityConfig(): AccessibilityConfig;
|
|
35
|
+
getDefaultStyles(): CSSStyleSheet;
|
|
36
|
+
protected onAttributeChange(name: string, oldValue: string | null, newValue: string | null): void;
|
|
37
|
+
focus(): void;
|
|
38
|
+
blur(): void;
|
|
39
|
+
select(): void;
|
|
40
|
+
deselect(): void;
|
|
41
|
+
setError(message: string): void;
|
|
42
|
+
clearError(): void;
|
|
43
|
+
checkValidity(): boolean;
|
|
44
|
+
setCustomValidity(message: string): void;
|
|
45
|
+
reportValidity(): boolean;
|
|
46
|
+
static getSelectedValue(name: string): string | null;
|
|
47
|
+
static setSelectedValue(name: string, value: string): void;
|
|
48
|
+
static clearSelection(name: string): void;
|
|
49
|
+
}
|
|
50
|
+
export default KRadio;
|
|
51
|
+
//# sourceMappingURL=radio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/radio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;GASG;AACH,qBAAa,MAAO,SAAQ,aAAa;IACvC,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,SAAS,CAA4B;IAE7C,WAAoB,kBAAkB,IAAI,MAAM,EAAE,CAWjD;IAGD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAWzB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAMtB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAMrB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAM1B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAM1B;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAMlC;IAEe,MAAM,IAAI,IAAI;IA+Q9B,OAAO,CAAC,mBAAmB;IAwE3B,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,kBAAkB;IAgBV,sBAAsB,IAAI,mBAAmB;IA8CtD,gBAAgB,IAAI,aAAa;cAKrB,iBAAiB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI;IAmCS,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIrB,MAAM,IAAI,IAAI;IAMd,QAAQ,IAAI,IAAI;IAMhB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI/B,UAAU,IAAI,IAAI;IAIlB,aAAa,IAAI,OAAO;IAYxB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAWxC,cAAc,IAAI,OAAO;WAKlB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;WAU7C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;WAUnD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAQjD;AAOD,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/web-components';
|
|
2
|
+
import './radio';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: string;
|
|
6
|
+
parameters: {
|
|
7
|
+
docs: {
|
|
8
|
+
description: {
|
|
9
|
+
component: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
argTypes: {
|
|
14
|
+
checked: {
|
|
15
|
+
control: string;
|
|
16
|
+
description: string;
|
|
17
|
+
};
|
|
18
|
+
disabled: {
|
|
19
|
+
control: string;
|
|
20
|
+
description: string;
|
|
21
|
+
};
|
|
22
|
+
name: {
|
|
23
|
+
control: string;
|
|
24
|
+
description: string;
|
|
25
|
+
};
|
|
26
|
+
value: {
|
|
27
|
+
control: string;
|
|
28
|
+
description: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export default meta;
|
|
33
|
+
type Story = StoryObj<typeof meta>;
|
|
34
|
+
export declare const Default: Story;
|
|
35
|
+
export declare const Checked: Story;
|
|
36
|
+
export declare const Disabled: Story;
|
|
37
|
+
export declare const Group: Story;
|
|
38
|
+
export declare const GroupWithSelected: Story;
|
|
39
|
+
export declare const WithLabel: Story;
|
|
40
|
+
export declare const Vertical: Story;
|
|
41
|
+
//# sourceMappingURL=radio.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/radio.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,SAAS,CAAC;AAEjB,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BM,CAAC;AAEjB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAQnB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAQ/B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAOvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAsBtB,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { BaseComponent } from '../../core/base-component.js';
|
|
2
|
+
import { AccessibilityConfig } from '../../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* KSelect - A customizable select dropdown component with keyboard navigation
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```html
|
|
8
|
+
* <k-select>
|
|
9
|
+
* <option value="1">Option 1</option>
|
|
10
|
+
* <option value="2">Option 2</option>
|
|
11
|
+
* </k-select>
|
|
12
|
+
* <k-select placeholder="Choose an option" required>
|
|
13
|
+
* <option value="red">Red</option>
|
|
14
|
+
* <option value="blue">Blue</option>
|
|
15
|
+
* </k-select>
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare class KSelect extends BaseComponent {
|
|
19
|
+
private select;
|
|
20
|
+
private dropdown;
|
|
21
|
+
private trigger;
|
|
22
|
+
private optionsList;
|
|
23
|
+
private isOpen;
|
|
24
|
+
private focusedIndex;
|
|
25
|
+
private options;
|
|
26
|
+
static get observedAttributes(): string[];
|
|
27
|
+
get value(): string;
|
|
28
|
+
set value(value: string);
|
|
29
|
+
get placeholder(): string;
|
|
30
|
+
set placeholder(value: string);
|
|
31
|
+
get required(): boolean;
|
|
32
|
+
set required(value: boolean);
|
|
33
|
+
get disabled(): boolean;
|
|
34
|
+
set disabled(value: boolean);
|
|
35
|
+
get multiple(): boolean;
|
|
36
|
+
set multiple(value: boolean);
|
|
37
|
+
get error(): string | undefined;
|
|
38
|
+
set error(value: string | undefined);
|
|
39
|
+
render(): void;
|
|
40
|
+
private updateOptionsFromSlot;
|
|
41
|
+
private renderOptions;
|
|
42
|
+
private getDisplayValue;
|
|
43
|
+
private setupEventListeners;
|
|
44
|
+
private open;
|
|
45
|
+
private close;
|
|
46
|
+
private toggle;
|
|
47
|
+
private focusNextOption;
|
|
48
|
+
private focusPreviousOption;
|
|
49
|
+
private updateFocusedOption;
|
|
50
|
+
private selectOption;
|
|
51
|
+
private updateSelectedOption;
|
|
52
|
+
getAccessibilityConfig(): AccessibilityConfig;
|
|
53
|
+
getDefaultStyles(): CSSStyleSheet;
|
|
54
|
+
protected onAttributeChange(name: string, oldValue: string | null, newValue: string | null): void;
|
|
55
|
+
focus(): void;
|
|
56
|
+
blur(): void;
|
|
57
|
+
openDropdown(): void;
|
|
58
|
+
closeDropdown(): void;
|
|
59
|
+
selectValue(value: string): void;
|
|
60
|
+
clearSelection(): void;
|
|
61
|
+
setError(message: string): void;
|
|
62
|
+
clearError(): void;
|
|
63
|
+
checkValidity(): boolean;
|
|
64
|
+
setCustomValidity(message: string): void;
|
|
65
|
+
}
|
|
66
|
+
export default KSelect;
|
|
67
|
+
//# sourceMappingURL=select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;GAcG;AACH,qBAAa,OAAQ,SAAQ,aAAa;IACxC,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,OAAO,CAA2B;IAE1C,WAAoB,kBAAkB,IAAI,MAAM,EAAE,CAYjD;IAGD,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAYtB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAM5B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAM1B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAM1B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAM1B;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAMlC;IAEe,MAAM,IAAI,IAAI;IAwS9B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,mBAAmB;IAqG3B,OAAO,CAAC,IAAI;IAiBZ,OAAO,CAAC,KAAK;IAab,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,oBAAoB;IAkBZ,sBAAsB,IAAI,mBAAmB;IA0BtD,gBAAgB,IAAI,aAAa;cAKrB,iBAAiB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI;IAwBS,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAKrB,YAAY,IAAI,IAAI;IAIpB,aAAa,IAAI,IAAI;IAIrB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC,cAAc,IAAI,IAAI;IAItB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI/B,UAAU,IAAI,IAAI;IAIlB,aAAa,IAAI,OAAO;IAOxB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAUhD;AAOD,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/web-components';
|
|
2
|
+
import './select';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: string;
|
|
6
|
+
parameters: {
|
|
7
|
+
docs: {
|
|
8
|
+
description: {
|
|
9
|
+
component: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
argTypes: {
|
|
14
|
+
placeholder: {
|
|
15
|
+
control: string;
|
|
16
|
+
description: string;
|
|
17
|
+
};
|
|
18
|
+
disabled: {
|
|
19
|
+
control: string;
|
|
20
|
+
description: string;
|
|
21
|
+
};
|
|
22
|
+
required: {
|
|
23
|
+
control: string;
|
|
24
|
+
description: string;
|
|
25
|
+
};
|
|
26
|
+
error: {
|
|
27
|
+
control: string;
|
|
28
|
+
description: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export default meta;
|
|
33
|
+
type Story = StoryObj<typeof meta>;
|
|
34
|
+
export declare const Default: Story;
|
|
35
|
+
export declare const WithLabel: Story;
|
|
36
|
+
export declare const WithError: Story;
|
|
37
|
+
export declare const Disabled: Story;
|
|
38
|
+
export declare const Required: Story;
|
|
39
|
+
export declare const ManyOptions: Story;
|
|
40
|
+
export declare const WithPreselected: Story;
|
|
41
|
+
export declare const Sizes: Story;
|
|
42
|
+
//# sourceMappingURL=select.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/select.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,UAAU,CAAC;AAElB,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BM,CAAC;AAEjB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAWvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAQvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAQtB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAQtB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAezB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAQ7B,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAiCnB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { BaseComponent } from '../../core/base-component';
|
|
2
|
+
import { AccessibilityConfig } from '../../types';
|
|
3
|
+
import type { KCardProps } from '../../types/components';
|
|
4
|
+
/**
|
|
5
|
+
* KCard - A flexible card component with padding, shadow, and border customization
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```html
|
|
9
|
+
* <k-card>Basic card content</k-card>
|
|
10
|
+
* <k-card padding="lg" shadow="lg">Card with large padding and shadow</k-card>
|
|
11
|
+
* <k-card border="none" styles="rounded">Borderless rounded card</k-card>
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare class KCard extends BaseComponent {
|
|
15
|
+
static get observedAttributes(): string[];
|
|
16
|
+
get padding(): KCardProps['padding'];
|
|
17
|
+
set padding(value: KCardProps['padding']);
|
|
18
|
+
get shadowSize(): KCardProps['shadow'];
|
|
19
|
+
set shadowSize(value: KCardProps['shadow']);
|
|
20
|
+
/**
|
|
21
|
+
* @deprecated Use shadowSize property instead
|
|
22
|
+
*/
|
|
23
|
+
getShadow(): KCardProps['shadow'];
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated Use shadowSize property instead
|
|
26
|
+
*/
|
|
27
|
+
setShadowDeprecated(value: KCardProps['shadow']): void;
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated Use shadowSize property instead
|
|
30
|
+
*/
|
|
31
|
+
getCardShadow(): KCardProps['shadow'];
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated Use shadowSize property instead
|
|
34
|
+
*/
|
|
35
|
+
setCardShadowDeprecated(value: KCardProps['shadow']): void;
|
|
36
|
+
get border(): KCardProps['border'];
|
|
37
|
+
set border(value: KCardProps['border']);
|
|
38
|
+
render(): void;
|
|
39
|
+
getAccessibilityConfig(): AccessibilityConfig;
|
|
40
|
+
getDefaultStyles(): CSSStyleSheet;
|
|
41
|
+
protected onAttributeChange(name: string, oldValue: string | null, newValue: string | null): void;
|
|
42
|
+
/**
|
|
43
|
+
* Update only the padding without full re-render
|
|
44
|
+
*/
|
|
45
|
+
private updatePadding;
|
|
46
|
+
/**
|
|
47
|
+
* Update only the shadow without full re-render
|
|
48
|
+
*/
|
|
49
|
+
private updateShadow;
|
|
50
|
+
/**
|
|
51
|
+
* Update only the border without full re-render
|
|
52
|
+
*/
|
|
53
|
+
private updateBorder;
|
|
54
|
+
setPadding(padding: KCardProps['padding']): void;
|
|
55
|
+
setShadow(shadow: KCardProps['shadow']): void;
|
|
56
|
+
/**
|
|
57
|
+
* @deprecated Use setShadow instead
|
|
58
|
+
*/
|
|
59
|
+
setCardShadow(shadow: KCardProps['shadow']): void;
|
|
60
|
+
setBorder(border: KCardProps['border']): void;
|
|
61
|
+
makeInteractive(clickHandler?: (event: Event) => void): void;
|
|
62
|
+
setLoading(loading: boolean): void;
|
|
63
|
+
setDisabled(disabled: boolean): void;
|
|
64
|
+
}
|
|
65
|
+
export default KCard;
|
|
66
|
+
//# sourceMappingURL=card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;;;;;;GASG;AACH,qBAAa,KAAM,SAAQ,aAAa;IACtC,WAAoB,kBAAkB,IAAI,MAAM,EAAE,CAEjD;IAGD,IAAI,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,CAEnC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,EAMvC;IAED,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,CAErC;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,EAMzC;IAED;;OAEG;IACH,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC;IAIjC;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI;IAItD;;OAEG;IACH,aAAa,IAAI,UAAU,CAAC,QAAQ,CAAC;IAIrC;;OAEG;IACH,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI;IAI1D,IAAI,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,CAEjC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,EAMrC;IAEe,MAAM,IAAI,IAAI;IA0Jd,sBAAsB,IAAI,mBAAmB;IAmBtD,gBAAgB,IAAI,aAAa;cAqJrB,iBAAiB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI;IAoBP;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAWb,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI;IAIhD,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI;IAIpD;;OAEG;IACI,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI;IAIjD,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI;IAK7C,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAmB5D,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAczB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;CAYrD;AAQD,eAAe,KAAK,CAAC"}
|