@accelint/design-toolkit 2.6.0 → 3.0.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 (146) hide show
  1. package/dist/components/accordion/index.d.ts +42 -0
  2. package/dist/components/accordion/index.js.map +1 -1
  3. package/dist/components/accordion/styles.js +1 -1
  4. package/dist/components/accordion/styles.js.map +1 -1
  5. package/dist/components/avatar/index.d.ts +29 -0
  6. package/dist/components/avatar/index.js.map +1 -1
  7. package/dist/components/badge/index.d.ts +24 -0
  8. package/dist/components/badge/index.js.map +1 -1
  9. package/dist/components/button/index.d.ts +104 -0
  10. package/dist/components/button/index.js +1 -1
  11. package/dist/components/button/index.js.map +1 -1
  12. package/dist/components/button/styles.d.ts +28 -106
  13. package/dist/components/button/styles.js +1 -1
  14. package/dist/components/button/styles.js.map +1 -1
  15. package/dist/components/button/types.d.ts +6 -4
  16. package/dist/components/checkbox/index.d.ts +33 -0
  17. package/dist/components/checkbox/index.js.map +1 -1
  18. package/dist/components/checkbox/styles.d.ts +3 -3
  19. package/dist/components/checkbox/styles.js +1 -1
  20. package/dist/components/checkbox/styles.js.map +1 -1
  21. package/dist/components/chip/index.d.ts +34 -0
  22. package/dist/components/chip/index.js.map +1 -1
  23. package/dist/components/chip/styles.js +1 -1
  24. package/dist/components/chip/styles.js.map +1 -1
  25. package/dist/components/classification-badge/index.d.ts +15 -0
  26. package/dist/components/classification-badge/index.js.map +1 -1
  27. package/dist/components/classification-banner/index.d.ts +11 -0
  28. package/dist/components/classification-banner/index.js.map +1 -1
  29. package/dist/components/color-picker/styles.js +1 -1
  30. package/dist/components/color-picker/styles.js.map +1 -1
  31. package/dist/components/combobox-field/index.d.ts +1 -0
  32. package/dist/components/combobox-field/styles.d.ts +3 -3
  33. package/dist/components/combobox-field/styles.js +1 -1
  34. package/dist/components/combobox-field/styles.js.map +1 -1
  35. package/dist/components/combobox-field/types.d.ts +1 -0
  36. package/dist/components/date-field/index.d.ts +44 -0
  37. package/dist/components/date-field/index.js.map +1 -1
  38. package/dist/components/date-field/styles.d.ts +3 -3
  39. package/dist/components/date-field/styles.js +1 -1
  40. package/dist/components/date-field/styles.js.map +1 -1
  41. package/dist/components/dialog/index.d.ts +26 -4
  42. package/dist/components/dialog/index.js +1 -1
  43. package/dist/components/dialog/index.js.map +1 -1
  44. package/dist/components/drawer/events.d.ts +8 -0
  45. package/dist/components/drawer/events.js +2 -0
  46. package/dist/components/drawer/events.js.map +1 -0
  47. package/dist/components/drawer/index.d.ts +89 -43
  48. package/dist/components/drawer/index.js +1 -1
  49. package/dist/components/drawer/index.js.map +1 -1
  50. package/dist/components/drawer/styles.d.ts +50 -16
  51. package/dist/components/drawer/styles.js +1 -1
  52. package/dist/components/drawer/styles.js.map +1 -1
  53. package/dist/components/drawer/types.d.ts +154 -238
  54. package/dist/components/drawer/types.js +1 -1
  55. package/dist/components/drawer/types.js.map +1 -1
  56. package/dist/components/hotkey/index.d.ts +32 -1
  57. package/dist/components/hotkey/index.js +1 -1
  58. package/dist/components/hotkey/index.js.map +1 -1
  59. package/dist/components/icon/index.d.ts +29 -0
  60. package/dist/components/icon/index.js.map +1 -1
  61. package/dist/components/input/index.d.ts +19 -0
  62. package/dist/components/input/index.js +1 -1
  63. package/dist/components/input/index.js.map +1 -1
  64. package/dist/components/input/styles.js +1 -1
  65. package/dist/components/input/styles.js.map +1 -1
  66. package/dist/components/input/types.d.ts +1 -0
  67. package/dist/components/label/index.d.ts +19 -0
  68. package/dist/components/label/index.js.map +1 -1
  69. package/dist/components/menu/index.d.ts +69 -7
  70. package/dist/components/menu/index.js +1 -1
  71. package/dist/components/menu/index.js.map +1 -1
  72. package/dist/components/menu/styles.d.ts +10 -37
  73. package/dist/components/menu/styles.js +1 -1
  74. package/dist/components/menu/styles.js.map +1 -1
  75. package/dist/components/menu/types.d.ts +11 -16
  76. package/dist/components/options/index.d.ts +41 -0
  77. package/dist/components/options/index.js.map +1 -1
  78. package/dist/components/options/styles.d.ts +3 -3
  79. package/dist/components/options/styles.js +1 -1
  80. package/dist/components/options/styles.js.map +1 -1
  81. package/dist/components/popover/index.d.ts +36 -2
  82. package/dist/components/popover/index.js +1 -1
  83. package/dist/components/popover/index.js.map +1 -1
  84. package/dist/components/query-builder/index.d.ts +24 -0
  85. package/dist/components/query-builder/index.js.map +1 -1
  86. package/dist/components/radio/index.d.ts +31 -0
  87. package/dist/components/radio/index.js.map +1 -1
  88. package/dist/components/radio/styles.d.ts +3 -3
  89. package/dist/components/radio/styles.js +1 -1
  90. package/dist/components/radio/styles.js.map +1 -1
  91. package/dist/components/search-field/styles.js +1 -1
  92. package/dist/components/search-field/styles.js.map +1 -1
  93. package/dist/components/search-field/types.d.ts +1 -0
  94. package/dist/components/select-field/index.d.ts +44 -0
  95. package/dist/components/select-field/index.js +1 -1
  96. package/dist/components/select-field/index.js.map +1 -1
  97. package/dist/components/select-field/styles.d.ts +3 -3
  98. package/dist/components/select-field/styles.js +1 -1
  99. package/dist/components/select-field/styles.js.map +1 -1
  100. package/dist/components/select-field/types.d.ts +1 -0
  101. package/dist/components/slider/index.d.ts +36 -2
  102. package/dist/components/slider/index.js +1 -1
  103. package/dist/components/slider/index.js.map +1 -1
  104. package/dist/components/switch/index.d.ts +36 -0
  105. package/dist/components/switch/index.js +1 -1
  106. package/dist/components/switch/index.js.map +1 -1
  107. package/dist/components/switch/styles.d.ts +23 -21
  108. package/dist/components/switch/styles.js +1 -1
  109. package/dist/components/switch/styles.js.map +1 -1
  110. package/dist/components/switch/types.d.ts +1 -0
  111. package/dist/components/tabs/index.d.ts +46 -0
  112. package/dist/components/tabs/index.js.map +1 -1
  113. package/dist/components/text-area-field/index.d.ts +20 -0
  114. package/dist/components/text-area-field/index.js.map +1 -1
  115. package/dist/components/text-area-field/styles.d.ts +3 -3
  116. package/dist/components/text-area-field/styles.js +1 -1
  117. package/dist/components/text-area-field/styles.js.map +1 -1
  118. package/dist/components/text-field/index.d.ts +62 -0
  119. package/dist/components/text-field/index.js.map +1 -1
  120. package/dist/components/text-field/styles.d.ts +3 -3
  121. package/dist/components/text-field/types.d.ts +1 -0
  122. package/dist/components/tooltip/index.d.ts +42 -0
  123. package/dist/components/tooltip/index.js.map +1 -1
  124. package/dist/components/view-stack/events.d.ts +9 -0
  125. package/dist/components/view-stack/events.js +2 -0
  126. package/dist/components/view-stack/events.js.map +1 -0
  127. package/dist/components/view-stack/index.d.ts +13 -10
  128. package/dist/components/view-stack/index.js +1 -1
  129. package/dist/components/view-stack/index.js.map +1 -1
  130. package/dist/components/view-stack/types.d.ts +13 -9
  131. package/dist/index.d.ts +15 -15
  132. package/dist/index.js +1 -1
  133. package/dist/lib/types.d.ts +6 -2
  134. package/dist/metafile-esm.json +1 -1
  135. package/dist/styles.css +922 -609
  136. package/dist/variants/variants.css +6 -5
  137. package/package.json +5 -5
  138. package/dist/components/box/index.d.ts +0 -19
  139. package/dist/components/box/index.js +0 -2
  140. package/dist/components/box/index.js.map +0 -1
  141. package/dist/components/drawer/context.d.ts +0 -13
  142. package/dist/components/drawer/context.js +0 -2
  143. package/dist/components/drawer/context.js.map +0 -1
  144. package/dist/components/drawer/state.d.ts +0 -26
  145. package/dist/components/drawer/state.js +0 -2
  146. package/dist/components/drawer/state.js.map +0 -1
