@llui/components 0.0.6 → 0.0.7

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 (35) hide show
  1. package/dist/components/date-picker.d.ts +12 -0
  2. package/dist/components/date-picker.d.ts.map +1 -1
  3. package/dist/components/date-picker.js +18 -1
  4. package/dist/components/file-upload.d.ts +1 -0
  5. package/dist/components/file-upload.d.ts.map +1 -1
  6. package/dist/components/file-upload.js +1 -0
  7. package/dist/components/form.d.ts +115 -0
  8. package/dist/components/form.d.ts.map +1 -0
  9. package/dist/components/form.js +102 -0
  10. package/dist/components/hover-card.d.ts +0 -1
  11. package/dist/components/hover-card.d.ts.map +1 -1
  12. package/dist/components/hover-card.js +0 -1
  13. package/dist/components/index.d.ts +6 -0
  14. package/dist/components/index.d.ts.map +1 -1
  15. package/dist/components/index.js +3 -0
  16. package/dist/components/scroll-area.d.ts +1 -0
  17. package/dist/components/scroll-area.d.ts.map +1 -1
  18. package/dist/components/scroll-area.js +1 -0
  19. package/dist/components/sortable.d.ts +106 -0
  20. package/dist/components/sortable.d.ts.map +1 -0
  21. package/dist/components/sortable.js +97 -0
  22. package/dist/components/tags-input.d.ts +0 -1
  23. package/dist/components/tags-input.d.ts.map +1 -1
  24. package/dist/components/tags-input.js +0 -1
  25. package/dist/components/theme-switch.d.ts +89 -0
  26. package/dist/components/theme-switch.d.ts.map +1 -0
  27. package/dist/components/theme-switch.js +96 -0
  28. package/dist/components/toggle-group.d.ts +0 -1
  29. package/dist/components/toggle-group.d.ts.map +1 -1
  30. package/dist/components/toggle-group.js +0 -1
  31. package/dist/styles/theme.css +2 -2
  32. package/dist/utils/validators.d.ts +34 -0
  33. package/dist/utils/validators.d.ts.map +1 -0
  34. package/dist/utils/validators.js +83 -0
  35. package/package.json +4 -3
