@solostylist/ui-kit 1.0.166 → 1.0.168

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 (241) hide show
  1. package/dist/{Typography-B7LOtCzI.js → Typography-C8jwvSWe.js} +1 -1
  2. package/dist/main.d.ts +5 -3
  3. package/dist/main.js +182 -172
  4. package/dist/s-accordion/index.js +2 -2
  5. package/dist/s-accordion/s-accordion.d.ts +17 -1
  6. package/dist/s-accordion/s-accordion.js +252 -238
  7. package/dist/s-action-overlay/index.js +1 -1
  8. package/dist/s-action-overlay/s-action-overlay.d.ts +34 -1
  9. package/dist/s-action-overlay/s-action-overlay.js +67 -55
  10. package/dist/s-ai-tool-bar/index.d.ts +2 -0
  11. package/dist/s-ai-tool-bar/index.js +3 -2
  12. package/dist/s-ai-tool-bar/s-ai-tool-bar.d.ts +43 -22
  13. package/dist/s-ai-tool-bar/s-ai-tool-bar.js +336 -255
  14. package/dist/s-autocomplete/index.js +2 -2
  15. package/dist/s-autocomplete/s-autocomplete.d.ts +13 -15
  16. package/dist/s-autocomplete/s-autocomplete.js +25 -17
  17. package/dist/s-avatar/index.js +2 -2
  18. package/dist/s-avatar/s-avatar.d.ts +16 -1
  19. package/dist/s-avatar/s-avatar.js +23 -10
  20. package/dist/s-blur-text/index.js +2 -2
  21. package/dist/s-blur-text/s-blur-text.d.ts +4 -13
  22. package/dist/s-blur-text/s-blur-text.js +57 -51
  23. package/dist/s-breadcrumbs/index.js +2 -2
  24. package/dist/s-breadcrumbs/s-breadcrumbs.d.ts +20 -1
  25. package/dist/s-breadcrumbs/s-breadcrumbs.js +39 -30
  26. package/dist/s-button/index.js +2 -2
  27. package/dist/s-button/s-button.d.ts +7 -1
  28. package/dist/s-button/s-button.js +15 -5
  29. package/dist/s-button-link/index.js +2 -2
  30. package/dist/s-button-link/s-button-link.d.ts +12 -26
  31. package/dist/s-button-link/s-button-link.js +36 -26
  32. package/dist/s-carousel/index.js +1 -1
  33. package/dist/s-carousel/s-carousel.d.ts +11 -1
  34. package/dist/s-carousel/s-carousel.js +233 -223
  35. package/dist/s-category-card/index.js +2 -2
  36. package/dist/s-category-card/s-category-card.d.ts +28 -1
  37. package/dist/s-category-card/s-category-card.js +77 -58
  38. package/dist/s-chat-input/index.js +2 -2
  39. package/dist/s-chat-input/s-chat-input.d.ts +12 -1
  40. package/dist/s-chat-input/s-chat-input.js +92 -82
  41. package/dist/s-chat-message/index.js +2 -2
  42. package/dist/s-chat-message/s-chat-message.d.ts +22 -1
  43. package/dist/s-chat-message/s-chat-message.js +144 -133
  44. package/dist/s-checkbox/index.js +2 -2
  45. package/dist/s-checkbox/s-checkbox.d.ts +2 -15
  46. package/dist/s-checkbox/s-checkbox.js +20 -10
  47. package/dist/s-chip/index.js +2 -2
  48. package/dist/s-chip/s-chip.d.ts +7 -1
  49. package/dist/s-chip/s-chip.js +15 -5
  50. package/dist/s-chips/index.js +2 -2
  51. package/dist/s-chips/s-chips.d.ts +5 -18
  52. package/dist/s-chips/s-chips.js +56 -41
  53. package/dist/s-comment-message/index.js +2 -2
  54. package/dist/s-comment-message/s-comment-message.d.ts +26 -1
  55. package/dist/s-comment-message/s-comment-message.js +95 -89
  56. package/dist/s-copyable-text/index.js +1 -1
  57. package/dist/s-copyable-text/s-copyable-text.d.ts +9 -36
  58. package/dist/s-copyable-text/s-copyable-text.js +31 -21
  59. package/dist/s-countdown/index.d.ts +3 -2
  60. package/dist/s-countdown/index.js +4 -3
  61. package/dist/s-countdown/s-count-box.d.ts +39 -0
  62. package/dist/s-countdown/s-count-box.js +112 -0
  63. package/dist/s-countdown/s-count-down.d.ts +6 -50
  64. package/dist/s-countdown/s-count-down.js +110 -175
  65. package/dist/s-data-table/index.js +2 -2
  66. package/dist/s-data-table/s-data-table.d.ts +9 -65
  67. package/dist/s-data-table/s-data-table.js +381 -371
  68. package/dist/s-date-picker/index.js +2 -2
  69. package/dist/s-date-picker/s-date-picker.d.ts +6 -17
  70. package/dist/s-date-picker/s-date-picker.js +124 -107
  71. package/dist/s-datetime-picker/index.js +2 -2
  72. package/dist/s-datetime-picker/s-datetime-picker.d.ts +5 -16
  73. package/dist/s-datetime-picker/s-datetime-picker.js +897 -887
  74. package/dist/s-dialog/index.js +2 -2
  75. package/dist/s-dialog/s-dialog.d.ts +3 -16
  76. package/dist/s-dialog/s-dialog.js +32 -23
  77. package/dist/s-dialog-confirm/index.js +3 -3
  78. package/dist/s-dialog-confirm/s-dialog-confirm.d.ts +5 -13
  79. package/dist/s-dialog-confirm/s-dialog-confirm.js +55 -48
  80. package/dist/s-dialog-message/index.js +4 -4
  81. package/dist/s-dialog-message/s-dialog-message.d.ts +5 -15
  82. package/dist/s-dialog-message/s-dialog-message.js +45 -38
  83. package/dist/s-empty/index.js +2 -2
  84. package/dist/s-empty/s-empty.d.ts +5 -20
  85. package/dist/s-empty/s-empty.js +14 -4
  86. package/dist/s-error/index.js +2 -2
  87. package/dist/s-error/s-error.d.ts +5 -20
  88. package/dist/s-error/s-error.js +16 -6
  89. package/dist/s-error-layout/index.js +2 -2
  90. package/dist/s-error-layout/s-error-layout.d.ts +6 -1
  91. package/dist/s-error-layout/s-error-layout.js +60 -51
  92. package/dist/s-file-dropzone/index.js +2 -2
  93. package/dist/s-file-dropzone/s-file-dropzone.d.ts +6 -51
  94. package/dist/s-file-dropzone/s-file-dropzone.js +64 -54
  95. package/dist/s-file-icon/index.js +2 -2
  96. package/dist/s-file-icon/s-file-icon.d.ts +5 -25
  97. package/dist/s-file-icon/s-file-icon.js +14 -8
  98. package/dist/s-flex-box/index.js +2 -2
  99. package/dist/s-flex-box/s-flex-box.d.ts +10 -1
  100. package/dist/s-flex-box/s-flex-box.js +14 -4
  101. package/dist/s-form/index.js +2 -2
  102. package/dist/s-form/s-form.d.ts +5 -14
  103. package/dist/s-form/s-form.js +19 -9
  104. package/dist/s-gallery/index.js +33 -3
  105. package/dist/s-gallery/s-gallery.d.ts +3 -36
  106. package/dist/s-gallery/s-gallery.js +108 -78
  107. package/dist/s-glow-button/s-glow-button.d.ts +6 -42
  108. package/dist/s-glow-button/s-glow-button.js +29 -47
  109. package/dist/s-gradient-icon/index.d.ts +1 -1
  110. package/dist/s-gradient-icon/index.js +1 -1
  111. package/dist/s-gradient-icon/s-gradient-icon.d.ts +8 -68
  112. package/dist/s-gradient-icon/s-gradient-icon.js +54 -44
  113. package/dist/s-i18n-provider/index.js +1 -1
  114. package/dist/s-i18n-provider/s-i18n-provider.d.ts +5 -33
  115. package/dist/s-i18n-provider/s-i18n-provider.js +25 -15
  116. package/dist/s-icon-button/index.js +2 -2
  117. package/dist/s-icon-button/s-icon-button.d.ts +6 -19
  118. package/dist/s-icon-button/s-icon-button.js +14 -4
  119. package/dist/s-image-comparison/s-image-comparison.js +50 -45
  120. package/dist/s-image-modal/index.js +3 -3
  121. package/dist/s-image-modal/s-image-modal.d.ts +4 -20
  122. package/dist/s-image-modal/s-image-modal.js +150 -135
  123. package/dist/s-item-not-found/index.js +2 -2
  124. package/dist/s-item-not-found/s-item-not-found.d.ts +14 -1
  125. package/dist/s-item-not-found/s-item-not-found.js +21 -10
  126. package/dist/s-label/index.js +2 -2
  127. package/dist/s-label/s-label.d.ts +9 -25
  128. package/dist/s-label/s-label.js +19 -9
  129. package/dist/s-language-switcher/index.js +3 -3
  130. package/dist/s-language-switcher/s-language-switcher.d.ts +20 -33
  131. package/dist/s-language-switcher/s-language-switcher.js +137 -115
  132. package/dist/s-lazy-image/index.js +10 -2
  133. package/dist/s-lazy-image/s-lazy-image.d.ts +12 -58
  134. package/dist/s-lazy-image/s-lazy-image.js +53 -58
  135. package/dist/s-localization-provider/index.js +2 -2
  136. package/dist/s-localization-provider/s-localization-provider.d.ts +6 -27
  137. package/dist/s-localization-provider/s-localization-provider.js +157 -149
  138. package/dist/s-moving-border/index.js +2 -2
  139. package/dist/s-moving-border/s-moving-border.d.ts +3 -33
  140. package/dist/s-moving-border/s-moving-border.js +65 -55
  141. package/dist/s-multi-select/index.js +2 -2
  142. package/dist/s-multi-select/s-multi-select.d.ts +5 -15
  143. package/dist/s-multi-select/s-multi-select.js +54 -45
  144. package/dist/s-no-ssr/index.js +2 -2
  145. package/dist/s-no-ssr/s-no-ssr.d.ts +5 -33
  146. package/dist/s-no-ssr/s-no-ssr.js +21 -11
  147. package/dist/s-overlay-scrollbar/index.js +2 -2
  148. package/dist/s-overlay-scrollbar/s-overlay-scrollbar.d.ts +10 -1
  149. package/dist/s-overlay-scrollbar/s-overlay-scrollbar.js +16 -11
  150. package/dist/s-pagination/index.js +2 -2
  151. package/dist/s-pagination/s-pagination.d.ts +5 -23
  152. package/dist/s-pagination/s-pagination.js +17 -11
  153. package/dist/s-pixel-reveal/index.d.ts +2 -0
  154. package/dist/s-pixel-reveal/index.js +4 -0
  155. package/dist/s-pixel-reveal/package.json +5 -0
  156. package/dist/s-pixel-reveal/s-pixel-reveal.d.ts +27 -0
  157. package/dist/s-pixel-reveal/s-pixel-reveal.js +156 -0
  158. package/dist/s-radial-pulse-animate/index.js +2 -2
  159. package/dist/s-radial-pulse-animate/s-radial-pulse-animate.d.ts +12 -1
  160. package/dist/s-radial-pulse-animate/s-radial-pulse-animate.js +52 -42
  161. package/dist/s-rating/index.js +2 -2
  162. package/dist/s-rating/s-rating.d.ts +7 -1
  163. package/dist/s-rating/s-rating.js +15 -5
  164. package/dist/s-review/index.js +2 -2
  165. package/dist/s-review/s-review.d.ts +25 -1
  166. package/dist/s-review/s-review.js +104 -97
  167. package/dist/s-scroll-reveal/index.js +2 -2
  168. package/dist/s-scroll-reveal/s-scroll-reveal.d.ts +17 -36
  169. package/dist/s-scroll-reveal/s-scroll-reveal.js +43 -33
  170. package/dist/s-scroll-to-top/index.js +2 -2
  171. package/dist/s-scroll-to-top/s-scroll-to-top.d.ts +12 -17
  172. package/dist/s-scroll-to-top/s-scroll-to-top.js +20 -15
  173. package/dist/s-select/index.js +2 -2
  174. package/dist/s-select/s-select.d.ts +3 -22
  175. package/dist/s-select/s-select.js +76 -72
  176. package/dist/s-select-list/index.js +2 -2
  177. package/dist/s-select-list/s-select-list.d.ts +16 -19
  178. package/dist/s-select-list/s-select-list.js +33 -28
  179. package/dist/s-skeleton/index.js +2 -2
  180. package/dist/s-skeleton/s-skeleton.d.ts +6 -22
  181. package/dist/s-skeleton/s-skeleton.js +28 -18
  182. package/dist/s-snackbar-message/index.js +4 -4
  183. package/dist/s-snackbar-message/s-snackbar-message.d.ts +5 -23
  184. package/dist/s-snackbar-message/s-snackbar-message.js +38 -31
  185. package/dist/s-spotlight-cursor/index.js +2 -2
  186. package/dist/s-spotlight-cursor/s-spotlight-cursor.d.ts +10 -44
  187. package/dist/s-spotlight-cursor/s-spotlight-cursor.js +35 -29
  188. package/dist/s-stripe/index.d.ts +4 -1
  189. package/dist/s-stripe/index.js +7 -4
  190. package/dist/s-stripe/s-stripe-cvc.d.ts +8 -0
  191. package/dist/s-stripe/s-stripe-cvc.js +15 -0
  192. package/dist/s-stripe/s-stripe-expiry.d.ts +8 -0
  193. package/dist/s-stripe/s-stripe-expiry.js +15 -0
  194. package/dist/s-stripe/s-stripe-number.d.ts +8 -0
  195. package/dist/s-stripe/s-stripe-number.js +15 -0
  196. package/dist/s-stripe/s-stripe.d.ts +6 -85
  197. package/dist/s-stripe/s-stripe.js +24 -27
  198. package/dist/s-stripe/stripe-input.js +22 -18
  199. package/dist/s-tabs/index.js +6 -6
  200. package/dist/s-tabs/s-tab-panel.d.ts +11 -1
  201. package/dist/s-tabs/s-tab-panel.js +25 -16
  202. package/dist/s-tabs/s-tab.js +9 -5
  203. package/dist/s-tabs/s-tabs.d.ts +24 -3
  204. package/dist/s-tabs/s-tabs.js +34 -25
  205. package/dist/s-text-editor/index.js +3 -3
  206. package/dist/s-text-editor/s-text-editor-toolbar.js +91 -76
  207. package/dist/s-text-editor/s-text-editor.d.ts +13 -11
  208. package/dist/s-text-editor/s-text-editor.js +44 -30
  209. package/dist/s-text-field/index.js +2 -2
  210. package/dist/s-text-field/s-text-field.d.ts +6 -15
  211. package/dist/s-text-field/s-text-field.js +38 -28
  212. package/dist/s-text-shimmer/index.js +2 -2
  213. package/dist/s-text-shimmer/s-text-shimmer.d.ts +10 -1
  214. package/dist/s-text-shimmer/s-text-shimmer.js +27 -18
  215. package/dist/s-text-truncation/index.js +2 -2
  216. package/dist/s-text-truncation/s-text-truncation.d.ts +9 -38
  217. package/dist/s-text-truncation/s-text-truncation.js +34 -20
  218. package/dist/s-theme-demo/s-theme-demo.js +238 -223
  219. package/dist/s-theme-provider/index.js +1 -1
  220. package/dist/s-theme-provider/s-theme-provider.d.ts +5 -17
  221. package/dist/s-theme-provider/s-theme-provider.js +44 -34
  222. package/dist/s-theme-switch/s-theme-switch.js +23 -19
  223. package/dist/s-tip/index.js +2 -2
  224. package/dist/s-tip/s-tip.d.ts +5 -22
  225. package/dist/s-tip/s-tip.js +22 -12
  226. package/dist/s-two-pane-layout/index.js +10 -2
  227. package/dist/s-two-pane-layout/s-two-pane-layout.d.ts +7 -1
  228. package/dist/s-two-pane-layout/s-two-pane-layout.js +58 -48
  229. package/dist/s-typewriter-text/index.js +2 -2
  230. package/dist/s-typewriter-text/s-typewriter-text.d.ts +17 -1
  231. package/dist/s-typewriter-text/s-typewriter-text.js +37 -27
  232. package/dist/s-zoom-image/index.js +10 -2
  233. package/dist/s-zoom-image/s-zoom-image.d.ts +10 -42
  234. package/dist/s-zoom-image/s-zoom-image.js +62 -52
  235. package/dist/theme/components/alert.d.ts +1440 -1440
  236. package/dist/theme/components/button.d.ts +2156 -2156
  237. package/dist/theme/components/chip.d.ts +2 -2
  238. package/dist/theme/customizations/data-display.js +1 -1
  239. package/dist/{typographyClasses-C7fhAsUD.js → typographyClasses-DDyl9mok.js} +4 -4
  240. package/dist/{useMobilePicker-DgxcRrRB.js → useMobilePicker-C1RZZUWr.js} +1 -1
  241. package/package.json +10 -4
