@setsquare/ui 0.1.0 → 0.2.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.
Files changed (123) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/index.d.ts +20 -13
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/labels.d.ts +11 -0
  7. package/dist/lib/labels.d.ts.map +1 -0
  8. package/dist/lib/labels.js +15 -0
  9. package/dist/lib/labels.js.map +1 -0
  10. package/dist/shell/app-header.d.ts +4 -1
  11. package/dist/shell/app-header.d.ts.map +1 -1
  12. package/dist/shell/app-header.js +2 -2
  13. package/dist/shell/app-header.js.map +1 -1
  14. package/dist/shell/dashboard-shell.d.ts +1 -1
  15. package/dist/shell/dashboard-shell.d.ts.map +1 -1
  16. package/dist/shell/dashboard-shell.js +10 -14
  17. package/dist/shell/dashboard-shell.js.map +1 -1
  18. package/dist/shell/right-panel.d.ts +7 -1
  19. package/dist/shell/right-panel.d.ts.map +1 -1
  20. package/dist/shell/right-panel.js +6 -3
  21. package/dist/shell/right-panel.js.map +1 -1
  22. package/dist/shell/sidebar.d.ts +16 -2
  23. package/dist/shell/sidebar.d.ts.map +1 -1
  24. package/dist/shell/sidebar.js +17 -8
  25. package/dist/shell/sidebar.js.map +1 -1
  26. package/dist/styles/theme.css +2 -1
  27. package/dist/ui/alert.d.ts +16 -2
  28. package/dist/ui/alert.d.ts.map +1 -1
  29. package/dist/ui/alert.js +11 -4
  30. package/dist/ui/alert.js.map +1 -1
  31. package/dist/ui/calendar.d.ts +9 -2
  32. package/dist/ui/calendar.d.ts.map +1 -1
  33. package/dist/ui/calendar.js +6 -6
  34. package/dist/ui/calendar.js.map +1 -1
  35. package/dist/ui/checkbox.d.ts +5 -2
  36. package/dist/ui/checkbox.d.ts.map +1 -1
  37. package/dist/ui/checkbox.js +4 -4
  38. package/dist/ui/checkbox.js.map +1 -1
  39. package/dist/ui/code-block.d.ts +10 -1
  40. package/dist/ui/code-block.d.ts.map +1 -1
  41. package/dist/ui/code-block.js +6 -3
  42. package/dist/ui/code-block.js.map +1 -1
  43. package/dist/ui/combo-box.d.ts +3 -2
  44. package/dist/ui/combo-box.d.ts.map +1 -1
  45. package/dist/ui/combo-box.js +2 -2
  46. package/dist/ui/combo-box.js.map +1 -1
  47. package/dist/ui/copy-button.d.ts +12 -1
  48. package/dist/ui/copy-button.d.ts.map +1 -1
  49. package/dist/ui/copy-button.js +18 -5
  50. package/dist/ui/copy-button.js.map +1 -1
  51. package/dist/ui/date-field.d.ts +22 -5
  52. package/dist/ui/date-field.d.ts.map +1 -1
  53. package/dist/ui/date-field.js +23 -17
  54. package/dist/ui/date-field.js.map +1 -1
  55. package/dist/ui/dialog.d.ts +19 -2
  56. package/dist/ui/dialog.d.ts.map +1 -1
  57. package/dist/ui/dialog.js +14 -8
  58. package/dist/ui/dialog.js.map +1 -1
  59. package/dist/ui/error-state.d.ts +17 -1
  60. package/dist/ui/error-state.d.ts.map +1 -1
  61. package/dist/ui/error-state.js +15 -5
  62. package/dist/ui/error-state.js.map +1 -1
  63. package/dist/ui/field.d.ts +8 -1
  64. package/dist/ui/field.d.ts.map +1 -1
  65. package/dist/ui/field.js +2 -2
  66. package/dist/ui/field.js.map +1 -1
  67. package/dist/ui/file-upload.d.ts +33 -1
  68. package/dist/ui/file-upload.d.ts.map +1 -1
  69. package/dist/ui/file-upload.js +43 -15
  70. package/dist/ui/file-upload.js.map +1 -1
  71. package/dist/ui/form.d.ts +3 -2
  72. package/dist/ui/form.d.ts.map +1 -1
  73. package/dist/ui/form.js +17 -9
  74. package/dist/ui/form.js.map +1 -1
  75. package/dist/ui/link-card.d.ts +6 -4
  76. package/dist/ui/link-card.d.ts.map +1 -1
  77. package/dist/ui/link-card.js +4 -5
  78. package/dist/ui/link-card.js.map +1 -1
  79. package/dist/ui/number-field.d.ts +3 -2
  80. package/dist/ui/number-field.d.ts.map +1 -1
  81. package/dist/ui/number-field.js +2 -2
  82. package/dist/ui/number-field.js.map +1 -1
  83. package/dist/ui/pagination.d.ts +30 -0
  84. package/dist/ui/pagination.d.ts.map +1 -0
  85. package/dist/ui/pagination.js +48 -0
  86. package/dist/ui/pagination.js.map +1 -0
  87. package/dist/ui/radio-group.d.ts +3 -1
  88. package/dist/ui/radio-group.d.ts.map +1 -1
  89. package/dist/ui/radio-group.js +2 -2
  90. package/dist/ui/radio-group.js.map +1 -1
  91. package/dist/ui/search.d.ts +23 -5
  92. package/dist/ui/search.d.ts.map +1 -1
  93. package/dist/ui/search.js +24 -10
  94. package/dist/ui/search.js.map +1 -1
  95. package/dist/ui/select.d.ts +3 -2
  96. package/dist/ui/select.d.ts.map +1 -1
  97. package/dist/ui/select.js +2 -2
  98. package/dist/ui/select.js.map +1 -1
  99. package/dist/ui/selection-bar.d.ts +14 -1
  100. package/dist/ui/selection-bar.d.ts.map +1 -1
  101. package/dist/ui/selection-bar.js +15 -6
  102. package/dist/ui/selection-bar.js.map +1 -1
  103. package/dist/ui/sheet.d.ts +6 -1
  104. package/dist/ui/sheet.d.ts.map +1 -1
  105. package/dist/ui/sheet.js +2 -2
  106. package/dist/ui/sheet.js.map +1 -1
  107. package/dist/ui/tabs.d.ts +43 -0
  108. package/dist/ui/tabs.d.ts.map +1 -0
  109. package/dist/ui/tabs.js +37 -0
  110. package/dist/ui/tabs.js.map +1 -0
  111. package/dist/ui/text-field.d.ts +4 -3
  112. package/dist/ui/text-field.d.ts.map +1 -1
  113. package/dist/ui/text-field.js +4 -4
  114. package/dist/ui/text-field.js.map +1 -1
  115. package/dist/ui/theme-switcher.d.ts +14 -1
  116. package/dist/ui/theme-switcher.d.ts.map +1 -1
  117. package/dist/ui/theme-switcher.js +15 -4
  118. package/dist/ui/theme-switcher.js.map +1 -1
  119. package/dist/ui/toast.d.ts +7 -1
  120. package/dist/ui/toast.d.ts.map +1 -1
  121. package/dist/ui/toast.js +2 -11
  122. package/dist/ui/toast.js.map +1 -1
  123. package/package.json +21 -20
