@timmbr/ui 1.10.0 → 1.11.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 (77) hide show
  1. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  2. package/dist/components/Accordion/Accordion.js +23 -12
  3. package/dist/components/AuthModal/AuthModal.styles.js +1 -1
  4. package/dist/components/AuthModal/subcomponents/AuthModalParts.d.ts +1 -1
  5. package/dist/components/AuthModal/subcomponents/AuthModalParts.d.ts.map +1 -1
  6. package/dist/components/AuthModal/subcomponents/AuthModalParts.js +24 -42
  7. package/dist/components/Button/Button.d.ts.map +1 -1
  8. package/dist/components/Button/Button.js +1 -0
  9. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  10. package/dist/components/Checkbox/Checkbox.js +10 -1
  11. package/dist/components/Checkbox/Checkbox.styles.js +1 -1
  12. package/dist/components/Checkbox/Checkbox.types.d.ts +3 -0
  13. package/dist/components/Checkbox/Checkbox.types.d.ts.map +1 -1
  14. package/dist/components/Chip/Chip.js +1 -1
  15. package/dist/components/Dialog/Dialog.js +1 -1
  16. package/dist/components/Drawer/Drawer.js +1 -1
  17. package/dist/components/FilterChips/FilterChips.d.ts.map +1 -1
  18. package/dist/components/FilterChips/FilterChips.js +2 -9
  19. package/dist/components/FilterPanel/FilterPanel.d.ts.map +1 -1
  20. package/dist/components/FilterPanel/FilterPanel.js +9 -7
  21. package/dist/components/ImageUpload/subcomponents/ImageUploadThumbnailCard.js +1 -1
  22. package/dist/components/Input/Input.d.ts.map +1 -1
  23. package/dist/components/Input/Input.js +2 -1
  24. package/dist/components/NavFooter/NavFooter.styles.js +1 -1
  25. package/dist/components/NavFooter/subcomponents/FooterBrand.js +1 -1
  26. package/dist/components/NavHeader/NavHeader.js +1 -1
  27. package/dist/components/NavHeader/NavHeader.styles.js +4 -4
  28. package/dist/components/NavHeader/NavHeader.types.d.ts +10 -8
  29. package/dist/components/NavHeader/NavHeader.types.d.ts.map +1 -1
  30. package/dist/components/NavHeader/subcomponents/NavActions.d.ts +4 -4
  31. package/dist/components/NavHeader/subcomponents/NavActions.d.ts.map +1 -1
  32. package/dist/components/NavHeader/subcomponents/NavActions.js +31 -25
  33. package/dist/components/PageProgress/PageProgress.d.ts +12 -0
  34. package/dist/components/PageProgress/PageProgress.d.ts.map +1 -0
  35. package/dist/components/PageProgress/PageProgress.js +68 -0
  36. package/dist/components/PageProgress/PageProgress.styles.d.ts +8 -0
  37. package/dist/components/PageProgress/PageProgress.styles.d.ts.map +1 -0
  38. package/dist/components/PageProgress/PageProgress.styles.js +32 -0
  39. package/dist/components/PageProgress/PageProgress.types.d.ts +18 -0
  40. package/dist/components/PageProgress/PageProgress.types.d.ts.map +1 -0
  41. package/dist/components/PageProgress/index.d.ts +3 -0
  42. package/dist/components/PageProgress/index.d.ts.map +1 -0
  43. package/dist/components/RadioCard/RadioCard.d.ts +9 -0
  44. package/dist/components/RadioCard/RadioCard.d.ts.map +1 -0
  45. package/dist/components/RadioCard/RadioCard.js +40 -0
  46. package/dist/components/RadioCard/RadioCard.styles.d.ts +9 -0
  47. package/dist/components/RadioCard/RadioCard.styles.d.ts.map +1 -0
  48. package/dist/components/RadioCard/RadioCard.styles.js +24 -0
  49. package/dist/components/RadioCard/RadioCard.types.d.ts +28 -0
  50. package/dist/components/RadioCard/RadioCard.types.d.ts.map +1 -0
  51. package/dist/components/RadioCard/index.d.ts +4 -0
  52. package/dist/components/RadioCard/index.d.ts.map +1 -0
  53. package/dist/components/Skeleton/Skeleton.styles.d.ts +1 -1
  54. package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
  55. package/dist/components/Snackbar/Snackbar.js +6 -2
  56. package/dist/components/Snackbar/Snackbar.styles.d.ts +1 -0
  57. package/dist/components/Snackbar/Snackbar.styles.d.ts.map +1 -1
  58. package/dist/components/Snackbar/Snackbar.styles.js +8 -4
  59. package/dist/components/Snackbar/Snackbar.types.d.ts +3 -0
  60. package/dist/components/Snackbar/Snackbar.types.d.ts.map +1 -1
  61. package/dist/components/Snackbar/snackbarStore.d.ts +3 -0
  62. package/dist/components/Snackbar/snackbarStore.d.ts.map +1 -1
  63. package/dist/components/Switch/Switch.d.ts.map +1 -1
  64. package/dist/components/Switch/Switch.js +19 -2
  65. package/dist/components/Switch/Switch.styles.js +2 -2
  66. package/dist/components/Switch/Switch.types.d.ts +3 -0
  67. package/dist/components/Switch/Switch.types.d.ts.map +1 -1
  68. package/dist/components/Toast/Toast.js +2 -2
  69. package/dist/components/Toast/toastStore.d.ts +4 -0
  70. package/dist/components/Toast/toastStore.d.ts.map +1 -1
  71. package/dist/index.d.ts +2 -0
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +3 -0
  74. package/dist/providers/AnimationProvider.d.ts +5 -1
  75. package/dist/providers/AnimationProvider.d.ts.map +1 -1
  76. package/dist/providers/AnimationProvider.js +6 -3
  77. package/package.json +3 -3
