@dev-dga/react 0.8.3 → 0.9.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 (81) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/{chunk-EFKAKU2X.js → chunk-66EVFQVL.js} +2 -2
  3. package/dist/{chunk-SOIZIH7F.js → chunk-6DN3JE3P.js} +10 -1
  4. package/dist/chunk-6DN3JE3P.js.map +1 -0
  5. package/dist/{chunk-D7BZ6L4Z.cjs → chunk-BBGCS5PZ.cjs} +7 -2
  6. package/dist/chunk-BBGCS5PZ.cjs.map +1 -0
  7. package/dist/{chunk-MUM6HKPT.js → chunk-BTP7G7WR.js} +7 -2
  8. package/dist/chunk-BTP7G7WR.js.map +1 -0
  9. package/dist/{chunk-LES7CZSC.cjs → chunk-CISRE6BC.cjs} +14 -3
  10. package/dist/chunk-CISRE6BC.cjs.map +1 -0
  11. package/dist/{chunk-4ZCLTLVC.cjs → chunk-CVQFSXRR.cjs} +10 -1
  12. package/dist/chunk-CVQFSXRR.cjs.map +1 -0
  13. package/dist/{chunk-BNULFLPC.js → chunk-HBAHWCBK.js} +14 -3
  14. package/dist/chunk-HBAHWCBK.js.map +1 -0
  15. package/dist/{chunk-54GIEP6E.cjs → chunk-I6BOBHO6.cjs} +7 -2
  16. package/dist/chunk-I6BOBHO6.cjs.map +1 -0
  17. package/dist/{chunk-DBB47IAX.js → chunk-IFB53HNO.js} +1 -1
  18. package/dist/chunk-IFB53HNO.js.map +1 -0
  19. package/dist/{chunk-TWCX4EZR.js → chunk-JOJ23OD4.js} +6 -1
  20. package/dist/{chunk-TWCX4EZR.js.map → chunk-JOJ23OD4.js.map} +1 -1
  21. package/dist/{chunk-PI4OPECU.cjs → chunk-LG2IADSZ.cjs} +1 -1
  22. package/dist/{chunk-PI4OPECU.cjs.map → chunk-LG2IADSZ.cjs.map} +1 -1
  23. package/dist/{chunk-CHE75QHA.js → chunk-MCHL23CE.js} +1 -1
  24. package/dist/{chunk-CHE75QHA.js.map → chunk-MCHL23CE.js.map} +1 -1
  25. package/dist/{chunk-MWOGVEQB.cjs → chunk-NUC6WJU4.cjs} +5 -5
  26. package/dist/{chunk-MWOGVEQB.cjs.map → chunk-NUC6WJU4.cjs.map} +1 -1
  27. package/dist/{chunk-JQO3EFLX.cjs → chunk-PAUY27WX.cjs} +3 -14
  28. package/dist/chunk-PAUY27WX.cjs.map +1 -0
  29. package/dist/{chunk-6A73DWVA.js → chunk-UAECZXU5.js} +3 -14
  30. package/dist/chunk-UAECZXU5.js.map +1 -0
  31. package/dist/{chunk-43763K2A.cjs → chunk-WI4WQGF6.cjs} +1 -1
  32. package/dist/{chunk-43763K2A.cjs.map → chunk-WI4WQGF6.cjs.map} +1 -1
  33. package/dist/components/Combobox/Combobox.cjs +2 -2
  34. package/dist/components/Combobox/Combobox.js +1 -1
  35. package/dist/components/Combobox/index.cjs +2 -2
  36. package/dist/components/Combobox/index.js +1 -1
  37. package/dist/components/DateRangePicker/DateRangePicker.cjs +2 -2
  38. package/dist/components/DateRangePicker/DateRangePicker.js +1 -1
  39. package/dist/components/DateRangePicker/index.cjs +2 -2
  40. package/dist/components/DateRangePicker/index.js +1 -1
  41. package/dist/components/Modal/Modal.cjs +4 -2
  42. package/dist/components/Modal/Modal.cjs.map +1 -1
  43. package/dist/components/Modal/Modal.js +3 -1
  44. package/dist/components/Modal/index.cjs +4 -2
  45. package/dist/components/Modal/index.cjs.map +1 -1
  46. package/dist/components/Modal/index.js +3 -1
  47. package/dist/components/ScrollArea/ScrollArea.cjs +2 -2
  48. package/dist/components/ScrollArea/ScrollArea.js +1 -1
  49. package/dist/components/ScrollArea/index.cjs +2 -2
  50. package/dist/components/ScrollArea/index.js +1 -1
  51. package/dist/components/Sidebar/Sidebar.cjs +2 -2
  52. package/dist/components/Sidebar/Sidebar.js +1 -1
  53. package/dist/components/Sidebar/SidebarMenu.cjs +3 -3
  54. package/dist/components/Sidebar/SidebarMenu.js +2 -2
  55. package/dist/components/Sidebar/index.cjs +4 -4
  56. package/dist/components/Sidebar/index.js +3 -3
  57. package/dist/components/TagInput/TagInput.cjs +2 -2
  58. package/dist/components/TagInput/TagInput.js +1 -1
  59. package/dist/components/TagInput/index.cjs +2 -2
  60. package/dist/components/TagInput/index.js +1 -1
  61. package/dist/components/Tooltip/Tooltip.cjs +2 -2
  62. package/dist/components/Tooltip/Tooltip.js +1 -1
  63. package/dist/components/Tooltip/index.cjs +2 -2
  64. package/dist/components/Tooltip/index.js +1 -1
  65. package/dist/index.cjs +19 -17
  66. package/dist/index.cjs.map +1 -1
  67. package/dist/index.d.cts +20 -6
  68. package/dist/index.d.ts +20 -6
  69. package/dist/index.js +22 -20
  70. package/package.json +3 -3
  71. package/dist/chunk-4ZCLTLVC.cjs.map +0 -1
  72. package/dist/chunk-54GIEP6E.cjs.map +0 -1
  73. package/dist/chunk-6A73DWVA.js.map +0 -1
  74. package/dist/chunk-BNULFLPC.js.map +0 -1
  75. package/dist/chunk-D7BZ6L4Z.cjs.map +0 -1
  76. package/dist/chunk-DBB47IAX.js.map +0 -1
  77. package/dist/chunk-JQO3EFLX.cjs.map +0 -1
  78. package/dist/chunk-LES7CZSC.cjs.map +0 -1
  79. package/dist/chunk-MUM6HKPT.js.map +0 -1
  80. package/dist/chunk-SOIZIH7F.js.map +0 -1
  81. /package/dist/{chunk-EFKAKU2X.js.map → chunk-66EVFQVL.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Modal/Modal.tsx"],"sourcesContent":["'use client';\n\nimport { useContext } from 'react';\nimport { Dialog as DialogPrimitive, Slot as SlotPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { DgaContext } from '../../providers/DgaContext';\nimport { Close } from '../../internal/icons';\n\n// ─── 1. Variants (cva) ─── //\n\nconst modalContentVariants = cva('ddga-modal', {\n variants: {\n size: {\n sm: 'ddga-modal--sm',\n md: 'ddga-modal--md',\n lg: 'ddga-modal--lg',\n xl: 'ddga-modal--xl',\n full: 'ddga-modal--full',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\n// ─── 2. Types ─── //\n//\n// Closed compound shape that hides Radix's Portal/Overlay plumbing. The Portal\n// is anchored to `DgaContext.rootEl` so `data-theme` + custom theme classes\n// set on the provider inherit into the modal — without it, the modal would\n// silently mount under <body> and miss dark mode / palette switches.\n\ntype ModalProps = React.ComponentProps<typeof DialogPrimitive.Root>;\ntype ModalTriggerProps = React.ComponentProps<typeof DialogPrimitive.Trigger>;\ntype ModalCloseProps = React.ComponentProps<typeof DialogPrimitive.Close>;\n\ninterface ModalContentProps\n extends\n React.ComponentProps<typeof DialogPrimitive.Content>,\n VariantProps<typeof modalContentVariants> {\n /**\n * Render a corner X close button. Defaults to `true`. Set `false` for\n * action-forcing dialogs (e.g. \"Are you sure?\") where the user must pick\n * one of the explicit footer buttons.\n */\n showCloseButton?: boolean;\n /** Localized label for the close button. Defaults to `\"Close\"`. */\n closeLabel?: string;\n}\n\ntype ModalSectionProps = React.ComponentProps<'div'> & { asChild?: boolean };\n\ninterface ModalTitleProps extends React.ComponentProps<typeof DialogPrimitive.Title> {\n /** Override the heading element (e.g. render an `<h3>` instead of the default `<h2>`). */\n asChild?: boolean;\n}\n\ninterface ModalDescriptionProps extends React.ComponentProps<typeof DialogPrimitive.Description> {\n /** Override the element (e.g. render a `<div>` for richer markup). */\n asChild?: boolean;\n}\n\n// ─── 3. Components ─── //\n\nfunction Modal(props: ModalProps) {\n return <DialogPrimitive.Root {...props} />;\n}\n\nfunction ModalTrigger({ className, ...props }: ModalTriggerProps) {\n // Radix Trigger supports asChild natively — pass through.\n return <DialogPrimitive.Trigger data-slot=\"modal-trigger\" className={className} {...props} />;\n}\n\nfunction ModalContent({\n size,\n showCloseButton = true,\n closeLabel = 'Close',\n className,\n children,\n ...props\n}: ModalContentProps) {\n // Anchor the Portal to the DgaProvider's body-level portal container.\n // Pattern documented in DgaContext.ts; regression test in Modal.test.tsx\n // mirrors Select/Tooltip. The portal container mirrors data-theme + dir +\n // CSS vars from the provider so theming still flows; using it (rather\n // than the in-tree `rootEl`) keeps the modal's `position: fixed` overlay\n // from being trapped by an ancestor `transform` or `overflow: hidden`\n // (Storybook autodocs is the motivating case).\n const ctx = useContext(DgaContext);\n const portalContainer = ctx?.portalEl ?? ctx?.rootEl ?? undefined;\n\n return (\n <DialogPrimitive.Portal container={portalContainer}>\n <DialogPrimitive.Overlay className=\"ddga-modal__overlay\" data-slot=\"modal-overlay\" />\n <DialogPrimitive.Content\n data-slot=\"modal-content\"\n className={cn(modalContentVariants({ size }), className)}\n {...props}\n >\n {children}\n {showCloseButton ? (\n <DialogPrimitive.Close\n className=\"ddga-modal__close\"\n aria-label={closeLabel}\n data-slot=\"modal-close-x\"\n >\n <Close aria-hidden=\"true\" />\n </DialogPrimitive.Close>\n ) : null}\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n );\n}\n\nfunction ModalHeader({ asChild, className, ...props }: ModalSectionProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'div';\n return (\n <Comp data-slot=\"modal-header\" className={cn('ddga-modal__header', className)} {...props} />\n );\n}\n\nfunction ModalTitle({ asChild, className, ...props }: ModalTitleProps) {\n // Dialog.Title wires aria-labelledby on the parent Content. We pass asChild\n // through so consumers can swap heading level (h2 → h1/h3) without losing\n // the labelling link.\n return (\n <DialogPrimitive.Title\n asChild={asChild}\n data-slot=\"modal-title\"\n className={cn('ddga-modal__title', className)}\n {...props}\n />\n );\n}\n\nfunction ModalDescription({ asChild, className, ...props }: ModalDescriptionProps) {\n // Dialog.Description wires aria-describedby on the parent Content. asChild\n // lets consumers swap the element if they need richer markup.\n return (\n <DialogPrimitive.Description\n asChild={asChild}\n data-slot=\"modal-description\"\n className={cn('ddga-modal__description', className)}\n {...props}\n />\n );\n}\n\nfunction ModalFooter({ asChild, className, ...props }: ModalSectionProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'div';\n return (\n <Comp data-slot=\"modal-footer\" className={cn('ddga-modal__footer', className)} {...props} />\n );\n}\n\nfunction ModalClose({ className, ...props }: ModalCloseProps) {\n // Consumer-level close trigger for footer buttons etc. Radix Close supports\n // asChild natively — pass through so consumers can wrap a <Button>.\n return <DialogPrimitive.Close data-slot=\"modal-close\" className={className} {...props} />;\n}\n\n// ─── 4. Exports ─── //\n\nexport {\n Modal,\n ModalTrigger,\n ModalContent,\n ModalHeader,\n ModalTitle,\n ModalDescription,\n ModalFooter,\n ModalClose,\n modalContentVariants,\n};\nexport type {\n ModalProps,\n ModalTriggerProps,\n ModalContentProps,\n ModalSectionProps,\n ModalTitleProps,\n ModalDescriptionProps,\n ModalCloseProps,\n};\n"],"mappings":";;;;;;;;;;;AAEA,SAAS,kBAAkB;AAC3B,SAAS,UAAU,iBAAiB,QAAQ,qBAAqB;AACjE,SAAS,WAA8B;AA8D9B,cA6BH,YA7BG;AAvDT,IAAM,uBAAuB,IAAI,cAAc;AAAA,EAC7C,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;AAyCD,SAAS,MAAM,OAAmB;AAChC,SAAO,oBAAC,gBAAgB,MAAhB,EAAsB,GAAG,OAAO;AAC1C;AAEA,SAAS,aAAa,EAAE,WAAW,GAAG,MAAM,GAAsB;AAEhE,SAAO,oBAAC,gBAAgB,SAAhB,EAAwB,aAAU,iBAAgB,WAAuB,GAAG,OAAO;AAC7F;AAEA,SAAS,aAAa;AAAA,EACpB;AAAA,EACA,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAsB;AAQpB,QAAM,MAAM,WAAW,UAAU;AACjC,QAAM,kBAAkB,KAAK,YAAY,KAAK,UAAU;AAExD,SACE,qBAAC,gBAAgB,QAAhB,EAAuB,WAAW,iBACjC;AAAA,wBAAC,gBAAgB,SAAhB,EAAwB,WAAU,uBAAsB,aAAU,iBAAgB;AAAA,IACnF;AAAA,MAAC,gBAAgB;AAAA,MAAhB;AAAA,QACC,aAAU;AAAA,QACV,WAAW,GAAG,qBAAqB,EAAE,KAAK,CAAC,GAAG,SAAS;AAAA,QACtD,GAAG;AAAA,QAEH;AAAA;AAAA,UACA,kBACC;AAAA,YAAC,gBAAgB;AAAA,YAAhB;AAAA,cACC,WAAU;AAAA,cACV,cAAY;AAAA,cACZ,aAAU;AAAA,cAEV,8BAAC,SAAM,eAAY,QAAO;AAAA;AAAA,UAC5B,IACE;AAAA;AAAA;AAAA,IACN;AAAA,KACF;AAEJ;AAEA,SAAS,YAAY,EAAE,SAAS,WAAW,GAAG,MAAM,GAAsB;AACxE,QAAM,OAAO,UAAU,cAAc,OAAO;AAC5C,SACE,oBAAC,QAAK,aAAU,gBAAe,WAAW,GAAG,sBAAsB,SAAS,GAAI,GAAG,OAAO;AAE9F;AAEA,SAAS,WAAW,EAAE,SAAS,WAAW,GAAG,MAAM,GAAoB;AAIrE,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MACV,WAAW,GAAG,qBAAqB,SAAS;AAAA,MAC3C,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,iBAAiB,EAAE,SAAS,WAAW,GAAG,MAAM,GAA0B;AAGjF,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MACV,WAAW,GAAG,2BAA2B,SAAS;AAAA,MACjD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,YAAY,EAAE,SAAS,WAAW,GAAG,MAAM,GAAsB;AACxE,QAAM,OAAO,UAAU,cAAc,OAAO;AAC5C,SACE,oBAAC,QAAK,aAAU,gBAAe,WAAW,GAAG,sBAAsB,SAAS,GAAI,GAAG,OAAO;AAE9F;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAAoB;AAG5D,SAAO,oBAAC,gBAAgB,OAAhB,EAAsB,aAAU,eAAc,WAAuB,GAAG,OAAO;AACzF;","names":[]}
1
+ {"version":3,"sources":["../src/components/Modal/Modal.tsx"],"sourcesContent":["'use client';\n\nimport { useContext } from 'react';\nimport { Dialog as DialogPrimitive, Slot as SlotPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { DgaContext } from '../../providers/DgaContext';\nimport { Close } from '../../internal/icons';\n\n// ─── 1. Variants (cva) ─── //\n\nconst modalContentVariants = cva('ddga-modal', {\n variants: {\n size: {\n sm: 'ddga-modal--sm',\n md: 'ddga-modal--md',\n lg: 'ddga-modal--lg',\n xl: 'ddga-modal--xl',\n full: 'ddga-modal--full',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\n// ─── 2. Types ─── //\n//\n// Closed compound shape that hides Radix's Portal/Overlay plumbing. The Portal\n// is anchored to `DgaContext.rootEl` so `data-theme` + custom theme classes\n// set on the provider inherit into the modal — without it, the modal would\n// silently mount under <body> and miss dark mode / palette switches.\n\ntype ModalProps = React.ComponentProps<typeof DialogPrimitive.Root>;\ntype ModalTriggerProps = React.ComponentProps<typeof DialogPrimitive.Trigger>;\ntype ModalCloseProps = React.ComponentProps<typeof DialogPrimitive.Close>;\n\ninterface ModalContentProps\n extends\n React.ComponentProps<typeof DialogPrimitive.Content>,\n VariantProps<typeof modalContentVariants> {\n /**\n * Render a corner X close button. Defaults to `true`. Set `false` for\n * action-forcing dialogs (e.g. \"Are you sure?\") where the user must pick\n * one of the explicit footer buttons.\n */\n showCloseButton?: boolean;\n /** Localized label for the close button. Defaults to `\"Close\"`. */\n closeLabel?: string;\n}\n\ntype ModalSectionProps = React.ComponentProps<'div'> & { asChild?: boolean };\n\ninterface ModalTitleProps extends React.ComponentProps<typeof DialogPrimitive.Title> {\n /** Override the heading element (e.g. render an `<h3>` instead of the default `<h2>`). */\n asChild?: boolean;\n}\n\ninterface ModalDescriptionProps extends React.ComponentProps<typeof DialogPrimitive.Description> {\n /** Override the element (e.g. render a `<div>` for richer markup). */\n asChild?: boolean;\n}\n\n// ─── 3. Components ─── //\n\nfunction Modal(props: ModalProps) {\n return <DialogPrimitive.Root {...props} />;\n}\n\nfunction ModalTrigger({ className, ...props }: ModalTriggerProps) {\n // Radix Trigger supports asChild natively — pass through.\n return <DialogPrimitive.Trigger data-slot=\"modal-trigger\" className={className} {...props} />;\n}\n\nfunction ModalContent({\n size,\n showCloseButton = true,\n closeLabel = 'Close',\n className,\n children,\n ...props\n}: ModalContentProps) {\n // Anchor the Portal to the DgaProvider's body-level portal container.\n // Pattern documented in DgaContext.ts; regression test in Modal.test.tsx\n // mirrors Select/Tooltip. The portal container mirrors data-theme + dir +\n // CSS vars from the provider so theming still flows; using it (rather\n // than the in-tree `rootEl`) keeps the modal's `position: fixed` overlay\n // from being trapped by an ancestor `transform` or `overflow: hidden`\n // (Storybook autodocs is the motivating case).\n const ctx = useContext(DgaContext);\n const portalContainer = ctx?.portalEl ?? ctx?.rootEl ?? undefined;\n\n return (\n <DialogPrimitive.Portal container={portalContainer}>\n <DialogPrimitive.Overlay className=\"ddga-modal__overlay\" data-slot=\"modal-overlay\" />\n <DialogPrimitive.Content\n data-slot=\"modal-content\"\n className={cn(modalContentVariants({ size }), className)}\n {...props}\n >\n {children}\n {showCloseButton ? (\n <DialogPrimitive.Close\n className=\"ddga-modal__close\"\n aria-label={closeLabel}\n data-slot=\"modal-close-x\"\n >\n <Close aria-hidden=\"true\" />\n </DialogPrimitive.Close>\n ) : null}\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n );\n}\n\nfunction ModalHeader({ asChild, className, ...props }: ModalSectionProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'div';\n return (\n <Comp data-slot=\"modal-header\" className={cn('ddga-modal__header', className)} {...props} />\n );\n}\n\nfunction ModalTitle({ asChild, className, ...props }: ModalTitleProps) {\n // Dialog.Title wires aria-labelledby on the parent Content. We pass asChild\n // through so consumers can swap heading level (h2 → h1/h3) without losing\n // the labelling link.\n return (\n <DialogPrimitive.Title\n asChild={asChild}\n data-slot=\"modal-title\"\n className={cn('ddga-modal__title', className)}\n {...props}\n />\n );\n}\n\nfunction ModalDescription({ asChild, className, ...props }: ModalDescriptionProps) {\n // Dialog.Description wires aria-describedby on the parent Content. asChild\n // lets consumers swap the element if they need richer markup.\n return (\n <DialogPrimitive.Description\n asChild={asChild}\n data-slot=\"modal-description\"\n className={cn('ddga-modal__description', className)}\n {...props}\n />\n );\n}\n\nfunction ModalBody({ asChild, className, ...props }: ModalSectionProps) {\n // Scrollable middle region (mirrors DrawerBody) — grows to fill the space\n // between a pinned header and footer and scrolls internally when content\n // overflows, so a tall modal never clips and the footer stays visible with\n // zero consumer config. Optional: short, non-scrolling bodies can still drop\n // raw content directly under ModalContent (it gets the same inline padding).\n const Comp = asChild ? SlotPrimitive.Slot : 'div';\n return <Comp data-slot=\"modal-body\" className={cn('ddga-modal__body', className)} {...props} />;\n}\n\nfunction ModalFooter({ asChild, className, ...props }: ModalSectionProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'div';\n return (\n <Comp data-slot=\"modal-footer\" className={cn('ddga-modal__footer', className)} {...props} />\n );\n}\n\nfunction ModalClose({ className, ...props }: ModalCloseProps) {\n // Consumer-level close trigger for footer buttons etc. Radix Close supports\n // asChild natively — pass through so consumers can wrap a <Button>.\n return <DialogPrimitive.Close data-slot=\"modal-close\" className={className} {...props} />;\n}\n\n// ─── 4. Exports ─── //\n\nexport {\n Modal,\n ModalTrigger,\n ModalContent,\n ModalHeader,\n ModalTitle,\n ModalDescription,\n ModalBody,\n ModalFooter,\n ModalClose,\n modalContentVariants,\n};\nexport type {\n ModalProps,\n ModalTriggerProps,\n ModalContentProps,\n ModalSectionProps,\n ModalTitleProps,\n ModalDescriptionProps,\n ModalCloseProps,\n};\n"],"mappings":";;;;;;;;;;;AAEA,SAAS,kBAAkB;AAC3B,SAAS,UAAU,iBAAiB,QAAQ,qBAAqB;AACjE,SAAS,WAA8B;AA8D9B,cA6BH,YA7BG;AAvDT,IAAM,uBAAuB,IAAI,cAAc;AAAA,EAC7C,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;AAyCD,SAAS,MAAM,OAAmB;AAChC,SAAO,oBAAC,gBAAgB,MAAhB,EAAsB,GAAG,OAAO;AAC1C;AAEA,SAAS,aAAa,EAAE,WAAW,GAAG,MAAM,GAAsB;AAEhE,SAAO,oBAAC,gBAAgB,SAAhB,EAAwB,aAAU,iBAAgB,WAAuB,GAAG,OAAO;AAC7F;AAEA,SAAS,aAAa;AAAA,EACpB;AAAA,EACA,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAsB;AAQpB,QAAM,MAAM,WAAW,UAAU;AACjC,QAAM,kBAAkB,KAAK,YAAY,KAAK,UAAU;AAExD,SACE,qBAAC,gBAAgB,QAAhB,EAAuB,WAAW,iBACjC;AAAA,wBAAC,gBAAgB,SAAhB,EAAwB,WAAU,uBAAsB,aAAU,iBAAgB;AAAA,IACnF;AAAA,MAAC,gBAAgB;AAAA,MAAhB;AAAA,QACC,aAAU;AAAA,QACV,WAAW,GAAG,qBAAqB,EAAE,KAAK,CAAC,GAAG,SAAS;AAAA,QACtD,GAAG;AAAA,QAEH;AAAA;AAAA,UACA,kBACC;AAAA,YAAC,gBAAgB;AAAA,YAAhB;AAAA,cACC,WAAU;AAAA,cACV,cAAY;AAAA,cACZ,aAAU;AAAA,cAEV,8BAAC,SAAM,eAAY,QAAO;AAAA;AAAA,UAC5B,IACE;AAAA;AAAA;AAAA,IACN;AAAA,KACF;AAEJ;AAEA,SAAS,YAAY,EAAE,SAAS,WAAW,GAAG,MAAM,GAAsB;AACxE,QAAM,OAAO,UAAU,cAAc,OAAO;AAC5C,SACE,oBAAC,QAAK,aAAU,gBAAe,WAAW,GAAG,sBAAsB,SAAS,GAAI,GAAG,OAAO;AAE9F;AAEA,SAAS,WAAW,EAAE,SAAS,WAAW,GAAG,MAAM,GAAoB;AAIrE,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MACV,WAAW,GAAG,qBAAqB,SAAS;AAAA,MAC3C,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,iBAAiB,EAAE,SAAS,WAAW,GAAG,MAAM,GAA0B;AAGjF,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MACV,WAAW,GAAG,2BAA2B,SAAS;AAAA,MACjD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,UAAU,EAAE,SAAS,WAAW,GAAG,MAAM,GAAsB;AAMtE,QAAM,OAAO,UAAU,cAAc,OAAO;AAC5C,SAAO,oBAAC,QAAK,aAAU,cAAa,WAAW,GAAG,oBAAoB,SAAS,GAAI,GAAG,OAAO;AAC/F;AAEA,SAAS,YAAY,EAAE,SAAS,WAAW,GAAG,MAAM,GAAsB;AACxE,QAAM,OAAO,UAAU,cAAc,OAAO;AAC5C,SACE,oBAAC,QAAK,aAAU,gBAAe,WAAW,GAAG,sBAAsB,SAAS,GAAI,GAAG,OAAO;AAE9F;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAAoB;AAG5D,SAAO,oBAAC,gBAAgB,OAAhB,EAAsB,aAAU,eAAc,WAAuB,GAAG,OAAO;AACzF;","names":[]}
@@ -58,4 +58,4 @@ function TooltipContent({
58
58
 
59
59
 
60
60
  exports.tooltipContentVariants = tooltipContentVariants; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent;
61
- //# sourceMappingURL=chunk-PI4OPECU.cjs.map
61
+ //# sourceMappingURL=chunk-LG2IADSZ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-PI4OPECU.cjs","../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACLA,8BAA2B;AAC3B,mCAA4C;AAC5C,kEAAuC;AA0C9B,+CAAA;AApCT,IAAM,uBAAA,EAAyB,yCAAA,cAAI,EAAgB;AAAA,EACjD,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,kBAAA;AAAA,MACJ,EAAA,EAAI;AAAA,IACN;AAAA,EACF,CAAA;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA,EACR;AACF,CAAC,CAAA;AAyBD,SAAS,OAAA,CAAQ,KAAA,EAAqB;AACpC,EAAA,uBAAO,6BAAA,gBAAC,CAAiB,IAAA,EAAjB,EAAuB,GAAG,MAAA,CAAO,CAAA;AAC3C;AAEA,SAAS,cAAA,CAAe,EAAE,SAAA,EAAW,GAAG,MAAM,CAAA,EAAwB;AAEpE,EAAA,uBAAO,6BAAA,gBAAC,CAAiB,OAAA,EAAjB,EAAyB,WAAA,EAAU,iBAAA,EAAkB,SAAA,EAAuB,GAAG,MAAA,CAAO,CAAA;AAChG;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,IAAA;AAAA,EACA,MAAA,EAAQ,IAAA;AAAA,EACR,WAAA,EAAa,CAAA;AAAA,EACb,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwB;AAMtB,EAAA,MAAM,IAAA,EAAM,+BAAA,4BAAqB,CAAA;AACjC,EAAA,MAAM,gBAAA,oDAAkB,GAAA,2BAAK,UAAA,0BAAY,GAAA,6BAAK,UAAA,UAAU,KAAA,GAAA;AAExD,EAAA,uBACE,6BAAA,gBAAC,CAAiB,MAAA,EAAjB,EAAwB,SAAA,EAAW,eAAA,EAClC,QAAA,kBAAA,8BAAA;AAAA,IAAC,gBAAA,CAAiB,OAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,UAAA;AAAA,MACA,SAAA,EAAW,kCAAA,sBAAG,CAAuB,EAAE,KAAK,CAAC,CAAA,EAAG,SAAS,CAAA;AAAA,MACxD,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,MAAA,kBAAQ,6BAAA,gBAAC,CAAiB,KAAA,EAAjB,EAAuB,SAAA,EAAU,sBAAA,CAAsB,EAAA,EAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACxE,EAAA,CACF,CAAA;AAEJ;AD9BA;AACA;AACE;AACA;AACA;AACA;AACF,qKAAC","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-PI4OPECU.cjs","sourcesContent":[null,"'use client';\n\nimport { useContext } from 'react';\nimport { Tooltip as TooltipPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { DgaContext } from '../../providers/DgaContext';\n\n// ─── 1. Variants (cva) ─── //\n\nconst tooltipContentVariants = cva('ddga-tooltip', {\n variants: {\n size: {\n sm: 'ddga-tooltip--sm',\n md: 'ddga-tooltip--md',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\n// ─── 2. Types ─── //\n//\n// We expose a closed compound shape that hides Radix's Provider/Portal/Arrow\n// details. `TooltipProvider` is already nested in `DgaProvider`, so consumers\n// don't need to add their own. The Portal container is wired from\n// `DgaContext.rootEl` (see DgaContext.ts) so the tooltip inherits `data-theme`\n// + custom theme classes set on the provider — without it, the tooltip would\n// silently mount under <body> and miss dark mode.\n\ntype TooltipProps = React.ComponentProps<typeof TooltipPrimitive.Root>;\n\ntype TooltipTriggerProps = React.ComponentProps<typeof TooltipPrimitive.Trigger>;\n\ninterface TooltipContentProps\n extends\n Omit<React.ComponentProps<typeof TooltipPrimitive.Content>, 'asChild'>,\n VariantProps<typeof tooltipContentVariants> {\n /** Show a small arrow pointing at the trigger. Defaults to true. */\n arrow?: boolean;\n}\n\n// ─── 3. Components ─── //\n\nfunction Tooltip(props: TooltipProps) {\n return <TooltipPrimitive.Root {...props} />;\n}\n\nfunction TooltipTrigger({ className, ...props }: TooltipTriggerProps) {\n // Radix Trigger already supports asChild natively — pass through.\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" className={className} {...props} />;\n}\n\nfunction TooltipContent({\n size,\n arrow = true,\n sideOffset = 6,\n className,\n children,\n ...props\n}: TooltipContentProps) {\n // Anchor the Portal to the DgaProvider's body-level portal container.\n // Theme + dark mode inherit through mirrored data-theme/dir/CSS vars on\n // the portal element; using it (rather than the in-tree `rootEl`) keeps\n // the tooltip from being clipped by ancestor overflow or trapped by an\n // ancestor `transform`. Falls back to <body> if used outside a provider.\n const ctx = useContext(DgaContext);\n const portalContainer = ctx?.portalEl ?? ctx?.rootEl ?? undefined;\n\n return (\n <TooltipPrimitive.Portal container={portalContainer}>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(tooltipContentVariants({ size }), className)}\n {...props}\n >\n {children}\n {arrow ? <TooltipPrimitive.Arrow className=\"ddga-tooltip__arrow\" /> : null}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\n// ─── 4. Exports ─── //\n\nexport { Tooltip, TooltipTrigger, TooltipContent, tooltipContentVariants };\nexport type { TooltipProps, TooltipTriggerProps, TooltipContentProps };\n"]}
1
+ {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-LG2IADSZ.cjs","../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACLA,8BAA2B;AAC3B,mCAA4C;AAC5C,kEAAuC;AAgD9B,+CAAA;AA1CT,IAAM,uBAAA,EAAyB,yCAAA,cAAI,EAAgB;AAAA,EACjD,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,kBAAA;AAAA,MACJ,EAAA,EAAI;AAAA,IACN;AAAA,EACF,CAAA;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA,EACR;AACF,CAAC,CAAA;AA+BD,SAAS,OAAA,CAAQ,KAAA,EAAqB;AACpC,EAAA,uBAAO,6BAAA,gBAAC,CAAiB,IAAA,EAAjB,EAAuB,GAAG,MAAA,CAAO,CAAA;AAC3C;AAEA,SAAS,cAAA,CAAe,EAAE,SAAA,EAAW,GAAG,MAAM,CAAA,EAAwB;AAEpE,EAAA,uBAAO,6BAAA,gBAAC,CAAiB,OAAA,EAAjB,EAAyB,WAAA,EAAU,iBAAA,EAAkB,SAAA,EAAuB,GAAG,MAAA,CAAO,CAAA;AAChG;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,IAAA;AAAA,EACA,MAAA,EAAQ,IAAA;AAAA,EACR,WAAA,EAAa,CAAA;AAAA,EACb,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwB;AAMtB,EAAA,MAAM,IAAA,EAAM,+BAAA,4BAAqB,CAAA;AACjC,EAAA,MAAM,gBAAA,oDAAkB,GAAA,2BAAK,UAAA,0BAAY,GAAA,6BAAK,UAAA,UAAU,KAAA,GAAA;AAExD,EAAA,uBACE,6BAAA,gBAAC,CAAiB,MAAA,EAAjB,EAAwB,SAAA,EAAW,eAAA,EAClC,QAAA,kBAAA,8BAAA;AAAA,IAAC,gBAAA,CAAiB,OAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,UAAA;AAAA,MACA,SAAA,EAAW,kCAAA,sBAAG,CAAuB,EAAE,KAAK,CAAC,CAAA,EAAG,SAAS,CAAA;AAAA,MACxD,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,MAAA,kBAAQ,6BAAA,gBAAC,CAAiB,KAAA,EAAjB,EAAuB,SAAA,EAAU,sBAAA,CAAsB,EAAA,EAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACxE,EAAA,CACF,CAAA;AAEJ;ADpCA;AACA;AACE;AACA;AACA;AACA;AACF,qKAAC","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-LG2IADSZ.cjs","sourcesContent":[null,"'use client';\n\nimport { useContext } from 'react';\nimport { Tooltip as TooltipPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { DgaContext } from '../../providers/DgaContext';\n\n// ─── 1. Variants (cva) ─── //\n\nconst tooltipContentVariants = cva('ddga-tooltip', {\n variants: {\n size: {\n sm: 'ddga-tooltip--sm',\n md: 'ddga-tooltip--md',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\n// ─── 2. Types ─── //\n//\n// We expose a closed compound shape that hides Radix's Provider/Portal/Arrow\n// details. `TooltipProvider` is already nested in `DgaProvider`, so consumers\n// don't need to add their own. The Portal container is wired from\n// `DgaContext.rootEl` (see DgaContext.ts) so the tooltip inherits `data-theme`\n// + custom theme classes set on the provider — without it, the tooltip would\n// silently mount under <body> and miss dark mode.\n\ntype TooltipProps = React.ComponentProps<typeof TooltipPrimitive.Root>;\n\ntype TooltipTriggerProps = React.ComponentProps<typeof TooltipPrimitive.Trigger>;\n\ninterface TooltipContentProps\n extends\n Omit<React.ComponentProps<typeof TooltipPrimitive.Content>, 'asChild'>,\n VariantProps<typeof tooltipContentVariants> {\n /** Show a small arrow pointing at the trigger. Defaults to true. */\n arrow?: boolean;\n}\n\n// ─── 3. Components ─── //\n\n/**\n * Tooltip root. **Must be rendered inside `<DgaProvider>`** — the provider\n * supplies the Radix `TooltipProvider` this depends on (and the themed portal\n * container). There is no need to add your own `TooltipProvider`; used outside\n * a `DgaProvider` the tooltip will not work.\n */\nfunction Tooltip(props: TooltipProps) {\n return <TooltipPrimitive.Root {...props} />;\n}\n\nfunction TooltipTrigger({ className, ...props }: TooltipTriggerProps) {\n // Radix Trigger already supports asChild natively — pass through.\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" className={className} {...props} />;\n}\n\nfunction TooltipContent({\n size,\n arrow = true,\n sideOffset = 6,\n className,\n children,\n ...props\n}: TooltipContentProps) {\n // Anchor the Portal to the DgaProvider's body-level portal container.\n // Theme + dark mode inherit through mirrored data-theme/dir/CSS vars on\n // the portal element; using it (rather than the in-tree `rootEl`) keeps\n // the tooltip from being clipped by ancestor overflow or trapped by an\n // ancestor `transform`. Falls back to <body> if used outside a provider.\n const ctx = useContext(DgaContext);\n const portalContainer = ctx?.portalEl ?? ctx?.rootEl ?? undefined;\n\n return (\n <TooltipPrimitive.Portal container={portalContainer}>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(tooltipContentVariants({ size }), className)}\n {...props}\n >\n {children}\n {arrow ? <TooltipPrimitive.Arrow className=\"ddga-tooltip__arrow\" /> : null}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\n// ─── 4. Exports ─── //\n\nexport { Tooltip, TooltipTrigger, TooltipContent, tooltipContentVariants };\nexport type { TooltipProps, TooltipTriggerProps, TooltipContentProps };\n"]}
@@ -307,4 +307,4 @@ export {
307
307
  dateRangePickerVariants,
308
308
  DateRangePicker
309
309
  };
310
- //# sourceMappingURL=chunk-CHE75QHA.js.map
310
+ //# sourceMappingURL=chunk-MCHL23CE.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useMemo, useState, type ReactNode } from 'react';\nimport {\n Button as AriaButton,\n CalendarCell as AriaCalendarCell,\n CalendarGrid as AriaCalendarGrid,\n CalendarGridBody as AriaCalendarGridBody,\n CalendarGridHeader as AriaCalendarGridHeader,\n CalendarHeaderCell as AriaCalendarHeaderCell,\n DateInput as AriaDateInput,\n DateRangePicker as AriaDateRangePicker,\n DateSegment as AriaDateSegment,\n Dialog as AriaDialog,\n FieldError as AriaFieldError,\n Group as AriaGroup,\n I18nProvider,\n Label as AriaLabel,\n Popover as AriaPopover,\n RangeCalendar as AriaRangeCalendar,\n Text as AriaText,\n} from 'react-aria-components';\nimport { CalendarDate, type DateValue } from '@internationalized/date';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { CalendarIcon } from '../../internal/icons';\nimport {\n CalendarNavHeader,\n CalendarSystemToggle,\n calendarDateToDate,\n dateToCalendarDate,\n renderDayContent,\n useCalendarChrome,\n type CalendarLabels,\n type CalendarSystem,\n} from '../../internal/calendar';\n\n// ─── 1. Variants ─── //\n\n// Applied to the Group (the trigger row). Range triggers hold more by content\n// (two date inputs + separator), but heights still match Input/Select sm/md so\n// they line up in a form row.\nconst dateRangePickerTriggerVariants = cva('ddga-date-range-picker-trigger', {\n variants: {\n size: {\n sm: 'ddga-date-range-picker-trigger--sm',\n md: 'ddga-date-range-picker-trigger--md',\n },\n error: {\n true: 'ddga-date-range-picker-trigger--error',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\n// Passthrough alias so the barrel `*Variants` convention holds across components.\nconst dateRangePickerVariants = dateRangePickerTriggerVariants;\n\n// ─── 2. Types ─── //\n\n/** A complete, inclusive date range. Both ends are local Y/M/D. */\ninterface DateRange {\n start: Date;\n end: Date;\n}\n\ninterface DateRangePickerProps extends VariantProps<typeof dateRangePickerTriggerVariants> {\n /** Currently selected range (controlled). `null` clears it. */\n value?: DateRange | null;\n /** Initial range when uncontrolled. */\n defaultValue?: DateRange | null;\n /** Fires when a complete range is picked, or `null` when cleared. */\n onChange?: (value: DateRange | null) => void;\n /** Earliest pickable date (inclusive). */\n minValue?: Date;\n /** Latest pickable date (inclusive). */\n maxValue?: Date;\n /** Visible label above the trigger. */\n label?: ReactNode;\n /** Hint shown below the trigger. Hidden while an error message is showing. */\n helperText?: ReactNode;\n /** Message shown below the trigger when `error` is true. */\n errorMessage?: ReactNode;\n /** Marks the field invalid — sets `aria-invalid` and error styling. */\n error?: boolean;\n /** Marks the field required — adds the asterisk + `aria-required`. */\n required?: boolean;\n /** Disables the trigger entirely. */\n disabled?: boolean;\n /** Caller-supplied id for the field. */\n id?: string;\n /** Forwarded to the Group (the trigger row), matching Input/Select. */\n className?: string;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n /** Calendar system (controlled). Omit to let the user toggle freely. */\n calendar?: CalendarSystem;\n /** Initial calendar system when uncontrolled. Defaults to `'gregorian'`. */\n defaultCalendar?: CalendarSystem;\n /** Fires whenever the calendar system toggles. */\n onCalendarChange?: (calendar: CalendarSystem) => void;\n /**\n * Show the Gregorian↔Hijri toggle inside the popover. Defaults to `true`, but\n * is forced off when `calendar` is controlled.\n */\n showCalendarToggle?: boolean;\n /** Override the toggle labels. Defaults are locale-aware (English / Arabic). */\n calendarLabels?: CalendarLabels;\n /**\n * When `true`, each day cell also shows the *other* calendar's day number as\n * small secondary text. Helps cross-reference Hijri↔Gregorian. Default `false`.\n */\n showSecondaryCalendar?: boolean;\n}\n\n// react-aria's range value is { start, end } of CalendarDate. We keep our public\n// contract Date-based and round-trip through Gregorian CalendarDates so the Hijri\n// toggle is purely a display concern (same engine as DatePicker).\ntype AriaDateRange = { start: CalendarDate; end: CalendarDate } | null;\n\nfunction toAriaRange(range: DateRange | null | undefined): AriaDateRange {\n if (!range) return null;\n const start = dateToCalendarDate(range.start);\n const end = dateToCalendarDate(range.end);\n if (!start || !end) return null;\n return { start, end };\n}\n\nfunction fromAriaRange(value: { start: DateValue; end: DateValue } | null): DateRange | null {\n if (!value) return null;\n const start = calendarDateToDate(value.start);\n const end = calendarDateToDate(value.end);\n if (!start || !end) return null;\n return { start, end };\n}\n\n// ─── 3. Component ─── //\n\nfunction DateRangePicker({\n value: controlledValue,\n defaultValue,\n onChange,\n minValue,\n maxValue,\n label,\n helperText,\n errorMessage,\n error,\n required,\n disabled,\n size,\n id,\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n calendar: controlledCalendar,\n defaultCalendar = 'gregorian',\n onCalendarChange,\n showCalendarToggle = true,\n calendarLabels,\n showSecondaryCalendar = false,\n}: DateRangePickerProps) {\n // ─ value: controlled or uncontrolled, always Gregorian internally ─\n const isValueControlled = controlledValue !== undefined;\n const [internalValue, setInternalValue] = useState<AriaDateRange>(() =>\n toAriaRange(defaultValue),\n );\n const value = isValueControlled ? toAriaRange(controlledValue) : internalValue;\n\n const handleAriaChange = useCallback(\n (next: { start: DateValue; end: DateValue } | null) => {\n // Normalize to plain Gregorian CalendarDates so internal state never holds\n // a Hijri-flavored CalendarDate (display calendar must not leak into value).\n const nextRange: AriaDateRange = next\n ? {\n start: new CalendarDate(next.start.year, next.start.month, next.start.day),\n end: new CalendarDate(next.end.year, next.end.month, next.end.day),\n }\n : null;\n if (!isValueControlled) setInternalValue(nextRange);\n onChange?.(fromAriaRange(nextRange));\n },\n [isValueControlled, onChange],\n );\n\n // ─ calendar system: controlled or uncontrolled ─\n const isCalendarControlled = controlledCalendar !== undefined;\n const [internalCalendar, setInternalCalendar] = useState<CalendarSystem>(defaultCalendar);\n const calendarSystem = isCalendarControlled ? controlledCalendar : internalCalendar;\n\n const setCalendar = useCallback(\n (next: CalendarSystem) => {\n if (!isCalendarControlled) setInternalCalendar(next);\n onCalendarChange?.(next);\n },\n [isCalendarControlled, onCalendarChange],\n );\n\n // ─ Shared chrome (locale, portal, chevrons, labels) ─\n const {\n dgaLocale,\n locale: ariaLocale,\n portalContainer,\n PrevChevron,\n NextChevron,\n resolvedLabels,\n navLabels,\n a11yLabels,\n } = useCalendarChrome(calendarSystem, calendarLabels);\n\n // ─ Bounds ─\n const ariaMinValue = useMemo(() => dateToCalendarDate(minValue) ?? undefined, [minValue]);\n const ariaMaxValue = useMemo(() => dateToCalendarDate(maxValue) ?? undefined, [maxValue]);\n\n // ─ Popover aria-label fallback (Dialog needs an accessible name) ─\n const dialogAriaLabel =\n ariaLabel ??\n (typeof label === 'string'\n ? label\n : ariaLabelledBy\n ? undefined\n : dgaLocale.startsWith('ar')\n ? 'نطاق التاريخ'\n : 'Date range');\n\n // ─ Toggle visibility ─\n const showToggle = showCalendarToggle && !isCalendarControlled;\n\n // ─ Derived field-message visibility (mirrors useFieldA11y rules) ─\n const hasError = !!error;\n const hasErrorMessage = hasError && errorMessage != null && errorMessage !== '';\n const hasHelper = !hasErrorMessage && helperText != null && helperText !== '';\n\n return (\n <I18nProvider locale={ariaLocale}>\n <AriaDateRangePicker\n value={value}\n onChange={handleAriaChange}\n minValue={ariaMinValue}\n maxValue={ariaMaxValue}\n isRequired={required}\n isDisabled={disabled}\n isInvalid={hasError}\n shouldCloseOnSelect\n id={id}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n className=\"ddga-field\"\n data-slot=\"date-range-picker-field\"\n >\n {label && (\n <AriaLabel className=\"ddga-date-range-picker__label\">\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"ddga-date-range-picker__required\">\n *\n </span>\n )}\n </AriaLabel>\n )}\n <AriaGroup\n data-slot=\"date-range-picker-trigger\"\n className={cn(dateRangePickerTriggerVariants({ size, error: hasError }), className)}\n >\n <AriaDateInput\n slot=\"start\"\n className=\"ddga-date-range-picker__input\"\n data-slot=\"date-range-picker-input-start\"\n >\n {(segment) => (\n <AriaDateSegment\n segment={segment}\n className=\"ddga-date-range-picker__segment\"\n data-slot=\"date-range-picker-segment\"\n />\n )}\n </AriaDateInput>\n <span aria-hidden=\"true\" className=\"ddga-date-range-picker__separator\">\n –\n </span>\n <AriaDateInput\n slot=\"end\"\n className=\"ddga-date-range-picker__input\"\n data-slot=\"date-range-picker-input-end\"\n >\n {(segment) => (\n <AriaDateSegment\n segment={segment}\n className=\"ddga-date-range-picker__segment\"\n data-slot=\"date-range-picker-segment\"\n />\n )}\n </AriaDateInput>\n <AriaButton\n className=\"ddga-date-range-picker__icon-button\"\n aria-label={a11yLabels.openCalendar}\n data-slot=\"date-range-picker-trigger-button\"\n >\n <CalendarIcon aria-hidden=\"true\" className=\"ddga-date-range-picker__icon\" />\n </AriaButton>\n </AriaGroup>\n {hasHelper && (\n <AriaText\n slot=\"description\"\n className=\"ddga-field__message ddga-field__message--helper\"\n data-slot=\"field-helper\"\n >\n {helperText}\n </AriaText>\n )}\n {hasErrorMessage && (\n <AriaFieldError\n className=\"ddga-field__message ddga-field__message--error\"\n data-slot=\"field-error\"\n >\n {errorMessage}\n </AriaFieldError>\n )}\n <AriaPopover\n UNSTABLE_portalContainer={portalContainer}\n className=\"ddga-calendar-popover\"\n data-slot=\"date-range-picker-popover\"\n offset={6}\n containerPadding={12}\n >\n <AriaDialog\n className=\"ddga-calendar-dialog\"\n data-slot=\"date-range-picker-dialog\"\n aria-label={dialogAriaLabel}\n aria-labelledby={ariaLabelledBy}\n >\n {showToggle && (\n <CalendarSystemToggle\n value={calendarSystem}\n onChange={setCalendar}\n labels={resolvedLabels}\n groupLabel={a11yLabels.calendarSystem}\n />\n )}\n <AriaRangeCalendar\n className=\"ddga-calendar ddga-calendar--range\"\n data-slot=\"date-range-picker-calendar\"\n >\n <header className=\"ddga-calendar__header\">\n <AriaButton\n slot=\"previous\"\n className=\"ddga-calendar__nav\"\n data-slot=\"date-range-picker-calendar-prev\"\n >\n <PrevChevron aria-hidden=\"true\" />\n </AriaButton>\n <CalendarNavHeader\n locale={ariaLocale}\n monthLabel={navLabels.month}\n yearLabel={navLabels.year}\n />\n <AriaButton\n slot=\"next\"\n className=\"ddga-calendar__nav\"\n data-slot=\"date-range-picker-calendar-next\"\n >\n <NextChevron aria-hidden=\"true\" />\n </AriaButton>\n </header>\n <AriaCalendarGrid className=\"ddga-calendar__grid\">\n <AriaCalendarGridHeader>\n {(day) => (\n <AriaCalendarHeaderCell className=\"ddga-calendar__weekday\">\n {day}\n </AriaCalendarHeaderCell>\n )}\n </AriaCalendarGridHeader>\n <AriaCalendarGridBody>\n {(date) => (\n <AriaCalendarCell date={date} className=\"ddga-calendar__cell\">\n {({ formattedDate }) =>\n renderDayContent(formattedDate, {\n showSecondary: showSecondaryCalendar,\n date,\n calendarSystem,\n })\n }\n </AriaCalendarCell>\n )}\n </AriaCalendarGridBody>\n </AriaCalendarGrid>\n </AriaRangeCalendar>\n </AriaDialog>\n </AriaPopover>\n </AriaDateRangePicker>\n </I18nProvider>\n );\n}\n\n// ─── 4. Exports ─── //\n\nexport { DateRangePicker, dateRangePickerTriggerVariants, dateRangePickerVariants };\nexport type { DateRangePickerProps, DateRange };\n// Re-exported for symmetry with DatePicker so the component file is\n// self-contained. The public barrel exposes these once via DatePicker (the\n// canonical owner) to avoid a duplicate export.\nexport type { CalendarSystem, CalendarLabels } from '../../internal/calendar';\n"],"mappings":";;;;;;;;;;;;;;;;AAEA,SAAS,aAAa,SAAS,gBAAgC;AAC/D;AAAA,EACE,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,UAAU;AAAA,EACV,cAAc;AAAA,EACd,SAAS;AAAA,EACT;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,QAAQ;AAAA,OACH;AACP,SAAS,oBAAoC;AAC7C,SAAS,WAA8B;AAsO7B,SAGI,KAHJ;AAnNV,IAAM,iCAAiC,IAAI,kCAAkC;AAAA,EAC3E,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;AAGD,IAAM,0BAA0B;AAgEhC,SAAS,YAAY,OAAoD;AACvE,MAAI,CAAC,MAAO,QAAO;AACnB,QAAM,QAAQ,mBAAmB,MAAM,KAAK;AAC5C,QAAM,MAAM,mBAAmB,MAAM,GAAG;AACxC,MAAI,CAAC,SAAS,CAAC,IAAK,QAAO;AAC3B,SAAO,EAAE,OAAO,IAAI;AACtB;AAEA,SAAS,cAAc,OAAsE;AAC3F,MAAI,CAAC,MAAO,QAAO;AACnB,QAAM,QAAQ,mBAAmB,MAAM,KAAK;AAC5C,QAAM,MAAM,mBAAmB,MAAM,GAAG;AACxC,MAAI,CAAC,SAAS,CAAC,IAAK,QAAO;AAC3B,SAAO,EAAE,OAAO,IAAI;AACtB;AAIA,SAAS,gBAAgB;AAAA,EACvB,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB;AAAA,EACA,qBAAqB;AAAA,EACrB;AAAA,EACA,wBAAwB;AAC1B,GAAyB;AAEvB,QAAM,oBAAoB,oBAAoB;AAC9C,QAAM,CAAC,eAAe,gBAAgB,IAAI;AAAA,IAAwB,MAChE,YAAY,YAAY;AAAA,EAC1B;AACA,QAAM,QAAQ,oBAAoB,YAAY,eAAe,IAAI;AAEjE,QAAM,mBAAmB;AAAA,IACvB,CAAC,SAAsD;AAGrD,YAAM,YAA2B,OAC7B;AAAA,QACE,OAAO,IAAI,aAAa,KAAK,MAAM,MAAM,KAAK,MAAM,OAAO,KAAK,MAAM,GAAG;AAAA,QACzE,KAAK,IAAI,aAAa,KAAK,IAAI,MAAM,KAAK,IAAI,OAAO,KAAK,IAAI,GAAG;AAAA,MACnE,IACA;AACJ,UAAI,CAAC,kBAAmB,kBAAiB,SAAS;AAClD,iBAAW,cAAc,SAAS,CAAC;AAAA,IACrC;AAAA,IACA,CAAC,mBAAmB,QAAQ;AAAA,EAC9B;AAGA,QAAM,uBAAuB,uBAAuB;AACpD,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAyB,eAAe;AACxF,QAAM,iBAAiB,uBAAuB,qBAAqB;AAEnE,QAAM,cAAc;AAAA,IAClB,CAAC,SAAyB;AACxB,UAAI,CAAC,qBAAsB,qBAAoB,IAAI;AACnD,yBAAmB,IAAI;AAAA,IACzB;AAAA,IACA,CAAC,sBAAsB,gBAAgB;AAAA,EACzC;AAGA,QAAM;AAAA,IACJ;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,kBAAkB,gBAAgB,cAAc;AAGpD,QAAM,eAAe,QAAQ,MAAM,mBAAmB,QAAQ,KAAK,QAAW,CAAC,QAAQ,CAAC;AACxF,QAAM,eAAe,QAAQ,MAAM,mBAAmB,QAAQ,KAAK,QAAW,CAAC,QAAQ,CAAC;AAGxF,QAAM,kBACJ,cACC,OAAO,UAAU,WACd,QACA,iBACE,SACA,UAAU,WAAW,IAAI,IACvB,wEACA;AAGV,QAAM,aAAa,sBAAsB,CAAC;AAG1C,QAAM,WAAW,CAAC,CAAC;AACnB,QAAM,kBAAkB,YAAY,gBAAgB,QAAQ,iBAAiB;AAC7E,QAAM,YAAY,CAAC,mBAAmB,cAAc,QAAQ,eAAe;AAE3E,SACE,oBAAC,gBAAa,QAAQ,YACpB;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,qBAAmB;AAAA,MACnB;AAAA,MACA,cAAY;AAAA,MACZ,mBAAiB;AAAA,MACjB,WAAU;AAAA,MACV,aAAU;AAAA,MAET;AAAA,iBACC,qBAAC,aAAU,WAAU,iCAClB;AAAA;AAAA,UACA,YACC,oBAAC,UAAK,eAAY,QAAO,WAAU,oCAAmC,eAEtE;AAAA,WAEJ;AAAA,QAEF;AAAA,UAAC;AAAA;AAAA,YACC,aAAU;AAAA,YACV,WAAW,GAAG,+BAA+B,EAAE,MAAM,OAAO,SAAS,CAAC,GAAG,SAAS;AAAA,YAElF;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAK;AAAA,kBACL,WAAU;AAAA,kBACV,aAAU;AAAA,kBAET,WAAC,YACA;AAAA,oBAAC;AAAA;AAAA,sBACC;AAAA,sBACA,WAAU;AAAA,sBACV,aAAU;AAAA;AAAA,kBACZ;AAAA;AAAA,cAEJ;AAAA,cACA,oBAAC,UAAK,eAAY,QAAO,WAAU,qCAAoC,oBAEvE;AAAA,cACA;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAK;AAAA,kBACL,WAAU;AAAA,kBACV,aAAU;AAAA,kBAET,WAAC,YACA;AAAA,oBAAC;AAAA;AAAA,sBACC;AAAA,sBACA,WAAU;AAAA,sBACV,aAAU;AAAA;AAAA,kBACZ;AAAA;AAAA,cAEJ;AAAA,cACA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAU;AAAA,kBACV,cAAY,WAAW;AAAA,kBACvB,aAAU;AAAA,kBAEV,8BAAC,gBAAa,eAAY,QAAO,WAAU,gCAA+B;AAAA;AAAA,cAC5E;AAAA;AAAA;AAAA,QACF;AAAA,QACC,aACC;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,WAAU;AAAA,YACV,aAAU;AAAA,YAET;AAAA;AAAA,QACH;AAAA,QAED,mBACC;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,aAAU;AAAA,YAET;AAAA;AAAA,QACH;AAAA,QAEF;AAAA,UAAC;AAAA;AAAA,YACC,0BAA0B;AAAA,YAC1B,WAAU;AAAA,YACV,aAAU;AAAA,YACV,QAAQ;AAAA,YACR,kBAAkB;AAAA,YAElB;AAAA,cAAC;AAAA;AAAA,gBACC,WAAU;AAAA,gBACV,aAAU;AAAA,gBACV,cAAY;AAAA,gBACZ,mBAAiB;AAAA,gBAEhB;AAAA,gCACC;AAAA,oBAAC;AAAA;AAAA,sBACC,OAAO;AAAA,sBACP,UAAU;AAAA,sBACV,QAAQ;AAAA,sBACR,YAAY,WAAW;AAAA;AAAA,kBACzB;AAAA,kBAEF;AAAA,oBAAC;AAAA;AAAA,sBACC,WAAU;AAAA,sBACV,aAAU;AAAA,sBAEV;AAAA,6CAAC,YAAO,WAAU,yBAChB;AAAA;AAAA,4BAAC;AAAA;AAAA,8BACC,MAAK;AAAA,8BACL,WAAU;AAAA,8BACV,aAAU;AAAA,8BAEV,8BAAC,eAAY,eAAY,QAAO;AAAA;AAAA,0BAClC;AAAA,0BACA;AAAA,4BAAC;AAAA;AAAA,8BACC,QAAQ;AAAA,8BACR,YAAY,UAAU;AAAA,8BACtB,WAAW,UAAU;AAAA;AAAA,0BACvB;AAAA,0BACA;AAAA,4BAAC;AAAA;AAAA,8BACC,MAAK;AAAA,8BACL,WAAU;AAAA,8BACV,aAAU;AAAA,8BAEV,8BAAC,eAAY,eAAY,QAAO;AAAA;AAAA,0BAClC;AAAA,2BACF;AAAA,wBACA,qBAAC,oBAAiB,WAAU,uBAC1B;AAAA,8CAAC,0BACE,WAAC,QACA,oBAAC,0BAAuB,WAAU,0BAC/B,eACH,GAEJ;AAAA,0BACA,oBAAC,wBACE,WAAC,SACA,oBAAC,oBAAiB,MAAY,WAAU,uBACrC,WAAC,EAAE,cAAc,MAChB,iBAAiB,eAAe;AAAA,4BAC9B,eAAe;AAAA,4BACf;AAAA,4BACA;AAAA,0BACF,CAAC,GAEL,GAEJ;AAAA,2BACF;AAAA;AAAA;AAAA,kBACF;AAAA;AAAA;AAAA,YACF;AAAA;AAAA,QACF;AAAA;AAAA;AAAA,EACF,GACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useMemo, useState, type ReactNode } from 'react';\nimport {\n Button as AriaButton,\n CalendarCell as AriaCalendarCell,\n CalendarGrid as AriaCalendarGrid,\n CalendarGridBody as AriaCalendarGridBody,\n CalendarGridHeader as AriaCalendarGridHeader,\n CalendarHeaderCell as AriaCalendarHeaderCell,\n DateInput as AriaDateInput,\n DateRangePicker as AriaDateRangePicker,\n DateSegment as AriaDateSegment,\n Dialog as AriaDialog,\n FieldError as AriaFieldError,\n Group as AriaGroup,\n I18nProvider,\n Label as AriaLabel,\n Popover as AriaPopover,\n RangeCalendar as AriaRangeCalendar,\n Text as AriaText,\n} from 'react-aria-components';\nimport { CalendarDate, type DateValue } from '@internationalized/date';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { CalendarIcon } from '../../internal/icons';\nimport {\n CalendarNavHeader,\n CalendarSystemToggle,\n calendarDateToDate,\n dateToCalendarDate,\n renderDayContent,\n useCalendarChrome,\n type CalendarLabels,\n type CalendarSystem,\n} from '../../internal/calendar';\n\n// ─── 1. Variants ─── //\n\n// Applied to the Group (the trigger row). Range triggers hold more by content\n// (two date inputs + separator), but heights still match Input/Select sm/md so\n// they line up in a form row.\nconst dateRangePickerTriggerVariants = cva('ddga-date-range-picker-trigger', {\n variants: {\n size: {\n sm: 'ddga-date-range-picker-trigger--sm',\n md: 'ddga-date-range-picker-trigger--md',\n },\n error: {\n true: 'ddga-date-range-picker-trigger--error',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\n// Passthrough alias so the barrel `*Variants` convention holds across components.\nconst dateRangePickerVariants = dateRangePickerTriggerVariants;\n\n// ─── 2. Types ─── //\n\n/** A complete, inclusive date range. Both ends are local Y/M/D. */\ninterface DateRange {\n start: Date;\n end: Date;\n}\n\ninterface DateRangePickerProps extends VariantProps<typeof dateRangePickerTriggerVariants> {\n /** Currently selected range (controlled). `null` clears it. */\n value?: DateRange | null;\n /** Initial range when uncontrolled. */\n defaultValue?: DateRange | null;\n /** Fires when a complete range is picked, or `null` when cleared. */\n onChange?: (value: DateRange | null) => void;\n /** Earliest pickable date (inclusive). */\n minValue?: Date;\n /** Latest pickable date (inclusive). */\n maxValue?: Date;\n /** Visible label above the trigger. */\n label?: ReactNode;\n /** Hint shown below the trigger. Hidden while an error message is showing. */\n helperText?: ReactNode;\n /** Message shown below the trigger when `error` is true. */\n errorMessage?: ReactNode;\n /** Marks the field invalid — sets `aria-invalid` and error styling. */\n error?: boolean;\n /** Marks the field required — adds the asterisk + `aria-required`. */\n required?: boolean;\n /** Disables the trigger entirely. */\n disabled?: boolean;\n /** Caller-supplied id for the field. */\n id?: string;\n /** Forwarded to the Group (the trigger row), matching Input/Select. */\n className?: string;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n /** Calendar system (controlled). Omit to let the user toggle freely. */\n calendar?: CalendarSystem;\n /** Initial calendar system when uncontrolled. Defaults to `'gregorian'`. */\n defaultCalendar?: CalendarSystem;\n /** Fires whenever the calendar system toggles. */\n onCalendarChange?: (calendar: CalendarSystem) => void;\n /**\n * Show the Gregorian↔Hijri toggle inside the popover. Defaults to `true`, but\n * is forced off when `calendar` is controlled.\n */\n showCalendarToggle?: boolean;\n /** Override the toggle labels. Defaults are locale-aware (English / Arabic). */\n calendarLabels?: CalendarLabels;\n /**\n * When `true`, each day cell also shows the *other* calendar's day number as\n * small secondary text. Helps cross-reference Hijri↔Gregorian. Default `false`.\n */\n showSecondaryCalendar?: boolean;\n}\n\n// react-aria's range value is { start, end } of CalendarDate. We keep our public\n// contract Date-based and round-trip through Gregorian CalendarDates so the Hijri\n// toggle is purely a display concern (same engine as DatePicker).\ntype AriaDateRange = { start: CalendarDate; end: CalendarDate } | null;\n\nfunction toAriaRange(range: DateRange | null | undefined): AriaDateRange {\n if (!range) return null;\n const start = dateToCalendarDate(range.start);\n const end = dateToCalendarDate(range.end);\n if (!start || !end) return null;\n return { start, end };\n}\n\nfunction fromAriaRange(value: { start: DateValue; end: DateValue } | null): DateRange | null {\n if (!value) return null;\n const start = calendarDateToDate(value.start);\n const end = calendarDateToDate(value.end);\n if (!start || !end) return null;\n return { start, end };\n}\n\n// ─── 3. Component ─── //\n\nfunction DateRangePicker({\n value: controlledValue,\n defaultValue,\n onChange,\n minValue,\n maxValue,\n label,\n helperText,\n errorMessage,\n error,\n required,\n disabled,\n size,\n id,\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n calendar: controlledCalendar,\n defaultCalendar = 'gregorian',\n onCalendarChange,\n showCalendarToggle = true,\n calendarLabels,\n showSecondaryCalendar = false,\n}: DateRangePickerProps) {\n // ─ value: controlled or uncontrolled, always Gregorian internally ─\n const isValueControlled = controlledValue !== undefined;\n const [internalValue, setInternalValue] = useState<AriaDateRange>(() =>\n toAriaRange(defaultValue),\n );\n const value = isValueControlled ? toAriaRange(controlledValue) : internalValue;\n\n const handleAriaChange = useCallback(\n (next: { start: DateValue; end: DateValue } | null) => {\n // Normalize to plain Gregorian CalendarDates so internal state never holds\n // a Hijri-flavored CalendarDate (display calendar must not leak into value).\n const nextRange: AriaDateRange = next\n ? {\n start: new CalendarDate(next.start.year, next.start.month, next.start.day),\n end: new CalendarDate(next.end.year, next.end.month, next.end.day),\n }\n : null;\n if (!isValueControlled) setInternalValue(nextRange);\n onChange?.(fromAriaRange(nextRange));\n },\n [isValueControlled, onChange],\n );\n\n // ─ calendar system: controlled or uncontrolled ─\n const isCalendarControlled = controlledCalendar !== undefined;\n const [internalCalendar, setInternalCalendar] = useState<CalendarSystem>(defaultCalendar);\n const calendarSystem = isCalendarControlled ? controlledCalendar : internalCalendar;\n\n const setCalendar = useCallback(\n (next: CalendarSystem) => {\n if (!isCalendarControlled) setInternalCalendar(next);\n onCalendarChange?.(next);\n },\n [isCalendarControlled, onCalendarChange],\n );\n\n // ─ Shared chrome (locale, portal, chevrons, labels) ─\n const {\n dgaLocale,\n locale: ariaLocale,\n portalContainer,\n PrevChevron,\n NextChevron,\n resolvedLabels,\n navLabels,\n a11yLabels,\n } = useCalendarChrome(calendarSystem, calendarLabels);\n\n // ─ Bounds ─\n const ariaMinValue = useMemo(() => dateToCalendarDate(minValue) ?? undefined, [minValue]);\n const ariaMaxValue = useMemo(() => dateToCalendarDate(maxValue) ?? undefined, [maxValue]);\n\n // ─ Popover aria-label fallback (Dialog needs an accessible name) ─\n const dialogAriaLabel =\n ariaLabel ??\n (typeof label === 'string'\n ? label\n : ariaLabelledBy\n ? undefined\n : dgaLocale.startsWith('ar')\n ? 'نطاق التاريخ'\n : 'Date range');\n\n // ─ Toggle visibility ─\n const showToggle = showCalendarToggle && !isCalendarControlled;\n\n // ─ Derived field-message visibility (mirrors useFieldA11y rules) ─\n const hasError = !!error;\n const hasErrorMessage = hasError && errorMessage != null && errorMessage !== '';\n const hasHelper = !hasErrorMessage && helperText != null && helperText !== '';\n\n return (\n <I18nProvider locale={ariaLocale}>\n <AriaDateRangePicker\n value={value}\n onChange={handleAriaChange}\n minValue={ariaMinValue}\n maxValue={ariaMaxValue}\n isRequired={required}\n isDisabled={disabled}\n isInvalid={hasError}\n shouldCloseOnSelect\n id={id}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n className=\"ddga-field\"\n data-slot=\"date-range-picker-field\"\n >\n {label && (\n <AriaLabel className=\"ddga-date-range-picker__label\">\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"ddga-date-range-picker__required\">\n *\n </span>\n )}\n </AriaLabel>\n )}\n <AriaGroup\n data-slot=\"date-range-picker-trigger\"\n className={cn(dateRangePickerTriggerVariants({ size, error: hasError }), className)}\n >\n <AriaDateInput\n slot=\"start\"\n className=\"ddga-date-range-picker__input\"\n data-slot=\"date-range-picker-input-start\"\n >\n {(segment) => (\n <AriaDateSegment\n segment={segment}\n className=\"ddga-date-range-picker__segment\"\n data-slot=\"date-range-picker-segment\"\n />\n )}\n </AriaDateInput>\n <span aria-hidden=\"true\" className=\"ddga-date-range-picker__separator\">\n –\n </span>\n <AriaDateInput\n slot=\"end\"\n className=\"ddga-date-range-picker__input\"\n data-slot=\"date-range-picker-input-end\"\n >\n {(segment) => (\n <AriaDateSegment\n segment={segment}\n className=\"ddga-date-range-picker__segment\"\n data-slot=\"date-range-picker-segment\"\n />\n )}\n </AriaDateInput>\n <AriaButton\n className=\"ddga-date-range-picker__icon-button\"\n aria-label={a11yLabels.openCalendar}\n data-slot=\"date-range-picker-trigger-button\"\n >\n <CalendarIcon aria-hidden=\"true\" className=\"ddga-date-range-picker__icon\" />\n </AriaButton>\n </AriaGroup>\n {hasHelper && (\n <AriaText\n slot=\"description\"\n className=\"ddga-field__message ddga-field__message--helper\"\n data-slot=\"field-helper\"\n >\n {helperText}\n </AriaText>\n )}\n {hasErrorMessage && (\n <AriaFieldError\n className=\"ddga-field__message ddga-field__message--error\"\n data-slot=\"field-error\"\n >\n {errorMessage}\n </AriaFieldError>\n )}\n <AriaPopover\n UNSTABLE_portalContainer={portalContainer}\n className=\"ddga-calendar-popover\"\n data-slot=\"date-range-picker-popover\"\n offset={6}\n // Breathing room from the viewport edge; with the Dialog's\n // `overflow:auto` + `max-block-size:100%`, the calendar scrolls if it\n // can't fit. Mirrors DatePicker — keep both pickers in lockstep.\n containerPadding={12}\n >\n <AriaDialog\n className=\"ddga-calendar-dialog\"\n data-slot=\"date-range-picker-dialog\"\n aria-label={dialogAriaLabel}\n aria-labelledby={ariaLabelledBy}\n >\n {showToggle && (\n <CalendarSystemToggle\n value={calendarSystem}\n onChange={setCalendar}\n labels={resolvedLabels}\n groupLabel={a11yLabels.calendarSystem}\n />\n )}\n <AriaRangeCalendar\n className=\"ddga-calendar ddga-calendar--range\"\n data-slot=\"date-range-picker-calendar\"\n >\n <header className=\"ddga-calendar__header\">\n <AriaButton\n slot=\"previous\"\n className=\"ddga-calendar__nav\"\n data-slot=\"date-range-picker-calendar-prev\"\n >\n <PrevChevron aria-hidden=\"true\" />\n </AriaButton>\n <CalendarNavHeader\n locale={ariaLocale}\n monthLabel={navLabels.month}\n yearLabel={navLabels.year}\n />\n <AriaButton\n slot=\"next\"\n className=\"ddga-calendar__nav\"\n data-slot=\"date-range-picker-calendar-next\"\n >\n <NextChevron aria-hidden=\"true\" />\n </AriaButton>\n </header>\n <AriaCalendarGrid className=\"ddga-calendar__grid\">\n <AriaCalendarGridHeader>\n {(day) => (\n <AriaCalendarHeaderCell className=\"ddga-calendar__weekday\">\n {day}\n </AriaCalendarHeaderCell>\n )}\n </AriaCalendarGridHeader>\n <AriaCalendarGridBody>\n {(date) => (\n <AriaCalendarCell date={date} className=\"ddga-calendar__cell\">\n {({ formattedDate }) =>\n renderDayContent(formattedDate, {\n showSecondary: showSecondaryCalendar,\n date,\n calendarSystem,\n })\n }\n </AriaCalendarCell>\n )}\n </AriaCalendarGridBody>\n </AriaCalendarGrid>\n </AriaRangeCalendar>\n </AriaDialog>\n </AriaPopover>\n </AriaDateRangePicker>\n </I18nProvider>\n );\n}\n\n// ─── 4. Exports ─── //\n\nexport { DateRangePicker, dateRangePickerTriggerVariants, dateRangePickerVariants };\nexport type { DateRangePickerProps, DateRange };\n// Re-exported for symmetry with DatePicker so the component file is\n// self-contained. The public barrel exposes these once via DatePicker (the\n// canonical owner) to avoid a duplicate export.\nexport type { CalendarSystem, CalendarLabels } from '../../internal/calendar';\n"],"mappings":"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","names":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkPI4OPECUcjs = require('./chunk-PI4OPECU.cjs');
5
+ var _chunkLG2IADSZcjs = require('./chunk-LG2IADSZ.cjs');
6
6
 
7
7
 
8
8
  var _chunkYUJZEQJWcjs = require('./chunk-YUJZEQJW.cjs');
@@ -69,9 +69,9 @@ function SidebarMenuButton({
69
69
  if (!tooltip || state !== "collapsed" || isMobile) {
70
70
  return button;
71
71
  }
72
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPI4OPECUcjs.Tooltip, { children: [
73
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPI4OPECUcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-slot": "tooltip-trigger", style: { display: "contents" }, children: button }) }),
74
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPI4OPECUcjs.TooltipContent, { side: dir === "rtl" ? "left" : "right", children: tooltip })
72
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLG2IADSZcjs.Tooltip, { children: [
73
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLG2IADSZcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-slot": "tooltip-trigger", style: { display: "contents" }, children: button }) }),
74
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLG2IADSZcjs.TooltipContent, { side: dir === "rtl" ? "left" : "right", children: tooltip })
75
75
  ] });
76
76
  }
77
77
  function SidebarMenuAction({ asChild, showOnHover, className, ...props }) {
@@ -174,4 +174,4 @@ function SidebarMenuSubButton({
174
174
 
175
175
 
176
176
  exports.SidebarMenu = SidebarMenu; exports.SidebarMenuItem = SidebarMenuItem; exports.sidebarMenuButtonVariants = sidebarMenuButtonVariants; exports.SidebarMenuButton = SidebarMenuButton; exports.SidebarMenuAction = SidebarMenuAction; exports.SidebarMenuBadge = SidebarMenuBadge; exports.SidebarMenuSkeleton = SidebarMenuSkeleton; exports.SidebarMenuSub = SidebarMenuSub; exports.SidebarMenuSubItem = SidebarMenuSubItem; exports.sidebarMenuSubButtonVariants = sidebarMenuSubButtonVariants; exports.SidebarMenuSubButton = SidebarMenuSubButton;
177
- //# sourceMappingURL=chunk-MWOGVEQB.cjs.map
177
+ //# sourceMappingURL=chunk-NUC6WJU4.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-MWOGVEQB.cjs","../src/components/Sidebar/SidebarMenu.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-MWOGVEQB.cjs","sourcesContent":[null,"'use client';\n\nimport { Slot as SlotPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { useDir } from '../../hooks/useDir';\nimport { Tooltip, TooltipTrigger, TooltipContent } from '../Tooltip';\nimport { Skeleton } from '../Skeleton';\nimport { useSidebar } from './SidebarContext';\n\n// ─── Menu / MenuItem ─── //\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return <ul data-slot=\"sidebar-menu\" className={cn('ddga-sidebar__menu', className)} {...props} />;\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n className={cn('ddga-sidebar__menu-item', className)}\n {...props}\n />\n );\n}\n\n// ─── MenuButton ─── //\n\nconst sidebarMenuButtonVariants = cva('ddga-sidebar__menu-button', {\n variants: {\n size: {\n sm: 'ddga-sidebar__menu-button--sm',\n md: 'ddga-sidebar__menu-button--md',\n lg: 'ddga-sidebar__menu-button--lg',\n },\n },\n defaultVariants: { size: 'md' },\n});\n\ninterface SidebarMenuButtonProps\n extends React.ComponentProps<'button'>, VariantProps<typeof sidebarMenuButtonVariants> {\n asChild?: boolean;\n isActive?: boolean;\n /** Tooltip content shown only when the rail is collapsed (desktop). */\n tooltip?: React.ReactNode;\n}\n\nfunction SidebarMenuButton({\n asChild,\n isActive,\n size,\n tooltip,\n className,\n ...props\n}: SidebarMenuButtonProps) {\n const { state, isMobile } = useSidebar();\n const dir = useDir();\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n\n const button = (\n <Comp\n type={asChild ? undefined : 'button'}\n data-slot=\"sidebar-menu-button\"\n data-active={isActive || undefined}\n data-size={size ?? 'md'}\n aria-current={isActive ? 'page' : undefined}\n className={cn(sidebarMenuButtonVariants({ size }), className)}\n {...props}\n />\n );\n\n if (!tooltip || state !== 'collapsed' || isMobile) {\n return button;\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <span data-slot=\"tooltip-trigger\" style={{ display: 'contents' }}>\n {button}\n </span>\n </TooltipTrigger>\n <TooltipContent side={dir === 'rtl' ? 'left' : 'right'}>{tooltip}</TooltipContent>\n </Tooltip>\n );\n}\n\n// ─── MenuAction ─── //\n\ninterface SidebarMenuActionProps extends React.ComponentProps<'button'> {\n asChild?: boolean;\n /** Reveal the action only on row hover/focus (CSS-driven). */\n showOnHover?: boolean;\n}\n\nfunction SidebarMenuAction({ asChild, showOnHover, className, ...props }: SidebarMenuActionProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n return (\n <Comp\n type={asChild ? undefined : 'button'}\n data-slot=\"sidebar-menu-action\"\n data-show-on-hover={showOnHover || undefined}\n className={cn('ddga-sidebar__menu-action', className)}\n {...props}\n />\n );\n}\n\n// ─── MenuBadge ─── //\n\nfunction SidebarMenuBadge({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"sidebar-menu-badge\"\n className={cn('ddga-sidebar__menu-badge', className)}\n {...props}\n />\n );\n}\n\n// ─── MenuSkeleton ─── //\n\ninterface SidebarMenuSkeletonProps extends React.ComponentProps<'div'> {\n showIcon?: boolean;\n}\n\nfunction SidebarMenuSkeleton({ showIcon, className, ...props }: SidebarMenuSkeletonProps) {\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n className={cn('ddga-sidebar__menu-skeleton', className)}\n {...props}\n >\n {showIcon ? <Skeleton shape=\"circle\" width=\"1rem\" height=\"1rem\" /> : null}\n <Skeleton shape=\"text\" className=\"ddga-sidebar__menu-skeleton-text\" />\n </div>\n );\n}\n\n// ─── MenuSub / MenuSubItem / MenuSubButton ─── //\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n className={cn('ddga-sidebar__menu-sub', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n className={cn('ddga-sidebar__menu-sub-item', className)}\n {...props}\n />\n );\n}\n\nconst sidebarMenuSubButtonVariants = cva('ddga-sidebar__menu-sub-button', {\n variants: {\n size: {\n sm: 'ddga-sidebar__menu-sub-button--sm',\n md: 'ddga-sidebar__menu-sub-button--md',\n },\n },\n defaultVariants: { size: 'md' },\n});\n\ninterface SidebarMenuSubButtonProps\n extends React.ComponentProps<'a'>, VariantProps<typeof sidebarMenuSubButtonVariants> {\n asChild?: boolean;\n isActive?: boolean;\n}\n\nfunction SidebarMenuSubButton({\n asChild,\n isActive,\n size,\n className,\n ...props\n}: SidebarMenuSubButtonProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'a';\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-active={isActive || undefined}\n data-size={size ?? 'md'}\n aria-current={isActive ? 'page' : undefined}\n className={cn(sidebarMenuSubButtonVariants({ size }), className)}\n {...props}\n />\n );\n}\n\n// ─── Exports ─── //\n\nexport {\n SidebarMenu,\n SidebarMenuItem,\n SidebarMenuButton,\n sidebarMenuButtonVariants,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubItem,\n SidebarMenuSubButton,\n sidebarMenuSubButtonVariants,\n};\nexport type {\n SidebarMenuButtonProps,\n SidebarMenuActionProps,\n SidebarMenuSkeletonProps,\n SidebarMenuSubButtonProps,\n};\n"]}
1
+ {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-NUC6WJU4.cjs","../src/components/Sidebar/SidebarMenu.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-NUC6WJU4.cjs","sourcesContent":[null,"'use client';\n\nimport { Slot as SlotPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { useDir } from '../../hooks/useDir';\nimport { Tooltip, TooltipTrigger, TooltipContent } from '../Tooltip';\nimport { Skeleton } from '../Skeleton';\nimport { useSidebar } from './SidebarContext';\n\n// ─── Menu / MenuItem ─── //\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return <ul data-slot=\"sidebar-menu\" className={cn('ddga-sidebar__menu', className)} {...props} />;\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n className={cn('ddga-sidebar__menu-item', className)}\n {...props}\n />\n );\n}\n\n// ─── MenuButton ─── //\n\nconst sidebarMenuButtonVariants = cva('ddga-sidebar__menu-button', {\n variants: {\n size: {\n sm: 'ddga-sidebar__menu-button--sm',\n md: 'ddga-sidebar__menu-button--md',\n lg: 'ddga-sidebar__menu-button--lg',\n },\n },\n defaultVariants: { size: 'md' },\n});\n\ninterface SidebarMenuButtonProps\n extends React.ComponentProps<'button'>, VariantProps<typeof sidebarMenuButtonVariants> {\n asChild?: boolean;\n isActive?: boolean;\n /** Tooltip content shown only when the rail is collapsed (desktop). */\n tooltip?: React.ReactNode;\n}\n\nfunction SidebarMenuButton({\n asChild,\n isActive,\n size,\n tooltip,\n className,\n ...props\n}: SidebarMenuButtonProps) {\n const { state, isMobile } = useSidebar();\n const dir = useDir();\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n\n const button = (\n <Comp\n type={asChild ? undefined : 'button'}\n data-slot=\"sidebar-menu-button\"\n data-active={isActive || undefined}\n data-size={size ?? 'md'}\n aria-current={isActive ? 'page' : undefined}\n className={cn(sidebarMenuButtonVariants({ size }), className)}\n {...props}\n />\n );\n\n if (!tooltip || state !== 'collapsed' || isMobile) {\n return button;\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <span data-slot=\"tooltip-trigger\" style={{ display: 'contents' }}>\n {button}\n </span>\n </TooltipTrigger>\n <TooltipContent side={dir === 'rtl' ? 'left' : 'right'}>{tooltip}</TooltipContent>\n </Tooltip>\n );\n}\n\n// ─── MenuAction ─── //\n\ninterface SidebarMenuActionProps extends React.ComponentProps<'button'> {\n asChild?: boolean;\n /** Reveal the action only on row hover/focus (CSS-driven). */\n showOnHover?: boolean;\n}\n\nfunction SidebarMenuAction({ asChild, showOnHover, className, ...props }: SidebarMenuActionProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n return (\n <Comp\n type={asChild ? undefined : 'button'}\n data-slot=\"sidebar-menu-action\"\n data-show-on-hover={showOnHover || undefined}\n className={cn('ddga-sidebar__menu-action', className)}\n {...props}\n />\n );\n}\n\n// ─── MenuBadge ─── //\n\nfunction SidebarMenuBadge({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"sidebar-menu-badge\"\n className={cn('ddga-sidebar__menu-badge', className)}\n {...props}\n />\n );\n}\n\n// ─── MenuSkeleton ─── //\n\ninterface SidebarMenuSkeletonProps extends React.ComponentProps<'div'> {\n showIcon?: boolean;\n}\n\nfunction SidebarMenuSkeleton({ showIcon, className, ...props }: SidebarMenuSkeletonProps) {\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n className={cn('ddga-sidebar__menu-skeleton', className)}\n {...props}\n >\n {showIcon ? <Skeleton shape=\"circle\" width=\"1rem\" height=\"1rem\" /> : null}\n <Skeleton shape=\"text\" className=\"ddga-sidebar__menu-skeleton-text\" />\n </div>\n );\n}\n\n// ─── MenuSub / MenuSubItem / MenuSubButton ─── //\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n className={cn('ddga-sidebar__menu-sub', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n className={cn('ddga-sidebar__menu-sub-item', className)}\n {...props}\n />\n );\n}\n\nconst sidebarMenuSubButtonVariants = cva('ddga-sidebar__menu-sub-button', {\n variants: {\n size: {\n sm: 'ddga-sidebar__menu-sub-button--sm',\n md: 'ddga-sidebar__menu-sub-button--md',\n },\n },\n defaultVariants: { size: 'md' },\n});\n\ninterface SidebarMenuSubButtonProps\n extends React.ComponentProps<'a'>, VariantProps<typeof sidebarMenuSubButtonVariants> {\n asChild?: boolean;\n isActive?: boolean;\n}\n\nfunction SidebarMenuSubButton({\n asChild,\n isActive,\n size,\n className,\n ...props\n}: SidebarMenuSubButtonProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'a';\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-active={isActive || undefined}\n data-size={size ?? 'md'}\n aria-current={isActive ? 'page' : undefined}\n className={cn(sidebarMenuSubButtonVariants({ size }), className)}\n {...props}\n />\n );\n}\n\n// ─── Exports ─── //\n\nexport {\n SidebarMenu,\n SidebarMenuItem,\n SidebarMenuButton,\n sidebarMenuButtonVariants,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubItem,\n SidebarMenuSubButton,\n sidebarMenuSubButtonVariants,\n};\nexport type {\n SidebarMenuButtonProps,\n SidebarMenuActionProps,\n SidebarMenuSkeletonProps,\n SidebarMenuSubButtonProps,\n};\n"]}
@@ -6,18 +6,7 @@ var _chunkV6MXOJQ4cjs = require('./chunk-V6MXOJQ4.cjs');
6
6
  var _radixui = require('radix-ui');
7
7
  var _classvarianceauthority = require('class-variance-authority');
8
8
  var _jsxruntime = require('react/jsx-runtime');
9
- var scrollAreaVariants = _classvarianceauthority.cva.call(void 0, "ddga-scroll-area", {
10
- variants: {
11
- orientation: {
12
- vertical: "ddga-scroll-area--vertical",
13
- horizontal: "ddga-scroll-area--horizontal",
14
- both: "ddga-scroll-area--both"
15
- }
16
- },
17
- defaultVariants: {
18
- orientation: "vertical"
19
- }
20
- });
9
+ var scrollAreaVariants = _classvarianceauthority.cva.call(void 0, "ddga-scroll-area");
21
10
  function warnMissingLabel(ariaLabel, ariaLabelledby) {
22
11
  if (process.env.NODE_ENV === "production") return;
23
12
  if (ariaLabel || ariaLabelledby) return;
@@ -48,7 +37,7 @@ function ScrollArea({
48
37
  "data-slot": "scroll-area",
49
38
  type,
50
39
  scrollHideDelay,
51
- className: _chunkV6MXOJQ4cjs.cn.call(void 0, scrollAreaVariants({ orientation }), className),
40
+ className: _chunkV6MXOJQ4cjs.cn.call(void 0, scrollAreaVariants(), className),
52
41
  ...props,
53
42
  children: [
54
43
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -111,4 +100,4 @@ function ScrollArea({
111
100
 
112
101
 
113
102
  exports.scrollAreaVariants = scrollAreaVariants; exports.ScrollArea = ScrollArea;
114
- //# sourceMappingURL=chunk-JQO3EFLX.cjs.map
103
+ //# sourceMappingURL=chunk-PAUY27WX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-PAUY27WX.cjs","../src/components/ScrollArea/ScrollArea.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-PAUY27WX.cjs","sourcesContent":[null,"'use client';\n\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\n// Orientation is driven by which scrollbar(s) render, NOT by a modifier class —\n// so the cva carries only the base class. (It previously emitted dead\n// `--vertical/--horizontal/--both` classes that no stylesheet matched.) Kept as\n// a cva and exported for API compatibility.\nconst scrollAreaVariants = cva('ddga-scroll-area');\n\nfunction warnMissingLabel(ariaLabel?: string, ariaLabelledby?: string) {\n if (process.env.NODE_ENV === 'production') return;\n if (ariaLabel || ariaLabelledby) return;\n // Warn on every render (dev only) — mirrors the Popover sibling's a11y warning.\n console.warn(\n '[dga/ScrollArea] <ScrollArea> has no accessible name. The scroll viewport is ' +\n 'keyboard-focusable; pass `aria-label` or `aria-labelledby` so screen-reader users ' +\n 'know what region they are scrolling. If the content is itself focusable (e.g. a list ' +\n 'of links) and you do not want a labelled region, pass `viewportProps={{ tabIndex: -1 }}`.',\n );\n}\n\ntype ScrollAreaOrientation = 'vertical' | 'horizontal' | 'both';\n\nexport interface ScrollAreaProps\n extends\n Omit<React.ComponentProps<typeof ScrollAreaPrimitive.Root>, 'asChild' | 'orientation'>,\n Omit<VariantProps<typeof scrollAreaVariants>, 'orientation'> {\n /** Which scrollbar(s) to render. Default `'vertical'`. */\n orientation?: ScrollAreaOrientation;\n /** Ref to the scrollable viewport — use for programmatic scrolling. */\n viewportRef?: React.Ref<HTMLDivElement>;\n /**\n * Extra props forwarded to the viewport element (use `viewportRef` for the ref).\n * To drop the extra tab stop when the scrolled content is itself fully focusable\n * (e.g. a list of links), pass `viewportProps={{ tabIndex: -1 }}`.\n */\n viewportProps?: Omit<React.ComponentProps<'div'>, 'ref'>;\n /** Names the scroll region. Warns (dev only) if neither this nor `aria-labelledby` is set. */\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n}\n\n/**\n * Cross-browser, design-system-styled scroll container (wraps Radix ScrollArea).\n *\n * Set the bounding size (height / max-height) on the element via `className` /\n * `style` — without a bounded size nothing scrolls, exactly like native overflow.\n * The viewport is keyboard-focusable (`tabIndex={0}`) so keyboard users can scroll\n * with the arrow / Page keys; pass `aria-label` to name the region.\n *\n * Does not support `asChild`: it is a structural wrapper composing several Radix\n * parts, and the meaningful node — the viewport — is exposed via `viewportRef`.\n */\nexport function ScrollArea({\n className,\n orientation = 'vertical',\n type = 'hover',\n scrollHideDelay = 600,\n viewportRef,\n viewportProps,\n children,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n ...props\n}: ScrollAreaProps) {\n warnMissingLabel(ariaLabel, ariaLabelledby);\n\n const hasLabel = Boolean(ariaLabel || ariaLabelledby);\n const showVertical = orientation === 'vertical' || orientation === 'both';\n const showHorizontal = orientation === 'horizontal' || orientation === 'both';\n\n const { className: viewportClassName, ...restViewportProps } = viewportProps ?? {};\n\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n type={type}\n scrollHideDelay={scrollHideDelay}\n className={cn(scrollAreaVariants(), className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className={cn('ddga-scroll-area__viewport', viewportClassName)}\n ref={viewportRef}\n tabIndex={0}\n role={hasLabel ? 'region' : undefined}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n {...restViewportProps}\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n {showVertical ? (\n <ScrollAreaPrimitive.Scrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation=\"vertical\"\n className=\"ddga-scroll-area__scrollbar\"\n >\n <ScrollAreaPrimitive.Thumb\n data-slot=\"scroll-area-thumb\"\n className=\"ddga-scroll-area__thumb\"\n />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n {showHorizontal ? (\n <ScrollAreaPrimitive.Scrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation=\"horizontal\"\n className=\"ddga-scroll-area__scrollbar\"\n >\n <ScrollAreaPrimitive.Thumb\n data-slot=\"scroll-area-thumb\"\n className=\"ddga-scroll-area__thumb\"\n />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n {orientation === 'both' ? (\n <ScrollAreaPrimitive.Corner\n data-slot=\"scroll-area-corner\"\n className=\"ddga-scroll-area__corner\"\n />\n ) : null}\n </ScrollAreaPrimitive.Root>\n );\n}\n\nexport { scrollAreaVariants };\nexport type { ScrollAreaOrientation };\n"]}
@@ -6,18 +6,7 @@ import {
6
6
  import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
7
7
  import { cva } from "class-variance-authority";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
- var scrollAreaVariants = cva("ddga-scroll-area", {
10
- variants: {
11
- orientation: {
12
- vertical: "ddga-scroll-area--vertical",
13
- horizontal: "ddga-scroll-area--horizontal",
14
- both: "ddga-scroll-area--both"
15
- }
16
- },
17
- defaultVariants: {
18
- orientation: "vertical"
19
- }
20
- });
9
+ var scrollAreaVariants = cva("ddga-scroll-area");
21
10
  function warnMissingLabel(ariaLabel, ariaLabelledby) {
22
11
  if (process.env.NODE_ENV === "production") return;
23
12
  if (ariaLabel || ariaLabelledby) return;
@@ -48,7 +37,7 @@ function ScrollArea({
48
37
  "data-slot": "scroll-area",
49
38
  type,
50
39
  scrollHideDelay,
51
- className: cn(scrollAreaVariants({ orientation }), className),
40
+ className: cn(scrollAreaVariants(), className),
52
41
  ...props,
53
42
  children: [
54
43
  /* @__PURE__ */ jsx(
@@ -111,4 +100,4 @@ export {
111
100
  scrollAreaVariants,
112
101
  ScrollArea
113
102
  };
114
- //# sourceMappingURL=chunk-6A73DWVA.js.map
103
+ //# sourceMappingURL=chunk-UAECZXU5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ScrollArea/ScrollArea.tsx"],"sourcesContent":["'use client';\n\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\n// Orientation is driven by which scrollbar(s) render, NOT by a modifier class —\n// so the cva carries only the base class. (It previously emitted dead\n// `--vertical/--horizontal/--both` classes that no stylesheet matched.) Kept as\n// a cva and exported for API compatibility.\nconst scrollAreaVariants = cva('ddga-scroll-area');\n\nfunction warnMissingLabel(ariaLabel?: string, ariaLabelledby?: string) {\n if (process.env.NODE_ENV === 'production') return;\n if (ariaLabel || ariaLabelledby) return;\n // Warn on every render (dev only) — mirrors the Popover sibling's a11y warning.\n console.warn(\n '[dga/ScrollArea] <ScrollArea> has no accessible name. The scroll viewport is ' +\n 'keyboard-focusable; pass `aria-label` or `aria-labelledby` so screen-reader users ' +\n 'know what region they are scrolling. If the content is itself focusable (e.g. a list ' +\n 'of links) and you do not want a labelled region, pass `viewportProps={{ tabIndex: -1 }}`.',\n );\n}\n\ntype ScrollAreaOrientation = 'vertical' | 'horizontal' | 'both';\n\nexport interface ScrollAreaProps\n extends\n Omit<React.ComponentProps<typeof ScrollAreaPrimitive.Root>, 'asChild' | 'orientation'>,\n Omit<VariantProps<typeof scrollAreaVariants>, 'orientation'> {\n /** Which scrollbar(s) to render. Default `'vertical'`. */\n orientation?: ScrollAreaOrientation;\n /** Ref to the scrollable viewport — use for programmatic scrolling. */\n viewportRef?: React.Ref<HTMLDivElement>;\n /**\n * Extra props forwarded to the viewport element (use `viewportRef` for the ref).\n * To drop the extra tab stop when the scrolled content is itself fully focusable\n * (e.g. a list of links), pass `viewportProps={{ tabIndex: -1 }}`.\n */\n viewportProps?: Omit<React.ComponentProps<'div'>, 'ref'>;\n /** Names the scroll region. Warns (dev only) if neither this nor `aria-labelledby` is set. */\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n}\n\n/**\n * Cross-browser, design-system-styled scroll container (wraps Radix ScrollArea).\n *\n * Set the bounding size (height / max-height) on the element via `className` /\n * `style` — without a bounded size nothing scrolls, exactly like native overflow.\n * The viewport is keyboard-focusable (`tabIndex={0}`) so keyboard users can scroll\n * with the arrow / Page keys; pass `aria-label` to name the region.\n *\n * Does not support `asChild`: it is a structural wrapper composing several Radix\n * parts, and the meaningful node — the viewport — is exposed via `viewportRef`.\n */\nexport function ScrollArea({\n className,\n orientation = 'vertical',\n type = 'hover',\n scrollHideDelay = 600,\n viewportRef,\n viewportProps,\n children,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n ...props\n}: ScrollAreaProps) {\n warnMissingLabel(ariaLabel, ariaLabelledby);\n\n const hasLabel = Boolean(ariaLabel || ariaLabelledby);\n const showVertical = orientation === 'vertical' || orientation === 'both';\n const showHorizontal = orientation === 'horizontal' || orientation === 'both';\n\n const { className: viewportClassName, ...restViewportProps } = viewportProps ?? {};\n\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n type={type}\n scrollHideDelay={scrollHideDelay}\n className={cn(scrollAreaVariants(), className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className={cn('ddga-scroll-area__viewport', viewportClassName)}\n ref={viewportRef}\n tabIndex={0}\n role={hasLabel ? 'region' : undefined}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n {...restViewportProps}\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n {showVertical ? (\n <ScrollAreaPrimitive.Scrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation=\"vertical\"\n className=\"ddga-scroll-area__scrollbar\"\n >\n <ScrollAreaPrimitive.Thumb\n data-slot=\"scroll-area-thumb\"\n className=\"ddga-scroll-area__thumb\"\n />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n {showHorizontal ? (\n <ScrollAreaPrimitive.Scrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation=\"horizontal\"\n className=\"ddga-scroll-area__scrollbar\"\n >\n <ScrollAreaPrimitive.Thumb\n data-slot=\"scroll-area-thumb\"\n className=\"ddga-scroll-area__thumb\"\n />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n {orientation === 'both' ? (\n <ScrollAreaPrimitive.Corner\n data-slot=\"scroll-area-corner\"\n className=\"ddga-scroll-area__corner\"\n />\n ) : null}\n </ScrollAreaPrimitive.Root>\n );\n}\n\nexport { scrollAreaVariants };\nexport type { ScrollAreaOrientation };\n"],"mappings":";;;;;AAEA,SAAS,cAAc,2BAA2B;AAClD,SAAS,WAA8B;AA0EnC,SAOE,KAPF;AAnEJ,IAAM,qBAAqB,IAAI,kBAAkB;AAEjD,SAAS,iBAAiB,WAAoB,gBAAyB;AACrE,MAAI,QAAQ,IAAI,aAAa,aAAc;AAC3C,MAAI,aAAa,eAAgB;AAEjC,UAAQ;AAAA,IACN;AAAA,EAIF;AACF;AAkCO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA,cAAc;AAAA,EACd,OAAO;AAAA,EACP,kBAAkB;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,GAAG;AACL,GAAoB;AAClB,mBAAiB,WAAW,cAAc;AAE1C,QAAM,WAAW,QAAQ,aAAa,cAAc;AACpD,QAAM,eAAe,gBAAgB,cAAc,gBAAgB;AACnE,QAAM,iBAAiB,gBAAgB,gBAAgB,gBAAgB;AAEvE,QAAM,EAAE,WAAW,mBAAmB,GAAG,kBAAkB,IAAI,iBAAiB,CAAC;AAEjF,SACE;AAAA,IAAC,oBAAoB;AAAA,IAApB;AAAA,MACC,aAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,WAAW,GAAG,mBAAmB,GAAG,SAAS;AAAA,MAC5C,GAAG;AAAA,MAEJ;AAAA;AAAA,UAAC,oBAAoB;AAAA,UAApB;AAAA,YACC,aAAU;AAAA,YACV,WAAW,GAAG,8BAA8B,iBAAiB;AAAA,YAC7D,KAAK;AAAA,YACL,UAAU;AAAA,YACV,MAAM,WAAW,WAAW;AAAA,YAC5B,cAAY;AAAA,YACZ,mBAAiB;AAAA,YAChB,GAAG;AAAA,YAEH;AAAA;AAAA,QACH;AAAA,QACC,eACC;AAAA,UAAC,oBAAoB;AAAA,UAApB;AAAA,YACC,aAAU;AAAA,YACV,aAAY;AAAA,YACZ,WAAU;AAAA,YAEV;AAAA,cAAC,oBAAoB;AAAA,cAApB;AAAA,gBACC,aAAU;AAAA,gBACV,WAAU;AAAA;AAAA,YACZ;AAAA;AAAA,QACF,IACE;AAAA,QACH,iBACC;AAAA,UAAC,oBAAoB;AAAA,UAApB;AAAA,YACC,aAAU;AAAA,YACV,aAAY;AAAA,YACZ,WAAU;AAAA,YAEV;AAAA,cAAC,oBAAoB;AAAA,cAApB;AAAA,gBACC,aAAU;AAAA,gBACV,WAAU;AAAA;AAAA,YACZ;AAAA;AAAA,QACF,IACE;AAAA,QACH,gBAAgB,SACf;AAAA,UAAC,oBAAoB;AAAA,UAApB;AAAA,YACC,aAAU;AAAA,YACV,WAAU;AAAA;AAAA,QACZ,IACE;AAAA;AAAA;AAAA,EACN;AAEJ;","names":[]}
@@ -307,4 +307,4 @@ function DateRangePicker({
307
307
 
308
308
 
309
309
  exports.dateRangePickerTriggerVariants = dateRangePickerTriggerVariants; exports.dateRangePickerVariants = dateRangePickerVariants; exports.DateRangePicker = DateRangePicker;
310
- //# sourceMappingURL=chunk-43763K2A.cjs.map
310
+ //# sourceMappingURL=chunk-WI4WQGF6.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-43763K2A.cjs","../src/components/DateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-43763K2A.cjs","sourcesContent":[null,"'use client';\n\nimport { useCallback, useMemo, useState, type ReactNode } from 'react';\nimport {\n Button as AriaButton,\n CalendarCell as AriaCalendarCell,\n CalendarGrid as AriaCalendarGrid,\n CalendarGridBody as AriaCalendarGridBody,\n CalendarGridHeader as AriaCalendarGridHeader,\n CalendarHeaderCell as AriaCalendarHeaderCell,\n DateInput as AriaDateInput,\n DateRangePicker as AriaDateRangePicker,\n DateSegment as AriaDateSegment,\n Dialog as AriaDialog,\n FieldError as AriaFieldError,\n Group as AriaGroup,\n I18nProvider,\n Label as AriaLabel,\n Popover as AriaPopover,\n RangeCalendar as AriaRangeCalendar,\n Text as AriaText,\n} from 'react-aria-components';\nimport { CalendarDate, type DateValue } from '@internationalized/date';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { CalendarIcon } from '../../internal/icons';\nimport {\n CalendarNavHeader,\n CalendarSystemToggle,\n calendarDateToDate,\n dateToCalendarDate,\n renderDayContent,\n useCalendarChrome,\n type CalendarLabels,\n type CalendarSystem,\n} from '../../internal/calendar';\n\n// ─── 1. Variants ─── //\n\n// Applied to the Group (the trigger row). Range triggers hold more by content\n// (two date inputs + separator), but heights still match Input/Select sm/md so\n// they line up in a form row.\nconst dateRangePickerTriggerVariants = cva('ddga-date-range-picker-trigger', {\n variants: {\n size: {\n sm: 'ddga-date-range-picker-trigger--sm',\n md: 'ddga-date-range-picker-trigger--md',\n },\n error: {\n true: 'ddga-date-range-picker-trigger--error',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\n// Passthrough alias so the barrel `*Variants` convention holds across components.\nconst dateRangePickerVariants = dateRangePickerTriggerVariants;\n\n// ─── 2. Types ─── //\n\n/** A complete, inclusive date range. Both ends are local Y/M/D. */\ninterface DateRange {\n start: Date;\n end: Date;\n}\n\ninterface DateRangePickerProps extends VariantProps<typeof dateRangePickerTriggerVariants> {\n /** Currently selected range (controlled). `null` clears it. */\n value?: DateRange | null;\n /** Initial range when uncontrolled. */\n defaultValue?: DateRange | null;\n /** Fires when a complete range is picked, or `null` when cleared. */\n onChange?: (value: DateRange | null) => void;\n /** Earliest pickable date (inclusive). */\n minValue?: Date;\n /** Latest pickable date (inclusive). */\n maxValue?: Date;\n /** Visible label above the trigger. */\n label?: ReactNode;\n /** Hint shown below the trigger. Hidden while an error message is showing. */\n helperText?: ReactNode;\n /** Message shown below the trigger when `error` is true. */\n errorMessage?: ReactNode;\n /** Marks the field invalid — sets `aria-invalid` and error styling. */\n error?: boolean;\n /** Marks the field required — adds the asterisk + `aria-required`. */\n required?: boolean;\n /** Disables the trigger entirely. */\n disabled?: boolean;\n /** Caller-supplied id for the field. */\n id?: string;\n /** Forwarded to the Group (the trigger row), matching Input/Select. */\n className?: string;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n /** Calendar system (controlled). Omit to let the user toggle freely. */\n calendar?: CalendarSystem;\n /** Initial calendar system when uncontrolled. Defaults to `'gregorian'`. */\n defaultCalendar?: CalendarSystem;\n /** Fires whenever the calendar system toggles. */\n onCalendarChange?: (calendar: CalendarSystem) => void;\n /**\n * Show the Gregorian↔Hijri toggle inside the popover. Defaults to `true`, but\n * is forced off when `calendar` is controlled.\n */\n showCalendarToggle?: boolean;\n /** Override the toggle labels. Defaults are locale-aware (English / Arabic). */\n calendarLabels?: CalendarLabels;\n /**\n * When `true`, each day cell also shows the *other* calendar's day number as\n * small secondary text. Helps cross-reference Hijri↔Gregorian. Default `false`.\n */\n showSecondaryCalendar?: boolean;\n}\n\n// react-aria's range value is { start, end } of CalendarDate. We keep our public\n// contract Date-based and round-trip through Gregorian CalendarDates so the Hijri\n// toggle is purely a display concern (same engine as DatePicker).\ntype AriaDateRange = { start: CalendarDate; end: CalendarDate } | null;\n\nfunction toAriaRange(range: DateRange | null | undefined): AriaDateRange {\n if (!range) return null;\n const start = dateToCalendarDate(range.start);\n const end = dateToCalendarDate(range.end);\n if (!start || !end) return null;\n return { start, end };\n}\n\nfunction fromAriaRange(value: { start: DateValue; end: DateValue } | null): DateRange | null {\n if (!value) return null;\n const start = calendarDateToDate(value.start);\n const end = calendarDateToDate(value.end);\n if (!start || !end) return null;\n return { start, end };\n}\n\n// ─── 3. Component ─── //\n\nfunction DateRangePicker({\n value: controlledValue,\n defaultValue,\n onChange,\n minValue,\n maxValue,\n label,\n helperText,\n errorMessage,\n error,\n required,\n disabled,\n size,\n id,\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n calendar: controlledCalendar,\n defaultCalendar = 'gregorian',\n onCalendarChange,\n showCalendarToggle = true,\n calendarLabels,\n showSecondaryCalendar = false,\n}: DateRangePickerProps) {\n // ─ value: controlled or uncontrolled, always Gregorian internally ─\n const isValueControlled = controlledValue !== undefined;\n const [internalValue, setInternalValue] = useState<AriaDateRange>(() =>\n toAriaRange(defaultValue),\n );\n const value = isValueControlled ? toAriaRange(controlledValue) : internalValue;\n\n const handleAriaChange = useCallback(\n (next: { start: DateValue; end: DateValue } | null) => {\n // Normalize to plain Gregorian CalendarDates so internal state never holds\n // a Hijri-flavored CalendarDate (display calendar must not leak into value).\n const nextRange: AriaDateRange = next\n ? {\n start: new CalendarDate(next.start.year, next.start.month, next.start.day),\n end: new CalendarDate(next.end.year, next.end.month, next.end.day),\n }\n : null;\n if (!isValueControlled) setInternalValue(nextRange);\n onChange?.(fromAriaRange(nextRange));\n },\n [isValueControlled, onChange],\n );\n\n // ─ calendar system: controlled or uncontrolled ─\n const isCalendarControlled = controlledCalendar !== undefined;\n const [internalCalendar, setInternalCalendar] = useState<CalendarSystem>(defaultCalendar);\n const calendarSystem = isCalendarControlled ? controlledCalendar : internalCalendar;\n\n const setCalendar = useCallback(\n (next: CalendarSystem) => {\n if (!isCalendarControlled) setInternalCalendar(next);\n onCalendarChange?.(next);\n },\n [isCalendarControlled, onCalendarChange],\n );\n\n // ─ Shared chrome (locale, portal, chevrons, labels) ─\n const {\n dgaLocale,\n locale: ariaLocale,\n portalContainer,\n PrevChevron,\n NextChevron,\n resolvedLabels,\n navLabels,\n a11yLabels,\n } = useCalendarChrome(calendarSystem, calendarLabels);\n\n // ─ Bounds ─\n const ariaMinValue = useMemo(() => dateToCalendarDate(minValue) ?? undefined, [minValue]);\n const ariaMaxValue = useMemo(() => dateToCalendarDate(maxValue) ?? undefined, [maxValue]);\n\n // ─ Popover aria-label fallback (Dialog needs an accessible name) ─\n const dialogAriaLabel =\n ariaLabel ??\n (typeof label === 'string'\n ? label\n : ariaLabelledBy\n ? undefined\n : dgaLocale.startsWith('ar')\n ? 'نطاق التاريخ'\n : 'Date range');\n\n // ─ Toggle visibility ─\n const showToggle = showCalendarToggle && !isCalendarControlled;\n\n // ─ Derived field-message visibility (mirrors useFieldA11y rules) ─\n const hasError = !!error;\n const hasErrorMessage = hasError && errorMessage != null && errorMessage !== '';\n const hasHelper = !hasErrorMessage && helperText != null && helperText !== '';\n\n return (\n <I18nProvider locale={ariaLocale}>\n <AriaDateRangePicker\n value={value}\n onChange={handleAriaChange}\n minValue={ariaMinValue}\n maxValue={ariaMaxValue}\n isRequired={required}\n isDisabled={disabled}\n isInvalid={hasError}\n shouldCloseOnSelect\n id={id}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n className=\"ddga-field\"\n data-slot=\"date-range-picker-field\"\n >\n {label && (\n <AriaLabel className=\"ddga-date-range-picker__label\">\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"ddga-date-range-picker__required\">\n *\n </span>\n )}\n </AriaLabel>\n )}\n <AriaGroup\n data-slot=\"date-range-picker-trigger\"\n className={cn(dateRangePickerTriggerVariants({ size, error: hasError }), className)}\n >\n <AriaDateInput\n slot=\"start\"\n className=\"ddga-date-range-picker__input\"\n data-slot=\"date-range-picker-input-start\"\n >\n {(segment) => (\n <AriaDateSegment\n segment={segment}\n className=\"ddga-date-range-picker__segment\"\n data-slot=\"date-range-picker-segment\"\n />\n )}\n </AriaDateInput>\n <span aria-hidden=\"true\" className=\"ddga-date-range-picker__separator\">\n –\n </span>\n <AriaDateInput\n slot=\"end\"\n className=\"ddga-date-range-picker__input\"\n data-slot=\"date-range-picker-input-end\"\n >\n {(segment) => (\n <AriaDateSegment\n segment={segment}\n className=\"ddga-date-range-picker__segment\"\n data-slot=\"date-range-picker-segment\"\n />\n )}\n </AriaDateInput>\n <AriaButton\n className=\"ddga-date-range-picker__icon-button\"\n aria-label={a11yLabels.openCalendar}\n data-slot=\"date-range-picker-trigger-button\"\n >\n <CalendarIcon aria-hidden=\"true\" className=\"ddga-date-range-picker__icon\" />\n </AriaButton>\n </AriaGroup>\n {hasHelper && (\n <AriaText\n slot=\"description\"\n className=\"ddga-field__message ddga-field__message--helper\"\n data-slot=\"field-helper\"\n >\n {helperText}\n </AriaText>\n )}\n {hasErrorMessage && (\n <AriaFieldError\n className=\"ddga-field__message ddga-field__message--error\"\n data-slot=\"field-error\"\n >\n {errorMessage}\n </AriaFieldError>\n )}\n <AriaPopover\n UNSTABLE_portalContainer={portalContainer}\n className=\"ddga-calendar-popover\"\n data-slot=\"date-range-picker-popover\"\n offset={6}\n containerPadding={12}\n >\n <AriaDialog\n className=\"ddga-calendar-dialog\"\n data-slot=\"date-range-picker-dialog\"\n aria-label={dialogAriaLabel}\n aria-labelledby={ariaLabelledBy}\n >\n {showToggle && (\n <CalendarSystemToggle\n value={calendarSystem}\n onChange={setCalendar}\n labels={resolvedLabels}\n groupLabel={a11yLabels.calendarSystem}\n />\n )}\n <AriaRangeCalendar\n className=\"ddga-calendar ddga-calendar--range\"\n data-slot=\"date-range-picker-calendar\"\n >\n <header className=\"ddga-calendar__header\">\n <AriaButton\n slot=\"previous\"\n className=\"ddga-calendar__nav\"\n data-slot=\"date-range-picker-calendar-prev\"\n >\n <PrevChevron aria-hidden=\"true\" />\n </AriaButton>\n <CalendarNavHeader\n locale={ariaLocale}\n monthLabel={navLabels.month}\n yearLabel={navLabels.year}\n />\n <AriaButton\n slot=\"next\"\n className=\"ddga-calendar__nav\"\n data-slot=\"date-range-picker-calendar-next\"\n >\n <NextChevron aria-hidden=\"true\" />\n </AriaButton>\n </header>\n <AriaCalendarGrid className=\"ddga-calendar__grid\">\n <AriaCalendarGridHeader>\n {(day) => (\n <AriaCalendarHeaderCell className=\"ddga-calendar__weekday\">\n {day}\n </AriaCalendarHeaderCell>\n )}\n </AriaCalendarGridHeader>\n <AriaCalendarGridBody>\n {(date) => (\n <AriaCalendarCell date={date} className=\"ddga-calendar__cell\">\n {({ formattedDate }) =>\n renderDayContent(formattedDate, {\n showSecondary: showSecondaryCalendar,\n date,\n calendarSystem,\n })\n }\n </AriaCalendarCell>\n )}\n </AriaCalendarGridBody>\n </AriaCalendarGrid>\n </AriaRangeCalendar>\n </AriaDialog>\n </AriaPopover>\n </AriaDateRangePicker>\n </I18nProvider>\n );\n}\n\n// ─── 4. Exports ─── //\n\nexport { DateRangePicker, dateRangePickerTriggerVariants, dateRangePickerVariants };\nexport type { DateRangePickerProps, DateRange };\n// Re-exported for symmetry with DatePicker so the component file is\n// self-contained. The public barrel exposes these once via DatePicker (the\n// canonical owner) to avoid a duplicate export.\nexport type { CalendarSystem, CalendarLabels } from '../../internal/calendar';\n"]}
1
+ {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-WI4WQGF6.cjs","../src/components/DateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACbA,8BAA+D;AAC/D;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAQ,4DACH;AACP,+CAA6C;AAC7C,kEAAuC;AAsO7B,+CAAA;AAnNV,IAAM,+BAAA,EAAiC,yCAAA,gCAAI,EAAkC;AAAA,EAC3E,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,oCAAA;AAAA,MACJ,EAAA,EAAI;AAAA,IACN,CAAA;AAAA,IACA,KAAA,EAAO;AAAA,MACL,IAAA,EAAM;AAAA,IACR;AAAA,EACF,CAAA;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA,EACR;AACF,CAAC,CAAA;AAGD,IAAM,wBAAA,EAA0B,8BAAA;AAgEhC,SAAS,WAAA,CAAY,KAAA,EAAoD;AACvE,EAAA,GAAA,CAAI,CAAC,KAAA,EAAO,OAAO,IAAA;AACnB,EAAA,MAAM,MAAA,EAAQ,kDAAA,KAAmB,CAAM,KAAK,CAAA;AAC5C,EAAA,MAAM,IAAA,EAAM,kDAAA,KAAmB,CAAM,GAAG,CAAA;AACxC,EAAA,GAAA,CAAI,CAAC,MAAA,GAAS,CAAC,GAAA,EAAK,OAAO,IAAA;AAC3B,EAAA,OAAO,EAAE,KAAA,EAAO,IAAI,CAAA;AACtB;AAEA,SAAS,aAAA,CAAc,KAAA,EAAsE;AAC3F,EAAA,GAAA,CAAI,CAAC,KAAA,EAAO,OAAO,IAAA;AACnB,EAAA,MAAM,MAAA,EAAQ,kDAAA,KAAmB,CAAM,KAAK,CAAA;AAC5C,EAAA,MAAM,IAAA,EAAM,kDAAA,KAAmB,CAAM,GAAG,CAAA;AACxC,EAAA,GAAA,CAAI,CAAC,MAAA,GAAS,CAAC,GAAA,EAAK,OAAO,IAAA;AAC3B,EAAA,OAAO,EAAE,KAAA,EAAO,IAAI,CAAA;AACtB;AAIA,SAAS,eAAA,CAAgB;AAAA,EACvB,KAAA,EAAO,eAAA;AAAA,EACP,YAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,EAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA,EAAc,SAAA;AAAA,EACd,iBAAA,EAAmB,cAAA;AAAA,EACnB,QAAA,EAAU,kBAAA;AAAA,EACV,gBAAA,EAAkB,WAAA;AAAA,EAClB,gBAAA;AAAA,EACA,mBAAA,EAAqB,IAAA;AAAA,EACrB,cAAA;AAAA,EACA,sBAAA,EAAwB;AAC1B,CAAA,EAAyB;AAEvB,EAAA,MAAM,kBAAA,EAAoB,gBAAA,IAAoB,KAAA,CAAA;AAC9C,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,EAAA,EAAI,6BAAA;AAAA,IAAwB,CAAA,EAAA,GAChE,WAAA,CAAY,YAAY;AAAA,EAC1B,CAAA;AACA,EAAA,MAAM,MAAA,EAAQ,kBAAA,EAAoB,WAAA,CAAY,eAAe,EAAA,EAAI,aAAA;AAEjE,EAAA,MAAM,iBAAA,EAAmB,gCAAA;AAAA,IACvB,CAAC,IAAA,EAAA,GAAsD;AAGrD,MAAA,MAAM,UAAA,EAA2B,KAAA,EAC7B;AAAA,QACE,KAAA,EAAO,IAAI,uBAAA,CAAa,IAAA,CAAK,KAAA,CAAM,IAAA,EAAM,IAAA,CAAK,KAAA,CAAM,KAAA,EAAO,IAAA,CAAK,KAAA,CAAM,GAAG,CAAA;AAAA,QACzE,GAAA,EAAK,IAAI,uBAAA,CAAa,IAAA,CAAK,GAAA,CAAI,IAAA,EAAM,IAAA,CAAK,GAAA,CAAI,KAAA,EAAO,IAAA,CAAK,GAAA,CAAI,GAAG;AAAA,MACnE,EAAA,EACA,IAAA;AACJ,MAAA,GAAA,CAAI,CAAC,iBAAA,EAAmB,gBAAA,CAAiB,SAAS,CAAA;AAClD,sBAAA,QAAA,wBAAA,CAAW,aAAA,CAAc,SAAS,CAAC,GAAA;AAAA,IACrC,CAAA;AAAA,IACA,CAAC,iBAAA,EAAmB,QAAQ;AAAA,EAC9B,CAAA;AAGA,EAAA,MAAM,qBAAA,EAAuB,mBAAA,IAAuB,KAAA,CAAA;AACpD,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,EAAA,EAAI,6BAAA,eAAwC,CAAA;AACxF,EAAA,MAAM,eAAA,EAAiB,qBAAA,EAAuB,mBAAA,EAAqB,gBAAA;AAEnE,EAAA,MAAM,YAAA,EAAc,gCAAA;AAAA,IAClB,CAAC,IAAA,EAAA,GAAyB;AACxB,MAAA,GAAA,CAAI,CAAC,oBAAA,EAAsB,mBAAA,CAAoB,IAAI,CAAA;AACnD,sBAAA,gBAAA,0BAAA,CAAmB,IAAI,GAAA;AAAA,IACzB,CAAA;AAAA,IACA,CAAC,oBAAA,EAAsB,gBAAgB;AAAA,EACzC,CAAA;AAGA,EAAA,MAAM;AAAA,IACJ,SAAA;AAAA,IACA,MAAA,EAAQ,UAAA;AAAA,IACR,eAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,EACF,EAAA,EAAI,iDAAA,cAAkB,EAAgB,cAAc,CAAA;AAGpD,EAAA,MAAM,aAAA,EAAe,4BAAA,CAAQ,EAAA,oBAAM,kDAAA,QAA2B,CAAA,UAAK,KAAA,GAAA,EAAW,CAAC,QAAQ,CAAC,CAAA;AACxF,EAAA,MAAM,aAAA,EAAe,4BAAA,CAAQ,EAAA,oBAAM,kDAAA,QAA2B,CAAA,UAAK,KAAA,GAAA,EAAW,CAAC,QAAQ,CAAC,CAAA;AAGxF,EAAA,MAAM,gBAAA,mBACJ,SAAA,UAAA,CACC,OAAO,MAAA,IAAU,SAAA,EACd,MAAA,EACA,eAAA,EACE,KAAA,EAAA,EACA,SAAA,CAAU,UAAA,CAAW,IAAI,EAAA,EACvB,sEAAA,EACA,YAAA,GAAA;AAGV,EAAA,MAAM,WAAA,EAAa,mBAAA,GAAsB,CAAC,oBAAA;AAG1C,EAAA,MAAM,SAAA,EAAW,CAAC,CAAC,KAAA;AACnB,EAAA,MAAM,gBAAA,EAAkB,SAAA,GAAY,aAAA,GAAgB,KAAA,GAAQ,aAAA,IAAiB,EAAA;AAC7E,EAAA,MAAM,UAAA,EAAY,CAAC,gBAAA,GAAmB,WAAA,GAAc,KAAA,GAAQ,WAAA,IAAe,EAAA;AAE3E,EAAA,uBACE,6BAAA,iCAAC,EAAA,EAAa,MAAA,EAAQ,UAAA,EACpB,QAAA,kBAAA,8BAAA;AAAA,IAAC,oCAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,QAAA,EAAU,gBAAA;AAAA,MACV,QAAA,EAAU,YAAA;AAAA,MACV,QAAA,EAAU,YAAA;AAAA,MACV,UAAA,EAAY,QAAA;AAAA,MACZ,UAAA,EAAY,QAAA;AAAA,MACZ,SAAA,EAAW,QAAA;AAAA,MACX,mBAAA,EAAmB,IAAA;AAAA,MACnB,EAAA;AAAA,MACA,YAAA,EAAY,SAAA;AAAA,MACZ,iBAAA,EAAiB,cAAA;AAAA,MACjB,SAAA,EAAU,YAAA;AAAA,MACV,WAAA,EAAU,yBAAA;AAAA,MAET,QAAA,EAAA;AAAA,QAAA,MAAA,mBACC,8BAAA,0BAAC,EAAA,EAAU,SAAA,EAAU,+BAAA,EAClB,QAAA,EAAA;AAAA,UAAA,KAAA;AAAA,UACA,SAAA,mBACC,6BAAA,MAAC,EAAA,EAAK,aAAA,EAAY,MAAA,EAAO,SAAA,EAAU,kCAAA,EAAmC,QAAA,EAAA,IAAA,CAEtE;AAAA,QAAA,EAAA,CAEJ,CAAA;AAAA,wBAEF,8BAAA;AAAA,UAAC,0BAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,2BAAA;AAAA,YACV,SAAA,EAAW,kCAAA,8BAAG,CAA+B,EAAE,IAAA,EAAM,KAAA,EAAO,SAAS,CAAC,CAAA,EAAG,SAAS,CAAA;AAAA,YAElF,QAAA,EAAA;AAAA,8BAAA,6BAAA;AAAA,gBAAC,8BAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAK,OAAA;AAAA,kBACL,SAAA,EAAU,+BAAA;AAAA,kBACV,WAAA,EAAU,+BAAA;AAAA,kBAET,QAAA,EAAA,CAAC,OAAA,EAAA,mBACA,6BAAA;AAAA,oBAAC,gCAAA;AAAA,oBAAA;AAAA,sBACC,OAAA;AAAA,sBACA,SAAA,EAAU,iCAAA;AAAA,sBACV,WAAA,EAAU;AAAA,oBAAA;AAAA,kBACZ;AAAA,gBAAA;AAAA,cAEJ,CAAA;AAAA,8BACA,6BAAA,MAAC,EAAA,EAAK,aAAA,EAAY,MAAA,EAAO,SAAA,EAAU,mCAAA,EAAoC,QAAA,EAAA,SAAA,CAEvE,CAAA;AAAA,8BACA,6BAAA;AAAA,gBAAC,8BAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAK,KAAA;AAAA,kBACL,SAAA,EAAU,+BAAA;AAAA,kBACV,WAAA,EAAU,6BAAA;AAAA,kBAET,QAAA,EAAA,CAAC,OAAA,EAAA,mBACA,6BAAA;AAAA,oBAAC,gCAAA;AAAA,oBAAA;AAAA,sBACC,OAAA;AAAA,sBACA,SAAA,EAAU,iCAAA;AAAA,sBACV,WAAA,EAAU;AAAA,oBAAA;AAAA,kBACZ;AAAA,gBAAA;AAAA,cAEJ,CAAA;AAAA,8BACA,6BAAA;AAAA,gBAAC,2BAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAU,qCAAA;AAAA,kBACV,YAAA,EAAY,UAAA,CAAW,YAAA;AAAA,kBACvB,WAAA,EAAU,kCAAA;AAAA,kBAEV,QAAA,kBAAA,6BAAA,8BAAC,EAAA,EAAa,aAAA,EAAY,MAAA,EAAO,SAAA,EAAU,+BAAA,CAA+B;AAAA,gBAAA;AAAA,cAC5E;AAAA,YAAA;AAAA,UAAA;AAAA,QACF,CAAA;AAAA,QACC,UAAA,mBACC,6BAAA;AAAA,UAAC,yBAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,aAAA;AAAA,YACL,SAAA,EAAU,iDAAA;AAAA,YACV,WAAA,EAAU,cAAA;AAAA,YAET,QAAA,EAAA;AAAA,UAAA;AAAA,QACH,CAAA;AAAA,QAED,gBAAA,mBACC,6BAAA;AAAA,UAAC,+BAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,gDAAA;AAAA,YACV,WAAA,EAAU,aAAA;AAAA,YAET,QAAA,EAAA;AAAA,UAAA;AAAA,QACH,CAAA;AAAA,wBAEF,6BAAA;AAAA,UAAC,4BAAA;AAAA,UAAA;AAAA,YACC,wBAAA,EAA0B,eAAA;AAAA,YAC1B,SAAA,EAAU,uBAAA;AAAA,YACV,WAAA,EAAU,2BAAA;AAAA,YACV,MAAA,EAAQ,CAAA;AAAA,YAIR,gBAAA,EAAkB,EAAA;AAAA,YAElB,QAAA,kBAAA,8BAAA;AAAA,cAAC,2BAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAU,sBAAA;AAAA,gBACV,WAAA,EAAU,0BAAA;AAAA,gBACV,YAAA,EAAY,eAAA;AAAA,gBACZ,iBAAA,EAAiB,cAAA;AAAA,gBAEhB,QAAA,EAAA;AAAA,kBAAA,WAAA,mBACC,6BAAA;AAAA,oBAAC,sCAAA;AAAA,oBAAA;AAAA,sBACC,KAAA,EAAO,cAAA;AAAA,sBACP,QAAA,EAAU,WAAA;AAAA,sBACV,MAAA,EAAQ,cAAA;AAAA,sBACR,UAAA,EAAY,UAAA,CAAW;AAAA,oBAAA;AAAA,kBACzB,CAAA;AAAA,kCAEF,8BAAA;AAAA,oBAAC,kCAAA;AAAA,oBAAA;AAAA,sBACC,SAAA,EAAU,oCAAA;AAAA,sBACV,WAAA,EAAU,4BAAA;AAAA,sBAEV,QAAA,EAAA;AAAA,wCAAA,8BAAA,QAAC,EAAA,EAAO,SAAA,EAAU,uBAAA,EAChB,QAAA,EAAA;AAAA,0CAAA,6BAAA;AAAA,4BAAC,2BAAA;AAAA,4BAAA;AAAA,8BACC,IAAA,EAAK,UAAA;AAAA,8BACL,SAAA,EAAU,oBAAA;AAAA,8BACV,WAAA,EAAU,iCAAA;AAAA,8BAEV,QAAA,kBAAA,6BAAA,WAAC,EAAA,EAAY,aAAA,EAAY,OAAA,CAAO;AAAA,4BAAA;AAAA,0BAClC,CAAA;AAAA,0CACA,6BAAA;AAAA,4BAAC,mCAAA;AAAA,4BAAA;AAAA,8BACC,MAAA,EAAQ,UAAA;AAAA,8BACR,UAAA,EAAY,SAAA,CAAU,KAAA;AAAA,8BACtB,SAAA,EAAW,SAAA,CAAU;AAAA,4BAAA;AAAA,0BACvB,CAAA;AAAA,0CACA,6BAAA;AAAA,4BAAC,2BAAA;AAAA,4BAAA;AAAA,8BACC,IAAA,EAAK,MAAA;AAAA,8BACL,SAAA,EAAU,oBAAA;AAAA,8BACV,WAAA,EAAU,iCAAA;AAAA,8BAEV,QAAA,kBAAA,6BAAA,WAAC,EAAA,EAAY,aAAA,EAAY,OAAA,CAAO;AAAA,4BAAA;AAAA,0BAClC;AAAA,wBAAA,EAAA,CACF,CAAA;AAAA,wCACA,8BAAA,iCAAC,EAAA,EAAiB,SAAA,EAAU,qBAAA,EAC1B,QAAA,EAAA;AAAA,0CAAA,6BAAA,uCAAC,EAAA,EACE,QAAA,EAAA,CAAC,GAAA,EAAA,mBACA,6BAAA,uCAAC,EAAA,EAAuB,SAAA,EAAU,wBAAA,EAC/B,QAAA,EAAA,IAAA,CACH,EAAA,CAEJ,CAAA;AAAA,0CACA,6BAAA,qCAAC,EAAA,EACE,QAAA,EAAA,CAAC,IAAA,EAAA,mBACA,6BAAA,iCAAC,EAAA,EAAiB,IAAA,EAAY,SAAA,EAAU,qBAAA,EACrC,QAAA,EAAA,CAAC,EAAE,cAAc,CAAA,EAAA,GAChB,gDAAA,aAAiB,EAAe;AAAA,4BAC9B,aAAA,EAAe,qBAAA;AAAA,4BACf,IAAA;AAAA,4BACA;AAAA,0BACF,CAAC,EAAA,CAEL,EAAA,CAEJ;AAAA,wBAAA,EAAA,CACF;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBACF;AAAA,gBAAA;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,EAAA,CACF,CAAA;AAEJ;AD9FA;AACA;AACE;AACA;AACA;AACF,8KAAC","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-WI4WQGF6.cjs","sourcesContent":[null,"'use client';\n\nimport { useCallback, useMemo, useState, type ReactNode } from 'react';\nimport {\n Button as AriaButton,\n CalendarCell as AriaCalendarCell,\n CalendarGrid as AriaCalendarGrid,\n CalendarGridBody as AriaCalendarGridBody,\n CalendarGridHeader as AriaCalendarGridHeader,\n CalendarHeaderCell as AriaCalendarHeaderCell,\n DateInput as AriaDateInput,\n DateRangePicker as AriaDateRangePicker,\n DateSegment as AriaDateSegment,\n Dialog as AriaDialog,\n FieldError as AriaFieldError,\n Group as AriaGroup,\n I18nProvider,\n Label as AriaLabel,\n Popover as AriaPopover,\n RangeCalendar as AriaRangeCalendar,\n Text as AriaText,\n} from 'react-aria-components';\nimport { CalendarDate, type DateValue } from '@internationalized/date';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { CalendarIcon } from '../../internal/icons';\nimport {\n CalendarNavHeader,\n CalendarSystemToggle,\n calendarDateToDate,\n dateToCalendarDate,\n renderDayContent,\n useCalendarChrome,\n type CalendarLabels,\n type CalendarSystem,\n} from '../../internal/calendar';\n\n// ─── 1. Variants ─── //\n\n// Applied to the Group (the trigger row). Range triggers hold more by content\n// (two date inputs + separator), but heights still match Input/Select sm/md so\n// they line up in a form row.\nconst dateRangePickerTriggerVariants = cva('ddga-date-range-picker-trigger', {\n variants: {\n size: {\n sm: 'ddga-date-range-picker-trigger--sm',\n md: 'ddga-date-range-picker-trigger--md',\n },\n error: {\n true: 'ddga-date-range-picker-trigger--error',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\n// Passthrough alias so the barrel `*Variants` convention holds across components.\nconst dateRangePickerVariants = dateRangePickerTriggerVariants;\n\n// ─── 2. Types ─── //\n\n/** A complete, inclusive date range. Both ends are local Y/M/D. */\ninterface DateRange {\n start: Date;\n end: Date;\n}\n\ninterface DateRangePickerProps extends VariantProps<typeof dateRangePickerTriggerVariants> {\n /** Currently selected range (controlled). `null` clears it. */\n value?: DateRange | null;\n /** Initial range when uncontrolled. */\n defaultValue?: DateRange | null;\n /** Fires when a complete range is picked, or `null` when cleared. */\n onChange?: (value: DateRange | null) => void;\n /** Earliest pickable date (inclusive). */\n minValue?: Date;\n /** Latest pickable date (inclusive). */\n maxValue?: Date;\n /** Visible label above the trigger. */\n label?: ReactNode;\n /** Hint shown below the trigger. Hidden while an error message is showing. */\n helperText?: ReactNode;\n /** Message shown below the trigger when `error` is true. */\n errorMessage?: ReactNode;\n /** Marks the field invalid — sets `aria-invalid` and error styling. */\n error?: boolean;\n /** Marks the field required — adds the asterisk + `aria-required`. */\n required?: boolean;\n /** Disables the trigger entirely. */\n disabled?: boolean;\n /** Caller-supplied id for the field. */\n id?: string;\n /** Forwarded to the Group (the trigger row), matching Input/Select. */\n className?: string;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n /** Calendar system (controlled). Omit to let the user toggle freely. */\n calendar?: CalendarSystem;\n /** Initial calendar system when uncontrolled. Defaults to `'gregorian'`. */\n defaultCalendar?: CalendarSystem;\n /** Fires whenever the calendar system toggles. */\n onCalendarChange?: (calendar: CalendarSystem) => void;\n /**\n * Show the Gregorian↔Hijri toggle inside the popover. Defaults to `true`, but\n * is forced off when `calendar` is controlled.\n */\n showCalendarToggle?: boolean;\n /** Override the toggle labels. Defaults are locale-aware (English / Arabic). */\n calendarLabels?: CalendarLabels;\n /**\n * When `true`, each day cell also shows the *other* calendar's day number as\n * small secondary text. Helps cross-reference Hijri↔Gregorian. Default `false`.\n */\n showSecondaryCalendar?: boolean;\n}\n\n// react-aria's range value is { start, end } of CalendarDate. We keep our public\n// contract Date-based and round-trip through Gregorian CalendarDates so the Hijri\n// toggle is purely a display concern (same engine as DatePicker).\ntype AriaDateRange = { start: CalendarDate; end: CalendarDate } | null;\n\nfunction toAriaRange(range: DateRange | null | undefined): AriaDateRange {\n if (!range) return null;\n const start = dateToCalendarDate(range.start);\n const end = dateToCalendarDate(range.end);\n if (!start || !end) return null;\n return { start, end };\n}\n\nfunction fromAriaRange(value: { start: DateValue; end: DateValue } | null): DateRange | null {\n if (!value) return null;\n const start = calendarDateToDate(value.start);\n const end = calendarDateToDate(value.end);\n if (!start || !end) return null;\n return { start, end };\n}\n\n// ─── 3. Component ─── //\n\nfunction DateRangePicker({\n value: controlledValue,\n defaultValue,\n onChange,\n minValue,\n maxValue,\n label,\n helperText,\n errorMessage,\n error,\n required,\n disabled,\n size,\n id,\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n calendar: controlledCalendar,\n defaultCalendar = 'gregorian',\n onCalendarChange,\n showCalendarToggle = true,\n calendarLabels,\n showSecondaryCalendar = false,\n}: DateRangePickerProps) {\n // ─ value: controlled or uncontrolled, always Gregorian internally ─\n const isValueControlled = controlledValue !== undefined;\n const [internalValue, setInternalValue] = useState<AriaDateRange>(() =>\n toAriaRange(defaultValue),\n );\n const value = isValueControlled ? toAriaRange(controlledValue) : internalValue;\n\n const handleAriaChange = useCallback(\n (next: { start: DateValue; end: DateValue } | null) => {\n // Normalize to plain Gregorian CalendarDates so internal state never holds\n // a Hijri-flavored CalendarDate (display calendar must not leak into value).\n const nextRange: AriaDateRange = next\n ? {\n start: new CalendarDate(next.start.year, next.start.month, next.start.day),\n end: new CalendarDate(next.end.year, next.end.month, next.end.day),\n }\n : null;\n if (!isValueControlled) setInternalValue(nextRange);\n onChange?.(fromAriaRange(nextRange));\n },\n [isValueControlled, onChange],\n );\n\n // ─ calendar system: controlled or uncontrolled ─\n const isCalendarControlled = controlledCalendar !== undefined;\n const [internalCalendar, setInternalCalendar] = useState<CalendarSystem>(defaultCalendar);\n const calendarSystem = isCalendarControlled ? controlledCalendar : internalCalendar;\n\n const setCalendar = useCallback(\n (next: CalendarSystem) => {\n if (!isCalendarControlled) setInternalCalendar(next);\n onCalendarChange?.(next);\n },\n [isCalendarControlled, onCalendarChange],\n );\n\n // ─ Shared chrome (locale, portal, chevrons, labels) ─\n const {\n dgaLocale,\n locale: ariaLocale,\n portalContainer,\n PrevChevron,\n NextChevron,\n resolvedLabels,\n navLabels,\n a11yLabels,\n } = useCalendarChrome(calendarSystem, calendarLabels);\n\n // ─ Bounds ─\n const ariaMinValue = useMemo(() => dateToCalendarDate(minValue) ?? undefined, [minValue]);\n const ariaMaxValue = useMemo(() => dateToCalendarDate(maxValue) ?? undefined, [maxValue]);\n\n // ─ Popover aria-label fallback (Dialog needs an accessible name) ─\n const dialogAriaLabel =\n ariaLabel ??\n (typeof label === 'string'\n ? label\n : ariaLabelledBy\n ? undefined\n : dgaLocale.startsWith('ar')\n ? 'نطاق التاريخ'\n : 'Date range');\n\n // ─ Toggle visibility ─\n const showToggle = showCalendarToggle && !isCalendarControlled;\n\n // ─ Derived field-message visibility (mirrors useFieldA11y rules) ─\n const hasError = !!error;\n const hasErrorMessage = hasError && errorMessage != null && errorMessage !== '';\n const hasHelper = !hasErrorMessage && helperText != null && helperText !== '';\n\n return (\n <I18nProvider locale={ariaLocale}>\n <AriaDateRangePicker\n value={value}\n onChange={handleAriaChange}\n minValue={ariaMinValue}\n maxValue={ariaMaxValue}\n isRequired={required}\n isDisabled={disabled}\n isInvalid={hasError}\n shouldCloseOnSelect\n id={id}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n className=\"ddga-field\"\n data-slot=\"date-range-picker-field\"\n >\n {label && (\n <AriaLabel className=\"ddga-date-range-picker__label\">\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"ddga-date-range-picker__required\">\n *\n </span>\n )}\n </AriaLabel>\n )}\n <AriaGroup\n data-slot=\"date-range-picker-trigger\"\n className={cn(dateRangePickerTriggerVariants({ size, error: hasError }), className)}\n >\n <AriaDateInput\n slot=\"start\"\n className=\"ddga-date-range-picker__input\"\n data-slot=\"date-range-picker-input-start\"\n >\n {(segment) => (\n <AriaDateSegment\n segment={segment}\n className=\"ddga-date-range-picker__segment\"\n data-slot=\"date-range-picker-segment\"\n />\n )}\n </AriaDateInput>\n <span aria-hidden=\"true\" className=\"ddga-date-range-picker__separator\">\n –\n </span>\n <AriaDateInput\n slot=\"end\"\n className=\"ddga-date-range-picker__input\"\n data-slot=\"date-range-picker-input-end\"\n >\n {(segment) => (\n <AriaDateSegment\n segment={segment}\n className=\"ddga-date-range-picker__segment\"\n data-slot=\"date-range-picker-segment\"\n />\n )}\n </AriaDateInput>\n <AriaButton\n className=\"ddga-date-range-picker__icon-button\"\n aria-label={a11yLabels.openCalendar}\n data-slot=\"date-range-picker-trigger-button\"\n >\n <CalendarIcon aria-hidden=\"true\" className=\"ddga-date-range-picker__icon\" />\n </AriaButton>\n </AriaGroup>\n {hasHelper && (\n <AriaText\n slot=\"description\"\n className=\"ddga-field__message ddga-field__message--helper\"\n data-slot=\"field-helper\"\n >\n {helperText}\n </AriaText>\n )}\n {hasErrorMessage && (\n <AriaFieldError\n className=\"ddga-field__message ddga-field__message--error\"\n data-slot=\"field-error\"\n >\n {errorMessage}\n </AriaFieldError>\n )}\n <AriaPopover\n UNSTABLE_portalContainer={portalContainer}\n className=\"ddga-calendar-popover\"\n data-slot=\"date-range-picker-popover\"\n offset={6}\n // Breathing room from the viewport edge; with the Dialog's\n // `overflow:auto` + `max-block-size:100%`, the calendar scrolls if it\n // can't fit. Mirrors DatePicker — keep both pickers in lockstep.\n containerPadding={12}\n >\n <AriaDialog\n className=\"ddga-calendar-dialog\"\n data-slot=\"date-range-picker-dialog\"\n aria-label={dialogAriaLabel}\n aria-labelledby={ariaLabelledBy}\n >\n {showToggle && (\n <CalendarSystemToggle\n value={calendarSystem}\n onChange={setCalendar}\n labels={resolvedLabels}\n groupLabel={a11yLabels.calendarSystem}\n />\n )}\n <AriaRangeCalendar\n className=\"ddga-calendar ddga-calendar--range\"\n data-slot=\"date-range-picker-calendar\"\n >\n <header className=\"ddga-calendar__header\">\n <AriaButton\n slot=\"previous\"\n className=\"ddga-calendar__nav\"\n data-slot=\"date-range-picker-calendar-prev\"\n >\n <PrevChevron aria-hidden=\"true\" />\n </AriaButton>\n <CalendarNavHeader\n locale={ariaLocale}\n monthLabel={navLabels.month}\n yearLabel={navLabels.year}\n />\n <AriaButton\n slot=\"next\"\n className=\"ddga-calendar__nav\"\n data-slot=\"date-range-picker-calendar-next\"\n >\n <NextChevron aria-hidden=\"true\" />\n </AriaButton>\n </header>\n <AriaCalendarGrid className=\"ddga-calendar__grid\">\n <AriaCalendarGridHeader>\n {(day) => (\n <AriaCalendarHeaderCell className=\"ddga-calendar__weekday\">\n {day}\n </AriaCalendarHeaderCell>\n )}\n </AriaCalendarGridHeader>\n <AriaCalendarGridBody>\n {(date) => (\n <AriaCalendarCell date={date} className=\"ddga-calendar__cell\">\n {({ formattedDate }) =>\n renderDayContent(formattedDate, {\n showSecondary: showSecondaryCalendar,\n date,\n calendarSystem,\n })\n }\n </AriaCalendarCell>\n )}\n </AriaCalendarGridBody>\n </AriaCalendarGrid>\n </AriaRangeCalendar>\n </AriaDialog>\n </AriaPopover>\n </AriaDateRangePicker>\n </I18nProvider>\n );\n}\n\n// ─── 4. Exports ─── //\n\nexport { DateRangePicker, dateRangePickerTriggerVariants, dateRangePickerVariants };\nexport type { DateRangePickerProps, DateRange };\n// Re-exported for symmetry with DatePicker so the component file is\n// self-contained. The public barrel exposes these once via DatePicker (the\n// canonical owner) to avoid a duplicate export.\nexport type { CalendarSystem, CalendarLabels } from '../../internal/calendar';\n"]}
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- var _chunk4ZCLTLVCcjs = require('../../chunk-4ZCLTLVC.cjs');
9
+ var _chunkCVQFSXRRcjs = require('../../chunk-CVQFSXRR.cjs');
10
10
  require('../../chunk-IKWD2OEN.cjs');
11
11
  require('../../chunk-SICSD3HO.cjs');
12
12
  require('../../chunk-N4FHLSNV.cjs');
@@ -20,5 +20,5 @@ require('../../chunk-V6MXOJQ4.cjs');
20
20
 
21
21
 
22
22
 
23
- exports.Combobox = _chunk4ZCLTLVCcjs.Combobox; exports.ComboboxGroup = _chunk4ZCLTLVCcjs.ComboboxGroup; exports.ComboboxItem = _chunk4ZCLTLVCcjs.ComboboxItem; exports.ComboboxSeparator = _chunk4ZCLTLVCcjs.ComboboxSeparator; exports.comboboxTriggerVariants = _chunk4ZCLTLVCcjs.comboboxTriggerVariants; exports.comboboxVariants = _chunk4ZCLTLVCcjs.comboboxVariants;
23
+ exports.Combobox = _chunkCVQFSXRRcjs.Combobox; exports.ComboboxGroup = _chunkCVQFSXRRcjs.ComboboxGroup; exports.ComboboxItem = _chunkCVQFSXRRcjs.ComboboxItem; exports.ComboboxSeparator = _chunkCVQFSXRRcjs.ComboboxSeparator; exports.comboboxTriggerVariants = _chunkCVQFSXRRcjs.comboboxTriggerVariants; exports.comboboxVariants = _chunkCVQFSXRRcjs.comboboxVariants;
24
24
  //# sourceMappingURL=Combobox.cjs.map
@@ -6,7 +6,7 @@ import {
6
6
  ComboboxSeparator,
7
7
  comboboxTriggerVariants,
8
8
  comboboxVariants
9
- } from "../../chunk-SOIZIH7F.js";
9
+ } from "../../chunk-6DN3JE3P.js";
10
10
  import "../../chunk-CDS4SYEQ.js";
11
11
  import "../../chunk-WI5UIBM5.js";
12
12
  import "../../chunk-E7WQI7PE.js";
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- var _chunk4ZCLTLVCcjs = require('../../chunk-4ZCLTLVC.cjs');
9
+ var _chunkCVQFSXRRcjs = require('../../chunk-CVQFSXRR.cjs');
10
10
  require('../../chunk-IKWD2OEN.cjs');
11
11
  require('../../chunk-SICSD3HO.cjs');
12
12
  require('../../chunk-N4FHLSNV.cjs');
@@ -20,5 +20,5 @@ require('../../chunk-V6MXOJQ4.cjs');
20
20
 
21
21
 
22
22
 
23
- exports.Combobox = _chunk4ZCLTLVCcjs.Combobox; exports.ComboboxGroup = _chunk4ZCLTLVCcjs.ComboboxGroup; exports.ComboboxItem = _chunk4ZCLTLVCcjs.ComboboxItem; exports.ComboboxSeparator = _chunk4ZCLTLVCcjs.ComboboxSeparator; exports.comboboxTriggerVariants = _chunk4ZCLTLVCcjs.comboboxTriggerVariants; exports.comboboxVariants = _chunk4ZCLTLVCcjs.comboboxVariants;
23
+ exports.Combobox = _chunkCVQFSXRRcjs.Combobox; exports.ComboboxGroup = _chunkCVQFSXRRcjs.ComboboxGroup; exports.ComboboxItem = _chunkCVQFSXRRcjs.ComboboxItem; exports.ComboboxSeparator = _chunkCVQFSXRRcjs.ComboboxSeparator; exports.comboboxTriggerVariants = _chunkCVQFSXRRcjs.comboboxTriggerVariants; exports.comboboxVariants = _chunkCVQFSXRRcjs.comboboxVariants;
24
24
  //# sourceMappingURL=index.cjs.map
@@ -6,7 +6,7 @@ import {
6
6
  ComboboxSeparator,
7
7
  comboboxTriggerVariants,
8
8
  comboboxVariants
9
- } from "../../chunk-SOIZIH7F.js";
9
+ } from "../../chunk-6DN3JE3P.js";
10
10
  import "../../chunk-CDS4SYEQ.js";
11
11
  import "../../chunk-WI5UIBM5.js";
12
12
  import "../../chunk-E7WQI7PE.js";
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunk43763K2Acjs = require('../../chunk-43763K2A.cjs');
6
+ var _chunkWI4WQGF6cjs = require('../../chunk-WI4WQGF6.cjs');
7
7
  require('../../chunk-RHU6OY6P.cjs');
8
8
  require('../../chunk-RNOXGWKQ.cjs');
9
9
  require('../../chunk-IKWD2OEN.cjs');
@@ -13,5 +13,5 @@ require('../../chunk-V6MXOJQ4.cjs');
13
13
 
14
14
 
15
15
 
16
- exports.DateRangePicker = _chunk43763K2Acjs.DateRangePicker; exports.dateRangePickerTriggerVariants = _chunk43763K2Acjs.dateRangePickerTriggerVariants; exports.dateRangePickerVariants = _chunk43763K2Acjs.dateRangePickerVariants;
16
+ exports.DateRangePicker = _chunkWI4WQGF6cjs.DateRangePicker; exports.dateRangePickerTriggerVariants = _chunkWI4WQGF6cjs.dateRangePickerTriggerVariants; exports.dateRangePickerVariants = _chunkWI4WQGF6cjs.dateRangePickerVariants;
17
17
  //# sourceMappingURL=DateRangePicker.cjs.map
@@ -3,7 +3,7 @@ import {
3
3
  DateRangePicker,
4
4
  dateRangePickerTriggerVariants,
5
5
  dateRangePickerVariants
6
- } from "../../chunk-CHE75QHA.js";
6
+ } from "../../chunk-MCHL23CE.js";
7
7
  import "../../chunk-SDFMITFO.js";
8
8
  import "../../chunk-TT2DEREM.js";
9
9
  import "../../chunk-CDS4SYEQ.js";