@duskmoon-dev/el-tabs 0.4.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.
@@ -0,0 +1,106 @@
1
+ /**
2
+ * DuskMoon Tabs Element
3
+ *
4
+ * A tab navigation component with tab panels for organizing content.
5
+ * Implements WAI-ARIA tabs pattern for accessibility.
6
+ *
7
+ * @element el-dm-tabs
8
+ *
9
+ * @attr {string} value - Currently selected tab id
10
+ * @attr {string} variant - Tab style variant: underline, pills, enclosed
11
+ * @attr {string} color - Color theme for tabs
12
+ * @attr {string} orientation - Tab orientation: horizontal, vertical
13
+ *
14
+ * @slot - Default slot for el-dm-tab and el-dm-tab-panel elements
15
+ *
16
+ * @csspart tablist - The tab list container
17
+ * @csspart indicator - The animated indicator (underline variant)
18
+ *
19
+ * @fires change - Fired when tab selection changes
20
+ */
21
+ import { BaseElement } from '@duskmoon-dev/el-core';
22
+ export type TabsVariant = 'underline' | 'pills' | 'enclosed';
23
+ export type TabsOrientation = 'horizontal' | 'vertical';
24
+ export declare class ElDmTabs extends BaseElement {
25
+ static properties: {
26
+ value: {
27
+ type: StringConstructor;
28
+ reflect: boolean;
29
+ };
30
+ variant: {
31
+ type: StringConstructor;
32
+ reflect: boolean;
33
+ default: string;
34
+ };
35
+ color: {
36
+ type: StringConstructor;
37
+ reflect: boolean;
38
+ };
39
+ orientation: {
40
+ type: StringConstructor;
41
+ reflect: boolean;
42
+ default: string;
43
+ };
44
+ };
45
+ value: string;
46
+ variant: TabsVariant;
47
+ color: string;
48
+ orientation: TabsOrientation;
49
+ private _indicatorStyle;
50
+ constructor();
51
+ connectedCallback(): void;
52
+ disconnectedCallback(): void;
53
+ private _initializeSelection;
54
+ private _getTabs;
55
+ private _getPanels;
56
+ private _handleTabClick;
57
+ private _handleKeyDown;
58
+ private _updateSelection;
59
+ private _updateIndicator;
60
+ render(): string;
61
+ update(): void;
62
+ }
63
+ export declare class ElDmTab extends BaseElement {
64
+ static properties: {
65
+ tabId: {
66
+ type: StringConstructor;
67
+ reflect: boolean;
68
+ attribute: string;
69
+ };
70
+ disabled: {
71
+ type: BooleanConstructor;
72
+ reflect: boolean;
73
+ };
74
+ active: {
75
+ type: BooleanConstructor;
76
+ reflect: boolean;
77
+ };
78
+ };
79
+ tabId: string;
80
+ disabled: boolean;
81
+ active: boolean;
82
+ constructor();
83
+ connectedCallback(): void;
84
+ private _handleClick;
85
+ render(): string;
86
+ update(): void;
87
+ }
88
+ export declare class ElDmTabPanel extends BaseElement {
89
+ static properties: {
90
+ panelFor: {
91
+ type: StringConstructor;
92
+ reflect: boolean;
93
+ attribute: string;
94
+ };
95
+ active: {
96
+ type: BooleanConstructor;
97
+ reflect: boolean;
98
+ };
99
+ };
100
+ panelFor: string;
101
+ active: boolean;
102
+ constructor();
103
+ connectedCallback(): void;
104
+ render(): string;
105
+ }
106
+ //# sourceMappingURL=el-dm-tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"el-dm-tabs.d.ts","sourceRoot":"","sources":["../../src/el-dm-tabs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,WAAW,EAAO,MAAM,uBAAuB,CAAC;AAEzD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC;AAC7D,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,UAAU,CAAC;AA2FxD,qBAAa,QAAS,SAAQ,WAAW;IACvC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;MAKf;IAEM,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,eAAe,CAAC;IAErC,OAAO,CAAC,eAAe,CAAM;;IAO7B,iBAAiB,IAAI,IAAI;IAWzB,oBAAoB,IAAI,IAAI;IAM5B,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,eAAe,CAQrB;IAEF,OAAO,CAAC,cAAc,CAsDpB;IAEF,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,gBAAgB;IA2BxB,MAAM,IAAI,MAAM;IAsBhB,MAAM,IAAI,IAAI;CAQf;AA+GD,qBAAa,OAAQ,SAAQ,WAAW;IACtC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;MAIf;IAEM,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;;IAQxB,iBAAiB,IAAI,IAAI;IAMzB,OAAO,CAAC,YAAY;IAKpB,MAAM,IAAI,MAAM;IAchB,MAAM,IAAI,IAAI;CAKf;AA8BD,qBAAa,YAAa,SAAQ,WAAW;IAC3C,MAAM,CAAC,UAAU;;;;;;;;;;MAGf;IAEM,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;;IAOxB,iBAAiB,IAAI,IAAI;IAQzB,MAAM,IAAI,MAAM;CAOjB"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @duskmoon-dev/el-tabs
3
+ *
4
+ * DuskMoon Tabs custom elements for tab navigation
5
+ */
6
+ import { ElDmTabs, ElDmTab, ElDmTabPanel } from './el-dm-tabs.js';
7
+ export { ElDmTabs, ElDmTab, ElDmTabPanel };
8
+ export type { TabsVariant, TabsOrientation } from './el-dm-tabs.js';
9
+ /**
10
+ * Register all tab-related custom elements
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * import { register } from '@duskmoon-dev/el-tabs';
15
+ * register();
16
+ * ```
17
+ */
18
+ export declare function register(): void;
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEpE;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAU/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "@duskmoon-dev/el-tabs",
3
+ "version": "0.4.0",
4
+ "type": "module",
5
+ "main": "./dist/cjs/index.js",
6
+ "module": "./dist/esm/index.js",
7
+ "types": "./dist/types/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/types/index.d.ts",
11
+ "import": "./dist/esm/index.js",
12
+ "require": "./dist/cjs/index.js"
13
+ },
14
+ "./register": {
15
+ "types": "./dist/types/register.d.ts",
16
+ "import": "./dist/esm/register.js",
17
+ "require": "./dist/cjs/register.js"
18
+ }
19
+ },
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "scripts": {
24
+ "prebuild": "bun run clean",
25
+ "build": "bun run build:esm && bun run build:cjs && bun run build:types",
26
+ "build:esm": "bun build ./src/index.ts ./src/register.ts --outdir ./dist/esm --format esm --sourcemap --external @duskmoon-dev/el-core --external @duskmoon-dev/core",
27
+ "build:cjs": "bun build ./src/index.ts ./src/register.ts --outdir ./dist/cjs --format cjs --sourcemap --external @duskmoon-dev/el-core --external @duskmoon-dev/core",
28
+ "build:types": "tsc --emitDeclarationOnly --outDir ./dist/types",
29
+ "dev": "bun build ./src/index.ts --outdir ./dist/esm --format esm --sourcemap --external @duskmoon-dev/el-core --watch",
30
+ "clean": "del-cli dist",
31
+ "test": "bun test",
32
+ "typecheck": "tsc --noEmit",
33
+ "format": "prettier --write 'src/**/*.ts' '*.json'",
34
+ "format:check": "prettier --check 'src/**/*.ts' '*.json'",
35
+ "lint": "eslint src",
36
+ "lint:check": "eslint src --max-warnings 0",
37
+ "lint:fix": "eslint src --fix",
38
+ "release": "bun publish",
39
+ "release:dry-run": "bun publish --dry-run"
40
+ },
41
+ "dependencies": {
42
+ "@duskmoon-dev/el-core": "0.3.0"
43
+ },
44
+ "devDependencies": {
45
+ "typescript": "^5.7.2"
46
+ },
47
+ "publishConfig": {
48
+ "access": "public"
49
+ },
50
+ "customElements": "custom-elements.json",
51
+ "keywords": [
52
+ "duskmoon-dev",
53
+ "duskmoon",
54
+ "custom-elements",
55
+ "customelements",
56
+ "web-components",
57
+ "webcomponents",
58
+ "html",
59
+ "tabs"
60
+ ]
61
+ }