@@ -0,0 +1,27 @@
1
+ import { default as React } from 'react';
2
+ /**
3
+ * Props interface for SPixelReveal component
4
+ */
5
+ export interface SPixelRevealProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
6
+ /** Spacing between pixels in the grid */
7
+ gap?: number;
8
+ /** Animation speed multiplier (0-100) */
9
+ speed?: number;
10
+ /** Array of color values randomly assigned to pixels */
11
+ colors?: string[];
12
+ /** Controls pixel animation state */
13
+ loading?: boolean;
14
+ /** Image source URL to display beneath the pixel effect overlay */
15
+ src?: string;
16
+ /** Alt text for the background image */
17
+ alt?: string;
18
+ /** Content to render as overlay on top of the pixel canvas effect */
19
+ children?: React.ReactNode;
20
+ /** If true, all pixels appear immediately without wave/delay effect */
21
+ instant?: boolean;
22
+ }
23
+ /**
24
+ * An animated pixel effect component that creates a dynamic canvas overlay with customizable pixel animations.
25
+ */
26
+ export declare const SPixelReveal: React.ForwardRefExoticComponent<SPixelRevealProps & React.RefAttributes<HTMLDivElement>>;
27
+ export default SPixelReveal;
@@ -0,0 +1,156 @@
1
+ var K = Object.defineProperty;
2
+ var Q = (t, i, n) => i in t ? K(t, i, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[i] = n;
3
+ var s = (t, i, n) => Q(t, typeof i != "symbol" ? i + "" : i, n);
4
+ import { j as P } from "../jsx-runtime-OVHDjVDe.js";
5
+ import { forwardRef as Z, useRef as h, useCallback as A, useEffect as ee } from "react";
6
+ import { brand as _ } from "../theme/theme-primitives.js";
7
+ class te {
8
+ constructor(i, n, l, v, g, b, M) {
9
+ s(this, "x");
10
+ s(this, "y");
11
+ s(this, "color");
12
+ s(this, "speed");
13
+ s(this, "size");
14
+ s(this, "sizeStep");
15
+ s(this, "minSize");
16
+ s(this, "maxSize");
17
+ s(this, "delay");
18
+ s(this, "counter");
19
+ s(this, "counterStep");
20
+ s(this, "isReverse");
21
+ s(this, "isShimmer");
22
+ this.x = i, this.y = n, this.color = l, this.speed = (Math.random() * 0.8 + 0.1) * v, this.size = 0, this.sizeStep = Math.random() * 0.4, this.minSize = 0.5, this.maxSize = M, this.delay = g, this.counter = 0, this.counterStep = b, this.isReverse = !1, this.isShimmer = !1;
23
+ }
24
+ update(i) {
25
+ return i ? this.counter < this.delay ? (this.counter += this.counterStep, !0) : (this.isShimmer ? this.isReverse ? (this.size -= this.speed, this.size <= this.minSize && (this.size = this.minSize, this.isReverse = !1)) : (this.size += this.speed, this.size >= this.maxSize && (this.size = this.maxSize, this.isReverse = !0)) : this.size < this.maxSize ? this.size += this.sizeStep : this.isShimmer = !0, !0) : (this.isShimmer = !1, this.counter = 0, this.size > 0 ? (this.size -= 0.1, !0) : !1);
26
+ }
27
+ draw(i, n) {
28
+ const l = (n - this.size) * 0.5;
29
+ i.fillRect(this.x + l, this.y + l, this.size, this.size);
30
+ }
31
+ }
32
+ const j = Z(
33
+ ({
34
+ gap: t = 5,
35
+ speed: i = 100,
36
+ colors: n = [_[400], _[500], _[600]],
37
+ loading: l = !0,
38
+ src: v,
39
+ alt: g = "",
40
+ style: b,
41
+ children: M,
42
+ instant: F = !0,
43
+ ...$
44
+ }, z) => {
45
+ const q = h(null), S = h(null), D = h(null), y = h(/* @__PURE__ */ new Map()), u = h(null), I = h(1e3 / 60), N = h(performance.now()), k = h(
46
+ typeof window < "u" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1
47
+ ), E = A((e, o, d, c) => {
48
+ const r = e - d, a = o - c;
49
+ return r * r + a * a;
50
+ }, []), O = A(() => {
51
+ const e = q.current, o = e == null ? void 0 : e.getContext("2d");
52
+ if (!e || !o) return;
53
+ y.current = /* @__PURE__ */ new Map();
54
+ const d = k.current ? 0 : Math.max(0, Math.min(100, i)) * 1e-3, c = window.devicePixelRatio || 1, r = e.width / c, a = e.height / c, x = 2, X = 0.5, H = (r + a) * 0.01, L = r % t / 2, T = a % t / 2;
55
+ for (let f = L; f < r; f += t)
56
+ for (let m = T; m < a; m += t) {
57
+ const p = n[Math.floor(Math.random() * n.length)];
58
+ let w = 0;
59
+ if (!F && !k.current) {
60
+ const U = f + t / 2, W = m + t / 2, G = r / 2, J = a / 2;
61
+ w = Math.sqrt(E(U, W, G, J));
62
+ }
63
+ const C = Math.random() * 4 + H, R = Math.random() * (x - X) + X, B = new te(f, m, p, d, w, C, R);
64
+ y.current.has(p) || y.current.set(p, []), y.current.get(p).push(B);
65
+ }
66
+ u.current && cancelAnimationFrame(u.current);
67
+ const Y = () => {
68
+ u.current = requestAnimationFrame(Y);
69
+ const f = performance.now(), m = f - N.current;
70
+ if (m < I.current) return;
71
+ N.current = f - m % I.current, o.clearRect(0, 0, r, a);
72
+ let p = !1;
73
+ y.current.forEach((w, C) => {
74
+ o.fillStyle = C;
75
+ for (const R of w)
76
+ R.update(l) && (R.draw(o, t), p = !0);
77
+ }), !l && !p && u.current && (cancelAnimationFrame(u.current), u.current = null);
78
+ };
79
+ Y();
80
+ }, [t, i, n, F, l, E]), V = A(() => {
81
+ const e = q.current, o = S.current, d = e == null ? void 0 : e.getContext("2d");
82
+ if (!e || !o || !d) return;
83
+ const c = o.getBoundingClientRect();
84
+ if (c.width === 0 || c.height === 0) return;
85
+ const r = Math.floor(c.width), a = Math.floor(c.height), x = window.devicePixelRatio || 1;
86
+ e.width = r * x, e.height = a * x, e.style.width = `${r}px`, e.style.height = `${a}px`, d.setTransform(1, 0, 0, 1, 0, 0), d.scale(x, x), O();
87
+ }, [O]);
88
+ return ee(() => {
89
+ V();
90
+ const e = new ResizeObserver(() => {
91
+ requestAnimationFrame(() => V());
92
+ });
93
+ return S.current && e.observe(S.current), () => {
94
+ e.disconnect(), u.current && cancelAnimationFrame(u.current);
95
+ };
96
+ }, [V]), /* @__PURE__ */ P.jsxs(
97
+ "div",
98
+ {
99
+ ref: (e) => {
100
+ S.current = e, typeof z == "function" ? z(e) : z && (z.current = e);
101
+ },
102
+ style: {
103
+ position: "relative",
104
+ width: "100%",
105
+ height: "100%",
106
+ overflow: "hidden",
107
+ ...b
108
+ },
109
+ ...$,
110
+ children: [
111
+ v && /* @__PURE__ */ P.jsx(
112
+ "img",
113
+ {
114
+ ref: D,
115
+ src: v,
116
+ alt: g,
117
+ style: {
118
+ position: "absolute",
119
+ inset: 0,
120
+ width: "100%",
121
+ height: "100%",
122
+ objectFit: "cover",
123
+ display: "block"
124
+ }
125
+ }
126
+ ),
127
+ M,
128
+ /* @__PURE__ */ P.jsx(
129
+ "canvas",
130
+ {
131
+ ref: q,
132
+ style: {
133
+ position: "absolute",
134
+ inset: 0,
135
+ display: "block",
136
+ width: "100%",
137
+ height: "100%",
138
+ pointerEvents: "none",
139
+ zIndex: 1
140
+ }
141
+ }
142
+ )
143
+ ]
144
+ }
145
+ );
146
+ }
147
+ );
148
+ j.displayName = "SPixelReveal";
149
+ try {
150
+ j.displayName = "SPixelReveal", j.__docgenInfo = { description: "An animated pixel effect component that creates a dynamic canvas overlay with customizable pixel animations.", displayName: "SPixelReveal", props: { gap: { defaultValue: { value: "5" }, description: "Spacing between pixels in the grid", name: "gap", required: !1, type: { name: "number" } }, speed: { defaultValue: { value: "100" }, description: "Animation speed multiplier (0-100)", name: "speed", required: !1, type: { name: "number" } }, colors: { defaultValue: { value: "[brand[400], brand[500], brand[600]]" }, description: "Array of color values randomly assigned to pixels", name: "colors", required: !1, type: { name: "string[]" } }, loading: { defaultValue: { value: "true" }, description: "Controls pixel animation state", name: "loading", required: !1, type: { name: "boolean" } }, src: { defaultValue: null, description: "Image source URL to display beneath the pixel effect overlay", name: "src", required: !1, type: { name: "string" } }, alt: { defaultValue: { value: "" }, description: "Alt text for the background image", name: "alt", required: !1, type: { name: "string" } }, children: { defaultValue: null, description: "Content to render as overlay on top of the pixel canvas effect", name: "children", required: !1, type: { name: "ReactNode" } }, instant: { defaultValue: { value: "true" }, description: "If true, all pixels appear immediately without wave/delay effect", name: "instant", required: !1, type: { name: "boolean" } } } };
151
+ } catch {
152
+ }
153
+ export {
154
+ j as SPixelReveal,
155
+ j as default
156
+ };
@@ -1,4 +1,4 @@
1
- import { default as o } from "./s-radial-pulse-animate.js";
1
+ import { SRadialPulseAnimate as l } from "./s-radial-pulse-animate.js";
2
2
  export {
3
- o as default
3
+ l as default
4
4
  };
@@ -1,13 +1,24 @@
1
1
  import { default as React } from 'react';
2
+ /**
3
+ * Props interface for SRadialPulseAnimate component
4
+ */
2
5
  export interface SRadialPulseAnimateProps {
6
+ /** Width of the animation container in pixels */
3
7
  width?: number;
8
+ /** Height of the animation container in pixels */
4
9
  height?: number;
10
+ /** Additional CSS class name for custom styling */
5
11
  className?: string;
12
+ /** Custom text to display in the center of the animation */
6
13
  text?: string;
14
+ /** Size range for floating particles in pixels */
7
15
  particleSize?: {
8
16
  min: number;
9
17
  max: number;
10
18
  };
11
19
  }
12
- declare const SRadialPulseAnimate: React.FC<SRadialPulseAnimateProps>;
20
+ /**
21
+ * A loading animation component that creates a pulsing radial effect with expanding ripples and floating particles.
22
+ */
23
+ export declare const SRadialPulseAnimate: React.FC<SRadialPulseAnimateProps>;
13
24
  export default SRadialPulseAnimate;
@@ -1,8 +1,8 @@
1
- import { j as n } from "../jsx-runtime-OVHDjVDe.js";
2
- import { useRef as x, useEffect as y } from "react";
3
- import { keyframes as h, styled as l, Box as d } from "@mui/material";
4
- import v from "../s-text-shimmer/s-text-shimmer.js";
5
- const b = h`
1
+ import { j as i } from "../jsx-runtime-OVHDjVDe.js";
2
+ import { useRef as y, useEffect as x } from "react";
3
+ import { keyframes as g, styled as d, Box as p } from "@mui/material";
4
+ import { STextShimmer as v } from "../s-text-shimmer/s-text-shimmer.js";
5
+ const b = g`
6
6
  0% {
7
7
  width: 20%;
8
8
  height: 20%;
@@ -13,7 +13,7 @@ const b = h`
13
13
  height: 100%;
14
14
  opacity: 0;
15
15
  }
16
- `, j = l(d)(({ theme: e }) => ({
16
+ `, _ = d(p)(({ theme: e }) => ({
17
17
  position: "relative",
18
18
  display: "flex",
19
19
  justifyContent: "center",
@@ -21,10 +21,10 @@ const b = h`
21
21
  borderRadius: e.shape.borderRadius,
22
22
  border: "1px solid",
23
23
  borderColor: (e.vars || e).palette.divider
24
- })), C = l(d)(() => ({
24
+ })), S = d(p)(() => ({
25
25
  position: "absolute",
26
26
  pointerEvents: "none"
27
- })), s = l(d)(({ theme: e }) => ({
27
+ })), l = d(p)(({ theme: e }) => ({
28
28
  position: "absolute",
29
29
  top: "50%",
30
30
  left: "50%",
@@ -43,11 +43,11 @@ const b = h`
43
43
  "@media (prefers-reduced-motion: reduce)": {
44
44
  animation: "none !important"
45
45
  }
46
- })), R = () => {
46
+ })), C = () => {
47
47
  const e = "s-radial-pulse-particles";
48
48
  if (document.getElementById(e)) return;
49
- const a = document.createElement("style");
50
- a.id = e, a.textContent = `
49
+ const t = document.createElement("style");
50
+ t.id = e, t.textContent = `
51
51
  .s-radial-pulse-particle {
52
52
  position: absolute;
53
53
  background: var(--s-palette-text-primary);
@@ -75,57 +75,67 @@ const b = h`
75
75
  animation: none !important;
76
76
  }
77
77
  }
78
- `, document.head.appendChild(a);
79
- }, k = ({
78
+ `, document.head.appendChild(t);
79
+ }, o = ({
80
80
  width: e = 300,
81
- height: a = 300,
81
+ height: t = 300,
82
82
  className: c,
83
- text: u = "Generating...",
84
- particleSize: i = { min: 2, max: 6 }
83
+ text: f = "Generating...",
84
+ particleSize: r = { min: 2, max: 6 }
85
85
  }) => {
86
- const o = x(null);
87
- return y(() => {
88
- R();
89
- const p = () => {
90
- if (!o.current) return;
91
- const r = o.current, t = document.createElement("div");
92
- t.className = "s-radial-pulse-particle";
93
- const m = Math.random() * (i.max - i.min) + i.min;
94
- t.style.width = `${m}px`, t.style.height = `${m}px`, t.style.left = `${Math.random() * e}px`, t.style.top = `${Math.random() * a}px`, t.style.animationDelay = `${Math.random() * 4}s`, t.style.animationDuration = `${Math.random() * 3 + 2}s`, r.appendChild(t), setTimeout(() => {
95
- t.parentNode && t.parentNode.removeChild(t);
86
+ const s = y(null);
87
+ return x(() => {
88
+ C();
89
+ const m = () => {
90
+ if (!s.current) return;
91
+ const n = s.current, a = document.createElement("div");
92
+ a.className = "s-radial-pulse-particle";
93
+ const u = Math.random() * (r.max - r.min) + r.min;
94
+ a.style.width = `${u}px`, a.style.height = `${u}px`, a.style.left = `${Math.random() * e}px`, a.style.top = `${Math.random() * t}px`, a.style.animationDelay = `${Math.random() * 4}s`, a.style.animationDuration = `${Math.random() * 3 + 2}s`, n.appendChild(a), setTimeout(() => {
95
+ a.parentNode && a.parentNode.removeChild(a);
96
96
  }, 6e3);
97
- }, f = setInterval(p, 500);
98
- for (let r = 0; r < 4; r++) setTimeout(p, r * 100);
99
- return () => clearInterval(f);
100
- }, [e, a, i]), /* @__PURE__ */ n.jsxs(
101
- j,
97
+ }, h = setInterval(m, 500);
98
+ for (let n = 0; n < 4; n++) setTimeout(m, n * 100);
99
+ return () => clearInterval(h);
100
+ }, [e, t, r]), /* @__PURE__ */ i.jsxs(
101
+ _,
102
102
  {
103
- ref: o,
103
+ ref: s,
104
104
  className: c,
105
105
  sx: {
106
106
  width: e,
107
- height: a
107
+ height: t
108
108
  },
109
109
  children: [
110
- /* @__PURE__ */ n.jsxs(
111
- C,
110
+ /* @__PURE__ */ i.jsxs(
111
+ S,
112
112
  {
113
113
  sx: {
114
- width: Math.min(e, a),
115
- height: Math.min(e, a)
114
+ width: Math.min(e, t),
115
+ height: Math.min(e, t)
116
116
  },
117
117
  children: [
118
- /* @__PURE__ */ n.jsx(s, {}),
119
- /* @__PURE__ */ n.jsx(s, {}),
120
- /* @__PURE__ */ n.jsx(s, {})
118
+ /* @__PURE__ */ i.jsx(l, {}),
119
+ /* @__PURE__ */ i.jsx(l, {}),
120
+ /* @__PURE__ */ i.jsx(l, {})
121
121
  ]
122
122
  }
123
123
  ),
124
- /* @__PURE__ */ n.jsx(v, { children: u })
124
+ /* @__PURE__ */ i.jsx(v, { children: f })
125
125
  ]
126
126
  }
127
127
  );
128
128
  };
129
+ o.displayName = "SRadialPulseAnimate";
130
+ try {
131
+ o.displayName = "SRadialPulseAnimate", o.__docgenInfo = { description: "A loading animation component that creates a pulsing radial effect with expanding ripples and floating particles.", displayName: "SRadialPulseAnimate", props: { width: { defaultValue: { value: "300" }, description: "Width of the animation container in pixels", name: "width", required: !1, type: { name: "number" } }, height: { defaultValue: { value: "300" }, description: "Height of the animation container in pixels", name: "height", required: !1, type: { name: "number" } }, className: { defaultValue: null, description: "Additional CSS class name for custom styling", name: "className", required: !1, type: { name: "string" } }, text: { defaultValue: { value: "Generating..." }, description: "Custom text to display in the center of the animation", name: "text", required: !1, type: { name: "string" } }, particleSize: { defaultValue: { value: "{ min: 2, max: 6 }" }, description: "Size range for floating particles in pixels", name: "particleSize", required: !1, type: { name: "{ min: number; max: number; }" } } } };
132
+ } catch {
133
+ }
134
+ try {
135
+ sradialpulseanimate.displayName = "sradialpulseanimate", sradialpulseanimate.__docgenInfo = { description: "A loading animation component that creates a pulsing radial effect with expanding ripples and floating particles.", displayName: "sradialpulseanimate", props: { width: { defaultValue: { value: "300" }, description: "Width of the animation container in pixels", name: "width", required: !1, type: { name: "number" } }, height: { defaultValue: { value: "300" }, description: "Height of the animation container in pixels", name: "height", required: !1, type: { name: "number" } }, className: { defaultValue: null, description: "Additional CSS class name for custom styling", name: "className", required: !1, type: { name: "string" } }, text: { defaultValue: { value: "Generating..." }, description: "Custom text to display in the center of the animation", name: "text", required: !1, type: { name: "string" } }, particleSize: { defaultValue: { value: "{ min: 2, max: 6 }" }, description: "Size range for floating particles in pixels", name: "particleSize", required: !1, type: { name: "{ min: number; max: number; }" } } } };
136
+ } catch {
137
+ }
129
138
  export {
130
- k as default
139
+ o as SRadialPulseAnimate,
140
+ o as default
131
141
  };
@@ -1,4 +1,4 @@
1
- import { default as o } from "./s-rating.js";
1
+ import { SRating as e } from "./s-rating.js";
2
2
  export {
3
- o as default
3
+ e as default
4
4
  };
@@ -1,6 +1,12 @@
1
1
  import { default as React } from 'react';
2
2
  import { RatingProps } from '@mui/material';
3
+ /**
4
+ * Props interface for SRating component
5
+ */
3
6
  export interface SRatingProps extends RatingProps {
4
7
  }
5
- declare const SRating: React.ForwardRefExoticComponent<Omit<SRatingProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
8
+ /**
9
+ * A star rating component that allows users to provide feedback and ratings.
10
+ */
11
+ export declare const SRating: React.ForwardRefExoticComponent<Omit<SRatingProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
6
12
  export default SRating;
@@ -1,7 +1,17 @@
1
- import { j as o } from "../jsx-runtime-OVHDjVDe.js";
2
- import { forwardRef as m } from "react";
3
- import { Rating as a } from "@mui/material";
4
- const e = m((r, t) => /* @__PURE__ */ o.jsx(a, { ref: t, ...r }));
1
+ import { j as e } from "../jsx-runtime-OVHDjVDe.js";
2
+ import { forwardRef as o } from "react";
3
+ import { Rating as s } from "@mui/material";
4
+ const t = o((r, a) => /* @__PURE__ */ e.jsx(s, { ref: a, ...r }));
5
+ t.displayName = "SRating";
6
+ try {
7
+ t.displayName = "SRating", t.__docgenInfo = { description: "A star rating component that allows users to provide feedback and ratings.", displayName: "SRating", props: {} };
8
+ } catch {
9
+ }
10
+ try {
11
+ srating.displayName = "srating", srating.__docgenInfo = { description: "A star rating component that allows users to provide feedback and ratings.", displayName: "srating", props: {} };
12
+ } catch {
13
+ }
5
14
  export {
6
- e as default
15
+ t as SRating,
16
+ t as default
7
17
  };
@@ -1,4 +1,4 @@
1
- import { default as o } from "./s-review.js";
1
+ import { SReview as f } from "./s-review.js";
2
2
  export {
3
- o as default
3
+ f as default
4
4
  };
@@ -1,24 +1,48 @@
1
1
  import { default as React } from 'react';
2
2
  import { SxProps } from '@mui/material';
3
+ /**
4
+ * Props interface for SReview component
5
+ */
3
6
  export interface SReviewProps {
7
+ /** Unique identifier for the review (default: Date.now()) */
4
8
  id?: string | number;
9
+ /** Name of the reviewer */
5
10
  userName: string;
11
+ /** URL for the user avatar image (falls back to initials if not provided) */
6
12
  userAvatar?: string;
13
+ /** Rating value */
7
14
  rating: number;
15
+ /** The review text content */
8
16
  reviewContent: string;
17
+ /** Date and time of the review (automatically converts to relative time) */
9
18
  datetime: Date | string;
19
+ /** Array of image URLs to display with the review */
10
20
  images?: string[];
21
+ /** Current user vote status for this review (default: null) */
11
22
  userHelpfulVote?: 'yes' | 'no' | null;
23
+ /** Number of "Yes" votes for helpfulness (default: 0) */
12
24
  helpfulYes?: number;
25
+ /** Number of "No" votes for helpfulness (default: 0) */
13
26
  helpfulNo?: number;
27
+ /** Callback when user votes on helpfulness (returns null when un-voting) */
14
28
  onHelpfulVote?: (reviewId: string | number, vote: 'yes' | 'no' | null) => void;
29
+ /** Whether to show the helpful voting section (default: true) */
15
30
  showHelpfulSection?: boolean;
31
+ /** Size of the avatar in pixels (default: 48) */
16
32
  avatarSize?: number;
33
+ /** Maximum rating value (default: 5) */
17
34
  maxRating?: number;
35
+ /** Whether the rating is read-only (default: true) */
18
36
  readOnly?: boolean;
37
+ /** Whether to show the divider at the bottom of the review (default: true) */
19
38
  showDivider?: boolean;
39
+ /** Whether to show skeleton loading state instead of content (default: false) */
20
40
  loading?: boolean;
41
+ /** MUI sx prop for custom styling */
21
42
  sx?: SxProps;
22
43
  }
23
- declare const SReview: React.FC<SReviewProps>;
44
+ /**
45
+ * A comprehensive review component that displays user reviews with avatar, name, rating, content, and helpful voting system.
46
+ */
47
+ export declare const SReview: React.FC<SReviewProps>;
24
48
  export default SReview;