@alfadocs/ui-kit-debug 0.42.0 → 0.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/dist/_chunks/{ar-Cn_NxqkN.js → ar-DEz65ZJW.js} +2 -2
  2. package/dist/_chunks/{ar-Cn_NxqkN.js.map → ar-DEz65ZJW.js.map} +1 -1
  3. package/dist/_chunks/bmi-calculator-DFPWL2OJ.js +273 -0
  4. package/dist/_chunks/bmi-calculator-DFPWL2OJ.js.map +1 -0
  5. package/dist/_chunks/{booking-4mCw3Mpl.js → booking-CtLwaxkK.js} +4 -4
  6. package/dist/_chunks/{booking-4mCw3Mpl.js.map → booking-CtLwaxkK.js.map} +1 -1
  7. package/dist/_chunks/{calculator-dialog-B74fqpFZ.js → calculator-dialog-D-nfvteH.js} +2 -2
  8. package/dist/_chunks/{calculator-dialog-B74fqpFZ.js.map → calculator-dialog-D-nfvteH.js.map} +1 -1
  9. package/dist/_chunks/{chart-Cbt0_sKv.js → chart-Cg3e9EH9.js} +101 -99
  10. package/dist/_chunks/chart-Cg3e9EH9.js.map +1 -0
  11. package/dist/_chunks/{cycle-calculator-DsZbyzX6.js → cycle-calculator-ChHBcjet.js} +65 -56
  12. package/dist/_chunks/cycle-calculator-ChHBcjet.js.map +1 -0
  13. package/dist/_chunks/{date-picker-CvQfs6Xh.js → date-picker-Bq7xhMA-.js} +109 -108
  14. package/dist/_chunks/{date-picker-CvQfs6Xh.js.map → date-picker-Bq7xhMA-.js.map} +1 -1
  15. package/dist/_chunks/date-picker-variants-DLi1Va_e.js +3238 -0
  16. package/dist/_chunks/date-picker-variants-DLi1Va_e.js.map +1 -0
  17. package/dist/_chunks/{date-range-picker-U9fn1g9d.js → date-range-picker-DcXuI9y7.js} +20 -19
  18. package/dist/_chunks/date-range-picker-DcXuI9y7.js.map +1 -0
  19. package/dist/_chunks/{date-time-picker-Cva0ZCWw.js → date-time-picker-RimumeLR.js} +18 -17
  20. package/dist/_chunks/date-time-picker-RimumeLR.js.map +1 -0
  21. package/dist/_chunks/{de-BMM2H7Bs.js → de-bTBGdjPS.js} +2 -2
  22. package/dist/_chunks/{de-BMM2H7Bs.js.map → de-bTBGdjPS.js.map} +1 -1
  23. package/dist/_chunks/dialog-BTpZV6It.js +223 -0
  24. package/dist/_chunks/dialog-BTpZV6It.js.map +1 -0
  25. package/dist/_chunks/{due-date-calculator-s_CBgaFs.js → due-date-calculator-CYXKLoof.js} +65 -45
  26. package/dist/_chunks/due-date-calculator-CYXKLoof.js.map +1 -0
  27. package/dist/_chunks/{editable-currency-cell-renderer-BhUkRiPZ.js → editable-currency-cell-renderer-9jqwDv5x.js} +2 -2
  28. package/dist/_chunks/{editable-currency-cell-renderer-BhUkRiPZ.js.map → editable-currency-cell-renderer-9jqwDv5x.js.map} +1 -1
  29. package/dist/_chunks/{el-BYPonAaK.js → el-BWG5RXxa.js} +6 -6
  30. package/dist/_chunks/{el-BYPonAaK.js.map → el-BWG5RXxa.js.map} +1 -1
  31. package/dist/_chunks/{es-CMkVCQ4F.js → es-DfO_G435.js} +2 -2
  32. package/dist/_chunks/{es-CMkVCQ4F.js.map → es-DfO_G435.js.map} +1 -1
  33. package/dist/_chunks/{fr-BcuWxqft.js → fr-BTn24bs8.js} +2 -2
  34. package/dist/_chunks/{fr-BcuWxqft.js.map → fr-BTn24bs8.js.map} +1 -1
  35. package/dist/_chunks/{gestation-BXEgDGmP.js → gestation-mWF4AXea.js} +3 -3
  36. package/dist/_chunks/{gestation-BXEgDGmP.js.map → gestation-mWF4AXea.js.map} +1 -1
  37. package/dist/_chunks/gestational-age-calculator-sRmoqgVr.js +190 -0
  38. package/dist/_chunks/gestational-age-calculator-sRmoqgVr.js.map +1 -0
  39. package/dist/_chunks/{header-CTZWX-tm.js → header-Ce1Br27u.js} +70 -75
  40. package/dist/_chunks/header-Ce1Br27u.js.map +1 -0
  41. package/dist/_chunks/{hi-wkq_rQAh.js → hi-Dj3oYd84.js} +2 -2
  42. package/dist/_chunks/{hi-wkq_rQAh.js.map → hi-Dj3oYd84.js.map} +1 -1
  43. package/dist/_chunks/insert-result-CoC1oo6R.js +334 -0
  44. package/dist/_chunks/insert-result-CoC1oo6R.js.map +1 -0
  45. package/dist/_chunks/{isSameWeek-Bim5ftRd.js → isSameWeek-HfxKk6Lz.js} +2 -2
  46. package/dist/_chunks/{isSameWeek-Bim5ftRd.js.map → isSameWeek-HfxKk6Lz.js.map} +1 -1
  47. package/dist/_chunks/{it-GiQrQ9p4.js → it-Y85ofIQQ.js} +7 -7
  48. package/dist/_chunks/{it-GiQrQ9p4.js.map → it-Y85ofIQQ.js.map} +1 -1
  49. package/dist/_chunks/{ja-qfYg3Rua.js → ja-CQ7J6YoA.js} +2 -2
  50. package/dist/_chunks/{ja-qfYg3Rua.js.map → ja-CQ7J6YoA.js.map} +1 -1
  51. package/dist/_chunks/{marketplace-app-shell-kVAVycz_.js → marketplace-app-shell-Dc5cTIt8.js} +186 -149
  52. package/dist/_chunks/marketplace-app-shell-Dc5cTIt8.js.map +1 -0
  53. package/dist/_chunks/{nl-xOogO4sZ.js → nl-D9kHCmp3.js} +2 -2
  54. package/dist/_chunks/{nl-xOogO4sZ.js.map → nl-D9kHCmp3.js.map} +1 -1
  55. package/dist/_chunks/{patient-shell-lDX3wwu6.js → patient-shell-CnT4L8gn.js} +2 -2
  56. package/dist/_chunks/{patient-shell-lDX3wwu6.js.map → patient-shell-CnT4L8gn.js.map} +1 -1
  57. package/dist/_chunks/{pl-GnOW6eGK.js → pl-B3Smqpkr.js} +3 -3
  58. package/dist/_chunks/{pl-GnOW6eGK.js.map → pl-B3Smqpkr.js.map} +1 -1
  59. package/dist/_chunks/{pregnancy-weight-gain-B7kBK-ZR.js → pregnancy-weight-gain-C5YhfYnL.js} +60 -50
  60. package/dist/_chunks/pregnancy-weight-gain-C5YhfYnL.js.map +1 -0
  61. package/dist/_chunks/{pt-_bV5b5RW.js → pt-D3J-1c_7.js} +6 -6
  62. package/dist/_chunks/{pt-_bV5b5RW.js.map → pt-D3J-1c_7.js.map} +1 -1
  63. package/dist/_chunks/{ro-BEcyh5Nj.js → ro-BKAbbEA3.js} +2 -2
  64. package/dist/_chunks/{ro-BEcyh5Nj.js.map → ro-BKAbbEA3.js.map} +1 -1
  65. package/dist/_chunks/{ru-Bi86hqMf.js → ru-BeG8f0Ep.js} +3 -3
  66. package/dist/_chunks/{ru-Bi86hqMf.js.map → ru-BeG8f0Ep.js.map} +1 -1
  67. package/dist/_chunks/{sign-document-QHfcNKFj.js → sign-document-B-3k_0LO.js} +165 -137
  68. package/dist/_chunks/sign-document-B-3k_0LO.js.map +1 -0
  69. package/dist/_chunks/{sq-BujHSAWu.js → sq-_hRPaeUy.js} +6 -6
  70. package/dist/_chunks/{sq-BujHSAWu.js.map → sq-_hRPaeUy.js.map} +1 -1
  71. package/dist/_chunks/subDays-Dv7q9S7u.js +8 -0
  72. package/dist/_chunks/{subDays-_T9YeKPX.js.map → subDays-Dv7q9S7u.js.map} +1 -1
  73. package/dist/_chunks/{sv-C8AeDrTA.js → sv-g009fSpe.js} +2 -2
  74. package/dist/_chunks/{sv-C8AeDrTA.js.map → sv-g009fSpe.js.map} +1 -1
  75. package/dist/_chunks/{tab-bar-C4II-7ej.js → tab-bar-Xetknddo.js} +53 -34
  76. package/dist/_chunks/tab-bar-Xetknddo.js.map +1 -0
  77. package/dist/_chunks/{tr-CMSs_Vgf.js → tr-OKUOuhMW.js} +2 -2
  78. package/dist/_chunks/{tr-CMSs_Vgf.js.map → tr-OKUOuhMW.js.map} +1 -1
  79. package/dist/_chunks/{unit-converter-D1UrEUxa.js → unit-converter-Ds9jalbN.js} +78 -67
  80. package/dist/_chunks/unit-converter-Ds9jalbN.js.map +1 -0
  81. package/dist/_chunks/{zh-CN-eXB-PFu4.js → zh-CN-De4zwEhx.js} +3 -3
  82. package/dist/_chunks/{zh-CN-eXB-PFu4.js.map → zh-CN-De4zwEhx.js.map} +1 -1
  83. package/dist/agent-catalog.json +1 -1
  84. package/dist/components/_shared/calendar-class-names.d.ts +8 -0
  85. package/dist/components/_shared/calendar-class-names.d.ts.map +1 -0
  86. package/dist/components/_shared/index.d.ts +2 -0
  87. package/dist/components/_shared/index.d.ts.map +1 -1
  88. package/dist/components/_shared/insert-result.d.ts +149 -4
  89. package/dist/components/_shared/insert-result.d.ts.map +1 -1
  90. package/dist/components/badge/badge.d.ts +1 -1
  91. package/dist/components/bmi-calculator/bmi-calculator.d.ts +6 -0
  92. package/dist/components/bmi-calculator/bmi-calculator.d.ts.map +1 -1
  93. package/dist/components/bmi-calculator/index.js +1 -1
  94. package/dist/components/booking/index.js +1 -1
  95. package/dist/components/calculator-dialog/index.js +1 -1
  96. package/dist/components/card/card.d.ts +1 -1
  97. package/dist/components/chart/chart.d.ts +10 -0
  98. package/dist/components/chart/chart.d.ts.map +1 -1
  99. package/dist/components/chart/index.js +1 -1
  100. package/dist/components/cycle-calculator/cycle-calculator.d.ts +6 -0
  101. package/dist/components/cycle-calculator/cycle-calculator.d.ts.map +1 -1
  102. package/dist/components/cycle-calculator/index.js +1 -1
  103. package/dist/components/data-table/index.js +1 -1
  104. package/dist/components/date-picker/date-picker.d.ts +0 -1
  105. package/dist/components/date-picker/date-picker.d.ts.map +1 -1
  106. package/dist/components/date-picker/index.js +1 -1
  107. package/dist/components/date-range-picker/date-range-picker.d.ts +0 -1
  108. package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
  109. package/dist/components/date-range-picker/index.js +1 -1
  110. package/dist/components/date-time-picker/date-time-picker.d.ts +0 -1
  111. package/dist/components/date-time-picker/date-time-picker.d.ts.map +1 -1
  112. package/dist/components/date-time-picker/index.js +1 -1
  113. package/dist/components/dialog/dialog.d.ts +1 -0
  114. package/dist/components/dialog/dialog.d.ts.map +1 -1
  115. package/dist/components/dialog/index.js +1 -1
  116. package/dist/components/due-date-calculator/due-date-calculator.d.ts +6 -0
  117. package/dist/components/due-date-calculator/due-date-calculator.d.ts.map +1 -1
  118. package/dist/components/due-date-calculator/index.js +2 -2
  119. package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts +6 -0
  120. package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts.map +1 -1
  121. package/dist/components/gestational-age-calculator/index.js +1 -1
  122. package/dist/components/header/header.d.ts +8 -0
  123. package/dist/components/header/header.d.ts.map +1 -1
  124. package/dist/components/header/index.js +1 -1
  125. package/dist/components/index.d.ts +1 -1
  126. package/dist/components/index.d.ts.map +1 -1
  127. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  128. package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts +6 -0
  129. package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts.map +1 -1
  130. package/dist/components/public-header/public-header.d.ts +1 -1
  131. package/dist/components/sign-document/index.js +1 -1
  132. package/dist/components/sign-document/sign-document.d.ts +12 -0
  133. package/dist/components/sign-document/sign-document.d.ts.map +1 -1
  134. package/dist/components/stat/stat.d.ts +1 -1
  135. package/dist/components/tab-bar/index.d.ts +1 -1
  136. package/dist/components/tab-bar/index.d.ts.map +1 -1
  137. package/dist/components/tab-bar/index.js +1 -1
  138. package/dist/components/tab-bar/tab-bar.d.ts +44 -1
  139. package/dist/components/tab-bar/tab-bar.d.ts.map +1 -1
  140. package/dist/components/unit-converter/index.js +1 -1
  141. package/dist/components/unit-converter/unit-converter.d.ts +6 -0
  142. package/dist/components/unit-converter/unit-converter.d.ts.map +1 -1
  143. package/dist/index.js +504 -502
  144. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  145. package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts +57 -1
  146. package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts.map +1 -1
  147. package/dist/patterns/patient-shell/index.js +1 -1
  148. package/dist/tokens.css +1411 -2
  149. package/package.json +1 -1
  150. package/dist/_chunks/bmi-calculator-D4juUcyF.js +0 -219
  151. package/dist/_chunks/bmi-calculator-D4juUcyF.js.map +0 -1
  152. package/dist/_chunks/chart-Cbt0_sKv.js.map +0 -1
  153. package/dist/_chunks/cycle-calculator-DsZbyzX6.js.map +0 -1
  154. package/dist/_chunks/date-range-picker-U9fn1g9d.js.map +0 -1
  155. package/dist/_chunks/date-time-picker-Cva0ZCWw.js.map +0 -1
  156. package/dist/_chunks/dialog-Cee13rHU.js +0 -215
  157. package/dist/_chunks/dialog-Cee13rHU.js.map +0 -1
  158. package/dist/_chunks/due-date-calculator-s_CBgaFs.js.map +0 -1
  159. package/dist/_chunks/gestational-age-calculator-CWOG3bkI.js +0 -178
  160. package/dist/_chunks/gestational-age-calculator-CWOG3bkI.js.map +0 -1
  161. package/dist/_chunks/header-CTZWX-tm.js.map +0 -1
  162. package/dist/_chunks/insert-result-DtQQeSSf.js +0 -227
  163. package/dist/_chunks/insert-result-DtQQeSSf.js.map +0 -1
  164. package/dist/_chunks/marketplace-app-shell-kVAVycz_.js.map +0 -1
  165. package/dist/_chunks/pregnancy-weight-gain-B7kBK-ZR.js.map +0 -1
  166. package/dist/_chunks/react-day-picker-CdtIiKjx.js +0 -3174
  167. package/dist/_chunks/react-day-picker-CdtIiKjx.js.map +0 -1
  168. package/dist/_chunks/sign-document-QHfcNKFj.js.map +0 -1
  169. package/dist/_chunks/subDays-_T9YeKPX.js +0 -8
  170. package/dist/_chunks/tab-bar-C4II-7ej.js.map +0 -1
  171. package/dist/_chunks/unit-converter-D1UrEUxa.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { jsxs as a, jsx as l } from "react/jsx-runtime";