@@ -78,6 +78,12 @@ export interface DayCell {
78
78
  * to fill the grid.
79
79
  */
80
80
  export declare function monthGrid(state: DatePickerState): DayCell[];
81
+ /**
82
+ * Group a flat `DayCell[]` (from `monthGrid`) into rows of 7 — one row
83
+ * per week — so the view can wrap each in a `role="row"` element as
84
+ * required by the WAI-ARIA grid pattern.
85
+ */
86
+ export declare function weekRows(cells: DayCell[]): DayCell[][];
81
87
  export interface DayCellParts<_S> {
82
88
  cell: {
83
89
  role: 'gridcell';
@@ -109,6 +115,11 @@ export interface DatePickerParts<S> {
109
115
  'data-scope': 'date-picker';
110
116
  'data-part': 'grid';
111
117
  };
118
+ row: {
119
+ role: 'row';
120
+ 'data-scope': 'date-picker';
121
+ 'data-part': 'row';
122
+ };
112
123
  prevMonthTrigger: {
113
124
  type: 'button';
114
125
  'aria-label': string | ((s: S) => string);
@@ -138,5 +149,6 @@ export declare const datePicker: {
138
149
  update: typeof update;
139
150
  connect: typeof connect;
140
151
  monthGrid: typeof monthGrid;
152
+ weekRows: typeof weekRows;
141
153
  };
142
154
  //# sourceMappingURL=date-picker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../../src/components/date-picker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../../src/components/date-picker.ts"],"names":[],"mappings":"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"}
@@ -182,6 +182,18 @@ export function monthGrid(state) {
182
182
  }
183
183
  return cells;
184
184
  }
185
+ /**
186
+ * Group a flat `DayCell[]` (from `monthGrid`) into rows of 7 — one row
187
+ * per week — so the view can wrap each in a `role="row"` element as
188
+ * required by the WAI-ARIA grid pattern.
189
+ */
190
+ export function weekRows(cells) {
191
+ const rows = [];
192
+ for (let i = 0; i < cells.length; i += 7) {
193
+ rows.push(cells.slice(i, i + 7));
194
+ }
195
+ return rows;
196
+ }
185
197
  export function connect(get, send, opts = {}) {
186
198
  const locale = useContext(LocaleContext);
187
199
  const prevLabel = opts.prevLabel ?? ((s) => locale(s).datePicker.prev);
@@ -199,6 +211,11 @@ export function connect(get, send, opts = {}) {
199
211
  'data-scope': 'date-picker',
200
212
  'data-part': 'grid',
201
213
  },
214
+ row: {
215
+ role: 'row',
216
+ 'data-scope': 'date-picker',
217
+ 'data-part': 'row',
218
+ },
202
219
  prevMonthTrigger: {
203
220
  type: 'button',
204
221
  'aria-label': prevLabel,
@@ -282,4 +299,4 @@ export function connect(get, send, opts = {}) {
282
299
  }),
283
300
  };
284
301
  }
285
- export const datePicker = { init, update, connect, monthGrid };
302
+ export const datePicker = { init, update, connect, monthGrid, weekRows };
@@ -180,6 +180,7 @@ export interface FileUploadParts<S> {
180
180
  hiddenInput: {
181
181
  type: 'file';
182
182
  tabIndex: -1;
183
+ 'aria-hidden': 'true';
183
184
  style: string;
184
185
  disabled: (s: S) => boolean;
185
186
  multiple: (s: S) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload.d.ts","sourceRoot":"","sources":["../../src/components/file-upload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-upload.d.ts","sourceRoot":"","sources":["../../src/components/file-upload.ts"],"names":[],"mappings":"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"}
@@ -246,6 +246,7 @@ export function connect(get, send, opts) {
246
246
  hiddenInput: {
247
247
  type: 'file',
248
248
  tabIndex: -1,
249
+ 'aria-hidden': 'true',
249
250
  style: HIDDEN_STYLE,
250
251
  disabled: (s) => get(s).disabled,
251
252
  multiple: (s) => get(s).multiple,
@@ -0,0 +1,115 @@
1
+ import type { Send } from '@llui/dom';
2
+ import type { StandardSchemaV1 } from '@standard-schema/spec';
3
+ /**
4
+ * Form — submit lifecycle + touched tracking + Standard Schema validation.
5
+ *
6
+ * Values live in the parent component's state; `form` tracks submit status
7
+ * and which fields have been interacted with (blur), so errors are shown
8
+ * only after touch instead of immediately.
9
+ *
10
+ * Bring your own validation library — any Standard Schema-compatible
11
+ * schema works (Zod, Valibot, ArkType, etc.). See https://standardschema.dev.
12
+ *
13
+ * ```ts
14
+ * import { z } from 'zod'
15
+ * import { form, validateSchema } from '@llui/components/form'
16
+ *
17
+ * const schema = z.object({
18
+ * email: z.string().email(),
19
+ * password: z.string().min(8),
20
+ * })
21
+ *
22
+ * type Values = z.infer<typeof schema>
23
+ * type State = { values: Values; form: FormState }
24
+ *
25
+ * update: (state, msg) => {
26
+ * switch (msg.type) {
27
+ * case 'submit': {
28
+ * const result = validateSchema(schema, state.values)
29
+ * if (!result.isValid) {
30
+ * return [{ ...state, form: { ...state.form, touched: { email: true, password: true } } }, []]
31
+ * }
32
+ * return [{ ...state, form: { ...state.form, status: 'submitting' } }, [saveUserEffect]]
33
+ * }
34
+ * }
35
+ * }
36
+ * ```
37
+ */
38
+ export type FormStatus = 'idle' | 'submitting' | 'submitted' | 'error';
39
+ export interface FormState {
40
+ status: FormStatus;
41
+ touched: Record<string, boolean>;
42
+ submitError: string | null;
43
+ }
44
+ export type FormMsg = {
45
+ type: 'touch';
46
+ field: string;
47
+ } | {
48
+ type: 'touchAll';
49
+ fields: string[];
50
+ } | {
51
+ type: 'submit';
52
+ } | {
53
+ type: 'submitSuccess';
54
+ } | {
55
+ type: 'submitError';
56
+ error: string;
57
+ } | {
58
+ type: 'reset';
59
+ };
60
+ export declare function init(): FormState;
61
+ export declare function update(state: FormState, msg: FormMsg): [FormState, never[]];
62
+ export interface FormParts<S> {
63
+ root: {
64
+ 'data-scope': 'form';
65
+ 'data-part': 'root';
66
+ 'data-state': (s: S) => FormStatus;
67
+ 'aria-busy': (s: S) => 'true' | undefined;
68
+ };
69
+ field: (name: string) => {
70
+ 'data-scope': 'form';
71
+ 'data-part': 'field';
72
+ 'data-touched': (s: S) => '' | undefined;
73
+ touched: (s: S) => boolean;
74
+ onBlur: (e: FocusEvent) => void;
75
+ };
76
+ submit: {
77
+ type: 'submit';
78
+ 'data-scope': 'form';
79
+ 'data-part': 'submit';
80
+ 'data-state': (s: S) => FormStatus;
81
+ disabled: (s: S) => boolean;
82
+ };
83
+ }
84
+ export interface ConnectOptions {
85
+ id: string;
86
+ }
87
+ export declare function connect<S>(get: (s: S) => FormState, send: Send<FormMsg>, _opts: ConnectOptions): FormParts<S>;
88
+ export interface ValidateResult<T> {
89
+ isValid: boolean;
90
+ /** Field name → first error message. Field name is derived from the issue's path. */
91
+ errors: Partial<Record<keyof T, string>>;
92
+ /** All issues from the schema validator, unaltered. */
93
+ issues: readonly StandardSchemaV1.Issue[];
94
+ }
95
+ /**
96
+ * Run a Standard Schema synchronously against a values object. Throws if
97
+ * the schema returns a Promise — use sync validation only for form submit.
98
+ *
99
+ * Works with any library implementing the Standard Schema spec:
100
+ * Zod (v3.24+), Valibot (v1+), ArkType, etc.
101
+ */
102
+ export declare function validateSchema<T>(schema: StandardSchemaV1<T>, values: unknown): ValidateResult<T>;
103
+ /**
104
+ * Async variant — returns a Promise. Use when the schema performs async
105
+ * validation (e.g. uniqueness checks against a backend).
106
+ */
107
+ export declare function validateSchemaAsync<T>(schema: StandardSchemaV1<T>, values: unknown): Promise<ValidateResult<T>>;
108
+ export declare const form: {
109
+ init: typeof init;
110
+ update: typeof update;
111
+ connect: typeof connect;
112
+ validateSchema: typeof validateSchema;
113
+ validateSchemaAsync: typeof validateSchemaAsync;
114
+ };
115
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/components/form.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ export function init() {
2
+ return { status: 'idle', touched: {}, submitError: null };
3
+ }
4
+ export function update(state, msg) {
5
+ switch (msg.type) {
6
+ case 'touch':
7
+ if (state.touched[msg.field])
8
+ return [state, []];
9
+ return [{ ...state, touched: { ...state.touched, [msg.field]: true } }, []];
10
+ case 'touchAll': {
11
+ const touched = { ...state.touched };
12
+ for (const f of msg.fields)
13
+ touched[f] = true;
14
+ return [{ ...state, touched }, []];
15
+ }
16
+ case 'submit':
17
+ return [{ ...state, status: 'submitting', submitError: null }, []];
18
+ case 'submitSuccess':
19
+ return [{ ...state, status: 'submitted', submitError: null }, []];
20
+ case 'submitError':
21
+ return [{ ...state, status: 'error', submitError: msg.error }, []];
22
+ case 'reset':
23
+ return [init(), []];
24
+ }
25
+ }
26
+ export function connect(get, send, _opts) {
27
+ return {
28
+ root: {
29
+ 'data-scope': 'form',
30
+ 'data-part': 'root',
31
+ 'data-state': (s) => get(s).status,
32
+ 'aria-busy': (s) => (get(s).status === 'submitting' ? 'true' : undefined),
33
+ },
34
+ field: (name) => ({
35
+ 'data-scope': 'form',
36
+ 'data-part': 'field',
37
+ 'data-touched': (s) => (get(s).touched[name] ? '' : undefined),
38
+ touched: (s) => !!get(s).touched[name],
39
+ onBlur: () => send({ type: 'touch', field: name }),
40
+ }),
41
+ submit: {
42
+ type: 'submit',
43
+ 'data-scope': 'form',
44
+ 'data-part': 'submit',
45
+ 'data-state': (s) => get(s).status,
46
+ disabled: (s) => get(s).status === 'submitting',
47
+ },
48
+ };
49
+ }
50
+ /**
51
+ * Run a Standard Schema synchronously against a values object. Throws if
52
+ * the schema returns a Promise — use sync validation only for form submit.
53
+ *
54
+ * Works with any library implementing the Standard Schema spec:
55
+ * Zod (v3.24+), Valibot (v1+), ArkType, etc.
56
+ */
57
+ export function validateSchema(schema, values) {
58
+ const result = schema['~standard'].validate(values);
59
+ if (result instanceof Promise) {
60
+ throw new Error('[@llui/components/form] validateSchema: schema returned a Promise. ' +
61
+ 'Form validation must be synchronous. Use `validateSchemaAsync` for async schemas.');
62
+ }
63
+ if (!result.issues) {
64
+ return { isValid: true, errors: {}, issues: [] };
65
+ }
66
+ const errors = {};
67
+ for (const issue of result.issues) {
68
+ const path = issue.path;
69
+ if (!path || path.length === 0)
70
+ continue;
71
+ const first = path[0];
72
+ const key = (typeof first === 'object' ? first.key : first);
73
+ // Only record the first error per field
74
+ if (errors[key] === undefined) {
75
+ errors[key] = issue.message;
76
+ }
77
+ }
78
+ return { isValid: false, errors, issues: result.issues };
79
+ }
80
+ /**
81
+ * Async variant — returns a Promise. Use when the schema performs async
82
+ * validation (e.g. uniqueness checks against a backend).
83
+ */
84
+ export async function validateSchemaAsync(schema, values) {
85
+ const result = await schema['~standard'].validate(values);
86
+ if (!result.issues) {
87
+ return { isValid: true, errors: {}, issues: [] };
88
+ }
89
+ const errors = {};
90
+ for (const issue of result.issues) {
91
+ const path = issue.path;
92
+ if (!path || path.length === 0)
93
+ continue;
94
+ const first = path[0];
95
+ const key = (typeof first === 'object' ? first.key : first);
96
+ if (errors[key] === undefined) {
97
+ errors[key] = issue.message;
98
+ }
99
+ }
100
+ return { isValid: false, errors, issues: result.issues };
101
+ }
102
+ export const form = { init, update, connect, validateSchema, validateSchemaAsync };
@@ -25,7 +25,6 @@ export interface HoverCardParts<S> {
25
25
  trigger: {
26
26
  id: string;
27
27
  'aria-haspopup': 'dialog';
28
- 'aria-expanded': (s: S) => boolean;
29
28
  'aria-controls': string;
30
29
  'data-state': (s: S) => 'open' | 'closed';
31
30
  'data-scope': 'hover-card';
@@ -1 +1 @@
1
- {"version":3,"file":"hover-card.d.ts","sourceRoot":"","sources":["../../src/components/hover-card.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hover-card.d.ts","sourceRoot":"","sources":["../../src/components/hover-card.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,6 @@ export function connect(get, send, opts) {
49
49
  trigger: {
50
50
  id: triggerId,
51
51
  'aria-haspopup': 'dialog',
52
- 'aria-expanded': (s) => get(s).open,
53
52
  'aria-controls': contentId,
54
53
  'data-state': (s) => (get(s).open ? 'open' : 'closed'),
55
54
  'data-scope': 'hover-card',
@@ -53,6 +53,12 @@ export * as imageCropper from './image-cropper';
53
53
  export * as navigationMenu from './navigation-menu';
54
54
  export * as qrCode from './qr-code';
55
55
  export * as inView from './in-view';
56
+ export * as form from './form';
57
+ export * as sortable from './sortable';
58
+ export * as themeSwitch from './theme-switch';
59
+ export type { FormState, FormMsg, FormStatus, FormParts, ValidateResult } from './form';
60
+ export type { SortableState, SortableMsg, SortableParts, DragState } from './sortable';
61
+ export type { ThemeSwitchState, ThemeSwitchMsg, ThemeSwitchParts, Theme, ResolvedTheme, } from './theme-switch';
56
62
  export type { InViewState, InViewMsg, InViewParts, ObserverOptions as InViewObserverOptions, } from './in-view';
57
63
  export type { TimerState, TimerMsg, TimerInit, TimerParts, Direction as TimerDirection, } from './timer';
58
64
  export type { AngleSliderState, AngleSliderMsg, AngleSliderInit, AngleSliderParts, } from './angle-slider';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
@@ -53,3 +53,6 @@ export * as imageCropper from './image-cropper';
53
53
  export * as navigationMenu from './navigation-menu';
54
54
  export * as qrCode from './qr-code';
55
55
  export * as inView from './in-view';
56
+ export * as form from './form';
57
+ export * as sortable from './sortable';
58
+ export * as themeSwitch from './theme-switch';
@@ -74,6 +74,7 @@ export interface ScrollAreaParts<S> {
74
74
  onMouseLeave: (e: MouseEvent) => void;
75
75
  };
76
76
  viewport: {
77
+ tabIndex: 0;
77
78
  'data-scope': 'scroll-area';
78
79
  'data-part': 'viewport';
79
80
  onScroll: (e: Event) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area.d.ts","sourceRoot":"","sources":["../../src/components/scroll-area.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scroll-area.d.ts","sourceRoot":"","sources":["../../src/components/scroll-area.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;AAExE,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB;2CACuC;IACvC,SAAS,EAAE,OAAO,CAAA;IAClB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,mBAAmB,CAAA;CAChC;AAED,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;CACrB,GACD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAA;AAE5C,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,mBAAmB,CAAA;CACjC;AAED,wBAAgB,IAAI,CAAC,IAAI,GAAE,cAAmB,GAAG,eAAe,CAc/D;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,CAsB7F;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,OAAO,CAa/E;AAED,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM,CAO7E;AAED,sDAAsD;AACtD,wBAAgB,SAAS,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM,CAKzE;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,IAAI,EAAE;QACJ,YAAY,EAAE,aAAa,CAAA;QAC3B,WAAW,EAAE,MAAM,CAAA;QACnB,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,SAAS,CAAA;QAC1C,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,SAAS,CAAA;QACxC,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAA;QACrC,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAA;KACtC,CAAA;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,CAAC,CAAA;QACX,YAAY,EAAE,aAAa,CAAA;QAC3B,WAAW,EAAE,UAAU,CAAA;QACvB,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;KAC7B,CAAA;IACD,OAAO,EAAE;QACP,YAAY,EAAE,aAAa,CAAA;QAC3B,WAAW,EAAE,SAAS,CAAA;KACvB,CAAA;IACD,UAAU,EAAE;QACV,YAAY,EAAE,aAAa,CAAA;QAC3B,WAAW,EAAE,WAAW,CAAA;QACxB,WAAW,EAAE,GAAG,CAAA;QAChB,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,SAAS,CAAA;KACzC,CAAA;IACD,UAAU,EAAE;QACV,YAAY,EAAE,aAAa,CAAA;QAC3B,WAAW,EAAE,WAAW,CAAA;QACxB,WAAW,EAAE,GAAG,CAAA;QAChB,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,SAAS,CAAA;KACzC,CAAA;IACD,MAAM,EAAE;QACN,YAAY,EAAE,aAAa,CAAA;QAC3B,WAAW,EAAE,OAAO,CAAA;QACpB,WAAW,EAAE,GAAG,CAAA;QAChB,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;KACxB,CAAA;IACD,MAAM,EAAE;QACN,YAAY,EAAE,aAAa,CAAA;QAC3B,WAAW,EAAE,OAAO,CAAA;QACpB,WAAW,EAAE,GAAG,CAAA;QAChB,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;KACxB,CAAA;IACD,MAAM,EAAE;QACN,YAAY,EAAE,aAAa,CAAA;QAC3B,WAAW,EAAE,QAAQ,CAAA;QACrB,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,SAAS,CAAA;KACzC,CAAA;CACF;AAED,wBAAgB,OAAO,CAAC,CAAC,EACvB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,eAAe,EAC9B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GACxB,eAAe,CAAC,CAAC,CAAC,CA0EpB;AAED,eAAO,MAAM,UAAU;;;;;;;CAOtB,CAAA"}
@@ -79,6 +79,7 @@ export function connect(get, send) {
79
79
  onMouseLeave: () => send({ type: 'setHovered', hovered: false }),
80
80
  },
81
81
  viewport: {
82
+ tabIndex: 0,
82
83
  'data-scope': 'scroll-area',
83
84
  'data-part': 'viewport',
84
85
  onScroll: (e) => {
@@ -0,0 +1,106 @@
1
+ import type { Send } from '@llui/dom';
2
+ /**
3
+ * Sortable — pointer-based reorderable list.
4
+ *
5
+ * State machine tracks the currently-dragged item and where it's hovering.
6
+ * The app owns the actual array; listen for `drop` and use `reorder(arr, from, to)`
7
+ * to compute the new order, or watch `currentIndex` during drag for live preview.
8
+ *
9
+ * ```ts
10
+ * type State = { items: string[]; sort: SortableState }
11
+ *
12
+ * update: (state, msg) => {
13
+ * switch (msg.type) {
14
+ * case 'sort':
15
+ * return [{ ...state, sort: sortable.update(state.sort, msg.msg)[0] }, []]
16
+ * case 'drop': {
17
+ * const d = state.sort.dragging
18
+ * if (!d) return [state, []]
19
+ * return [{ ...state, items: reorder(state.items, d.startIndex, d.currentIndex) }, []]
20
+ * }
21
+ * }
22
+ * }
23
+ *
24
+ * view: ({ send, each, text }) => {
25
+ * const s = sortable.connect<State>(s => s.sort, m => send({ type: 'sort', msg: m }), { id: 'list' })
26
+ * return [
27
+ * ul({ ...s.root, class: 'list' }, [
28
+ * ...each({
29
+ * items: (st) => st.items,
30
+ * key: (x) => x,
31
+ * render: ({ item, index }) => [
32
+ * li({ ...s.item(item(), index()), class: 'item' }, [
33
+ * div({ ...s.handle(item(), index()), class: 'handle' }, [text('⋮⋮')]),
34
+ * text(item),
35
+ * ]),
36
+ * ],
37
+ * }),
38
+ * ]),
39
+ * ]
40
+ * }
41
+ * ```
42
+ *
43
+ * Hook up pointermove/pointerup at the root (attachPointerHandlers) — or
44
+ * wire them directly via `onPointerMove` / `onPointerUp` on the root part.
45
+ */
46
+ export interface DragState {
47
+ id: string;
48
+ startIndex: number;
49
+ currentIndex: number;
50
+ }
51
+ export interface SortableState {
52
+ dragging: DragState | null;
53
+ }
54
+ export type SortableMsg = {
55
+ type: 'start';
56
+ id: string;
57
+ index: number;
58
+ } | {
59
+ type: 'move';
60
+ index: number;
61
+ } | {
62
+ type: 'drop';
63
+ } | {
64
+ type: 'cancel';
65
+ };
66
+ export declare function init(): SortableState;
67
+ export declare function update(state: SortableState, msg: SortableMsg): [SortableState, never[]];
68
+ export interface SortableParts<S> {
69
+ root: {
70
+ 'data-scope': 'sortable';
71
+ 'data-part': 'root';
72
+ 'data-dragging': (s: S) => '' | undefined;
73
+ onPointerMove: (e: PointerEvent) => void;
74
+ onPointerUp: (e: PointerEvent) => void;
75
+ onPointerCancel: (e: PointerEvent) => void;
76
+ };
77
+ item: (id: string, index: number) => {
78
+ 'data-scope': 'sortable';
79
+ 'data-part': 'item';
80
+ 'data-index': string;
81
+ 'data-id': string;
82
+ 'data-dragging': (s: S) => '' | undefined;
83
+ 'data-over': (s: S) => '' | undefined;
84
+ };
85
+ handle: (id: string, index: number) => {
86
+ 'data-scope': 'sortable';
87
+ 'data-part': 'handle';
88
+ onPointerDown: (e: PointerEvent) => void;
89
+ };
90
+ }
91
+ export interface ConnectOptions {
92
+ id: string;
93
+ }
94
+ export declare function connect<S>(get: (s: S) => SortableState, send: Send<SortableMsg>, _opts: ConnectOptions): SortableParts<S>;
95
+ /**
96
+ * Move an item in an array from one index to another, returning a new array.
97
+ * Out-of-range indices are clamped to array bounds.
98
+ */
99
+ export declare function reorder<T>(arr: readonly T[], from: number, to: number): T[];
100
+ export declare const sortable: {
101
+ init: typeof init;
102
+ update: typeof update;
103
+ connect: typeof connect;
104
+ reorder: typeof reorder;
105
+ };
106
+ //# sourceMappingURL=sortable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortable.d.ts","sourceRoot":"","sources":["../../src/components/sortable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAA;CAC3B;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAA;AAEtB,wBAAgB,IAAI,IAAI,aAAa,CAEpC;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAcvF;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,IAAI,EAAE;QACJ,YAAY,EAAE,UAAU,CAAA;QACxB,WAAW,EAAE,MAAM,CAAA;QACnB,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,SAAS,CAAA;QACzC,aAAa,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAA;QACxC,WAAW,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAA;QACtC,eAAe,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAA;KAC3C,CAAA;IACD,IAAI,EAAE,CACJ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,KACV;QACH,YAAY,EAAE,UAAU,CAAA;QACxB,WAAW,EAAE,MAAM,CAAA;QACnB,YAAY,EAAE,MAAM,CAAA;QACpB,SAAS,EAAE,MAAM,CAAA;QACjB,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,SAAS,CAAA;QACzC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,SAAS,CAAA;KACtC,CAAA;IACD,MAAM,EAAE,CACN,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,KACV;QACH,YAAY,EAAE,UAAU,CAAA;QACxB,WAAW,EAAE,QAAQ,CAAA;QACrB,aAAa,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAA;KACzC,CAAA;CACF;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;CACX;AAED,wBAAgB,OAAO,CAAC,CAAC,EACvB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,aAAa,EAC5B,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EACvB,KAAK,EAAE,cAAc,GACpB,aAAa,CAAC,CAAC,CAAC,CAuDlB;AAID;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,CAU3E;AAED,eAAO,MAAM,QAAQ;;;;;CAAqC,CAAA"}
@@ -0,0 +1,97 @@
1
+ export function init() {
2
+ return { dragging: null };
3
+ }
4
+ export function update(state, msg) {
5
+ switch (msg.type) {
6
+ case 'start':
7
+ return [{ dragging: { id: msg.id, startIndex: msg.index, currentIndex: msg.index } }, []];
8
+ case 'move': {
9
+ if (!state.dragging)
10
+ return [state, []];
11
+ if (state.dragging.currentIndex === msg.index)
12
+ return [state, []];
13
+ return [{ dragging: { ...state.dragging, currentIndex: msg.index } }, []];
14
+ }
15
+ case 'drop':
16
+ return state.dragging ? [{ dragging: null }, []] : [state, []];
17
+ case 'cancel':
18
+ return state.dragging ? [{ dragging: null }, []] : [state, []];
19
+ }
20
+ }
21
+ export function connect(get, send, _opts) {
22
+ const findItemIndex = (e) => {
23
+ // Walk up from the element at the pointer looking for [data-part="item"]
24
+ const target = document.elementFromPoint(e.clientX, e.clientY);
25
+ if (!target)
26
+ return null;
27
+ const item = target.closest('[data-scope="sortable"][data-part="item"]');
28
+ if (!item)
29
+ return null;
30
+ const idxStr = item.dataset.index;
31
+ if (idxStr === undefined)
32
+ return null;
33
+ const idx = Number(idxStr);
34
+ return Number.isFinite(idx) ? idx : null;
35
+ };
36
+ return {
37
+ root: {
38
+ 'data-scope': 'sortable',
39
+ 'data-part': 'root',
40
+ 'data-dragging': (s) => (get(s).dragging ? '' : undefined),
41
+ onPointerMove: (e) => {
42
+ if (!e.buttons)
43
+ return;
44
+ const idx = findItemIndex(e);
45
+ if (idx !== null)
46
+ send({ type: 'move', index: idx });
47
+ },
48
+ onPointerUp: () => send({ type: 'drop' }),
49
+ onPointerCancel: () => send({ type: 'cancel' }),
50
+ },
51
+ item: (id, index) => ({
52
+ 'data-scope': 'sortable',
53
+ 'data-part': 'item',
54
+ 'data-index': String(index),
55
+ 'data-id': id,
56
+ 'data-dragging': (s) => (get(s).dragging?.id === id ? '' : undefined),
57
+ 'data-over': (s) => (get(s).dragging?.currentIndex === index ? '' : undefined),
58
+ }),
59
+ handle: (id, index) => ({
60
+ 'data-scope': 'sortable',
61
+ 'data-part': 'handle',
62
+ onPointerDown: (e) => {
63
+ e.preventDefault();
64
+ const target = e.currentTarget;
65
+ if (target && 'setPointerCapture' in target) {
66
+ try {
67
+ ;
68
+ target.setPointerCapture(e.pointerId);
69
+ }
70
+ catch {
71
+ // Ignore — not all elements support pointer capture
72
+ }
73
+ }
74
+ send({ type: 'start', id, index });
75
+ },
76
+ }),
77
+ };
78
+ }
79
+ // ── Reorder utility ────────────────────────────────────────────
80
+ /**
81
+ * Move an item in an array from one index to another, returning a new array.
82
+ * Out-of-range indices are clamped to array bounds.
83
+ */
84
+ export function reorder(arr, from, to) {
85
+ const len = arr.length;
86
+ if (len === 0)
87
+ return [];
88
+ const f = Math.max(0, Math.min(len - 1, from));
89
+ const t = Math.max(0, Math.min(len - 1, to));
90
+ if (f === t)
91
+ return arr.slice();
92
+ const result = arr.slice();
93
+ const [item] = result.splice(f, 1);
94
+ result.splice(t, 0, item);
95
+ return result;
96
+ }
97
+ export const sortable = { init, update, connect, reorder };
@@ -50,7 +50,6 @@ export declare function init(opts?: TagsInputInit): TagsInputState;
50
50
  export declare function update(state: TagsInputState, msg: TagsInputMsg): [TagsInputState, never[]];
51
51
  export interface TagItemParts<S> {
52
52
  root: {
53
- role: 'button';
54
53
  tabIndex: (s: S) => number;
55
54
  'data-scope': 'tags-input';
56
55
  'data-part': 'tag';
@@ -1 +1 @@
1
- {"version":3,"file":"tags-input.d.ts","sourceRoot":"","sources":["../../src/components/tags-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tags-input.d.ts","sourceRoot":"","sources":["../../src/components/tags-input.ts"],"names":[],"mappings":"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"}
@@ -129,7 +129,6 @@ export function connect(get, send, opts = {}) {
129
129
  },
130
130
  tag: (value, index) => ({
131
131
  root: {
132
- role: 'button',
133
132
  tabIndex: (s) => (get(s).focusedIndex === index ? 0 : -1),
134
133
  'data-scope': 'tags-input',
135
134
  'data-part': 'tag',
@@ -0,0 +1,89 @@
1
+ import type { Send } from '@llui/dom';
2
+ /**
3
+ * Theme Switch — light/dark/system theme toggle.
4
+ *
5
+ * State machine tracks the user's explicit preference (`light`, `dark`, or
6
+ * `system`). Use `resolveTheme()` to compute the effective theme (reading
7
+ * `prefers-color-scheme` when `system`), and `applyTheme()` to set
8
+ * `data-theme` on `<html>` so CSS selectors like `[data-theme='dark']` work.
9
+ *
10
+ * Typically wired via `onMount` or in app init:
11
+ * ```ts
12
+ * onMount(() => {
13
+ * applyTheme(resolveTheme(state.theme.theme))
14
+ * })
15
+ * ```
16
+ *
17
+ * For persistence, the app reducer reads/writes `localStorage.theme` in its
18
+ * `init`/`update` — the state machine itself is storage-agnostic.
19
+ */
20
+ export type Theme = 'light' | 'dark' | 'system';
21
+ export type ResolvedTheme = 'light' | 'dark';
22
+ export interface ThemeSwitchState {
23
+ theme: Theme;
24
+ }
25
+ export type ThemeSwitchMsg = {
26
+ type: 'setTheme';
27
+ theme: Theme;
28
+ } | {
29
+ type: 'toggle';
30
+ };
31
+ export declare function init(theme?: Theme): ThemeSwitchState;
32
+ export declare function update(state: ThemeSwitchState, msg: ThemeSwitchMsg): [ThemeSwitchState, never[]];
33
+ /**
34
+ * Resolve a theme preference to the actual theme to apply. Returns 'dark' or
35
+ * 'light' based on the user's setting, consulting `prefers-color-scheme` for
36
+ * 'system'.
37
+ */
38
+ export declare function resolveTheme(theme: Theme): ResolvedTheme;
39
+ /**
40
+ * Set `data-theme="light"` or `data-theme="dark"` on `<html>`. CSS selectors
41
+ * like `[data-theme='dark'] { ... }` will then take effect.
42
+ */
43
+ export declare function applyTheme(resolved: ResolvedTheme): void;
44
+ /**
45
+ * Listen for system theme changes (when user has selected 'system'). Returns
46
+ * a cleanup function. Call this in `onMount` and dispatch `setTheme` on
47
+ * change if you want the UI to auto-follow OS settings.
48
+ */
49
+ export declare function watchSystemTheme(callback: (theme: ResolvedTheme) => void): () => void;
50
+ export interface ThemeSwitchParts<S> {
51
+ root: {
52
+ 'data-scope': 'theme-switch';
53
+ 'data-part': 'root';
54
+ role: 'group';
55
+ 'aria-label': string;
56
+ };
57
+ option: (theme: Theme) => {
58
+ type: 'button';
59
+ 'data-scope': 'theme-switch';
60
+ 'data-part': 'option';
61
+ 'data-theme': Theme;
62
+ 'aria-pressed': (s: S) => boolean;
63
+ 'aria-label': string;
64
+ onClick: (e: MouseEvent) => void;
65
+ };
66
+ toggle: {
67
+ type: 'button';
68
+ 'data-scope': 'theme-switch';
69
+ 'data-part': 'toggle';
70
+ 'data-theme': (s: S) => Theme;
71
+ 'aria-label': string;
72
+ onClick: (e: MouseEvent) => void;
73
+ };
74
+ }
75
+ export interface ConnectOptions {
76
+ id: string;
77
+ /** Accessible label for the theme group (default: 'Theme'). */
78
+ label?: string;
79
+ }
80
+ export declare function connect<S>(get: (s: S) => ThemeSwitchState, send: Send<ThemeSwitchMsg>, opts: ConnectOptions): ThemeSwitchParts<S>;
81
+ export declare const themeSwitch: {
82
+ init: typeof init;
83
+ update: typeof update;
84
+ connect: typeof connect;
85
+ resolveTheme: typeof resolveTheme;
86
+ applyTheme: typeof applyTheme;
87
+ watchSystemTheme: typeof watchSystemTheme;
88
+ };
89
+ //# sourceMappingURL=theme-switch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-switch.d.ts","sourceRoot":"","sources":["../../src/components/theme-switch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;AAC/C,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAA;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAA;CACb;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAA;AAEpF,wBAAgB,IAAI,CAAC,KAAK,GAAE,KAAgB,GAAG,gBAAgB,CAE9D;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,cAAc,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAYhG;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAOxD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAGxD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI,CAQrF;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,IAAI,EAAE;QACJ,YAAY,EAAE,cAAc,CAAA;QAC5B,WAAW,EAAE,MAAM,CAAA;QACnB,IAAI,EAAE,OAAO,CAAA;QACb,YAAY,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK;QACxB,IAAI,EAAE,QAAQ,CAAA;QACd,YAAY,EAAE,cAAc,CAAA;QAC5B,WAAW,EAAE,QAAQ,CAAA;QACrB,YAAY,EAAE,KAAK,CAAA;QACnB,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAA;QACjC,YAAY,EAAE,MAAM,CAAA;QACpB,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAA;KACjC,CAAA;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ,CAAA;QACd,YAAY,EAAE,cAAc,CAAA;QAC5B,WAAW,EAAE,QAAQ,CAAA;QACrB,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,CAAA;QAC7B,YAAY,EAAE,MAAM,CAAA;QACpB,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAA;KACjC,CAAA;CACF;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAQD,wBAAgB,OAAO,CAAC,CAAC,EACvB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,gBAAgB,EAC/B,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,EAC1B,IAAI,EAAE,cAAc,GACnB,gBAAgB,CAAC,CAAC,CAAC,CA2BrB;AAED,eAAO,MAAM,WAAW;;;;;;;CAOvB,CAAA"}
@@ -0,0 +1,96 @@
1
+ export function init(theme = 'system') {
2
+ return { theme };
3
+ }
4
+ export function update(state, msg) {
5
+ switch (msg.type) {
6
+ case 'setTheme':
7
+ if (state.theme === msg.theme)
8
+ return [state, []];
9
+ return [{ theme: msg.theme }, []];
10
+ case 'toggle': {
11
+ // light → dark → system → light
12
+ const next = state.theme === 'light' ? 'dark' : state.theme === 'dark' ? 'system' : 'light';
13
+ return [{ theme: next }, []];
14
+ }
15
+ }
16
+ }
17
+ /**
18
+ * Resolve a theme preference to the actual theme to apply. Returns 'dark' or
19
+ * 'light' based on the user's setting, consulting `prefers-color-scheme` for
20
+ * 'system'.
21
+ */
22
+ export function resolveTheme(theme) {
23
+ if (theme === 'dark')
24
+ return 'dark';
25
+ if (theme === 'light')
26
+ return 'light';
27
+ if (typeof window !== 'undefined' && window.matchMedia) {
28
+ return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
29
+ }
30
+ return 'light';
31
+ }
32
+ /**
33
+ * Set `data-theme="light"` or `data-theme="dark"` on `<html>`. CSS selectors
34
+ * like `[data-theme='dark'] { ... }` will then take effect.
35
+ */
36
+ export function applyTheme(resolved) {
37
+ if (typeof document === 'undefined')
38
+ return;
39
+ document.documentElement.dataset.theme = resolved;
40
+ }
41
+ /**
42
+ * Listen for system theme changes (when user has selected 'system'). Returns
43
+ * a cleanup function. Call this in `onMount` and dispatch `setTheme` on
44
+ * change if you want the UI to auto-follow OS settings.
45
+ */
46
+ export function watchSystemTheme(callback) {
47
+ if (typeof window === 'undefined' || !window.matchMedia)
48
+ return () => { };
49
+ const mq = window.matchMedia('(prefers-color-scheme: dark)');
50
+ const handler = (e) => {
51
+ callback(e.matches ? 'dark' : 'light');
52
+ };
53
+ mq.addEventListener('change', handler);
54
+ return () => mq.removeEventListener('change', handler);
55
+ }
56
+ const LABELS = {
57
+ light: 'Light theme',
58
+ dark: 'Dark theme',
59
+ system: 'Use system theme',
60
+ };
61
+ export function connect(get, send, opts) {
62
+ const label = opts.label ?? 'Theme';
63
+ return {
64
+ root: {
65
+ 'data-scope': 'theme-switch',
66
+ 'data-part': 'root',
67
+ role: 'group',
68
+ 'aria-label': label,
69
+ },
70
+ option: (theme) => ({
71
+ type: 'button',
72
+ 'data-scope': 'theme-switch',
73
+ 'data-part': 'option',
74
+ 'data-theme': theme,
75
+ 'aria-pressed': (s) => get(s).theme === theme,
76
+ 'aria-label': LABELS[theme],
77
+ onClick: () => send({ type: 'setTheme', theme }),
78
+ }),
79
+ toggle: {
80
+ type: 'button',
81
+ 'data-scope': 'theme-switch',
82
+ 'data-part': 'toggle',
83
+ 'data-theme': (s) => get(s).theme,
84
+ 'aria-label': 'Toggle theme',
85
+ onClick: () => send({ type: 'toggle' }),
86
+ },
87
+ };
88
+ }
89
+ export const themeSwitch = {
90
+ init,
91
+ update,
92
+ connect,
93
+ resolveTheme,
94
+ applyTheme,
95
+ watchSystemTheme,
96
+ };
@@ -62,7 +62,6 @@ export interface ToggleGroupItemParts<S> {
62
62
  export interface ToggleGroupParts<S> {
63
63
  root: {
64
64
  role: 'group';
65
- 'aria-orientation': (s: S) => Orientation;
66
65
  'aria-disabled': (s: S) => 'true' | undefined;
67
66
  'data-scope': 'toggle-group';
68
67
  'data-part': 'root';
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-group.d.ts","sourceRoot":"","sources":["../../src/components/toggle-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toggle-group.d.ts","sourceRoot":"","sources":["../../src/components/toggle-group.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,6 @@ export function connect(get, send) {
48
48
  return {
49
49
  root: {
50
50
  role: 'group',
51
- 'aria-orientation': (s) => get(s).orientation,
52
51
  'aria-disabled': (s) => (get(s).disabled ? 'true' : undefined),
53
52
  'data-scope': 'toggle-group',
54
53
  'data-part': 'root',
@@ -649,7 +649,7 @@
649
649
  justify-content: center;
650
650
  font-size: 1rem;
651
651
  font-weight: 600;
652
- color: var(--color-text-muted);
652
+ color: var(--color-text);
653
653
  }
654
654
 
655
655
  /* ─── Pagination ─── */
@@ -1315,7 +1315,7 @@
1315
1315
  padding: var(--space-1) var(--space-2);
1316
1316
  border: 0;
1317
1317
  background: var(--color-surface-hover);
1318
- color: var(--color-text-muted);
1318
+ color: var(--color-text);
1319
1319
  font-size: 0.75rem;
1320
1320
  font-weight: 600;
1321
1321
  cursor: pointer;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Composable validators returning `string | null` (null = valid).
3
+ *
4
+ * Use `compose(v1, v2, ...)` to run until first failure (short-circuit),
5
+ * or `validateAll(v1, v2, ...)` to collect all errors as `string[]`.
6
+ *
7
+ * ```ts
8
+ * const username = compose(required(), minLength(3), pattern(/^[a-z]+$/i))
9
+ * username('') // 'Required'
10
+ * username('ab') // 'Must be at least 3 characters'
11
+ * username('foo') // null
12
+ * ```
13
+ */
14
+ export type Validator<T> = (value: T) => string | null;
15
+ export declare function required(message?: string): Validator<unknown>;
16
+ export declare function minLength(n: number, message?: string): Validator<string>;
17
+ export declare function maxLength(n: number, message?: string): Validator<string>;
18
+ export declare function pattern(regex: RegExp, message?: string): Validator<string>;
19
+ export declare function email(message?: string): Validator<string>;
20
+ export declare function url(message?: string): Validator<string>;
21
+ export declare function min(n: number, message?: string): Validator<number>;
22
+ export declare function max(n: number, message?: string): Validator<number>;
23
+ export declare function integer(message?: string): Validator<number>;
24
+ export declare function positive(message?: string): Validator<number>;
25
+ /**
26
+ * Run validators in order, returning the first error (or null if all pass).
27
+ */
28
+ export declare function compose<T>(...validators: Validator<T>[]): Validator<T>;
29
+ /**
30
+ * Run every validator and collect all errors. Returns empty array when valid.
31
+ * Use when you want to display multiple errors at once (e.g. password rules).
32
+ */
33
+ export declare function validateAll<T>(...validators: Validator<T>[]): (value: T) => string[];
34
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAAA;AAStD,wBAAgB,QAAQ,CAAC,OAAO,SAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAEjE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAGxE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAGxE;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,CAEpF;AAKD,wBAAgB,KAAK,CAAC,OAAO,SAAkB,GAAG,SAAS,CAAC,MAAM,CAAC,CAElE;AAED,wBAAgB,GAAG,CAAC,OAAO,SAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAU9D;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAGlE;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAGlE;AAED,wBAAgB,OAAO,CAAC,OAAO,SAAuB,GAAG,SAAS,CAAC,MAAM,CAAC,CAEzE;AAED,wBAAgB,QAAQ,CAAC,OAAO,SAAqB,GAAG,SAAS,CAAC,MAAM,CAAC,CAExE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAQtE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,EAAE,CASpF"}
@@ -0,0 +1,83 @@
1
+ function isEmpty(v) {
2
+ if (v === null || v === undefined)
3
+ return true;
4
+ if (typeof v === 'string' && v.length === 0)
5
+ return true;
6
+ if (Array.isArray(v) && v.length === 0)
7
+ return true;
8
+ return false;
9
+ }
10
+ export function required(message = 'Required') {
11
+ return (value) => (isEmpty(value) ? message : null);
12
+ }
13
+ export function minLength(n, message) {
14
+ const msg = message ?? `Must be at least ${n} characters`;
15
+ return (value) => (value.length < n ? msg : null);
16
+ }
17
+ export function maxLength(n, message) {
18
+ const msg = message ?? `Must be at most ${n} characters`;
19
+ return (value) => (value.length > n ? msg : null);
20
+ }
21
+ export function pattern(regex, message = 'Invalid format') {
22
+ return (value) => (regex.test(value) ? null : message);
23
+ }
24
+ // RFC 5322 simplified — accepts most valid emails, rejects obvious garbage
25
+ const EMAIL_RE = /^[^\s@]+@[^\s@.]+(\.[^\s@.]+)+$/;
26
+ export function email(message = 'Invalid email') {
27
+ return (value) => (EMAIL_RE.test(value) ? null : message);
28
+ }
29
+ export function url(message = 'Invalid URL') {
30
+ return (value) => {
31
+ try {
32
+ const u = new URL(value);
33
+ if (u.protocol !== 'http:' && u.protocol !== 'https:')
34
+ return message;
35
+ return null;
36
+ }
37
+ catch {
38
+ return message;
39
+ }
40
+ };
41
+ }
42
+ export function min(n, message) {
43
+ const msg = message ?? `Must be at least ${n}`;
44
+ return (value) => (value < n ? msg : null);
45
+ }
46
+ export function max(n, message) {
47
+ const msg = message ?? `Must be at most ${n}`;
48
+ return (value) => (value > n ? msg : null);
49
+ }
50
+ export function integer(message = 'Must be an integer') {
51
+ return (value) => (Number.isInteger(value) ? null : message);
52
+ }
53
+ export function positive(message = 'Must be positive') {
54
+ return (value) => (value > 0 ? null : message);
55
+ }
56
+ /**
57
+ * Run validators in order, returning the first error (or null if all pass).
58
+ */
59
+ export function compose(...validators) {
60
+ return (value) => {
61
+ for (const v of validators) {
62
+ const err = v(value);
63
+ if (err !== null)
64
+ return err;
65
+ }
66
+ return null;
67
+ };
68
+ }
69
+ /**
70
+ * Run every validator and collect all errors. Returns empty array when valid.
71
+ * Use when you want to display multiple errors at once (e.g. password rules).
72
+ */
73
+ export function validateAll(...validators) {
74
+ return (value) => {
75
+ const errors = [];
76
+ for (const v of validators) {
77
+ const err = v(value);
78
+ if (err !== null)
79
+ errors.push(err);
80
+ }
81
+ return errors;
82
+ };
83
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llui/components",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -463,7 +463,7 @@
463
463
  "test": "vitest run"
464
464
  },
465
465
  "peerDependencies": {
466
- "@llui/dom": "^0.0.6"
466
+ "@llui/dom": "^0.0.7"
467
467
  },
468
468
  "devDependencies": {
469
469
  "@llui/dom": "workspace:*",
@@ -475,7 +475,8 @@
475
475
  "./dist/styles/theme-dark.css"
476
476
  ],
477
477
  "dependencies": {
478
- "@floating-ui/dom": "^1.7.6"
478
+ "@floating-ui/dom": "^1.7.6",
479
+ "@standard-schema/spec": "^1.0.0"
479
480
  },
480
481
  "description": "54 headless UI components for LLui — accordion, dialog, tabs, select, tree-view, timer, tour, and more",
481
482
  "keywords": [