@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.
- package/dist/cjs/index.js +498 -0
- package/dist/cjs/index.js.map +11 -0
- package/dist/cjs/register.js +501 -0
- package/dist/cjs/register.js.map +12 -0
- package/dist/esm/index.js +466 -0
- package/dist/esm/index.js.map +11 -0
- package/dist/esm/register.js +463 -0
- package/dist/esm/register.js.map +12 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/el-dm-tabs.d.ts +106 -0
- package/dist/types/el-dm-tabs.d.ts.map +1 -0
- package/dist/types/index.d.ts +19 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/register.d.ts +2 -0
- package/dist/types/register.d.ts.map +1 -0
- package/package.json +61 -0
|
@@ -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 @@
|
|
|
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
|
+
}
|