@@ -2,31 +2,42 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useCallback, useSyncExternalStore } from 'react';
4
4
  import { cn } from '../lib/cn.js';
5
+ import { withLabels } from '../lib/labels.js';
5
6
  import { Segment, SegmentedControl } from './segmented-control.js';
6
7
  import { applyLevel, applyTheme, readLevel, readTheme, resolveTheme, subscribeTheme, } from './theme.js';
8
+ const themeSwitcherLabels = {
9
+ theme: 'Theme',
10
+ light: 'Light',
11
+ dark: 'Dark',
12
+ system: 'System',
13
+ level: 'Conformance level',
14
+ aa: 'AA',
15
+ aaa: 'AAA',
16
+ };
7
17
  /**
8
18
  * Light, Dark and System, and optionally AA and AAA: segmented controls that set `<html>` and keep the choice
9
19
  * where ThemeScript reads it before the next page paints. System follows the operating system as it changes.
10
20
  * Use the same options as the page's ThemeScript.
11
21
  */
12
- export function ThemeSwitcher({ level: offerLevel = false, initialTheme, initialLevel = 'aa', onChange, className, ...options }) {
22
+ export function ThemeSwitcher({ level: offerLevel = false, initialTheme, initialLevel = 'aa', onChange, labels: given, className, ...options }) {
23
+ const labels = withLabels(themeSwitcherLabels, given);
13
24
  const { storage, key, levelKey, defaultTheme } = options;
14
25
  const subscribe = useCallback((cb) => subscribeTheme(cb, { storage, key, levelKey, defaultTheme }), [storage, key, levelKey, defaultTheme]);
15
26
  const theme = useSyncExternalStore(subscribe, () => readTheme(options), () => initialTheme ?? defaultTheme ?? 'system');
16
27
  const level = useSyncExternalStore(subscribe, readLevel, () => initialLevel);
17
28
  const report = (t, l) => onChange?.({ theme: t, resolved: resolveTheme(t), level: l });
18
- return (_jsxs("div", { className: cn('flex flex-wrap items-center gap-2', className), children: [_jsxs(SegmentedControl, { "aria-label": "Theme", selectedKeys: [theme], onSelectionChange: (keys) => {
29
+ return (_jsxs("div", { className: cn('flex flex-wrap items-center gap-2', className), children: [_jsxs(SegmentedControl, { "aria-label": labels.theme, selectedKeys: [theme], onSelectionChange: (keys) => {
19
30
  const next = [...keys][0];
20
31
  if (next !== 'light' && next !== 'dark' && next !== 'system')
21
32
  return;
22
33
  applyTheme(next, options);
23
34
  report(next, level);
24
- }, children: [_jsx(Segment, { id: "light", children: "Light" }), _jsx(Segment, { id: "dark", children: "Dark" }), _jsx(Segment, { id: "system", children: "System" })] }), offerLevel && (_jsxs(SegmentedControl, { "aria-label": "Conformance level", selectedKeys: [level], onSelectionChange: (keys) => {
35
+ }, children: [_jsx(Segment, { id: "light", children: labels.light }), _jsx(Segment, { id: "dark", children: labels.dark }), _jsx(Segment, { id: "system", children: labels.system })] }), offerLevel && (_jsxs(SegmentedControl, { "aria-label": labels.level, selectedKeys: [level], onSelectionChange: (keys) => {
25
36
  const next = [...keys][0];
26
37
  if (next !== 'aa' && next !== 'aaa')
27
38
  return;
28
39
  applyLevel(next, options);
29
40
  report(theme, next);
30
- }, children: [_jsx(Segment, { id: "aa", children: "AA" }), _jsx(Segment, { id: "aaa", children: "AAA" })] }))] }));
41
+ }, children: [_jsx(Segment, { id: "aa", children: labels.aa }), _jsx(Segment, { id: "aaa", children: labels.aaa })] }))] }));
31
42
  }
32
43
  //# sourceMappingURL=theme-switcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-switcher.js","sourceRoot":"","sources":["../../src/ui/theme-switcher.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme-switcher.js","sourceRoot":"","sources":["../../src/ui/theme-switcher.tsx"],"names":[],"mappings":"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"}
@@ -28,7 +28,13 @@ export declare function toast(content: ToastContent, options?: {
28
28
  * room to scroll into), so a focused control is scrolled clear of the stack rather than hidden behind it. With
29
29
  * the right panel open beside the page, the stack moves left of the panel, whose footer can't scroll.
30
30
  */
31
- export declare function Toaster({ className }: {
31
+ /** The toasts' words, for the `labels` prop on `Toaster`. */
32
+ export interface ToasterLabels {
33
+ /** Each toast's close button. */
34
+ dismiss: string;
35
+ }
36
+ export declare function Toaster({ labels, className, }: {
37
+ labels?: Partial<ToasterLabels>;
32
38
  className?: string;
33
39
  }): import("react").JSX.Element;
34
40
  //# sourceMappingURL=toast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/ui/toast.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,mBAAmB,IAAI,UAAU,EAElC,MAAM,uBAAuB,CAAC;AAS/B,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gFAAgF;IAChF,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;CAClD;AAED,eAAO,MAAM,UAAU,0BAAwD,CAAC;AAEhF;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;CAAO,UAQ7F;AA8BD;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,+BA8D5D"}
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/ui/toast.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,mBAAmB,IAAI,UAAU,EAElC,MAAM,uBAAuB,CAAC;AAS/B,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gFAAgF;IAChF,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;CAClD;AAED,eAAO,MAAM,UAAU,0BAAwD,CAAC;AAEhF;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;CAAO,UAQ7F;AA8BD;;;;;;;;GAQG;AACH,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,OAAO,CAAC,EACtB,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BA8DA"}
package/dist/ui/toast.js CHANGED
@@ -43,16 +43,7 @@ function useRegionHeight() {
43
43
  observer.current.observe(el);
44
44
  }, []);
45
45
  }
46
- /**
47
- * Render once, near the root. A labelled landmark ("Notifications") at the bottom right — bottom centre
48
- * on phones; F6 moves focus into it, and each toast is announced when it arrives.
49
- *
50
- * Toasts that stay (errors, anything with an action) must not cover the control that has focus. The stack's
51
- * height is published as --toast-region-height; ShellMain and the page use it as bottom scroll padding (and
52
- * room to scroll into), so a focused control is scrolled clear of the stack rather than hidden behind it. With
53
- * the right panel open beside the page, the stack moves left of the panel, whose footer can't scroll.
54
- */
55
- export function Toaster({ className }) {
46
+ export function Toaster({ labels, className, }) {
56
47
  const regionRef = useRegionHeight();
57
48
  // With the right panel open beside the page, the stack sits left of it: the panel's footer doesn't scroll,
58
49
  // so nothing could move its buttons clear of a toast.
@@ -63,7 +54,7 @@ export function Toaster({ className }) {
63
54
  return (_jsxs(RACToast, { toast: t, className: "flex items-start gap-3 rounded-lg border border-border bg-popover py-3 pr-2 pl-3 text-sm text-popover-foreground shadow-(--shadow-lg) outline-none data-focus-visible:focus-ring motion-safe:animate-[setsquare-toast_var(--duration-enter)_var(--ease-standard)]", children: [_jsx(tone.Icon, { "aria-hidden": "true", className: cn('mt-px size-5 shrink-0', tone.icon) }), _jsxs(RACToastContent, { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [_jsx(Text, { slot: "title", className: "font-semibold", children: t.content.title }), t.content.description && (_jsx(Text, { slot: "description", className: "text-[13px] leading-5 text-muted-foreground", children: t.content.description })), t.content.action && (_jsx("div", { className: "mt-2", children: _jsx(Button, { variant: "outline", visualSize: "sm", onPress: () => {
64
55
  t.content.action.onAction();
65
56
  toastQueue.close(t.key);
66
- }, children: t.content.action.label }) }))] }), _jsx(Button, { slot: "close", "aria-label": "Dismiss", variant: "ghost", visualSize: "icon-sm", className: "-my-0.5 shrink-0", children: _jsx(X, { "aria-hidden": "true" }) })] }));
57
+ }, children: t.content.action.label }) }))] }), _jsx(Button, { slot: "close", "aria-label": labels?.dismiss ?? 'Dismiss', variant: "ghost", visualSize: "icon-sm", className: "-my-0.5 shrink-0", children: _jsx(X, { "aria-hidden": "true" }) })] }));
67
58
  } }));
