quirk-ui 0.1.205 → 0.1.207

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 (240) hide show
  1. package/dist/{FormField-CC54vtkW.js → FormField-CNsm6oUT.js} +86 -86
  2. package/dist/FormField-DKM8k1nK.cjs +1 -0
  3. package/dist/FormField.css +1 -1
  4. package/dist/core/components/Accordion/Accordion.test.cjs +1 -1
  5. package/dist/core/components/Accordion/Accordion.test.mjs +1 -1
  6. package/dist/core/components/Accordion/AccordionItem.test.cjs +1 -1
  7. package/dist/core/components/Accordion/AccordionItem.test.mjs +1 -1
  8. package/dist/core/components/Announcement/Announcement.test.cjs +1 -1
  9. package/dist/core/components/Announcement/Announcement.test.mjs +1 -1
  10. package/dist/core/components/Avatar/Avatar.test.cjs +1 -1
  11. package/dist/core/components/Avatar/Avatar.test.mjs +1 -1
  12. package/dist/core/components/Badge/Badge.test.cjs +1 -1
  13. package/dist/core/components/Badge/Badge.test.mjs +1 -1
  14. package/dist/core/components/Box/Box.test.cjs +1 -1
  15. package/dist/core/components/Box/Box.test.mjs +1 -1
  16. package/dist/core/components/Breadcrumbs/Breadcrumbs.test.cjs +1 -1
  17. package/dist/core/components/Breadcrumbs/Breadcrumbs.test.mjs +1 -1
  18. package/dist/core/components/Button/Button.test.cjs +1 -1
  19. package/dist/core/components/Button/Button.test.mjs +1 -1
  20. package/dist/core/components/ButtonGroup/ButtonGroup.test.cjs +1 -1
  21. package/dist/core/components/ButtonGroup/ButtonGroup.test.mjs +1 -1
  22. package/dist/core/components/Calendar/Calendar.test.cjs +1 -1
  23. package/dist/core/components/Calendar/Calendar.test.mjs +1 -1
  24. package/dist/core/components/Card/Card.test.cjs +1 -1
  25. package/dist/core/components/Card/Card.test.mjs +1 -1
  26. package/dist/core/components/Carousel/Carousel.test.cjs +1 -1
  27. package/dist/core/components/Carousel/Carousel.test.mjs +1 -1
  28. package/dist/core/components/Checkbox/Checkbox.test.cjs +1 -1
  29. package/dist/core/components/Checkbox/Checkbox.test.mjs +1 -1
  30. package/dist/core/components/Container/Container.test.cjs +1 -1
  31. package/dist/core/components/Container/Container.test.mjs +1 -1
  32. package/dist/core/components/DatePicker/DatePicker.test.cjs +1 -1
  33. package/dist/core/components/DatePicker/DatePicker.test.mjs +1 -1
  34. package/dist/core/components/Divider/Divider.test.cjs +1 -1
  35. package/dist/core/components/Divider/Divider.test.mjs +1 -1
  36. package/dist/core/components/Drawer/Drawer.test.cjs +1 -1
  37. package/dist/core/components/Drawer/Drawer.test.mjs +1 -1
  38. package/dist/core/components/Fieldset/Fieldset.test.cjs +1 -1
  39. package/dist/core/components/Fieldset/Fieldset.test.mjs +1 -1
  40. package/dist/core/components/FileUpload/FileUpload.test.cjs +1 -1
  41. package/dist/core/components/FileUpload/FileUpload.test.mjs +1 -1
  42. package/dist/core/components/FloatingActionButton/FloatingActionButton.test.cjs +1 -1
  43. package/dist/core/components/FloatingActionButton/FloatingActionButton.test.mjs +1 -1
  44. package/dist/core/components/Footer/Footer.test.cjs +1 -1
  45. package/dist/core/components/Footer/Footer.test.mjs +1 -1
  46. package/dist/core/components/Form/Form.test.cjs +1 -1
  47. package/dist/core/components/Form/Form.test.mjs +1 -1
  48. package/dist/core/components/Grid/Grid.test.cjs +1 -1
  49. package/dist/core/components/Grid/Grid.test.mjs +1 -1
  50. package/dist/core/components/Heading/Heading.test.cjs +1 -1
  51. package/dist/core/components/Heading/Heading.test.mjs +1 -1
  52. package/dist/core/components/Input/Input.test.cjs +1 -1
  53. package/dist/core/components/Input/Input.test.mjs +1 -1
  54. package/dist/core/components/Label/Label.test.cjs +1 -1
  55. package/dist/core/components/Label/Label.test.mjs +1 -1
  56. package/dist/core/components/List/List.test.cjs +1 -1
  57. package/dist/core/components/List/List.test.mjs +1 -1
  58. package/dist/core/components/Modal/Modal.test.cjs +6 -1
  59. package/dist/core/components/Modal/Modal.test.mjs +3190 -315
  60. package/dist/core/components/Modal/index.cjs +1 -1
  61. package/dist/core/components/Modal/index.mjs +97 -86
  62. package/dist/core/components/NavBar/NavBar.test.cjs +1 -1
  63. package/dist/core/components/NavBar/NavBar.test.mjs +1 -1
  64. package/dist/core/components/Notification/Notification.test.cjs +1 -1
  65. package/dist/core/components/Notification/Notification.test.mjs +1 -1
  66. package/dist/core/components/NotificationContainer/NotificationContainer.test.cjs +1 -1
  67. package/dist/core/components/NotificationContainer/NotificationContainer.test.mjs +1 -1
  68. package/dist/core/components/ProgressBar/ProgressBar.test.cjs +1 -1
  69. package/dist/core/components/ProgressBar/ProgressBar.test.mjs +1 -1
  70. package/dist/core/components/Radio/Radio.test.cjs +1 -1
  71. package/dist/core/components/Radio/Radio.test.mjs +1 -1
  72. package/dist/core/components/Range/Range.test.cjs +1 -1
  73. package/dist/core/components/Range/Range.test.mjs +1 -1
  74. package/dist/core/components/Select/Select.test.cjs +1 -1
  75. package/dist/core/components/Select/Select.test.mjs +1 -1
  76. package/dist/core/components/Sidebar/Sidebar.test.cjs +1 -1
  77. package/dist/core/components/Sidebar/Sidebar.test.mjs +1 -1
  78. package/dist/core/components/Skeleton/Skeleton.test.cjs +1 -1
  79. package/dist/core/components/Skeleton/Skeleton.test.mjs +1 -1
  80. package/dist/core/components/Spacer/Spacer.test.cjs +1 -1
  81. package/dist/core/components/Spacer/Spacer.test.mjs +1 -1
  82. package/dist/core/components/Spinner/Spinner.test.cjs +1 -1
  83. package/dist/core/components/Spinner/Spinner.test.mjs +1 -1
  84. package/dist/core/components/Stack/Stack.test.cjs +1 -1
  85. package/dist/core/components/Stack/Stack.test.mjs +1 -1
  86. package/dist/core/components/Switch/Switch.test.cjs +1 -1
  87. package/dist/core/components/Switch/Switch.test.mjs +1 -1
  88. package/dist/core/components/Table/Table.test.cjs +1 -1
  89. package/dist/core/components/Table/Table.test.mjs +1 -1
  90. package/dist/core/components/Tabs/Tabs.test.cjs +1 -1
  91. package/dist/core/components/Tabs/Tabs.test.mjs +1 -1
  92. package/dist/core/components/Text/Text.test.cjs +1 -1
  93. package/dist/core/components/Text/Text.test.mjs +1 -1
  94. package/dist/core/components/Textarea/Textarea.test.cjs +1 -1
  95. package/dist/core/components/Textarea/Textarea.test.mjs +1 -1
  96. package/dist/core/components/Tooltip/Tooltip.test.cjs +1 -1
  97. package/dist/core/components/Tooltip/Tooltip.test.mjs +1 -1
  98. package/dist/index38.css +1 -1
  99. package/dist/next/blocks/AccordionBlock/AccordionBlock.test.cjs +1 -1
  100. package/dist/next/blocks/AccordionBlock/AccordionBlock.test.mjs +1 -1
  101. package/dist/next/blocks/AdditionalCategoriesBlock/AdditionalCategoriesBlock.test.cjs +1 -1
  102. package/dist/next/blocks/AdditionalCategoriesBlock/AdditionalCategoriesBlock.test.mjs +1 -1
  103. package/dist/next/blocks/CardGridBlock/CardGridBlock.test.cjs +1 -1
  104. package/dist/next/blocks/CardGridBlock/CardGridBlock.test.mjs +1 -1
  105. package/dist/next/blocks/CarouselBlock/CarouselBlock.test.cjs +1 -1
  106. package/dist/next/blocks/CarouselBlock/CarouselBlock.test.mjs +1 -1
  107. package/dist/next/blocks/ContentBlock/ContentBlock.test.cjs +1 -1
  108. package/dist/next/blocks/ContentBlock/ContentBlock.test.mjs +1 -1
  109. package/dist/next/blocks/DocumentListBlock/CategoryFilters.test.cjs +1 -1
  110. package/dist/next/blocks/DocumentListBlock/CategoryFilters.test.mjs +1 -1
  111. package/dist/next/blocks/DocumentListBlock/DocumentListBlock.test.cjs +1 -1
  112. package/dist/next/blocks/DocumentListBlock/DocumentListBlock.test.mjs +1 -1
  113. package/dist/next/blocks/FeaturedDocumentsBlock/FeaturedDocumentsBlock.test.cjs +1 -1
  114. package/dist/next/blocks/FeaturedDocumentsBlock/FeaturedDocumentsBlock.test.mjs +1 -1
  115. package/dist/next/blocks/FormBlock/FormBlock.test.cjs +1 -1
  116. package/dist/next/blocks/FormBlock/FormBlock.test.mjs +1 -1
  117. package/dist/next/blocks/FormBlock/FormField.cjs +1 -1
  118. package/dist/next/blocks/FormBlock/FormField.mjs +1 -1
  119. package/dist/next/blocks/FormBlock/FormField.test.cjs +1 -1
  120. package/dist/next/blocks/FormBlock/FormField.test.mjs +1 -1
  121. package/dist/next/blocks/FormBlock/index.cjs +1 -1
  122. package/dist/next/blocks/FormBlock/index.mjs +1 -1
  123. package/dist/next/blocks/HeroBlock/HeroBlock.test.cjs +1 -1
  124. package/dist/next/blocks/HeroBlock/HeroBlock.test.mjs +1 -1
  125. package/dist/next/blocks/HeroBlock/HeroContext.test.cjs +1 -1
  126. package/dist/next/blocks/HeroBlock/HeroContext.test.mjs +1 -1
  127. package/dist/next/blocks/HeroBlock/HeroSubComponents.test.cjs +1 -1
  128. package/dist/next/blocks/HeroBlock/HeroSubComponents.test.mjs +1 -1
  129. package/dist/next/blocks/MarkdownBlock/MarkdownBlock.test.cjs +1 -1
  130. package/dist/next/blocks/MarkdownBlock/MarkdownBlock.test.mjs +1 -1
  131. package/dist/next/blocks/QuoteBlock/QuoteBlock.test.cjs +1 -1
  132. package/dist/next/blocks/QuoteBlock/QuoteBlock.test.mjs +1 -1
  133. package/dist/next/blocks/RichTextBlock/RichTextBlock.test.cjs +1 -1
  134. package/dist/next/blocks/RichTextBlock/RichTextBlock.test.mjs +1 -1
  135. package/dist/next/blocks/StickyScrollBlock/StickyScrollBlock.test.cjs +1 -1
  136. package/dist/next/blocks/StickyScrollBlock/StickyScrollBlock.test.mjs +1 -1
  137. package/dist/next/blocks/TabsBlock/TabsBlock.test.cjs +1 -1
  138. package/dist/next/blocks/TabsBlock/TabsBlock.test.mjs +1 -1
  139. package/dist/next/blocks/WasHelpfulBlock/WasHelpfulBlock.test.cjs +1 -1
  140. package/dist/next/blocks/WasHelpfulBlock/WasHelpfulBlock.test.mjs +1 -1
  141. package/dist/next/cards/BioCard/BioCard.test.cjs +1 -1
  142. package/dist/next/cards/BioCard/BioCard.test.mjs +1 -1
  143. package/dist/next/cards/BlogArticleCard/BlogArticleCard.test.cjs +1 -1
  144. package/dist/next/cards/BlogArticleCard/BlogArticleCard.test.mjs +1 -1
  145. package/dist/next/cards/BlogArticleCardAdapter.test.cjs +1 -1
  146. package/dist/next/cards/BlogArticleCardAdapter.test.mjs +1 -1
  147. package/dist/next/cards/GridCard/GridCard.test.cjs +1 -1
  148. package/dist/next/cards/GridCard/GridCard.test.mjs +1 -1
  149. package/dist/next/cards/ProductCard/ProductCard.test.cjs +1 -1
  150. package/dist/next/cards/ProductCard/ProductCard.test.mjs +1 -1
  151. package/dist/next/cards/ReviewCard/ReviewCard.test.cjs +1 -1
  152. package/dist/next/cards/ReviewCard/ReviewCard.test.mjs +1 -1
  153. package/dist/next/cards/SegmentCard/SegmentCard.test.cjs +1 -1
  154. package/dist/next/cards/SegmentCard/SegmentCard.test.mjs +1 -1
  155. package/dist/next/cards/ServiceCard/ServiceCard.test.cjs +1 -1
  156. package/dist/next/cards/ServiceCard/ServiceCard.test.mjs +1 -1
  157. package/dist/next/cards/SpotlightCard/SpotlightCard.test.cjs +1 -1
  158. package/dist/next/cards/SpotlightCard/SpotlightCard.test.mjs +1 -1
  159. package/dist/next/cards/SpotlightCardAdapter.test.cjs +1 -1
  160. package/dist/next/cards/SpotlightCardAdapter.test.mjs +1 -1
  161. package/dist/next/cards/TestimonialCard/TestimonialCard.test.cjs +1 -1
  162. package/dist/next/cards/TestimonialCard/TestimonialCard.test.mjs +1 -1
  163. package/dist/{react.esm-DjxyacK8.js → react.esm-DKyXDL7m.js} +1 -0
  164. package/dist/{react.esm-C_9Ma9mj.cjs → react.esm-Dmjx7ihM.cjs} +15 -15
  165. package/package.json +1 -1
  166. package/dist/AccordionItem.css.d.ts +0 -13
  167. package/dist/CategoryFilters.css.d.ts +0 -31
  168. package/dist/FormField-CrjRuF3o.cjs +0 -1
  169. package/dist/FormField.css.d.ts +0 -29
  170. package/dist/HeroSubComponents.css.d.ts +0 -36
  171. package/dist/NavLink.css.d.ts +0 -95
  172. package/dist/index.css.d.ts +0 -1
  173. package/dist/index10.css.d.ts +0 -10
  174. package/dist/index11.css.d.ts +0 -26
  175. package/dist/index12.css.d.ts +0 -24
  176. package/dist/index13.css.d.ts +0 -38
  177. package/dist/index14.css.d.ts +0 -9
  178. package/dist/index15.css.d.ts +0 -10
  179. package/dist/index16.css.d.ts +0 -18
  180. package/dist/index17.css.d.ts +0 -38
  181. package/dist/index18.css.d.ts +0 -16
  182. package/dist/index19.css.d.ts +0 -14
  183. package/dist/index2.css.d.ts +0 -12
  184. package/dist/index20.css.d.ts +0 -17
  185. package/dist/index21.css.d.ts +0 -13
  186. package/dist/index22.css.d.ts +0 -25
  187. package/dist/index23.css.d.ts +0 -5
  188. package/dist/index24.css.d.ts +0 -19
  189. package/dist/index25.css.d.ts +0 -21
  190. package/dist/index26.css.d.ts +0 -16
  191. package/dist/index27.css.d.ts +0 -10
  192. package/dist/index28.css.d.ts +0 -18
  193. package/dist/index29.css.d.ts +0 -16
  194. package/dist/index3.css.d.ts +0 -10
  195. package/dist/index30.css.d.ts +0 -10
  196. package/dist/index31.css.d.ts +0 -19
  197. package/dist/index32.css.d.ts +0 -15
  198. package/dist/index33.css.d.ts +0 -22
  199. package/dist/index34.css.d.ts +0 -15
  200. package/dist/index35.css.d.ts +0 -14
  201. package/dist/index36.css.d.ts +0 -23
  202. package/dist/index37.css.d.ts +0 -14
  203. package/dist/index38.css.d.ts +0 -20
  204. package/dist/index39.css.d.ts +0 -21
  205. package/dist/index4.css.d.ts +0 -22
  206. package/dist/index40.css.d.ts +0 -20
  207. package/dist/index41.css.d.ts +0 -17
  208. package/dist/index42.css.d.ts +0 -14
  209. package/dist/index43.css.d.ts +0 -22
  210. package/dist/index44.css.d.ts +0 -8
  211. package/dist/index45.css.d.ts +0 -35
  212. package/dist/index46.css.d.ts +0 -13
  213. package/dist/index47.css.d.ts +0 -23
  214. package/dist/index48.css.d.ts +0 -12
  215. package/dist/index49.css.d.ts +0 -19
  216. package/dist/index5.css.d.ts +0 -20
  217. package/dist/index50.css.d.ts +0 -20
  218. package/dist/index51.css.d.ts +0 -20
  219. package/dist/index52.css.d.ts +0 -27
  220. package/dist/index53.css.d.ts +0 -17
  221. package/dist/index54.css.d.ts +0 -11
  222. package/dist/index55.css.d.ts +0 -12
  223. package/dist/index56.css.d.ts +0 -14
  224. package/dist/index57.css.d.ts +0 -20
  225. package/dist/index58.css.d.ts +0 -24
  226. package/dist/index59.css.d.ts +0 -13
  227. package/dist/index6.css.d.ts +0 -40
  228. package/dist/index60.css.d.ts +0 -12
  229. package/dist/index61.css.d.ts +0 -20
  230. package/dist/index62.css.d.ts +0 -20
  231. package/dist/index63.css.d.ts +0 -18
  232. package/dist/index64.css.d.ts +0 -22
  233. package/dist/index65.css.d.ts +0 -28
  234. package/dist/index66.css.d.ts +0 -26
  235. package/dist/index67.css.d.ts +0 -19
  236. package/dist/index7.css.d.ts +0 -32
  237. package/dist/index8.css.d.ts +0 -9
  238. package/dist/index9.css.d.ts +0 -7
  239. package/dist/styles.css.d.ts +0 -1
  240. package/dist/tokens.css.d.ts +0 -1