@@ -77,7 +77,7 @@ const ToastAction = React.forwardRef(({ className, ...props }, ref) => /* @__PUR
77
77
  ref,
78
78
  "data-slot": "toast-action",
79
79
  className: cn(
80
- "inline-flex h-8 shrink-0 items-center justify-center rounded-[2px] border bg-transparent px-3 text-body-3 font-semibold ring-offset-background transition-colors hover:bg-grey-100 dark:hover:bg-grey-800 focus:outline-none focus:ring-2 focus:ring-primary disabled:pointer-events-none disabled:opacity-50 cursor-pointer",
80
+ "inline-flex h-8 shrink-0 items-center justify-center rounded-[2px] border bg-transparent px-3 text-body-3 font-semibold ring-offset-background transition-colors hover:bg-grey-100 dark:hover:bg-grey-800 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary disabled:pointer-events-none disabled:opacity-50 cursor-pointer",
81
81
  className
82
82
  ),
83
83
  ...props
@@ -90,7 +90,7 @@ const ToastClose = React.forwardRef(({ className, ...props }, ref) => /* @__PURE
90
90
  ref,
91
91
  "data-slot": "toast-close",
92
92
  className: cn(
93
- "absolute right-2 top-2 rounded-sm p-1 text-muted hover:text-foreground opacity-70 hover:opacity-100 transition-opacity focus:outline-none cursor-pointer",
93
+ "absolute right-1 top-1 flex items-center justify-center min-w-[44px] min-h-[44px] rounded-sm text-muted hover:text-foreground opacity-70 hover:opacity-100 transition-opacity focus:outline-none focus-visible:ring-2 focus-visible:ring-ring cursor-pointer",
94
94
  className
95
95
  ),
96
96
  "toast-close": "",
@@ -1,6 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import type { ToastItem, ToastOptions } from './Toast.types';
3
3
  type ToastSubscriber = () => void;
4
+ /**
5
+ * Browser-only module-level singleton. Not SSR-safe — never import this on the server.
6
+ * Use `.reset()` in tests to clear state between cases.
7
+ */
4
8
  declare class ToastStore {
5
9
  private toasts;
6
10
  private listeners;
@@ -1 +1 @@
1
- {"version":3,"file":"toastStore.d.ts","sourceRoot":"","sources":["../../../src/components/Toast/toastStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAqB,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAUhF,KAAK,eAAe,GAAG,MAAM,IAAI,CAAC;AAElC,cAAM,UAAU;IACd,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,eAAe,CAAqB;IAE5C,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,IAAI;IAOhD,OAAO,CAAC,MAAM;IAId,SAAS,IAAI,SAAS,EAAE;IAIxB,aAAa,CAAC,GAAG,EAAE,MAAM;IAIzB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAI5C,4FAA4F;IAC5F,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAI/C;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAQlB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM;IA2CvC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM;CAmBpB;AAED,eAAO,MAAM,UAAU,YAAmB,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC;IAC1G,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC;IAC5G,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC;IAC5G,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC;IACzG,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,KAAK,EAAE,aA8BlB,CAAC;AAEH,wBAAgB,QAAQ;;mBAWa,MAAM;;EAG1C"}
1
+ {"version":3,"file":"toastStore.d.ts","sourceRoot":"","sources":["../../../src/components/Toast/toastStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAqB,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAUhF,KAAK,eAAe,GAAG,MAAM,IAAI,CAAC;AAElC;;;GAGG;AACH,cAAM,UAAU;IACd,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,eAAe,CAAqB;IAE5C,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,IAAI;IAOhD,OAAO,CAAC,MAAM;IAId,SAAS,IAAI,SAAS,EAAE;IAIxB,aAAa,CAAC,GAAG,EAAE,MAAM;IAIzB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAI5C,4FAA4F;IAC5F,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAI/C;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAQlB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM;IA2CvC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM;CAmBpB;AAED,eAAO,MAAM,UAAU,YAAmB,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC;IAC1G,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC;IAC5G,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC;IAC5G,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC;IACzG,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,KAAK,EAAE,aA8BlB,CAAC;AAEH,wBAAgB,QAAQ;;mBAWa,MAAM;;EAG1C"}
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export * from './components/Input';
10
10
  export * from './components/Textarea';
11
11
  export * from './components/Select';
12
12
  export * from './components/Radio';
13
+ export * from './components/RadioCard';
13
14
  export * from './components/Checkbox';
14
15
  export * from './components/Switch';
15
16
  export * from './components/RangeSlider';
@@ -47,6 +48,7 @@ export * from './components/Icon';
47
48
  export * from './components/Text';
48
49
  export * from './components/Alert';
49
50
  export * from './components/Progress';
51
+ export * from './components/PageProgress';
50
52
  export * from './components/Spinner';
51
53
  export * from './components/Skeleton';
52
54
  export * from './components/EmptyState';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG3D,cAAc,aAAa,CAAC;AAG5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG3D,cAAc,aAAa,CAAC;AAG5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -68,6 +68,7 @@ export { OptionPicker } from './components/OptionPicker/OptionPicker.js';
68
68
  export { OtpInput } from './components/OtpInput/OtpInput.js';
69
69
  export { PRICE_GROUP_KEY } from './components/FilterPanel/FilterPanel.types.js';
70
70
  export { PageHeader } from './components/PageHeader/PageHeader.js';
71
+ export { PageProgress } from './components/PageProgress/PageProgress.js';
71
72
  export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PaginationSummary } from './components/Pagination/Pagination.js';
72
73
  export { Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger } from './components/Popover/Popover.js';
73
74
  export { Price, discountPercent } from './components/Price/Price.js';
@@ -76,6 +77,7 @@ export { Progress } from './components/Progress/Progress.js';
76
77
  export { QuantityStepper } from './components/QuantityStepper/QuantityStepper.js';
77
78
  export { RESPONSIVE_DIALOG_BREAKPOINT, ResponsiveDialog, ResponsiveDialogBody, ResponsiveDialogClose, ResponsiveDialogContent, ResponsiveDialogDescription, ResponsiveDialogFooter, ResponsiveDialogForm, ResponsiveDialogHeader, ResponsiveDialogTitle, useResponsiveDialogMode } from './components/ResponsiveDialog/ResponsiveDialog.js';
78
79
  export { Radio, RadioGroup, RadioItem } from './components/Radio/Radio.js';
80
+ export { RadioCard } from './components/RadioCard/RadioCard.js';
79
81
  export { RangeSlider } from './components/RangeSlider/RangeSlider.js';
80
82
  export { Rating } from './components/Rating/Rating.js';
81
83
  export { SNACKBAR_EXIT_MS, snackbar, snackbarStore } from './components/Snackbar/snackbarStore.js';
@@ -157,6 +159,7 @@ export { priceAmountVariants, priceCompareVariants, priceDiscountVariants, price
157
159
  export { productGalleryArrowVariants, productGalleryCounterVariants, productGalleryFrameVariants, productGalleryLensVariants, productGalleryLightboxButtonVariants, productGalleryLightboxVariants, productGallerySlideVariants, productGalleryStageVariants, productGalleryThumbListVariants, productGalleryThumbVariants, productGalleryThumbsVariants, productGalleryTrackVariants, productGalleryVariants, productGalleryZoomPaneVariants } from './components/ProductGallery/ProductGallery.styles.js';
158
160
  export { progressIndicatorVariants, progressRootVariants } from './components/Progress/Progress.styles.js';
159
161
  export { quantityStepperButtonVariants, quantityStepperValueVariants, quantityStepperVariants } from './components/QuantityStepper/QuantityStepper.styles.js';
162
+ export { radioCardDotClass, radioCardMarkerClass, radioCardVariants } from './components/RadioCard/RadioCard.styles.js';
160
163
  export { radioIndicatorVariants, radioItemVariants } from './components/Radio/Radio.styles.js';
161
164
  export { rangeSliderRangeVariants, rangeSliderRootVariants, rangeSliderThumbVariants, rangeSliderTrackVariants } from './components/RangeSlider/RangeSlider.styles.js';
162
165
  export { ratingVariants } from './components/Rating/Rating.styles.js';
@@ -4,7 +4,11 @@ export interface AnimationProviderProps {
4
4
  disableAnimations?: boolean;
5
5
  }
6
6
  /**
7
- * Dual-layer animation provider satisfying the requirement for global toggle + component-level overrides.
7
+ * Dual-layer animation provider.
8
+ * Animations are disabled when:
9
+ * - disableAnimations={true} is passed explicitly, OR
10
+ * - the OS/browser has prefers-reduced-motion: reduce set.
11
+ * This is the single place that translates both signals into the DS motion system.
8
12
  */
9
13
  export declare const AnimationProvider: React.FC<AnimationProviderProps>;
10
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationProvider.d.ts","sourceRoot":"","sources":["../../src/providers/AnimationProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAuB9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO,OASrC,CAAC"}
1
+ {"version":3,"file":"AnimationProvider.d.ts","sourceRoot":"","sources":["../../src/providers/AnimationProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA0B9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO,OASrC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import * as React from 'react';
4
+ import { usePrefersReducedMotion } from '@timmbr/hooks';
4
5
  import { useTimmbrConfig } from './TimmbrConfigProvider.js';
5
6
 
6
7
  const AnimationContext = React.createContext(null);
@@ -8,11 +9,13 @@ const AnimationProvider = ({
8
9
  children,
9
10
  disableAnimations = false
10
11
  }) => {
12
+ const prefersReduced = usePrefersReducedMotion();
13
+ const animationsDisabled = disableAnimations || prefersReduced;
11
14
  React.useEffect(() => {
12
15
  if (typeof document !== "undefined") {
13
16
  document.documentElement.setAttribute(
14
17
  "data-animations-disabled",
15
- disableAnimations ? "true" : "false"
18
+ animationsDisabled ? "true" : "false"
16
19
  );
17
20
  }
18
21
  return () => {
@@ -20,8 +23,8 @@ const AnimationProvider = ({
20
23
  document.documentElement.removeAttribute("data-animations-disabled");
21
24
  }
22
25
  };
23
- }, [disableAnimations]);
24
- return /* @__PURE__ */ jsx(AnimationContext.Provider, { value: { globalMotion: !disableAnimations }, children });
26
+ }, [animationsDisabled]);
27
+ return /* @__PURE__ */ jsx(AnimationContext.Provider, { value: { globalMotion: !animationsDisabled }, children });
25
28
  };
26
29
  const useGlobalAnimation = () => {
27
30
  const directContext = React.useContext(AnimationContext);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timmbr/ui",
3
- "version": "1.10.0",
3
+ "version": "1.11.1",
4
4
  "description": "High-performance, Next.js App Router-compatible UI design system components for Timmbr",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -42,11 +42,11 @@
42
42
  "@radix-ui/react-tooltip": "^1.2.16",
43
43
  "class-variance-authority": "^0.7.1",
44
44
  "input-otp": "^1.5.0",
45
- "@timmbr/icons": "1.5.0",
45
+ "@timmbr/icons": "1.6.0",
46
46
  "@timmbr/hooks": "1.1.0",
47
47
  "@timmbr/utils": "1.6.0",
48
48
  "@timmbr/theme": "1.3.0",
49
- "@timmbr/motion": "1.2.4"
49
+ "@timmbr/motion": "1.2.5"
50
50
  },
51
51
  "peerDependencies": {
52
52
  "next": ">=13.0.0 || >=14.0.0 || >=15.0.0 || >=16.0.0",