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 +1 @@
1
- "use strict";const s=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),r=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Breadcrumbs",()=>{const a=[{label:"Home",href:"/"},{label:"Dashboard",href:"/dashboard"},{label:"Settings"}];e.describe("Rendering",()=>{e.it("renders a breadcrumb nav with correct aria-label",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getByRole("navigation",{name:/breadcrumb/i});e.globalExpect(t).toBeInTheDocument()}),e.it("renders all items",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a})),a.forEach(t=>{e.globalExpect(e.screen.getByText(t.label)).toBeInTheDocument()})})}),e.describe("Links",()=>{e.it("renders links for all but the last item",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getAllByRole("link");e.globalExpect(t).toHaveLength(2),e.globalExpect(t[0]).toHaveAttribute("href","/"),e.globalExpect(t[1]).toHaveAttribute("href","/dashboard")}),e.it("links have aria-label",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getByRole("link",{name:/navigate to home/i});e.globalExpect(t).toBeInTheDocument()})}),e.describe("Last item (current page)",()=>{e.it("renders the last item as a span with active class",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getByText("Settings");e.globalExpect(t.tagName).toBe("SPAN"),e.globalExpect(t).toHaveClass("active")}),e.it("has aria-current='page' on last item",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getByText("Settings");e.globalExpect(t).toHaveAttribute("aria-current","page")})}),e.describe("Separators",()=>{e.it("renders separators between items",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getAllByText("/");e.globalExpect(t).toHaveLength(a.length-1)}),e.it("supports a custom separator",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a,separator:"|"}));const t=e.screen.getAllByText("|");e.globalExpect(t).toHaveLength(a.length-1)}),e.it("supports React node as separator",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a,separator:s.jsx("span",{children:"→"})}));const t=e.screen.getAllByText("→");e.globalExpect(t).toHaveLength(a.length-1)}),e.it("separators have aria-hidden",()=>{const{container:t}=e.render(s.jsx(r.Breadcrumbs,{items:a}));t.querySelectorAll(".separator").forEach(o=>{e.globalExpect(o).toHaveAttribute("aria-hidden","true")})})}),e.describe("Custom renderLink",()=>{e.it("supports a custom render link function",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a,renderLink:(n,o)=>s.jsx("a",{href:n,"data-testid":"custom-link",children:o})}));const t=e.screen.getAllByTestId("custom-link");e.globalExpect(t).toHaveLength(2),e.globalExpect(t[0]).toHaveAttribute("href","/")})}),e.describe("Icons",()=>{e.it("renders icons when provided",()=>{const t=[{label:"Home",href:"/",icon:s.jsx("span",{"data-testid":"home-icon",children:"🏠"})},{label:"Dashboard",href:"/dashboard",icon:s.jsx("span",{"data-testid":"dash-icon",children:"📊"})},{label:"Settings",icon:s.jsx("span",{"data-testid":"settings-icon",children:"⚙️"})}];e.render(s.jsx(r.Breadcrumbs,{items:t})),e.globalExpect(e.screen.getByTestId("home-icon")).toBeInTheDocument(),e.globalExpect(e.screen.getByTestId("dash-icon")).toBeInTheDocument(),e.globalExpect(e.screen.getByTestId("settings-icon")).toBeInTheDocument()}),e.it("icons have aria-hidden",()=>{const t=[{label:"Home",href:"/",icon:s.jsx("span",{children:"🏠"})}],{container:n}=e.render(s.jsx(r.Breadcrumbs,{items:t})),o=n.querySelector(".icon");e.globalExpect(o).toHaveAttribute("aria-hidden","true")})}),e.describe("maxItems collapse",()=>{const t=[{label:"Home",href:"/"},{label:"Products",href:"/products"},{label:"Electronics",href:"/products/electronics"},{label:"Computers",href:"/products/electronics/computers"},{label:"Laptops",href:"/products/electronics/computers/laptops"},{label:"Gaming"}];e.it("shows all items when maxItems is not set",()=>{e.render(s.jsx(r.Breadcrumbs,{items:t})),t.forEach(n=>{e.globalExpect(e.screen.getByText(n.label)).toBeInTheDocument()})}),e.it("shows all items when maxItems >= items.length",()=>{e.render(s.jsx(r.Breadcrumbs,{items:t,maxItems:10})),t.forEach(n=>{e.globalExpect(e.screen.getByText(n.label)).toBeInTheDocument()})}),e.it("collapses items with ellipsis when maxItems < items.length",()=>{e.render(s.jsx(r.Breadcrumbs,{items:t,maxItems:3})),e.globalExpect(e.screen.getByText("Home")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("...")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Laptops")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Gaming")).toBeInTheDocument(),e.globalExpect(e.screen.queryByText("Products")).not.toBeInTheDocument(),e.globalExpect(e.screen.queryByText("Electronics")).not.toBeInTheDocument()}),e.it("ellipsis is not a link",()=>{e.render(s.jsx(r.Breadcrumbs,{items:t,maxItems:3}));const n=e.screen.getByText("...");e.globalExpect(n.tagName).toBe("SPAN"),e.globalExpect(n).toHaveClass("ellipsis")})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{const{container:t}=e.render(s.jsx(r.Breadcrumbs,{items:a,className:"custom-breadcrumbs"})),n=t.querySelector(".breadcrumbs");e.globalExpect(n).toHaveClass("custom-breadcrumbs")})}),e.describe("HTML attributes",()=>{e.it("supports data attributes",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a,"data-testid":"my-breadcrumbs"})),e.globalExpect(e.screen.getByTestId("my-breadcrumbs")).toBeInTheDocument()}),e.it("supports id attribute",()=>{const{container:t}=e.render(s.jsx(r.Breadcrumbs,{items:a,id:"breadcrumb-nav"}));e.globalExpect(t.querySelector("#breadcrumb-nav")).toBeInTheDocument()})}),e.describe("Edge cases",()=>{e.it("handles single item",()=>{const t=[{label:"Home"}];e.render(s.jsx(r.Breadcrumbs,{items:t})),e.globalExpect(e.screen.getByText("Home")).toBeInTheDocument(),e.globalExpect(e.screen.queryByText("/")).not.toBeInTheDocument()}),e.it("handles empty items array",()=>{const{container:t}=e.render(s.jsx(r.Breadcrumbs,{items:[]})),n=t.querySelector(".list");e.globalExpect(n==null?void 0:n.children).toHaveLength(0)}),e.it("handles items without href",()=>{const t=[{label:"Item 1"},{label:"Item 2"}];e.render(s.jsx(r.Breadcrumbs,{items:t})),e.globalExpect(e.screen.queryByRole("link")).not.toBeInTheDocument(),e.globalExpect(e.screen.getByText("Item 1")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Item 2")).toBeInTheDocument()})})});
1
+ "use strict";const s=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),r=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Breadcrumbs",()=>{const a=[{label:"Home",href:"/"},{label:"Dashboard",href:"/dashboard"},{label:"Settings"}];e.describe("Rendering",()=>{e.it("renders a breadcrumb nav with correct aria-label",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getByRole("navigation",{name:/breadcrumb/i});e.globalExpect(t).toBeInTheDocument()}),e.it("renders all items",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a})),a.forEach(t=>{e.globalExpect(e.screen.getByText(t.label)).toBeInTheDocument()})})}),e.describe("Links",()=>{e.it("renders links for all but the last item",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getAllByRole("link");e.globalExpect(t).toHaveLength(2),e.globalExpect(t[0]).toHaveAttribute("href","/"),e.globalExpect(t[1]).toHaveAttribute("href","/dashboard")}),e.it("links have aria-label",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getByRole("link",{name:/navigate to home/i});e.globalExpect(t).toBeInTheDocument()})}),e.describe("Last item (current page)",()=>{e.it("renders the last item as a span with active class",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getByText("Settings");e.globalExpect(t.tagName).toBe("SPAN"),e.globalExpect(t).toHaveClass("active")}),e.it("has aria-current='page' on last item",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getByText("Settings");e.globalExpect(t).toHaveAttribute("aria-current","page")})}),e.describe("Separators",()=>{e.it("renders separators between items",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getAllByText("/");e.globalExpect(t).toHaveLength(a.length-1)}),e.it("supports a custom separator",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a,separator:"|"}));const t=e.screen.getAllByText("|");e.globalExpect(t).toHaveLength(a.length-1)}),e.it("supports React node as separator",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a,separator:s.jsx("span",{children:"→"})}));const t=e.screen.getAllByText("→");e.globalExpect(t).toHaveLength(a.length-1)}),e.it("separators have aria-hidden",()=>{const{container:t}=e.render(s.jsx(r.Breadcrumbs,{items:a}));t.querySelectorAll(".separator").forEach(o=>{e.globalExpect(o).toHaveAttribute("aria-hidden","true")})})}),e.describe("Custom renderLink",()=>{e.it("supports a custom render link function",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a,renderLink:(n,o)=>s.jsx("a",{href:n,"data-testid":"custom-link",children:o})}));const t=e.screen.getAllByTestId("custom-link");e.globalExpect(t).toHaveLength(2),e.globalExpect(t[0]).toHaveAttribute("href","/")})}),e.describe("Icons",()=>{e.it("renders icons when provided",()=>{const t=[{label:"Home",href:"/",icon:s.jsx("span",{"data-testid":"home-icon",children:"🏠"})},{label:"Dashboard",href:"/dashboard",icon:s.jsx("span",{"data-testid":"dash-icon",children:"📊"})},{label:"Settings",icon:s.jsx("span",{"data-testid":"settings-icon",children:"⚙️"})}];e.render(s.jsx(r.Breadcrumbs,{items:t})),e.globalExpect(e.screen.getByTestId("home-icon")).toBeInTheDocument(),e.globalExpect(e.screen.getByTestId("dash-icon")).toBeInTheDocument(),e.globalExpect(e.screen.getByTestId("settings-icon")).toBeInTheDocument()}),e.it("icons have aria-hidden",()=>{const t=[{label:"Home",href:"/",icon:s.jsx("span",{children:"🏠"})}],{container:n}=e.render(s.jsx(r.Breadcrumbs,{items:t})),o=n.querySelector(".icon");e.globalExpect(o).toHaveAttribute("aria-hidden","true")})}),e.describe("maxItems collapse",()=>{const t=[{label:"Home",href:"/"},{label:"Products",href:"/products"},{label:"Electronics",href:"/products/electronics"},{label:"Computers",href:"/products/electronics/computers"},{label:"Laptops",href:"/products/electronics/computers/laptops"},{label:"Gaming"}];e.it("shows all items when maxItems is not set",()=>{e.render(s.jsx(r.Breadcrumbs,{items:t})),t.forEach(n=>{e.globalExpect(e.screen.getByText(n.label)).toBeInTheDocument()})}),e.it("shows all items when maxItems >= items.length",()=>{e.render(s.jsx(r.Breadcrumbs,{items:t,maxItems:10})),t.forEach(n=>{e.globalExpect(e.screen.getByText(n.label)).toBeInTheDocument()})}),e.it("collapses items with ellipsis when maxItems < items.length",()=>{e.render(s.jsx(r.Breadcrumbs,{items:t,maxItems:3})),e.globalExpect(e.screen.getByText("Home")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("...")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Laptops")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Gaming")).toBeInTheDocument(),e.globalExpect(e.screen.queryByText("Products")).not.toBeInTheDocument(),e.globalExpect(e.screen.queryByText("Electronics")).not.toBeInTheDocument()}),e.it("ellipsis is not a link",()=>{e.render(s.jsx(r.Breadcrumbs,{items:t,maxItems:3}));const n=e.screen.getByText("...");e.globalExpect(n.tagName).toBe("SPAN"),e.globalExpect(n).toHaveClass("ellipsis")})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{const{container:t}=e.render(s.jsx(r.Breadcrumbs,{items:a,className:"custom-breadcrumbs"})),n=t.querySelector(".breadcrumbs");e.globalExpect(n).toHaveClass("custom-breadcrumbs")})}),e.describe("HTML attributes",()=>{e.it("supports data attributes",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a,"data-testid":"my-breadcrumbs"})),e.globalExpect(e.screen.getByTestId("my-breadcrumbs")).toBeInTheDocument()}),e.it("supports id attribute",()=>{const{container:t}=e.render(s.jsx(r.Breadcrumbs,{items:a,id:"breadcrumb-nav"}));e.globalExpect(t.querySelector("#breadcrumb-nav")).toBeInTheDocument()})}),e.describe("Edge cases",()=>{e.it("handles single item",()=>{const t=[{label:"Home"}];e.render(s.jsx(r.Breadcrumbs,{items:t})),e.globalExpect(e.screen.getByText("Home")).toBeInTheDocument(),e.globalExpect(e.screen.queryByText("/")).not.toBeInTheDocument()}),e.it("handles empty items array",()=>{const{container:t}=e.render(s.jsx(r.Breadcrumbs,{items:[]})),n=t.querySelector(".list");e.globalExpect(n==null?void 0:n.children).toHaveLength(0)}),e.it("handles items without href",()=>{const t=[{label:"Item 1"},{label:"Item 2"}];e.render(s.jsx(r.Breadcrumbs,{items:t})),e.globalExpect(e.screen.queryByRole("link")).not.toBeInTheDocument(),e.globalExpect(e.screen.getByText("Item 1")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Item 2")).toBeInTheDocument()})})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- import { d as l, i as o, r as n, s as a, g as t } from "../../../react.esm-DjxyacK8.js";
2
+ import { d as l, i as o, r as n, s as a, g as t } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { Breadcrumbs as r } from "./index.mjs";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  l("Breadcrumbs", () => {
@@ -1 +1 @@
1
- "use strict";const n=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),r=require("../../../index-CUjZDv40.cjs");require("../../../index-CW_Ehh1q.cjs");const a=e.vi.fn();e.vi.mock("../../context/ModalContext",()=>({useModal:()=>({open:a})}));e.describe("Button",()=>{e.describe("Rendering as button",()=>{e.it("renders as a button by default",()=>{e.render(n.jsx(r.Button,{variant:"primary",children:"Click Me"}));const t=e.screen.getByRole("button",{name:"Click Me"});e.globalExpect(t).toBeInTheDocument(),e.globalExpect(t.tagName).toBe("BUTTON")}),e.it("renders as a button when 'as' is set to 'button'",()=>{e.render(n.jsx(r.Button,{as:"button",variant:"primary",children:"Click Me"}));const t=e.screen.getByRole("button",{name:"Click Me"});e.globalExpect(t).toBeInTheDocument(),e.globalExpect(t).toHaveClass("button","primary")}),e.it("has type='button' by default",()=>{e.render(n.jsx(r.Button,{variant:"primary",children:"Click Me"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("type","button")}),e.it("respects the disabled prop on buttons",()=>{e.render(n.jsx(r.Button,{as:"button",variant:"primary",disabled:!0,children:"Disabled"}));const t=e.screen.getByRole("button",{name:"Disabled"});e.globalExpect(t).toBeDisabled()}),e.it("calls onClick when clicked",()=>{const t=e.vi.fn();e.render(n.jsx(r.Button,{variant:"primary",onClick:t,children:"Click Me"})),e.fireEvent.click(e.screen.getByRole("button")),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("does not call onClick when disabled",()=>{const t=e.vi.fn();e.render(n.jsx(r.Button,{variant:"primary",onClick:t,disabled:!0,children:"Disabled"})),e.fireEvent.click(e.screen.getByRole("button")),e.globalExpect(t).not.toHaveBeenCalled()})}),e.describe("Rendering as anchor",()=>{e.it("renders as an anchor when 'as' is set to 'a'",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",variant:"link",children:"Click Me"}));const t=e.screen.getByRole("link",{name:"Click Me"});e.globalExpect(t).toBeInTheDocument(),e.globalExpect(t.tagName).toBe("A"),e.globalExpect(t).toHaveAttribute("href","/test"),e.globalExpect(t).toHaveClass("button","link")}),e.it("adds rel='noopener noreferrer' when target is '_blank'",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",target:"_blank",variant:"link",children:"External"})),e.globalExpect(e.screen.getByRole("link",{name:"External"})).toHaveAttribute("rel","noopener noreferrer")}),e.it("preserves custom rel attribute and adds security",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",target:"_blank",rel:"author",variant:"link",children:"External"})),e.globalExpect(e.screen.getByRole("link")).toHaveAttribute("rel","author noopener noreferrer")}),e.it("does not add security rel for internal links",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",variant:"link",children:"Internal"})),e.globalExpect(e.screen.getByRole("link")).not.toHaveAttribute("rel")}),e.it("adds aria-disabled when disabled",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",variant:"link",disabled:!0,children:"Disabled Link"})),e.globalExpect(e.screen.getByRole("link")).toHaveAttribute("aria-disabled","true")})}),e.describe("Scroll button",()=>{e.it("renders as a scroll button when 'as' is set to 'scroll'",()=>{e.render(n.jsx(r.Button,{as:"scroll",scrollTarget:"section-1",variant:"primary",children:"Scroll Down"})),e.globalExpect(e.screen.getByRole("button",{name:"Scroll to section-1"})).toBeInTheDocument()}),e.it("has proper aria-label for scroll button",()=>{e.render(n.jsx(r.Button,{as:"scroll",scrollTarget:"footer",variant:"primary",children:"To Footer"})),e.globalExpect(e.screen.getByRole("button")).toHaveAttribute("aria-label","Scroll to footer")}),e.it("scrolls to target element when clicked",()=>{const t=document.createElement("div");t.id="target-section",document.body.appendChild(t);const o=e.vi.fn();t.scrollIntoView=o,e.render(n.jsx(r.Button,{as:"scroll",scrollTarget:"target-section",variant:"primary",children:"Scroll"})),e.fireEvent.click(e.screen.getByRole("button")),e.globalExpect(o).toHaveBeenCalledWith({behavior:"smooth",block:"start"}),document.body.removeChild(t)}),e.it("uses scrollTo with offset when scrollOffset is set",()=>{const t=document.createElement("div");t.id="offset-section",document.body.appendChild(t);const o=e.vi.fn();window.scrollTo=o,e.vi.spyOn(t,"getBoundingClientRect").mockReturnValue({top:200}),e.render(n.jsx(r.Button,{as:"scroll",scrollTarget:"offset-section",scrollOffset:80,variant:"primary",children:"Scroll"})),e.fireEvent.click(e.screen.getByRole("button")),e.globalExpect(o).toHaveBeenCalledWith({top:e.globalExpect.any(Number),behavior:"smooth"}),document.body.removeChild(t)}),e.it("does not error if scroll target does not exist",()=>{e.render(n.jsx(r.Button,{as:"scroll",scrollTarget:"non-existent",variant:"primary",children:"Scroll"})),e.globalExpect(()=>e.fireEvent.click(e.screen.getByRole("button"))).not.toThrow()})}),e.describe("Modal button",()=>{e.it("renders as a button when 'as' is set to 'modal'",()=>{e.render(n.jsx(r.Button,{as:"modal",modalPayload:{formReference:{_id:"form-modal",heading:{title:[{_type:"block",_key:"a",children:[{_type:"span",_key:"b",text:"Contact Us",marks:[]}],markDefs:[],style:"normal"}]}}},variant:"primary",children:"Open Modal"})),e.globalExpect(e.screen.getByRole("button",{name:"Open Modal"})).toBeInTheDocument()}),e.it("calls useModal open with the payload when clicked",()=>{const t={formReference:{_id:"form-123",heading:{title:[{_type:"block",_key:"c",children:[{_type:"span",_key:"d",text:"Contact",marks:[]}],markDefs:[],style:"normal"}]}}};e.render(n.jsx(r.Button,{as:"modal",modalPayload:t,variant:"primary",children:"Open Form"})),e.fireEvent.click(e.screen.getByRole("button",{name:"Open Form"})),e.globalExpect(a).toHaveBeenCalledWith(t)}),e.it("is disabled when disabled prop is set",()=>{e.render(n.jsx(r.Button,{as:"modal",modalPayload:{formReference:{_id:"form-disabled"}},variant:"primary",disabled:!0,children:"Disabled Modal"})),e.globalExpect(e.screen.getByRole("button")).toBeDisabled()}),e.it("does not call open when disabled",()=>{a.mockClear(),e.render(n.jsx(r.Button,{as:"modal",modalPayload:{formReference:{_id:"form-disabled"}},variant:"primary",disabled:!0,children:"Disabled"})),e.fireEvent.click(e.screen.getByRole("button")),e.globalExpect(a).not.toHaveBeenCalled()})}),e.describe("Variants",()=>{["primary","primaryInverted","secondary","secondaryInverted","link","linkInverted","underline","underlineInverted","blurred","blurredInverted"].forEach(o=>{e.it(`applies ${o} variant class`,()=>{e.render(n.jsx(r.Button,{variant:o,children:"Button"})),e.globalExpect(e.screen.getByRole("button")).toHaveClass(o)})}),e.it("uses primary variant by default",()=>{e.render(n.jsx(r.Button,{children:"Default"})),e.globalExpect(e.screen.getByRole("button")).toHaveClass("primary")})}),e.describe("Icons",()=>{e.it("includes icon when icon prop is provided",()=>{e.render(n.jsx(r.Button,{variant:"primary",icon:"arrow-right",children:"Next"})),e.globalExpect(document.querySelector(".icon")).toBeInTheDocument(),e.globalExpect(document.querySelector(".icon svg")).toBeInTheDocument()}),e.it("places icon on the left when iconAlignment is 'left'",()=>{e.render(n.jsx(r.Button,{variant:"primary",icon:"arrow-left",iconAlignment:"left",children:"Back"})),e.globalExpect(document.querySelector(".content")).toHaveClass("iconLeft")}),e.it("places icon on the right when iconAlignment is 'right'",()=>{e.render(n.jsx(r.Button,{variant:"primary",icon:"arrow-right",iconAlignment:"right",children:"Next"})),e.globalExpect(document.querySelector(".content")).toHaveClass("iconRight")}),e.it("uses right alignment by default",()=>{e.render(n.jsx(r.Button,{variant:"primary",icon:"arrow-right",children:"Default Icon"})),e.globalExpect(document.querySelector(".content")).toHaveClass("iconRight")}),e.it("icon has aria-hidden attribute",()=>{e.render(n.jsx(r.Button,{variant:"primary",icon:"settings",children:"Settings"})),e.globalExpect(document.querySelector(".icon")).toHaveAttribute("aria-hidden","true")})}),e.describe("Image display",()=>{e.it("renders image when displayType is 'image' and imageSrc is provided",()=>{e.render(n.jsx(r.Button,{variant:"primary",displayType:"image",imageSrc:"/logo.png",imageAlt:"Company Logo",children:"Text not shown"}));const t=document.querySelector("img");e.globalExpect(t).toHaveAttribute("src","/logo.png"),e.globalExpect(t).toHaveAttribute("alt","Company Logo")}),e.it("renders ImageComponent when provided",()=>{const t=()=>n.jsx("div",{"data-testid":"custom-image",children:"Custom"});e.render(n.jsx(r.Button,{variant:"primary",displayType:"image",ImageComponent:n.jsx(t,{}),children:"Text"})),e.globalExpect(e.screen.getByTestId("custom-image")).toBeInTheDocument()}),e.it("applies image class when displayType is image",()=>{e.render(n.jsx(r.Button,{variant:"primary",displayType:"image",imageSrc:"/logo.png",children:"Text"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveClass("image"),e.globalExpect(t).not.toHaveClass("primary")})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{e.render(n.jsx(r.Button,{variant:"primary",className:"custom-button",children:"Custom"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveClass("custom-button","button","primary")})}),e.describe("Accessibility",()=>{e.it("has button role for button element",()=>{e.render(n.jsx(r.Button,{variant:"primary",children:"Click"})),e.globalExpect(e.screen.getByRole("button")).toBeInTheDocument()}),e.it("has link role for anchor element",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",variant:"link",children:"Link"})),e.globalExpect(e.screen.getByRole("link")).toBeInTheDocument()}),e.it("supports aria attributes",()=>{e.render(n.jsx(r.Button,{variant:"primary","aria-label":"Custom Label","aria-describedby":"desc",children:"Button"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-label","Custom Label"),e.globalExpect(t).toHaveAttribute("aria-describedby","desc")})}),e.describe("Edge cases",()=>{e.it("handles undefined variant",()=>{e.render(n.jsx(r.Button,{variant:void 0,children:"No Variant"})),e.globalExpect(e.screen.getByRole("button")).toHaveClass("button")}),e.it("handles complex children",()=>{e.render(n.jsxs(r.Button,{variant:"primary",children:[n.jsx("span",{children:"Complex"}),n.jsx("strong",{children:"Children"})]})),e.globalExpect(e.screen.getByText("Complex")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Children")).toBeInTheDocument()})})});
1
+ "use strict";const n=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),r=require("../../../index-CUjZDv40.cjs");require("../../../index-CW_Ehh1q.cjs");const a=e.vi.fn();e.vi.mock("../../context/ModalContext",()=>({useModal:()=>({open:a})}));e.describe("Button",()=>{e.describe("Rendering as button",()=>{e.it("renders as a button by default",()=>{e.render(n.jsx(r.Button,{variant:"primary",children:"Click Me"}));const t=e.screen.getByRole("button",{name:"Click Me"});e.globalExpect(t).toBeInTheDocument(),e.globalExpect(t.tagName).toBe("BUTTON")}),e.it("renders as a button when 'as' is set to 'button'",()=>{e.render(n.jsx(r.Button,{as:"button",variant:"primary",children:"Click Me"}));const t=e.screen.getByRole("button",{name:"Click Me"});e.globalExpect(t).toBeInTheDocument(),e.globalExpect(t).toHaveClass("button","primary")}),e.it("has type='button' by default",()=>{e.render(n.jsx(r.Button,{variant:"primary",children:"Click Me"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("type","button")}),e.it("respects the disabled prop on buttons",()=>{e.render(n.jsx(r.Button,{as:"button",variant:"primary",disabled:!0,children:"Disabled"}));const t=e.screen.getByRole("button",{name:"Disabled"});e.globalExpect(t).toBeDisabled()}),e.it("calls onClick when clicked",()=>{const t=e.vi.fn();e.render(n.jsx(r.Button,{variant:"primary",onClick:t,children:"Click Me"})),e.fireEvent.click(e.screen.getByRole("button")),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("does not call onClick when disabled",()=>{const t=e.vi.fn();e.render(n.jsx(r.Button,{variant:"primary",onClick:t,disabled:!0,children:"Disabled"})),e.fireEvent.click(e.screen.getByRole("button")),e.globalExpect(t).not.toHaveBeenCalled()})}),e.describe("Rendering as anchor",()=>{e.it("renders as an anchor when 'as' is set to 'a'",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",variant:"link",children:"Click Me"}));const t=e.screen.getByRole("link",{name:"Click Me"});e.globalExpect(t).toBeInTheDocument(),e.globalExpect(t.tagName).toBe("A"),e.globalExpect(t).toHaveAttribute("href","/test"),e.globalExpect(t).toHaveClass("button","link")}),e.it("adds rel='noopener noreferrer' when target is '_blank'",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",target:"_blank",variant:"link",children:"External"})),e.globalExpect(e.screen.getByRole("link",{name:"External"})).toHaveAttribute("rel","noopener noreferrer")}),e.it("preserves custom rel attribute and adds security",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",target:"_blank",rel:"author",variant:"link",children:"External"})),e.globalExpect(e.screen.getByRole("link")).toHaveAttribute("rel","author noopener noreferrer")}),e.it("does not add security rel for internal links",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",variant:"link",children:"Internal"})),e.globalExpect(e.screen.getByRole("link")).not.toHaveAttribute("rel")}),e.it("adds aria-disabled when disabled",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",variant:"link",disabled:!0,children:"Disabled Link"})),e.globalExpect(e.screen.getByRole("link")).toHaveAttribute("aria-disabled","true")})}),e.describe("Scroll button",()=>{e.it("renders as a scroll button when 'as' is set to 'scroll'",()=>{e.render(n.jsx(r.Button,{as:"scroll",scrollTarget:"section-1",variant:"primary",children:"Scroll Down"})),e.globalExpect(e.screen.getByRole("button",{name:"Scroll to section-1"})).toBeInTheDocument()}),e.it("has proper aria-label for scroll button",()=>{e.render(n.jsx(r.Button,{as:"scroll",scrollTarget:"footer",variant:"primary",children:"To Footer"})),e.globalExpect(e.screen.getByRole("button")).toHaveAttribute("aria-label","Scroll to footer")}),e.it("scrolls to target element when clicked",()=>{const t=document.createElement("div");t.id="target-section",document.body.appendChild(t);const o=e.vi.fn();t.scrollIntoView=o,e.render(n.jsx(r.Button,{as:"scroll",scrollTarget:"target-section",variant:"primary",children:"Scroll"})),e.fireEvent.click(e.screen.getByRole("button")),e.globalExpect(o).toHaveBeenCalledWith({behavior:"smooth",block:"start"}),document.body.removeChild(t)}),e.it("uses scrollTo with offset when scrollOffset is set",()=>{const t=document.createElement("div");t.id="offset-section",document.body.appendChild(t);const o=e.vi.fn();window.scrollTo=o,e.vi.spyOn(t,"getBoundingClientRect").mockReturnValue({top:200}),e.render(n.jsx(r.Button,{as:"scroll",scrollTarget:"offset-section",scrollOffset:80,variant:"primary",children:"Scroll"})),e.fireEvent.click(e.screen.getByRole("button")),e.globalExpect(o).toHaveBeenCalledWith({top:e.globalExpect.any(Number),behavior:"smooth"}),document.body.removeChild(t)}),e.it("does not error if scroll target does not exist",()=>{e.render(n.jsx(r.Button,{as:"scroll",scrollTarget:"non-existent",variant:"primary",children:"Scroll"})),e.globalExpect(()=>e.fireEvent.click(e.screen.getByRole("button"))).not.toThrow()})}),e.describe("Modal button",()=>{e.it("renders as a button when 'as' is set to 'modal'",()=>{e.render(n.jsx(r.Button,{as:"modal",modalPayload:{formReference:{_id:"form-modal",heading:{title:[{_type:"block",_key:"a",children:[{_type:"span",_key:"b",text:"Contact Us",marks:[]}],markDefs:[],style:"normal"}]}}},variant:"primary",children:"Open Modal"})),e.globalExpect(e.screen.getByRole("button",{name:"Open Modal"})).toBeInTheDocument()}),e.it("calls useModal open with the payload when clicked",()=>{const t={formReference:{_id:"form-123",heading:{title:[{_type:"block",_key:"c",children:[{_type:"span",_key:"d",text:"Contact",marks:[]}],markDefs:[],style:"normal"}]}}};e.render(n.jsx(r.Button,{as:"modal",modalPayload:t,variant:"primary",children:"Open Form"})),e.fireEvent.click(e.screen.getByRole("button",{name:"Open Form"})),e.globalExpect(a).toHaveBeenCalledWith(t)}),e.it("is disabled when disabled prop is set",()=>{e.render(n.jsx(r.Button,{as:"modal",modalPayload:{formReference:{_id:"form-disabled"}},variant:"primary",disabled:!0,children:"Disabled Modal"})),e.globalExpect(e.screen.getByRole("button")).toBeDisabled()}),e.it("does not call open when disabled",()=>{a.mockClear(),e.render(n.jsx(r.Button,{as:"modal",modalPayload:{formReference:{_id:"form-disabled"}},variant:"primary",disabled:!0,children:"Disabled"})),e.fireEvent.click(e.screen.getByRole("button")),e.globalExpect(a).not.toHaveBeenCalled()})}),e.describe("Variants",()=>{["primary","primaryInverted","secondary","secondaryInverted","link","linkInverted","underline","underlineInverted","blurred","blurredInverted"].forEach(o=>{e.it(`applies ${o} variant class`,()=>{e.render(n.jsx(r.Button,{variant:o,children:"Button"})),e.globalExpect(e.screen.getByRole("button")).toHaveClass(o)})}),e.it("uses primary variant by default",()=>{e.render(n.jsx(r.Button,{children:"Default"})),e.globalExpect(e.screen.getByRole("button")).toHaveClass("primary")})}),e.describe("Icons",()=>{e.it("includes icon when icon prop is provided",()=>{e.render(n.jsx(r.Button,{variant:"primary",icon:"arrow-right",children:"Next"})),e.globalExpect(document.querySelector(".icon")).toBeInTheDocument(),e.globalExpect(document.querySelector(".icon svg")).toBeInTheDocument()}),e.it("places icon on the left when iconAlignment is 'left'",()=>{e.render(n.jsx(r.Button,{variant:"primary",icon:"arrow-left",iconAlignment:"left",children:"Back"})),e.globalExpect(document.querySelector(".content")).toHaveClass("iconLeft")}),e.it("places icon on the right when iconAlignment is 'right'",()=>{e.render(n.jsx(r.Button,{variant:"primary",icon:"arrow-right",iconAlignment:"right",children:"Next"})),e.globalExpect(document.querySelector(".content")).toHaveClass("iconRight")}),e.it("uses right alignment by default",()=>{e.render(n.jsx(r.Button,{variant:"primary",icon:"arrow-right",children:"Default Icon"})),e.globalExpect(document.querySelector(".content")).toHaveClass("iconRight")}),e.it("icon has aria-hidden attribute",()=>{e.render(n.jsx(r.Button,{variant:"primary",icon:"settings",children:"Settings"})),e.globalExpect(document.querySelector(".icon")).toHaveAttribute("aria-hidden","true")})}),e.describe("Image display",()=>{e.it("renders image when displayType is 'image' and imageSrc is provided",()=>{e.render(n.jsx(r.Button,{variant:"primary",displayType:"image",imageSrc:"/logo.png",imageAlt:"Company Logo",children:"Text not shown"}));const t=document.querySelector("img");e.globalExpect(t).toHaveAttribute("src","/logo.png"),e.globalExpect(t).toHaveAttribute("alt","Company Logo")}),e.it("renders ImageComponent when provided",()=>{const t=()=>n.jsx("div",{"data-testid":"custom-image",children:"Custom"});e.render(n.jsx(r.Button,{variant:"primary",displayType:"image",ImageComponent:n.jsx(t,{}),children:"Text"})),e.globalExpect(e.screen.getByTestId("custom-image")).toBeInTheDocument()}),e.it("applies image class when displayType is image",()=>{e.render(n.jsx(r.Button,{variant:"primary",displayType:"image",imageSrc:"/logo.png",children:"Text"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveClass("image"),e.globalExpect(t).not.toHaveClass("primary")})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{e.render(n.jsx(r.Button,{variant:"primary",className:"custom-button",children:"Custom"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveClass("custom-button","button","primary")})}),e.describe("Accessibility",()=>{e.it("has button role for button element",()=>{e.render(n.jsx(r.Button,{variant:"primary",children:"Click"})),e.globalExpect(e.screen.getByRole("button")).toBeInTheDocument()}),e.it("has link role for anchor element",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",variant:"link",children:"Link"})),e.globalExpect(e.screen.getByRole("link")).toBeInTheDocument()}),e.it("supports aria attributes",()=>{e.render(n.jsx(r.Button,{variant:"primary","aria-label":"Custom Label","aria-describedby":"desc",children:"Button"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-label","Custom Label"),e.globalExpect(t).toHaveAttribute("aria-describedby","desc")})}),e.describe("Edge cases",()=>{e.it("handles undefined variant",()=>{e.render(n.jsx(r.Button,{variant:void 0,children:"No Variant"})),e.globalExpect(e.screen.getByRole("button")).toHaveClass("button")}),e.it("handles complex children",()=>{e.render(n.jsxs(r.Button,{variant:"primary",children:[n.jsx("span",{children:"Complex"}),n.jsx("strong",{children:"Children"})]})),e.globalExpect(e.screen.getByText("Complex")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Children")).toBeInTheDocument()})})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as o, jsxs as u } from "react/jsx-runtime";
2
- import { v as d, d as l, i as a, r as n, s as i, g as e, f as c } from "../../../react.esm-DjxyacK8.js";
2
+ import { v as d, d as l, i as a, r as n, s as i, g as e, f as c } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { B as r } from "../../../index--KCTRJKr.js";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  const m = d.fn();
@@ -1 +1 @@
1
- "use strict";const t=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),o=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("ButtonGroup",()=>{e.describe("Rendering",()=>{e.it("renders children",()=>{e.render(t.jsxs(o.ButtonGroup,{children:[t.jsx("button",{children:"One"}),t.jsx("button",{children:"Two"})]})),e.globalExpect(e.screen.getByText("One")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Two")).toBeInTheDocument()}),e.it("renders multiple button types",()=>{e.render(t.jsxs(o.ButtonGroup,{children:[t.jsx("button",{children:"Button"}),t.jsx("a",{href:"#",children:"Link"}),t.jsx("span",{children:"Text"})]})),e.globalExpect(e.screen.getByText("Button")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Link")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Text")).toBeInTheDocument()})}),e.describe("Orientation",()=>{e.it("applies horizontal orientation by default",()=>{const{container:n}=e.render(t.jsxs(o.ButtonGroup,{children:[t.jsx("button",{children:"One"}),t.jsx("button",{children:"Two"})]}));e.globalExpect(n.firstChild).toHaveClass("horizontal")}),e.it("applies vertical orientation when specified",()=>{const{container:n}=e.render(t.jsxs(o.ButtonGroup,{orientation:"vertical",children:[t.jsx("button",{children:"One"}),t.jsx("button",{children:"Two"})]}));e.globalExpect(n.firstChild).toHaveClass("vertical")})}),e.describe("Alignment",()=>{e.it("applies left alignment by default",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("left")}),e.it("applies center alignment when specified",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{alignment:"center",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("center")}),e.it("applies right alignment when specified",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{alignment:"right",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("right")})}),e.describe("Size",()=>{e.it("applies md size by default",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("md")}),e.it("applies sm size when specified",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{spacing:"sm",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("sm")}),e.it("applies lg size when specified",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{spacing:"lg",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("lg")})}),e.describe("Full width",()=>{e.it("does not apply fullWidth by default",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).not.toHaveClass("fullWidth")}),e.it("applies fullWidth when specified",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{fullWidth:!0,children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("fullWidth")})}),e.describe("Custom className",()=>{e.it("accepts a custom className",()=>{const{container:n}=e.render(t.jsxs(o.ButtonGroup,{className:"custom-class",children:[t.jsx("button",{children:"One"}),t.jsx("button",{children:"Two"})]}));e.globalExpect(n.firstChild).toHaveClass("custom-class"),e.globalExpect(n.firstChild).toHaveClass("buttonGroup")})}),e.describe("ARIA and accessibility",()=>{e.it("has role='group' by default",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveAttribute("role","group")}),e.it("accepts custom role",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{role:"toolbar",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveAttribute("role","toolbar")}),e.it("supports aria-label",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{"aria-label":"Actions",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveAttribute("aria-label","Actions")})}),e.describe("HTML attributes",()=>{e.it("supports data attributes",()=>{e.render(t.jsx(o.ButtonGroup,{"data-testid":"my-group",children:t.jsx("button",{children:"One"})})),e.globalExpect(e.screen.getByTestId("my-group")).toBeInTheDocument()}),e.it("supports id attribute",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{id:"button-group-1",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.querySelector("#button-group-1")).toBeInTheDocument()}),e.it("supports onClick on container",()=>{const n=e.vi.fn(),{container:r}=e.render(t.jsx(o.ButtonGroup,{onClick:n,children:t.jsx("button",{children:"One"})}));e.fireEvent.click(r.firstChild),e.globalExpect(n).toHaveBeenCalledTimes(1)})}),e.describe("Combined props",()=>{e.it("combines orientation, alignment, and size",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{orientation:"vertical",alignment:"center",spacing:"lg",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("vertical"),e.globalExpect(n.firstChild).toHaveClass("center"),e.globalExpect(n.firstChild).toHaveClass("lg")}),e.it("combines all props",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{orientation:"horizontal",alignment:"right",spacing:"sm",fullWidth:!0,className:"custom",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("horizontal"),e.globalExpect(n.firstChild).toHaveClass("right"),e.globalExpect(n.firstChild).toHaveClass("sm"),e.globalExpect(n.firstChild).toHaveClass("fullWidth"),e.globalExpect(n.firstChild).toHaveClass("custom")})}),e.describe("Edge cases",()=>{e.it("handles single child",()=>{e.render(t.jsx(o.ButtonGroup,{children:t.jsx("button",{children:"Only One"})})),e.globalExpect(e.screen.getByText("Only One")).toBeInTheDocument()}),e.it("handles many children",()=>{e.render(t.jsx(o.ButtonGroup,{children:Array.from({length:10},(n,r)=>t.jsxs("button",{children:["Button ",r+1]},r))})),e.globalExpect(e.screen.getByText("Button 1")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Button 10")).toBeInTheDocument()})})});
1
+ "use strict";const t=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),o=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("ButtonGroup",()=>{e.describe("Rendering",()=>{e.it("renders children",()=>{e.render(t.jsxs(o.ButtonGroup,{children:[t.jsx("button",{children:"One"}),t.jsx("button",{children:"Two"})]})),e.globalExpect(e.screen.getByText("One")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Two")).toBeInTheDocument()}),e.it("renders multiple button types",()=>{e.render(t.jsxs(o.ButtonGroup,{children:[t.jsx("button",{children:"Button"}),t.jsx("a",{href:"#",children:"Link"}),t.jsx("span",{children:"Text"})]})),e.globalExpect(e.screen.getByText("Button")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Link")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Text")).toBeInTheDocument()})}),e.describe("Orientation",()=>{e.it("applies horizontal orientation by default",()=>{const{container:n}=e.render(t.jsxs(o.ButtonGroup,{children:[t.jsx("button",{children:"One"}),t.jsx("button",{children:"Two"})]}));e.globalExpect(n.firstChild).toHaveClass("horizontal")}),e.it("applies vertical orientation when specified",()=>{const{container:n}=e.render(t.jsxs(o.ButtonGroup,{orientation:"vertical",children:[t.jsx("button",{children:"One"}),t.jsx("button",{children:"Two"})]}));e.globalExpect(n.firstChild).toHaveClass("vertical")})}),e.describe("Alignment",()=>{e.it("applies left alignment by default",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("left")}),e.it("applies center alignment when specified",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{alignment:"center",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("center")}),e.it("applies right alignment when specified",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{alignment:"right",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("right")})}),e.describe("Size",()=>{e.it("applies md size by default",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("md")}),e.it("applies sm size when specified",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{spacing:"sm",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("sm")}),e.it("applies lg size when specified",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{spacing:"lg",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("lg")})}),e.describe("Full width",()=>{e.it("does not apply fullWidth by default",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).not.toHaveClass("fullWidth")}),e.it("applies fullWidth when specified",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{fullWidth:!0,children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("fullWidth")})}),e.describe("Custom className",()=>{e.it("accepts a custom className",()=>{const{container:n}=e.render(t.jsxs(o.ButtonGroup,{className:"custom-class",children:[t.jsx("button",{children:"One"}),t.jsx("button",{children:"Two"})]}));e.globalExpect(n.firstChild).toHaveClass("custom-class"),e.globalExpect(n.firstChild).toHaveClass("buttonGroup")})}),e.describe("ARIA and accessibility",()=>{e.it("has role='group' by default",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveAttribute("role","group")}),e.it("accepts custom role",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{role:"toolbar",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveAttribute("role","toolbar")}),e.it("supports aria-label",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{"aria-label":"Actions",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveAttribute("aria-label","Actions")})}),e.describe("HTML attributes",()=>{e.it("supports data attributes",()=>{e.render(t.jsx(o.ButtonGroup,{"data-testid":"my-group",children:t.jsx("button",{children:"One"})})),e.globalExpect(e.screen.getByTestId("my-group")).toBeInTheDocument()}),e.it("supports id attribute",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{id:"button-group-1",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.querySelector("#button-group-1")).toBeInTheDocument()}),e.it("supports onClick on container",()=>{const n=e.vi.fn(),{container:r}=e.render(t.jsx(o.ButtonGroup,{onClick:n,children:t.jsx("button",{children:"One"})}));e.fireEvent.click(r.firstChild),e.globalExpect(n).toHaveBeenCalledTimes(1)})}),e.describe("Combined props",()=>{e.it("combines orientation, alignment, and size",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{orientation:"vertical",alignment:"center",spacing:"lg",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("vertical"),e.globalExpect(n.firstChild).toHaveClass("center"),e.globalExpect(n.firstChild).toHaveClass("lg")}),e.it("combines all props",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{orientation:"horizontal",alignment:"right",spacing:"sm",fullWidth:!0,className:"custom",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("horizontal"),e.globalExpect(n.firstChild).toHaveClass("right"),e.globalExpect(n.firstChild).toHaveClass("sm"),e.globalExpect(n.firstChild).toHaveClass("fullWidth"),e.globalExpect(n.firstChild).toHaveClass("custom")})}),e.describe("Edge cases",()=>{e.it("handles single child",()=>{e.render(t.jsx(o.ButtonGroup,{children:t.jsx("button",{children:"Only One"})})),e.globalExpect(e.screen.getByText("Only One")).toBeInTheDocument()}),e.it("handles many children",()=>{e.render(t.jsx(o.ButtonGroup,{children:Array.from({length:10},(n,r)=>t.jsxs("button",{children:["Button ",r+1]},r))})),e.globalExpect(e.screen.getByText("Button 1")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Button 10")).toBeInTheDocument()})})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as t, jsxs as a } from "react/jsx-runtime";
2
- import { d as r, i, r as o, g as n, s, v as d, f as h } from "../../../react.esm-DjxyacK8.js";
2
+ import { d as r, i, r as o, g as n, s, v as d, f as h } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { ButtonGroup as l } from "./index.mjs";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  r("ButtonGroup", () => {
@@ -1 +1 @@
1
- "use strict";const l=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),s=require("../../../index-CMkOXBU5.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Calendar",()=>{e.describe("Rendering",()=>{e.it("renders the current month and year",()=>{const t=new Date(2025,4,15);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}})),e.globalExpect(e.screen.getByText("May 2025")).toBeInTheDocument()}),e.it("renders the day names (Sun to Sat)",()=>{const t=new Date;e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}})),["Sun","Mon","Tue","Wed","Thu","Fri","Sat"].forEach(n=>{e.globalExpect(e.screen.getByText(n)).toBeInTheDocument()})}),e.it("renders all days for the visible calendar grid",()=>{const t=new Date(2025,4,1);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const n=e.screen.getAllByRole("button").filter(o=>/^\d+$/.test(o.textContent||""));e.globalExpect(n.length).toBeGreaterThanOrEqual(28)})}),e.describe("Date Selection",()=>{e.it("calls onSelectDate with the correct date when a day is clicked",()=>{const t=new Date(2025,4,1),a=e.vi.fn();e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:a}));const n=e.screen.getAllByRole("button").find(c=>c.textContent==="15");e.globalExpect(n).toBeTruthy(),n&&e.fireEvent.click(n),e.globalExpect(a).toHaveBeenCalledTimes(1);const o=a.mock.calls[0][0];e.globalExpect(s.format(o,"yyyy-MM-dd")).toBe("2025-05-15")}),e.it("highlights the selected date",()=>{const t=new Date(2025,4,15);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const a=e.screen.getAllByRole("button").find(n=>n.textContent==="15");e.globalExpect(a).toHaveClass("selected")})}),e.describe("Navigation",()=>{e.it("navigates to previous and next months",()=>{const t=new Date(2025,4,1);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const a=e.screen.getByLabelText("Previous month");e.fireEvent.click(a),e.globalExpect(e.screen.getByText("April 2025")).toBeInTheDocument();const n=e.screen.getByLabelText("Next month");e.fireEvent.click(n),e.fireEvent.click(n),e.globalExpect(e.screen.getByText("June 2025")).toBeInTheDocument()}),e.it("disables previous button when minDate is reached",()=>{const t=new Date(2025,4,15),a=new Date(2025,4,1);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},minDate:a}));const n=e.screen.getByLabelText("Previous month");e.globalExpect(n).toBeDisabled()}),e.it("disables next button when maxDate is reached",()=>{const t=new Date(2025,4,15),a=new Date(2025,4,30);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},maxDate:a}));const n=e.screen.getByLabelText("Next month");e.globalExpect(n).toBeDisabled()})}),e.describe("Date Restrictions",()=>{e.it("disables dates before minDate",()=>{const t=new Date(2025,4,15),a=new Date(2025,4,10);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},minDate:a}));const n=e.screen.getAllByRole("button").find(o=>o.textContent==="5");e.globalExpect(n).toBeDisabled()}),e.it("disables dates after maxDate",()=>{const t=new Date(2025,4,15),a=new Date(2025,4,20);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},maxDate:a}));const n=e.screen.getAllByRole("button").find(o=>o.textContent==="25");e.globalExpect(n).toBeDisabled()}),e.it("disables specific dates from disabledDates array",()=>{const t=new Date(2025,4,15),a=[new Date(2025,4,10),new Date(2025,4,20)];e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},disabledDates:a}));const n=e.screen.getAllByRole("button").find(c=>c.textContent==="10"),o=e.screen.getAllByRole("button").find(c=>c.textContent==="20");e.globalExpect(n).toBeDisabled(),e.globalExpect(o).toBeDisabled()}),e.it("does not call onSelectDate for disabled dates",()=>{const t=new Date(2025,4,15),a=new Date(2025,4,10),n=e.vi.fn();e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:n,minDate:a}));const o=e.screen.getAllByRole("button").find(c=>c.textContent==="5");o&&e.fireEvent.click(o),e.globalExpect(n).not.toHaveBeenCalled()})}),e.describe("Outside Days",()=>{e.it("shows outside days by default",()=>{const t=new Date(2025,4,1);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const n=e.screen.getAllByRole("button").filter(o=>/^\d+$/.test(o.textContent||""));e.globalExpect(n.length).toBeGreaterThanOrEqual(35)}),e.it("hides outside days when showOutsideDays is false",()=>{const t=new Date(2025,4,1);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},showOutsideDays:!1}));const n=e.screen.getAllByRole("button").filter(o=>/^\d+$/.test(o.textContent||""));e.globalExpect(n.length).toBe(31)})}),e.describe("Accessibility",()=>{e.it("has proper ARIA labels on date buttons",()=>{const t=new Date(2025,4,15);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const a=e.screen.getByLabelText("May 15, 2025");e.globalExpect(a).toBeInTheDocument()}),e.it("marks selected date with aria-pressed",()=>{const t=new Date(2025,4,15);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const a=e.screen.getByLabelText("May 15, 2025");e.globalExpect(a).toHaveAttribute("aria-pressed","true")}),e.it("has role='application' on calendar container",()=>{const t=new Date(2025,4,15),{container:a}=e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}})),n=a.querySelector('[role="application"]');e.globalExpect(n).toBeInTheDocument()})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{const t=new Date(2025,4,15),{container:a}=e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},className:"custom-calendar"})),n=a.querySelector(".calendar");e.globalExpect(n).toHaveClass("custom-calendar")})})});
1
+ "use strict";const l=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),s=require("../../../index-CMkOXBU5.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Calendar",()=>{e.describe("Rendering",()=>{e.it("renders the current month and year",()=>{const t=new Date(2025,4,15);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}})),e.globalExpect(e.screen.getByText("May 2025")).toBeInTheDocument()}),e.it("renders the day names (Sun to Sat)",()=>{const t=new Date;e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}})),["Sun","Mon","Tue","Wed","Thu","Fri","Sat"].forEach(n=>{e.globalExpect(e.screen.getByText(n)).toBeInTheDocument()})}),e.it("renders all days for the visible calendar grid",()=>{const t=new Date(2025,4,1);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const n=e.screen.getAllByRole("button").filter(o=>/^\d+$/.test(o.textContent||""));e.globalExpect(n.length).toBeGreaterThanOrEqual(28)})}),e.describe("Date Selection",()=>{e.it("calls onSelectDate with the correct date when a day is clicked",()=>{const t=new Date(2025,4,1),a=e.vi.fn();e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:a}));const n=e.screen.getAllByRole("button").find(c=>c.textContent==="15");e.globalExpect(n).toBeTruthy(),n&&e.fireEvent.click(n),e.globalExpect(a).toHaveBeenCalledTimes(1);const o=a.mock.calls[0][0];e.globalExpect(s.format(o,"yyyy-MM-dd")).toBe("2025-05-15")}),e.it("highlights the selected date",()=>{const t=new Date(2025,4,15);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const a=e.screen.getAllByRole("button").find(n=>n.textContent==="15");e.globalExpect(a).toHaveClass("selected")})}),e.describe("Navigation",()=>{e.it("navigates to previous and next months",()=>{const t=new Date(2025,4,1);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const a=e.screen.getByLabelText("Previous month");e.fireEvent.click(a),e.globalExpect(e.screen.getByText("April 2025")).toBeInTheDocument();const n=e.screen.getByLabelText("Next month");e.fireEvent.click(n),e.fireEvent.click(n),e.globalExpect(e.screen.getByText("June 2025")).toBeInTheDocument()}),e.it("disables previous button when minDate is reached",()=>{const t=new Date(2025,4,15),a=new Date(2025,4,1);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},minDate:a}));const n=e.screen.getByLabelText("Previous month");e.globalExpect(n).toBeDisabled()}),e.it("disables next button when maxDate is reached",()=>{const t=new Date(2025,4,15),a=new Date(2025,4,30);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},maxDate:a}));const n=e.screen.getByLabelText("Next month");e.globalExpect(n).toBeDisabled()})}),e.describe("Date Restrictions",()=>{e.it("disables dates before minDate",()=>{const t=new Date(2025,4,15),a=new Date(2025,4,10);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},minDate:a}));const n=e.screen.getAllByRole("button").find(o=>o.textContent==="5");e.globalExpect(n).toBeDisabled()}),e.it("disables dates after maxDate",()=>{const t=new Date(2025,4,15),a=new Date(2025,4,20);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},maxDate:a}));const n=e.screen.getAllByRole("button").find(o=>o.textContent==="25");e.globalExpect(n).toBeDisabled()}),e.it("disables specific dates from disabledDates array",()=>{const t=new Date(2025,4,15),a=[new Date(2025,4,10),new Date(2025,4,20)];e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},disabledDates:a}));const n=e.screen.getAllByRole("button").find(c=>c.textContent==="10"),o=e.screen.getAllByRole("button").find(c=>c.textContent==="20");e.globalExpect(n).toBeDisabled(),e.globalExpect(o).toBeDisabled()}),e.it("does not call onSelectDate for disabled dates",()=>{const t=new Date(2025,4,15),a=new Date(2025,4,10),n=e.vi.fn();e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:n,minDate:a}));const o=e.screen.getAllByRole("button").find(c=>c.textContent==="5");o&&e.fireEvent.click(o),e.globalExpect(n).not.toHaveBeenCalled()})}),e.describe("Outside Days",()=>{e.it("shows outside days by default",()=>{const t=new Date(2025,4,1);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const n=e.screen.getAllByRole("button").filter(o=>/^\d+$/.test(o.textContent||""));e.globalExpect(n.length).toBeGreaterThanOrEqual(35)}),e.it("hides outside days when showOutsideDays is false",()=>{const t=new Date(2025,4,1);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},showOutsideDays:!1}));const n=e.screen.getAllByRole("button").filter(o=>/^\d+$/.test(o.textContent||""));e.globalExpect(n.length).toBe(31)})}),e.describe("Accessibility",()=>{e.it("has proper ARIA labels on date buttons",()=>{const t=new Date(2025,4,15);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const a=e.screen.getByLabelText("May 15, 2025");e.globalExpect(a).toBeInTheDocument()}),e.it("marks selected date with aria-pressed",()=>{const t=new Date(2025,4,15);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const a=e.screen.getByLabelText("May 15, 2025");e.globalExpect(a).toHaveAttribute("aria-pressed","true")}),e.it("has role='application' on calendar container",()=>{const t=new Date(2025,4,15),{container:a}=e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}})),n=a.querySelector('[role="application"]');e.globalExpect(n).toBeInTheDocument()})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{const t=new Date(2025,4,15),{container:a}=e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},className:"custom-calendar"})),n=a.querySelector(".calendar");e.globalExpect(n).toHaveClass("custom-calendar")})})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- import { d as D, i as l, r as c, g as a, s as o, v as B, f as u } from "../../../react.esm-DjxyacK8.js";
2
+ import { d as D, i as l, r as c, g as a, s as o, v as B, f as u } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { f as b, C as d } from "../../../index-BCIEIAnC.js";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  D("Calendar", () => {
@@ -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("Card",()=>{e.describe("Rendering",()=>{e.it("renders with title, content and footer",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",footer:n.jsx("button",{children:"Footer Button"})})),e.globalExpect(e.screen.getByText("Test Title")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Test Content")).toBeInTheDocument(),e.globalExpect(e.screen.getByRole("button",{name:/footer button/i})).toBeInTheDocument()}),e.it("does not render title if not provided",()=>{e.render(n.jsx(r.Card,{content:"Test Content",footer:n.jsx("button",{children:"Footer Button"})})),e.globalExpect(e.screen.queryByRole("heading")).not.toBeInTheDocument(),e.globalExpect(e.screen.getByText("Test Content")).toBeInTheDocument()}),e.it("does not render content if not provided",()=>{e.render(n.jsx(r.Card,{title:"Test Title",footer:n.jsx("button",{children:"Footer Button"})})),e.globalExpect(e.screen.getByRole("button")).toBeInTheDocument(),e.globalExpect(e.screen.queryByText("Test Content")).not.toBeInTheDocument()}),e.it("does not render footer if not provided",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content"})),e.globalExpect(e.screen.getByRole("article")).toBeInTheDocument(),e.globalExpect(e.screen.queryByRole("button")).not.toBeInTheDocument()}),e.it("renders with ReactNode title",()=>{e.render(n.jsx(r.Card,{title:n.jsx("span",{"data-testid":"custom-title",children:"Custom Title"}),content:"Test Content"})),e.globalExpect(e.screen.getByTestId("custom-title")).toBeInTheDocument()}),e.it("renders with ReactNode content",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:n.jsx("div",{"data-testid":"custom-content",children:"Custom Content"})})),e.globalExpect(e.screen.getByTestId("custom-content")).toBeInTheDocument()})}),e.describe("Variants",()=>{e.it("renders with default variant",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title"})),o=t.firstChild;e.globalExpect(o).toHaveClass("default")}),e.it("renders with outlined variant",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"outlined"})),o=t.firstChild;e.globalExpect(o).toHaveClass("outlined")}),e.it("renders with elevated variant",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"elevated"})),o=t.firstChild;e.globalExpect(o).toHaveClass("elevated")}),e.it("renders with imageTop variant",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"imageTop",imageSrc:"https://via.placeholder.com/300"})),o=t.firstChild;e.globalExpect(o).toHaveClass("imageTop");const l=t.querySelector("img");e.globalExpect(l).toBeInTheDocument(),e.globalExpect(l).toHaveAttribute("alt","Card image")}),e.it("renders with imageBackground variant",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"imageBackground",imageSrc:"https://via.placeholder.com/300"})),o=t.firstChild;e.globalExpect(o).toHaveClass("imageBackground");const l=t.querySelector("img");e.globalExpect(l).toBeInTheDocument(),e.globalExpect(l).toHaveAttribute("alt","Card image")})}),e.describe("Clickable behavior",()=>{e.it("calls onClick when card is clicked",()=>{const t=e.vi.fn();e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",onClick:t}));const o=e.screen.getByRole("button");e.fireEvent.click(o),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("has button role when clickable",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",onClick:()=>{}})),e.globalExpect(e.screen.getByRole("button")).toBeInTheDocument()}),e.it("has article role when not clickable",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content"})),e.globalExpect(e.screen.getByRole("article")).toBeInTheDocument()}),e.it("supports keyboard interaction (Enter)",()=>{const t=e.vi.fn();e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",onClick:t}));const o=e.screen.getByRole("button");e.fireEvent.keyDown(o,{key:"Enter"}),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("supports keyboard interaction (Space)",()=>{const t=e.vi.fn();e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",onClick:t}));const o=e.screen.getByRole("button");e.fireEvent.keyDown(o,{key:" "}),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("is focusable when clickable",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",onClick:()=>{}}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("tabIndex","0")}),e.it("applies clickable class when onClick is provided",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",onClick:()=>{}})),o=t.firstChild;e.globalExpect(o).toHaveClass("clickable")}),e.it("applies clickable class when clickable prop is true",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",clickable:!0})),o=t.firstChild;e.globalExpect(o).toHaveClass("clickable")})}),e.describe("Hoverable",()=>{e.it("applies hoverable class by default",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title"})),o=t.firstChild;e.globalExpect(o).toHaveClass("hoverable")}),e.it("does not apply hoverable class when hoverable is false",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",hoverable:!1})),o=t.firstChild;e.globalExpect(o).not.toHaveClass("hoverable")})}),e.describe("Images",()=>{e.it("renders image with custom alt text",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"imageTop",imageSrc:"https://via.placeholder.com/300",imageAlt:"Custom alt text"})),o=t.querySelector("img");e.globalExpect(o).toBeInTheDocument(),e.globalExpect(o).toHaveAttribute("alt","Custom alt text")}),e.it("uses default alt text when not provided",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"imageTop",imageSrc:"https://via.placeholder.com/300"})),o=t.querySelector("img");e.globalExpect(o).toBeInTheDocument(),e.globalExpect(o).toHaveAttribute("alt","Card image")})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",className:"custom-card"})),o=t.firstChild;e.globalExpect(o).toHaveClass("custom-card"),e.globalExpect(o).toHaveClass("card")})}),e.describe("HTML attributes",()=>{e.it("supports data attributes",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title","data-testid":"my-card"})),o=t.querySelector('[data-testid="my-card"]');e.globalExpect(o).toBeInTheDocument()}),e.it("supports id attribute",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",id:"card-1"}));e.globalExpect(t.querySelector("#card-1")).toBeInTheDocument()})}),e.describe("Accessibility",()=>{e.it("has proper aria-label for string titles when clickable",()=>{e.render(n.jsx(r.Card,{title:"Test Title",onClick:()=>{}}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-label","Test Title")}),e.it("has heading role on title",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title"})),o=t.querySelector('[role="heading"]');e.globalExpect(o).toBeInTheDocument(),e.globalExpect(o).toHaveTextContent("Test Title")})})});
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("Card",()=>{e.describe("Rendering",()=>{e.it("renders with title, content and footer",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",footer:n.jsx("button",{children:"Footer Button"})})),e.globalExpect(e.screen.getByText("Test Title")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Test Content")).toBeInTheDocument(),e.globalExpect(e.screen.getByRole("button",{name:/footer button/i})).toBeInTheDocument()}),e.it("does not render title if not provided",()=>{e.render(n.jsx(r.Card,{content:"Test Content",footer:n.jsx("button",{children:"Footer Button"})})),e.globalExpect(e.screen.queryByRole("heading")).not.toBeInTheDocument(),e.globalExpect(e.screen.getByText("Test Content")).toBeInTheDocument()}),e.it("does not render content if not provided",()=>{e.render(n.jsx(r.Card,{title:"Test Title",footer:n.jsx("button",{children:"Footer Button"})})),e.globalExpect(e.screen.getByRole("button")).toBeInTheDocument(),e.globalExpect(e.screen.queryByText("Test Content")).not.toBeInTheDocument()}),e.it("does not render footer if not provided",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content"})),e.globalExpect(e.screen.getByRole("article")).toBeInTheDocument(),e.globalExpect(e.screen.queryByRole("button")).not.toBeInTheDocument()}),e.it("renders with ReactNode title",()=>{e.render(n.jsx(r.Card,{title:n.jsx("span",{"data-testid":"custom-title",children:"Custom Title"}),content:"Test Content"})),e.globalExpect(e.screen.getByTestId("custom-title")).toBeInTheDocument()}),e.it("renders with ReactNode content",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:n.jsx("div",{"data-testid":"custom-content",children:"Custom Content"})})),e.globalExpect(e.screen.getByTestId("custom-content")).toBeInTheDocument()})}),e.describe("Variants",()=>{e.it("renders with default variant",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title"})),o=t.firstChild;e.globalExpect(o).toHaveClass("default")}),e.it("renders with outlined variant",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"outlined"})),o=t.firstChild;e.globalExpect(o).toHaveClass("outlined")}),e.it("renders with elevated variant",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"elevated"})),o=t.firstChild;e.globalExpect(o).toHaveClass("elevated")}),e.it("renders with imageTop variant",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"imageTop",imageSrc:"https://via.placeholder.com/300"})),o=t.firstChild;e.globalExpect(o).toHaveClass("imageTop");const l=t.querySelector("img");e.globalExpect(l).toBeInTheDocument(),e.globalExpect(l).toHaveAttribute("alt","Card image")}),e.it("renders with imageBackground variant",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"imageBackground",imageSrc:"https://via.placeholder.com/300"})),o=t.firstChild;e.globalExpect(o).toHaveClass("imageBackground");const l=t.querySelector("img");e.globalExpect(l).toBeInTheDocument(),e.globalExpect(l).toHaveAttribute("alt","Card image")})}),e.describe("Clickable behavior",()=>{e.it("calls onClick when card is clicked",()=>{const t=e.vi.fn();e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",onClick:t}));const o=e.screen.getByRole("button");e.fireEvent.click(o),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("has button role when clickable",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",onClick:()=>{}})),e.globalExpect(e.screen.getByRole("button")).toBeInTheDocument()}),e.it("has article role when not clickable",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content"})),e.globalExpect(e.screen.getByRole("article")).toBeInTheDocument()}),e.it("supports keyboard interaction (Enter)",()=>{const t=e.vi.fn();e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",onClick:t}));const o=e.screen.getByRole("button");e.fireEvent.keyDown(o,{key:"Enter"}),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("supports keyboard interaction (Space)",()=>{const t=e.vi.fn();e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",onClick:t}));const o=e.screen.getByRole("button");e.fireEvent.keyDown(o,{key:" "}),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("is focusable when clickable",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",onClick:()=>{}}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("tabIndex","0")}),e.it("applies clickable class when onClick is provided",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",onClick:()=>{}})),o=t.firstChild;e.globalExpect(o).toHaveClass("clickable")}),e.it("applies clickable class when clickable prop is true",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",clickable:!0})),o=t.firstChild;e.globalExpect(o).toHaveClass("clickable")})}),e.describe("Hoverable",()=>{e.it("applies hoverable class by default",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title"})),o=t.firstChild;e.globalExpect(o).toHaveClass("hoverable")}),e.it("does not apply hoverable class when hoverable is false",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",hoverable:!1})),o=t.firstChild;e.globalExpect(o).not.toHaveClass("hoverable")})}),e.describe("Images",()=>{e.it("renders image with custom alt text",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"imageTop",imageSrc:"https://via.placeholder.com/300",imageAlt:"Custom alt text"})),o=t.querySelector("img");e.globalExpect(o).toBeInTheDocument(),e.globalExpect(o).toHaveAttribute("alt","Custom alt text")}),e.it("uses default alt text when not provided",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"imageTop",imageSrc:"https://via.placeholder.com/300"})),o=t.querySelector("img");e.globalExpect(o).toBeInTheDocument(),e.globalExpect(o).toHaveAttribute("alt","Card image")})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",className:"custom-card"})),o=t.firstChild;e.globalExpect(o).toHaveClass("custom-card"),e.globalExpect(o).toHaveClass("card")})}),e.describe("HTML attributes",()=>{e.it("supports data attributes",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title","data-testid":"my-card"})),o=t.querySelector('[data-testid="my-card"]');e.globalExpect(o).toBeInTheDocument()}),e.it("supports id attribute",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",id:"card-1"}));e.globalExpect(t.querySelector("#card-1")).toBeInTheDocument()})}),e.describe("Accessibility",()=>{e.it("has proper aria-label for string titles when clickable",()=>{e.render(n.jsx(r.Card,{title:"Test Title",onClick:()=>{}}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-label","Test Title")}),e.it("has heading role on title",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title"})),o=t.querySelector('[role="heading"]');e.globalExpect(o).toBeInTheDocument(),e.globalExpect(o).toHaveTextContent("Test Title")})})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { d as c, i, r as a, g as e, s, v as d, f as T } from "../../../react.esm-DjxyacK8.js";
2
+ import { d as c, i, r as a, g as e, s, v as d, f as T } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { Card as l } from "./index.mjs";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  c("Card", () => {
@@ -1 +1 @@
1
- "use strict";var d=Object.defineProperty;var u=(s,n,a)=>n in s?d(s,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[n]=a;var c=(s,n,a)=>u(s,typeof n!="symbol"?n+"":n,a);const r=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),i=require("./index.cjs"),g=require("react");require("../../../index-CW_Ehh1q.cjs");e.vi.mock("lucide-react",()=>({ArrowLeft:({size:s})=>r.jsx("div",{"data-testid":"arrow-left",style:{width:s,height:s},children:"←"}),ArrowRight:({size:s})=>r.jsx("div",{"data-testid":"arrow-right",style:{width:s,height:s},children:"→"})}));class b{constructor(n){c(this,"callback");c(this,"observe",e.vi.fn(n=>{const a={target:n,contentRect:{width:800,height:400,top:0,left:0,bottom:400,right:800,x:0,y:0,toJSON:()=>({})},borderBoxSize:[],contentBoxSize:[],devicePixelContentBoxSize:[]};this.callback([a],this)}));c(this,"unobserve",e.vi.fn());c(this,"disconnect",e.vi.fn());this.callback=n}}global.ResizeObserver=b;e.describe("Carousel",()=>{let s,n;e.beforeEach(()=>{e.vi.useFakeTimers(),n=document.createElement("div"),Object.defineProperty(n,"offsetWidth",{value:800,configurable:!0}),document.body.appendChild(n),s={current:n},HTMLElement.prototype.getBoundingClientRect=e.vi.fn(function(){return{width:this.offsetWidth||800,height:this.offsetHeight||400,top:0,left:0,bottom:this.offsetHeight||400,right:this.offsetWidth||800,x:0,y:0,toJSON:()=>{}}})}),e.afterEach(()=>{e.vi.runOnlyPendingTimers(),e.vi.useRealTimers(),document.body.removeChild(n)});const a=[r.jsx("div",{children:"Item 1"},"1"),r.jsx("div",{children:"Item 2"},"2"),r.jsx("div",{children:"Item 3"},"3"),r.jsx("div",{children:"Item 4"},"4"),r.jsx("div",{children:"Item 5"},"5"),r.jsx("div",{children:"Item 6"},"6")];e.describe("Rendering",()=>{e.it("renders carousel with items",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s})),e.globalExpect(e.screen.getByText("Item 1")).toBeInTheDocument()}),e.it("renders navigation controls for multiple pages",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByLabelText("Previous slide")).toBeInTheDocument(),e.globalExpect(e.screen.getByLabelText("Next slide")).toBeInTheDocument()}),e.it("renders indicators for multiple pages",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.globalExpect(t.length).toBe(2)}),e.it("does not render controls for single page",()=>{e.render(r.jsx(i.Carousel,{items:[a[0]],parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.queryByLabelText("Previous slide")).not.toBeInTheDocument(),e.globalExpect(e.screen.queryByLabelText("Next slide")).not.toBeInTheDocument()}),e.it("applies custom className",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,className:"custom-carousel"}));e.globalExpect(t.querySelector(".custom-carousel")).toBeInTheDocument()})}),e.describe("Navigation",()=>{e.it("enables previous button after navigating forward",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Next slide"),o=e.screen.getByLabelText("Previous slide");e.globalExpect(o).toBeDisabled(),e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(o).not.toBeDisabled()}),e.it("navigates back to first page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Next slide"),o=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(o).not.toBeDisabled(),e.act(()=>{e.fireEvent.click(o)}),e.globalExpect(o).toBeDisabled()}),e.it("disables previous button on first page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Previous slide");e.globalExpect(t).toBeDisabled(),e.globalExpect(t).toHaveClass("disabled")}),e.it("disables next button on last page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Next slide");e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(t).toHaveClass("disabled")}),e.it("navigates to specific page via indicator",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:2}));const t=e.screen.getAllByRole("tab"),o=e.screen.getByLabelText("Previous slide");e.globalExpect(o).toBeDisabled(),e.act(()=>{e.fireEvent.click(t[2])}),e.globalExpect(o).not.toBeDisabled()})}),e.describe("Items Per Page",()=>{e.it("calculates correct number of pages",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:2}));const t=e.screen.getAllByRole("tab");e.globalExpect(t.length).toBe(3)}),e.it("handles single item per page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:1}));const t=e.screen.getAllByRole("tab");e.globalExpect(t.length).toBe(6)}),e.it("handles itemsPerPage larger than items length",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:10})),e.globalExpect(e.screen.queryByLabelText("Previous slide")).not.toBeInTheDocument()})}),e.describe("Autoplay",()=>{e.it("does not advance without autoplay enabled",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3,autoplay:!1}));const t=e.screen.getByLabelText("Previous slide");e.act(()=>{e.vi.advanceTimersByTime(5e3)}),e.globalExpect(t).toBeDisabled()}),e.it("stops autoplay on manual navigation",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3,autoplay:!0,autoplayInterval:1}));const t=e.screen.getByLabelText("Next slide");e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(t).toHaveClass("disabled"),e.act(()=>{e.vi.advanceTimersByTime(2e3)}),e.globalExpect(t).toHaveClass("disabled")})}),e.describe("Touch Gestures",()=>{e.it("sets up touch event handlers",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]');e.globalExpect(o).toBeInTheDocument()}),e.it("ignores small swipe gestures",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]'),l=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.touchStart(o,{touches:[{clientX:200,clientY:100}]}),e.fireEvent.touchEnd(o,{changedTouches:[{clientX:180,clientY:100}]})}),e.globalExpect(l).toBeDisabled()})}),e.describe("Mouse Drag",()=>{e.it("sets up mouse event handlers",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]');e.globalExpect(o).toBeInTheDocument()}),e.it("resets drag state on mouse leave",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]'),l=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.mouseDown(o,{clientX:200}),e.fireEvent.mouseMove(o,{clientX:150}),e.fireEvent.mouseLeave(o)}),e.globalExpect(l).toBeDisabled()}),e.it("ignores small drag movements",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]'),l=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.mouseDown(o,{clientX:200}),e.fireEvent.mouseMove(o,{clientX:180}),e.fireEvent.mouseUp(o)}),e.globalExpect(l).toBeDisabled()})}),e.describe("Grid Layout",()=>{e.it("uses grid layout for multiple rows",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:6,itemsPerRow:3})),o=t.querySelector('[class*="page"]');e.globalExpect(o).toHaveStyle({display:"grid"})}),e.it("uses flex layout for single row",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3,itemsPerRow:3})),o=t.querySelector('[class*="page"]');e.globalExpect(o).toHaveStyle({display:"flex"})})}),e.describe("Accessibility",()=>{e.it("has proper aria labels on navigation buttons",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByLabelText("Previous slide")).toBeInTheDocument(),e.globalExpect(e.screen.getByLabelText("Next slide")).toBeInTheDocument()}),e.it("has proper aria labels on indicators",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByRole("tab",{name:"Slide 1 of 2"})).toBeInTheDocument(),e.globalExpect(e.screen.getByRole("tab",{name:"Slide 2 of 2"})).toBeInTheDocument()}),e.it("renders indicators as tabs inside a tablist",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByRole("tablist",{name:"Slide indicators"})).toBeInTheDocument();const t=e.screen.getAllByRole("tab");e.globalExpect(t).toHaveLength(2)}),e.it("marks only the active indicator as selected",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.globalExpect(t[0]).toHaveAttribute("aria-selected","true"),e.globalExpect(t[1]).toHaveAttribute("aria-selected","false")}),e.it("active tab is focusable, inactive tabs are not in tab order",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.globalExpect(t[0]).toHaveAttribute("tabindex","0"),e.globalExpect(t[1]).toHaveAttribute("tabindex","-1")}),e.it("updates aria-selected and tabindex when navigating via indicator click",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.act(()=>{e.fireEvent.click(t[1])}),e.globalExpect(t[1]).toHaveAttribute("aria-selected","true"),e.globalExpect(t[1]).toHaveAttribute("tabindex","0"),e.globalExpect(t[0]).toHaveAttribute("aria-selected","false"),e.globalExpect(t[0]).toHaveAttribute("tabindex","-1")}),e.it("tabs have aria-controls pointing to the carousel track",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.screen.getAllByRole("tab").forEach(o=>{e.globalExpect(o).toHaveAttribute("aria-controls","carousel-track")})}),e.it("navigates indicators with arrow keys",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.act(()=>{e.fireEvent.keyDown(t[0],{key:"ArrowRight"})}),e.globalExpect(t[1]).toHaveAttribute("aria-selected","true"),e.act(()=>{e.fireEvent.keyDown(t[1],{key:"ArrowLeft"})}),e.globalExpect(t[0]).toHaveAttribute("aria-selected","true")}),e.it("properly disables navigation buttons",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Previous slide"),o=e.screen.getByLabelText("Next slide");e.globalExpect(t).toBeDisabled(),e.globalExpect(o).not.toBeDisabled()})}),e.describe("Split Layout",()=>{e.it("handles split layout with sibling ref",()=>{const t=g.createRef(),o=document.createElement("div");Object.defineProperty(o,"offsetWidth",{value:200,configurable:!0}),t.current=o,e.render(r.jsx(i.Carousel,{items:a,parentRef:s,siblingRef:t,isSplit:!0,itemsPerPage:3})),e.globalExpect(e.screen.getByText("Item 1")).toBeInTheDocument()})})});
1
+ "use strict";var d=Object.defineProperty;var u=(s,n,a)=>n in s?d(s,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[n]=a;var c=(s,n,a)=>u(s,typeof n!="symbol"?n+"":n,a);const r=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),i=require("./index.cjs"),g=require("react");require("../../../index-CW_Ehh1q.cjs");e.vi.mock("lucide-react",()=>({ArrowLeft:({size:s})=>r.jsx("div",{"data-testid":"arrow-left",style:{width:s,height:s},children:"←"}),ArrowRight:({size:s})=>r.jsx("div",{"data-testid":"arrow-right",style:{width:s,height:s},children:"→"})}));class b{constructor(n){c(this,"callback");c(this,"observe",e.vi.fn(n=>{const a={target:n,contentRect:{width:800,height:400,top:0,left:0,bottom:400,right:800,x:0,y:0,toJSON:()=>({})},borderBoxSize:[],contentBoxSize:[],devicePixelContentBoxSize:[]};this.callback([a],this)}));c(this,"unobserve",e.vi.fn());c(this,"disconnect",e.vi.fn());this.callback=n}}global.ResizeObserver=b;e.describe("Carousel",()=>{let s,n;e.beforeEach(()=>{e.vi.useFakeTimers(),n=document.createElement("div"),Object.defineProperty(n,"offsetWidth",{value:800,configurable:!0}),document.body.appendChild(n),s={current:n},HTMLElement.prototype.getBoundingClientRect=e.vi.fn(function(){return{width:this.offsetWidth||800,height:this.offsetHeight||400,top:0,left:0,bottom:this.offsetHeight||400,right:this.offsetWidth||800,x:0,y:0,toJSON:()=>{}}})}),e.afterEach(()=>{e.vi.runOnlyPendingTimers(),e.vi.useRealTimers(),document.body.removeChild(n)});const a=[r.jsx("div",{children:"Item 1"},"1"),r.jsx("div",{children:"Item 2"},"2"),r.jsx("div",{children:"Item 3"},"3"),r.jsx("div",{children:"Item 4"},"4"),r.jsx("div",{children:"Item 5"},"5"),r.jsx("div",{children:"Item 6"},"6")];e.describe("Rendering",()=>{e.it("renders carousel with items",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s})),e.globalExpect(e.screen.getByText("Item 1")).toBeInTheDocument()}),e.it("renders navigation controls for multiple pages",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByLabelText("Previous slide")).toBeInTheDocument(),e.globalExpect(e.screen.getByLabelText("Next slide")).toBeInTheDocument()}),e.it("renders indicators for multiple pages",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.globalExpect(t.length).toBe(2)}),e.it("does not render controls for single page",()=>{e.render(r.jsx(i.Carousel,{items:[a[0]],parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.queryByLabelText("Previous slide")).not.toBeInTheDocument(),e.globalExpect(e.screen.queryByLabelText("Next slide")).not.toBeInTheDocument()}),e.it("applies custom className",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,className:"custom-carousel"}));e.globalExpect(t.querySelector(".custom-carousel")).toBeInTheDocument()})}),e.describe("Navigation",()=>{e.it("enables previous button after navigating forward",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Next slide"),o=e.screen.getByLabelText("Previous slide");e.globalExpect(o).toBeDisabled(),e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(o).not.toBeDisabled()}),e.it("navigates back to first page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Next slide"),o=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(o).not.toBeDisabled(),e.act(()=>{e.fireEvent.click(o)}),e.globalExpect(o).toBeDisabled()}),e.it("disables previous button on first page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Previous slide");e.globalExpect(t).toBeDisabled(),e.globalExpect(t).toHaveClass("disabled")}),e.it("disables next button on last page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Next slide");e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(t).toHaveClass("disabled")}),e.it("navigates to specific page via indicator",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:2}));const t=e.screen.getAllByRole("tab"),o=e.screen.getByLabelText("Previous slide");e.globalExpect(o).toBeDisabled(),e.act(()=>{e.fireEvent.click(t[2])}),e.globalExpect(o).not.toBeDisabled()})}),e.describe("Items Per Page",()=>{e.it("calculates correct number of pages",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:2}));const t=e.screen.getAllByRole("tab");e.globalExpect(t.length).toBe(3)}),e.it("handles single item per page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:1}));const t=e.screen.getAllByRole("tab");e.globalExpect(t.length).toBe(6)}),e.it("handles itemsPerPage larger than items length",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:10})),e.globalExpect(e.screen.queryByLabelText("Previous slide")).not.toBeInTheDocument()})}),e.describe("Autoplay",()=>{e.it("does not advance without autoplay enabled",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3,autoplay:!1}));const t=e.screen.getByLabelText("Previous slide");e.act(()=>{e.vi.advanceTimersByTime(5e3)}),e.globalExpect(t).toBeDisabled()}),e.it("stops autoplay on manual navigation",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3,autoplay:!0,autoplayInterval:1}));const t=e.screen.getByLabelText("Next slide");e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(t).toHaveClass("disabled"),e.act(()=>{e.vi.advanceTimersByTime(2e3)}),e.globalExpect(t).toHaveClass("disabled")})}),e.describe("Touch Gestures",()=>{e.it("sets up touch event handlers",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]');e.globalExpect(o).toBeInTheDocument()}),e.it("ignores small swipe gestures",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]'),l=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.touchStart(o,{touches:[{clientX:200,clientY:100}]}),e.fireEvent.touchEnd(o,{changedTouches:[{clientX:180,clientY:100}]})}),e.globalExpect(l).toBeDisabled()})}),e.describe("Mouse Drag",()=>{e.it("sets up mouse event handlers",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]');e.globalExpect(o).toBeInTheDocument()}),e.it("resets drag state on mouse leave",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]'),l=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.mouseDown(o,{clientX:200}),e.fireEvent.mouseMove(o,{clientX:150}),e.fireEvent.mouseLeave(o)}),e.globalExpect(l).toBeDisabled()}),e.it("ignores small drag movements",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]'),l=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.mouseDown(o,{clientX:200}),e.fireEvent.mouseMove(o,{clientX:180}),e.fireEvent.mouseUp(o)}),e.globalExpect(l).toBeDisabled()})}),e.describe("Grid Layout",()=>{e.it("uses grid layout for multiple rows",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:6,itemsPerRow:3})),o=t.querySelector('[class*="page"]');e.globalExpect(o).toHaveStyle({display:"grid"})}),e.it("uses flex layout for single row",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3,itemsPerRow:3})),o=t.querySelector('[class*="page"]');e.globalExpect(o).toHaveStyle({display:"flex"})})}),e.describe("Accessibility",()=>{e.it("has proper aria labels on navigation buttons",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByLabelText("Previous slide")).toBeInTheDocument(),e.globalExpect(e.screen.getByLabelText("Next slide")).toBeInTheDocument()}),e.it("has proper aria labels on indicators",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByRole("tab",{name:"Slide 1 of 2"})).toBeInTheDocument(),e.globalExpect(e.screen.getByRole("tab",{name:"Slide 2 of 2"})).toBeInTheDocument()}),e.it("renders indicators as tabs inside a tablist",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByRole("tablist",{name:"Slide indicators"})).toBeInTheDocument();const t=e.screen.getAllByRole("tab");e.globalExpect(t).toHaveLength(2)}),e.it("marks only the active indicator as selected",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.globalExpect(t[0]).toHaveAttribute("aria-selected","true"),e.globalExpect(t[1]).toHaveAttribute("aria-selected","false")}),e.it("active tab is focusable, inactive tabs are not in tab order",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.globalExpect(t[0]).toHaveAttribute("tabindex","0"),e.globalExpect(t[1]).toHaveAttribute("tabindex","-1")}),e.it("updates aria-selected and tabindex when navigating via indicator click",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.act(()=>{e.fireEvent.click(t[1])}),e.globalExpect(t[1]).toHaveAttribute("aria-selected","true"),e.globalExpect(t[1]).toHaveAttribute("tabindex","0"),e.globalExpect(t[0]).toHaveAttribute("aria-selected","false"),e.globalExpect(t[0]).toHaveAttribute("tabindex","-1")}),e.it("tabs have aria-controls pointing to the carousel track",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.screen.getAllByRole("tab").forEach(o=>{e.globalExpect(o).toHaveAttribute("aria-controls","carousel-track")})}),e.it("navigates indicators with arrow keys",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.act(()=>{e.fireEvent.keyDown(t[0],{key:"ArrowRight"})}),e.globalExpect(t[1]).toHaveAttribute("aria-selected","true"),e.act(()=>{e.fireEvent.keyDown(t[1],{key:"ArrowLeft"})}),e.globalExpect(t[0]).toHaveAttribute("aria-selected","true")}),e.it("properly disables navigation buttons",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Previous slide"),o=e.screen.getByLabelText("Next slide");e.globalExpect(t).toBeDisabled(),e.globalExpect(o).not.toBeDisabled()})}),e.describe("Split Layout",()=>{e.it("handles split layout with sibling ref",()=>{const t=g.createRef(),o=document.createElement("div");Object.defineProperty(o,"offsetWidth",{value:200,configurable:!0}),t.current=o,e.render(r.jsx(i.Carousel,{items:a,parentRef:s,siblingRef:t,isSplit:!0,itemsPerPage:3})),e.globalExpect(e.screen.getByText("Item 1")).toBeInTheDocument()})})});
@@ -2,7 +2,7 @@ var h = Object.defineProperty;
2
2
  var y = (s, d, i) => d in s ? h(s, d, { enumerable: !0, configurable: !0, writable: !0, value: i }) : s[d] = i;