@@ -1,19 +1,19 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import { Input as v } from "./core/components/Input/index.mjs";
3
- import { Textarea as T } from "./core/components/Textarea/index.mjs";
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { Input as q } from "./core/components/Input/index.mjs";
3
+ import { Textarea as v } from "./core/components/Textarea/index.mjs";
4
4
  import { Select as m } from "./core/components/Select/index.mjs";
5
5
  import { Checkbox as _ } from "./core/components/Checkbox/index.mjs";
6
- import { Radio as W } from "./core/components/Radio/index.mjs";
6
+ import { Radio as T } from "./core/components/Radio/index.mjs";
7
7
  import { Fieldset as h } from "./core/components/Fieldset/index.mjs";
8
- import { DatePicker as f } from "./core/components/DatePicker/index.mjs";
9
- import { Range as w } from "./core/components/Range/index.mjs";
10
- import './FormField.css';const L = "_formBlock_1lllk_1", C = "_container_1lllk_7", F = "_formInner_1lllk_20", y = "_maxWidthSm_1lllk_26", B = "_maxWidthMd_1lllk_29", q = "_maxWidthLg_1lllk_32", S = "_maxWidthFull_1lllk_35", H = "_heading_1lllk_41", G = "_eyebrow_1lllk_47", M = "_title_1lllk_51", $ = "_disclaimer_1lllk_55", I = "_progress_1lllk_61", D = "_progressHeader_1lllk_67", O = "_stepLabel_1lllk_73", V = "_stepCount_1lllk_79", P = "_stepDescription_1lllk_84", R = "_fields_1lllk_92", j = "_fieldFull_1lllk_99", N = "_fieldHalf_1lllk_103", z = "_fieldThird_1lllk_111", A = "_actions_1lllk_121", E = "_submitButton_1lllk_128", J = "_success_1lllk_134", K = "_errorBanner_1lllk_149", u = {
11
- formBlock: L,
12
- container: C,
13
- formInner: F,
14
- maxWidthSm: y,
15
- maxWidthMd: B,
16
- maxWidthLg: q,
8
+ import { DatePicker as W } from "./core/components/DatePicker/index.mjs";
9
+ import { Range as k } from "./core/components/Range/index.mjs";
10
+ import './FormField.css';const w = "_formBlock_18qf1_1", L = "_container_18qf1_7", C = "_formInner_18qf1_20", F = "_maxWidthSm_18qf1_26", y = "_maxWidthMd_18qf1_29", B = "_maxWidthLg_18qf1_32", S = "_maxWidthFull_18qf1_35", H = "_heading_18qf1_41", G = "_eyebrow_18qf1_47", M = "_title_18qf1_51", $ = "_disclaimer_18qf1_55", I = "_progress_18qf1_61", D = "_progressHeader_18qf1_67", O = "_stepLabel_18qf1_73", V = "_stepCount_18qf1_79", P = "_stepDescription_18qf1_84", R = "_fields_18qf1_92", j = "_fieldFull_18qf1_99", N = "_fieldHalf_18qf1_103", z = "_fieldThird_18qf1_111", A = "_actions_18qf1_121", E = "_submitButton_18qf1_128", J = "_success_18qf1_134", K = "_errorBanner_18qf1_149", u = {
11
+ formBlock: w,
12
+ container: L,
13
+ formInner: C,
14
+ maxWidthSm: F,
15
+ maxWidthMd: y,
16
+ maxWidthLg: B,
17
17
  maxWidthFull: S,
18
18
  heading: H,
19
19
  eyebrow: G,
@@ -34,35 +34,35 @@ import './FormField.css';const L = "_formBlock_1lllk_1", C = "_container_1lllk_7
34
34
  errorBanner: K
35
35
  };
36
36
  function c(e) {
37
- return (e ?? []).map((t) => ({
38
- label: t.label,
39
- value: t.value.current,
40
- disabled: t.disabled
37
+ return (e ?? []).map((r) => ({
38
+ label: r.label,
39
+ value: r.value.current,
40
+ disabled: r.disabled
41
41
  }));
42
42
  }
43
43
  function p(e) {
44
- return (e ?? []).map((t) => ({
45
- label: t.label,
46
- options: t.options.map((a) => ({
47
- label: a.label,
48
- value: a.value.current,
49
- disabled: a.disabled
44
+ return (e ?? []).map((r) => ({
45
+ label: r.label,
46
+ options: r.options.map((n) => ({
47
+ label: n.label,
48
+ value: n.value.current,
49
+ disabled: n.disabled
50
50
  }))
51
51
  }));
52
52
  }
53
- function ae({ field: e, value: t, error: a, onChange: o }) {
54
- const r = e.name.current, b = {
53
+ function ne({ field: e, value: r, error: n, onChange: o }) {
54
+ const a = e.name.current, b = {
55
55
  full: u.fieldFull,
56
56
  half: u.fieldHalf,
57
57
  third: u.fieldThird
58
58
  }[e.width ?? "full"], i = {
59
- id: r,
60
- name: r,
59
+ id: a,
60
+ name: a,
61
61
  label: e.label,
62
62
  required: e.required,
63
63
  disabled: e.disabled,
64
64
  helperText: e.helperText,
65
- error: a
65
+ error: n
66
66
  }, d = () => {
67
67
  switch (e.fieldType) {
68
68
  // ── Text-based inputs ──────────────────────────────────────────────
@@ -71,67 +71,67 @@ function ae({ field: e, value: t, error: a, onChange: o }) {
71
71
  case "phone":
72
72
  case "number":
73
73
  case "url":
74
- return /* @__PURE__ */ n(
75
- v,
74
+ return /* @__PURE__ */ s(
75
+ q,
76
76
  {
77
77
  ...i,
78
78
  type: e.fieldType === "phone" ? "tel" : e.fieldType,
79
79
  placeholder: e.placeholder,
80
- value: t ?? "",
80
+ value: r ?? "",
81
81
  minLength: e.minLength,
82
82
  maxLength: e.maxLength,
83
83
  fullWidth: !0,
84
- onChange: (l) => o(r, l.target.value)
84
+ onChange: (t) => o(a, t.target.value)
85
85
  }
86
86
  );
87
87
  // ── Textarea ───────────────────────────────────────────────────────
88
88
  case "textarea":
89
- return /* @__PURE__ */ n(
90
- T,
89
+ return /* @__PURE__ */ s(
90
+ v,
91
91
  {
92
92
  ...i,
93
93
  placeholder: e.placeholder,
94
- value: t ?? "",
94
+ value: r ?? "",
95
95
  rows: e.rows ?? 4,
96
96
  maxLength: e.maxLength,
97
97
  showCharCount: e.showCharCount,
98
98
  fullWidth: !0,
99
- onChange: (l) => o(r, l.target.value)
99
+ onChange: (t) => o(a, t.target.value)
100
100
  }
101
101
  );
102
102
  // ── Select ─────────────────────────────────────────────────────────
103
103
  case "select": {
104
- const l = e.useOptionGroups ? p(e.optionGroups) : c(e.options);
105
- return /* @__PURE__ */ n(
104
+ const t = e.useOptionGroups ? p(e.optionGroups) : c(e.options);
105
+ return /* @__PURE__ */ s(
106
106
  m,
107
107
  {
108
108
  ...i,
109
109
  placeholder: e.placeholder,
110
- options: l,
111
- value: t ?? "",
110
+ options: t,
111
+ value: r ?? "",
112
112
  fullWidth: !0,
113
- onChange: (s) => o(r, s.target.value)
113
+ onChange: (l) => o(a, l.target.value)
114
114
  }
115
115
  );
116
116
  }
117
117
  // ── Multi-select ───────────────────────────────────────────────────
118
118
  case "multiselect": {
119
- const l = e.useOptionGroups ? p(e.optionGroups) : c(e.options);
120
- return /* @__PURE__ */ n(
119
+ const t = e.useOptionGroups ? p(e.optionGroups) : c(e.options);
120
+ return /* @__PURE__ */ s(
121
121
  m,
122
122
  {
123
123
  ...i,
124
124
  multiple: !0,
125
- options: l,
126
- value: t ?? [],
125
+ options: t,
126
+ value: r ?? [],
127
127
  showSelectedCount: !0,
128
- onChange: (s) => o(r, s)
128
+ onChange: (l) => o(a, l)
129
129
  }
130
130
  );
131
131
  }
132
132
  // ── Single checkbox ────────────────────────────────────────────────
133
133
  case "checkbox":
134
- return /* @__PURE__ */ n(
134
+ return /* @__PURE__ */ s(
135
135
  _,
136
136
  {
137
137
  id: i.id,
@@ -139,96 +139,96 @@ function ae({ field: e, value: t, error: a, onChange: o }) {
139
139
  label: e.label,
140
140
  required: e.required,
141
141
  disabled: e.disabled,
142
- helperText: a ?? e.helperText,
143
- error: !!a,
144
- checked: t ?? !1,
145
- onChange: (l) => o(r, l.target.checked)
142
+ helperText: n ?? e.helperText,
143
+ error: !!n,
144
+ checked: r ?? !1,
145
+ onChange: (t) => o(a, t.target.checked)
146
146
  }
147
147
  );
148
148
  // ── Checkbox group ─────────────────────────────────────────────────
149
149
  case "checkboxGroup": {
150
- const l = t ?? [];
151
- return /* @__PURE__ */ n(h, { legend: e.label, error: !!a, helperText: a, children: c(e.options).map((s) => /* @__PURE__ */ n(
150
+ const t = r ?? [];
151
+ return /* @__PURE__ */ s(h, { legend: e.label, error: !!n, helperText: n, children: c(e.options).map((l) => /* @__PURE__ */ s(
152
152
  _,
153
153
  {
154
- id: `${r}-${s.value}`,
155
- name: `${r}[]`,
156
- label: s.label,
157
- checked: l.includes(s.value),
158
- disabled: s.disabled || e.disabled,
154
+ id: `${a}-${l.value}`,
155
+ name: `${a}[]`,
156
+ label: l.label,
157
+ checked: t.includes(l.value),
158
+ disabled: l.disabled || e.disabled,
159
159
  onChange: (x) => {
160
- const k = x.target.checked ? [...l, s.value] : l.filter((g) => g !== s.value);
161
- o(r, k);
160
+ const f = x.target.checked ? [...t, l.value] : t.filter((g) => g !== l.value);
161
+ o(a, f);
162
162
  }
163
163
  },
164
- s.value
164
+ l.value
165
165
  )) });
166
166
  }
167
167
  // ── Radio group ────────────────────────────────────────────────────
168
168
  case "radio":
169
- return /* @__PURE__ */ n(h, { legend: e.label, error: !!a, helperText: a, children: c(e.options).map((l) => /* @__PURE__ */ n(
170
- W,
169
+ return /* @__PURE__ */ s(h, { legend: e.label, error: !!n, helperText: n, children: c(e.options).map((t) => /* @__PURE__ */ s(
170
+ T,
171
171
  {
172
- id: `${r}-${l.value}`,
173
- name: r,
174
- value: l.value,
175
- label: l.label,
176
- checked: t === l.value,
177
- disabled: l.disabled || e.disabled,
172
+ id: `${a}-${t.value}`,
173
+ name: a,
174
+ value: t.value,
175
+ label: t.label,
176
+ checked: r === t.value,
177
+ disabled: t.disabled || e.disabled,
178
178
  required: e.required,
179
- onChange: () => o(r, l.value)
179
+ onChange: () => o(a, t.value)
180
180
  },
181
- l.value
181
+ t.value
182
182
  )) });
183
183
  // ── Date picker ────────────────────────────────────────────────────
184
184
  case "date":
185
- return /* @__PURE__ */ n(
186
- f,
185
+ return /* @__PURE__ */ s(
186
+ W,
187
187
  {
188
188
  id: i.id,
189
189
  name: i.name,
190
190
  label: e.label,
191
191
  required: e.required,
192
192
  disabled: e.disabled,
193
- helperText: a ?? e.helperText,
194
- error: !!a,
195
- value: t ?? null,
196
- onChange: (l) => o(r, l)
193
+ helperText: n ?? e.helperText,
194
+ error: !!n,
195
+ value: r ?? null,
196
+ onChange: (t) => o(a, t)
197
197
  }
198
198
  );
199
199
  // ── Range ──────────────────────────────────────────────────────────
200
200
  case "range":
201
- return /* @__PURE__ */ n(
202
- w,
201
+ return /* @__PURE__ */ s(
202
+ k,
203
203
  {
204
204
  ...i,
205
- value: t ?? e.rangeMin ?? 0,
205
+ value: r ?? e.rangeMin ?? 0,
206
206
  min: e.rangeMin ?? 0,
207
207
  max: e.rangeMax ?? 100,
208
208
  step: e.rangeStep ?? 1,
209
209
  valuePrefix: e.rangeValuePrefix,
210
210
  valueSuffix: e.rangeValueSuffix,
211
211
  showValue: !0,
212
- onChange: (l) => o(r, l)
212
+ onChange: (t) => o(a, t)
213
213
  }
214
214
  );
215
215
  // ── Hidden ─────────────────────────────────────────────────────────
216
216
  case "hidden":
217
- return /* @__PURE__ */ n(
217
+ return /* @__PURE__ */ s(
218
218
  "input",
219
219
  {
220
220
  type: "hidden",
221
- name: r,
222
- value: t ?? e.hiddenValue ?? ""
221
+ name: a,
222
+ value: r ?? e.hiddenValue ?? ""
223
223
  }
224
224
  );
225
225
  default:
226
226
  return null;
227
227
  }
228
228
  };
229
- return e.fieldType === "hidden" ? d() : /* @__PURE__ */ n("div", { className: `${b}`, children: d() });
229
+ return e.fieldType === "hidden" ? d() : /* @__PURE__ */ s("div", { className: `${b}`, children: d() });
230
230
  }
231
231
  export {
232
- ae as F,
232
+ ne as F,
233
233
  u as s
234
234
  };
@@ -0,0 +1 @@
1
+ "use strict";require('./FormField.css');const a=require("react/jsx-runtime"),f=require("./core/components/Input/index.cjs"),v=require("./core/components/Textarea/index.cjs"),_=require("./core/components/Select/index.cjs"),h=require("./core/components/Checkbox/index.cjs"),T=require("./core/components/Radio/index.cjs"),p=require("./core/components/Fieldset/index.cjs"),k=require("./core/components/DatePicker/index.cjs"),W=require("./core/components/Range/index.cjs"),F="_formBlock_18qf1_1",j="_container_18qf1_7",C="_formInner_18qf1_20",w="_maxWidthSm_18qf1_26",L="_maxWidthMd_18qf1_29",y="_maxWidthLg_18qf1_32",S="_maxWidthFull_18qf1_35",B="_heading_18qf1_41",$="_eyebrow_18qf1_47",H="_title_18qf1_51",G="_disclaimer_18qf1_55",I="_progress_18qf1_61",M="_progressHeader_18qf1_67",D="_stepLabel_18qf1_73",O="_stepCount_18qf1_79",P="_stepDescription_18qf1_84",R="_fields_18qf1_92",V="_fieldFull_18qf1_99",N="_fieldHalf_18qf1_103",z="_fieldThird_18qf1_111",A="_actions_18qf1_121",E="_submitButton_18qf1_128",J="_success_18qf1_134",K="_errorBanner_18qf1_149",u={formBlock:F,container:j,formInner:C,maxWidthSm:w,maxWidthMd:L,maxWidthLg:y,maxWidthFull:S,heading:B,eyebrow:$,title:H,disclaimer:G,progress:I,progressHeader:M,stepLabel:D,stepCount:O,stepDescription:P,fields:R,fieldFull:V,fieldHalf:N,fieldThird:z,actions:A,submitButton:E,success:J,errorBanner:K};function i(e){return(e??[]).map(n=>({label:n.label,value:n.value.current,disabled:n.disabled}))}function m(e){return(e??[]).map(n=>({label:n.label,options:n.options.map(s=>({label:s.label,value:s.value.current,disabled:s.disabled}))}))}function Q({field:e,value:n,error:s,onChange:l}){const r=e.name.current,x={full:u.fieldFull,half:u.fieldHalf,third:u.fieldThird}[e.width??"full"],c={id:r,name:r,label:e.label,required:e.required,disabled:e.disabled,helperText:e.helperText,error:s},d=()=>{switch(e.fieldType){case"text":case"email":case"phone":case"number":case"url":return a.jsx(f.Input,{...c,type:e.fieldType==="phone"?"tel":e.fieldType,placeholder:e.placeholder,value:n??"",minLength:e.minLength,maxLength:e.maxLength,fullWidth:!0,onChange:t=>l(r,t.target.value)});case"textarea":return a.jsx(v.Textarea,{...c,placeholder:e.placeholder,value:n??"",rows:e.rows??4,maxLength:e.maxLength,showCharCount:e.showCharCount,fullWidth:!0,onChange:t=>l(r,t.target.value)});case"select":{const t=e.useOptionGroups?m(e.optionGroups):i(e.options);return a.jsx(_.Select,{...c,placeholder:e.placeholder,options:t,value:n??"",fullWidth:!0,onChange:o=>l(r,o.target.value)})}case"multiselect":{const t=e.useOptionGroups?m(e.optionGroups):i(e.options);return a.jsx(_.Select,{...c,multiple:!0,options:t,value:n??[],showSelectedCount:!0,onChange:o=>l(r,o)})}case"checkbox":return a.jsx(h.Checkbox,{id:c.id,name:c.name,label:e.label,required:e.required,disabled:e.disabled,helperText:s??e.helperText,error:!!s,checked:n??!1,onChange:t=>l(r,t.target.checked)});case"checkboxGroup":{const t=n??[];return a.jsx(p.Fieldset,{legend:e.label,error:!!s,helperText:s,children:i(e.options).map(o=>a.jsx(h.Checkbox,{id:`${r}-${o.value}`,name:`${r}[]`,label:o.label,checked:t.includes(o.value),disabled:o.disabled||e.disabled,onChange:b=>{const q=b.target.checked?[...t,o.value]:t.filter(g=>g!==o.value);l(r,q)}},o.value))})}case"radio":return a.jsx(p.Fieldset,{legend:e.label,error:!!s,helperText:s,children:i(e.options).map(t=>a.jsx(T.Radio,{id:`${r}-${t.value}`,name:r,value:t.value,label:t.label,checked:n===t.value,disabled:t.disabled||e.disabled,required:e.required,onChange:()=>l(r,t.value)},t.value))});case"date":return a.jsx(k.DatePicker,{id:c.id,name:c.name,label:e.label,required:e.required,disabled:e.disabled,helperText:s??e.helperText,error:!!s,value:n??null,onChange:t=>l(r,t)});case"range":return a.jsx(W.Range,{...c,value:n??e.rangeMin??0,min:e.rangeMin??0,max:e.rangeMax??100,step:e.rangeStep??1,valuePrefix:e.rangeValuePrefix,valueSuffix:e.rangeValueSuffix,showValue:!0,onChange:t=>l(r,t)});case"hidden":return a.jsx("input",{type:"hidden",name:r,value:n??e.hiddenValue??""});default:return null}};return e.fieldType==="hidden"?d():a.jsx("div",{className:`${x}`,children:d()})}exports.FormField=Q;exports.styles=u;
@@ -1 +1 @@
1
- ._formBlock_1lllk_1{width:100%;padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}._container_1lllk_7{width:100%;max-width:var(--layout-width, 1250px);margin:0 auto;padding-left:var(--site-gutter);padding-right:var(--site-gutter);display:flex;flex-direction:column;gap:var(--spacing-lg)}._formInner_1lllk_20{width:100%;margin-left:auto;margin-right:auto}._maxWidthSm_1lllk_26{max-width:480px}._maxWidthMd_1lllk_29{max-width:640px}._maxWidthLg_1lllk_32{max-width:800px}._maxWidthFull_1lllk_35{max-width:100%}._heading_1lllk_41{display:flex;flex-direction:column;gap:var(--spacing-sm)}._eyebrow_1lllk_47{font-weight:var(--font-weight-bold)}._title_1lllk_51{text-wrap:balance}._disclaimer_1lllk_55{font-size:var(--font-size-sm)}._progress_1lllk_61{display:flex;flex-direction:column;gap:var(--spacing-sm)}._progressHeader_1lllk_67{display:flex;justify-content:space-between;align-items:center}._stepLabel_1lllk_73{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--color-text-primary)}._stepCount_1lllk_79{font-size:var(--font-size-sm);color:var(--color-secondary-50)}._stepDescription_1lllk_84{color:var(--color-secondary-75);font-size:var(--font-size-md);margin:0}._fields_1lllk_92{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}._fieldFull_1lllk_99{width:100%}._fieldHalf_1lllk_103{width:calc(50% - var(--spacing-md) / 2)}@media (max-width: 767px){._fieldHalf_1lllk_103{width:100%}}._fieldThird_1lllk_111{width:calc(33.333% - var(--spacing-md) * 2 / 3)}@media (max-width: 767px){._fieldThird_1lllk_111{width:100%}}._actions_1lllk_121{display:flex;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-sm)}._submitButton_1lllk_128{margin-left:auto}._success_1lllk_134{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-lg);padding:var(--spacing-md) 0 0}._success_1lllk_134 p{color:var(--color-states-success-bg);font-weight:var(--font-weight-semibold)}._errorBanner_1lllk_149{padding:var(--spacing-md);background-color:var(--color-states-error-bg);color:var(--color-states-error-text);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.split ._container_1lllk_7{flex-direction:row;gap:3rem}.split ._heading_1lllk_41,.split form{flex:.5}@media (max-width: 767px){.split ._container_1lllk_7{flex-direction:column}.split ._heading_1lllk_41,.split form{flex:1}}
1
+ ._formBlock_18qf1_1{width:100%;padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}._container_18qf1_7{width:100%;max-width:var(--layout-width, 1250px);margin:0 auto;padding-left:var(--site-gutter);padding-right:var(--site-gutter);display:flex;flex-direction:column;gap:var(--spacing-lg)}._formInner_18qf1_20{width:100%;margin-left:auto;margin-right:auto}._maxWidthSm_18qf1_26{max-width:480px}._maxWidthMd_18qf1_29{max-width:640px}._maxWidthLg_18qf1_32{max-width:800px}._maxWidthFull_18qf1_35{max-width:100%}._heading_18qf1_41{display:flex;flex-direction:column;gap:var(--spacing-sm)}._eyebrow_18qf1_47{font-weight:var(--font-weight-bold)}._title_18qf1_51{text-wrap:balance}._disclaimer_18qf1_55{font-size:var(--font-size-sm)}._progress_18qf1_61{display:flex;flex-direction:column;gap:var(--spacing-sm)}._progressHeader_18qf1_67{display:flex;justify-content:space-between;align-items:center}._stepLabel_18qf1_73{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--color-text-primary)}._stepCount_18qf1_79{font-size:var(--font-size-sm);color:var(--color-secondary-50)}._stepDescription_18qf1_84{color:var(--color-secondary-75);font-size:var(--font-size-md);margin:0}._fields_18qf1_92{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}._fieldFull_18qf1_99{width:100%}._fieldHalf_18qf1_103{width:calc(50% - var(--spacing-md) / 2)}@media (max-width: 767px){._fieldHalf_18qf1_103{width:100%}}._fieldThird_18qf1_111{width:calc(33.333% - var(--spacing-md) * 2 / 3)}@media (max-width: 767px){._fieldThird_18qf1_111{width:100%}}._actions_18qf1_121{display:flex;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-sm)}._submitButton_18qf1_128{margin-left:auto}._success_18qf1_134{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-lg);padding:var(--spacing-md) 0 0}._success_18qf1_134 p{color:var(--color-states-success-bg);font-weight:var(--font-weight-semibold)}._errorBanner_18qf1_149{padding:var(--spacing-md);background-color:var(--color-states-error-bg);color:var(--color-states-error-text);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.removePaddingAll ._container_18qf1_7{padding:0}.split ._container_18qf1_7{flex-direction:row;gap:3rem}.split ._heading_18qf1_41,.split form{flex:.5}@media (max-width: 767px){.split ._container_18qf1_7{flex-direction:column}.split ._heading_18qf1_41,.split form{flex:1}}
@@ -1 +1 @@
1
- "use strict";const n=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),r=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Accordion",()=>{const o=[{id:"item1",title:"Title 1",description:"Content 1"},{id:"item2",title:"Title 2",description:"Content 2"},{id:"item3",title:"Title 3",description:"Content 3"}];e.describe("Rendering",()=>{e.it("renders all accordion items",()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!0})),e.globalExpect(e.screen.getByText("Title 1")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Title 2")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Title 3")).toBeInTheDocument()}),e.it("renders with custom className",()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:o,className:"custom-class"})),i=t.querySelector(".custom-class");e.globalExpect(i).toBeInTheDocument()}),e.it("renders content as ReactNode",()=>{const t=[{id:"item1",title:"Title",description:n.jsx("div",{"data-testid":"custom-content",children:"Custom Content"})}];e.render(n.jsx(r.Accordion,{items:t})),e.globalExpect(e.screen.getByTestId("custom-content")).toBeInTheDocument()})}),e.describe("Accessibility",()=>{e.it("has correct ARIA attributes when closed",()=>{e.render(n.jsx(r.Accordion,{items:o}));const t=e.screen.getByRole("button",{name:/Title 1/i});e.globalExpect(t).toHaveAttribute("aria-expanded","false")}),e.it("has correct ARIA attributes when open",async()=>{e.render(n.jsx(r.Accordion,{items:o}));const t=e.screen.getByRole("button",{name:/Title 1/i});e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveAttribute("aria-expanded","true")})}),e.it("has proper aria-controls and role attributes",()=>{e.render(n.jsx(r.Accordion,{items:o}));const i=e.screen.getByRole("button",{name:/Title 1/i}).getAttribute("aria-controls");e.globalExpect(i).toBeTruthy();const a=document.getElementById(i);e.globalExpect(a).toHaveAttribute("role","region")})}),e.describe("Single mode (multiple=false)",()=>{e.it("opens an item when clicked",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1");e.fireEvent.click(t),await e.waitForWrapper(()=>{const i=e.screen.getByRole("button",{name:/Title 1/i});e.globalExpect(i).toHaveAttribute("aria-expanded","true")})}),e.it("closes the current item when clicking a different item",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1"),i=e.screen.getByText("Title 2");e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true")}),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","false")})}),e.it("closes an open item when clicking it again",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1");e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true")}),e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","false")})})}),e.describe("Multiple mode (multiple=true)",()=>{e.it("allows multiple items to be open simultaneously",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!0}));const t=e.screen.getByText("Title 1"),i=e.screen.getByText("Title 2");e.fireEvent.click(t),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true")})}),e.it("closes individual items independently",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!0}));const t=e.screen.getByText("Title 1"),i=e.screen.getByText("Title 2");e.fireEvent.click(t),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true")}),e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","false"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true")})})}),e.describe("Default open items",()=>{e.it("opens items specified in defaultOpenItems",()=>{e.render(n.jsx(r.Accordion,{items:o,defaultOpenItems:["item1","item3"],multiple:!0})),e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","false"),e.globalExpect(e.screen.getByRole("button",{name:/Title 3/i})).toHaveAttribute("aria-expanded","true")})}),e.describe("Callbacks",()=>{e.it("calls onItemToggle when item is opened",async()=>{const t=e.vi.fn();e.render(n.jsx(r.Accordion,{items:o,onItemToggle:t}));const i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveBeenCalledWith("item1",!0)})}),e.it("calls onItemToggle when item is closed",async()=>{const t=e.vi.fn();e.render(n.jsx(r.Accordion,{items:o,onItemToggle:t}));const i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveBeenCalledWith("item1",!0)}),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveBeenCalledWith("item1",!1)})})}),e.describe("CSS Classes",()=>{e.it("applies active class to open accordion header",async()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:o})),i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{const a=t.querySelector("button.active");e.globalExpect(a).toBeInTheDocument()})}),e.it("applies rotate class to icon when open",async()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:o})),i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{const a=t.querySelector(".rotate");e.globalExpect(a).toBeInTheDocument()})})}),e.describe("Edge cases",()=>{e.it("handles empty items array",()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:[]})),i=t.querySelector(".accordion");e.globalExpect(i==null?void 0:i.children).toHaveLength(0)}),e.it("handles rapid clicking",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1");e.fireEvent.click(t),e.fireEvent.click(t),e.fireEvent.click(t),await e.waitForWrapper(()=>{const i=e.screen.getByRole("button",{name:/Title 1/i});e.globalExpect(i).toHaveAttribute("aria-expanded","true")})})})});
1
+ "use strict";const n=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),r=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Accordion",()=>{const o=[{id:"item1",title:"Title 1",description:"Content 1"},{id:"item2",title:"Title 2",description:"Content 2"},{id:"item3",title:"Title 3",description:"Content 3"}];e.describe("Rendering",()=>{e.it("renders all accordion items",()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!0})),e.globalExpect(e.screen.getByText("Title 1")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Title 2")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Title 3")).toBeInTheDocument()}),e.it("renders with custom className",()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:o,className:"custom-class"})),i=t.querySelector(".custom-class");e.globalExpect(i).toBeInTheDocument()}),e.it("renders content as ReactNode",()=>{const t=[{id:"item1",title:"Title",description:n.jsx("div",{"data-testid":"custom-content",children:"Custom Content"})}];e.render(n.jsx(r.Accordion,{items:t})),e.globalExpect(e.screen.getByTestId("custom-content")).toBeInTheDocument()})}),e.describe("Accessibility",()=>{e.it("has correct ARIA attributes when closed",()=>{e.render(n.jsx(r.Accordion,{items:o}));const t=e.screen.getByRole("button",{name:/Title 1/i});e.globalExpect(t).toHaveAttribute("aria-expanded","false")}),e.it("has correct ARIA attributes when open",async()=>{e.render(n.jsx(r.Accordion,{items:o}));const t=e.screen.getByRole("button",{name:/Title 1/i});e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveAttribute("aria-expanded","true")})}),e.it("has proper aria-controls and role attributes",()=>{e.render(n.jsx(r.Accordion,{items:o}));const i=e.screen.getByRole("button",{name:/Title 1/i}).getAttribute("aria-controls");e.globalExpect(i).toBeTruthy();const a=document.getElementById(i);e.globalExpect(a).toHaveAttribute("role","region")})}),e.describe("Single mode (multiple=false)",()=>{e.it("opens an item when clicked",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1");e.fireEvent.click(t),await e.waitForWrapper(()=>{const i=e.screen.getByRole("button",{name:/Title 1/i});e.globalExpect(i).toHaveAttribute("aria-expanded","true")})}),e.it("closes the current item when clicking a different item",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1"),i=e.screen.getByText("Title 2");e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true")}),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","false")})}),e.it("closes an open item when clicking it again",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1");e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true")}),e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","false")})})}),e.describe("Multiple mode (multiple=true)",()=>{e.it("allows multiple items to be open simultaneously",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!0}));const t=e.screen.getByText("Title 1"),i=e.screen.getByText("Title 2");e.fireEvent.click(t),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true")})}),e.it("closes individual items independently",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!0}));const t=e.screen.getByText("Title 1"),i=e.screen.getByText("Title 2");e.fireEvent.click(t),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true")}),e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","false"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true")})})}),e.describe("Default open items",()=>{e.it("opens items specified in defaultOpenItems",()=>{e.render(n.jsx(r.Accordion,{items:o,defaultOpenItems:["item1","item3"],multiple:!0})),e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","false"),e.globalExpect(e.screen.getByRole("button",{name:/Title 3/i})).toHaveAttribute("aria-expanded","true")})}),e.describe("Callbacks",()=>{e.it("calls onItemToggle when item is opened",async()=>{const t=e.vi.fn();e.render(n.jsx(r.Accordion,{items:o,onItemToggle:t}));const i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveBeenCalledWith("item1",!0)})}),e.it("calls onItemToggle when item is closed",async()=>{const t=e.vi.fn();e.render(n.jsx(r.Accordion,{items:o,onItemToggle:t}));const i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveBeenCalledWith("item1",!0)}),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveBeenCalledWith("item1",!1)})})}),e.describe("CSS Classes",()=>{e.it("applies active class to open accordion header",async()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:o})),i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{const a=t.querySelector("button.active");e.globalExpect(a).toBeInTheDocument()})}),e.it("applies rotate class to icon when open",async()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:o})),i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{const a=t.querySelector(".rotate");e.globalExpect(a).toBeInTheDocument()})})}),e.describe("Edge cases",()=>{e.it("handles empty items array",()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:[]})),i=t.querySelector(".accordion");e.globalExpect(i==null?void 0:i.children).toHaveLength(0)}),e.it("handles rapid clicking",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1");e.fireEvent.click(t),e.fireEvent.click(t),e.fireEvent.click(t),await e.waitForWrapper(()=>{const i=e.screen.getByRole("button",{name:/Title 1/i});e.globalExpect(i).toHaveAttribute("aria-expanded","true")})})})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { d, i as l, r as c, g as i, s as t, f as o, w as u, v as T } from "../../../react.esm-DjxyacK8.js";
2
+ import { d, i as l, r as c, g as i, s as t, f as o, w as u, v as T } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { Accordion as s } from "./index.mjs";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  d("Accordion", () => {
@@ -1 +1 @@
1
- "use strict";const o=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),c=require("../../../AccordionItem-DulgZilf.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("AccordionItem",()=>{const i=e.vi.fn(),n={id:"test-item",title:"Test Title",description:"Test Description",isOpen:!1,onToggle:i};beforeEach(()=>{i.mockClear()}),e.describe("Rendering",()=>{e.it("renders title and description",()=>{e.render(o.jsx(c.AccordionItem,{...n})),e.globalExpect(e.screen.getByText("Test Title")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Test Description")).toBeInTheDocument()}),e.it("renders ReactNode as description",()=>{e.render(o.jsx(c.AccordionItem,{...n,description:o.jsx("div",{"data-testid":"custom-node",children:"Custom Content"})})),e.globalExpect(e.screen.getByTestId("custom-node")).toBeInTheDocument()})}),e.describe("Toggle Behavior",()=>{e.it("calls onToggle with correct id when clicked",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.fireEvent.click(t),e.globalExpect(i).toHaveBeenCalledTimes(1),e.globalExpect(i).toHaveBeenCalledWith("test-item")}),e.it("can be triggered multiple times",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.fireEvent.click(t),e.fireEvent.click(t),e.fireEvent.click(t),e.globalExpect(i).toHaveBeenCalledTimes(3),e.globalExpect(i).toHaveBeenCalledWith("test-item")}),e.it("is keyboard accessible as a button",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.globalExpect(t.tagName).toBe("BUTTON")})}),e.describe("Accessibility",()=>{e.it("has correct aria-expanded when closed",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-expanded","false")}),e.it("has correct aria-expanded when open",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-expanded","true")}),e.it("has correct aria-controls attribute",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-controls","accordion-content-test-item")}),e.it("content has correct id matching aria-controls",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).toBeInTheDocument()}),e.it("content has role='region'",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const r=e.screen.getByRole("button").getAttribute("aria-controls"),s=document.getElementById(r);e.globalExpect(s).toHaveAttribute("role","region")}),e.it("content has aria-labelledby pointing to button",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).toHaveAttribute("aria-labelledby","accordion-header-test-item")}),e.it("icon has aria-hidden attribute",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n})),r=t.querySelector("svg");e.globalExpect(r).toHaveAttribute("aria-hidden","true")})}),e.describe("CSS Classes",()=>{e.it("applies active class when open",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0})),r=t.querySelector("button");e.globalExpect(r).toHaveClass("active")}),e.it("does not apply active class when closed",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1})),r=t.querySelector("button");e.globalExpect(r).not.toHaveClass("active")}),e.it("applies rotate class to icon when open",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0})),r=t.querySelector(".icon");e.globalExpect(r).toHaveClass("rotate")}),e.it("does not apply rotate class to icon when closed",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1})),r=t.querySelector(".icon");e.globalExpect(r).not.toHaveClass("rotate")}),e.it("applies open class to content wrapper when open",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).not.toBeNull(),e.globalExpect(t).toHaveClass("open")}),e.it("applies closed class to content wrapper when closed",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).not.toBeNull(),e.globalExpect(t).toHaveClass("closed")})}),e.describe("Dynamic Height",()=>{e.it("sets maxHeight to 0px when closed",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).toHaveStyle({maxHeight:"0px"})}),e.it("sets maxHeight to calculated height when open",()=>{Object.defineProperty(HTMLElement.prototype,"scrollHeight",{configurable:!0,value:200}),e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t==null?void 0:t.style.maxHeight).toBeTruthy()})}),e.describe("Edge Cases",()=>{e.it("handles empty description",()=>{e.render(o.jsx(c.AccordionItem,{...n,description:""}));const t=e.screen.getByRole("button");e.globalExpect(t).toBeInTheDocument()}),e.it("handles very long title",()=>{const t="A".repeat(200);e.render(o.jsx(c.AccordionItem,{...n,title:t})),e.globalExpect(e.screen.getByText(t)).toBeInTheDocument()}),e.it("handles special characters in id",()=>{e.render(o.jsx(c.AccordionItem,{...n,id:"item-with-special-chars-123"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("id","accordion-header-item-with-special-chars-123")})}),e.describe("Window Resize",()=>{e.it("adds resize event listener on mount",()=>{const t=e.vi.spyOn(window,"addEventListener");e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0})),e.globalExpect(t).toHaveBeenCalledWith("resize",e.globalExpect.any(Function)),t.mockRestore()}),e.it("removes resize event listener on unmount",()=>{const t=e.vi.spyOn(window,"removeEventListener"),{unmount:r}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));r(),e.globalExpect(t).toHaveBeenCalledWith("resize",e.globalExpect.any(Function)),t.mockRestore()})})});
1
+ "use strict";const o=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),c=require("../../../AccordionItem-DulgZilf.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("AccordionItem",()=>{const i=e.vi.fn(),n={id:"test-item",title:"Test Title",description:"Test Description",isOpen:!1,onToggle:i};beforeEach(()=>{i.mockClear()}),e.describe("Rendering",()=>{e.it("renders title and description",()=>{e.render(o.jsx(c.AccordionItem,{...n})),e.globalExpect(e.screen.getByText("Test Title")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Test Description")).toBeInTheDocument()}),e.it("renders ReactNode as description",()=>{e.render(o.jsx(c.AccordionItem,{...n,description:o.jsx("div",{"data-testid":"custom-node",children:"Custom Content"})})),e.globalExpect(e.screen.getByTestId("custom-node")).toBeInTheDocument()})}),e.describe("Toggle Behavior",()=>{e.it("calls onToggle with correct id when clicked",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.fireEvent.click(t),e.globalExpect(i).toHaveBeenCalledTimes(1),e.globalExpect(i).toHaveBeenCalledWith("test-item")}),e.it("can be triggered multiple times",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.fireEvent.click(t),e.fireEvent.click(t),e.fireEvent.click(t),e.globalExpect(i).toHaveBeenCalledTimes(3),e.globalExpect(i).toHaveBeenCalledWith("test-item")}),e.it("is keyboard accessible as a button",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.globalExpect(t.tagName).toBe("BUTTON")})}),e.describe("Accessibility",()=>{e.it("has correct aria-expanded when closed",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-expanded","false")}),e.it("has correct aria-expanded when open",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-expanded","true")}),e.it("has correct aria-controls attribute",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-controls","accordion-content-test-item")}),e.it("content has correct id matching aria-controls",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).toBeInTheDocument()}),e.it("content has role='region'",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const r=e.screen.getByRole("button").getAttribute("aria-controls"),s=document.getElementById(r);e.globalExpect(s).toHaveAttribute("role","region")}),e.it("content has aria-labelledby pointing to button",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).toHaveAttribute("aria-labelledby","accordion-header-test-item")}),e.it("icon has aria-hidden attribute",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n})),r=t.querySelector("svg");e.globalExpect(r).toHaveAttribute("aria-hidden","true")})}),e.describe("CSS Classes",()=>{e.it("applies active class when open",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0})),r=t.querySelector("button");e.globalExpect(r).toHaveClass("active")}),e.it("does not apply active class when closed",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1})),r=t.querySelector("button");e.globalExpect(r).not.toHaveClass("active")}),e.it("applies rotate class to icon when open",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0})),r=t.querySelector(".icon");e.globalExpect(r).toHaveClass("rotate")}),e.it("does not apply rotate class to icon when closed",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1})),r=t.querySelector(".icon");e.globalExpect(r).not.toHaveClass("rotate")}),e.it("applies open class to content wrapper when open",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).not.toBeNull(),e.globalExpect(t).toHaveClass("open")}),e.it("applies closed class to content wrapper when closed",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).not.toBeNull(),e.globalExpect(t).toHaveClass("closed")})}),e.describe("Dynamic Height",()=>{e.it("sets maxHeight to 0px when closed",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).toHaveStyle({maxHeight:"0px"})}),e.it("sets maxHeight to calculated height when open",()=>{Object.defineProperty(HTMLElement.prototype,"scrollHeight",{configurable:!0,value:200}),e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t==null?void 0:t.style.maxHeight).toBeTruthy()})}),e.describe("Edge Cases",()=>{e.it("handles empty description",()=>{e.render(o.jsx(c.AccordionItem,{...n,description:""}));const t=e.screen.getByRole("button");e.globalExpect(t).toBeInTheDocument()}),e.it("handles very long title",()=>{const t="A".repeat(200);e.render(o.jsx(c.AccordionItem,{...n,title:t})),e.globalExpect(e.screen.getByText(t)).toBeInTheDocument()}),e.it("handles special characters in id",()=>{e.render(o.jsx(c.AccordionItem,{...n,id:"item-with-special-chars-123"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("id","accordion-header-item-with-special-chars-123")})}),e.describe("Window Resize",()=>{e.it("adds resize event listener on mount",()=>{const t=e.vi.spyOn(window,"addEventListener");e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0})),e.globalExpect(t).toHaveBeenCalledWith("resize",e.globalExpect.any(Function)),t.mockRestore()}),e.it("removes resize event listener on unmount",()=>{const t=e.vi.spyOn(window,"removeEventListener"),{unmount:r}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));r(),e.globalExpect(t).toHaveBeenCalledWith("resize",e.globalExpect.any(Function)),t.mockRestore()})})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { d as l, v as p, i as s, r as c, g as t, s as r, f as u } from "../../../react.esm-DjxyacK8.js";
2
+ import { d as l, v as p, i as s, r as c, g as t, s as r, f as u } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { A as i } from "../../../AccordionItem-CH19zWNr.js";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  l("AccordionItem", () => {
@@ -1 +1 @@
1
- "use strict";const t=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),c=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.vi.mock("./styles.module.css",()=>({default:new Proxy({},{get:(n,s)=>s})}));e.vi.mock("lucide-react",()=>({X:({size:n,...s})=>t.jsx("svg",{"data-testid":"x-icon","data-size":n,...s})}));const r=[{_type:"block",_key:"a",children:[{_type:"span",_key:"b",text:"Free shipping this weekend"}],markDefs:[],style:"normal"}];e.describe("Announcement",()=>{e.describe("rendering",()=>{e.it("renders the announcement region when blocks and renderRichText are provided",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"Free shipping this weekend"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByRole("region",{name:"Announcement"})).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Free shipping this weekend")).toBeInTheDocument()}),e.it("renders nothing when blocks is empty",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"text"})),{container:s}=e.render(t.jsx(c.Announcement,{blocks:[],renderRichText:n}));e.globalExpect(s).toBeEmptyDOMElement()}),e.it("renders nothing when renderRichText returns null",()=>{const n=e.vi.fn().mockReturnValue(null),{container:s}=e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n}));e.globalExpect(s).toBeEmptyDOMElement()}),e.it("renders nothing when renderRichText is not provided",()=>{const{container:n}=e.render(t.jsx(c.Announcement,{blocks:r}));e.globalExpect(n).toBeEmptyDOMElement()}),e.it("calls renderRichText with blocks and a className",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(n).toHaveBeenCalledWith({blocks:r,className:e.globalExpect.any(String)})}),e.it("applies a custom className to the announcement wrapper",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"})),{container:s}=e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n,className:"custom-class"}));e.globalExpect(s.firstChild).toHaveClass("custom-class")})}),e.describe("accessibility",()=>{e.it("has role=region on the outer wrapper",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByRole("region")).toBeInTheDocument()}),e.it("has aria-label='Announcement' on the region",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByRole("region",{name:"Announcement"})).toBeInTheDocument()}),e.it("renders a dismiss button with aria-label='Dismiss announcement'",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByRole("button",{name:"Dismiss announcement"})).toBeInTheDocument()}),e.it("renders the X icon with aria-hidden=true so screen readers skip it",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByTestId("x-icon")).toHaveAttribute("aria-hidden","true")})}),e.describe("dismiss behaviour",()=>{e.it("hides the announcement when the dismiss button is clicked",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.fireEvent.click(e.screen.getByRole("button",{name:"Dismiss announcement"})),e.globalExpect(e.screen.queryByRole("region",{name:"Announcement"})).not.toBeInTheDocument()}),e.it("removes rendered content from the DOM after dismissal",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"I will disappear"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.fireEvent.click(e.screen.getByRole("button",{name:"Dismiss announcement"})),e.globalExpect(e.screen.queryByText("I will disappear")).not.toBeInTheDocument()}),e.it("is visible before the dismiss button is clicked",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"Still here"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByRole("region",{name:"Announcement"})).toBeInTheDocument()}),e.it("does not dismiss when content area is clicked — only the button dismisses",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"Click me"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.fireEvent.click(e.screen.getByText("Click me")),e.globalExpect(e.screen.getByRole("region",{name:"Announcement"})).toBeInTheDocument()})})});
1
+ "use strict";const t=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),c=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.vi.mock("./styles.module.css",()=>({default:new Proxy({},{get:(n,s)=>s})}));e.vi.mock("lucide-react",()=>({X:({size:n,...s})=>t.jsx("svg",{"data-testid":"x-icon","data-size":n,...s})}));const r=[{_type:"block",_key:"a",children:[{_type:"span",_key:"b",text:"Free shipping this weekend"}],markDefs:[],style:"normal"}];e.describe("Announcement",()=>{e.describe("rendering",()=>{e.it("renders the announcement region when blocks and renderRichText are provided",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"Free shipping this weekend"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByRole("region",{name:"Announcement"})).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Free shipping this weekend")).toBeInTheDocument()}),e.it("renders nothing when blocks is empty",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"text"})),{container:s}=e.render(t.jsx(c.Announcement,{blocks:[],renderRichText:n}));e.globalExpect(s).toBeEmptyDOMElement()}),e.it("renders nothing when renderRichText returns null",()=>{const n=e.vi.fn().mockReturnValue(null),{container:s}=e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n}));e.globalExpect(s).toBeEmptyDOMElement()}),e.it("renders nothing when renderRichText is not provided",()=>{const{container:n}=e.render(t.jsx(c.Announcement,{blocks:r}));e.globalExpect(n).toBeEmptyDOMElement()}),e.it("calls renderRichText with blocks and a className",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(n).toHaveBeenCalledWith({blocks:r,className:e.globalExpect.any(String)})}),e.it("applies a custom className to the announcement wrapper",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"})),{container:s}=e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n,className:"custom-class"}));e.globalExpect(s.firstChild).toHaveClass("custom-class")})}),e.describe("accessibility",()=>{e.it("has role=region on the outer wrapper",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByRole("region")).toBeInTheDocument()}),e.it("has aria-label='Announcement' on the region",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByRole("region",{name:"Announcement"})).toBeInTheDocument()}),e.it("renders a dismiss button with aria-label='Dismiss announcement'",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByRole("button",{name:"Dismiss announcement"})).toBeInTheDocument()}),e.it("renders the X icon with aria-hidden=true so screen readers skip it",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByTestId("x-icon")).toHaveAttribute("aria-hidden","true")})}),e.describe("dismiss behaviour",()=>{e.it("hides the announcement when the dismiss button is clicked",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.fireEvent.click(e.screen.getByRole("button",{name:"Dismiss announcement"})),e.globalExpect(e.screen.queryByRole("region",{name:"Announcement"})).not.toBeInTheDocument()}),e.it("removes rendered content from the DOM after dismissal",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"I will disappear"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.fireEvent.click(e.screen.getByRole("button",{name:"Dismiss announcement"})),e.globalExpect(e.screen.queryByText("I will disappear")).not.toBeInTheDocument()}),e.it("is visible before the dismiss button is clicked",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"Still here"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByRole("region",{name:"Announcement"})).toBeInTheDocument()}),e.it("does not dismiss when content area is clicked — only the button dismisses",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"Click me"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.fireEvent.click(e.screen.getByText("Click me")),e.globalExpect(e.screen.getByRole("region",{name:"Announcement"})).toBeInTheDocument()})})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { v as o, d as m, i as s, r, g as t, s as a, f as d } from "../../../react.esm-DjxyacK8.js";
2
+ import { v as o, d as m, i as s, r, g as t, s as a, f as d } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { Announcement as c } from "./index.mjs";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  o.mock("./styles.module.css", () => ({
@@ -1 +1 @@
1
- "use strict";const s=require("react/jsx-runtime"),t=require("../../../react.esm-C_9Ma9mj.cjs"),r=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");t.describe("Avatar",()=>{t.describe("Rendering",()=>{t.it("renders with initials",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"})),t.globalExpect(t.screen.getByText("JD")).toBeInTheDocument()}),t.it("renders with image",()=>{t.render(s.jsx(r.Avatar,{src:"https://example.com/avatar.jpg",alt:"User avatar"}));const e=t.screen.getByAltText("User avatar");t.globalExpect(e).toBeInTheDocument(),t.globalExpect(e).toHaveAttribute("src","https://example.com/avatar.jpg")}),t.it("renders default ? when no initials or image",()=>{t.render(s.jsx(r.Avatar,{})),t.globalExpect(t.screen.getByText("?")).toBeInTheDocument()}),t.it("transforms initials to uppercase",()=>{t.render(s.jsx(r.Avatar,{initials:"ab"})),t.globalExpect(t.screen.getByText("AB")).toBeInTheDocument()})}),t.describe("Sizes",()=>{t.it("applies sm size class",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"SM",size:"sm"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("sm")}),t.it("applies md size class by default",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"MD"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("md")}),t.it("applies lg size class",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"LG",size:"lg"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("lg")}),t.it("applies xl size class",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"XL",size:"xl"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("xl")})}),t.describe("Status indicators",()=>{t.it("renders online status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"online"}));const e=t.screen.getByRole("status");t.globalExpect(e).toBeInTheDocument(),t.globalExpect(e).toHaveAttribute("aria-label","Status: online")}),t.it("renders offline status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"offline"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: offline")}),t.it("renders busy status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"busy"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: busy")}),t.it("renders away status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"away"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: away")}),t.it("does not render status when not provided",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"}));const e=t.screen.queryByRole("status");t.globalExpect(e).not.toBeInTheDocument()})}),t.describe("Background color",()=>{t.it("applies custom background color",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",backgroundColor:"#ff0000"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveStyle({backgroundColor:"#ff0000"})}),t.it("uses default background when not specified",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD"})),a=e.querySelector(".avatar");t.globalExpect(a).not.toHaveAttribute("style")})}),t.describe("Clickable behavior",()=>{t.it("renders as button when onClick is provided",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{initials:"JD",onClick:e}));const a=t.screen.getByRole("button");t.globalExpect(a).toBeInTheDocument()}),t.it("applies clickable class",()=>{const e=t.vi.fn(),{container:a}=t.render(s.jsx(r.Avatar,{initials:"JD",onClick:e})),o=a.querySelector(".avatar");t.globalExpect(o).toHaveClass("clickable")}),t.it("calls onClick when clicked",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{initials:"JD",onClick:e}));const a=t.screen.getByRole("button");t.fireEvent.click(a),t.globalExpect(e).toHaveBeenCalledTimes(1)}),t.it("renders as div when onClick is not provided",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD"})),a=e.querySelector(".avatar");t.globalExpect(a==null?void 0:a.tagName).toBe("DIV")}),t.it("does not have clickable class when not clickable",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD"})),a=e.querySelector(".avatar");t.globalExpect(a).not.toHaveClass("clickable")})}),t.describe("Accessibility",()=>{t.it("has role='img' for initials avatar",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"}));const e=t.screen.getByRole("img");t.globalExpect(e).toBeInTheDocument()}),t.it("has aria-label for initials avatar",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"}));const e=t.screen.getByRole("img");t.globalExpect(e).toHaveAttribute("aria-label","Avatar with initials JD")}),t.it("uses custom alt as aria-label",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",alt:"John Doe"}));const e=t.screen.getByRole("img");t.globalExpect(e).toHaveAttribute("aria-label","John Doe")}),t.it("does not have role='img' for image avatar",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg",alt:"User"}));const e=t.screen.getByAltText("User");t.globalExpect(e.tagName).toBe("IMG")}),t.it("uses alt text for image",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg",alt:"John Doe"}));const e=t.screen.getByAltText("John Doe");t.globalExpect(e).toBeInTheDocument()}),t.it("has default alt text when not provided",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg"}));const e=t.screen.getByAltText("Avatar");t.globalExpect(e).toBeInTheDocument()}),t.it("status indicator has proper aria-label",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"online"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: online")})}),t.describe("Custom className",()=>{t.it("applies custom className",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",className:"custom-avatar"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("custom-avatar")}),t.it("preserves default classes",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",className:"custom-avatar"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("avatar"),t.globalExpect(a).toHaveClass("md")})}),t.describe("HTML attributes",()=>{t.it("supports data attributes",()=>{t.render(s.jsx(r.Avatar,{initials:"JD","data-testid":"my-avatar"})),t.globalExpect(t.screen.getByTestId("my-avatar")).toBeInTheDocument()}),t.it("supports id attribute",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",id:"avatar-1"})),a=e.querySelector("#avatar-1");t.globalExpect(a).toBeInTheDocument()}),t.it("supports title attribute",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",title:"User avatar"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveAttribute("title","User avatar")})}),t.describe("Image properties",()=>{t.it("sets image to not be draggable",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg"}));const e=t.screen.getByAltText("Avatar");t.globalExpect(e).toHaveAttribute("draggable","false")}),t.it("applies image class to img element",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{src:"avatar.jpg"})),a=e.querySelector(".image");t.globalExpect(a).toBeInTheDocument(),t.globalExpect(a==null?void 0:a.tagName).toBe("IMG")})}),t.describe("Combined features",()=>{t.it("works with all props together",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{size:"lg",initials:"JD",status:"online",backgroundColor:"#ff0000",onClick:e,className:"custom"}));const a=t.screen.getByRole("button");t.globalExpect(a).toHaveClass("lg"),t.globalExpect(a).toHaveClass("clickable"),t.globalExpect(a).toHaveClass("custom"),t.globalExpect(a).toHaveStyle({backgroundColor:"#ff0000"}),t.globalExpect(t.screen.getByText("JD")).toBeInTheDocument(),t.globalExpect(t.screen.getByRole("status")).toBeInTheDocument(),t.fireEvent.click(a),t.globalExpect(e).toHaveBeenCalledTimes(1)}),t.it("image avatar with status and onClick",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{src:"avatar.jpg",alt:"User",status:"busy",onClick:e}));const a=t.screen.getByRole("button");t.globalExpect(t.screen.getByAltText("User")).toBeInTheDocument(),t.globalExpect(t.screen.getByRole("status")).toBeInTheDocument(),t.fireEvent.click(a),t.globalExpect(e).toHaveBeenCalledTimes(1)})}),t.describe("forwardRef",()=>{t.it("forwards ref to avatar element",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{ref:e,initials:"JD"})),t.globalExpect(e).toHaveBeenCalled()})})});
1
+ "use strict";const s=require("react/jsx-runtime"),t=require("../../../react.esm-Dmjx7ihM.cjs"),r=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");t.describe("Avatar",()=>{t.describe("Rendering",()=>{t.it("renders with initials",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"})),t.globalExpect(t.screen.getByText("JD")).toBeInTheDocument()}),t.it("renders with image",()=>{t.render(s.jsx(r.Avatar,{src:"https://example.com/avatar.jpg",alt:"User avatar"}));const e=t.screen.getByAltText("User avatar");t.globalExpect(e).toBeInTheDocument(),t.globalExpect(e).toHaveAttribute("src","https://example.com/avatar.jpg")}),t.it("renders default ? when no initials or image",()=>{t.render(s.jsx(r.Avatar,{})),t.globalExpect(t.screen.getByText("?")).toBeInTheDocument()}),t.it("transforms initials to uppercase",()=>{t.render(s.jsx(r.Avatar,{initials:"ab"})),t.globalExpect(t.screen.getByText("AB")).toBeInTheDocument()})}),t.describe("Sizes",()=>{t.it("applies sm size class",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"SM",size:"sm"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("sm")}),t.it("applies md size class by default",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"MD"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("md")}),t.it("applies lg size class",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"LG",size:"lg"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("lg")}),t.it("applies xl size class",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"XL",size:"xl"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("xl")})}),t.describe("Status indicators",()=>{t.it("renders online status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"online"}));const e=t.screen.getByRole("status");t.globalExpect(e).toBeInTheDocument(),t.globalExpect(e).toHaveAttribute("aria-label","Status: online")}),t.it("renders offline status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"offline"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: offline")}),t.it("renders busy status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"busy"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: busy")}),t.it("renders away status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"away"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: away")}),t.it("does not render status when not provided",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"}));const e=t.screen.queryByRole("status");t.globalExpect(e).not.toBeInTheDocument()})}),t.describe("Background color",()=>{t.it("applies custom background color",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",backgroundColor:"#ff0000"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveStyle({backgroundColor:"#ff0000"})}),t.it("uses default background when not specified",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD"})),a=e.querySelector(".avatar");t.globalExpect(a).not.toHaveAttribute("style")})}),t.describe("Clickable behavior",()=>{t.it("renders as button when onClick is provided",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{initials:"JD",onClick:e}));const a=t.screen.getByRole("button");t.globalExpect(a).toBeInTheDocument()}),t.it("applies clickable class",()=>{const e=t.vi.fn(),{container:a}=t.render(s.jsx(r.Avatar,{initials:"JD",onClick:e})),o=a.querySelector(".avatar");t.globalExpect(o).toHaveClass("clickable")}),t.it("calls onClick when clicked",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{initials:"JD",onClick:e}));const a=t.screen.getByRole("button");t.fireEvent.click(a),t.globalExpect(e).toHaveBeenCalledTimes(1)}),t.it("renders as div when onClick is not provided",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD"})),a=e.querySelector(".avatar");t.globalExpect(a==null?void 0:a.tagName).toBe("DIV")}),t.it("does not have clickable class when not clickable",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD"})),a=e.querySelector(".avatar");t.globalExpect(a).not.toHaveClass("clickable")})}),t.describe("Accessibility",()=>{t.it("has role='img' for initials avatar",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"}));const e=t.screen.getByRole("img");t.globalExpect(e).toBeInTheDocument()}),t.it("has aria-label for initials avatar",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"}));const e=t.screen.getByRole("img");t.globalExpect(e).toHaveAttribute("aria-label","Avatar with initials JD")}),t.it("uses custom alt as aria-label",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",alt:"John Doe"}));const e=t.screen.getByRole("img");t.globalExpect(e).toHaveAttribute("aria-label","John Doe")}),t.it("does not have role='img' for image avatar",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg",alt:"User"}));const e=t.screen.getByAltText("User");t.globalExpect(e.tagName).toBe("IMG")}),t.it("uses alt text for image",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg",alt:"John Doe"}));const e=t.screen.getByAltText("John Doe");t.globalExpect(e).toBeInTheDocument()}),t.it("has default alt text when not provided",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg"}));const e=t.screen.getByAltText("Avatar");t.globalExpect(e).toBeInTheDocument()}),t.it("status indicator has proper aria-label",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"online"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: online")})}),t.describe("Custom className",()=>{t.it("applies custom className",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",className:"custom-avatar"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("custom-avatar")}),t.it("preserves default classes",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",className:"custom-avatar"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("avatar"),t.globalExpect(a).toHaveClass("md")})}),t.describe("HTML attributes",()=>{t.it("supports data attributes",()=>{t.render(s.jsx(r.Avatar,{initials:"JD","data-testid":"my-avatar"})),t.globalExpect(t.screen.getByTestId("my-avatar")).toBeInTheDocument()}),t.it("supports id attribute",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",id:"avatar-1"})),a=e.querySelector("#avatar-1");t.globalExpect(a).toBeInTheDocument()}),t.it("supports title attribute",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",title:"User avatar"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveAttribute("title","User avatar")})}),t.describe("Image properties",()=>{t.it("sets image to not be draggable",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg"}));const e=t.screen.getByAltText("Avatar");t.globalExpect(e).toHaveAttribute("draggable","false")}),t.it("applies image class to img element",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{src:"avatar.jpg"})),a=e.querySelector(".image");t.globalExpect(a).toBeInTheDocument(),t.globalExpect(a==null?void 0:a.tagName).toBe("IMG")})}),t.describe("Combined features",()=>{t.it("works with all props together",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{size:"lg",initials:"JD",status:"online",backgroundColor:"#ff0000",onClick:e,className:"custom"}));const a=t.screen.getByRole("button");t.globalExpect(a).toHaveClass("lg"),t.globalExpect(a).toHaveClass("clickable"),t.globalExpect(a).toHaveClass("custom"),t.globalExpect(a).toHaveStyle({backgroundColor:"#ff0000"}),t.globalExpect(t.screen.getByText("JD")).toBeInTheDocument(),t.globalExpect(t.screen.getByRole("status")).toBeInTheDocument(),t.fireEvent.click(a),t.globalExpect(e).toHaveBeenCalledTimes(1)}),t.it("image avatar with status and onClick",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{src:"avatar.jpg",alt:"User",status:"busy",onClick:e}));const a=t.screen.getByRole("button");t.globalExpect(t.screen.getByAltText("User")).toBeInTheDocument(),t.globalExpect(t.screen.getByRole("status")).toBeInTheDocument(),t.fireEvent.click(a),t.globalExpect(e).toHaveBeenCalledTimes(1)})}),t.describe("forwardRef",()=>{t.it("forwards ref to avatar element",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{ref:e,initials:"JD"})),t.globalExpect(e).toHaveBeenCalled()})})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- import { d as l, i as o, r as i, g as a, s as r, v as c, f as u } from "../../../react.esm-DjxyacK8.js";
2
+ import { d as l, i as o, r as i, g as a, s as r, v as c, f as u } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { Avatar as n } from "./index.mjs";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  l("Avatar", () => {
@@ -1 +1 @@
1
- "use strict";const a=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),s=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");const l=require("../../../plus-CRmuwZfs.cjs"),o=require("../../../circle-alert-BD4YL4ck.cjs");e.describe("Badge",()=>{e.describe("Rendering",()=>{e.it("renders default badge",()=>{e.render(a.jsx(s.Badge,{text:"Default"}));const t=e.screen.getByRole("status");e.globalExpect(t).toBeInTheDocument(),e.globalExpect(t).toHaveClass("default"),e.globalExpect(t).toHaveTextContent("Default")}),e.it("renders with text",()=>{e.render(a.jsx(s.Badge,{text:"Badge Text"})),e.globalExpect(e.screen.getByText("Badge Text")).toBeInTheDocument()})}),e.describe("Variants",()=>{e.it("applies correct variant class for success",()=>{e.render(a.jsx(s.Badge,{text:"Success",variant:"success"})),e.globalExpect(e.screen.getByRole("status")).toHaveClass("success")}),e.it("applies correct variant class for warning",()=>{e.render(a.jsx(s.Badge,{text:"Warning",variant:"warning"})),e.globalExpect(e.screen.getByRole("status")).toHaveClass("warning")}),e.it("applies correct variant class for error",()=>{e.render(a.jsx(s.Badge,{text:"Error",variant:"error"})),e.globalExpect(e.screen.getByRole("status")).toHaveClass("error")}),e.it("applies correct variant class for info",()=>{e.render(a.jsx(s.Badge,{text:"Info",variant:"info"})),e.globalExpect(e.screen.getByRole("status")).toHaveClass("info")}),e.it("uses default variant when not specified",()=>{e.render(a.jsx(s.Badge,{text:"Default"})),e.globalExpect(e.screen.getByRole("status")).toHaveClass("default")})}),e.describe("Icons",()=>{e.it("renders icon when provided",()=>{e.render(a.jsx(s.Badge,{text:"Success",variant:"success",icon:a.jsx(l.Check,{"data-testid":"icon"})}));const t=e.screen.getByTestId("icon");e.globalExpect(t).toBeInTheDocument()}),e.it("icon has aria-hidden",()=>{const{container:t}=e.render(a.jsx(s.Badge,{text:"Success",icon:a.jsx(l.Plus,{})})),c=t.querySelector(".icon");e.globalExpect(c).toHaveAttribute("aria-hidden","true")}),e.it("renders without icon",()=>{const{container:t}=e.render(a.jsx(s.Badge,{text:"No Icon"})),c=t.querySelector(".icon");e.globalExpect(c).not.toBeInTheDocument()}),e.it("works with different icons",()=>{e.render(a.jsx(s.Badge,{text:"Alert",icon:a.jsx(o.CircleAlert,{"data-testid":"alert-icon"})})),e.globalExpect(e.screen.getByTestId("alert-icon")).toBeInTheDocument()})}),e.describe("Clickable badges",()=>{e.it("renders as button when onClick is provided",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.globalExpect(c).toBeInTheDocument()}),e.it("applies clickable class",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.globalExpect(c).toHaveClass("clickable")}),e.it("calls onClick handler when clicked",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.fireEvent.click(c),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("can be clicked multiple times",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.fireEvent.click(c),e.fireEvent.click(c),e.fireEvent.click(c),e.globalExpect(t).toHaveBeenCalledTimes(3)}),e.it("has tabIndex 0 when clickable",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.globalExpect(c).toHaveAttribute("tabIndex","0")}),e.it("triggers onClick with Enter key",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.fireEvent.keyDown(c,{key:"Enter"}),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("triggers onClick with Space key",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.fireEvent.keyDown(c,{key:" "}),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("does not trigger onClick with other keys",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.fireEvent.keyDown(c,{key:"a"}),e.fireEvent.keyDown(c,{key:"Escape"}),e.globalExpect(t).not.toHaveBeenCalled()})}),e.describe("Non-clickable badges",()=>{e.it("renders as status when onClick is not provided",()=>{e.render(a.jsx(s.Badge,{text:"Not Clickable"}));const t=e.screen.getByRole("status");e.globalExpect(t).toBeInTheDocument()}),e.it("does not have clickable class",()=>{e.render(a.jsx(s.Badge,{text:"Not Clickable"}));const t=e.screen.getByRole("status");e.globalExpect(t).not.toHaveClass("clickable")}),e.it("does not call onClick when clicked (if handler exists but not passed)",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Not Clickable"}));const c=e.screen.getByRole("status");e.fireEvent.click(c),e.globalExpect(t).not.toHaveBeenCalled()}),e.it("does not have tabIndex when not clickable",()=>{e.render(a.jsx(s.Badge,{text:"Not Clickable"}));const t=e.screen.getByRole("status");e.globalExpect(t).not.toHaveAttribute("tabIndex")})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{e.render(a.jsx(s.Badge,{text:"Custom",className:"custom-class"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveClass("custom-class"),e.globalExpect(t).toHaveClass("badge")}),e.it("applies multiple custom classes",()=>{e.render(a.jsx(s.Badge,{text:"Custom",className:"class1 class2"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveClass("class1"),e.globalExpect(t).toHaveClass("class2")})}),e.describe("Accessibility",()=>{e.it("has correct role for non-clickable badge",()=>{e.render(a.jsx(s.Badge,{text:"Status"})),e.globalExpect(e.screen.getByRole("status")).toBeInTheDocument()}),e.it("has correct role for clickable badge",()=>{e.render(a.jsx(s.Badge,{text:"Button",onClick:()=>{}})),e.globalExpect(e.screen.getByRole("button")).toBeInTheDocument()}),e.it("supports custom aria-label",()=>{e.render(a.jsx(s.Badge,{text:"Badge","aria-label":"Custom Label"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveAttribute("aria-label","Custom Label")}),e.it("generates aria-label for clickable badges",()=>{e.render(a.jsx(s.Badge,{text:"Click me",onClick:()=>{}}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-label","Click me badge")}),e.it("supports additional aria attributes",()=>{e.render(a.jsx(s.Badge,{text:"Badge","aria-describedby":"desc","aria-live":"polite"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveAttribute("aria-describedby","desc"),e.globalExpect(t).toHaveAttribute("aria-live","polite")})}),e.describe("HTML attributes",()=>{e.it("supports data attributes",()=>{e.render(a.jsx(s.Badge,{text:"Badge","data-testid":"my-badge"})),e.globalExpect(e.screen.getByTestId("my-badge")).toBeInTheDocument()}),e.it("supports id attribute",()=>{e.render(a.jsx(s.Badge,{text:"Badge",id:"badge-id"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveAttribute("id","badge-id")}),e.it("supports title attribute",()=>{e.render(a.jsx(s.Badge,{text:"Badge",title:"Tooltip"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveAttribute("title","Tooltip")})}),e.describe("Edge cases",()=>{e.it("handles empty text",()=>{e.render(a.jsx(s.Badge,{text:""}));const t=e.screen.getByRole("status");e.globalExpect(t).toBeInTheDocument()}),e.it("handles long text",()=>{const t="This is a very long badge text that should still render correctly";e.render(a.jsx(s.Badge,{text:t})),e.globalExpect(e.screen.getByText(t)).toBeInTheDocument()}),e.it("handles special characters in text",()=>{e.render(a.jsx(s.Badge,{text:"Test & <Badge> 'quotes'"})),e.globalExpect(e.screen.getByText("Test & <Badge> 'quotes'")).toBeInTheDocument()})}),e.describe("Combined features",()=>{e.it("works with icon and onClick together",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Complete",variant:"success",icon:a.jsx(l.Check,{"data-testid":"icon"}),onClick:t}));const c=e.screen.getByRole("button"),n=e.screen.getByTestId("icon");e.globalExpect(c).toHaveClass("success"),e.globalExpect(c).toHaveClass("clickable"),e.globalExpect(n).toBeInTheDocument(),e.fireEvent.click(c),e.globalExpect(t).toHaveBeenCalledTimes(1)})})});
1
+ "use strict";const a=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),s=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");const l=require("../../../plus-CRmuwZfs.cjs"),o=require("../../../circle-alert-BD4YL4ck.cjs");e.describe("Badge",()=>{e.describe("Rendering",()=>{e.it("renders default badge",()=>{e.render(a.jsx(s.Badge,{text:"Default"}));const t=e.screen.getByRole("status");e.globalExpect(t).toBeInTheDocument(),e.globalExpect(t).toHaveClass("default"),e.globalExpect(t).toHaveTextContent("Default")}),e.it("renders with text",()=>{e.render(a.jsx(s.Badge,{text:"Badge Text"})),e.globalExpect(e.screen.getByText("Badge Text")).toBeInTheDocument()})}),e.describe("Variants",()=>{e.it("applies correct variant class for success",()=>{e.render(a.jsx(s.Badge,{text:"Success",variant:"success"})),e.globalExpect(e.screen.getByRole("status")).toHaveClass("success")}),e.it("applies correct variant class for warning",()=>{e.render(a.jsx(s.Badge,{text:"Warning",variant:"warning"})),e.globalExpect(e.screen.getByRole("status")).toHaveClass("warning")}),e.it("applies correct variant class for error",()=>{e.render(a.jsx(s.Badge,{text:"Error",variant:"error"})),e.globalExpect(e.screen.getByRole("status")).toHaveClass("error")}),e.it("applies correct variant class for info",()=>{e.render(a.jsx(s.Badge,{text:"Info",variant:"info"})),e.globalExpect(e.screen.getByRole("status")).toHaveClass("info")}),e.it("uses default variant when not specified",()=>{e.render(a.jsx(s.Badge,{text:"Default"})),e.globalExpect(e.screen.getByRole("status")).toHaveClass("default")})}),e.describe("Icons",()=>{e.it("renders icon when provided",()=>{e.render(a.jsx(s.Badge,{text:"Success",variant:"success",icon:a.jsx(l.Check,{"data-testid":"icon"})}));const t=e.screen.getByTestId("icon");e.globalExpect(t).toBeInTheDocument()}),e.it("icon has aria-hidden",()=>{const{container:t}=e.render(a.jsx(s.Badge,{text:"Success",icon:a.jsx(l.Plus,{})})),c=t.querySelector(".icon");e.globalExpect(c).toHaveAttribute("aria-hidden","true")}),e.it("renders without icon",()=>{const{container:t}=e.render(a.jsx(s.Badge,{text:"No Icon"})),c=t.querySelector(".icon");e.globalExpect(c).not.toBeInTheDocument()}),e.it("works with different icons",()=>{e.render(a.jsx(s.Badge,{text:"Alert",icon:a.jsx(o.CircleAlert,{"data-testid":"alert-icon"})})),e.globalExpect(e.screen.getByTestId("alert-icon")).toBeInTheDocument()})}),e.describe("Clickable badges",()=>{e.it("renders as button when onClick is provided",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.globalExpect(c).toBeInTheDocument()}),e.it("applies clickable class",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.globalExpect(c).toHaveClass("clickable")}),e.it("calls onClick handler when clicked",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.fireEvent.click(c),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("can be clicked multiple times",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.fireEvent.click(c),e.fireEvent.click(c),e.fireEvent.click(c),e.globalExpect(t).toHaveBeenCalledTimes(3)}),e.it("has tabIndex 0 when clickable",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.globalExpect(c).toHaveAttribute("tabIndex","0")}),e.it("triggers onClick with Enter key",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.fireEvent.keyDown(c,{key:"Enter"}),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("triggers onClick with Space key",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.fireEvent.keyDown(c,{key:" "}),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("does not trigger onClick with other keys",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.fireEvent.keyDown(c,{key:"a"}),e.fireEvent.keyDown(c,{key:"Escape"}),e.globalExpect(t).not.toHaveBeenCalled()})}),e.describe("Non-clickable badges",()=>{e.it("renders as status when onClick is not provided",()=>{e.render(a.jsx(s.Badge,{text:"Not Clickable"}));const t=e.screen.getByRole("status");e.globalExpect(t).toBeInTheDocument()}),e.it("does not have clickable class",()=>{e.render(a.jsx(s.Badge,{text:"Not Clickable"}));const t=e.screen.getByRole("status");e.globalExpect(t).not.toHaveClass("clickable")}),e.it("does not call onClick when clicked (if handler exists but not passed)",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Not Clickable"}));const c=e.screen.getByRole("status");e.fireEvent.click(c),e.globalExpect(t).not.toHaveBeenCalled()}),e.it("does not have tabIndex when not clickable",()=>{e.render(a.jsx(s.Badge,{text:"Not Clickable"}));const t=e.screen.getByRole("status");e.globalExpect(t).not.toHaveAttribute("tabIndex")})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{e.render(a.jsx(s.Badge,{text:"Custom",className:"custom-class"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveClass("custom-class"),e.globalExpect(t).toHaveClass("badge")}),e.it("applies multiple custom classes",()=>{e.render(a.jsx(s.Badge,{text:"Custom",className:"class1 class2"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveClass("class1"),e.globalExpect(t).toHaveClass("class2")})}),e.describe("Accessibility",()=>{e.it("has correct role for non-clickable badge",()=>{e.render(a.jsx(s.Badge,{text:"Status"})),e.globalExpect(e.screen.getByRole("status")).toBeInTheDocument()}),e.it("has correct role for clickable badge",()=>{e.render(a.jsx(s.Badge,{text:"Button",onClick:()=>{}})),e.globalExpect(e.screen.getByRole("button")).toBeInTheDocument()}),e.it("supports custom aria-label",()=>{e.render(a.jsx(s.Badge,{text:"Badge","aria-label":"Custom Label"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveAttribute("aria-label","Custom Label")}),e.it("generates aria-label for clickable badges",()=>{e.render(a.jsx(s.Badge,{text:"Click me",onClick:()=>{}}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-label","Click me badge")}),e.it("supports additional aria attributes",()=>{e.render(a.jsx(s.Badge,{text:"Badge","aria-describedby":"desc","aria-live":"polite"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveAttribute("aria-describedby","desc"),e.globalExpect(t).toHaveAttribute("aria-live","polite")})}),e.describe("HTML attributes",()=>{e.it("supports data attributes",()=>{e.render(a.jsx(s.Badge,{text:"Badge","data-testid":"my-badge"})),e.globalExpect(e.screen.getByTestId("my-badge")).toBeInTheDocument()}),e.it("supports id attribute",()=>{e.render(a.jsx(s.Badge,{text:"Badge",id:"badge-id"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveAttribute("id","badge-id")}),e.it("supports title attribute",()=>{e.render(a.jsx(s.Badge,{text:"Badge",title:"Tooltip"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveAttribute("title","Tooltip")})}),e.describe("Edge cases",()=>{e.it("handles empty text",()=>{e.render(a.jsx(s.Badge,{text:""}));const t=e.screen.getByRole("status");e.globalExpect(t).toBeInTheDocument()}),e.it("handles long text",()=>{const t="This is a very long badge text that should still render correctly";e.render(a.jsx(s.Badge,{text:t})),e.globalExpect(e.screen.getByText(t)).toBeInTheDocument()}),e.it("handles special characters in text",()=>{e.render(a.jsx(s.Badge,{text:"Test & <Badge> 'quotes'"})),e.globalExpect(e.screen.getByText("Test & <Badge> 'quotes'")).toBeInTheDocument()})}),e.describe("Combined features",()=>{e.it("works with icon and onClick together",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Complete",variant:"success",icon:a.jsx(l.Check,{"data-testid":"icon"}),onClick:t}));const c=e.screen.getByRole("button"),n=e.screen.getByTestId("icon");e.globalExpect(c).toHaveClass("success"),e.globalExpect(c).toHaveClass("clickable"),e.globalExpect(n).toBeInTheDocument(),e.fireEvent.click(c),e.globalExpect(t).toHaveBeenCalledTimes(1)})})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import { d as i, i as o, r as s, s as n, g as t, v as r, f as d } from "../../../react.esm-DjxyacK8.js";
2
+ import { d as i, i as o, r as s, s as n, g as t, v as r, f as d } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { Badge as l } from "./index.mjs";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  import { C as b, P as g } from "../../../plus-Fy4u9__h.js";
@@ -1 +1 @@
1
- "use strict";const n=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),r=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Box",()=>{e.describe("Rendering",()=>{e.it("renders with default props",()=>{e.render(n.jsx(r.Box,{children:"Content"}));const t=e.screen.getByText("Content");e.globalExpect(t).toHaveClass("box","paddingNone","marginNone","block")}),e.it("renders children correctly",()=>{e.render(n.jsx(r.Box,{children:"Test Content"})),e.globalExpect(e.screen.getByText("Test Content")).toBeInTheDocument()})}),e.describe("As prop (semantic elements)",()=>{e.it("renders a different tag",()=>{e.render(n.jsx(r.Box,{as:"section",children:"Section Box"}));const t=e.screen.getByText("Section Box");e.globalExpect(t.tagName.toLowerCase()).toBe("section")}),e.it("renders as article",()=>{e.render(n.jsx(r.Box,{as:"article",children:"Article Box"}));const t=e.screen.getByText("Article Box");e.globalExpect(t.tagName.toLowerCase()).toBe("article")})}),e.describe("Combined props",()=>{e.it("applies padding, margin and display classes",()=>{e.render(n.jsx(r.Box,{padding:"lg",margin:"md",display:"flex",children:"Custom Box"}));const t=e.screen.getByText("Custom Box");e.globalExpect(t).toHaveClass("box","paddingLg","marginMd","flex")}),e.it("applies all props together",()=>{e.render(n.jsx(r.Box,{padding:"md",margin:"sm",display:"flex",background:"light",border:"thin",radius:"md",children:"Full Box"}));const t=e.screen.getByText("Full Box");e.globalExpect(t).toHaveClass("box","paddingMd","marginSm","flex","bgLight","borderThin","radiusMd")})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{e.render(n.jsx(r.Box,{className:"custom-box",children:"Content"})),e.globalExpect(e.screen.getByText("Content")).toHaveClass("custom-box")})}),e.describe("HTML attributes",()=>{e.it("supports data attributes",()=>{e.render(n.jsx(r.Box,{"data-testid":"my-box",children:"Content"})),e.globalExpect(e.screen.getByTestId("my-box")).toBeInTheDocument()}),e.it("supports onClick handler",()=>{const t=e.vi.fn();e.render(n.jsx(r.Box,{onClick:t,children:"Clickable"})),e.screen.getByText("Clickable").click(),e.globalExpect(t).toHaveBeenCalledTimes(1)})})});
1
+ "use strict";const n=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),r=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Box",()=>{e.describe("Rendering",()=>{e.it("renders with default props",()=>{e.render(n.jsx(r.Box,{children:"Content"}));const t=e.screen.getByText("Content");e.globalExpect(t).toHaveClass("box","paddingNone","marginNone","block")}),e.it("renders children correctly",()=>{e.render(n.jsx(r.Box,{children:"Test Content"})),e.globalExpect(e.screen.getByText("Test Content")).toBeInTheDocument()})}),e.describe("As prop (semantic elements)",()=>{e.it("renders a different tag",()=>{e.render(n.jsx(r.Box,{as:"section",children:"Section Box"}));const t=e.screen.getByText("Section Box");e.globalExpect(t.tagName.toLowerCase()).toBe("section")}),e.it("renders as article",()=>{e.render(n.jsx(r.Box,{as:"article",children:"Article Box"}));const t=e.screen.getByText("Article Box");e.globalExpect(t.tagName.toLowerCase()).toBe("article")})}),e.describe("Combined props",()=>{e.it("applies padding, margin and display classes",()=>{e.render(n.jsx(r.Box,{padding:"lg",margin:"md",display:"flex",children:"Custom Box"}));const t=e.screen.getByText("Custom Box");e.globalExpect(t).toHaveClass("box","paddingLg","marginMd","flex")}),e.it("applies all props together",()=>{e.render(n.jsx(r.Box,{padding:"md",margin:"sm",display:"flex",background:"light",border:"thin",radius:"md",children:"Full Box"}));const t=e.screen.getByText("Full Box");e.globalExpect(t).toHaveClass("box","paddingMd","marginSm","flex","bgLight","borderThin","radiusMd")})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{e.render(n.jsx(r.Box,{className:"custom-box",children:"Content"})),e.globalExpect(e.screen.getByText("Content")).toHaveClass("custom-box")})}),e.describe("HTML attributes",()=>{e.it("supports data attributes",()=>{e.render(n.jsx(r.Box,{"data-testid":"my-box",children:"Content"})),e.globalExpect(e.screen.getByTestId("my-box")).toBeInTheDocument()}),e.it("supports onClick handler",()=>{const t=e.vi.fn();e.render(n.jsx(r.Box,{onClick:t,children:"Clickable"})),e.screen.getByText("Clickable").click(),e.globalExpect(t).toHaveBeenCalledTimes(1)})})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { d as l, i as n, r as o, s, g as a, v as r } from "../../../react.esm-DjxyacK8.js";
2
+ import { d as l, i as n, r as o, s, g as a, v as r } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { Box as i } from "./index.mjs";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  l("Box", () => {