@@ -11,6 +11,21 @@ declare function ClassificationBadgeProvider({ children, ...props }: ProviderPro
11
11
  declare namespace ClassificationBadgeProvider {
12
12
  var displayName: string;
13
13
  }
14
+ /**
15
+ * ClassificationBadge - A specialized badge for security and data classification
16
+ *
17
+ * Provides standardized visual indicators for data classification levels such as
18
+ * confidential, secret, or public information. Designed for compliance with
19
+ * security standards and information governance requirements.
20
+ *
21
+ * @example
22
+ * // Basic classification badge
23
+ * <ClassificationBadge level="confidential" />
24
+ *
25
+ * @example
26
+ * // Classification with custom styling
27
+ * <ClassificationBadge level="secret" />
28
+ */
14
29
  declare function ClassificationBadge({ ref, ...props }: ClassificationBadgeProps): react_jsx_runtime.JSX.Element;
15
30
  declare namespace ClassificationBadge {
16
31
  var displayName: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/classification-badge/index.tsx"],"names":["c","props","o","ClassificationBadgeProvider","ref","useContextProps","ClassificationBadgeStylesDefaults","m","rest","C","ClassificationBadge"],"mappings":"sNAsByE,CAAA,CAAAA,aAAA,CAAI,IAE7E,EAAA,SACE,CAAA,CAAA,CAAA,QACA,CAAA,CAAGC,CACL,GACE,CAAA,CAAA,CAAA,CAAA,OAC8BC,GAAA,CAAA,CAAA,CAAA,QAAS,CAAA,CAAA,KAClC,CAAA,CAAA,CAAA,QAGP,CACAC,CAAAA,CAA4B,CAAA,CAAA,CAAA,CAAA,WAAc,CAAA,8BAEnC,CAAA,SACL,CAAA,CAAA,CAAAC,GACA,CAAA,CAAGH,CACL,GACE,CAACA,CAAAA,CAAOG,CAAG,CAAA,CAAIC,CAAAA,CACbJ,EACAG,eAAAA,CAAAA,CAAO,CAAA,CAAA,EAAA,IAIT,CAAA,CAAA,CAAA,CAAA,cAEE,CAAA,CAAA,CAAA,SACA,CAAA,CAAA,CAAA,IAAO,CAAA,CAAA,CAAA,gBACGE,CAAkC,CAAA,CAAAC,iCAAA,CAAA,OACzCC,CACL,IAEA,CAAA,CAAA,CAAA,CAAA,iBAEK,CAAGA,CAAAA,cAEF,CAAAC,yBAAA,CAAA,CAAA,OACA,CAAA,CAAA,CAAA,SACD,CACD,CAAA,CAAA,CAAA,CAAA,WAEC,CAAA,CAAA,CAAA,QAGP,CACAC,CAAAA,CAAoB,CAAA,CAAA,CAAA,CAAA,WAAc,CAAA,qBACd,CAAA,CAAA,CAAA,QAAWP,CAAAA,CAAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { ProviderProps } from '@/lib/types';\nimport { createContext } from 'react';\nimport { type ContextValue, useContextProps } from 'react-aria-components';\nimport {\n ClassificationBadgeStyles,\n ClassificationBadgeStylesDefaults,\n} from './styles';\nimport type { ClassificationBadgeProps } from './types';\n\nexport const ClassificationBadgeContext =\n createContext<ContextValue<ClassificationBadgeProps, HTMLSpanElement>>(null);\n\nfunction ClassificationBadgeProvider({\n children,\n ...props\n}: ProviderProps<ClassificationBadgeProps>) {\n return (\n <ClassificationBadgeContext.Provider value={props}>\n {children}\n </ClassificationBadgeContext.Provider>\n );\n}\nClassificationBadgeProvider.displayName = 'ClassificationBadge.Provider';\n\nexport function ClassificationBadge({\n ref,\n ...props\n}: ClassificationBadgeProps) {\n [props, ref] = useContextProps(\n props,\n ref ?? null,\n ClassificationBadgeContext,\n );\n\n const {\n children,\n className,\n size = 'medium',\n variant = ClassificationBadgeStylesDefaults.variant,\n ...rest\n } = props;\n\n return (\n <span\n {...rest}\n className={ClassificationBadgeStyles({\n variant,\n className,\n })}\n data-size={size}\n >\n {children}\n </span>\n );\n}\nClassificationBadge.displayName = 'ClassificationBadge';\nClassificationBadge.Provider = ClassificationBadgeProvider;\n"]}
1
+ {"version":3,"sources":["../../../src/components/classification-badge/index.tsx"],"names":["c","props","o","ClassificationBadgeProvider","ref","useContextProps","ClassificationBadgeStylesDefaults","m","rest","C","ClassificationBadge"],"mappings":"sNAsByE,CAAA,CAAAA,aAAA,CAAI,IAE7E,EAAA,SACE,CAAA,CAAA,CAAA,QACA,CAAA,CAAGC,CACL,GACE,CAAA,CAAA,CAAA,CAAA,OAC8BC,GAAA,CAAA,CAAA,CAAA,QAAS,CAAA,CAAA,KAClC,CAAA,CAAA,CAAA,QAGP,CACAC,CAAAA,CAA4B,CAAA,CAAA,CAAA,CAAA,WAAc,CAAA,8BAiBnC,CAAA,SACL,CAAA,CAAA,CAAAC,GACA,CAAA,CAAGH,CACL,GACE,CAACA,CAAAA,CAAOG,CAAG,CAAA,CAAIC,CAAAA,CACbJ,EACAG,eAAAA,CAAAA,CAAO,CAAA,CAAA,EAAA,IAIT,CAAA,CAAA,CAAA,CAAA,cAEE,CAAA,CAAA,CAAA,SACA,CAAA,CAAA,CAAA,IAAO,CAAA,CAAA,CAAA,gBACGE,CAAkC,CAAA,CAAAC,iCAAA,CAAA,OACzCC,CACL,IAEA,CAAA,CAAA,CAAA,CAAA,iBAEK,CAAGA,CAAAA,cAEF,CAAAC,yBAAA,CAAA,CAAA,OACA,CAAA,CAAA,CAAA,SACD,CACD,CAAA,CAAA,CAAA,CAAA,WAEC,CAAA,CAAA,CAAA,QAGP,CACAC,CAAAA,CAAoB,CAAA,CAAA,CAAA,CAAA,WAAc,CAAA,qBACd,CAAA,CAAA,CAAA,QAAWP,CAAAA,CAAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { ProviderProps } from '@/lib/types';\nimport { createContext } from 'react';\nimport { type ContextValue, useContextProps } from 'react-aria-components';\nimport {\n ClassificationBadgeStyles,\n ClassificationBadgeStylesDefaults,\n} from './styles';\nimport type { ClassificationBadgeProps } from './types';\n\nexport const ClassificationBadgeContext =\n createContext<ContextValue<ClassificationBadgeProps, HTMLSpanElement>>(null);\n\nfunction ClassificationBadgeProvider({\n children,\n ...props\n}: ProviderProps<ClassificationBadgeProps>) {\n return (\n <ClassificationBadgeContext.Provider value={props}>\n {children}\n </ClassificationBadgeContext.Provider>\n );\n}\nClassificationBadgeProvider.displayName = 'ClassificationBadge.Provider';\n\n/**\n * ClassificationBadge - A specialized badge for security and data classification\n *\n * Provides standardized visual indicators for data classification levels such as\n * confidential, secret, or public information. Designed for compliance with\n * security standards and information governance requirements.\n *\n * @example\n * // Basic classification badge\n * <ClassificationBadge level=\"confidential\" />\n *\n * @example\n * // Classification with custom styling\n * <ClassificationBadge level=\"secret\" />\n */\nexport function ClassificationBadge({\n ref,\n ...props\n}: ClassificationBadgeProps) {\n [props, ref] = useContextProps(\n props,\n ref ?? null,\n ClassificationBadgeContext,\n );\n\n const {\n children,\n className,\n size = 'medium',\n variant = ClassificationBadgeStylesDefaults.variant,\n ...rest\n } = props;\n\n return (\n <span\n {...rest}\n className={ClassificationBadgeStyles({\n variant,\n className,\n })}\n data-size={size}\n >\n {children}\n </span>\n );\n}\nClassificationBadge.displayName = 'ClassificationBadge';\nClassificationBadge.Provider = ClassificationBadgeProvider;\n"]}
@@ -11,6 +11,17 @@ declare function ClassificationBannerProvider({ children, ...props }: ProviderPr
11
11
  declare namespace ClassificationBannerProvider {
12
12
  var displayName: string;
13
13
  }
14
+ /**
15
+ * ClassificationBanner - A prominent banner for displaying security classification
16
+ *
17
+ * Provides a full-width banner component for displaying security classification
18
+ * information at the top or bottom of pages. Essential for applications handling
19
+ * classified or sensitive information requiring clear visual indicators.
20
+ *
21
+ * @example
22
+ * // Top classification banner
23
+ * <ClassificationBanner variant="confidential" />
24
+ */
14
25
  declare function ClassificationBanner({ ref, ...props }: ClassificationBannerProps): react_jsx_runtime.JSX.Element;
15
26
  declare namespace ClassificationBanner {
16
27
  var displayName: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/classification-banner/index.tsx"],"names":["createContext","f","props","t","ClassificationBannerProvider","ref","useContextProps","ClassificationBannerStylesDefaults","m","rest","p","ClassificationBanner"],"mappings":"kNAsBEA,MAAuE,CAAA,CAAAC,aAAA,CAAI,IAE7E,EAAA,SACE,CAAA,CAAA,CAAA,UACGC,CACL,GACE,CAAA,CAAA,CAAA,CAAA,OAC+BC,GAAA,CAAA,CAAA,CAAA,QAAS,CAAA,CAAA,KACnC,CAAA,CAAA,CAAA,QAGP,CACAC,CAAAA,CAA6B,eAAc,CAAA,+BAEpC,CAAA,SACL,CAAA,CAAA,CAAAC,KACGH,CACL,GACE,CAACA,CAAAA,CAAOG,CAAG,CAAA,CAAIC,CAAAA,CACbJ,CAAAA,CACAG,eAAAA,CAAAA,CAAO,CAAA,CAAA,EAAA,IAIT,CAAA,CAAA,CAAA,CAAA,eAEE,CAAA,CAAA,CAAA,OAAUE,CAAmC,CAAA,CAAAC,kCAAA,CAAA,OAC7C,CAAA,QACA,CAAA,CAAGC,CACL,GAAIP,CAEJ,CAAA,CAAA,CAAA,CAAA,OACGC,GAAA,CAAA,KACE,CAAGM,IACJ,CAAA,CAAA,SACE,CAAAC,0BAAA,CAAA,CAAA,OACA,CAAA,CAAA,CAAA,SACD,CAEA,YAGP,CACAC,CAAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,WAAc,CAAA,sBACd,CAAA,CAAA,CAAA,QAAWP,CAAAA,CAAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { ProviderProps } from '@/lib/types';\nimport { createContext } from 'react';\nimport { type ContextValue, useContextProps } from 'react-aria-components';\nimport {\n ClassificationBannerStyles,\n ClassificationBannerStylesDefaults,\n} from './styles';\nimport type { ClassificationBannerProps } from './types';\n\nexport const ClassificationBannerContext =\n createContext<ContextValue<ClassificationBannerProps, HTMLDivElement>>(null);\n\nfunction ClassificationBannerProvider({\n children,\n ...props\n}: ProviderProps<ClassificationBannerProps>) {\n return (\n <ClassificationBannerContext.Provider value={props}>\n {children}\n </ClassificationBannerContext.Provider>\n );\n}\nClassificationBannerProvider.displayName = 'ClassificationBanner.Provider';\n\nexport function ClassificationBanner({\n ref,\n ...props\n}: ClassificationBannerProps) {\n [props, ref] = useContextProps(\n props,\n ref ?? null,\n ClassificationBannerContext,\n );\n\n const {\n className,\n variant = ClassificationBannerStylesDefaults.variant,\n children,\n ...rest\n } = props;\n\n return (\n <div\n {...rest}\n className={ClassificationBannerStyles({\n variant,\n className,\n })}\n >\n {children}\n </div>\n );\n}\nClassificationBanner.displayName = 'ClassificationBanner';\nClassificationBanner.Provider = ClassificationBannerProvider;\n"]}
1
+ {"version":3,"sources":["../../../src/components/classification-banner/index.tsx"],"names":["createContext","f","props","t","ClassificationBannerProvider","ref","useContextProps","ClassificationBannerStylesDefaults","m","rest","p","ClassificationBanner"],"mappings":"kNAsBEA,MAAuE,CAAA,CAAAC,aAAA,CAAI,IAE7E,EAAA,SACE,CAAA,CAAA,CAAA,UACGC,CACL,GACE,CAAA,CAAA,CAAA,CAAA,OAC+BC,GAAA,CAAA,CAAA,CAAA,QAAS,CAAA,CAAA,KACnC,CAAA,CAAA,CAAA,QAGP,CACAC,CAAAA,CAA6B,eAAc,CAAA,+BAapC,CAAA,SACL,CAAA,CAAA,CAAAC,KACGH,CACL,GACE,CAACA,CAAAA,CAAOG,CAAG,CAAA,CAAIC,CAAAA,CACbJ,CAAAA,CACAG,eAAAA,CAAAA,CAAO,CAAA,CAAA,EAAA,IAIT,CAAA,CAAA,CAAA,CAAA,eAEE,CAAA,CAAA,CAAA,OAAUE,CAAmC,CAAA,CAAAC,kCAAA,CAAA,OAC7C,CAAA,QACA,CAAA,CAAGC,CACL,GAAIP,CAEJ,CAAA,CAAA,CAAA,CAAA,OACGC,GAAA,CAAA,KACE,CAAGM,IACJ,CAAA,CAAA,SACE,CAAAC,0BAAA,CAAA,CAAA,OACA,CAAA,CAAA,CAAA,SACD,CAEA,YAGP,CACAC,CAAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,WAAc,CAAA,sBACd,CAAA,CAAA,CAAA,QAAWP,CAAAA,CAAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { ProviderProps } from '@/lib/types';\nimport { createContext } from 'react';\nimport { type ContextValue, useContextProps } from 'react-aria-components';\nimport {\n ClassificationBannerStyles,\n ClassificationBannerStylesDefaults,\n} from './styles';\nimport type { ClassificationBannerProps } from './types';\n\nexport const ClassificationBannerContext =\n createContext<ContextValue<ClassificationBannerProps, HTMLDivElement>>(null);\n\nfunction ClassificationBannerProvider({\n children,\n ...props\n}: ProviderProps<ClassificationBannerProps>) {\n return (\n <ClassificationBannerContext.Provider value={props}>\n {children}\n </ClassificationBannerContext.Provider>\n );\n}\nClassificationBannerProvider.displayName = 'ClassificationBanner.Provider';\n\n/**\n * ClassificationBanner - A prominent banner for displaying security classification\n *\n * Provides a full-width banner component for displaying security classification\n * information at the top or bottom of pages. Essential for applications handling\n * classified or sensitive information requiring clear visual indicators.\n *\n * @example\n * // Top classification banner\n * <ClassificationBanner variant=\"confidential\" />\n */\nexport function ClassificationBanner({\n ref,\n ...props\n}: ClassificationBannerProps) {\n [props, ref] = useContextProps(\n props,\n ref ?? null,\n ClassificationBannerContext,\n );\n\n const {\n className,\n variant = ClassificationBannerStylesDefaults.variant,\n children,\n ...rest\n } = props;\n\n return (\n <div\n {...rest}\n className={ClassificationBannerStyles({\n variant,\n className,\n })}\n >\n {children}\n </div>\n );\n}\nClassificationBanner.displayName = 'ClassificationBanner';\nClassificationBanner.Provider = ClassificationBannerProvider;\n"]}
@@ -1,2 +1,2 @@
1
- import {tv}from'./../../lib/utils.js';const i=tv({slots:{picker:"flex flex-wrap gap-s",item:["w-fit cursor-pointer outline outline-transparent","focus:outline-interactive-hover","hover:outline-interactive-hover","selected:outline-highlight"],swatch:"size-l"}});export{i as ColorPickerStyles};//# sourceMappingURL=styles.js.map
1
+ import {tv}from'./../../lib/utils.js';const i=tv({slots:{picker:"flex flex-wrap gap-s",item:["w-fit cursor-pointer outline outline-transparent","focus-visible:outline-interactive-hover","hover:outline-interactive-hover","selected:cursor-default selected:outline-highlight"],swatch:"size-l"}});export{i as ColorPickerStyles};//# sourceMappingURL=styles.js.map
2
2
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/color-picker/styles.ts"],"names":["e"],"mappings":"6CAeS,CACLA,EAAA,CAAA,CAAA,6FAGE,CAAA,iCACA,CAAA,8DAGM,CAAA,CAAA,MAEZ,CAAC,QAAA,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const ColorPickerStyles = tv({\n slots: {\n picker: 'flex flex-wrap gap-s',\n item: [\n 'w-fit cursor-pointer outline outline-transparent',\n 'focus:outline-interactive-hover',\n 'hover:outline-interactive-hover',\n 'selected:outline-highlight',\n ],\n swatch: 'size-l',\n },\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/color-picker/styles.ts"],"names":["e"],"mappings":"6CAeS,CACLA,EAAA,CAAA,CAAA,6FAGE,CAAA,yCACA,CAAA,sFAGM,CAAA,CAAA,MAEZ,CAAC,QAAA,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const ColorPickerStyles = tv({\n slots: {\n picker: 'flex flex-wrap gap-s',\n item: [\n 'w-fit cursor-pointer outline outline-transparent',\n 'focus-visible:outline-interactive-hover',\n 'hover:outline-interactive-hover',\n 'selected:cursor-default selected:outline-highlight',\n ],\n swatch: 'size-l',\n },\n});\n"]}
@@ -5,6 +5,7 @@ import { OptionsDataItem } from '../options/types.js';
5
5
  import { ComboBoxFieldProps } from './types.js';
6
6
  import '../icon/types.js';
7
7
  import '../button/types.js';
8
+ import '../../lib/types.js';
8
9
  import 'tailwind-variants';
9
10
  import '../button/styles.js';
10
11
  import 'tailwind-merge';
@@ -8,10 +8,10 @@ declare const ComboBoxStyles: tailwind_variants.TVReturnType<{
8
8
  label?: tailwind_merge.ClassNameValue;
9
9
  popover?: tailwind_merge.ClassNameValue;
10
10
  trigger?: tailwind_merge.ClassNameValue;
11
- error?: tailwind_merge.ClassNameValue;
12
11
  control?: tailwind_merge.ClassNameValue;
13
12
  description?: tailwind_merge.ClassNameValue;
14
13
  field?: tailwind_merge.ClassNameValue;
14
+ error?: tailwind_merge.ClassNameValue;
15
15
  };
16
16
  };
17
17
  } | {
@@ -21,10 +21,10 @@ declare const ComboBoxStyles: tailwind_variants.TVReturnType<{
21
21
  label?: tailwind_merge.ClassNameValue;
22
22
  popover?: tailwind_merge.ClassNameValue;
23
23
  trigger?: tailwind_merge.ClassNameValue;
24
- error?: tailwind_merge.ClassNameValue;
25
24
  control?: tailwind_merge.ClassNameValue;
26
25
  description?: tailwind_merge.ClassNameValue;
27
26
  field?: tailwind_merge.ClassNameValue;
27
+ error?: tailwind_merge.ClassNameValue;
28
28
  };
29
29
  };
30
30
  } | {}, {
@@ -43,10 +43,10 @@ declare const ComboBoxStyles: tailwind_variants.TVReturnType<{
43
43
  label?: tailwind_merge.ClassNameValue;
44
44
  popover?: tailwind_merge.ClassNameValue;
45
45
  trigger?: tailwind_merge.ClassNameValue;
46
- error?: tailwind_merge.ClassNameValue;
47
46
  control?: tailwind_merge.ClassNameValue;
48
47
  description?: tailwind_merge.ClassNameValue;
49
48
  field?: tailwind_merge.ClassNameValue;
49
+ error?: tailwind_merge.ClassNameValue;
50
50
  };
51
51
  };
52
52
  } | {}, {
@@ -1,2 +1,2 @@
1
- import {tv}from'tailwind-variants';const i=tv({slots:{field:"group/combobox-field flex flex-col gap-xs",label:"",control:["flex items-center rounded-medium px-s py-xs outline","group-enabled/combobox-field:fg-default-light group-enabled:combobox-field:outline-interactive","group-enabled/combobox-field:placeholder:fg-default-dark","group-enabled/combobox-field:focus-within:outline-highlight","group-enabled/combobox-field:hover:outline-interactive-hover","group-enabled/combobox-field:group-invalid/combobox-field:outline-serious","group-disabled/combobox-field:fg-disabled group-disabled/combobox-field:outline-interactive-disabled"],input:["font-display outline-none","group-size-medium/combobox-field:text-body-s","group-size-small/combobox-field:text-body-xs"],trigger:["fg-default-light","group-open/combobox-field:rotate-180 group-open/combobox-field:transform","group-disabled/combobox-field:fg-disabled"],description:["fg-default-dark text-body-xs","group-disabled/combobox-field:fg-disabled"],error:"fg-serious text-body-xs",popover:"-ml-s min-w-[calc(var(--trigger-width)+(var(--spacing-s)*2))]"}});export{i as ComboBoxStyles};//# sourceMappingURL=styles.js.map
1
+ import {tv}from'tailwind-variants';const i=tv({slots:{field:"group/combobox-field flex flex-col gap-xs",label:"",control:["flex items-center rounded-medium px-s py-xs outline","group-size-medium/combobox-field:min-w-[160px] group-size-medium/combobox-field:max-w-[400px]","group-size-small/combobox-field:min-w-[80px] group-size-small/combobox-field:max-w-[200px]","group-enabled/combobox-field:fg-default-light group-enabled/combobox-field:outline-interactive","group-enabled/combobox-field:placeholder:fg-default-dark","group-enabled/combobox-field:focus-visible-within:outline-highlight","group-enabled/combobox-field:hover:outline-interactive-hover","group-enabled/combobox-field:group-invalid/combobox-field:outline-serious","group-disabled/combobox-field:fg-disabled group-disabled/combobox-field:outline-interactive-disabled"],input:["grow font-display outline-none","group-size-medium/combobox-field:text-body-s","group-size-small/combobox-field:text-body-xs"],trigger:["fg-default-light","group-open/combobox-field:rotate-180 group-open/combobox-field:transform","group-disabled/combobox-field:fg-disabled"],description:["fg-default-dark text-body-xs","group-disabled/combobox-field:fg-disabled"],error:"fg-serious text-body-xs",popover:"-ml-s min-w-[calc(var(--trigger-width)+(var(--spacing-s)*2))]"}});export{i as ComboBoxStyles};//# sourceMappingURL=styles.js.map
2
2
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/combobox-field/styles.ts"],"names":["ComboBoxStyles","tv"],"mappings":"mCAcO,MAAMA,EAAiBC,EAAAA,CAAG,CAC/B,MAAO,CACL,KAAA,CAAO,4CACP,KAAA,CAAO,EAAA,CACP,QAAS,CACP,qDAAA,CACA,iGACA,0DAAA,CACA,6DAAA,CACA,+DACA,2EAAA,CACA,sGACF,EACA,KAAA,CAAO,CACL,4BACA,8CAAA,CACA,8CACF,EACA,OAAA,CAAS,CACP,mBACA,0EAAA,CACA,2CACF,EACA,WAAA,CAAa,CACX,+BACA,2CACF,CAAA,CACA,MAAO,yBAAA,CACP,OAAA,CAAS,+DACX,CACF,CAAC","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from 'tailwind-variants';\n\nexport const ComboBoxStyles = tv({\n slots: {\n field: 'group/combobox-field flex flex-col gap-xs',\n label: '',\n control: [\n 'flex items-center rounded-medium px-s py-xs outline',\n 'group-enabled/combobox-field:fg-default-light group-enabled:combobox-field:outline-interactive',\n 'group-enabled/combobox-field:placeholder:fg-default-dark',\n 'group-enabled/combobox-field:focus-within:outline-highlight',\n 'group-enabled/combobox-field:hover:outline-interactive-hover',\n 'group-enabled/combobox-field:group-invalid/combobox-field:outline-serious',\n 'group-disabled/combobox-field:fg-disabled group-disabled/combobox-field:outline-interactive-disabled',\n ],\n input: [\n 'font-display outline-none',\n 'group-size-medium/combobox-field:text-body-s',\n 'group-size-small/combobox-field:text-body-xs',\n ],\n trigger: [\n 'fg-default-light',\n 'group-open/combobox-field:rotate-180 group-open/combobox-field:transform',\n 'group-disabled/combobox-field:fg-disabled',\n ],\n description: [\n 'fg-default-dark text-body-xs',\n 'group-disabled/combobox-field:fg-disabled',\n ],\n error: 'fg-serious text-body-xs',\n popover: '-ml-s min-w-[calc(var(--trigger-width)+(var(--spacing-s)*2))]',\n },\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/combobox-field/styles.ts"],"names":["ComboBoxStyles","tv"],"mappings":"mCAcO,MAAMA,EAAiBC,EAAAA,CAAG,CAC/B,MAAO,CACL,KAAA,CAAO,4CACP,KAAA,CAAO,EAAA,CACP,QAAS,CACP,qDAAA,CACA,gGACA,4FAAA,CACA,gGAAA,CACA,0DAAA,CACA,qEAAA,CACA,8DAAA,CACA,2EAAA,CACA,sGACF,CAAA,CACA,KAAA,CAAO,CACL,gCAAA,CACA,8CAAA,CACA,8CACF,CAAA,CACA,OAAA,CAAS,CACP,kBAAA,CACA,0EAAA,CACA,2CACF,EACA,WAAA,CAAa,CACX,+BACA,2CACF,CAAA,CACA,MAAO,yBAAA,CACP,OAAA,CAAS,+DACX,CACF,CAAC","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from 'tailwind-variants';\n\nexport const ComboBoxStyles = tv({\n slots: {\n field: 'group/combobox-field flex flex-col gap-xs',\n label: '',\n control: [\n 'flex items-center rounded-medium px-s py-xs outline',\n 'group-size-medium/combobox-field:min-w-[160px] group-size-medium/combobox-field:max-w-[400px]',\n 'group-size-small/combobox-field:min-w-[80px] group-size-small/combobox-field:max-w-[200px]',\n 'group-enabled/combobox-field:fg-default-light group-enabled/combobox-field:outline-interactive',\n 'group-enabled/combobox-field:placeholder:fg-default-dark',\n 'group-enabled/combobox-field:focus-visible-within:outline-highlight',\n 'group-enabled/combobox-field:hover:outline-interactive-hover',\n 'group-enabled/combobox-field:group-invalid/combobox-field:outline-serious',\n 'group-disabled/combobox-field:fg-disabled group-disabled/combobox-field:outline-interactive-disabled',\n ],\n input: [\n 'grow font-display outline-none',\n 'group-size-medium/combobox-field:text-body-s',\n 'group-size-small/combobox-field:text-body-xs',\n ],\n trigger: [\n 'fg-default-light',\n 'group-open/combobox-field:rotate-180 group-open/combobox-field:transform',\n 'group-disabled/combobox-field:fg-disabled',\n ],\n description: [\n 'fg-default-dark text-body-xs',\n 'group-disabled/combobox-field:fg-disabled',\n ],\n error: 'fg-serious text-body-xs',\n popover: '-ml-s min-w-[calc(var(--trigger-width)+(var(--spacing-s)*2))]',\n },\n});\n"]}
@@ -2,6 +2,7 @@ import { RefAttributes } from 'react';
2
2
  import { ComboBoxProps, VirtualizerProps, ListLayoutOptions, LabelProps, InputProps, FieldErrorProps, PopoverProps } from 'react-aria-components';
3
3
  import { ButtonProps } from '../button/types.js';
4
4
  import { OptionsDataItem, OptionsProps } from '../options/types.js';
5
+ import '../../lib/types.js';
5
6
  import 'tailwind-variants';
6
7
  import '../button/styles.js';
7
8
  import 'tailwind-merge';
@@ -7,6 +7,50 @@ import 'tailwind-variants';
7
7
  import './styles.js';
8
8
  import 'tailwind-merge';
9
9
 
10
+ /**
11
+ * DateField - A comprehensive date input component with segmented editing
12
+ *
13
+ * Provides accessible date input functionality with separate segments for day,
14
+ * month, and year. Includes calendar icon, validation states, and international
15
+ * date format support with keyboard navigation between segments.
16
+ *
17
+ * @example
18
+ * // Basic date field
19
+ * <DateField label="Birth Date" />
20
+ *
21
+ * @example
22
+ * // Date field with validation
23
+ * <DateField
24
+ * label="Event Date"
25
+ * isRequired
26
+ * isInvalid={hasError}
27
+ * errorMessage="Please select a valid date"
28
+ * />
29
+ *
30
+ * @example
31
+ * // Date field with custom formatting
32
+ * <DateField
33
+ * label="Meeting Date"
34
+ * shortMonth={false}
35
+ * placeholder="Select meeting date"
36
+ * />
37
+ *
38
+ * @example
39
+ * // Compact date field
40
+ * <DateField
41
+ * label="Due Date"
42
+ * size="small"
43
+ * description="When is this task due?"
44
+ * />
45
+ *
46
+ * @example
47
+ * // Controlled date field
48
+ * <DateField
49
+ * label="Selected Date"
50
+ * value={selectedDate}
51
+ * onChange={setSelectedDate}
52
+ * />
53
+ */
10
54
  declare function DateField<T extends DateValue>({ classNames, description: descriptionProp, errorMessage: errorMessageProp, isDisabled, isInvalid: isInvalidProp, isReadOnly, label, placeholder, slot, size, shortMonth, isRequired, ...props }: DateFieldProps<T>): react_jsx_runtime.JSX.Element;
11
55
 
12
56
  export { DateField };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/date-field/index.tsx"],"names":["dateInput","descriptionText","error","DateFieldStyles","R","value","isFocused","shortMonth","displayValue","isReadOnly","months","FormattedDateSegment","segment","jsx","DateSegment","t","c","dateSegment","DateInput","className","ref","props","jsxs","dateInputContainer","f","icon","d","classNames","isInvalidProp","isSmall","size","AriaDateField","field","isDisabled","isInvalid","label","Label","b","isRequired","AriaText","T","descriptionProp","errorMessage"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\nimport 'client-only';\nimport Calendar from '@accelint/icons/calendar';\nimport type { DateValue } from '@internationalized/date';\nimport type { DateSegment as TDateSegment } from '@react-stately/datepicker';\nimport {\n DateField as AriaDateField,\n DateInput as AriaDateInput,\n type DateSegmentProps as AriaDateSegmentProps,\n Text as AriaText,\n DateSegment,\n type DateSegmentRenderProps,\n FieldError,\n composeRenderProps,\n} from 'react-aria-components';\nimport { Icon } from '../icon';\nimport { Label } from '../label';\nimport { DateFieldStyles } from './styles';\nimport type { DateFieldProps, DateInputProps } from './types';\n\nconst {\n field,\n dateInput,\n dateInputContainer,\n icon,\n descriptionText,\n error,\n dateSegment,\n} = DateFieldStyles();\n\nconst months = [\n 'JAN',\n 'FEB',\n 'MAR',\n 'APR',\n 'MAY',\n 'JUN',\n 'JUL',\n 'AUG',\n 'SEP',\n 'OCT',\n 'NOV',\n 'DEC',\n];\n\nconst MonthDateSegment = ({\n value,\n isFocused,\n isPlaceholder,\n placeholder,\n isReadOnly,\n shortMonth,\n}: DateSegmentRenderProps & { shortMonth?: boolean }) => {\n if (isPlaceholder) {\n return placeholder;\n }\n\n let displayValue: string | undefined = `${value}`;\n\n if (!isReadOnly && isFocused) {\n displayValue = displayValue.padStart(2, '0');\n } else if (shortMonth) {\n displayValue = months[(value ?? 0) - 1];\n }\n\n return displayValue;\n};\n\ninterface FormattedDateSegmentProps extends AriaDateSegmentProps {\n segment: TDateSegment;\n shortMonth?: boolean;\n}\n\nconst FormattedDateSegment = ({\n segment,\n shortMonth,\n ...props\n}: FormattedDateSegmentProps) => {\n if (segment.type === 'literal' && segment.text !== ':') {\n return <></>;\n }\n\n return (\n <DateSegment segment={segment} className={dateSegment({})} {...props}>\n {segment.type === 'month'\n ? (renderProps) => (\n <MonthDateSegment {...renderProps} shortMonth={shortMonth} />\n )\n : segment.text}\n </DateSegment>\n );\n};\n\nconst DateInput = ({\n className,\n ref = null,\n size,\n ...props\n}: DateInputProps) => {\n return (\n <div className={dateInputContainer({})}>\n {size === 'medium' ? (\n <Icon className={icon({})}>\n <Calendar />\n </Icon>\n ) : null}\n <AriaDateInput\n {...props}\n className={composeRenderProps(className, (className) =>\n dateInput({\n className,\n }),\n )}\n data-size={size}\n />\n </div>\n );\n};\n\nexport function DateField<T extends DateValue>({\n classNames,\n description: descriptionProp,\n errorMessage: errorMessageProp,\n isDisabled,\n isInvalid: isInvalidProp,\n isReadOnly,\n label,\n placeholder,\n slot,\n size = 'medium',\n shortMonth = true,\n isRequired,\n ...props\n}: DateFieldProps<T>) {\n const errorMessage = errorMessageProp || null; // Protect against empty string\n const isSmall = size === 'small';\n\n return (\n <AriaDateField<T>\n {...props}\n isDisabled={isDisabled}\n isInvalid={isInvalidProp || (errorMessage ? true : undefined)} // Leave uncontrolled if possible to fallback to validation state\n isReadOnly={isReadOnly}\n slot={slot}\n className={composeRenderProps(classNames?.field, (className) =>\n field({ className }),\n )}\n >\n {(\n { isDisabled, isInvalid }, // Rely on internal state, not props, since state could differ from props\n ) => (\n <>\n {!isSmall && label && (\n <Label\n className={classNames?.label}\n isDisabled={isDisabled}\n isRequired={isRequired}\n >\n {label}\n </Label>\n )}\n <DateInput\n className={classNames?.input}\n size={size}\n isInvalid={isInvalid}\n >\n {(segment) => (\n <FormattedDateSegment segment={segment} shortMonth={shortMonth} />\n )}\n </DateInput>\n {descriptionProp && (!(isSmall || isInvalidProp) || isDisabled) && (\n <AriaText className={descriptionText({})} slot='description'>\n {descriptionProp}\n </AriaText>\n )}\n <FieldError\n className={composeRenderProps(classNames?.error, (className) =>\n error({ className }),\n )}\n >\n {errorMessage}\n </FieldError>\n </>\n )}\n </AriaDateField>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/date-field/index.tsx"],"names":["dateInput","descriptionText","error","DateFieldStyles","R","value","isFocused","shortMonth","displayValue","isReadOnly","months","FormattedDateSegment","segment","jsx","DateSegment","t","c","dateSegment","DateInput","className","ref","props","jsxs","dateInputContainer","f","icon","d","classNames","isInvalidProp","isSmall","size","AriaDateField","field","isDisabled","isInvalid","label","Label","b","isRequired","AriaText","T","descriptionProp","errorMessage"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\nimport 'client-only';\nimport Calendar from '@accelint/icons/calendar';\nimport type { DateValue } from '@internationalized/date';\nimport type { DateSegment as TDateSegment } from '@react-stately/datepicker';\nimport {\n DateField as AriaDateField,\n DateInput as AriaDateInput,\n type DateSegmentProps as AriaDateSegmentProps,\n Text as AriaText,\n DateSegment,\n type DateSegmentRenderProps,\n FieldError,\n composeRenderProps,\n} from 'react-aria-components';\nimport { Icon } from '../icon';\nimport { Label } from '../label';\nimport { DateFieldStyles } from './styles';\nimport type { DateFieldProps, DateInputProps } from './types';\n\nconst {\n field,\n dateInput,\n dateInputContainer,\n icon,\n descriptionText,\n error,\n dateSegment,\n} = DateFieldStyles();\n\nconst months = [\n 'JAN',\n 'FEB',\n 'MAR',\n 'APR',\n 'MAY',\n 'JUN',\n 'JUL',\n 'AUG',\n 'SEP',\n 'OCT',\n 'NOV',\n 'DEC',\n];\n\nconst MonthDateSegment = ({\n value,\n isFocused,\n isPlaceholder,\n placeholder,\n isReadOnly,\n shortMonth,\n}: DateSegmentRenderProps & { shortMonth?: boolean }) => {\n if (isPlaceholder) {\n return placeholder;\n }\n\n let displayValue: string | undefined = `${value}`;\n\n if (!isReadOnly && isFocused) {\n displayValue = displayValue.padStart(2, '0');\n } else if (shortMonth) {\n displayValue = months[(value ?? 0) - 1];\n }\n\n return displayValue;\n};\n\ninterface FormattedDateSegmentProps extends AriaDateSegmentProps {\n segment: TDateSegment;\n shortMonth?: boolean;\n}\n\nconst FormattedDateSegment = ({\n segment,\n shortMonth,\n ...props\n}: FormattedDateSegmentProps) => {\n if (segment.type === 'literal' && segment.text !== ':') {\n return <></>;\n }\n\n return (\n <DateSegment segment={segment} className={dateSegment({})} {...props}>\n {segment.type === 'month'\n ? (renderProps) => (\n <MonthDateSegment {...renderProps} shortMonth={shortMonth} />\n )\n : segment.text}\n </DateSegment>\n );\n};\n\nconst DateInput = ({\n className,\n ref = null,\n size,\n ...props\n}: DateInputProps) => {\n return (\n <div className={dateInputContainer({})}>\n {size === 'medium' ? (\n <Icon className={icon({})}>\n <Calendar />\n </Icon>\n ) : null}\n <AriaDateInput\n {...props}\n className={composeRenderProps(className, (className) =>\n dateInput({\n className,\n }),\n )}\n data-size={size}\n />\n </div>\n );\n};\n\n/**\n * DateField - A comprehensive date input component with segmented editing\n *\n * Provides accessible date input functionality with separate segments for day,\n * month, and year. Includes calendar icon, validation states, and international\n * date format support with keyboard navigation between segments.\n *\n * @example\n * // Basic date field\n * <DateField label=\"Birth Date\" />\n *\n * @example\n * // Date field with validation\n * <DateField\n * label=\"Event Date\"\n * isRequired\n * isInvalid={hasError}\n * errorMessage=\"Please select a valid date\"\n * />\n *\n * @example\n * // Date field with custom formatting\n * <DateField\n * label=\"Meeting Date\"\n * shortMonth={false}\n * placeholder=\"Select meeting date\"\n * />\n *\n * @example\n * // Compact date field\n * <DateField\n * label=\"Due Date\"\n * size=\"small\"\n * description=\"When is this task due?\"\n * />\n *\n * @example\n * // Controlled date field\n * <DateField\n * label=\"Selected Date\"\n * value={selectedDate}\n * onChange={setSelectedDate}\n * />\n */\nexport function DateField<T extends DateValue>({\n classNames,\n description: descriptionProp,\n errorMessage: errorMessageProp,\n isDisabled,\n isInvalid: isInvalidProp,\n isReadOnly,\n label,\n placeholder,\n slot,\n size = 'medium',\n shortMonth = true,\n isRequired,\n ...props\n}: DateFieldProps<T>) {\n const errorMessage = errorMessageProp || null; // Protect against empty string\n const isSmall = size === 'small';\n\n return (\n <AriaDateField<T>\n {...props}\n isDisabled={isDisabled}\n isInvalid={isInvalidProp || (errorMessage ? true : undefined)} // Leave uncontrolled if possible to fallback to validation state\n isReadOnly={isReadOnly}\n slot={slot}\n className={composeRenderProps(classNames?.field, (className) =>\n field({ className }),\n )}\n >\n {(\n { isDisabled, isInvalid }, // Rely on internal state, not props, since state could differ from props\n ) => (\n <>\n {!isSmall && label && (\n <Label\n className={classNames?.label}\n isDisabled={isDisabled}\n isRequired={isRequired}\n >\n {label}\n </Label>\n )}\n <DateInput\n className={classNames?.input}\n size={size}\n isInvalid={isInvalid}\n >\n {(segment) => (\n <FormattedDateSegment segment={segment} shortMonth={shortMonth} />\n )}\n </DateInput>\n {descriptionProp && (!(isSmall || isInvalidProp) || isDisabled) && (\n <AriaText className={descriptionText({})} slot='description'>\n {descriptionProp}\n </AriaText>\n )}\n <FieldError\n className={composeRenderProps(classNames?.error, (className) =>\n error({ className }),\n )}\n >\n {errorMessage}\n </FieldError>\n </>\n )}\n </AriaDateField>\n );\n}\n"]}
@@ -8,8 +8,8 @@ declare const DateFieldStyles: tailwind_variants.TVReturnType<{
8
8
  [key: string]: {
9
9
  [key: string]: tailwind_merge.ClassNameValue | {
10
10
  icon?: tailwind_merge.ClassNameValue;
11
- error?: tailwind_merge.ClassNameValue;
12
11
  field?: tailwind_merge.ClassNameValue;
12
+ error?: tailwind_merge.ClassNameValue;
13
13
  dateInputContainer?: tailwind_merge.ClassNameValue;
14
14
  dateSegment?: tailwind_merge.ClassNameValue;
15
15
  dateInput?: tailwind_merge.ClassNameValue;
@@ -20,8 +20,8 @@ declare const DateFieldStyles: tailwind_variants.TVReturnType<{
20
20
  [x: string]: {
21
21
  [x: string]: tailwind_merge.ClassNameValue | {
22
22
  icon?: tailwind_merge.ClassNameValue;
23
- error?: tailwind_merge.ClassNameValue;
24
23
  field?: tailwind_merge.ClassNameValue;
24
+ error?: tailwind_merge.ClassNameValue;
25
25
  dateInputContainer?: tailwind_merge.ClassNameValue;
26
26
  dateSegment?: tailwind_merge.ClassNameValue;
27
27
  dateInput?: tailwind_merge.ClassNameValue;
@@ -40,8 +40,8 @@ declare const DateFieldStyles: tailwind_variants.TVReturnType<{
40
40
  [key: string]: {
41
41
  [key: string]: tailwind_merge.ClassNameValue | {
42
42
  icon?: tailwind_merge.ClassNameValue;
43
- error?: tailwind_merge.ClassNameValue;
44
43
  field?: tailwind_merge.ClassNameValue;
44
+ error?: tailwind_merge.ClassNameValue;
45
45
  dateInputContainer?: tailwind_merge.ClassNameValue;
46
46
  dateSegment?: tailwind_merge.ClassNameValue;
47
47
  dateInput?: tailwind_merge.ClassNameValue;
@@ -1,2 +1,2 @@
1
- import {tv}from'tailwind-variants';const t={size:"medium"},d=tv({slots:{field:"group/date-field flex flex-col gap-xs",dateInput:["group/date-field flex w-full gap-xs rounded-medium px-s py-xs font-display outline outline-interactive","disabled:text-disabled disabled:outline-interactive-disabled disabled:placeholder:text-disabled","text-default-light placeholder:text-default-dark focus-within:outline-highlight hover:outline-interactive-hover","invalid:outline-serious","size-medium:pl-[32px] size-medium:text-body-s","size-small:text-body-xs"],dateInputContainer:"relative flex",icon:["-translate-y-1/2 absolute top-1/2 left-s text-default-light","group-disabled/date-field:text-disabled"],descriptionText:["fg-default-dark text-body-xs empty:hidden","group-disabled/date-field:fg-disabled"],error:"fg-serious text-body-xs empty:hidden",dateSegment:"focus:bg-highlight focus:text-inverse-light focus:outline-none"},defaultVariants:t});export{d as DateFieldStyles,t as DateFieldStylesDefault};//# sourceMappingURL=styles.js.map
1
+ import {tv}from'tailwind-variants';const t={size:"medium"},l=tv({slots:{field:"group/date-field flex flex-col gap-xs",dateInput:["group/date-field flex w-full gap-xs rounded-medium px-s py-xs font-display outline outline-interactive","disabled:text-disabled disabled:outline-interactive-disabled disabled:placeholder:text-disabled","text-default-light placeholder:text-default-dark hover:outline-interactive-hover focus-visible-within:outline-highlight","invalid:outline-serious","size-medium:pl-[32px] size-medium:text-body-s","size-small:text-body-xs"],dateInputContainer:"relative flex",icon:["-translate-y-1/2 absolute top-1/2 left-s text-default-light","group-disabled/date-field:text-disabled"],descriptionText:["fg-default-dark text-body-xs empty:hidden","group-disabled/date-field:fg-disabled"],error:"fg-serious text-body-xs empty:hidden",dateSegment:"focus-visible:bg-highlight focus-visible:text-inverse-light focus-visible:outline-none"},defaultVariants:t});export{l as DateFieldStyles,t as DateFieldStylesDefault};//# sourceMappingURL=styles.js.map
2
2
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/date-field/styles.ts"],"names":["DateFieldStylesDefault","DateFieldStyles","tv"],"mappings":"mCAcO,MAAMA,EAAyB,CACpC,IAAA,CAAM,QACR,CAAA,CAEaC,CAAAA,CAAkBC,GAAG,CAChC,KAAA,CAAO,CACL,KAAA,CAAO,uCAAA,CACP,UAAW,CACT,wGAAA,CACA,kGACA,iHAAA,CACA,yBAAA,CACA,gDACA,yBACF,CAAA,CACA,mBAAoB,eAAA,CACpB,IAAA,CAAM,CACJ,6DAAA,CACA,yCACF,EACA,eAAA,CAAiB,CACf,4CACA,uCACF,CAAA,CACA,MAAO,sCAAA,CACP,WAAA,CACE,gEACJ,CAAA,CACA,eAAA,CAAiBF,CACnB,CAAC","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from 'tailwind-variants';\n\nexport const DateFieldStylesDefault = {\n size: 'medium',\n} as const;\n\nexport const DateFieldStyles = tv({\n slots: {\n field: 'group/date-field flex flex-col gap-xs',\n dateInput: [\n 'group/date-field flex w-full gap-xs rounded-medium px-s py-xs font-display outline outline-interactive',\n 'disabled:text-disabled disabled:outline-interactive-disabled disabled:placeholder:text-disabled',\n 'text-default-light placeholder:text-default-dark focus-within:outline-highlight hover:outline-interactive-hover',\n 'invalid:outline-serious',\n 'size-medium:pl-[32px] size-medium:text-body-s',\n 'size-small:text-body-xs',\n ],\n dateInputContainer: 'relative flex',\n icon: [\n '-translate-y-1/2 absolute top-1/2 left-s text-default-light',\n 'group-disabled/date-field:text-disabled',\n ],\n descriptionText: [\n 'fg-default-dark text-body-xs empty:hidden',\n 'group-disabled/date-field:fg-disabled',\n ],\n error: 'fg-serious text-body-xs empty:hidden',\n dateSegment:\n 'focus:bg-highlight focus:text-inverse-light focus:outline-none',\n },\n defaultVariants: DateFieldStylesDefault,\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/date-field/styles.ts"],"names":["DateFieldStylesDefault","DateFieldStyles","tv"],"mappings":"mCAcO,MAAMA,EAAyB,CACpC,IAAA,CAAM,QACR,CAAA,CAEaC,CAAAA,CAAkBC,GAAG,CAChC,KAAA,CAAO,CACL,KAAA,CAAO,uCAAA,CACP,UAAW,CACT,wGAAA,CACA,kGACA,yHAAA,CACA,yBAAA,CACA,gDACA,yBACF,CAAA,CACA,mBAAoB,eAAA,CACpB,IAAA,CAAM,CACJ,6DAAA,CACA,yCACF,EACA,eAAA,CAAiB,CACf,4CACA,uCACF,CAAA,CACA,MAAO,sCAAA,CACP,WAAA,CACE,wFACJ,CAAA,CACA,eAAA,CAAiBF,CACnB,CAAC","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from 'tailwind-variants';\n\nexport const DateFieldStylesDefault = {\n size: 'medium',\n} as const;\n\nexport const DateFieldStyles = tv({\n slots: {\n field: 'group/date-field flex flex-col gap-xs',\n dateInput: [\n 'group/date-field flex w-full gap-xs rounded-medium px-s py-xs font-display outline outline-interactive',\n 'disabled:text-disabled disabled:outline-interactive-disabled disabled:placeholder:text-disabled',\n 'text-default-light placeholder:text-default-dark hover:outline-interactive-hover focus-visible-within:outline-highlight',\n 'invalid:outline-serious',\n 'size-medium:pl-[32px] size-medium:text-body-s',\n 'size-small:text-body-xs',\n ],\n dateInputContainer: 'relative flex',\n icon: [\n '-translate-y-1/2 absolute top-1/2 left-s text-default-light',\n 'group-disabled/date-field:text-disabled',\n ],\n descriptionText: [\n 'fg-default-dark text-body-xs empty:hidden',\n 'group-disabled/date-field:fg-disabled',\n ],\n error: 'fg-serious text-body-xs empty:hidden',\n dateSegment:\n 'focus-visible:bg-highlight focus-visible:text-inverse-light focus-visible:outline-none',\n },\n defaultVariants: DateFieldStylesDefault,\n});\n"]}
@@ -3,6 +3,7 @@ import { RefObject, PropsWithChildren, ReactNode } from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { DialogTriggerProps, DialogRenderProps } from 'react-aria-components';
5
5
  import { ButtonProps } from '../button/types.js';
6
+ import '../../lib/types.js';
6
7
  import 'tailwind-variants';
7
8
  import '../button/styles.js';
8
9
  import 'tailwind-merge';
@@ -16,6 +17,30 @@ interface DialogProps extends DialogTriggerProps {
16
17
  onOpenChange?: (isOpen: boolean) => void;
17
18
  parentRef?: RefObject<HTMLElement | null>;
18
19
  }
20
+ /**
21
+ * Dialog - A modal dialog component for important content and interactions
22
+ *
23
+ * Provides accessible modal functionality with focus management, backdrop handling,
24
+ * and keyboard navigation. Supports multiple sizes and customizable dismissal behavior.
25
+ * Perfect for confirmations, forms, or any content requiring user focus.
26
+ *
27
+ * @example
28
+ * // Basic dialog with trigger
29
+ * <Dialog>
30
+ * <Button>Open Dialog</Button>
31
+ * <Dialog.Body>
32
+ * {({ close }) => (
33
+ * <>
34
+ * <Dialog.Title>Confirm Action</Dialog.Title>
35
+ * <p>Are you sure you want to continue?</p>
36
+ * <Dialog.Footer>
37
+ * <Dialog.Button onPress={close}>Confirm</Dialog.Button>
38
+ * </Dialog.Footer>
39
+ * </>
40
+ * )}
41
+ * </Dialog.Body>
42
+ * </Dialog>
43
+ */
19
44
  declare const Dialog: {
20
45
  ({ children, size, isOpen, onOpenChange, isDismissable, isKeyboardDismissDisabled, parentRef, }: DialogProps): react_jsx_runtime.JSX.Element;
21
46
  displayName: string;
@@ -34,8 +59,5 @@ declare const Dialog: {
34
59
  interface DialogBodyProps {
35
60
  children: ReactNode | ReactNode[] | ((opts: DialogRenderProps) => ReactNode);
36
61
  }
37
- declare const DialogTitle: ({ children, className, }: PropsWithChildren<{
38
- className?: string;
39
- }>) => react_jsx_runtime.JSX.Element;
40
62
 
41
- export { Dialog, type DialogProps, DialogTitle };
63
+ export { Dialog, type DialogProps };
@@ -1,2 +1,2 @@
1
- import {jsx}from'react/jsx-runtime';import {cn}from'./../../lib/utils.js';import {useIsSSR}from'@react-aria/ssr';import'client-only';import {cva}from'class-variance-authority';import {createContext,forwardRef,useState,useEffect,useContext}from'react';import {ModalOverlay,Modal,Dialog,DialogTrigger,Heading}from'react-aria-components';import {Button}from'../button/index.js';const M=cva("flex flex-col align-end font-light text-body-m text-default-dark",{variants:{size:{sm:"min-w-[280px] max-w-[280px] rounded-medium p-l",lg:"min-w-[320px] max-w-[720px] rounded-large p-xl"},defaultVariants:{size:"sm"}}}),E={sm:"small",lg:"medium"},b=createContext({size:"sm"}),r=()=>{const e=useContext(b);if(!e)throw new Error("Dialog components must be used within <Dialog>");return e},l=({children:e,size:t,isOpen:o,onOpenChange:i,isDismissable:a=true,isKeyboardDismissDisabled:m=true,parentRef:p})=>jsx(DialogTrigger,{children:jsx(b.Provider,{value:{size:t??"sm",isDismissable:a,isOpen:o,onOpenChange:i,parentRef:p,isKeyboardDismissDisabled:m},children:e})});l.displayName="Dialog";const x=forwardRef(({children:e,...t},o)=>{const{size:i,isDismissable:a,isOpen:m,onOpenChange:p,parentRef:c,isKeyboardDismissDisabled:y}=r(),d=useIsSSR(),[u,D]=useState(d?null:document.body);return useEffect(()=>{const f=c?.current,g=d?null:document.createElement("div");return f&&g&&(f.appendChild(g),D(g)),()=>{g?.remove(),D(d?null:document.body);}},[d,c]),u?jsx(ModalOverlay,{UNSTABLE_portalContainer:u,isKeyboardDismissDisabled:!a&&y,isOpen:m,onOpenChange:p,isDismissable:a,className:"absolute inset-0 flex items-center justify-center",...t,children:jsx(Modal,{ref:o,className:cn("flex flex-col justify-center bg-surface-overlay align-start",i==="sm"&&"rounded-medium",i==="lg"&&"rounded-large"),children:jsx(Dialog,{className:M({size:i}),children:e})})}):null});x.displayName="DialogBody";const H=({children:e,className:t})=>{const{size:o}=r();return jsx("div",{className:cn("flex flex-col",o==="sm"&&"gap-xs",o==="lg"&&"gap-l",t),children:e})},j=({children:e,className:t})=>{const{size:o}=r();return jsx(Heading,{slot:"title",className:cn("text-default-light",o==="sm"&&"mb-s text-header-m",o==="lg"&&"mb-m text-header-l",t),children:e})},K=({children:e,className:t,...o})=>{const{size:i}=r(),a=E[i];return jsx(Button,{size:a,...o,className:cn("pressed:bg-initial",t),children:e})},L=({children:e,className:t})=>{const{size:o}=r();return jsx("div",{className:cn("flex justify-end gap-xs",o==="sm"&&"mt-l",o==="lg"&&"mt-xl",t),children:e})};l.Button=K,l.Content=H,l.Footer=L,l.Title=j,l.Body=x;export{l as Dialog,j as DialogTitle};//# sourceMappingURL=index.js.map
1
+ import {jsx}from'react/jsx-runtime';import {cn}from'./../../lib/utils.js';import {useIsSSR}from'@react-aria/ssr';import'client-only';import {cva}from'class-variance-authority';import {createContext,forwardRef,useState,useEffect,useContext}from'react';import {ModalOverlay,Modal,Dialog,DialogTrigger,Heading}from'react-aria-components';import {Button}from'../button/index.js';const M=cva("flex flex-col align-end font-light text-body-m text-default-dark",{variants:{size:{sm:"min-w-[280px] max-w-[280px] rounded-medium p-l",lg:"min-w-[320px] max-w-[720px] rounded-large p-xl"},defaultVariants:{size:"sm"}}}),E={sm:"small",lg:"medium"},b=createContext({size:"sm"}),r=()=>{const e=useContext(b);if(!e)throw new Error("Dialog components must be used within <Dialog>");return e},l=({children:e,size:t,isOpen:o,onOpenChange:i,isDismissable:a=true,isKeyboardDismissDisabled:m=true,parentRef:p})=>jsx(DialogTrigger,{children:jsx(b.Provider,{value:{size:t??"sm",isDismissable:a,isOpen:o,onOpenChange:i,parentRef:p,isKeyboardDismissDisabled:m},children:e})});l.displayName="Dialog";const x=forwardRef(({children:e,...t},o)=>{const{size:i,isDismissable:a,isOpen:m,onOpenChange:p,parentRef:c,isKeyboardDismissDisabled:y}=r(),d=useIsSSR(),[u,D]=useState(d?null:document.body);return useEffect(()=>{const f=c?.current,g=d?null:document.createElement("div");return f&&g&&(f.appendChild(g),D(g)),()=>{g?.remove(),D(d?null:document.body);}},[d,c]),u?jsx(ModalOverlay,{UNSTABLE_portalContainer:u,isKeyboardDismissDisabled:!a&&y,isOpen:m,onOpenChange:p,isDismissable:a,className:"absolute inset-0 flex items-center justify-center",...t,children:jsx(Modal,{ref:o,className:cn("flex flex-col justify-center bg-surface-overlay align-start",i==="sm"&&"rounded-medium",i==="lg"&&"rounded-large"),children:jsx(Dialog,{className:M({size:i}),children:e})})}):null});x.displayName="DialogBody";const H=({children:e,className:t})=>{const{size:o}=r();return jsx("div",{className:cn("flex flex-col",o==="sm"&&"gap-xs",o==="lg"&&"gap-l",t),children:e})},j=({children:e,className:t})=>{const{size:o}=r();return jsx(Heading,{slot:"title",className:cn("text-default-light",o==="sm"&&"mb-s text-header-m",o==="lg"&&"mb-m text-header-l",t),children:e})},K=({children:e,className:t,...o})=>{const{size:i}=r(),a=E[i];return jsx(Button,{size:a,...o,className:cn("pressed:bg-initial",t),children:e})},L=({children:e,className:t})=>{const{size:o}=r();return jsx("div",{className:cn("flex justify-end gap-xs",o==="sm"&&"mt-l",o==="lg"&&"mt-xl",t),children:e})};l.Button=K,l.Content=H,l.Footer=L,l.Title=j,l.Body=x;export{l as Dialog};//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/dialog/index.tsx"],"names":["useDialogContext","h","ctx","DialogContext","z","size","jsx","RACDialogTrigger","s","isDismissable","Dialog","rest","v","ref","useState","isSSR","N","node","P","port","setPortal","parentRef","RACModalOverlay","cn","n","O","children","DialogContent","S","dialogSize","buttonSize","buttonSizes","Button","w","DialogFooter","DialogTitle","DialogBody"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\nimport { cn } from '@/lib/utils';\nimport { useIsSSR } from '@react-aria/ssr';\nimport 'client-only';\nimport { cva } from 'class-variance-authority';\nimport {\n type PropsWithChildren,\n type ReactNode,\n type RefObject,\n createContext,\n forwardRef,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport {\n type DialogRenderProps,\n type DialogTriggerProps,\n Dialog as RACDialog,\n DialogTrigger as RACDialogTrigger,\n Heading as RACHeading,\n Modal as RACModal,\n ModalOverlay as RACModalOverlay,\n} from 'react-aria-components';\nimport { Button } from '../button';\nimport type { ButtonProps } from '../button/types';\n\nconst dialogClasses = cva(\n 'flex flex-col align-end font-light text-body-m text-default-dark',\n {\n variants: {\n size: {\n sm: 'min-w-[280px] max-w-[280px] rounded-medium p-l',\n lg: 'min-w-[320px] max-w-[720px] rounded-large p-xl',\n },\n defaultVariants: {\n size: 'sm',\n },\n },\n },\n);\n\nconst buttonSizes: Record<string, ButtonProps['size']> = {\n sm: 'small',\n lg: 'medium',\n};\n\ntype DialogSize = 'sm' | 'lg';\n\ninterface DialogContextValue {\n size: DialogSize;\n isDismissable?: boolean;\n isKeyboardDismissDisabled?: boolean;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n parentRef?: RefObject<HTMLElement | null>;\n}\n\nconst DialogContext = createContext<DialogContextValue>({ size: 'sm' });\n\nconst useDialogContext = () => {\n const ctx = useContext(DialogContext);\n if (!ctx) {\n throw new Error('Dialog components must be used within <Dialog>');\n }\n return ctx;\n};\n\nexport interface DialogProps extends DialogTriggerProps {\n size?: DialogSize;\n isDismissable?: boolean;\n isKeyboardDismissDisabled?: boolean;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n parentRef?: RefObject<HTMLElement | null>;\n}\n\nexport const Dialog = ({\n children,\n size,\n isOpen,\n onOpenChange,\n isDismissable = true,\n isKeyboardDismissDisabled = true,\n parentRef,\n}: DialogProps) => {\n return (\n <RACDialogTrigger>\n <DialogContext.Provider\n value={{\n size: size ?? 'sm',\n isDismissable,\n isOpen,\n onOpenChange,\n parentRef,\n isKeyboardDismissDisabled,\n }}\n >\n {children}\n </DialogContext.Provider>\n </RACDialogTrigger>\n );\n};\nDialog.displayName = 'Dialog';\n\ninterface DialogBodyProps {\n children: ReactNode | ReactNode[] | ((opts: DialogRenderProps) => ReactNode);\n}\n\nconst DialogBody = forwardRef<HTMLDivElement, DialogBodyProps>(\n ({ children, ...rest }, ref) => {\n const {\n size,\n isDismissable,\n isOpen,\n onOpenChange,\n parentRef,\n isKeyboardDismissDisabled,\n } = useDialogContext();\n const isSSR = useIsSSR();\n const [portal, setPortal] = useState(isSSR ? null : document.body);\n\n useEffect(() => {\n const node = parentRef?.current;\n /* Ensure proper ssr hydration TODO */\n const port = isSSR ? null : document.createElement('div');\n\n if (node && port) {\n node.appendChild(port);\n setPortal(port);\n }\n\n return () => {\n port?.remove();\n\n setPortal(isSSR ? null : document.body);\n };\n }, [isSSR, parentRef]);\n\n return portal ? (\n <RACModalOverlay\n UNSTABLE_portalContainer={portal}\n isKeyboardDismissDisabled={!isDismissable && isKeyboardDismissDisabled}\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n isDismissable={isDismissable}\n className='absolute inset-0 flex items-center justify-center'\n {...rest}\n >\n <RACModal\n ref={ref}\n className={cn(\n 'flex flex-col justify-center bg-surface-overlay align-start',\n size === 'sm' && 'rounded-medium',\n size === 'lg' && 'rounded-large',\n )}\n >\n <RACDialog className={dialogClasses({ size })}>{children}</RACDialog>\n </RACModal>\n </RACModalOverlay>\n ) : null;\n },\n);\nDialogBody.displayName = 'DialogBody';\n\nconst DialogContent = ({\n children,\n className,\n}: PropsWithChildren<{ className?: string }>) => {\n const { size } = useDialogContext();\n return (\n <div\n className={cn(\n 'flex flex-col',\n size === 'sm' && 'gap-xs',\n size === 'lg' && 'gap-l',\n className,\n )}\n >\n {children}\n </div>\n );\n};\n\nexport const DialogTitle = ({\n children,\n className,\n}: PropsWithChildren<{ className?: string }>) => {\n const { size } = useDialogContext();\n return (\n <RACHeading\n slot='title'\n className={cn(\n 'text-default-light',\n size === 'sm' && 'mb-s text-header-m',\n size === 'lg' && 'mb-m text-header-l',\n className,\n )}\n >\n {children}\n </RACHeading>\n );\n};\n\nconst DialogButton = ({ children, className, ...props }: ButtonProps) => {\n const { size: dialogSize } = useDialogContext();\n const buttonSize = buttonSizes[dialogSize];\n return (\n <Button\n size={buttonSize}\n {...props}\n //overriding the style to deal with rac's pressed state inherited\n //from the trigger state\n className={cn('pressed:bg-initial', className)}\n >\n {children}\n </Button>\n );\n};\n\nconst DialogFooter = ({\n children,\n className,\n}: PropsWithChildren<{ className?: string }>) => {\n const { size } = useDialogContext();\n return (\n <div\n className={cn(\n 'flex justify-end gap-xs',\n size === 'sm' && 'mt-l',\n size === 'lg' && 'mt-xl',\n className,\n )}\n >\n {children}\n </div>\n );\n};\n\nDialog.Button = DialogButton;\nDialog.Content = DialogContent;\nDialog.Footer = DialogFooter;\nDialog.Title = DialogTitle;\nDialog.Body = DialogBody;\n"]}
1
+ {"version":3,"sources":["../../../src/components/dialog/index.tsx"],"names":["useDialogContext","h","ctx","DialogContext","z","size","jsx","RACDialogTrigger","s","isDismissable","Dialog","rest","v","ref","useState","isSSR","N","node","P","port","setPortal","parentRef","RACModalOverlay","cn","n","O","children","DialogContent","S","dialogSize","buttonSize","buttonSizes","Button","w","DialogFooter","DialogTitle","DialogBody"],"mappings":"qcA4CQ,CAAI,oEACA,CAAA,EAAA,CAAA,gDAGJ,CAAA,CAAA,iBAOF,IAAA,CAAA,IACJ,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EACN,CAAA,OAa0D,CAAA,EAAA,CAAM,QAE1DA,CAAmB,CAAA,CAAA,CAAAC,aAAM,CAC7B,CAAA,IAAA,CAAMC,IAAiBC,CAAa,CAAA,CACpC,CAAA,CAAA,IACE,CAAA,MAAM,CAAA,CAAAC,UAAI,CAAA,CAAA,CAAA,CAAA,GAAM,CAAA,CAAA,CAAA,MAAA,IAAA,KAAA,CAAA,gDAuClB,CAAA,CAAA,OACA,CAAA,CAAA,CAAAC,CAAAA,CACA,CAAA,CAAA,QACA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MACA,CAAA,CAAA,CAAA,YAAgB,CAAA,CAChB,CAAA,aAAA,CAAA,CAAA,CAAA,IAAA,CAAA,0BAIEC,CAAAA,CAACC,IAAA,CACC,SAAAD,CAAAA,CAACH,CAAAA,8BACC,CAAOK,GACL,CAAA,CAAA,CAAA,QAAc,CAAA,CACd,eAAAC,IACA,CAAA,aACA,CAAA,CAAA,CAAA,MACA,CAAA,CAAA,CAAA,YACA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,yBAQVC,CAAO,CAAA,CAAA,CAAA,QAAA,CAAc,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,WAOnB,CAAC,QAAE,CAAA,MAAaC,CAAK,CAAAC,UAAGC,CAAAA,CAAAA,CAAAA,QAEpB,CAAA,CAAA,CAAA,GAAAR,CACA,CAAA,CAAA,CAAA,GAAA,CAAA,KAAA,CAAA,oBAEA,CAAA,CAAA,CAAA,MACA,CAAA,CAAA,CAAA,YACA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,yBAG0BS,CAAAA,CAASC,CAAAA,CAAQ,CAAA,EAAA,CAAA,CAAO,gBAAS,CAAA,CAAAC,QAAA,CAAI,CAAA,CAEjE,IAAA,CAAA,QAAgB,CACd,MAAMC,OAAkBC,SAAA,CAAA,IAElBC,CAAAA,MAAe,CAAA,CAAO,UAAS,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,QAAmB,CAAA,aAE5CA,CAAAA,KACL,CAAA,CAAA,OAAA,CAAYA,EAAI,CACrBC,GAAc,CAAA,CAAA,WAIR,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAEbA,CAAAA,CAAUL,CAAAA,IAAQ,CAAA,CAAO,UAAS,CAAA,CAAA,CAAI,CACxC,CACF,IAAIA,CAAOM,QAGRC,CAAAA,4DAEC,CAAA,CAAA,CAAA,yBAEA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,MACA,CAAA,CAAA,CAAA,YACA,CAAA,CAAA,CAAA,aAAU,CAAA,CAAA,CAAA,SAAA,CAAA,mDAIR,CAAA,GAAKT,EACL,QAAA,CAAAL,GAAWe,CAAAA,KACT,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,SAAA,CAAAC,EAAA,CAAA,6DACiB,CAAA,CAAA,GAAA,sBACA,CAAA,CAAA,GAAA,IAGnB,EAAA,eAAW,CAAA,CAAA,QAA2B,CAAAhB,GAAA,CAAAiB,MAAApB,CAAK,CAAC,WAAIqB,CAAAA,CAAS,IAE7D,CAAA,CACE,CAAA,CAAA,CAAA,QAGG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAc,CAAA,CAAA,CAAA,CAAA,CAAA,WAEnBC,CAAAA,YACJD,CAAAA,MACA,CAAA,CAAA,CAAA,CAAA,oBAEa,CAAI1B,CAAAA,CAAiB,SAEhCM,CAAAA,IAAC,CAAA,CAAA,CAAA,CACC,CAAA,EAAA,CAAA,OAAWiB,GACT,CAAA,KAAA,CAAA,CAAA,SACAlB,CAAAA,EAAAA,CAAS,eACTA,CAAAA,CAAAA,GAAS,IAAA,EAAQ,QAEnB,CAAA,CAEC,SAAAqB,OAKa,CAAC,CACnB,CAAA,CAAA,QAAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAEA,CAAA,CAAA,CAAA,SAAa,CAAI1B,CAAAA,CAAiB,GAClC,CAAA,KACEM,CAAAA,IACE,CAAA,CAAA,CAAA,CAAA,CAAK,EAAA,CAAA,OACLE,GAAA,CAAAoB,OAAA,CAAA,CAAA,IAAWL,CACT,OAAA,CAAA,SAAA,CAAAC,EAAA,CAAA,oBACiB,CAAA,CAAA,GAAA,IAAA,EAAA,oBACA,CAAA,CAAA,GAAA,IAAA,EAAA,oBASJ,CAAC,CAAE,CAAA,CAAA,QAAAE,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,WAAuC,SAC/D,CAAA,CAAA,CAAMG,GAAe7B,EAAiB,GACxC8B,CAAaC,KACnB,CAAA,IAAA,CAAA,CACEzB,CAAAA,CAAC0B,CAAAA,EACC,CAAA,CAAA,CAAA,CAAA,CAAMF,CAAAA,CACL,CAAA,OAGDtB,GAAA,CAAAyB,MAAA,CAAA,CAAA,IAAc,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,SAAA,CAAAT,EAAA,CAAA,oBAOC,CAAC,CACpB,CAAA,CAAA,QAAAE,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAEA,CAAA,CAAA,CAAA,UAAiB1B,CAAAA,CAAiB,GAClC,CAAA,KACEM,CAAAA,IAAC,CAAA,CAAA,CAAA,CACC,CAAA,EAAA,CAAA,UACE,CAAA,KAAA,CAAA,CAAA,SAAA,CAAAkB,EAAA,CAAA,yBAEAnB,CAAAA,CAAS,GAAA,YAEX,CAAA,CAEC,GAAA,IAAA,EAAAqB,OAKA,CAAA,CAAA,CAAA,CAAA,QACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAUC,CAAAA,MACV,CAAA,CAAA,CAAA,CAASO,CAAAA,OACT,CAAA,CAAQC,CAAAA,CACfzB,CAAAA,MAAc0B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\nimport { cn } from '@/lib/utils';\nimport { useIsSSR } from '@react-aria/ssr';\nimport 'client-only';\nimport { cva } from 'class-variance-authority';\nimport {\n type PropsWithChildren,\n type ReactNode,\n type RefObject,\n createContext,\n forwardRef,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport {\n type DialogRenderProps,\n type DialogTriggerProps,\n Dialog as RACDialog,\n DialogTrigger as RACDialogTrigger,\n Heading as RACHeading,\n Modal as RACModal,\n ModalOverlay as RACModalOverlay,\n} from 'react-aria-components';\nimport { Button } from '../button';\nimport type { ButtonProps } from '../button/types';\n\nconst dialogClasses = cva(\n 'flex flex-col align-end font-light text-body-m text-default-dark',\n {\n variants: {\n size: {\n sm: 'min-w-[280px] max-w-[280px] rounded-medium p-l',\n lg: 'min-w-[320px] max-w-[720px] rounded-large p-xl',\n },\n defaultVariants: {\n size: 'sm',\n },\n },\n },\n);\n\nconst buttonSizes: Record<string, ButtonProps['size']> = {\n sm: 'small',\n lg: 'medium',\n};\n\ntype DialogSize = 'sm' | 'lg';\n\ninterface DialogContextValue {\n size: DialogSize;\n isDismissable?: boolean;\n isKeyboardDismissDisabled?: boolean;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n parentRef?: RefObject<HTMLElement | null>;\n}\n\nconst DialogContext = createContext<DialogContextValue>({ size: 'sm' });\n\nconst useDialogContext = () => {\n const ctx = useContext(DialogContext);\n if (!ctx) {\n throw new Error('Dialog components must be used within <Dialog>');\n }\n return ctx;\n};\n\nexport interface DialogProps extends DialogTriggerProps {\n size?: DialogSize;\n isDismissable?: boolean;\n isKeyboardDismissDisabled?: boolean;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n parentRef?: RefObject<HTMLElement | null>;\n}\n\n/**\n * Dialog - A modal dialog component for important content and interactions\n *\n * Provides accessible modal functionality with focus management, backdrop handling,\n * and keyboard navigation. Supports multiple sizes and customizable dismissal behavior.\n * Perfect for confirmations, forms, or any content requiring user focus.\n *\n * @example\n * // Basic dialog with trigger\n * <Dialog>\n * <Button>Open Dialog</Button>\n * <Dialog.Body>\n * {({ close }) => (\n * <>\n * <Dialog.Title>Confirm Action</Dialog.Title>\n * <p>Are you sure you want to continue?</p>\n * <Dialog.Footer>\n * <Dialog.Button onPress={close}>Confirm</Dialog.Button>\n * </Dialog.Footer>\n * </>\n * )}\n * </Dialog.Body>\n * </Dialog>\n */\nexport const Dialog = ({\n children,\n size,\n isOpen,\n onOpenChange,\n isDismissable = true,\n isKeyboardDismissDisabled = true,\n parentRef,\n}: DialogProps) => {\n return (\n <RACDialogTrigger>\n <DialogContext.Provider\n value={{\n size: size ?? 'sm',\n isDismissable,\n isOpen,\n onOpenChange,\n parentRef,\n isKeyboardDismissDisabled,\n }}\n >\n {children}\n </DialogContext.Provider>\n </RACDialogTrigger>\n );\n};\nDialog.displayName = 'Dialog';\n\ninterface DialogBodyProps {\n children: ReactNode | ReactNode[] | ((opts: DialogRenderProps) => ReactNode);\n}\n\nconst DialogBody = forwardRef<HTMLDivElement, DialogBodyProps>(\n ({ children, ...rest }, ref) => {\n const {\n size,\n isDismissable,\n isOpen,\n onOpenChange,\n parentRef,\n isKeyboardDismissDisabled,\n } = useDialogContext();\n const isSSR = useIsSSR();\n const [portal, setPortal] = useState(isSSR ? null : document.body);\n\n useEffect(() => {\n const node = parentRef?.current;\n /* Ensure proper ssr hydration TODO */\n const port = isSSR ? null : document.createElement('div');\n\n if (node && port) {\n node.appendChild(port);\n setPortal(port);\n }\n\n return () => {\n port?.remove();\n\n setPortal(isSSR ? null : document.body);\n };\n }, [isSSR, parentRef]);\n\n return portal ? (\n <RACModalOverlay\n UNSTABLE_portalContainer={portal}\n isKeyboardDismissDisabled={!isDismissable && isKeyboardDismissDisabled}\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n isDismissable={isDismissable}\n className='absolute inset-0 flex items-center justify-center'\n {...rest}\n >\n <RACModal\n ref={ref}\n className={cn(\n 'flex flex-col justify-center bg-surface-overlay align-start',\n size === 'sm' && 'rounded-medium',\n size === 'lg' && 'rounded-large',\n )}\n >\n <RACDialog className={dialogClasses({ size })}>{children}</RACDialog>\n </RACModal>\n </RACModalOverlay>\n ) : null;\n },\n);\nDialogBody.displayName = 'DialogBody';\n\nconst DialogContent = ({\n children,\n className,\n}: PropsWithChildren<{ className?: string }>) => {\n const { size } = useDialogContext();\n return (\n <div\n className={cn(\n 'flex flex-col',\n size === 'sm' && 'gap-xs',\n size === 'lg' && 'gap-l',\n className,\n )}\n >\n {children}\n </div>\n );\n};\n\nconst DialogTitle = ({\n children,\n className,\n}: PropsWithChildren<{ className?: string }>) => {\n const { size } = useDialogContext();\n return (\n <RACHeading\n slot='title'\n className={cn(\n 'text-default-light',\n size === 'sm' && 'mb-s text-header-m',\n size === 'lg' && 'mb-m text-header-l',\n className,\n )}\n >\n {children}\n </RACHeading>\n );\n};\n\nconst DialogButton = ({ children, className, ...props }: ButtonProps) => {\n const { size: dialogSize } = useDialogContext();\n const buttonSize = buttonSizes[dialogSize];\n return (\n <Button\n size={buttonSize}\n {...props}\n //overriding the style to deal with rac's pressed state inherited\n //from the trigger state\n className={cn('pressed:bg-initial', className)}\n >\n {children}\n </Button>\n );\n};\n\nconst DialogFooter = ({\n children,\n className,\n}: PropsWithChildren<{ className?: string }>) => {\n const { size } = useDialogContext();\n return (\n <div\n className={cn(\n 'flex justify-end gap-xs',\n size === 'sm' && 'mt-l',\n size === 'lg' && 'mt-xl',\n className,\n )}\n >\n {children}\n </div>\n );\n};\n\nDialog.Button = DialogButton;\nDialog.Content = DialogContent;\nDialog.Footer = DialogFooter;\nDialog.Title = DialogTitle;\nDialog.Body = DialogBody;\n"]}
@@ -0,0 +1,8 @@
1
+ declare const DrawerEventNamespace = "Drawer";
2
+ declare const DrawerEventTypes: {
3
+ readonly close: "Drawer:close";
4
+ readonly open: "Drawer:open";
5
+ readonly toggle: "Drawer:toggle";
6
+ };
7
+
8
+ export { DrawerEventNamespace, DrawerEventTypes };
@@ -0,0 +1,2 @@
1
+ const e="Drawer",o={close:`${e}:close`,open:`${e}:open`,toggle:`${e}:toggle`};export{e as DrawerEventNamespace,o as DrawerEventTypes};//# sourceMappingURL=events.js.map
2
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/drawer/events.ts"],"names":["DrawerEventNamespace","DrawerEventTypes"],"mappings":"AAYO,MAAMA,CAAAA,CAAuB,QAAA,CAEvBC,CAAAA,CAAmB,CAC9B,MAAO,CAAA,EAAGD,CAAoB,CAAA,MAAA,CAAA,CAC9B,IAAA,CAAM,GAAGA,CAAoB,CAAA,KAAA,CAAA,CAC7B,MAAA,CAAQ,CAAA,EAAGA,CAAoB,CAAA,OAAA,CACjC","file":"events.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport const DrawerEventNamespace = 'Drawer';\n\nexport const DrawerEventTypes = {\n close: `${DrawerEventNamespace}:close`,\n open: `${DrawerEventNamespace}:open`,\n toggle: `${DrawerEventNamespace}:toggle`,\n} as const;\n"]}
@@ -1,48 +1,94 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { DrawerProps, DrawerLayoutProps, DrawerContainerProps, DrawerMenuProps, DrawerMenuItemProps, DrawerTriggerProps, DrawerPanelProps, DrawerProviderProps } from './types.js';
2
+ import * as react from 'react';
3
+ import { ComponentPropsWithRef } from 'react';
4
+ import { UniqueId } from '@accelint/core';
5
+ import { ViewStackViewProps } from '../view-stack/types.js';
6
+ import { DrawerProps, DrawerLayoutProps, DrawerMenuProps, DrawerMenuItemProps, DrawerTitleProps, DrawerTriggerProps, DrawerContextValue } from './types.js';
7
+ import '@accelint/bus';
8
+ import 'react-aria-components';
9
+ import '../view-stack/events.js';
10
+ import '../../lib/types.js';
3
11
  import '@react-types/shared';
4
- import 'react';
12
+ import 'tailwind-variants';
13
+ import '../button/types.js';
14
+ import '../button/styles.js';
15
+ import 'tailwind-merge';
16
+ import './events.js';
17
+ import './styles.js';
5
18
 
6
- declare const Drawer: {
7
- ({ id, placement, isOpen, size, defaultSelectedMenuItemId, className, children, onOpenChange, onStateChange, ...rest }: DrawerProps): react_jsx_runtime.JSX.Element;
8
- Layout: {
9
- ({ children, className, extend, push, }: DrawerLayoutProps): react_jsx_runtime.JSX.Element;
10
- displayName: string;
11
- };
12
- Main: {
13
- ({ children, className }: DrawerContainerProps): react_jsx_runtime.JSX.Element;
14
- displayName: string;
15
- };
16
- Menu: {
17
- ({ children, className, position, ...props }: DrawerMenuProps): react_jsx_runtime.JSX.Element;
18
- displayName: string;
19
- Item: {
20
- ({ id, children, className, ...rest }: DrawerMenuItemProps): react_jsx_runtime.JSX.Element;
21
- displayName: string;
22
- };
23
- };
24
- Trigger: {
25
- ({ for: drawerId, children, behavior, }: DrawerTriggerProps): react_jsx_runtime.JSX.Element;
26
- displayName: string;
27
- };
28
- Panel: {
29
- ({ id, children, className, ...props }: DrawerPanelProps): react_jsx_runtime.JSX.Element | null;
30
- displayName: string;
31
- };
32
- Header: {
33
- ({ children, className }: DrawerContainerProps): react_jsx_runtime.JSX.Element;
34
- displayName: string;
35
- };
36
- Title: ({ children, className }: DrawerContainerProps) => react_jsx_runtime.JSX.Element;
37
- Footer: {
38
- ({ children, className }: DrawerContainerProps): react_jsx_runtime.JSX.Element;
39
- displayName: string;
40
- };
41
- Content: {
42
- ({ children, className }: DrawerContainerProps): react_jsx_runtime.JSX.Element;
43
- displayName: string;
44
- };
45
- Provider: ({ children, onStateChange }: DrawerProviderProps) => react_jsx_runtime.JSX.Element;
19
+ declare const DrawerContext: react.Context<DrawerContextValue>;
20
+ declare const DrawerEventHandlers: {
21
+ readonly close: (stack: UniqueId) => void;
22
+ readonly open: (view: UniqueId) => void;
23
+ readonly toggle: (view: UniqueId) => void;
24
+ readonly back: (stack: UniqueId) => void;
25
+ readonly clear: (stack: UniqueId) => void;
26
+ readonly push: (view: UniqueId) => void;
27
+ readonly reset: (stack: UniqueId) => void;
46
28
  };
29
+ declare function DrawerTrigger({ children, for: events }: DrawerTriggerProps): react_jsx_runtime.JSX.Element;
30
+ declare namespace DrawerTrigger {
31
+ var displayName: string;
32
+ }
33
+ declare function DrawerLayoutMain({ className, ...rest }: ComponentPropsWithRef<'main'>): react_jsx_runtime.JSX.Element;
34
+ declare namespace DrawerLayoutMain {
35
+ var displayName: string;
36
+ }
37
+ declare function DrawerLayout({ className, extend, push, ...rest }: DrawerLayoutProps): react_jsx_runtime.JSX.Element;
38
+ declare namespace DrawerLayout {
39
+ var displayName: string;
40
+ var Main: typeof DrawerLayoutMain;
41
+ }
42
+ declare function DrawerMenuItem({ for: id, children, className, toggle, views, ...rest }: DrawerMenuItemProps): react_jsx_runtime.JSX.Element | null;
43
+ declare namespace DrawerMenuItem {
44
+ var displayName: string;
45
+ }
46
+ declare function DrawerMenu({ className, position, children, ...rest }: DrawerMenuProps): react_jsx_runtime.JSX.Element;
47
+ declare namespace DrawerMenu {
48
+ var displayName: string;
49
+ var Item: typeof DrawerMenuItem;
50
+ }
51
+ declare function DrawerPanel({ className, ...rest }: ComponentPropsWithRef<'div'>): react_jsx_runtime.JSX.Element;
52
+ declare namespace DrawerPanel {
53
+ var displayName: string;
54
+ }
55
+ declare function DrawerView({ id, children, className, ...rest }: ViewStackViewProps & ComponentPropsWithRef<'div'>): react_jsx_runtime.JSX.Element;
56
+ declare namespace DrawerView {
57
+ var displayName: string;
58
+ }
59
+ /**
60
+ * To change size of title, use the `level` prop: `1`-`3` (large), `4`-`6` (medium).
61
+ *
62
+ * `level` also changes the semantic heading tag number `h1`-`h6`
63
+ */
64
+ declare function DrawerHeaderTitle({ className, level, ...rest }: DrawerTitleProps): react_jsx_runtime.JSX.Element;
65
+ declare namespace DrawerHeaderTitle {
66
+ var displayName: string;
67
+ }
68
+ declare function DrawerHeader({ className, ...rest }: ComponentPropsWithRef<'header'>): react_jsx_runtime.JSX.Element;
69
+ declare namespace DrawerHeader {
70
+ var displayName: string;
71
+ var Title: typeof DrawerHeaderTitle;
72
+ }
73
+ declare function DrawerContent({ className, ...rest }: ComponentPropsWithRef<'div'>): react_jsx_runtime.JSX.Element;
74
+ declare namespace DrawerContent {
75
+ var displayName: string;
76
+ }
77
+ declare function DrawerFooter({ className, ...rest }: ComponentPropsWithRef<'footer'>): react_jsx_runtime.JSX.Element;
78
+ declare namespace DrawerFooter {
79
+ var displayName: string;
80
+ }
81
+ declare function Drawer({ id, children, className, defaultView, placement, size, onChange, ...rest }: DrawerProps): react_jsx_runtime.JSX.Element;
82
+ declare namespace Drawer {
83
+ var displayName: string;
84
+ var Layout: typeof DrawerLayout;
85
+ var Menu: typeof DrawerMenu;
86
+ var Panel: typeof DrawerPanel;
87
+ var View: typeof DrawerView;
88
+ var Header: typeof DrawerHeader;
89
+ var Content: typeof DrawerContent;
90
+ var Footer: typeof DrawerFooter;
91
+ var Trigger: typeof DrawerTrigger;
92
+ }
47
93
 
48
- export { Drawer };
94
+ export { Drawer, DrawerContext, DrawerEventHandlers };