@hypoth-ui/wc 0.1.1

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.
Files changed (87) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +60 -0
  3. package/dist/button-MKQKTC5Q.js +10 -0
  4. package/dist/button-MKQKTC5Q.js.map +1 -0
  5. package/dist/chunk-4HLM6DBG.js +910 -0
  6. package/dist/chunk-4HLM6DBG.js.map +1 -0
  7. package/dist/chunk-55ID7LJL.js +3602 -0
  8. package/dist/chunk-55ID7LJL.js.map +1 -0
  9. package/dist/chunk-66HFYJD7.js +86 -0
  10. package/dist/chunk-66HFYJD7.js.map +1 -0
  11. package/dist/chunk-CZOXIJVS.js +70 -0
  12. package/dist/chunk-CZOXIJVS.js.map +1 -0
  13. package/dist/chunk-DHUM4Q5Y.js +495 -0
  14. package/dist/chunk-DHUM4Q5Y.js.map +1 -0
  15. package/dist/chunk-DNNI5BDE.js +1842 -0
  16. package/dist/chunk-DNNI5BDE.js.map +1 -0
  17. package/dist/chunk-GXKZ6E6K.js +99 -0
  18. package/dist/chunk-GXKZ6E6K.js.map +1 -0
  19. package/dist/chunk-H4GJJZ3N.js +51 -0
  20. package/dist/chunk-H4GJJZ3N.js.map +1 -0
  21. package/dist/chunk-JMPTFALJ.js +175 -0
  22. package/dist/chunk-JMPTFALJ.js.map +1 -0
  23. package/dist/chunk-MYQWCLUJ.js +45 -0
  24. package/dist/chunk-MYQWCLUJ.js.map +1 -0
  25. package/dist/chunk-QZSPWT7L.js +183 -0
  26. package/dist/chunk-QZSPWT7L.js.map +1 -0
  27. package/dist/chunk-TSKBQCTR.js +5137 -0
  28. package/dist/chunk-TSKBQCTR.js.map +1 -0
  29. package/dist/chunk-TXIIUVL3.js +130 -0
  30. package/dist/chunk-TXIIUVL3.js.map +1 -0
  31. package/dist/chunk-UM7WRO7W.js +237 -0
  32. package/dist/chunk-UM7WRO7W.js.map +1 -0
  33. package/dist/chunk-VPXL4RB3.js +202 -0
  34. package/dist/chunk-VPXL4RB3.js.map +1 -0
  35. package/dist/chunk-VX5CKSMN.js +39 -0
  36. package/dist/chunk-VX5CKSMN.js.map +1 -0
  37. package/dist/chunk-WQ5BEP3E.js +2845 -0
  38. package/dist/chunk-WQ5BEP3E.js.map +1 -0
  39. package/dist/chunk-YDQ434UH.js +60 -0
  40. package/dist/chunk-YDQ434UH.js.map +1 -0
  41. package/dist/chunk-ZWV4VI6D.js +153 -0
  42. package/dist/chunk-ZWV4VI6D.js.map +1 -0
  43. package/dist/core.d.ts +127 -0
  44. package/dist/core.js +38 -0
  45. package/dist/core.js.map +1 -0
  46. package/dist/data-display.d.ts +872 -0
  47. package/dist/data-display.js +57 -0
  48. package/dist/data-display.js.map +1 -0
  49. package/dist/ds-element-Db0LMfxI.d.ts +43 -0
  50. package/dist/feedback.d.ts +292 -0
  51. package/dist/feedback.js +31 -0
  52. package/dist/feedback.js.map +1 -0
  53. package/dist/form-controls.d.ts +1713 -0
  54. package/dist/form-controls.js +63 -0
  55. package/dist/form-controls.js.map +1 -0
  56. package/dist/icon-7IZTJ5WT.js +8 -0
  57. package/dist/icon-7IZTJ5WT.js.map +1 -0
  58. package/dist/index.d.ts +15 -0
  59. package/dist/index.js +423 -0
  60. package/dist/index.js.map +1 -0
  61. package/dist/input-LB6UR37A.js +10 -0
  62. package/dist/input-LB6UR37A.js.map +1 -0
  63. package/dist/layout.d.ts +504 -0
  64. package/dist/layout.js +34 -0
  65. package/dist/layout.js.map +1 -0
  66. package/dist/link-NHDJ6SFY.js +9 -0
  67. package/dist/link-NHDJ6SFY.js.map +1 -0
  68. package/dist/navigation.d.ts +255 -0
  69. package/dist/navigation.js +111 -0
  70. package/dist/navigation.js.map +1 -0
  71. package/dist/overlays.d.ts +1291 -0
  72. package/dist/overlays.js +106 -0
  73. package/dist/overlays.js.map +1 -0
  74. package/dist/primitives.d.ts +230 -0
  75. package/dist/primitives.js +26 -0
  76. package/dist/primitives.js.map +1 -0
  77. package/dist/registry-Bns0t11H.d.ts +233 -0
  78. package/dist/skeleton-MUdd2029.d.ts +109 -0
  79. package/dist/spinner-BWaNlc-Y.d.ts +45 -0
  80. package/dist/spinner-UIYDUVBZ.js +8 -0
  81. package/dist/spinner-UIYDUVBZ.js.map +1 -0
  82. package/dist/stepper-CCRwcQOe.d.ts +851 -0
  83. package/dist/text-MT3S3EMU.js +8 -0
  84. package/dist/text-MT3S3EMU.js.map +1 -0
  85. package/dist/visually-hidden-MW2XY4CS.js +8 -0
  86. package/dist/visually-hidden-MW2XY4CS.js.map +1 -0
  87. package/package.json +92 -0