68
59
  }
69
60
  //# sourceMappingURL=toast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast.js","sourceRoot":"","sources":["../../src/ui/toast.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toast.js","sourceRoot":"","sources":["../../src/ui/toast.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@setsquare/ui",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "React Aria components, design tokens, a dashboard shell and a site shell, with a switch between WCAG 2.2 AA and AAA sizing, spacing and contrast.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/Worktree-Amigos/setsquare-ui#readme",
@@ -11,6 +11,7 @@
11
11
  "type": "git",
12
12
  "url": "git+https://github.com/Worktree-Amigos/setsquare-ui.git"
13
13
  },
14
+ "packageManager": "pnpm@11.21.0",
14
15
  "type": "module",
15
16
  "main": "./dist/index.js",
16
17
  "types": "./dist/index.d.ts",
@@ -58,6 +59,24 @@
58
59
  "wcag",
59
60
  "nextjs"
60
61
  ],
62
+ "scripts": {
63
+ "build": "node scripts/build-css.mjs && tsc -p tsconfig.json",
64
+ "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json",
65
+ "typecheck:react18": "node scripts/typecheck-react18.mjs",
66
+ "lint": "oxlint && node scripts/check-contrast.mjs",
67
+ "format": "oxfmt",
68
+ "format:check": "oxfmt --check",
69
+ "test": "vitest run",
70
+ "test:browser": "node test/browser/run.mjs",
71
+ "docs:build": "node scripts/build-docs.mjs",
72
+ "package:verify": "node scripts/verify-package.mjs",
73
+ "ci:local": "node scripts/ci-local.mjs",
74
+ "test:axe": "node test/browser/axe.mjs",
75
+ "docs:site": "pnpm --filter @setsquare/ui-docs dev",
76
+ "docs:site:build": "pnpm --filter @setsquare/ui-docs build",
77
+ "test:site": "node test/site/pages.mjs",
78
+ "test:setsquare": "node test/setsquare/run.mjs"
79
+ },
61
80
  "peerDependencies": {
62
81
  "@internationalized/date": "^3.12.4",
63
82
  "react": ">=18.3.0",
@@ -101,23 +120,5 @@
101
120
  },
102
121
  "publishConfig": {
103
122
  "access": "public"
104
- },
105
- "scripts": {
106
- "build": "node scripts/build-css.mjs && tsc -p tsconfig.json",
107
- "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json",
108
- "typecheck:react18": "node scripts/typecheck-react18.mjs",
109
- "lint": "oxlint && node scripts/check-contrast.mjs",
110
- "format": "oxfmt",
111
- "format:check": "oxfmt --check",
112
- "test": "vitest run",
113
- "test:browser": "node test/browser/run.mjs",
114
- "docs:build": "node scripts/build-docs.mjs",
115
- "package:verify": "node scripts/verify-package.mjs",
116
- "ci:local": "node scripts/ci-local.mjs",
117
- "test:axe": "node test/browser/axe.mjs",
118
- "docs:site": "pnpm --filter @setsquare/ui-docs dev",
119
- "docs:site:build": "pnpm --filter @setsquare/ui-docs build",
120
- "test:site": "node test/site/pages.mjs",
121
- "test:setsquare": "node test/setsquare/run.mjs"
122
123
  }
123
- }
124
+ }