@orange-halo/components 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/custom-elements.json +186 -0
- package/dist/base.d.ts +30 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +78 -0
- package/dist/base.js.map +1 -0
- package/dist/index.d.ts +83 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +72 -0
- package/dist/index.js.map +1 -0
- package/dist/oh-accordion.d.ts +47 -0
- package/dist/oh-accordion.d.ts.map +1 -0
- package/dist/oh-accordion.js +387 -0
- package/dist/oh-accordion.js.map +1 -0
- package/dist/oh-alert.d.ts +48 -0
- package/dist/oh-alert.d.ts.map +1 -0
- package/dist/oh-alert.js +343 -0
- package/dist/oh-alert.js.map +1 -0
- package/dist/oh-badge.d.ts +38 -0
- package/dist/oh-badge.d.ts.map +1 -0
- package/dist/oh-badge.js +176 -0
- package/dist/oh-badge.js.map +1 -0
- package/dist/oh-breadcrumb.d.ts +39 -0
- package/dist/oh-breadcrumb.d.ts.map +1 -0
- package/dist/oh-breadcrumb.js +277 -0
- package/dist/oh-breadcrumb.js.map +1 -0
- package/dist/oh-button.d.ts +62 -0
- package/dist/oh-button.d.ts.map +1 -0
- package/dist/oh-button.figma.d.ts +2 -0
- package/dist/oh-button.figma.d.ts.map +1 -0
- package/dist/oh-button.figma.js +20 -0
- package/dist/oh-button.figma.js.map +1 -0
- package/dist/oh-button.js +490 -0
- package/dist/oh-button.js.map +1 -0
- package/dist/oh-card.d.ts +44 -0
- package/dist/oh-card.d.ts.map +1 -0
- package/dist/oh-card.js +340 -0
- package/dist/oh-card.js.map +1 -0
- package/dist/oh-checkbox-group.d.ts +39 -0
- package/dist/oh-checkbox-group.d.ts.map +1 -0
- package/dist/oh-checkbox-group.figma.d.ts +2 -0
- package/dist/oh-checkbox-group.figma.d.ts.map +1 -0
- package/dist/oh-checkbox-group.figma.js +24 -0
- package/dist/oh-checkbox-group.figma.js.map +1 -0
- package/dist/oh-checkbox-group.js +309 -0
- package/dist/oh-checkbox-group.js.map +1 -0
- package/dist/oh-checkbox.d.ts +50 -0
- package/dist/oh-checkbox.d.ts.map +1 -0
- package/dist/oh-checkbox.js +315 -0
- package/dist/oh-checkbox.js.map +1 -0
- package/dist/oh-cluster.d.ts +38 -0
- package/dist/oh-cluster.d.ts.map +1 -0
- package/dist/oh-cluster.js +141 -0
- package/dist/oh-cluster.js.map +1 -0
- package/dist/oh-container.d.ts +38 -0
- package/dist/oh-container.d.ts.map +1 -0
- package/dist/oh-container.js +116 -0
- package/dist/oh-container.js.map +1 -0
- package/dist/oh-drawer.d.ts +66 -0
- package/dist/oh-drawer.d.ts.map +1 -0
- package/dist/oh-drawer.js +284 -0
- package/dist/oh-drawer.js.map +1 -0
- package/dist/oh-footer.d.ts +40 -0
- package/dist/oh-footer.d.ts.map +1 -0
- package/dist/oh-footer.js +112 -0
- package/dist/oh-footer.js.map +1 -0
- package/dist/oh-grid.d.ts +40 -0
- package/dist/oh-grid.d.ts.map +1 -0
- package/dist/oh-grid.js +168 -0
- package/dist/oh-grid.js.map +1 -0
- package/dist/oh-hero.d.ts +28 -0
- package/dist/oh-hero.d.ts.map +1 -0
- package/dist/oh-hero.js +242 -0
- package/dist/oh-hero.js.map +1 -0
- package/dist/oh-icon.d.ts +44 -0
- package/dist/oh-icon.d.ts.map +1 -0
- package/dist/oh-icon.js +321 -0
- package/dist/oh-icon.js.map +1 -0
- package/dist/oh-input.d.ts +56 -0
- package/dist/oh-input.d.ts.map +1 -0
- package/dist/oh-input.figma.d.ts +2 -0
- package/dist/oh-input.figma.d.ts.map +1 -0
- package/dist/oh-input.figma.js +36 -0
- package/dist/oh-input.figma.js.map +1 -0
- package/dist/oh-input.js +320 -0
- package/dist/oh-input.js.map +1 -0
- package/dist/oh-link.d.ts +45 -0
- package/dist/oh-link.d.ts.map +1 -0
- package/dist/oh-link.js +392 -0
- package/dist/oh-link.js.map +1 -0
- package/dist/oh-modal.d.ts +54 -0
- package/dist/oh-modal.d.ts.map +1 -0
- package/dist/oh-modal.js +450 -0
- package/dist/oh-modal.js.map +1 -0
- package/dist/oh-navbar.d.ts +49 -0
- package/dist/oh-navbar.d.ts.map +1 -0
- package/dist/oh-navbar.js +185 -0
- package/dist/oh-navbar.js.map +1 -0
- package/dist/oh-progress.d.ts +56 -0
- package/dist/oh-progress.d.ts.map +1 -0
- package/dist/oh-progress.js +299 -0
- package/dist/oh-progress.js.map +1 -0
- package/dist/oh-radio-group.d.ts +43 -0
- package/dist/oh-radio-group.d.ts.map +1 -0
- package/dist/oh-radio-group.figma.d.ts +2 -0
- package/dist/oh-radio-group.figma.d.ts.map +1 -0
- package/dist/oh-radio-group.figma.js +22 -0
- package/dist/oh-radio-group.figma.js.map +1 -0
- package/dist/oh-radio-group.js +324 -0
- package/dist/oh-radio-group.js.map +1 -0
- package/dist/oh-radio.d.ts +50 -0
- package/dist/oh-radio.d.ts.map +1 -0
- package/dist/oh-radio.js +314 -0
- package/dist/oh-radio.js.map +1 -0
- package/dist/oh-select.d.ts +82 -0
- package/dist/oh-select.d.ts.map +1 -0
- package/dist/oh-select.js +638 -0
- package/dist/oh-select.js.map +1 -0
- package/dist/oh-skip-link.d.ts +37 -0
- package/dist/oh-skip-link.d.ts.map +1 -0
- package/dist/oh-skip-link.js +145 -0
- package/dist/oh-skip-link.js.map +1 -0
- package/dist/oh-stack.d.ts +36 -0
- package/dist/oh-stack.d.ts.map +1 -0
- package/dist/oh-stack.js +112 -0
- package/dist/oh-stack.js.map +1 -0
- package/dist/oh-tabs.d.ts +85 -0
- package/dist/oh-tabs.d.ts.map +1 -0
- package/dist/oh-tabs.js +417 -0
- package/dist/oh-tabs.js.map +1 -0
- package/dist/oh-toggle.d.ts +51 -0
- package/dist/oh-toggle.d.ts.map +1 -0
- package/dist/oh-toggle.js +219 -0
- package/dist/oh-toggle.js.map +1 -0
- package/dist/styles/typography.d.ts +15 -0
- package/dist/styles/typography.d.ts.map +1 -0
- package/dist/styles/typography.js +235 -0
- package/dist/styles/typography.js.map +1 -0
- package/package.json +140 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "1.0.0",
|
|
3
|
+
"readme": "",
|
|
4
|
+
"modules": [
|
|
5
|
+
{
|
|
6
|
+
"kind": "javascript-module",
|
|
7
|
+
"path": "dist/oh-button.js",
|
|
8
|
+
"declarations": [
|
|
9
|
+
{
|
|
10
|
+
"kind": "class",
|
|
11
|
+
"description": "An accessible button component with multiple variants and sizes.",
|
|
12
|
+
"name": "OhButton",
|
|
13
|
+
"tagName": "oh-button",
|
|
14
|
+
"customElement": true,
|
|
15
|
+
"members": [
|
|
16
|
+
{
|
|
17
|
+
"kind": "field",
|
|
18
|
+
"name": "variant",
|
|
19
|
+
"type": {
|
|
20
|
+
"text": "'primary' | 'secondary' | 'ghost' | 'danger'"
|
|
21
|
+
},
|
|
22
|
+
"default": "'primary'",
|
|
23
|
+
"description": "The button variant determines its visual style",
|
|
24
|
+
"attribute": "variant",
|
|
25
|
+
"reflects": true
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"kind": "field",
|
|
29
|
+
"name": "size",
|
|
30
|
+
"type": {
|
|
31
|
+
"text": "'sm' | 'md' | 'lg'"
|
|
32
|
+
},
|
|
33
|
+
"default": "'md'",
|
|
34
|
+
"description": "The button size",
|
|
35
|
+
"attribute": "size",
|
|
36
|
+
"reflects": true
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"kind": "field",
|
|
40
|
+
"name": "disabled",
|
|
41
|
+
"type": {
|
|
42
|
+
"text": "boolean"
|
|
43
|
+
},
|
|
44
|
+
"default": "false",
|
|
45
|
+
"description": "Whether the button is disabled",
|
|
46
|
+
"attribute": "disabled",
|
|
47
|
+
"reflects": true
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"kind": "field",
|
|
51
|
+
"name": "loading",
|
|
52
|
+
"type": {
|
|
53
|
+
"text": "boolean"
|
|
54
|
+
},
|
|
55
|
+
"default": "false",
|
|
56
|
+
"description": "Whether to show loading state",
|
|
57
|
+
"attribute": "loading",
|
|
58
|
+
"reflects": true
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"kind": "field",
|
|
62
|
+
"name": "type",
|
|
63
|
+
"type": {
|
|
64
|
+
"text": "'button' | 'submit' | 'reset'"
|
|
65
|
+
},
|
|
66
|
+
"default": "'button'",
|
|
67
|
+
"description": "The button type (for form submission)",
|
|
68
|
+
"attribute": "type"
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"events": [
|
|
72
|
+
{
|
|
73
|
+
"description": "Emitted when the button is clicked",
|
|
74
|
+
"name": "oh-click"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"attributes": [
|
|
78
|
+
{
|
|
79
|
+
"name": "variant",
|
|
80
|
+
"type": {
|
|
81
|
+
"text": "'primary' | 'secondary' | 'ghost' | 'danger'"
|
|
82
|
+
},
|
|
83
|
+
"default": "'primary'",
|
|
84
|
+
"description": "The button variant determines its visual style",
|
|
85
|
+
"fieldName": "variant"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "size",
|
|
89
|
+
"type": {
|
|
90
|
+
"text": "'sm' | 'md' | 'lg'"
|
|
91
|
+
},
|
|
92
|
+
"default": "'md'",
|
|
93
|
+
"description": "The button size",
|
|
94
|
+
"fieldName": "size"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "disabled",
|
|
98
|
+
"type": {
|
|
99
|
+
"text": "boolean"
|
|
100
|
+
},
|
|
101
|
+
"default": "false",
|
|
102
|
+
"description": "Whether the button is disabled",
|
|
103
|
+
"fieldName": "disabled"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "loading",
|
|
107
|
+
"type": {
|
|
108
|
+
"text": "boolean"
|
|
109
|
+
},
|
|
110
|
+
"default": "false",
|
|
111
|
+
"description": "Whether to show loading state",
|
|
112
|
+
"fieldName": "loading"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "type",
|
|
116
|
+
"type": {
|
|
117
|
+
"text": "'button' | 'submit' | 'reset'"
|
|
118
|
+
},
|
|
119
|
+
"default": "'button'",
|
|
120
|
+
"description": "The button type (for form submission)",
|
|
121
|
+
"fieldName": "type"
|
|
122
|
+
}
|
|
123
|
+
],
|
|
124
|
+
"slots": [
|
|
125
|
+
{
|
|
126
|
+
"description": "Button content (text, icons, etc.)",
|
|
127
|
+
"name": ""
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"description": "Content before the main slot (e.g., icon)",
|
|
131
|
+
"name": "prefix"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"description": "Content after the main slot (e.g., icon)",
|
|
135
|
+
"name": "suffix"
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"cssParts": [
|
|
139
|
+
{
|
|
140
|
+
"description": "The native button element",
|
|
141
|
+
"name": "button"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"description": "The content wrapper",
|
|
145
|
+
"name": "content"
|
|
146
|
+
}
|
|
147
|
+
],
|
|
148
|
+
"cssProperties": [
|
|
149
|
+
{
|
|
150
|
+
"description": "Button background color",
|
|
151
|
+
"name": "--oh-button-background"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"description": "Button text color",
|
|
155
|
+
"name": "--oh-button-color"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"description": "Button border radius",
|
|
159
|
+
"name": "--oh-button-border-radius"
|
|
160
|
+
}
|
|
161
|
+
]
|
|
162
|
+
}
|
|
163
|
+
],
|
|
164
|
+
"exports": [
|
|
165
|
+
{
|
|
166
|
+
"kind": "js",
|
|
167
|
+
"name": "OhButton",
|
|
168
|
+
"declaration": {
|
|
169
|
+
"name": "OhButton",
|
|
170
|
+
"module": "dist/oh-button.js"
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"kind": "custom-element-definition",
|
|
175
|
+
"name": "oh-button",
|
|
176
|
+
"declaration": {
|
|
177
|
+
"name": "OhButton",
|
|
178
|
+
"module": "dist/oh-button.js"
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
]
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
|
package/dist/base.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Component
|
|
3
|
+
*
|
|
4
|
+
* Shared base class for all Orange Halo components.
|
|
5
|
+
* Provides common functionality and styling integration.
|
|
6
|
+
*/
|
|
7
|
+
import { LitElement, CSSResult } from "lit";
|
|
8
|
+
/**
|
|
9
|
+
* Base styles applied to all components
|
|
10
|
+
* Includes focus ring, reduced motion, and box-sizing
|
|
11
|
+
*/
|
|
12
|
+
export declare const baseStyles: CSSResult;
|
|
13
|
+
/**
|
|
14
|
+
* OhElement - Base class for Orange Halo components
|
|
15
|
+
*/
|
|
16
|
+
export declare class OhElement extends LitElement {
|
|
17
|
+
/**
|
|
18
|
+
* Include base styles in all components
|
|
19
|
+
*/
|
|
20
|
+
static styles: CSSResult[];
|
|
21
|
+
/**
|
|
22
|
+
* Dispatch a custom event with proper options for Shadow DOM
|
|
23
|
+
*/
|
|
24
|
+
protected emit<T = unknown>(eventName: string, detail?: T, options?: Omit<CustomEventInit<T>, "detail">): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Helper to conditionally apply classes
|
|
27
|
+
*/
|
|
28
|
+
protected classMap(classes: Record<string, boolean>): string;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAO,SAAS,EAAE,MAAM,KAAK,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,SAkCxB,CAAC;AAEF;;GAEG;AACH,qBAAa,SAAU,SAAQ,UAAU;IACvC;;OAEG;IACH,MAAM,CAAC,MAAM,cAAgB;IAE7B;;OAEG;IACH,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,EACxB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,CAAC,EACV,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAC3C,OAAO;IAWV;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;CAM7D"}
|
package/dist/base.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Component
|
|
3
|
+
*
|
|
4
|
+
* Shared base class for all Orange Halo components.
|
|
5
|
+
* Provides common functionality and styling integration.
|
|
6
|
+
*/
|
|
7
|
+
import { LitElement, css } from "lit";
|
|
8
|
+
/**
|
|
9
|
+
* Base styles applied to all components
|
|
10
|
+
* Includes focus ring, reduced motion, and box-sizing
|
|
11
|
+
*/
|
|
12
|
+
export const baseStyles = css `
|
|
13
|
+
:host {
|
|
14
|
+
box-sizing: border-box;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
:host *,
|
|
18
|
+
:host *::before,
|
|
19
|
+
:host *::after {
|
|
20
|
+
box-sizing: inherit;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* Focus ring for keyboard navigation */
|
|
24
|
+
:host(:focus-visible) {
|
|
25
|
+
outline: var(--oh-focus-ring-width, 2px) solid
|
|
26
|
+
var(--oh-focus-ring-color, #c54300);
|
|
27
|
+
outline-offset: var(--oh-focus-ring-offset, 2px);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/* Hide focus ring for mouse users */
|
|
31
|
+
:host(:focus:not(:focus-visible)) {
|
|
32
|
+
outline: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* Reduced motion support */
|
|
36
|
+
@media (prefers-reduced-motion: reduce) {
|
|
37
|
+
:host *,
|
|
38
|
+
:host *::before,
|
|
39
|
+
:host *::after {
|
|
40
|
+
animation-duration: 0.01ms !important;
|
|
41
|
+
animation-iteration-count: 1 !important;
|
|
42
|
+
transition-duration: 0.01ms !important;
|
|
43
|
+
scroll-behavior: auto !important;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
`;
|
|
47
|
+
/**
|
|
48
|
+
* OhElement - Base class for Orange Halo components
|
|
49
|
+
*/
|
|
50
|
+
export class OhElement extends LitElement {
|
|
51
|
+
/**
|
|
52
|
+
* Include base styles in all components
|
|
53
|
+
*/
|
|
54
|
+
static { this.styles = [baseStyles]; }
|
|
55
|
+
/**
|
|
56
|
+
* Dispatch a custom event with proper options for Shadow DOM
|
|
57
|
+
*/
|
|
58
|
+
emit(eventName, detail, options) {
|
|
59
|
+
const event = new CustomEvent(eventName, {
|
|
60
|
+
bubbles: true,
|
|
61
|
+
composed: true, // Crosses shadow DOM boundary
|
|
62
|
+
cancelable: true,
|
|
63
|
+
...options,
|
|
64
|
+
detail,
|
|
65
|
+
});
|
|
66
|
+
return this.dispatchEvent(event);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Helper to conditionally apply classes
|
|
70
|
+
*/
|
|
71
|
+
classMap(classes) {
|
|
72
|
+
return Object.entries(classes)
|
|
73
|
+
.filter(([, value]) => value)
|
|
74
|
+
.map(([key]) => key)
|
|
75
|
+
.join(" ");
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=base.js.map
|
package/dist/base.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,GAAG,EAAa,MAAM,KAAK,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAc,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCvC,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,UAAU;IACvC;;OAEG;aACI,WAAM,GAAG,CAAC,UAAU,CAAC,CAAC;IAE7B;;OAEG;IACO,IAAI,CACZ,SAAiB,EACjB,MAAU,EACV,OAA4C;QAE5C,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,SAAS,EAAE;YACvC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI,EAAE,8BAA8B;YAC9C,UAAU,EAAE,IAAI;YAChB,GAAG,OAAO;YACV,MAAM;SACP,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACO,QAAQ,CAAC,OAAgC;QACjD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;aAC5B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;aACnB,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @orange-halo/components
|
|
3
|
+
*
|
|
4
|
+
* Web Components for the Orange Halo Design System.
|
|
5
|
+
* All components use the "oh" prefix (e.g., <oh-button>).
|
|
6
|
+
*
|
|
7
|
+
* Personality: Playful, personal, retro-leaning warmth.
|
|
8
|
+
*/
|
|
9
|
+
import "./oh-accordion.js";
|
|
10
|
+
import "./oh-alert.js";
|
|
11
|
+
import "./oh-badge.js";
|
|
12
|
+
import "./oh-breadcrumb.js";
|
|
13
|
+
import "./oh-button.js";
|
|
14
|
+
import "./oh-card.js";
|
|
15
|
+
import "./oh-checkbox.js";
|
|
16
|
+
import "./oh-checkbox-group.js";
|
|
17
|
+
import "./oh-cluster.js";
|
|
18
|
+
import "./oh-container.js";
|
|
19
|
+
import "./oh-drawer.js";
|
|
20
|
+
import "./oh-footer.js";
|
|
21
|
+
import "./oh-grid.js";
|
|
22
|
+
import "./oh-hero.js";
|
|
23
|
+
import "./oh-icon.js";
|
|
24
|
+
import "./oh-input.js";
|
|
25
|
+
import "./oh-link.js";
|
|
26
|
+
import "./oh-modal.js";
|
|
27
|
+
import "./oh-navbar.js";
|
|
28
|
+
import "./oh-progress.js";
|
|
29
|
+
import "./oh-radio-group.js";
|
|
30
|
+
import "./oh-select.js";
|
|
31
|
+
import "./oh-skip-link.js";
|
|
32
|
+
import "./oh-stack.js";
|
|
33
|
+
import "./oh-tabs.js";
|
|
34
|
+
import "./oh-toggle.js";
|
|
35
|
+
export { OhElement, baseStyles } from "./base.js";
|
|
36
|
+
export { OhAccordion } from "./oh-accordion.js";
|
|
37
|
+
export type { AccordionItem, AccordionVariant, HeadingLevel } from "./oh-accordion.js";
|
|
38
|
+
export { OhAlert } from "./oh-alert.js";
|
|
39
|
+
export type { AlertVariant } from "./oh-alert.js";
|
|
40
|
+
export { OhBadge } from "./oh-badge.js";
|
|
41
|
+
export type { BadgeVariant, BadgeType } from "./oh-badge.js";
|
|
42
|
+
export { OhBreadcrumb } from "./oh-breadcrumb.js";
|
|
43
|
+
export type { BreadcrumbItem } from "./oh-breadcrumb.js";
|
|
44
|
+
export { OhButton } from "./oh-button.js";
|
|
45
|
+
export type { ButtonVariant, ButtonSize } from "./oh-button.js";
|
|
46
|
+
export { OhCard } from "./oh-card.js";
|
|
47
|
+
export type { CardVariant, CardPadding } from "./oh-card.js";
|
|
48
|
+
export { OhCheckbox } from "./oh-checkbox.js";
|
|
49
|
+
export { OhCheckboxGroup } from "./oh-checkbox-group.js";
|
|
50
|
+
export type { CheckboxOption } from "./oh-checkbox-group.js";
|
|
51
|
+
export { OhCluster } from "./oh-cluster.js";
|
|
52
|
+
export type { ClusterGap, ClusterJustify, ClusterAlign } from "./oh-cluster.js";
|
|
53
|
+
export { OhContainer } from "./oh-container.js";
|
|
54
|
+
export type { ContainerSize } from "./oh-container.js";
|
|
55
|
+
export { OhDrawer } from "./oh-drawer.js";
|
|
56
|
+
export { OhFooter } from "./oh-footer.js";
|
|
57
|
+
export { OhGrid } from "./oh-grid.js";
|
|
58
|
+
export type { GridColumns, GridGap } from "./oh-grid.js";
|
|
59
|
+
export { OhHero } from "./oh-hero.js";
|
|
60
|
+
export type { HeroVariant, HeroSize } from "./oh-hero.js";
|
|
61
|
+
export { OhIcon } from "./oh-icon.js";
|
|
62
|
+
export type { IconName, IconSize } from "./oh-icon.js";
|
|
63
|
+
export { OhInput } from "./oh-input.js";
|
|
64
|
+
export type { InputType } from "./oh-input.js";
|
|
65
|
+
export { OhLink } from "./oh-link.js";
|
|
66
|
+
export type { LinkVariant } from "./oh-link.js";
|
|
67
|
+
export { OhModal } from "./oh-modal.js";
|
|
68
|
+
export type { ModalSize } from "./oh-modal.js";
|
|
69
|
+
export { OhNavbar } from "./oh-navbar.js";
|
|
70
|
+
export { OhProgress } from "./oh-progress.js";
|
|
71
|
+
export type { ProgressVariant, ProgressSize } from "./oh-progress.js";
|
|
72
|
+
export { OhRadioGroup } from "./oh-radio-group.js";
|
|
73
|
+
export type { RadioOption } from "./oh-radio-group.js";
|
|
74
|
+
export { OhSelect } from "./oh-select.js";
|
|
75
|
+
export type { SelectOption } from "./oh-select.js";
|
|
76
|
+
export { OhSkipLink } from "./oh-skip-link.js";
|
|
77
|
+
export { OhStack } from "./oh-stack.js";
|
|
78
|
+
export type { StackGap, StackAlign } from "./oh-stack.js";
|
|
79
|
+
export { OhTabs } from "./oh-tabs.js";
|
|
80
|
+
export type { TabItem } from "./oh-tabs.js";
|
|
81
|
+
export { OhToggle } from "./oh-toggle.js";
|
|
82
|
+
export { typographyStyles, typographyCSS } from "./styles/typography.js";
|
|
83
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @orange-halo/components
|
|
3
|
+
*
|
|
4
|
+
* Web Components for the Orange Halo Design System.
|
|
5
|
+
* All components use the "oh" prefix (e.g., <oh-button>).
|
|
6
|
+
*
|
|
7
|
+
* Personality: Playful, personal, retro-leaning warmth.
|
|
8
|
+
*/
|
|
9
|
+
// =============================================================================
|
|
10
|
+
// SIDE-EFFECT IMPORTS - Ensure all custom elements are registered
|
|
11
|
+
// =============================================================================
|
|
12
|
+
import "./oh-accordion.js";
|
|
13
|
+
import "./oh-alert.js";
|
|
14
|
+
import "./oh-badge.js";
|
|
15
|
+
import "./oh-breadcrumb.js";
|
|
16
|
+
import "./oh-button.js";
|
|
17
|
+
import "./oh-card.js";
|
|
18
|
+
import "./oh-checkbox.js";
|
|
19
|
+
import "./oh-checkbox-group.js";
|
|
20
|
+
import "./oh-cluster.js";
|
|
21
|
+
import "./oh-container.js";
|
|
22
|
+
import "./oh-drawer.js";
|
|
23
|
+
import "./oh-footer.js";
|
|
24
|
+
import "./oh-grid.js";
|
|
25
|
+
import "./oh-hero.js";
|
|
26
|
+
import "./oh-icon.js";
|
|
27
|
+
import "./oh-input.js";
|
|
28
|
+
import "./oh-link.js";
|
|
29
|
+
import "./oh-modal.js";
|
|
30
|
+
import "./oh-navbar.js";
|
|
31
|
+
import "./oh-progress.js";
|
|
32
|
+
import "./oh-radio-group.js";
|
|
33
|
+
import "./oh-select.js";
|
|
34
|
+
import "./oh-skip-link.js";
|
|
35
|
+
import "./oh-stack.js";
|
|
36
|
+
import "./oh-tabs.js";
|
|
37
|
+
import "./oh-toggle.js";
|
|
38
|
+
// =============================================================================
|
|
39
|
+
// EXPORTS - For TypeScript users who want to extend or type components
|
|
40
|
+
// =============================================================================
|
|
41
|
+
// Base
|
|
42
|
+
export { OhElement, baseStyles } from "./base.js";
|
|
43
|
+
// Components (alphabetical order)
|
|
44
|
+
export { OhAccordion } from "./oh-accordion.js";
|
|
45
|
+
export { OhAlert } from "./oh-alert.js";
|
|
46
|
+
export { OhBadge } from "./oh-badge.js";
|
|
47
|
+
export { OhBreadcrumb } from "./oh-breadcrumb.js";
|
|
48
|
+
export { OhButton } from "./oh-button.js";
|
|
49
|
+
export { OhCard } from "./oh-card.js";
|
|
50
|
+
export { OhCheckbox } from "./oh-checkbox.js";
|
|
51
|
+
export { OhCheckboxGroup } from "./oh-checkbox-group.js";
|
|
52
|
+
export { OhCluster } from "./oh-cluster.js";
|
|
53
|
+
export { OhContainer } from "./oh-container.js";
|
|
54
|
+
export { OhDrawer } from "./oh-drawer.js";
|
|
55
|
+
export { OhFooter } from "./oh-footer.js";
|
|
56
|
+
export { OhGrid } from "./oh-grid.js";
|
|
57
|
+
export { OhHero } from "./oh-hero.js";
|
|
58
|
+
export { OhIcon } from "./oh-icon.js";
|
|
59
|
+
export { OhInput } from "./oh-input.js";
|
|
60
|
+
export { OhLink } from "./oh-link.js";
|
|
61
|
+
export { OhModal } from "./oh-modal.js";
|
|
62
|
+
export { OhNavbar } from "./oh-navbar.js";
|
|
63
|
+
export { OhProgress } from "./oh-progress.js";
|
|
64
|
+
export { OhRadioGroup } from "./oh-radio-group.js";
|
|
65
|
+
export { OhSelect } from "./oh-select.js";
|
|
66
|
+
export { OhSkipLink } from "./oh-skip-link.js";
|
|
67
|
+
export { OhStack } from "./oh-stack.js";
|
|
68
|
+
export { OhTabs } from "./oh-tabs.js";
|
|
69
|
+
export { OhToggle } from "./oh-toggle.js";
|
|
70
|
+
// Styles
|
|
71
|
+
export { typographyStyles, typographyCSS } from "./styles/typography.js";
|
|
72
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,gFAAgF;AAChF,kEAAkE;AAClE,gFAAgF;AAChF,OAAO,mBAAmB,CAAC;AAC3B,OAAO,eAAe,CAAC;AACvB,OAAO,eAAe,CAAC;AACvB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,gBAAgB,CAAC;AACxB,OAAO,cAAc,CAAC;AACtB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,wBAAwB,CAAC;AAChC,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,gBAAgB,CAAC;AACxB,OAAO,gBAAgB,CAAC;AACxB,OAAO,cAAc,CAAC;AACtB,OAAO,cAAc,CAAC;AACtB,OAAO,cAAc,CAAC;AACtB,OAAO,eAAe,CAAC;AACvB,OAAO,cAAc,CAAC;AACtB,OAAO,eAAe,CAAC;AACvB,OAAO,gBAAgB,CAAC;AACxB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,gBAAgB,CAAC;AACxB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,eAAe,CAAC;AACvB,OAAO,cAAc,CAAC;AACtB,OAAO,gBAAgB,CAAC;AAExB,gFAAgF;AAChF,uEAAuE;AACvE,gFAAgF;AAEhF,OAAO;AACP,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAElD,kCAAkC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,SAAS;AACT,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* oh-accordion
|
|
3
|
+
*
|
|
4
|
+
* Accessible accordion with two variants: subtle (inline) and standout (boxed).
|
|
5
|
+
*
|
|
6
|
+
* DESIGN DECISIONS:
|
|
7
|
+
* ─────────────────
|
|
8
|
+
* 1. TWO VARIANTS
|
|
9
|
+
* - Subtle: Minimal, blends with content, follows link styling rules
|
|
10
|
+
* - Standout: Chunky border, shadow, lifts on hover
|
|
11
|
+
*
|
|
12
|
+
* 2. CONSISTENT ICON
|
|
13
|
+
* - Chevron that rotates 90° when expanded
|
|
14
|
+
* - Same icon for both variants
|
|
15
|
+
*
|
|
16
|
+
* 3. ACCESSIBLE
|
|
17
|
+
* - Button trigger with aria-expanded
|
|
18
|
+
* - Content region with aria-hidden
|
|
19
|
+
* - Keyboard support (Enter/Space)
|
|
20
|
+
* - Focus state with underline
|
|
21
|
+
*
|
|
22
|
+
* @element oh-accordion
|
|
23
|
+
*/
|
|
24
|
+
import { nothing } from "lit";
|
|
25
|
+
import { OhElement } from "./base.js";
|
|
26
|
+
export interface AccordionItem {
|
|
27
|
+
heading: string;
|
|
28
|
+
content: string;
|
|
29
|
+
}
|
|
30
|
+
export type AccordionVariant = "subtle" | "standout";
|
|
31
|
+
export type HeadingLevel = 2 | 3 | 4 | 5 | 6;
|
|
32
|
+
export declare class OhAccordion extends OhElement {
|
|
33
|
+
static styles: import("lit").CSSResult[];
|
|
34
|
+
items: AccordionItem[];
|
|
35
|
+
variant: AccordionVariant;
|
|
36
|
+
headingLevel: HeadingLevel;
|
|
37
|
+
private _expandedItems;
|
|
38
|
+
private _toggleItem;
|
|
39
|
+
private _isExpanded;
|
|
40
|
+
render(): typeof nothing | import("lit").TemplateResult<1>;
|
|
41
|
+
}
|
|
42
|
+
declare global {
|
|
43
|
+
interface HTMLElementTagNameMap {
|
|
44
|
+
"oh-accordion": OhAccordion;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=oh-accordion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oh-accordion.d.ts","sourceRoot":"","sources":["../src/oh-accordion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAa,OAAO,EAAE,MAAM,KAAK,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,CAAC;AACrD,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7C,qBACa,WAAY,SAAQ,SAAS;IACxC,OAAgB,MAAM,4BAoQpB;IAGF,KAAK,EAAE,aAAa,EAAE,CAAM;IAG5B,OAAO,EAAE,gBAAgB,CAAY;IAIrC,YAAY,EAAE,YAAY,CAAK;IAG/B,OAAO,CAAC,cAAc,CAA0B;IAEhD,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,WAAW;IAInB,MAAM;CA2DP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAC;KAC7B;CACF"}
|