3
3
  var B = (s, d, i) => y(s, typeof d != "symbol" ? d + "" : d, i);
4
4
  import { jsx as a } from "react/jsx-runtime";
5
- import { v as b, d as g, b as P, a as p, i as r, r as l, g as t, s as o, c as m, f as u } from "../../../react.esm-DjxyacK8.js";
5
+ import { v as b, d as g, b as P, a as p, i as r, r as l, g as t, s as o, c as m, f as u } from "../../../react.esm-DKyXDL7m.js";
6
6
  import { Carousel as c } from "./index.mjs";
7
7
  import f from "react";
8
8
  import "../../../index-DPGXWTtt.js";
@@ -1 +1 @@
1
- "use strict";const c=require("react/jsx-runtime"),a=require("react"),e=require("../../../react.esm-C_9Ma9mj.cjs"),r=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.vi.mock("../Label",()=>({Label:({children:t,htmlFor:o,required:l,className:s})=>c.jsxs("label",{htmlFor:o,className:s,children:[t,l&&c.jsx("span",{className:"required",children:"*"})]})}));e.describe("Checkbox",()=>{e.describe("Rendering",()=>{e.it("renders a checkbox",()=>{e.render(c.jsx(r.Checkbox,{label:"Accept terms"})),e.globalExpect(e.screen.getByRole("checkbox")).toBeInTheDocument()}),e.it("renders a checkbox with label",()=>{e.render(c.jsx(r.Checkbox,{label:"Accept terms"})),e.globalExpect(e.screen.getByText("Accept terms")).toBeInTheDocument()}),e.it("renders without a label",()=>{e.render(c.jsx(r.Checkbox,{})),e.globalExpect(e.screen.getByRole("checkbox")).toBeInTheDocument(),e.globalExpect(e.screen.queryByRole("label")).not.toBeInTheDocument()}),e.it("applies custom className",()=>{const{container:t}=e.render(c.jsx(r.Checkbox,{label:"Test",className:"custom-class"}));e.globalExpect(t.querySelector(".custom-class")).toBeInTheDocument()})}),e.describe("Controlled Behavior",()=>{e.it("handles checked state",()=>{e.render(c.jsx(r.Checkbox,{label:"Checked",checked:!0,onChange:()=>{}}));const t=e.screen.getByRole("checkbox");e.globalExpect(t.checked).toBe(!0)}),e.it("handles unchecked state",()=>{e.render(c.jsx(r.Checkbox,{label:"Unchecked",checked:!1,onChange:()=>{}}));const t=e.screen.getByRole("checkbox");e.globalExpect(t.checked).toBe(!1)}),e.it("calls onChange when clicked",()=>{const t=e.vi.fn();e.render(c.jsx(r.Checkbox,{label:"Click me",onChange:t}));const o=e.screen.getByRole("checkbox");e.fireEvent.click(o),e.globalExpect(t).toHaveBeenCalledTimes(1)})}),e.describe("States",()=>{e.it("shows required asterisk when required",()=>{e.render(c.jsx(r.Checkbox,{label:"Required",required:!0})),e.globalExpect(e.screen.getByText("*")).toBeInTheDocument()}),e.it("renders disabled checkbox",()=>{e.render(c.jsx(r.Checkbox,{label:"Disabled",disabled:!0}));const t=e.screen.getByRole("checkbox");e.globalExpect(t).toBeDisabled()}),e.it("does not call onChange when disabled",()=>{const t=e.vi.fn();e.render(c.jsx(r.Checkbox,{label:"Disabled",disabled:!0,onChange:t}));const o=e.screen.getByRole("checkbox");e.fireEvent.click(o),e.globalExpect(t).not.toHaveBeenCalled()})}),e.describe("Sizes",()=>{e.it("applies small size class",()=>{const{container:t}=e.render(c.jsx(r.Checkbox,{label:"Small",size:"sm"})),o=t.querySelector(".wrapper");e.globalExpect(o).toHaveClass("sm")}),e.it("applies medium size by default",()=>{const{container:t}=e.render(c.jsx(r.Checkbox,{label:"Medium"})),o=t.querySelector(".wrapper");e.globalExpect(o).toHaveClass("md")}),e.it("applies large size class",()=>{const{container:t}=e.render(c.jsx(r.Checkbox,{label:"Large",size:"lg"})),o=t.querySelector(".wrapper");e.globalExpect(o).toHaveClass("lg")})}),e.describe("Error State",()=>{e.it("applies error class when error is true",()=>{const{container:t}=e.render(c.jsx(r.Checkbox,{label:"Error",error:!0})),o=t.querySelector("input");e.globalExpect(o).toHaveClass("error")}),e.it("sets aria-invalid when error is true",()=>{e.render(c.jsx(r.Checkbox,{label:"Error",error:!0}));const t=e.screen.getByRole("checkbox");e.globalExpect(t).toHaveAttribute("aria-invalid","true")}),e.it("displays helper text when provided",()=>{e.render(c.jsx(r.Checkbox,{label:"Test",helperText:"This is a helper message"})),e.globalExpect(e.screen.getByText("This is a helper message")).toBeInTheDocument()}),e.it("displays error text with error styling",()=>{e.render(c.jsx(r.Checkbox,{label:"Test",error:!0,helperText:"Error message"}));const t=e.screen.getByText("Error message");e.globalExpect(t).toBeInTheDocument(),e.globalExpect(t).toHaveClass("errorText")}),e.it("links helper text with aria-describedby",()=>{e.render(c.jsx(r.Checkbox,{id:"test-checkbox",label:"Test",helperText:"Helper text"}));const t=e.screen.getByRole("checkbox");e.globalExpect(t).toHaveAttribute("aria-describedby","test-checkbox-helper")})}),e.describe("defaultChecked",()=>{e.it("renders with defaultChecked",()=>{e.render(c.jsx(r.Checkbox,{label:"Default checked",defaultChecked:!0}));const t=e.screen.getByRole("checkbox");e.globalExpect(t.checked).toBe(!0)})}),e.describe("ID Generation",()=>{e.it("uses provided id",()=>{e.render(c.jsx(r.Checkbox,{id:"custom-id",label:"Test"}));const t=e.screen.getByRole("checkbox");e.globalExpect(t).toHaveAttribute("id","custom-id")}),e.it("generates id when not provided",()=>{const{container:t}=e.render(c.jsx(r.Checkbox,{label:"Test"})),o=t.querySelector("input");e.globalExpect(o).toHaveAttribute("id"),e.globalExpect(o==null?void 0:o.id).toMatch(/checkbox-/)})}),e.describe("forwardRef",()=>{e.it("forwards ref to input element",()=>{var o;const t=a.createRef();e.render(c.jsx(r.Checkbox,{ref:t,label:"Test"})),e.globalExpect(t.current).toBeInstanceOf(HTMLInputElement),e.globalExpect((o=t.current)==null?void 0:o.type).toBe("checkbox")})}),e.describe("Accessibility",()=>{e.it("associates label with checkbox via htmlFor",()=>{e.render(c.jsx(r.Checkbox,{id:"test",label:"Test label"}));const t=e.screen.getByLabelText("Test label");e.globalExpect(t).toHaveAttribute("id","test")}),e.it("has proper label association",()=>{const{container:t}=e.render(c.jsx(r.Checkbox,{id:"test",label:"Test label"})),o=t.querySelector("label");e.globalExpect(o).toHaveAttribute("for","test")}),e.it("checkbox can be toggled by clicking label",()=>{e.render(c.jsx(r.Checkbox,{id:"test",label:"Click label"}));const t=e.screen.getByText("Click label"),o=e.screen.getByRole("checkbox");e.globalExpect(o.checked).toBe(!1),e.fireEvent.click(t),e.globalExpect(o.checked).toBe(!0)})}),e.describe("Name attribute",()=>{e.it("applies name attribute",()=>{e.render(c.jsx(r.Checkbox,{name:"terms",label:"Accept"}));const t=e.screen.getByRole("checkbox");e.globalExpect(t).toHaveAttribute("name","terms")})}),e.describe("Props forwarding",()=>{e.it("forwards additional props to input",()=>{e.render(c.jsx(r.Checkbox,{label:"Test","data-testid":"custom-checkbox","aria-label":"Custom aria label"}));const t=e.screen.getByRole("checkbox");e.globalExpect(t).toHaveAttribute("data-testid","custom-checkbox"),e.globalExpect(t).toHaveAttribute("aria-label","Custom aria label")})})});
1
+ "use strict";const c=require("react/jsx-runtime"),a=require("react"),e=require("../../../react.esm-Dmjx7ihM.cjs"),r=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.vi.mock("../Label",()=>({Label:({children:t,htmlFor:o,required:l,className:s})=>c.jsxs("label",{htmlFor:o,className:s,children:[t,l&&c.jsx("span",{className:"required",children:"*"})]})}));e.describe("Checkbox",()=>{e.describe("Rendering",()=>{e.it("renders a checkbox",()=>{e.render(c.jsx(r.Checkbox,{label:"Accept terms"})),e.globalExpect(e.screen.getByRole("checkbox")).toBeInTheDocument()}),e.it("renders a checkbox with label",()=>{e.render(c.jsx(r.Checkbox,{label:"Accept terms"})),e.globalExpect(e.screen.getByText("Accept terms")).toBeInTheDocument()}),e.it("renders without a label",()=>{e.render(c.jsx(r.Checkbox,{})),e.globalExpect(e.screen.getByRole("checkbox")).toBeInTheDocument(),e.globalExpect(e.screen.queryByRole("label")).not.toBeInTheDocument()}),e.it("applies custom className",()=>{const{container:t}=e.render(c.jsx(r.Checkbox,{label:"Test",className:"custom-class"}));e.globalExpect(t.querySelector(".custom-class")).toBeInTheDocument()})}),e.describe("Controlled Behavior",()=>{e.it("handles checked state",()=>{e.render(c.jsx(r.Checkbox,{label:"Checked",checked:!0,onChange:()=>{}}));const t=e.screen.getByRole("checkbox");e.globalExpect(t.checked).toBe(!0)}),e.it("handles unchecked state",()=>{e.render(c.jsx(r.Checkbox,{label:"Unchecked",checked:!1,onChange:()=>{}}));const t=e.screen.getByRole("checkbox");e.globalExpect(t.checked).toBe(!1)}),e.it("calls onChange when clicked",()=>{const t=e.vi.fn();e.render(c.jsx(r.Checkbox,{label:"Click me",onChange:t}));const o=e.screen.getByRole("checkbox");e.fireEvent.click(o),e.globalExpect(t).toHaveBeenCalledTimes(1)})}),e.describe("States",()=>{e.it("shows required asterisk when required",()=>{e.render(c.jsx(r.Checkbox,{label:"Required",required:!0})),e.globalExpect(e.screen.getByText("*")).toBeInTheDocument()}),e.it("renders disabled checkbox",()=>{e.render(c.jsx(r.Checkbox,{label:"Disabled",disabled:!0}));const t=e.screen.getByRole("checkbox");e.globalExpect(t).toBeDisabled()}),e.it("does not call onChange when disabled",()=>{const t=e.vi.fn();e.render(c.jsx(r.Checkbox,{label:"Disabled",disabled:!0,onChange:t}));const o=e.screen.getByRole("checkbox");e.fireEvent.click(o),e.globalExpect(t).not.toHaveBeenCalled()})}),e.describe("Sizes",()=>{e.it("applies small size class",()=>{const{container:t}=e.render(c.jsx(r.Checkbox,{label:"Small",size:"sm"})),o=t.querySelector(".wrapper");e.globalExpect(o).toHaveClass("sm")}),e.it("applies medium size by default",()=>{const{container:t}=e.render(c.jsx(r.Checkbox,{label:"Medium"})),o=t.querySelector(".wrapper");e.globalExpect(o).toHaveClass("md")}),e.it("applies large size class",()=>{const{container:t}=e.render(c.jsx(r.Checkbox,{label:"Large",size:"lg"})),o=t.querySelector(".wrapper");e.globalExpect(o).toHaveClass("lg")})}),e.describe("Error State",()=>{e.it("applies error class when error is true",()=>{const{container:t}=e.render(c.jsx(r.Checkbox,{label:"Error",error:!0})),o=t.querySelector("input");e.globalExpect(o).toHaveClass("error")}),e.it("sets aria-invalid when error is true",()=>{e.render(c.jsx(r.Checkbox,{label:"Error",error:!0}));const t=e.screen.getByRole("checkbox");e.globalExpect(t).toHaveAttribute("aria-invalid","true")}),e.it("displays helper text when provided",()=>{e.render(c.jsx(r.Checkbox,{label:"Test",helperText:"This is a helper message"})),e.globalExpect(e.screen.getByText("This is a helper message")).toBeInTheDocument()}),e.it("displays error text with error styling",()=>{e.render(c.jsx(r.Checkbox,{label:"Test",error:!0,helperText:"Error message"}));const t=e.screen.getByText("Error message");e.globalExpect(t).toBeInTheDocument(),e.globalExpect(t).toHaveClass("errorText")}),e.it("links helper text with aria-describedby",()=>{e.render(c.jsx(r.Checkbox,{id:"test-checkbox",label:"Test",helperText:"Helper text"}));const t=e.screen.getByRole("checkbox");e.globalExpect(t).toHaveAttribute("aria-describedby","test-checkbox-helper")})}),e.describe("defaultChecked",()=>{e.it("renders with defaultChecked",()=>{e.render(c.jsx(r.Checkbox,{label:"Default checked",defaultChecked:!0}));const t=e.screen.getByRole("checkbox");e.globalExpect(t.checked).toBe(!0)})}),e.describe("ID Generation",()=>{e.it("uses provided id",()=>{e.render(c.jsx(r.Checkbox,{id:"custom-id",label:"Test"}));const t=e.screen.getByRole("checkbox");e.globalExpect(t).toHaveAttribute("id","custom-id")}),e.it("generates id when not provided",()=>{const{container:t}=e.render(c.jsx(r.Checkbox,{label:"Test"})),o=t.querySelector("input");e.globalExpect(o).toHaveAttribute("id"),e.globalExpect(o==null?void 0:o.id).toMatch(/checkbox-/)})}),e.describe("forwardRef",()=>{e.it("forwards ref to input element",()=>{var o;const t=a.createRef();e.render(c.jsx(r.Checkbox,{ref:t,label:"Test"})),e.globalExpect(t.current).toBeInstanceOf(HTMLInputElement),e.globalExpect((o=t.current)==null?void 0:o.type).toBe("checkbox")})}),e.describe("Accessibility",()=>{e.it("associates label with checkbox via htmlFor",()=>{e.render(c.jsx(r.Checkbox,{id:"test",label:"Test label"}));const t=e.screen.getByLabelText("Test label");e.globalExpect(t).toHaveAttribute("id","test")}),e.it("has proper label association",()=>{const{container:t}=e.render(c.jsx(r.Checkbox,{id:"test",label:"Test label"})),o=t.querySelector("label");e.globalExpect(o).toHaveAttribute("for","test")}),e.it("checkbox can be toggled by clicking label",()=>{e.render(c.jsx(r.Checkbox,{id:"test",label:"Click label"}));const t=e.screen.getByText("Click label"),o=e.screen.getByRole("checkbox");e.globalExpect(o.checked).toBe(!1),e.fireEvent.click(t),e.globalExpect(o.checked).toBe(!0)})}),e.describe("Name attribute",()=>{e.it("applies name attribute",()=>{e.render(c.jsx(r.Checkbox,{name:"terms",label:"Accept"}));const t=e.screen.getByRole("checkbox");e.globalExpect(t).toHaveAttribute("name","terms")})}),e.describe("Props forwarding",()=>{e.it("forwards additional props to input",()=>{e.render(c.jsx(r.Checkbox,{label:"Test","data-testid":"custom-checkbox","aria-label":"Custom aria label"}));const t=e.screen.getByRole("checkbox");e.globalExpect(t).toHaveAttribute("data-testid","custom-checkbox"),e.globalExpect(t).toHaveAttribute("aria-label","Custom aria label")})})});
@@ -1,6 +1,6 @@
1
1
  import { jsxs as u, jsx as c } from "react/jsx-runtime";