2
2
  import { forwardRef as p } from "react";
3
- import { D as r } from "./dialog-Cee13rHU.js";
3
+ import { D as r } from "./dialog-BTpZV6It.js";
4
4
  const u = p(
5
5
  ({
6
6
  trigger: i,
@@ -37,4 +37,4 @@ u.displayName = "CalculatorDialog";
37
37
  export {
38
38
  u as C
39
39
  };
40
- //# sourceMappingURL=calculator-dialog-B74fqpFZ.js.map
40
+ //# sourceMappingURL=calculator-dialog-D-nfvteH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calculator-dialog-B74fqpFZ.js","sources":["../../src/components/calculator-dialog/calculator-dialog.tsx"],"sourcesContent":["/* ------------------------------------------------------------------ */\n/* CalculatorDialog — shared modal wrapper for the calculator toolset. */\n/* */\n/* Rather than baking Dialog wiring into every calculator, this single */\n/* wrapper composes the kit `Dialog` and hosts ANY calculator (or any */\n/* content) as children. Every calculator therefore gains a modal */\n/* presentation for free: */\n/* */\n/* <CalculatorDialog */\n/* trigger={<Button>Open BMI calculator</Button>} */\n/* title=\"BMI calculator\"> */\n/* <BmiCalculator /> */\n/* </CalculatorDialog> */\n/* ------------------------------------------------------------------ */\n\nimport { forwardRef, type ReactNode } from 'react';\nimport { Dialog, type DialogContentProps } from '../dialog';\n\nexport interface CalculatorDialogProps {\n /** The element that opens the modal (rendered via `Dialog.Trigger asChild`). */\n trigger: ReactNode;\n /** Modal heading — also names the dialog for assistive tech. */\n title: string;\n /** Optional supporting line under the title. */\n description?: string;\n /** The calculator (or any content) shown inside the modal. */\n children: ReactNode;\n /** Dialog size. Calculators default to `lg` to fit inputs + result. */\n size?: DialogContentProps['size'];\n /** Controlled open state. */\n open?: boolean;\n /** Uncontrolled initial open state. */\n defaultOpen?: boolean;\n /** Open-state change handler. */\n onOpenChange?: (open: boolean) => void;\n /** Opaque instance id, forwarded to the dialog content. */\n id?: string;\n /** Extra class names on the modal body wrapper. */\n className?: string;\n}\n\nexport const CalculatorDialog = forwardRef<\n HTMLDivElement,\n CalculatorDialogProps\n>(\n (\n {\n trigger,\n title,\n description,\n children,\n size = 'lg',\n open,\n defaultOpen,\n onOpenChange,\n id,\n className,\n },\n ref,\n ) => {\n return (\n <Dialog\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n id={id}\n >\n <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>\n <Dialog.Content ref={ref} size={size}>\n <Dialog.Header>\n <Dialog.Title>{title}</Dialog.Title>\n {description ? (\n <Dialog.Description>{description}</Dialog.Description>\n ) : null}\n </Dialog.Header>\n <div data-component=\"calculator-dialog\" className={className}>\n {children}\n </div>\n </Dialog.Content>\n </Dialog>\n );\n },\n);\n\nCalculatorDialog.displayName = 'CalculatorDialog';\n"],"names":["CalculatorDialog","forwardRef","trigger","title","description","children","size","open","defaultOpen","onOpenChange","id","className","ref","jsxs","Dialog","jsx"],"mappings":";;;AAyCO,MAAMA,IAAmBC;AAAA,EAI9B,CACE;AAAA,IACE,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,MAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,IAAAC;AAAA,IACA,WAAAC;AAAA,EAAA,GAEFC,MAGE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAP;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,IAAAC;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAK,EAACD,EAAO,SAAP,EAAe,SAAO,IAAE,UAAAZ,GAAQ;AAAA,QACjC,gBAAAW,EAACC,EAAO,SAAP,EAAe,KAAAF,GAAU,MAAAN,GACxB,UAAA;AAAA,UAAA,gBAAAO,EAACC,EAAO,QAAP,EACC,UAAA;AAAA,YAAA,gBAAAC,EAACD,EAAO,OAAP,EAAc,UAAAX,EAAA,CAAM;AAAA,YACpBC,IACC,gBAAAW,EAACD,EAAO,aAAP,EAAoB,aAAY,IAC/B;AAAA,UAAA,GACN;AAAA,UACA,gBAAAC,EAAC,OAAA,EAAI,kBAAe,qBAAoB,WAAAJ,GACrC,UAAAN,EAAA,CACH;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;AAEAL,EAAiB,cAAc;"}
1
+ {"version":3,"file":"calculator-dialog-D-nfvteH.js","sources":["../../src/components/calculator-dialog/calculator-dialog.tsx"],"sourcesContent":["/* ------------------------------------------------------------------ */\n/* CalculatorDialog — shared modal wrapper for the calculator toolset. */\n/* */\n/* Rather than baking Dialog wiring into every calculator, this single */\n/* wrapper composes the kit `Dialog` and hosts ANY calculator (or any */\n/* content) as children. Every calculator therefore gains a modal */\n/* presentation for free: */\n/* */\n/* <CalculatorDialog */\n/* trigger={<Button>Open BMI calculator</Button>} */\n/* title=\"BMI calculator\"> */\n/* <BmiCalculator /> */\n/* </CalculatorDialog> */\n/* ------------------------------------------------------------------ */\n\nimport { forwardRef, type ReactNode } from 'react';\nimport { Dialog, type DialogContentProps } from '../dialog';\n\nexport interface CalculatorDialogProps {\n /** The element that opens the modal (rendered via `Dialog.Trigger asChild`). */\n trigger: ReactNode;\n /** Modal heading — also names the dialog for assistive tech. */\n title: string;\n /** Optional supporting line under the title. */\n description?: string;\n /** The calculator (or any content) shown inside the modal. */\n children: ReactNode;\n /** Dialog size. Calculators default to `lg` to fit inputs + result. */\n size?: DialogContentProps['size'];\n /** Controlled open state. */\n open?: boolean;\n /** Uncontrolled initial open state. */\n defaultOpen?: boolean;\n /** Open-state change handler. */\n onOpenChange?: (open: boolean) => void;\n /** Opaque instance id, forwarded to the dialog content. */\n id?: string;\n /** Extra class names on the modal body wrapper. */\n className?: string;\n}\n\nexport const CalculatorDialog = forwardRef<\n HTMLDivElement,\n CalculatorDialogProps\n>(\n (\n {\n trigger,\n title,\n description,\n children,\n size = 'lg',\n open,\n defaultOpen,\n onOpenChange,\n id,\n className,\n },\n ref,\n ) => {\n return (\n <Dialog\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n id={id}\n >\n <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>\n <Dialog.Content ref={ref} size={size}>\n <Dialog.Header>\n <Dialog.Title>{title}</Dialog.Title>\n {description ? (\n <Dialog.Description>{description}</Dialog.Description>\n ) : null}\n </Dialog.Header>\n <div data-component=\"calculator-dialog\" className={className}>\n {children}\n </div>\n </Dialog.Content>\n </Dialog>\n );\n },\n);\n\nCalculatorDialog.displayName = 'CalculatorDialog';\n"],"names":["CalculatorDialog","forwardRef","trigger","title","description","children","size","open","defaultOpen","onOpenChange","id","className","ref","jsxs","Dialog","jsx"],"mappings":";;;AAyCO,MAAMA,IAAmBC;AAAA,EAI9B,CACE;AAAA,IACE,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,MAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,IAAAC;AAAA,IACA,WAAAC;AAAA,EAAA,GAEFC,MAGE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAP;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,IAAAC;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAK,EAACD,EAAO,SAAP,EAAe,SAAO,IAAE,UAAAZ,GAAQ;AAAA,QACjC,gBAAAW,EAACC,EAAO,SAAP,EAAe,KAAAF,GAAU,MAAAN,GACxB,UAAA;AAAA,UAAA,gBAAAO,EAACC,EAAO,QAAP,EACC,UAAA;AAAA,YAAA,gBAAAC,EAACD,EAAO,OAAP,EAAc,UAAAX,EAAA,CAAM;AAAA,YACpBC,IACC,gBAAAW,EAACD,EAAO,aAAP,EAAoB,aAAY,IAC/B;AAAA,UAAA,GACN;AAAA,UACA,gBAAAC,EAAC,OAAA,EAAI,kBAAe,qBAAoB,WAAAJ,GACrC,UAAAN,EAAA,CACH;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;AAEAL,EAAiB,cAAc;"}
@@ -1,13 +1,13 @@
1
- import { jsxs as T, jsx as c } from "react/jsx-runtime";
2
- import { forwardRef as Q, useId as X, useMemo as d, useRef as tt, useState as P, useEffect as $, useImperativeHandle as et } from "react";
3
- import { c as ot } from "./index-D2ZczOXr.js";
4
- import { useTranslation as at } from "react-i18next";
5
- import rt from "react-apexcharts";
6
- import k from "apexcharts";
7
- import { u as nt, g as G } from "./apexcharts-theme-BJigns_V.js";
8
- import { u as st } from "./use-prefers-reduced-motion-BMwIQRjB.js";
9
- import { u as it } from "./registry-nPAVE19X.js";
10
- const ct = {
1
+ import { jsxs as x, jsx as c } from "react/jsx-runtime";
2
+ import { forwardRef as X, useId as tt, useMemo as d, useRef as et, useState as $, useEffect as k, useImperativeHandle as ot } from "react";
3
+ import { c as at } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as rt } from "react-i18next";
5
+ import nt from "react-apexcharts";
6
+ import G from "apexcharts";
7
+ import { u as st, g as H } from "./apexcharts-theme-BJigns_V.js";
8
+ import { u as it } from "./use-prefers-reduced-motion-BMwIQRjB.js";
9
+ import { u as ct } from "./registry-nPAVE19X.js";
10
+ const dt = {
11
11
  id: "chart",
12
12
  capabilities: [],
13
13
  state: {},
@@ -34,7 +34,7 @@ const ct = {
34
34
  description: "Sourced from the id prop."
35
35
  }
36
36
  }
37
- }, dt = ot("ds:relative ds:block ds:w-full", {
37
+ }, lt = at("ds:relative ds:block ds:w-full", {
38
38
  variants: {
39
39
  density: {
40
40
  compact: "ds:min-h-[var(--chart-min-height-compact)]",
@@ -46,65 +46,66 @@ const ct = {
46
46
  }
47
47
  },
48
48
  defaultVariants: { density: "comfortable" }
49
- }), lt = [
49
+ }), mt = [
50
50
  "verticalLines",
51
51
  "horizontalLines",
52
52
  "slantedLines",
53
53
  "squares",
54
54
  "circles"
55
- ], mt = ["line", "bar", "area"], ut = ["pie", "donut", "radialBar"];
56
- function x(r) {
57
- return ut.includes(r);
55
+ ], ut = ["line", "bar", "area"], ht = ["pie", "donut", "radialBar"];
56
+ function R(r) {
57
+ return ht.includes(r);
58
58
  }
59
- function ht(r) {
60
- return mt.includes(r);
59
+ function pt(r) {
60
+ return ut.includes(r);
61
61
  }
62
- function pt(r, l) {
63
- return x(l) ? [
62
+ function ft(r, l) {
63
+ return R(l) ? [
64
64
  {
65
65
  name: "",
66
66
  data: r
67
67
  }
68
68
  ] : r;
69
69
  }
70
- const ft = Q(
70
+ const bt = X(
71
71
  ({
72
72
  title: r,
73
73
  id: l,
74
74
  type: o,
75
75
  series: p,
76
- categories: v,
77
- labels: g,
78
- height: L,
79
- width: H,
80
- patterns: O = !1,
81
- toolbar: R = !1,
82
- locale: _,
76
+ categories: g,
77
+ labels: v,
78
+ height: O,
79
+ width: _,
80
+ patterns: A = !1,
81
+ colors: T,
82
+ toolbar: S = !1,
83
+ locale: M,
83
84
  radialValueFormatter: m,
84
- density: M,
85
- className: U
86
- }, D) => {
87
- const { t: a, i18n: W } = at(), A = X(), u = d(
88
- () => `chart-${A.replace(/[^a-zA-Z0-9-_]/g, "")}`,
89
- [A]
90
- ), S = `${u}-summary`, y = tt(null), [z, Y] = P(0);
91
- nt(y);
92
- const h = _ ?? W.language ?? "en", [N, Z] = P(
85
+ density: U,
86
+ className: D
87
+ }, W) => {
88
+ const { t: a, i18n: Y } = rt(), z = tt(), u = d(
89
+ () => `chart-${z.replace(/[^a-zA-Z0-9-_]/g, "")}`,
90
+ [z]
91
+ ), y = `${u}-summary`, I = et(null), [N, Z] = $(0);
92
+ st(I);
93
+ const h = M ?? Y.language ?? "en", [B, j] = $(
93
94
  () => {
94
95
  try {
95
- return G();
96
+ return H();
96
97
  } catch {
97
98
  return {};
98
99
  }
99
100
  }
100
101
  );
101
- $(() => {
102
+ k(() => {
102
103
  if (typeof document > "u") return;
103
104
  let t;
104
105
  const e = new MutationObserver(() => {
105
106
  clearTimeout(t), t = setTimeout(() => {
106
107
  try {
107
- Z(G());
108
+ j(H());
108
109
  } catch {
109
110
  }
110
111
  }, 50);
@@ -115,36 +116,36 @@ const ft = Q(
115
116
  }), () => {
116
117
  clearTimeout(t), e.disconnect();
117
118
  };
118
- }, []), $(() => {
119
- const t = y.current;
119
+ }, []), k(() => {
120
+ const t = I.current;
120
121
  if (!t || typeof ResizeObserver > "u") return;
121
122
  const e = new ResizeObserver((n) => {
122
123
  const s = n[0];
123
- s && Y(Math.floor(s.contentRect.width));
124
+ s && Z(Math.floor(s.contentRect.width));
124
125
  });
125
126
  return e.observe(t), () => e.disconnect();
126
127
  }, []);
127
- const I = d(
128
+ const C = d(
128
129
  () => ({
129
130
  async dataURI() {
130
- const t = k.getChartByID(u);
131
+ const t = G.getChartByID(u);
131
132
  return t ? (await t.dataURI()).imgURI : "";
132
133
  },
133
134
  updateSeries(t) {
134
- const e = k.getChartByID(u);
135
- e && (x(o), e.updateSeries(t));
135
+ const e = G.getChartByID(u);
136
+ e && (R(o), e.updateSeries(t));
136
137
  }
137
138
  }),
138
139
  [u, o]
139
140
  );
140
- et(D, () => I, [I]), it(ct, I, l);
141
- const C = typeof document < "u" && document.documentElement.dir === "rtl", B = d(
142
- () => pt(p, o),
141
+ ot(W, () => C, [C]), ct(dt, C, l);
142
+ const w = typeof document < "u" && document.documentElement.dir === "rtl", E = d(
143
+ () => ft(p, o),
143
144
  [p, o]
144
145
  ), f = d(
145
146
  () => new Intl.NumberFormat(h),
146
147
  [h]
147
- ), E = d(
148
+ ), P = d(
148
149
  () => ({
149
150
  name: h,
150
151
  options: {
@@ -163,24 +164,24 @@ const ft = Q(
163
164
  }
164
165
  }),
165
166
  [h, a]
166
- ), w = st(), j = d(() => {
167
+ ), L = it(), q = d(() => {
167
168
  var n, s, b;
168
- const t = N, e = {
169
+ const t = B, e = {
169
170
  ...t,
170
171
  chart: {
171
172
  ...t.chart,
172
173
  id: u,
173
- toolbar: { show: R },
174
- zoom: { enabled: R },
174
+ toolbar: { show: S },
175
+ zoom: { enabled: S },
175
176
  animations: {
176
- enabled: !w,
177
- dynamicAnimation: { enabled: !w }
177
+ enabled: !L,
178
+ dynamicAnimation: { enabled: !L }
178
179
  },
179
- locales: [E],
180
+ locales: [P],
180
181
  defaultLocale: h,
181
182
  parentHeightOffset: 0
182
183
  },
183
- labels: g,
184
+ labels: v,
184
185
  legend: {
185
186
  ...t.legend,
186
187
  position: "bottom",
@@ -188,7 +189,7 @@ const ft = Q(
188
189
  // to the chart's own text flow. For RTL we flip via `yaxis.opposite`
189
190
  // and ApexCharts' own `direction: 'rtl'` handling; legend stays anchored
190
191
  // to the inline-start by asking for 'left' on LTR and 'right' on RTL.
191
- horizontalAlign: C ? "right" : "left",
192
+ horizontalAlign: w ? "right" : "left",
192
193
  fontFamily: "inherit"
193
194
  },
194
195
  tooltip: {
@@ -201,12 +202,12 @@ const ft = Q(
201
202
  text: a("chart.noData")
202
203
  }
203
204
  };
204
- if (ht(o) && (e.xaxis = {
205
+ if (T && T.length > 0 && (e.colors = T), pt(o) && (e.xaxis = {
205
206
  ...t.xaxis,
206
- categories: v ?? []
207
+ categories: g ?? []
207
208
  }, e.yaxis = {
208
209
  ...t.yaxis,
209
- opposite: C,
210
+ opposite: w,
210
211
  labels: {
211
212
  formatter: (i) => f.format(i)
212
213
  }
@@ -223,17 +224,17 @@ const ft = Q(
223
224
  ...((n = i.radialBar) == null ? void 0 : n.dataLabels) ?? {},
224
225
  value: {
225
226
  ...((b = (s = i.radialBar) == null ? void 0 : s.dataLabels) == null ? void 0 : b.value) ?? {},
226
- formatter: (K) => m(Number(K))
227
+ formatter: (Q) => m(Number(Q))
227
228
  }
228
229
  }
229
230
  }
230
231
  };
231
232
  }
232
- return O ? e.fill = {
233
+ return A ? e.fill = {
233
234
  type: "pattern",
234
235
  opacity: o === "area" ? 0.3 : 1,
235
236
  pattern: {
236
- style: [...lt],
237
+ style: [...mt],
237
238
  strokeWidth: 2
238
239
  }
239
240
  } : o === "area" && (e.fill = {
@@ -241,69 +242,70 @@ const ft = Q(
241
242
  opacity: 0.3
242
243
  }), e;
243
244
  }, [
244
- N,
245
+ B,
245
246
  u,
246
- R,
247
- w,
248
- E,
247
+ S,
248
+ L,
249
+ P,
249
250
  h,
250
- g,
251
+ v,
251
252
  f,
252
253
  a,
253
254
  o,
254
- v,
255
- C,
256
- O,
255
+ g,
256
+ w,
257
+ A,
258
+ T,
257
259
  m
258
- ]), q = H ?? (z > 0 ? z : "100%"), V = L ?? 320, F = d(() => {
259
- const t = x(o) ? g ?? [] : v ?? [], e = B;
260
- return /* @__PURE__ */ T("table", { id: S, className: "ds:sr-only", children: [
260
+ ]), V = _ ?? (N > 0 ? N : "100%"), F = O ?? 320, J = d(() => {
261
+ const t = R(o) ? v ?? [] : g ?? [], e = E;
262
+ return /* @__PURE__ */ x("table", { id: y, className: "ds:sr-only", children: [
261
263
  /* @__PURE__ */ c("caption", { children: r }),
262
- /* @__PURE__ */ c("thead", { children: /* @__PURE__ */ T("tr", { children: [
264
+ /* @__PURE__ */ c("thead", { children: /* @__PURE__ */ x("tr", { children: [
263
265
  /* @__PURE__ */ c("th", { scope: "col", children: a("chart.table.series") }),
264
266
  t.map((n, s) => /* @__PURE__ */ c("th", { scope: "col", children: n }, `${n}-${s}`))
265
267
  ] }) }),
266
- /* @__PURE__ */ c("tbody", { children: e.map((n, s) => /* @__PURE__ */ T("tr", { children: [
268
+ /* @__PURE__ */ c("tbody", { children: e.map((n, s) => /* @__PURE__ */ x("tr", { children: [
267
269
  /* @__PURE__ */ c("th", { scope: "row", children: n.name || a("chart.table.value") }),
268
270
  n.data.map((b, i) => /* @__PURE__ */ c("td", { children: o === "radialBar" && m ? m(b) : f.format(b) }, `${s}-${i}`))
269
271
  ] }, `${n.name}-${s}`)) })
270
272
  ] });
271
273
  }, [
272
274
  o,
273
- B,
274
- g,
275
+ E,
275
276
  v,
276
- S,
277
+ g,
278
+ y,
277
279
  r,
278
280
  a,
279
281
  f,
280
282
  m
281
- ]), J = d(() => (x(o), p), [p, o]);
282
- return /* @__PURE__ */ T(
283
+ ]), K = d(() => (R(o), p), [p, o]);
284
+ return /* @__PURE__ */ x(
283
285
  "div",
284
286
  {
285
- ref: y,
287
+ ref: I,
286
288
  role: "img",
287
289
  "aria-label": r,
288
- "aria-describedby": S,
289
- className: dt({
290
+ "aria-describedby": y,
291
+ className: lt({
290
292
  // Explicit height wins over the density min-height unless the
291
293
  // caller also asked for a density explicitly.
292
- density: M ?? (L !== void 0 ? "none" : void 0),
293
- className: U
294
+ density: U ?? (O !== void 0 ? "none" : void 0),
295
+ className: D
294
296
  }),
295
297
  "data-component": "chart",
296
298
  "data-component-id": l,
297
299
  children: [
298
- F,
300
+ J,
299
301
  /* @__PURE__ */ c(
300
- rt,
302
+ nt,
301
303
  {
302
304
  type: o,
303
- series: J,
304
- options: j,
305
- width: q,
306
- height: V,
305
+ series: K,
306
+ options: q,
307
+ width: V,
308
+ height: F,
307
309
  "aria-hidden": "true"
308
310
  }
309
311
  )
@@ -312,10 +314,10 @@ const ft = Q(
312
314
  );
313
315
  }
314
316
  );
315
- ft.displayName = "Chart";
317
+ bt.displayName = "Chart";
316
318
  export {
317
- ft as C,
318
- dt as a,
319
- ct as c
319
+ bt as C,
320
+ lt as a,
321
+ dt as c
320
322
  };
321
- //# sourceMappingURL=chart-Cbt0_sKv.js.map
323
+ //# sourceMappingURL=chart-Cg3e9EH9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-Cg3e9EH9.js","sources":["../../src/components/chart/chart.agent.ts","../../src/components/chart/chart.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { ChartHandle } from './chart';\n\nexport const chartAgent: AgentAdapter<ChartHandle> = {\n id: 'chart',\n capabilities: [],\n state: {},\n actions: {\n update_series: {\n safety: 'read',\n argsType: 'series',\n description: 'Replace the chart series without remounting.',\n invoke: (\n handle,\n args: { series: Parameters<ChartHandle['updateSeries']>[0] },\n ) => {\n handle.updateSeries(args.series);\n },\n },\n export_png: {\n safety: 'read',\n description:\n 'Return a PNG data URI of the chart for export or screenshotting.',\n invoke: (handle) => handle.dataURI(),\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'chart' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","/* ------------------------------------------------------------------ */\n/* Chart — thin, typed wrapper over ApexCharts (react-apexcharts). */\n/* */\n/* - All chrome, colours, and fonts flow from */\n/* `src/tokens/apexcharts-theme.ts` — never hex literals in user */\n/* code. A MutationObserver on `<html class>` re-reads the bridge so */\n/* theme changes repaint without remount. */\n/* - A ResizeObserver on the wrapper keeps the chart responsive */\n/* without listening on `window.resize`. */\n/* - Accessibility: the wrapper carries `role=\"img\"` + `aria-label` */\n/* (required `title` prop) + `aria-describedby` pointing at a */\n/* visually-hidden `<table>` that mirrors series × categories. */\n/* - Colour-blind users: `patterns` prop flips `fill.type` to pattern */\n/* using ApexCharts' built-in pattern presets. */\n/* - Numbers format via `Intl.NumberFormat(locale)` — no hand-rolled */\n/* `toFixed()`. */\n/* ------------------------------------------------------------------ */\n\nimport {\n forwardRef,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport ReactApexChart from 'react-apexcharts';\nimport ApexCharts from 'apexcharts';\nimport { getApexChartsTheme } from '../../tokens/apexcharts-theme';\nimport { usePrefersReducedMotion } from '../../hooks';\nimport { useNeutraliseHiddenFocus } from '../_shared/use-neutralize-hidden-focus';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { chartAgent } from './chart.agent';\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst chartVariants = cva('ds:relative ds:block ds:w-full', {\n variants: {\n density: {\n compact: 'ds:min-h-[var(--chart-min-height-compact)]',\n comfortable: 'ds:min-h-[var(--chart-min-height-comfortable)]',\n // Applied when an explicit `height` prop is given and no density was\n // requested: the wrapper must not exceed the caller's height (a 96px\n // KPI chart inside a card must not reserve 320px).\n none: '',\n },\n },\n defaultVariants: { density: 'comfortable' },\n});\n\n/* ------------------------------------------------------------------ */\n/* Public types */\n/* ------------------------------------------------------------------ */\n\nexport type ChartType = 'line' | 'bar' | 'pie' | 'donut' | 'area' | 'radialBar';\n\nexport interface ChartSeries {\n name: string;\n data: number[];\n}\n\nexport interface ChartProps extends VariantProps<typeof chartVariants> {\n /** Required — drives aria-label and sr-only table caption. */\n title: string;\n /** Opaque instance id — emitted as `data-component-id` for the agent registry. */\n id?: string;\n /** Chart visual type. */\n type: ChartType;\n /**\n * For `line` / `bar` / `area`: an array of `ChartSeries`.\n * For `pie` / `donut` / `radialBar`: an array of numbers matched to `labels`.\n */\n series: ChartSeries[] | number[];\n /** Category axis labels (line / bar / area). */\n categories?: string[];\n /** Slice labels (pie / donut / radialBar). */\n labels?: string[];\n /** Height override. Defaults to 320px. */\n height?: number | string;\n /** Width override. Defaults to 100% of container. */\n width?: number | string;\n /** Opt-in pattern fills for colour-blind users. */\n patterns?: boolean;\n /**\n * Override the series colour ramp. Pass **already-resolved** colour strings\n * (e.g. the live value of `var(--success)` sampled by the consumer) — these\n * are handed straight to ApexCharts, which can't read CSS custom properties.\n * When omitted, the theme bridge's `colors` ramp from `apexcharts-theme.ts`\n * is used, so existing consumers are unaffected. Typical use: a single-arc\n * `radialBar` gauge (e.g. BMI) that must change hue with the value —\n * green in the healthy band, amber/red outside it.\n */\n colors?: string[];\n /** Show the ApexCharts toolbar. Defaults to false. */\n toolbar?: boolean;\n /** Locale override — defaults to the active i18next language. */\n locale?: string;\n /**\n * radialBar only. Formats the value printed in the ring centre. Use when the\n * gauge represents a non-percentage figure: pass the arc fill (0–100) as the\n * single `series` value and return the real figure here (e.g. `(_, ) => '22.4'`).\n * Ignored for every other chart type. Defaults to ApexCharts' `${value}%`.\n */\n radialValueFormatter?: (value: number) => string;\n /** Extra class names on the wrapper. */\n className?: string;\n}\n\nexport interface ChartHandle {\n /** Returns a PNG data URI for the chart. */\n dataURI: () => Promise<string>;\n /** Updates series without remounting. */\n updateSeries: (next: ChartProps['series']) => void;\n}\n\n/* ------------------------------------------------------------------ */\n/* Constants */\n/* ------------------------------------------------------------------ */\n\nconst PATTERN_STYLES = [\n 'verticalLines',\n 'horizontalLines',\n 'slantedLines',\n 'squares',\n 'circles',\n] as const;\n\n/** Types where `categories` belong on an x-axis. */\nconst CATEGORICAL_TYPES: ReadonlyArray<ChartType> = ['line', 'bar', 'area'];\n\n/** Types where `series` is a flat `number[]` paired with `labels`. */\nconst SLICE_TYPES: ReadonlyArray<ChartType> = ['pie', 'donut', 'radialBar'];\n\n/* ------------------------------------------------------------------ */\n/* Helpers */\n/* ------------------------------------------------------------------ */\n\nfunction isSliceType(type: ChartType): boolean {\n return SLICE_TYPES.includes(type);\n}\n\nfunction isCategoricalType(type: ChartType): boolean {\n return CATEGORICAL_TYPES.includes(type);\n}\n\n/** Coerce `series` into `ChartSeries[]` for shared logic (table, aria). */\nfunction normaliseSeries(\n series: ChartSeries[] | number[],\n type: ChartType,\n): ChartSeries[] {\n if (isSliceType(type)) {\n const nums = series as number[];\n return [\n {\n name: '',\n data: nums,\n },\n ];\n }\n return series as ChartSeries[];\n}\n\n/* ------------------------------------------------------------------ */\n/* Chart component */\n/* ------------------------------------------------------------------ */\n\nexport const Chart = forwardRef<ChartHandle, ChartProps>(\n (\n {\n title,\n id,\n type,\n series,\n categories,\n labels,\n height,\n width,\n patterns = false,\n colors,\n toolbar = false,\n locale: localeProp,\n radialValueFormatter,\n density,\n className,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const rawId = useId();\n const chartId = useMemo(\n () => `chart-${rawId.replace(/[^a-zA-Z0-9-_]/g, '')}`,\n [rawId],\n );\n const summaryId = `${chartId}-summary`;\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n const [containerWidth, setContainerWidth] = useState(0);\n\n /* ApexCharts injects focusable canvases inside the `aria-hidden` */\n /* chart wrapper. Neutralise their tabindex so axe's */\n /* `aria-hidden-focus` rule passes. Same hook used in Sparkline. */\n useNeutraliseHiddenFocus(wrapperRef);\n\n const locale = localeProp ?? i18n.language ?? 'en';\n\n /* ---- dev warning if title missing ------------------------------ */\n if (import.meta.env.DEV && !title) {\n console.warn(\n 'Chart: `title` prop is required. It drives aria-label and the screen-reader summary table.',\n );\n }\n\n /* ---- theme-reactive state -------------------------------------- */\n const [themeOptions, setThemeOptions] = useState<ApexCharts.ApexOptions>(\n () => {\n try {\n return getApexChartsTheme();\n } catch {\n return {};\n }\n },\n );\n\n /* ---- MutationObserver: re-read theme on class change ------------ */\n useEffect(() => {\n if (typeof document === 'undefined') return undefined;\n let timer: ReturnType<typeof setTimeout>;\n const observer = new MutationObserver(() => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n try {\n setThemeOptions(getApexChartsTheme());\n } catch {\n /* no-op in non-browser environments */\n }\n }, 50);\n });\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['class'],\n });\n return () => {\n clearTimeout(timer);\n observer.disconnect();\n };\n }, []);\n\n /* ---- ResizeObserver: track container width --------------------- */\n useEffect(() => {\n const el = wrapperRef.current;\n if (!el || typeof ResizeObserver === 'undefined') return undefined;\n const ro = new ResizeObserver((entries) => {\n const entry = entries[0];\n if (entry) setContainerWidth(Math.floor(entry.contentRect.width));\n });\n ro.observe(el);\n return () => ro.disconnect();\n }, []);\n\n /* ---- imperative handle ----------------------------------------- */\n const agentHandle = useMemo<ChartHandle>(\n () => ({\n async dataURI(): Promise<string> {\n const instance = ApexCharts.getChartByID(chartId);\n if (!instance) return '';\n const result = await instance.dataURI();\n return (result as { imgURI: string }).imgURI;\n },\n updateSeries(next) {\n const instance = ApexCharts.getChartByID(chartId);\n if (!instance) return;\n if (isSliceType(type)) {\n instance.updateSeries(next as number[]);\n } else {\n instance.updateSeries(next as ChartSeries[]);\n }\n },\n }),\n [chartId, type],\n );\n useImperativeHandle(ref, () => agentHandle, [agentHandle]);\n useAgentRegistration(chartAgent, agentHandle, id);\n\n /* ---- RTL detection --------------------------------------------- */\n const isRtl =\n typeof document !== 'undefined' && document.documentElement.dir === 'rtl';\n\n /* ---- normalised series for sr-only table ----------------------- */\n const tableSeries = useMemo(\n () => normaliseSeries(series, type),\n [series, type],\n );\n\n /* ---- Intl formatter -------------------------------------------- */\n const numberFormatter = useMemo(\n () => new Intl.NumberFormat(locale),\n [locale],\n );\n\n /* ---- toolbar localisation -------------------------------------- */\n const toolbarLocale = useMemo(\n () => ({\n name: locale,\n options: {\n toolbar: {\n download: t('chart.toolbar.download'),\n selection: t('chart.toolbar.selection'),\n selectionZoom: t('chart.toolbar.selectionZoom'),\n zoomIn: t('chart.toolbar.zoomIn'),\n zoomOut: t('chart.toolbar.zoomOut'),\n pan: t('chart.toolbar.pan'),\n reset: t('chart.toolbar.reset'),\n exportToSVG: t('chart.toolbar.exportToSVG'),\n exportToPNG: t('chart.toolbar.exportToPNG'),\n exportToCSV: t('chart.toolbar.exportToCSV'),\n },\n },\n }),\n [locale, t],\n );\n\n /* ---- build ApexOptions ----------------------------------------- */\n const reducedMotion = usePrefersReducedMotion();\n\n const chartOptions: ApexCharts.ApexOptions = useMemo(() => {\n const base = themeOptions;\n\n const options: ApexCharts.ApexOptions = {\n ...base,\n chart: {\n ...base.chart,\n id: chartId,\n toolbar: { show: toolbar },\n zoom: { enabled: toolbar },\n animations: {\n enabled: !reducedMotion,\n dynamicAnimation: { enabled: !reducedMotion },\n },\n locales: [toolbarLocale],\n defaultLocale: locale,\n parentHeightOffset: 0,\n },\n labels: labels,\n legend: {\n ...base.legend,\n position: 'bottom',\n // ApexCharts legend.horizontalAlign is a physical prop mapped internally\n // to the chart's own text flow. For RTL we flip via `yaxis.opposite`\n // and ApexCharts' own `direction: 'rtl'` handling; legend stays anchored\n // to the inline-start by asking for 'left' on LTR and 'right' on RTL.\n horizontalAlign: isRtl ? 'right' : 'left',\n fontFamily: 'inherit',\n },\n tooltip: {\n ...base.tooltip,\n y: {\n formatter: (value: number) => numberFormatter.format(value),\n },\n },\n noData: {\n text: t('chart.noData'),\n },\n };\n\n // Consumer-supplied, already-resolved colour ramp wins over the theme\n // bridge's `colors`. Ignored when absent so existing charts keep the\n // tokenised ramp. ApexCharts can't read `var(--…)`, so the consumer is\n // responsible for sampling the live token value before passing it in.\n if (colors && colors.length > 0) {\n options.colors = colors;\n }\n\n if (isCategoricalType(type)) {\n options.xaxis = {\n ...base.xaxis,\n categories: categories ?? [],\n };\n options.yaxis = {\n ...base.yaxis,\n opposite: isRtl,\n labels: {\n formatter: (value: number) => numberFormatter.format(value),\n },\n };\n options.stroke = {\n curve: 'smooth',\n width: type === 'bar' ? 0 : 2,\n };\n options.dataLabels = { enabled: false };\n }\n\n if (type === 'radialBar' && radialValueFormatter) {\n // ApexCharts treats a radialBar series value as a 0–100 percent and\n // renders it verbatim in the ring centre. When the displayed value is\n // NOT a percentage (e.g. a BMI), the consumer scales the series to a\n // percent for the arc and supplies `radialValueFormatter` to print the\n // real value in the centre. Without this, the gauge would read \"56%\"\n // for a BMI of 22.4 — misleading. Default behaviour is untouched.\n const basePlot = (base.plotOptions ?? {}) as NonNullable<\n ApexCharts.ApexOptions['plotOptions']\n >;\n options.plotOptions = {\n ...basePlot,\n radialBar: {\n ...(basePlot.radialBar ?? {}),\n dataLabels: {\n ...(basePlot.radialBar?.dataLabels ?? {}),\n value: {\n ...(basePlot.radialBar?.dataLabels?.value ?? {}),\n formatter: (val: number) => radialValueFormatter(Number(val)),\n },\n },\n },\n };\n }\n\n if (patterns) {\n options.fill = {\n type: 'pattern',\n opacity: type === 'area' ? 0.3 : 1,\n pattern: {\n style: [...PATTERN_STYLES],\n strokeWidth: 2,\n },\n };\n } else if (type === 'area') {\n options.fill = {\n type: 'gradient',\n opacity: 0.3,\n };\n }\n\n return options;\n }, [\n themeOptions,\n chartId,\n toolbar,\n reducedMotion,\n toolbarLocale,\n locale,\n labels,\n numberFormatter,\n t,\n type,\n categories,\n isRtl,\n patterns,\n colors,\n radialValueFormatter,\n ]);\n\n /* ---- resolved dimensions --------------------------------------- */\n const resolvedWidth =\n width ?? (containerWidth > 0 ? containerWidth : '100%');\n const resolvedHeight = height ?? 320;\n\n /* ---- sr-only data table --------------------------------------- */\n const srTable = useMemo(() => {\n const columnLabels = isSliceType(type)\n ? (labels ?? [])\n : (categories ?? []);\n const rows = tableSeries;\n return (\n <table id={summaryId} className=\"ds:sr-only\">\n <caption>{title}</caption>\n <thead>\n <tr>\n <th scope=\"col\">{t('chart.table.series')}</th>\n {columnLabels.map((col, i) => (\n <th key={`${col}-${i}`} scope=\"col\">\n {col}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {rows.map((row, rowIndex) => (\n <tr key={`${row.name}-${rowIndex}`}>\n <th scope=\"row\">{row.name || t('chart.table.value')}</th>\n {row.data.map((value, colIndex) => (\n <td key={`${rowIndex}-${colIndex}`}>\n {/* For a radialBar gauge the series is a synthetic arc\n percent — announce the consumer's display value (e.g.\n the real BMI) instead of the raw fill so AT users get\n the same figure sighted users see in the ring. */}\n {type === 'radialBar' && radialValueFormatter\n ? radialValueFormatter(value)\n : numberFormatter.format(value)}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n }, [\n type,\n tableSeries,\n labels,\n categories,\n summaryId,\n title,\n t,\n numberFormatter,\n radialValueFormatter,\n ]);\n\n /* ---- ApexCharts `series` prop shape ----------------------------- */\n const apexSeries = useMemo(() => {\n if (isSliceType(type)) {\n return series as number[];\n }\n return series as ChartSeries[];\n }, [series, type]);\n\n return (\n <div\n ref={wrapperRef}\n role=\"img\"\n aria-label={title}\n aria-describedby={summaryId}\n className={chartVariants({\n // Explicit height wins over the density min-height unless the\n // caller also asked for a density explicitly.\n density: density ?? (height !== undefined ? 'none' : undefined),\n className,\n })}\n data-component=\"chart\"\n data-component-id={id}\n >\n {srTable}\n <ReactApexChart\n type={type}\n series={apexSeries as ApexCharts.ApexOptions['series']}\n options={chartOptions}\n width={resolvedWidth}\n height={resolvedHeight}\n aria-hidden=\"true\"\n />\n </div>\n );\n },\n);\n\nChart.displayName = 'Chart';\n\n/* ------------------------------------------------------------------ */\n/* Re-export internal helper for downstream theming (kept narrow). */\n/* ------------------------------------------------------------------ */\n\nexport { chartVariants };\n"],"names":["chartAgent","handle","args","chartVariants","cva","PATTERN_STYLES","CATEGORICAL_TYPES","SLICE_TYPES","isSliceType","type","isCategoricalType","normaliseSeries","series","Chart","forwardRef","title","id","categories","labels","height","width","patterns","colors","toolbar","localeProp","radialValueFormatter","density","className","ref","t","i18n","useTranslation","rawId","useId","chartId","useMemo","summaryId","wrapperRef","useRef","containerWidth","setContainerWidth","useState","useNeutraliseHiddenFocus","locale","themeOptions","setThemeOptions","getApexChartsTheme","useEffect","timer","observer","el","ro","entries","entry","agentHandle","instance","ApexCharts","next","useImperativeHandle","useAgentRegistration","isRtl","tableSeries","numberFormatter","toolbarLocale","reducedMotion","usePrefersReducedMotion","chartOptions","base","options","value","basePlot","_a","_c","_b","val","resolvedWidth","resolvedHeight","srTable","columnLabels","rows","jsx","jsxs","col","i","row","rowIndex","colIndex","apexSeries","ReactApexChart"],"mappings":"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"}