@@ -0,0 +1,57 @@
1
+ import {
2
+ DsAspectRatio,
3
+ DsAvatar,
4
+ DsAvatarGroup,
5
+ DsBadge,
6
+ DsCalendar,
7
+ DsCard,
8
+ DsCardContent,
9
+ DsCardFooter,
10
+ DsCardHeader,
11
+ DsDataTable,
12
+ DsList,
13
+ DsListItem,
14
+ DsSeparator,
15
+ DsTable,
16
+ DsTableBody,
17
+ DsTableCell,
18
+ DsTableHead,
19
+ DsTableHeader,
20
+ DsTableRow,
21
+ DsTag,
22
+ DsTree,
23
+ DsTreeItem
24
+ } from "./chunk-DNNI5BDE.js";
25
+ import {
26
+ DsProgress,
27
+ DsSkeleton
28
+ } from "./chunk-VPXL4RB3.js";
29
+ import "./chunk-YDQ434UH.js";
30
+ import "./chunk-H4GJJZ3N.js";
31
+ export {
32
+ DsAspectRatio,
33
+ DsAvatar,
34
+ DsAvatarGroup,
35
+ DsBadge,
36
+ DsCalendar,
37
+ DsCard,
38
+ DsCardContent,
39
+ DsCardFooter,
40
+ DsCardHeader,
41
+ DsDataTable,
42
+ DsList,
43
+ DsListItem,
44
+ DsProgress,
45
+ DsSeparator,
46
+ DsSkeleton,
47
+ DsTable,
48
+ DsTableBody,
49
+ DsTableCell,
50
+ DsTableHead,
51
+ DsTableHeader,
52
+ DsTableRow,
53
+ DsTag,
54
+ DsTree,
55
+ DsTreeItem
56
+ };
57
+ //# sourceMappingURL=data-display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,43 @@
1
+ import { LitElement } from 'lit';
2
+
3
+ /**
4
+ * DSElement - Base class for design system Web Components.
5
+ *
6
+ * All design system components should extend this class to ensure
7
+ * consistent Light DOM rendering behavior.
8
+ *
9
+ * Light DOM rendering enables:
10
+ * - Direct CSS styling from @hypoth-ui/css and consumer stylesheets
11
+ * - Form integration (autocomplete, form association)
12
+ * - Standard DOM API access (querySelector from any scope)
13
+ * - Natural event bubbling without shadow boundary issues
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * import { html } from 'lit';
18
+ * import { property } from 'lit/decorators.js';
19
+ * import { DSElement } from '@hypoth-ui/wc';
20
+ *
21
+ * export class DsCard extends DSElement {
22
+ * @property({ reflect: true })
23
+ * variant: 'default' | 'elevated' = 'default';
24
+ *
25
+ * render() {
26
+ * return html`<div class="ds-card ds-card--${this.variant}">
27
+ * <slot></slot>
28
+ * </div>`;
29
+ * }
30
+ * }
31
+ * ```
32
+ */
33
+ declare class DSElement extends LitElement {
34
+ /**
35
+ * Override createRenderRoot to use Light DOM.
36
+ * This renders content directly into the host element instead of Shadow DOM.
37
+ *
38
+ * @returns The host element itself for Light DOM rendering
39
+ */
40
+ protected createRenderRoot(): HTMLElement;
41
+ }
42
+
43
+ export { DSElement as D };
@@ -0,0 +1,292 @@
1
+ import { TemplateResult } from 'lit';
2
+ import { D as DSElement } from './ds-element-Db0LMfxI.js';
3
+ export { D as DsProgress, b as DsSkeleton, a as ProgressSize, P as ProgressVariant, e as SkeletonAnimation, c as SkeletonSize, S as SkeletonVariant, d as SkeletonWidth } from './skeleton-MUdd2029.js';
4
+ export { D as DsSpinner, S as SpinnerSize } from './spinner-BWaNlc-Y.js';
5
+
6
+ type AlertVariant = "info" | "success" | "warning" | "error";
7
+ /**
8
+ * Alert component for contextual feedback messages.
9
+ *
10
+ * @element ds-alert
11
+ * @slot - Default slot for alert description/content
12
+ * @slot icon - Custom icon content
13
+ * @slot action - Action button slot
14
+ *
15
+ * @fires ds:close - Fired when close button is clicked
16
+ *
17
+ * @csspart alert - The alert container
18
+ * @csspart icon - The icon container
19
+ * @csspart content - The content container
20
+ * @csspart title - The title element
21
+ * @csspart description - The description slot container
22
+ * @csspart close - The close button
23
+ *
24
+ * @cssprop --ds-alert-bg - Background color
25
+ * @cssprop --ds-alert-fg - Text color
26
+ * @cssprop --ds-alert-border - Border color
27
+ * @cssprop --ds-alert-icon - Icon color
28
+ */
29
+ declare class DsAlert extends DSElement {
30
+ static styles: never[];
31
+ /**
32
+ * The visual variant of the alert.
33
+ */
34
+ variant: AlertVariant;
35
+ /**
36
+ * The alert title.
37
+ */
38
+ alertTitle: string;
39
+ /**
40
+ * Whether the alert can be closed.
41
+ */
42
+ closable: boolean;
43
+ /**
44
+ * Hide the default icon.
45
+ */
46
+ hideIcon: boolean;
47
+ private handleClose;
48
+ private handleKeyDown;
49
+ /**
50
+ * Get the ARIA role based on variant.
51
+ * Error and warning use 'alert' for immediate announcement.
52
+ * Info and success use 'status' for polite announcement.
53
+ */
54
+ private getRole;
55
+ render(): TemplateResult;
56
+ }
57
+ declare global {
58
+ interface HTMLElementTagNameMap {
59
+ "ds-alert": DsAlert;
60
+ }
61
+ }
62
+
63
+ /**
64
+ * Toast Controller
65
+ *
66
+ * Manages toast queue, lifecycle, and provides imperative API
67
+ * for showing and dismissing toasts.
68
+ */
69
+ type ToastVariant = "info" | "success" | "warning" | "error";
70
+ type ToastPosition = "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
71
+ type ToastState = "entering" | "visible" | "exiting" | "dismissed";
72
+ interface ToastAction {
73
+ label: string;
74
+ onClick: () => void;
75
+ }
76
+ interface ToastOptions {
77
+ /** Toast title (required) */
78
+ title: string;
79
+ /** Optional description */
80
+ description?: string;
81
+ /** Visual variant */
82
+ variant?: ToastVariant;
83
+ /** Auto-dismiss duration in ms (0 = no auto-dismiss) */
84
+ duration?: number;
85
+ /** Optional action button */
86
+ action?: ToastAction;
87
+ }
88
+ interface ToastData extends ToastOptions {
89
+ /** Unique toast ID */
90
+ id: string;
91
+ /** Current lifecycle state */
92
+ state: ToastState;
93
+ /** Timestamp when created */
94
+ createdAt: number;
95
+ /** Timer ID for auto-dismiss */
96
+ timerId?: ReturnType<typeof setTimeout>;
97
+ }
98
+ interface ToastControllerOptions {
99
+ /** Maximum simultaneous toasts */
100
+ maxToasts?: number;
101
+ /** Default duration in ms */
102
+ defaultDuration?: number;
103
+ /** Toast position */
104
+ position?: ToastPosition;
105
+ /** Callback when toast list changes */
106
+ onUpdate?: (toasts: ToastData[]) => void;
107
+ }
108
+ /**
109
+ * ToastController manages the toast queue and lifecycle.
110
+ *
111
+ * @example
112
+ * ```typescript
113
+ * const controller = new ToastController({
114
+ * maxToasts: 5,
115
+ * defaultDuration: 5000,
116
+ * onUpdate: (toasts) => renderToasts(toasts),
117
+ * });
118
+ *
119
+ * // Show a toast
120
+ * const id = controller.show({ title: "Saved!", variant: "success" });
121
+ *
122
+ * // Dismiss a specific toast
123
+ * controller.dismiss(id);
124
+ *
125
+ * // Dismiss all toasts
126
+ * controller.dismissAll();
127
+ * ```
128
+ */
129
+ declare class ToastController {
130
+ private toasts;
131
+ private options;
132
+ constructor(options?: ToastControllerOptions);
133
+ /**
134
+ * Show a new toast
135
+ */
136
+ show(options: ToastOptions): string;
137
+ /**
138
+ * Dismiss a toast by ID
139
+ */
140
+ dismiss(id: string): void;
141
+ /**
142
+ * Dismiss all toasts
143
+ */
144
+ dismissAll(): void;
145
+ /**
146
+ * Pause auto-dismiss for a toast (e.g., on hover)
147
+ */
148
+ pause(id: string): void;
149
+ /**
150
+ * Resume auto-dismiss for a toast
151
+ */
152
+ resume(id: string): void;
153
+ /**
154
+ * Get current toasts
155
+ */
156
+ getToasts(): ToastData[];
157
+ /**
158
+ * Get controller options
159
+ */
160
+ getOptions(): Required<ToastControllerOptions>;
161
+ /**
162
+ * Update controller options
163
+ */
164
+ setOptions(options: Partial<ToastControllerOptions>): void;
165
+ private updateState;
166
+ private notify;
167
+ }
168
+ /**
169
+ * Get or create the global toast controller
170
+ */
171
+ declare function getGlobalToastController(): ToastController;
172
+ /**
173
+ * Set the global toast controller (used by ToastProvider)
174
+ */
175
+ declare function setGlobalToastController(controller: ToastController): void;
176
+ /**
177
+ * Global toast function for showing toasts
178
+ *
179
+ * @example
180
+ * ```typescript
181
+ * dsToast({ title: "Saved!", variant: "success" });
182
+ *
183
+ * dsToast({
184
+ * title: "Error",
185
+ * description: "Something went wrong",
186
+ * variant: "error",
187
+ * action: { label: "Retry", onClick: () => retry() },
188
+ * });
189
+ * ```
190
+ */
191
+ declare function dsToast(options: ToastOptions): string;
192
+
193
+ /**
194
+ * Individual toast notification element.
195
+ *
196
+ * @element ds-toast
197
+ * @slot action - Action button slot
198
+ *
199
+ * @fires ds:dismiss - Fired when toast is dismissed
200
+ * @fires ds:pause - Fired when mouse enters (for pause)
201
+ * @fires ds:resume - Fired when mouse leaves (for resume)
202
+ */
203
+ declare class DsToast extends DSElement {
204
+ static styles: never[];
205
+ /**
206
+ * Unique toast ID
207
+ */
208
+ toastId: string;
209
+ /**
210
+ * Toast title
211
+ */
212
+ toastTitle: string;
213
+ /**
214
+ * Toast description
215
+ */
216
+ description: string;
217
+ /**
218
+ * Visual variant
219
+ */
220
+ variant: ToastVariant;
221
+ /**
222
+ * Current state
223
+ */
224
+ toastState: ToastState;
225
+ /**
226
+ * Duration for progress bar (0 = no progress)
227
+ */
228
+ duration: number;
229
+ /**
230
+ * Hide the icon
231
+ */
232
+ hideIcon: boolean;
233
+ private isPaused;
234
+ private handleDismiss;
235
+ private handleMouseEnter;
236
+ private handleMouseLeave;
237
+ render(): TemplateResult;
238
+ }
239
+ declare global {
240
+ interface HTMLElementTagNameMap {
241
+ "ds-toast": DsToast;
242
+ }
243
+ }
244
+
245
+ /**
246
+ * Toast provider component that manages toast queue and rendering.
247
+ *
248
+ * @element ds-toast-provider
249
+ * @slot - Default slot for app content
250
+ *
251
+ * @example
252
+ * ```html
253
+ * <ds-toast-provider position="top-right" max="5">
254
+ * <!-- Your app content -->
255
+ * </ds-toast-provider>
256
+ *
257
+ * <script>
258
+ * dsToast({ title: "Hello!", variant: "success" });
259
+ * </script>
260
+ * ```
261
+ */
262
+ declare class DsToastProvider extends DSElement {
263
+ static styles: never[];
264
+ /**
265
+ * Toast position
266
+ */
267
+ position: ToastPosition;
268
+ /**
269
+ * Maximum simultaneous toasts
270
+ */
271
+ max: number;
272
+ /**
273
+ * Default duration in ms
274
+ */
275
+ duration: number;
276
+ private toasts;
277
+ private controller;
278
+ connectedCallback(): void;
279
+ updated(changedProperties: Map<string, unknown>): void;
280
+ private handleDismiss;
281
+ private handlePause;
282
+ private handleResume;
283
+ private handleActionClick;
284
+ render(): TemplateResult;
285
+ }
286
+ declare global {
287
+ interface HTMLElementTagNameMap {
288
+ "ds-toast-provider": DsToastProvider;
289
+ }
290
+ }
291
+
292
+ export { type AlertVariant, DsAlert, DsToast, DsToastProvider, type ToastAction, ToastController, type ToastControllerOptions, type ToastData, type ToastOptions, type ToastPosition, type ToastState, type ToastVariant, dsToast, getGlobalToastController, setGlobalToastController };
@@ -0,0 +1,31 @@
1
+ import {
2
+ DsAlert,
3
+ DsToast,
4
+ DsToastProvider,
5
+ ToastController,
6
+ dsToast,
7
+ getGlobalToastController,
8
+ setGlobalToastController
9
+ } from "./chunk-DHUM4Q5Y.js";
10
+ import {
11
+ DsSpinner
12
+ } from "./chunk-MYQWCLUJ.js";
13
+ import {
14
+ DsProgress,
15
+ DsSkeleton
16
+ } from "./chunk-VPXL4RB3.js";
17
+ import "./chunk-YDQ434UH.js";
18
+ import "./chunk-H4GJJZ3N.js";
19
+ export {
20
+ DsAlert,
21
+ DsProgress,
22
+ DsSkeleton,
23
+ DsSpinner,
24
+ DsToast,
25
+ DsToastProvider,
26
+ ToastController,
27
+ dsToast,
28
+ getGlobalToastController,
29
+ setGlobalToastController
30
+ };
31
+ //# sourceMappingURL=feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}