2
2
  import k from "react";
3
- import { v as b, d as n, i as o, r as a, g as t, s, f as i } from "../../../react.esm-DjxyacK8.js";
3
+ import { v as b, d as n, i as o, r as a, g as t, s, f as i } from "../../../react.esm-DKyXDL7m.js";
4
4
  import { Checkbox as l } from "./index.mjs";
5
5
  import "../../../index-DPGXWTtt.js";
6
6
  b.mock("../Label", () => ({
@@ -1 +1 @@
1
- "use strict";const s=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),n=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Container",()=>{e.it("renders children",()=>{e.render(s.jsx(n.Container,{children:"Test content"})),e.globalExpect(e.screen.getByText("Test content")).toBeInTheDocument()}),e.it("applies the default size class",()=>{const{container:t}=e.render(s.jsx(n.Container,{children:"Test"}));e.globalExpect(t.firstChild).toHaveClass("md")}),e.it("applies a custom size class",()=>{const{container:t}=e.render(s.jsx(n.Container,{size:"lg",children:"Test"}));e.globalExpect(t.firstChild).toHaveClass("lg")}),e.it("applies fluid class",()=>{const{container:t}=e.render(s.jsx(n.Container,{fluid:!0,children:"Fluid Container"}));e.globalExpect(t.firstChild).toHaveClass("fluid")}),e.it("applies a custom className",()=>{const{container:t}=e.render(s.jsx(n.Container,{className:"custom-class",children:"Test"}));e.globalExpect(t.firstChild).toHaveClass("custom-class")}),e.it("renders with a custom tag",()=>{const{container:t}=e.render(s.jsx(n.Container,{as:"section",children:"Test"}));e.globalExpect(t.querySelector("section")).toBeInTheDocument()})});
1
+ "use strict";const s=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),n=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Container",()=>{e.it("renders children",()=>{e.render(s.jsx(n.Container,{children:"Test content"})),e.globalExpect(e.screen.getByText("Test content")).toBeInTheDocument()}),e.it("applies the default size class",()=>{const{container:t}=e.render(s.jsx(n.Container,{children:"Test"}));e.globalExpect(t.firstChild).toHaveClass("md")}),e.it("applies a custom size class",()=>{const{container:t}=e.render(s.jsx(n.Container,{size:"lg",children:"Test"}));e.globalExpect(t.firstChild).toHaveClass("lg")}),e.it("applies fluid class",()=>{const{container:t}=e.render(s.jsx(n.Container,{fluid:!0,children:"Fluid Container"}));e.globalExpect(t.firstChild).toHaveClass("fluid")}),e.it("applies a custom className",()=>{const{container:t}=e.render(s.jsx(n.Container,{className:"custom-class",children:"Test"}));e.globalExpect(t.firstChild).toHaveClass("custom-class")}),e.it("renders with a custom tag",()=>{const{container:t}=e.render(s.jsx(n.Container,{as:"section",children:"Test"}));e.globalExpect(t.querySelector("section")).toBeInTheDocument()})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- import { d as c, i as t, r as i, g as n, s as o } from "../../../react.esm-DjxyacK8.js";
2
+ import { d as c, i as t, r as i, g as n, s as o } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { Container as a } from "./index.mjs";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  c("Container", () => {
@@ -1 +1 @@
1
- "use strict";const a=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),n=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");const d=require("../../../index-CMkOXBU5.cjs");e.vi.mock("../Calendar",()=>({Calendar:({onSelectDate:t})=>a.jsx("button",{onClick:()=>t(new Date("2025-05-02")),"data-testid":"mock-calendar",children:"Select Date"})}));e.describe("DatePicker",()=>{e.it("renders label and input",()=>{e.render(a.jsx(n.DatePicker,{id:"date",name:"date",label:"Pick a date"})),e.globalExpect(e.screen.getByText("Pick a date")).toBeInTheDocument()}),e.it("opens a calendar on input click",()=>{e.render(a.jsx(n.DatePicker,{id:"date",name:"date",label:"Pick a date"}));const t=e.screen.getByPlaceholderText("Select date");e.fireEvent.click(t),e.globalExpect(e.screen.getByTestId("mock-calendar")).toBeInTheDocument()}),e.it("calls onValueChange and updates the value",()=>{const t=e.vi.fn();e.render(a.jsx(n.DatePicker,{id:"date",name:"date",label:"Pick a date",onValueChange:t}));const c=e.screen.getByPlaceholderText("Select date");e.fireEvent.click(c);const r=e.screen.getByTestId("mock-calendar");e.fireEvent.click(r);const l=d.format(new Date("2025-05-02"),"yyyy-MM-dd");e.globalExpect(t).toHaveBeenCalledWith(new Date("2025-05-02")),e.globalExpect(c).toHaveValue(l)})});
1
+ "use strict";const a=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),n=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");const d=require("../../../index-CMkOXBU5.cjs");e.vi.mock("../Calendar",()=>({Calendar:({onSelectDate:t})=>a.jsx("button",{onClick:()=>t(new Date("2025-05-02")),"data-testid":"mock-calendar",children:"Select Date"})}));e.describe("DatePicker",()=>{e.it("renders label and input",()=>{e.render(a.jsx(n.DatePicker,{id:"date",name:"date",label:"Pick a date"})),e.globalExpect(e.screen.getByText("Pick a date")).toBeInTheDocument()}),e.it("opens a calendar on input click",()=>{e.render(a.jsx(n.DatePicker,{id:"date",name:"date",label:"Pick a date"}));const t=e.screen.getByPlaceholderText("Select date");e.fireEvent.click(t),e.globalExpect(e.screen.getByTestId("mock-calendar")).toBeInTheDocument()}),e.it("calls onValueChange and updates the value",()=>{const t=e.vi.fn();e.render(a.jsx(n.DatePicker,{id:"date",name:"date",label:"Pick a date",onValueChange:t}));const c=e.screen.getByPlaceholderText("Select date");e.fireEvent.click(c);const r=e.screen.getByTestId("mock-calendar");e.fireEvent.click(r);const l=d.format(new Date("2025-05-02"),"yyyy-MM-dd");e.globalExpect(t).toHaveBeenCalledWith(new Date("2025-05-02")),e.globalExpect(c).toHaveValue(l)})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { v as r, d as k, i as c, r as d, g as t, s as a, f as l } from "../../../react.esm-DjxyacK8.js";
2
+ import { v as r, d as k, i as c, r as d, g as t, s as a, f as l } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { DatePicker as o } from "./index.mjs";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  import { f as u } from "../../../index-BCIEIAnC.js";
@@ -1 +1 @@
1
- "use strict";const i=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),r=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Divider",()=>{e.describe("Rendering",()=>{e.it("renders with default props",()=>{const{container:t}=e.render(i.jsx(r.Divider,{}));e.globalExpect(t.firstChild).toHaveClass("horizontal"),e.globalExpect(t.firstChild).toHaveClass("divider"),e.globalExpect(t.firstChild).toHaveClass("solid")}),e.it("renders with role separator",()=>{const{container:t}=e.render(i.jsx(r.Divider,{}));e.globalExpect(t.firstChild).toHaveAttribute("role","separator")}),e.it("has correct aria-orientation",()=>{const{container:t}=e.render(i.jsx(r.Divider,{orientation:"vertical"}));e.globalExpect(t.firstChild).toHaveAttribute("aria-orientation","vertical")})}),e.describe("Orientation",()=>{e.it("renders horizontal divider",()=>{const{container:t}=e.render(i.jsx(r.Divider,{orientation:"horizontal"}));e.globalExpect(t.firstChild).toHaveClass("horizontal")}),e.it("renders vertical divider",()=>{const{container:t}=e.render(i.jsx(r.Divider,{orientation:"vertical"}));e.globalExpect(t.firstChild).toHaveClass("vertical")}),e.it("defaults to horizontal",()=>{const{container:t}=e.render(i.jsx(r.Divider,{}));e.globalExpect(t.firstChild).toHaveClass("horizontal")})}),e.describe("Variants",()=>{e.it("renders solid variant",()=>{const{container:t}=e.render(i.jsx(r.Divider,{variant:"solid"}));e.globalExpect(t.firstChild).toHaveClass("solid")}),e.it("renders dashed variant",()=>{const{container:t}=e.render(i.jsx(r.Divider,{variant:"dashed"}));e.globalExpect(t.firstChild).toHaveClass("dashed")}),e.it("renders dotted variant",()=>{const{container:t}=e.render(i.jsx(r.Divider,{variant:"dotted"}));e.globalExpect(t.firstChild).toHaveClass("dotted")}),e.it("defaults to solid",()=>{const{container:t}=e.render(i.jsx(r.Divider,{}));e.globalExpect(t.firstChild).toHaveClass("solid")})}),e.describe("Spacing",()=>{e.it("applies small spacing",()=>{const{container:t}=e.render(i.jsx(r.Divider,{spacing:"sm"}));e.globalExpect(t.firstChild).toHaveClass("spacing-sm")}),e.it("applies medium spacing",()=>{const{container:t}=e.render(i.jsx(r.Divider,{spacing:"md"}));e.globalExpect(t.firstChild).toHaveClass("spacing-md")}),e.it("applies large spacing",()=>{const{container:t}=e.render(i.jsx(r.Divider,{spacing:"lg"}));e.globalExpect(t.firstChild).toHaveClass("spacing-lg")}),e.it("defaults to medium spacing",()=>{const{container:t}=e.render(i.jsx(r.Divider,{}));e.globalExpect(t.firstChild).toHaveClass("spacing-md")})}),e.describe("Label",()=>{e.it("renders with text label",()=>{e.render(i.jsx(r.Divider,{label:"Section"})),e.globalExpect(e.screen.getByText("Section")).toBeInTheDocument()}),e.it("renders with ReactNode label",()=>{e.render(i.jsx(r.Divider,{label:i.jsx("strong",{children:"Important"})})),e.globalExpect(e.screen.getByText("Important")).toBeInTheDocument()}),e.it("uses container layout when label is present",()=>{const{container:t}=e.render(i.jsx(r.Divider,{label:"Test"}));e.globalExpect(t.firstChild).toHaveClass("container")}),e.it("does not render label for vertical dividers",()=>{const{container:t}=e.render(i.jsx(r.Divider,{orientation:"vertical",label:"Test"}));e.globalExpect(t.querySelector(".label")).not.toBeInTheDocument()})}),e.describe("Label Position",()=>{e.it("positions label at left",()=>{const{container:t}=e.render(i.jsx(r.Divider,{label:"Test",labelPosition:"left"}));e.globalExpect(t.firstChild).toHaveClass("label-left")}),e.it("positions label at center",()=>{const{container:t}=e.render(i.jsx(r.Divider,{label:"Test",labelPosition:"center"}));e.globalExpect(t.firstChild).toHaveClass("label-center")}),e.it("positions label at right",()=>{const{container:t}=e.render(i.jsx(r.Divider,{label:"Test",labelPosition:"right"}));e.globalExpect(t.firstChild).toHaveClass("label-right")}),e.it("defaults to center position",()=>{const{container:t}=e.render(i.jsx(r.Divider,{label:"Test"}));e.globalExpect(t.firstChild).toHaveClass("label-center")})}),e.describe("Custom styling",()=>{e.it("applies custom className",()=>{const{container:t}=e.render(i.jsx(r.Divider,{className:"custom-divider"}));e.globalExpect(t.firstChild).toHaveClass("custom-divider"),e.globalExpect(t.firstChild).toHaveClass("divider")}),e.it("applies custom color",()=>{const{container:t}=e.render(i.jsx(r.Divider,{color:"red"}));e.globalExpect(t.firstChild).toHaveStyle({borderColor:"red"})}),e.it("applies custom thickness for horizontal",()=>{const{container:t}=e.render(i.jsx(r.Divider,{thickness:3}));e.globalExpect(t.firstChild).toHaveStyle({borderTopWidth:"3px"})}),e.it("applies custom thickness for vertical",()=>{const{container:t}=e.render(i.jsx(r.Divider,{orientation:"vertical",thickness:5}));e.globalExpect(t.firstChild).toHaveStyle({borderLeftWidth:"5px"})}),e.it("applies custom style",()=>{const{container:t}=e.render(i.jsx(r.Divider,{style:{opacity:.5}}));e.globalExpect(t.firstChild).toHaveStyle({opacity:.5})})}),e.describe("HTML attributes",()=>{e.it("forwards data attributes",()=>{const{container:t}=e.render(i.jsx(r.Divider,{"data-testid":"my-divider"}));e.globalExpect(t.firstChild).toHaveAttribute("data-testid","my-divider")}),e.it("forwards id attribute",()=>{const{container:t}=e.render(i.jsx(r.Divider,{id:"section-divider"}));e.globalExpect(t.firstChild).toHaveAttribute("id","section-divider")})}),e.describe("Combined props",()=>{e.it("combines orientation, variant, and spacing",()=>{const{container:t}=e.render(i.jsx(r.Divider,{orientation:"vertical",variant:"dashed",spacing:"lg"}));e.globalExpect(t.firstChild).toHaveClass("vertical"),e.globalExpect(t.firstChild).toHaveClass("dashed"),e.globalExpect(t.firstChild).toHaveClass("spacing-lg")}),e.it("combines label with variant",()=>{e.render(i.jsx(r.Divider,{label:"Section",variant:"dashed"})),e.globalExpect(e.screen.getByText("Section")).toBeInTheDocument(),document.querySelectorAll(".line").forEach(s=>{e.globalExpect(s).toHaveClass("dashed")})}),e.it("combines custom color and thickness",()=>{const{container:t}=e.render(i.jsx(r.Divider,{color:"blue",thickness:2}));e.globalExpect(t.firstChild).toHaveStyle({borderColor:"blue",borderTopWidth:"2px"})})}),e.describe("Edge cases",()=>{e.it("handles empty label gracefully",()=>{const{container:t}=e.render(i.jsx(r.Divider,{label:""}));e.globalExpect(t.firstChild).toHaveClass("container")}),e.it("handles numeric label",()=>{e.render(i.jsx(r.Divider,{label:123})),e.globalExpect(e.screen.getByText("123")).toBeInTheDocument()}),e.it("handles very long label",()=>{const t="This is a very long label that might cause layout issues";e.render(i.jsx(r.Divider,{label:t})),e.globalExpect(e.screen.getByText(t)).toBeInTheDocument()})})});
1
+ "use strict";const i=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),r=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Divider",()=>{e.describe("Rendering",()=>{e.it("renders with default props",()=>{const{container:t}=e.render(i.jsx(r.Divider,{}));e.globalExpect(t.firstChild).toHaveClass("horizontal"),e.globalExpect(t.firstChild).toHaveClass("divider"),e.globalExpect(t.firstChild).toHaveClass("solid")}),e.it("renders with role separator",()=>{const{container:t}=e.render(i.jsx(r.Divider,{}));e.globalExpect(t.firstChild).toHaveAttribute("role","separator")}),e.it("has correct aria-orientation",()=>{const{container:t}=e.render(i.jsx(r.Divider,{orientation:"vertical"}));e.globalExpect(t.firstChild).toHaveAttribute("aria-orientation","vertical")})}),e.describe("Orientation",()=>{e.it("renders horizontal divider",()=>{const{container:t}=e.render(i.jsx(r.Divider,{orientation:"horizontal"}));e.globalExpect(t.firstChild).toHaveClass("horizontal")}),e.it("renders vertical divider",()=>{const{container:t}=e.render(i.jsx(r.Divider,{orientation:"vertical"}));e.globalExpect(t.firstChild).toHaveClass("vertical")}),e.it("defaults to horizontal",()=>{const{container:t}=e.render(i.jsx(r.Divider,{}));e.globalExpect(t.firstChild).toHaveClass("horizontal")})}),e.describe("Variants",()=>{e.it("renders solid variant",()=>{const{container:t}=e.render(i.jsx(r.Divider,{variant:"solid"}));e.globalExpect(t.firstChild).toHaveClass("solid")}),e.it("renders dashed variant",()=>{const{container:t}=e.render(i.jsx(r.Divider,{variant:"dashed"}));e.globalExpect(t.firstChild).toHaveClass("dashed")}),e.it("renders dotted variant",()=>{const{container:t}=e.render(i.jsx(r.Divider,{variant:"dotted"}));e.globalExpect(t.firstChild).toHaveClass("dotted")}),e.it("defaults to solid",()=>{const{container:t}=e.render(i.jsx(r.Divider,{}));e.globalExpect(t.firstChild).toHaveClass("solid")})}),e.describe("Spacing",()=>{e.it("applies small spacing",()=>{const{container:t}=e.render(i.jsx(r.Divider,{spacing:"sm"}));e.globalExpect(t.firstChild).toHaveClass("spacing-sm")}),e.it("applies medium spacing",()=>{const{container:t}=e.render(i.jsx(r.Divider,{spacing:"md"}));e.globalExpect(t.firstChild).toHaveClass("spacing-md")}),e.it("applies large spacing",()=>{const{container:t}=e.render(i.jsx(r.Divider,{spacing:"lg"}));e.globalExpect(t.firstChild).toHaveClass("spacing-lg")}),e.it("defaults to medium spacing",()=>{const{container:t}=e.render(i.jsx(r.Divider,{}));e.globalExpect(t.firstChild).toHaveClass("spacing-md")})}),e.describe("Label",()=>{e.it("renders with text label",()=>{e.render(i.jsx(r.Divider,{label:"Section"})),e.globalExpect(e.screen.getByText("Section")).toBeInTheDocument()}),e.it("renders with ReactNode label",()=>{e.render(i.jsx(r.Divider,{label:i.jsx("strong",{children:"Important"})})),e.globalExpect(e.screen.getByText("Important")).toBeInTheDocument()}),e.it("uses container layout when label is present",()=>{const{container:t}=e.render(i.jsx(r.Divider,{label:"Test"}));e.globalExpect(t.firstChild).toHaveClass("container")}),e.it("does not render label for vertical dividers",()=>{const{container:t}=e.render(i.jsx(r.Divider,{orientation:"vertical",label:"Test"}));e.globalExpect(t.querySelector(".label")).not.toBeInTheDocument()})}),e.describe("Label Position",()=>{e.it("positions label at left",()=>{const{container:t}=e.render(i.jsx(r.Divider,{label:"Test",labelPosition:"left"}));e.globalExpect(t.firstChild).toHaveClass("label-left")}),e.it("positions label at center",()=>{const{container:t}=e.render(i.jsx(r.Divider,{label:"Test",labelPosition:"center"}));e.globalExpect(t.firstChild).toHaveClass("label-center")}),e.it("positions label at right",()=>{const{container:t}=e.render(i.jsx(r.Divider,{label:"Test",labelPosition:"right"}));e.globalExpect(t.firstChild).toHaveClass("label-right")}),e.it("defaults to center position",()=>{const{container:t}=e.render(i.jsx(r.Divider,{label:"Test"}));e.globalExpect(t.firstChild).toHaveClass("label-center")})}),e.describe("Custom styling",()=>{e.it("applies custom className",()=>{const{container:t}=e.render(i.jsx(r.Divider,{className:"custom-divider"}));e.globalExpect(t.firstChild).toHaveClass("custom-divider"),e.globalExpect(t.firstChild).toHaveClass("divider")}),e.it("applies custom color",()=>{const{container:t}=e.render(i.jsx(r.Divider,{color:"red"}));e.globalExpect(t.firstChild).toHaveStyle({borderColor:"red"})}),e.it("applies custom thickness for horizontal",()=>{const{container:t}=e.render(i.jsx(r.Divider,{thickness:3}));e.globalExpect(t.firstChild).toHaveStyle({borderTopWidth:"3px"})}),e.it("applies custom thickness for vertical",()=>{const{container:t}=e.render(i.jsx(r.Divider,{orientation:"vertical",thickness:5}));e.globalExpect(t.firstChild).toHaveStyle({borderLeftWidth:"5px"})}),e.it("applies custom style",()=>{const{container:t}=e.render(i.jsx(r.Divider,{style:{opacity:.5}}));e.globalExpect(t.firstChild).toHaveStyle({opacity:.5})})}),e.describe("HTML attributes",()=>{e.it("forwards data attributes",()=>{const{container:t}=e.render(i.jsx(r.Divider,{"data-testid":"my-divider"}));e.globalExpect(t.firstChild).toHaveAttribute("data-testid","my-divider")}),e.it("forwards id attribute",()=>{const{container:t}=e.render(i.jsx(r.Divider,{id:"section-divider"}));e.globalExpect(t.firstChild).toHaveAttribute("id","section-divider")})}),e.describe("Combined props",()=>{e.it("combines orientation, variant, and spacing",()=>{const{container:t}=e.render(i.jsx(r.Divider,{orientation:"vertical",variant:"dashed",spacing:"lg"}));e.globalExpect(t.firstChild).toHaveClass("vertical"),e.globalExpect(t.firstChild).toHaveClass("dashed"),e.globalExpect(t.firstChild).toHaveClass("spacing-lg")}),e.it("combines label with variant",()=>{e.render(i.jsx(r.Divider,{label:"Section",variant:"dashed"})),e.globalExpect(e.screen.getByText("Section")).toBeInTheDocument(),document.querySelectorAll(".line").forEach(s=>{e.globalExpect(s).toHaveClass("dashed")})}),e.it("combines custom color and thickness",()=>{const{container:t}=e.render(i.jsx(r.Divider,{color:"blue",thickness:2}));e.globalExpect(t.firstChild).toHaveStyle({borderColor:"blue",borderTopWidth:"2px"})})}),e.describe("Edge cases",()=>{e.it("handles empty label gracefully",()=>{const{container:t}=e.render(i.jsx(r.Divider,{label:""}));e.globalExpect(t.firstChild).toHaveClass("container")}),e.it("handles numeric label",()=>{e.render(i.jsx(r.Divider,{label:123})),e.globalExpect(e.screen.getByText("123")).toBeInTheDocument()}),e.it("handles very long label",()=>{const t="This is a very long label that might cause layout issues";e.render(i.jsx(r.Divider,{label:t})),e.globalExpect(e.screen.getByText(t)).toBeInTheDocument()})})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
- import { d as n, i as a, r as s, g as e, s as r } from "../../../react.esm-DjxyacK8.js";
2
+ import { d as n, i as a, r as s, g as e, s as r } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { Divider as o } from "./index.mjs";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  n("Divider", () => {
@@ -1 +1 @@
1
- "use strict";const r=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),t=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Drawer",()=>{const o=r.jsx("nav",{children:r.jsxs("ul",{children:[r.jsx("li",{children:r.jsx("a",{href:"/profile",children:"Profile"})}),r.jsx("li",{children:r.jsx("a",{href:"/settings",children:"Settings"})})]})});e.it("renders drawer content when open",()=>{e.render(r.jsx(t.Drawer,{isOpen:!0,onClose:e.vi.fn(),position:"left",overlay:!0,children:o})),e.globalExpect(e.screen.getByRole("dialog")).toHaveClass("open")}),e.it("does not render drawer content when open",()=>{e.render(r.jsx(t.Drawer,{isOpen:!1,onClose:e.vi.fn(),position:"left",overlay:!0,children:o})),e.globalExpect(e.screen.getByRole("dialog",{hidden:!0})).not.toHaveClass("open")}),e.it("calls onClose when clicking outside the drawer",()=>{const n=e.vi.fn();e.render(r.jsx(t.Drawer,{isOpen:!0,onClose:n,position:"left",overlay:!0,children:o})),e.fireEvent.mouseDown(document.body),e.globalExpect(n).toHaveBeenCalled()}),e.it("does not call onClose when clicking inside the drawer",()=>{const n=e.vi.fn(),{container:l}=e.render(r.jsx(t.Drawer,{isOpen:!1,onClose:n,position:"left",overlay:!0,children:o})),s=l.querySelector(".drawer");if(!s)throw new Error("Drawer not found");e.fireEvent.mouseDown(s),e.globalExpect(n).not.toHaveBeenCalled()}),e.it("calls onClose when Escape key is pressed",()=>{const n=e.vi.fn();e.render(r.jsx(t.Drawer,{isOpen:!0,onClose:n,position:"left",overlay:!0,children:o})),e.fireEvent.keyDown(document,{key:"Escape",code:"Escape"}),e.globalExpect(n).toHaveBeenCalled()})});
1
+ "use strict";const r=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),t=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Drawer",()=>{const o=r.jsx("nav",{children:r.jsxs("ul",{children:[r.jsx("li",{children:r.jsx("a",{href:"/profile",children:"Profile"})}),r.jsx("li",{children:r.jsx("a",{href:"/settings",children:"Settings"})})]})});e.it("renders drawer content when open",()=>{e.render(r.jsx(t.Drawer,{isOpen:!0,onClose:e.vi.fn(),position:"left",overlay:!0,children:o})),e.globalExpect(e.screen.getByRole("dialog")).toHaveClass("open")}),e.it("does not render drawer content when open",()=>{e.render(r.jsx(t.Drawer,{isOpen:!1,onClose:e.vi.fn(),position:"left",overlay:!0,children:o})),e.globalExpect(e.screen.getByRole("dialog",{hidden:!0})).not.toHaveClass("open")}),e.it("calls onClose when clicking outside the drawer",()=>{const n=e.vi.fn();e.render(r.jsx(t.Drawer,{isOpen:!0,onClose:n,position:"left",overlay:!0,children:o})),e.fireEvent.mouseDown(document.body),e.globalExpect(n).toHaveBeenCalled()}),e.it("does not call onClose when clicking inside the drawer",()=>{const n=e.vi.fn(),{container:l}=e.render(r.jsx(t.Drawer,{isOpen:!1,onClose:n,position:"left",overlay:!0,children:o})),s=l.querySelector(".drawer");if(!s)throw new Error("Drawer not found");e.fireEvent.mouseDown(s),e.globalExpect(n).not.toHaveBeenCalled()}),e.it("calls onClose when Escape key is pressed",()=>{const n=e.vi.fn();e.render(r.jsx(t.Drawer,{isOpen:!0,onClose:n,position:"left",overlay:!0,children:o})),e.fireEvent.keyDown(document,{key:"Escape",code:"Escape"}),e.globalExpect(n).toHaveBeenCalled()})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as e, jsxs as f } from "react/jsx-runtime";
2
- import { d as h, i as r, r as t, v as s, g as l, s as c, f as a } from "../../../react.esm-DjxyacK8.js";
2
+ import { d as h, i as r, r as t, v as s, g as l, s as c, f as a } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { Drawer as i } from "./index.mjs";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  h("Drawer", () => {
@@ -1 +1 @@
1
- "use strict";const r=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),s=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Fieldset",()=>{e.describe("Rendering",()=>{e.it("renders children",()=>{e.render(r.jsx(s.Fieldset,{children:r.jsx("input",{type:"text",placeholder:"Text input"})})),e.globalExpect(e.screen.getByPlaceholderText("Text input")).toBeInTheDocument()}),e.it("renders legend if provided",()=>{e.render(r.jsx(s.Fieldset,{legend:"Test legend",children:"Content"})),e.globalExpect(e.screen.getByText("Test legend")).toBeInTheDocument()}),e.it("renders without legend",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{children:"Content"}));e.globalExpect(t.querySelector("legend")).not.toBeInTheDocument()}),e.it("renders helper text when provided",()=>{e.render(r.jsx(s.Fieldset,{helperText:"This is helper text",children:r.jsx("input",{type:"text"})})),e.globalExpect(e.screen.getByText("This is helper text")).toBeInTheDocument()}),e.it("applies custom className",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{className:"custom-class",children:"Content"}));e.globalExpect(t.querySelector(".custom-class")).toBeInTheDocument()})}),e.describe("Variants",()=>{e.it("applies default variant by default",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{children:"Content"})),l=t.querySelector("fieldset");e.globalExpect(l).toHaveClass("default")}),e.it("applies outlined variant",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{variant:"outlined",children:"Content"})),l=t.querySelector("fieldset");e.globalExpect(l).toHaveClass("outlined")}),e.it("applies filled variant",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{variant:"filled",children:"Content"})),l=t.querySelector("fieldset");e.globalExpect(l).toHaveClass("filled")})}),e.describe("States",()=>{e.it("applies disabled state",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{disabled:!0,children:"Content"})),l=t.querySelector("fieldset");e.globalExpect(l).toBeDisabled(),e.globalExpect(l).toHaveClass("disabled")}),e.it("applies error state",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{error:!0,children:"Content"})),l=t.querySelector("fieldset");e.globalExpect(l).toHaveClass("error")}),e.it("shows error text styling when error is true",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{error:!0,helperText:"Error message",children:"Content"})),l=t.querySelector('[class*="helperText"]');e.globalExpect(l).toHaveClass("helperText")})}),e.describe("Accessibility",()=>{e.it("properly disables all inputs when disabled",()=>{e.render(r.jsxs(s.Fieldset,{disabled:!0,legend:"Disabled Group",children:[r.jsx("input",{type:"text","aria-label":"Input 1"}),r.jsx("input",{type:"text","aria-label":"Input 2"})]}));const t=e.screen.getByRole("group",{name:"Disabled Group"});e.globalExpect(t).toBeDisabled()}),e.it("has proper role when legend is provided",()=>{e.render(r.jsx(s.Fieldset,{legend:"Form Group",children:"Content"})),e.globalExpect(e.screen.getByRole("group",{name:"Form Group"})).toBeInTheDocument()})}),e.describe("Props Forwarding",()=>{e.it("forwards HTML attributes",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{"data-testid":"test-fieldset",id:"fieldset-id",children:"Content"})),l=t.querySelector("fieldset");e.globalExpect(l).toHaveAttribute("data-testid","test-fieldset"),e.globalExpect(l).toHaveAttribute("id","fieldset-id")})})});
1
+ "use strict";const r=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),s=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Fieldset",()=>{e.describe("Rendering",()=>{e.it("renders children",()=>{e.render(r.jsx(s.Fieldset,{children:r.jsx("input",{type:"text",placeholder:"Text input"})})),e.globalExpect(e.screen.getByPlaceholderText("Text input")).toBeInTheDocument()}),e.it("renders legend if provided",()=>{e.render(r.jsx(s.Fieldset,{legend:"Test legend",children:"Content"})),e.globalExpect(e.screen.getByText("Test legend")).toBeInTheDocument()}),e.it("renders without legend",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{children:"Content"}));e.globalExpect(t.querySelector("legend")).not.toBeInTheDocument()}),e.it("renders helper text when provided",()=>{e.render(r.jsx(s.Fieldset,{helperText:"This is helper text",children:r.jsx("input",{type:"text"})})),e.globalExpect(e.screen.getByText("This is helper text")).toBeInTheDocument()}),e.it("applies custom className",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{className:"custom-class",children:"Content"}));e.globalExpect(t.querySelector(".custom-class")).toBeInTheDocument()})}),e.describe("Variants",()=>{e.it("applies default variant by default",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{children:"Content"})),l=t.querySelector("fieldset");e.globalExpect(l).toHaveClass("default")}),e.it("applies outlined variant",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{variant:"outlined",children:"Content"})),l=t.querySelector("fieldset");e.globalExpect(l).toHaveClass("outlined")}),e.it("applies filled variant",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{variant:"filled",children:"Content"})),l=t.querySelector("fieldset");e.globalExpect(l).toHaveClass("filled")})}),e.describe("States",()=>{e.it("applies disabled state",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{disabled:!0,children:"Content"})),l=t.querySelector("fieldset");e.globalExpect(l).toBeDisabled(),e.globalExpect(l).toHaveClass("disabled")}),e.it("applies error state",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{error:!0,children:"Content"})),l=t.querySelector("fieldset");e.globalExpect(l).toHaveClass("error")}),e.it("shows error text styling when error is true",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{error:!0,helperText:"Error message",children:"Content"})),l=t.querySelector('[class*="helperText"]');e.globalExpect(l).toHaveClass("helperText")})}),e.describe("Accessibility",()=>{e.it("properly disables all inputs when disabled",()=>{e.render(r.jsxs(s.Fieldset,{disabled:!0,legend:"Disabled Group",children:[r.jsx("input",{type:"text","aria-label":"Input 1"}),r.jsx("input",{type:"text","aria-label":"Input 2"})]}));const t=e.screen.getByRole("group",{name:"Disabled Group"});e.globalExpect(t).toBeDisabled()}),e.it("has proper role when legend is provided",()=>{e.render(r.jsx(s.Fieldset,{legend:"Form Group",children:"Content"})),e.globalExpect(e.screen.getByRole("group",{name:"Form Group"})).toBeInTheDocument()})}),e.describe("Props Forwarding",()=>{e.it("forwards HTML attributes",()=>{const{container:t}=e.render(r.jsx(s.Fieldset,{"data-testid":"test-fieldset",id:"fieldset-id",children:"Content"})),l=t.querySelector("fieldset");e.globalExpect(l).toHaveAttribute("data-testid","test-fieldset"),e.globalExpect(l).toHaveAttribute("id","fieldset-id")})})});
@@ -1,5 +1,5 @@
1
1
  import { jsx as t, jsxs as a } from "react/jsx-runtime";
2
- import { d as o, i as s, r as l, g as r, s as d } from "../../../react.esm-DjxyacK8.js";
2
+ import { d as o, i as s, r as l, g as r, s as d } from "../../../react.esm-DKyXDL7m.js";
3
3
  import { Fieldset as i } from "./index.mjs";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  o("Fieldset", () => {