@bitrise/bitkit-v2 0.3.205 → 0.3.206

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 (176) hide show
  1. package/dist/atoms/ImageCropper/ImageCropper.d.ts +10 -10
  2. package/dist/components/BitkitAccordion/BitkitAccordion.js.map +1 -1
  3. package/dist/components/BitkitCalendar/components/CalendarFooter.js.map +1 -1
  4. package/dist/components/BitkitCalendar/components/CalendarNextTrigger.js.map +1 -1
  5. package/dist/components/BitkitCalendar/components/CalendarPrevTrigger.js.map +1 -1
  6. package/dist/components/BitkitCalendar/components/CalendarSelect.js.map +1 -1
  7. package/dist/components/BitkitCalendar/components/CalendarTrigger.js.map +1 -1
  8. package/dist/components/BitkitCodeSnippet/BitkitCodeSnippet.js.map +1 -1
  9. package/dist/components/BitkitCollapsible/BitkitCollapsible.js.map +1 -1
  10. package/dist/components/BitkitCombobox/BitkitCombobox.d.ts +11 -1
  11. package/dist/components/BitkitCombobox/BitkitCombobox.js +4 -7
  12. package/dist/components/BitkitCombobox/BitkitCombobox.js.map +1 -1
  13. package/dist/components/BitkitDataWidget/BitkitDataWidget.d.ts +10 -0
  14. package/dist/components/BitkitDataWidget/BitkitDataWidget.js +45 -0
  15. package/dist/components/BitkitDataWidget/BitkitDataWidget.js.map +1 -0
  16. package/dist/components/BitkitDialog/BitkitDialog.d.ts +19 -6
  17. package/dist/components/BitkitDialog/BitkitDialog.js +22 -5
  18. package/dist/components/BitkitDialog/BitkitDialog.js.map +1 -1
  19. package/dist/components/BitkitDialog/BitkitDialogBody.d.ts +1 -1
  20. package/dist/components/BitkitDialog/BitkitDialogBody.js +15 -4
  21. package/dist/components/BitkitDialog/BitkitDialogBody.js.map +1 -1
  22. package/dist/components/BitkitDialog/BitkitDialogContent.d.ts +4 -2
  23. package/dist/components/BitkitDialog/BitkitDialogContent.js +29 -18
  24. package/dist/components/BitkitDialog/BitkitDialogContent.js.map +1 -1
  25. package/dist/components/BitkitDialog/BitkitDialogHeader.d.ts +9 -0
  26. package/dist/components/BitkitDialog/BitkitDialogHeader.js +8 -0
  27. package/dist/components/BitkitDialog/BitkitDialogHeader.js.map +1 -0
  28. package/dist/components/BitkitDialog/BitkitDialogStep.d.ts +11 -0
  29. package/dist/components/BitkitDialog/BitkitDialogStep.js +26 -0
  30. package/dist/components/BitkitDialog/BitkitDialogStep.js.map +1 -0
  31. package/dist/components/BitkitDialog/BitkitDialogStepContext.d.ts +5 -0
  32. package/dist/components/BitkitDialog/BitkitDialogStepContext.js +7 -0
  33. package/dist/components/BitkitDialog/BitkitDialogStepContext.js.map +1 -0
  34. package/dist/components/BitkitDraggableCard/BitkitDraggableCard.js.map +1 -1
  35. package/dist/components/BitkitExpandableCard/BitkitExpandableCard.js.map +1 -1
  36. package/dist/components/BitkitGroupHeading/BitkitGroupHeading.js.map +1 -1
  37. package/dist/components/BitkitInlineLoading/BitkitInlineLoading.js.map +1 -1
  38. package/dist/components/BitkitLabel/BitkitLabel.js +3 -3
  39. package/dist/components/BitkitLabel/BitkitLabel.js.map +1 -1
  40. package/dist/components/BitkitLabeledData/BitkitLabeledData.js +24 -17
  41. package/dist/components/BitkitLabeledData/BitkitLabeledData.js.map +1 -1
  42. package/dist/components/BitkitList/BitkitList.d.ts +21 -0
  43. package/dist/components/BitkitList/BitkitList.js +107 -0
  44. package/dist/components/BitkitList/BitkitList.js.map +1 -0
  45. package/dist/components/BitkitList/index.d.ts +2 -0
  46. package/dist/components/BitkitMarkdown/BitkitMarkdown.js +11 -17
  47. package/dist/components/BitkitMarkdown/BitkitMarkdown.js.map +1 -1
  48. package/dist/components/BitkitMarkdownCard/BitkitMarkdownCard.js.map +1 -1
  49. package/dist/components/BitkitMultiselect/BitkitMultiselect.d.ts +13 -1
  50. package/dist/components/BitkitMultiselect/BitkitMultiselect.js +3 -6
  51. package/dist/components/BitkitMultiselect/BitkitMultiselect.js.map +1 -1
  52. package/dist/components/BitkitMultiselectMenu/BitkitMultiselectMenu.d.ts +5 -1
  53. package/dist/components/BitkitMultiselectMenu/BitkitMultiselectMenu.js +5 -3
  54. package/dist/components/BitkitMultiselectMenu/BitkitMultiselectMenu.js.map +1 -1
  55. package/dist/components/BitkitNativeSelect/BitkitNativeSelect.js.map +1 -1
  56. package/dist/components/BitkitNoteCard/BitkitNoteCard.js.map +1 -1
  57. package/dist/components/BitkitOverflowContent/BitkitOverflowContent.js +2 -2
  58. package/dist/components/BitkitOverflowContent/BitkitOverflowContent.js.map +1 -1
  59. package/dist/components/BitkitPageFooter/BitkitPageFooter.js.map +1 -1
  60. package/dist/components/BitkitPagination/BitkitPagination.js.map +1 -1
  61. package/dist/components/BitkitPaginationLoadMore/BitkitPaginationLoadMore.js.map +1 -1
  62. package/dist/components/BitkitRibbon/BitkitRibbon.js.map +1 -1
  63. package/dist/components/BitkitSearchInput/BitkitSearchInput.js +2 -1
  64. package/dist/components/BitkitSearchInput/BitkitSearchInput.js.map +1 -1
  65. package/dist/components/BitkitSectionHeading/BitkitSectionHeading.js +1 -1
  66. package/dist/components/BitkitSectionHeading/BitkitSectionHeading.js.map +1 -1
  67. package/dist/components/BitkitSelect/BitkitSelect.d.ts +12 -1
  68. package/dist/components/BitkitSelect/BitkitSelect.js +3 -6
  69. package/dist/components/BitkitSelect/BitkitSelect.js.map +1 -1
  70. package/dist/components/BitkitSelectMenu/BitkitSelectMenu.d.ts +14 -11
  71. package/dist/components/BitkitSelectMenu/BitkitSelectMenu.js.map +1 -1
  72. package/dist/components/BitkitSelectMenu/SelectMenuShell.d.ts +1 -1
  73. package/dist/components/BitkitSelectMenu/SelectMenuShell.js +13 -13
  74. package/dist/components/BitkitSelectMenu/SelectMenuShell.js.map +1 -1
  75. package/dist/components/BitkitSettingsCard/BitkitSettingsCard.js.map +1 -1
  76. package/dist/components/BitkitSidebar/BitkitSidebar.js.map +1 -1
  77. package/dist/components/BitkitSplitButton/BitkitSplitButton.js.map +1 -1
  78. package/dist/components/BitkitSteps/BitkitSteps.js +3 -3
  79. package/dist/components/BitkitSteps/BitkitSteps.js.map +1 -1
  80. package/dist/components/BitkitStepsCard/BitkitStepsCard.js.map +1 -1
  81. package/dist/components/BitkitSwitch/BitkitSwitch.d.ts +3 -0
  82. package/dist/components/BitkitSwitch/BitkitSwitch.js +105 -0
  83. package/dist/components/BitkitSwitch/BitkitSwitch.js.map +1 -0
  84. package/dist/components/BitkitSwitch/BitkitSwitch.types.d.ts +21 -0
  85. package/dist/components/{BitkitToggle/BitkitToggle.utils.d.ts → BitkitSwitch/BitkitSwitch.utils.d.ts} +1 -1
  86. package/dist/components/{BitkitToggle/BitkitToggle.utils.js → BitkitSwitch/BitkitSwitch.utils.js} +2 -2
  87. package/dist/components/{BitkitToggle/BitkitToggle.utils.js.map → BitkitSwitch/BitkitSwitch.utils.js.map} +1 -1
  88. package/dist/components/BitkitSwitch/components/BitkitSwitchHelperText.d.ts +3 -0
  89. package/dist/components/{BitkitToggle/components/BitkitToggleHelperText.js → BitkitSwitch/components/BitkitSwitchHelperText.js} +5 -5
  90. package/dist/components/BitkitSwitch/components/BitkitSwitchHelperText.js.map +1 -0
  91. package/dist/components/BitkitSwitch/components/BitkitSwitchLabel.d.ts +3 -0
  92. package/dist/components/{BitkitToggle/components/BitkitToggleLabel.js → BitkitSwitch/components/BitkitSwitchLabel.js} +4 -4
  93. package/dist/components/BitkitSwitch/components/BitkitSwitchLabel.js.map +1 -0
  94. package/dist/components/BitkitSwitch/components/BitkitSwitchReadOnly.d.ts +4 -0
  95. package/dist/components/{BitkitToggle/components/BitkitToggleReadOnly.js → BitkitSwitch/components/BitkitSwitchReadOnly.js} +4 -4
  96. package/dist/components/{BitkitToggle/components/BitkitToggleReadOnly.js.map → BitkitSwitch/components/BitkitSwitchReadOnly.js.map} +1 -1
  97. package/dist/components/BitkitSwitch/components/BitkitSwitchValueText.d.ts +3 -0
  98. package/dist/components/{BitkitToggle/components/BitkitToggleValueText.js → BitkitSwitch/components/BitkitSwitchValueText.js} +7 -7
  99. package/dist/components/BitkitSwitch/components/BitkitSwitchValueText.js.map +1 -0
  100. package/dist/components/BitkitSwitch/index.d.ts +2 -0
  101. package/dist/components/BitkitTag/BitkitTag.js +1 -1
  102. package/dist/components/BitkitTag/BitkitTag.js.map +1 -1
  103. package/dist/components/BitkitTagsInput/BitkitTagsInput.d.ts +1 -0
  104. package/dist/components/BitkitTagsInput/BitkitTagsInput.js +5 -2
  105. package/dist/components/BitkitTagsInput/BitkitTagsInput.js.map +1 -1
  106. package/dist/components/BitkitTreeView/BitkitTreeView.js.map +1 -1
  107. package/dist/components/index.d.ts +5 -4
  108. package/dist/main.js +8 -7
  109. package/dist/theme/common/ComboboxAndSelect.common.js +2 -1
  110. package/dist/theme/common/ComboboxAndSelect.common.js.map +1 -1
  111. package/dist/theme/common/InputAndTextarea.common.d.ts +7 -0
  112. package/dist/theme/common/InputAndTextarea.common.js +8 -1
  113. package/dist/theme/common/InputAndTextarea.common.js.map +1 -1
  114. package/dist/theme/index.js.map +1 -1
  115. package/dist/theme/recipes/Button.recipe.js.map +1 -1
  116. package/dist/theme/recipes/Input.recipe.js +6 -2
  117. package/dist/theme/recipes/Input.recipe.js.map +1 -1
  118. package/dist/theme/recipes/SelectableTag.recipe.js +1 -1
  119. package/dist/theme/recipes/SelectableTag.recipe.js.map +1 -1
  120. package/dist/theme/recipes/ToggleButton.recipe.js +20 -2
  121. package/dist/theme/recipes/ToggleButton.recipe.js.map +1 -1
  122. package/dist/theme/semantic-tokens/semanticColors.js +14 -9
  123. package/dist/theme/semantic-tokens/semanticColors.js.map +1 -1
  124. package/dist/theme/slot-recipes/Combobox.recipe.js +14 -4
  125. package/dist/theme/slot-recipes/Combobox.recipe.js.map +1 -1
  126. package/dist/theme/slot-recipes/DataWidget.recipe.d.ts +2 -0
  127. package/dist/theme/slot-recipes/DataWidget.recipe.js +65 -0
  128. package/dist/theme/slot-recipes/DataWidget.recipe.js.map +1 -0
  129. package/dist/theme/slot-recipes/Dialog.recipe.d.ts +13 -4
  130. package/dist/theme/slot-recipes/Dialog.recipe.js +40 -7
  131. package/dist/theme/slot-recipes/Dialog.recipe.js.map +1 -1
  132. package/dist/theme/slot-recipes/GroupHeading.recipe.js +1 -1
  133. package/dist/theme/slot-recipes/GroupHeading.recipe.js.map +1 -1
  134. package/dist/theme/slot-recipes/MarkdownCard.recipe.d.ts +3 -3
  135. package/dist/theme/slot-recipes/MarkdownCard.recipe.js +4 -3
  136. package/dist/theme/slot-recipes/MarkdownCard.recipe.js.map +1 -1
  137. package/dist/theme/slot-recipes/NoteCard.recipe.js +14 -4
  138. package/dist/theme/slot-recipes/NoteCard.recipe.js.map +1 -1
  139. package/dist/theme/slot-recipes/Select.recipe.js +28 -11
  140. package/dist/theme/slot-recipes/Select.recipe.js.map +1 -1
  141. package/dist/theme/slot-recipes/StepCard.recipe.js.map +1 -1
  142. package/dist/theme/slot-recipes/Switch.recipe.d.ts +3 -3
  143. package/dist/theme/slot-recipes/Switch.recipe.js +12 -12
  144. package/dist/theme/slot-recipes/Switch.recipe.js.map +1 -1
  145. package/dist/theme/slot-recipes/TagsInput.recipe.d.ts +9 -4
  146. package/dist/theme/slot-recipes/TagsInput.recipe.js +18 -5
  147. package/dist/theme/slot-recipes/TagsInput.recipe.js.map +1 -1
  148. package/dist/theme/slot-recipes/TreeView.recipe.d.ts +1 -0
  149. package/dist/theme/slot-recipes/TreeView.recipe.js +4 -1
  150. package/dist/theme/slot-recipes/TreeView.recipe.js.map +1 -1
  151. package/dist/theme/slot-recipes/index.js +2 -0
  152. package/dist/theme/slot-recipes/index.js.map +1 -1
  153. package/dist/theme/text-styles.js.map +1 -1
  154. package/package.json +6 -6
  155. package/dist/components/BitkitExplainerList/BitkitExplainerList.d.ts +0 -14
  156. package/dist/components/BitkitExplainerList/BitkitExplainerList.js +0 -54
  157. package/dist/components/BitkitExplainerList/BitkitExplainerList.js.map +0 -1
  158. package/dist/components/BitkitOrderedList/BitkitOrderedList.d.ts +0 -13
  159. package/dist/components/BitkitOrderedList/BitkitOrderedList.js +0 -30
  160. package/dist/components/BitkitOrderedList/BitkitOrderedList.js.map +0 -1
  161. package/dist/components/BitkitToggle/BitkitToggle.d.ts +0 -3
  162. package/dist/components/BitkitToggle/BitkitToggle.js +0 -123
  163. package/dist/components/BitkitToggle/BitkitToggle.js.map +0 -1
  164. package/dist/components/BitkitToggle/BitkitToggle.types.d.ts +0 -22
  165. package/dist/components/BitkitToggle/components/BitkitToggleHelperText.d.ts +0 -3
  166. package/dist/components/BitkitToggle/components/BitkitToggleHelperText.js.map +0 -1
  167. package/dist/components/BitkitToggle/components/BitkitToggleLabel.d.ts +0 -3
  168. package/dist/components/BitkitToggle/components/BitkitToggleLabel.js.map +0 -1
  169. package/dist/components/BitkitToggle/components/BitkitToggleReadOnly.d.ts +0 -4
  170. package/dist/components/BitkitToggle/components/BitkitToggleValueText.d.ts +0 -3
  171. package/dist/components/BitkitToggle/components/BitkitToggleValueText.js.map +0 -1
  172. package/dist/components/BitkitToggle/index.d.ts +0 -2
  173. package/dist/components/BitkitUnorderedList/BitkitUnorderedList.d.ts +0 -16
  174. package/dist/components/BitkitUnorderedList/BitkitUnorderedList.js +0 -52
  175. package/dist/components/BitkitUnorderedList/BitkitUnorderedList.js.map +0 -1
  176. package/dist/theme/slot-recipes/Combobox.recipe.d.ts +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"BitkitAccordion.js","names":[],"sources":["../../../lib/components/BitkitAccordion/BitkitAccordion.tsx"],"sourcesContent":["import {\n Accordion,\n type AccordionItemBodyProps,\n type AccordionItemProps,\n type AccordionItemTriggerProps,\n type AccordionRootProps,\n useAccordionItemContext,\n} from '@chakra-ui/react/accordion';\nimport { Box } from '@chakra-ui/react/box';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { Text } from '@chakra-ui/react/text';\nimport { forwardRef, type ReactNode } from 'react';\n\nimport { type BitkitIconComponent } from '../../icons';\nimport AssetSelectChevron from '../../utilities/AssetSelectChevron';\n\nexport type BitkitAccordionProps = AccordionRootProps;\nexport type BitkitAccordionItemProps = AccordionItemProps;\nexport interface BitkitAccordionItemTriggerProps extends AccordionItemTriggerProps {\n icon?: BitkitIconComponent;\n secondaryText?: ReactNode;\n suffix?: ReactNode;\n}\nexport type BitkitAccordionItemBodyProps = AccordionItemBodyProps;\n\nconst Root = forwardRef<HTMLDivElement, BitkitAccordionProps>((props, ref) => {\n return <Accordion.Root ref={ref} multiple {...props} />;\n});\nconst Item = forwardRef<HTMLDivElement, BitkitAccordionItemProps>((props, ref) => {\n return <Accordion.Item ref={ref} {...props}></Accordion.Item>;\n});\nconst ItemTrigger = forwardRef<HTMLButtonElement, BitkitAccordionItemTriggerProps>(\n ({ children, icon: Icon, secondaryText, suffix, ...props }, ref) => {\n const recipe = useSlotRecipe({ key: 'accordion' });\n const styles = recipe();\n return (\n <Accordion.ItemTrigger ref={ref} {...props}>\n <Box display=\"flex\" alignItems=\"center\" gap=\"8\">\n {Icon && (\n <Box css={styles.icon} asChild>\n <Icon size=\"16\" />\n </Box>\n )}\n <Box display=\"flex\" alignItems=\"flex-start\" flexDirection=\"column\">\n {children}\n {secondaryText && <Text css={styles.secdText}>{secondaryText}</Text>}\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\">\n {suffix && <Text css={styles.suffix}>{secondaryText}</Text>}\n <Accordion.ItemIndicator asChild>\n <AssetSelectChevron />\n </Accordion.ItemIndicator>\n </Box>\n </Accordion.ItemTrigger>\n );\n },\n);\nconst ItemBody = forwardRef<HTMLDivElement, BitkitAccordionItemBodyProps>(({ ...props }, ref) => {\n const itemProps = useAccordionItemContext();\n return (\n <Accordion.ItemContent>\n <Accordion.ItemBody ref={ref} aria-disabled={itemProps.disabled} {...props} />\n </Accordion.ItemContent>\n );\n});\n\nRoot.displayName = 'BitkitAccordion.Root';\nItemBody.displayName = 'BitkitAccordion.ItemBody';\nItem.displayName = 'BitkitAccordion.Item';\nItemTrigger.displayName = 'BitkitAccordion.ItemTrigger';\nconst BitkitAccordion = { Root, Item, ItemTrigger, ItemBody };\n\nexport default BitkitAccordion;\n"],"mappings":";;;;;;;;AAyBA,IAAM,OAAO,YAAkD,OAAO,QAAQ;AAC5E,QAAO,oBAAC,UAAU,MAAX;EAAqB;EAAK,UAAA;EAAS,GAAI;EAAS,CAAA;EACvD;AACF,IAAM,OAAO,YAAsD,OAAO,QAAQ;AAChF,QAAO,oBAAC,UAAU,MAAX;EAAqB;EAAK,GAAI;EAAwB,CAAA;EAC7D;AACF,IAAM,cAAc,YACjB,EAAE,UAAU,MAAM,MAAM,eAAe,QAAQ,GAAG,SAAS,QAAQ;CAElE,MAAM,SADS,cAAc,EAAE,KAAK,aAAa,CAAC,EAC3B;AACvB,QACE,qBAAC,UAAU,aAAX;EAA4B;EAAK,GAAI;YAArC,CACE,qBAAC,KAAD;GAAK,SAAQ;GAAO,YAAW;GAAS,KAAI;aAA5C,CACG,QACC,oBAAC,KAAD;IAAK,KAAK,OAAO;IAAM,SAAA;cACrB,oBAAC,MAAD,EAAM,MAAK,MAAO,CAAA;IACd,CAAA,EAER,qBAAC,KAAD;IAAK,SAAQ;IAAO,YAAW;IAAa,eAAc;cAA1D,CACG,UACA,iBAAiB,oBAAC,MAAD;KAAM,KAAK,OAAO;eAAW;KAAqB,CAAA,CAChE;MACF;MACN,qBAAC,KAAD;GAAK,SAAQ;GAAO,YAAW;aAA/B,CACG,UAAU,oBAAC,MAAD;IAAM,KAAK,OAAO;cAAS;IAAqB,CAAA,EAC3D,oBAAC,UAAU,eAAX;IAAyB,SAAA;cACvB,oBAAC,oBAAD,EAAsB,CAAA;IACE,CAAA,CACtB;KACgB;;EAG7B;AACD,IAAM,WAAW,YAA0D,EAAE,GAAG,SAAS,QAAQ;CAC/F,MAAM,YAAY,yBAAyB;AAC3C,QACE,oBAAC,UAAU,aAAX,EAAA,UACE,oBAAC,UAAU,UAAX;EAAyB;EAAK,iBAAe,UAAU;EAAU,GAAI;EAAS,CAAA,EACxD,CAAA;EAE1B;AAEF,KAAK,cAAc;AACnB,SAAS,cAAc;AACvB,KAAK,cAAc;AACnB,YAAY,cAAc;AAC1B,IAAM,kBAAkB;CAAE;CAAM;CAAM;CAAa;CAAU"}
1
+ {"version":3,"file":"BitkitAccordion.js","names":[],"sources":["../../../lib/components/BitkitAccordion/BitkitAccordion.tsx"],"sourcesContent":["import {\n Accordion,\n type AccordionItemBodyProps,\n type AccordionItemProps,\n type AccordionItemTriggerProps,\n type AccordionRootProps,\n useAccordionItemContext,\n} from '@chakra-ui/react/accordion';\nimport { Box } from '@chakra-ui/react/box';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { Text } from '@chakra-ui/react/text';\nimport { forwardRef, type ReactNode } from 'react';\n\nimport { type BitkitIconComponent } from '../../icons';\nimport AssetSelectChevron from '../../utilities/AssetSelectChevron';\n\nexport type BitkitAccordionProps = AccordionRootProps;\nexport type BitkitAccordionItemProps = AccordionItemProps;\nexport interface BitkitAccordionItemTriggerProps extends AccordionItemTriggerProps {\n icon?: BitkitIconComponent;\n secondaryText?: ReactNode;\n suffix?: ReactNode;\n}\nexport type BitkitAccordionItemBodyProps = AccordionItemBodyProps;\n\nconst Root = forwardRef<HTMLDivElement, BitkitAccordionProps>((props, ref) => {\n return <Accordion.Root ref={ref} multiple {...props} />;\n});\nconst Item = forwardRef<HTMLDivElement, BitkitAccordionItemProps>((props, ref) => {\n return <Accordion.Item ref={ref} {...props}></Accordion.Item>;\n});\nconst ItemTrigger = forwardRef<HTMLButtonElement, BitkitAccordionItemTriggerProps>(\n ({ children, icon: Icon, secondaryText, suffix, ...props }, ref) => {\n const recipe = useSlotRecipe({ key: 'accordion' });\n const styles = recipe();\n return (\n <Accordion.ItemTrigger ref={ref} {...props}>\n <Box display=\"flex\" alignItems=\"center\" gap=\"8\">\n {Icon && (\n <Box css={styles.icon} asChild>\n <Icon size=\"16\" />\n </Box>\n )}\n <Box display=\"flex\" alignItems=\"flex-start\" flexDirection=\"column\">\n {children}\n {secondaryText && <Text css={styles.secdText}>{secondaryText}</Text>}\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\">\n {suffix && <Text css={styles.suffix}>{secondaryText}</Text>}\n <Accordion.ItemIndicator asChild>\n <AssetSelectChevron />\n </Accordion.ItemIndicator>\n </Box>\n </Accordion.ItemTrigger>\n );\n },\n);\nconst ItemBody = forwardRef<HTMLDivElement, BitkitAccordionItemBodyProps>(({ ...props }, ref) => {\n const itemProps = useAccordionItemContext();\n return (\n <Accordion.ItemContent>\n <Accordion.ItemBody ref={ref} aria-disabled={itemProps.disabled} {...props} />\n </Accordion.ItemContent>\n );\n});\n\nRoot.displayName = 'BitkitAccordion.Root';\nItemBody.displayName = 'BitkitAccordion.ItemBody';\nItem.displayName = 'BitkitAccordion.Item';\nItemTrigger.displayName = 'BitkitAccordion.ItemTrigger';\nconst BitkitAccordion = { Root, Item, ItemTrigger, ItemBody };\n\nexport default BitkitAccordion;\n"],"mappings":";;;;;;;;AAyBA,IAAM,OAAO,YAAkD,OAAO,QAAQ;AAC5E,QAAO,oBAAC,UAAU,MAAX;EAAqB;EAAK,UAAA;EAAS,GAAI;EAAS,CAAA;EACvD;AACF,IAAM,OAAO,YAAsD,OAAO,QAAQ;AAChF,QAAO,oBAAC,UAAU,MAAX;EAAqB;EAAK,GAAI;EAAwB,CAAA;EAC7D;AACF,IAAM,cAAc,YACjB,EAAE,UAAU,MAAM,MAAM,eAAe,QAAQ,GAAG,SAAS,QAAQ;CAElE,MAAM,SADS,cAAc,EAAE,KAAK,aAAa,CAClC,EAAQ;AACvB,QACE,qBAAC,UAAU,aAAX;EAA4B;EAAK,GAAI;YAArC,CACE,qBAAC,KAAD;GAAK,SAAQ;GAAO,YAAW;GAAS,KAAI;aAA5C,CACG,QACC,oBAAC,KAAD;IAAK,KAAK,OAAO;IAAM,SAAA;cACrB,oBAAC,MAAD,EAAM,MAAK,MAAO,CAAA;IACd,CAAA,EAER,qBAAC,KAAD;IAAK,SAAQ;IAAO,YAAW;IAAa,eAAc;cAA1D,CACG,UACA,iBAAiB,oBAAC,MAAD;KAAM,KAAK,OAAO;eAAW;KAAqB,CAAA,CAChE;MACF;MACN,qBAAC,KAAD;GAAK,SAAQ;GAAO,YAAW;aAA/B,CACG,UAAU,oBAAC,MAAD;IAAM,KAAK,OAAO;cAAS;IAAqB,CAAA,EAC3D,oBAAC,UAAU,eAAX;IAAyB,SAAA;cACvB,oBAAC,oBAAD,EAAsB,CAAA;IACE,CAAA,CACtB;KACgB;;EAG7B;AACD,IAAM,WAAW,YAA0D,EAAE,GAAG,SAAS,QAAQ;CAC/F,MAAM,YAAY,yBAAyB;AAC3C,QACE,oBAAC,UAAU,aAAX,EAAA,UACE,oBAAC,UAAU,UAAX;EAAyB;EAAK,iBAAe,UAAU;EAAU,GAAI;EAAS,CAAA,EACxD,CAAA;EAE1B;AAEF,KAAK,cAAc;AACnB,SAAS,cAAc;AACvB,KAAK,cAAc;AACnB,YAAY,cAAc;AAC1B,IAAM,kBAAkB;CAAE;CAAM;CAAM;CAAa;CAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarFooter.js","names":[],"sources":["../../../../lib/components/BitkitCalendar/components/CalendarFooter.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Button } from '@chakra-ui/react/button';\nimport { Text } from '@chakra-ui/react/text';\nimport { CalendarDate } from '@internationalized/date';\n\nimport { useDatePickerContext } from '../../../atoms/DatePicker/DatePicker';\nimport { calendarDateToDate } from '../Calendar.utils';\n\ntype CalendarFooterProps = {\n selectionMode?: 'day' | 'range';\n showSelectedDate?: boolean;\n};\n\nconst CalendarFooter = ({ selectionMode, showSelectedDate }: CalendarFooterProps) => {\n const { setOpen, setValue, value } = useDatePickerContext();\n\n const handleTodayClick = () => {\n const today = new Date();\n const todayCalendarDate = new CalendarDate(today.getFullYear(), today.getMonth() + 1, today.getDate());\n setValue([todayCalendarDate]);\n setOpen(false);\n };\n\n if (selectionMode === 'day') {\n return (\n <Box display=\"flex\" justifyContent=\"center\" marginTop=\"16\">\n <Button variant=\"tertiary\" size=\"sm\" onClick={handleTodayClick}>\n Today\n </Button>\n </Box>\n );\n }\n\n if (value.length === 2 && showSelectedDate) {\n const formatDate = (date: Date) => {\n return date.toLocaleDateString('en-US', {\n weekday: 'short',\n month: 'short',\n day: '2-digit',\n year: 'numeric',\n });\n };\n\n const startDate = calendarDateToDate(value[0]);\n const endDate = calendarDateToDate(value[1]);\n const formattedRange = `${formatDate(startDate)} – ${formatDate(endDate)}`;\n\n return (\n <Text textAlign=\"center\" color=\"text/secondary\" marginTop=\"24\" textStyle=\"body/lg/regular\">\n {formattedRange}\n </Text>\n );\n }\n\n return null;\n};\n\nexport default CalendarFooter;\n"],"mappings":";;;;;;;;AAaA,IAAM,kBAAkB,EAAE,eAAe,uBAA4C;CACnF,MAAM,EAAE,SAAS,UAAU,UAAU,sBAAsB;CAE3D,MAAM,yBAAyB;EAC7B,MAAM,wBAAQ,IAAI,MAAM;AAExB,WAAS,CADiB,IAAI,aAAa,MAAM,aAAa,EAAE,MAAM,UAAU,GAAG,GAAG,MAAM,SAAS,CAAC,CAC1E,CAAC;AAC7B,UAAQ,MAAM;;AAGhB,KAAI,kBAAkB,MACpB,QACE,oBAAC,KAAD;EAAK,SAAQ;EAAO,gBAAe;EAAS,WAAU;YACpD,oBAAC,QAAD;GAAQ,SAAQ;GAAW,MAAK;GAAK,SAAS;aAAkB;GAEvD,CAAA;EACL,CAAA;AAIV,KAAI,MAAM,WAAW,KAAK,kBAAkB;EAC1C,MAAM,cAAc,SAAe;AACjC,UAAO,KAAK,mBAAmB,SAAS;IACtC,SAAS;IACT,OAAO;IACP,KAAK;IACL,MAAM;IACP,CAAC;;EAGJ,MAAM,YAAY,mBAAmB,MAAM,GAAG;EAC9C,MAAM,UAAU,mBAAmB,MAAM,GAAG;AAG5C,SACE,oBAAC,MAAD;GAAM,WAAU;GAAS,OAAM;GAAiB,WAAU;GAAK,WAAU;aAHpD,GAAG,WAAW,UAAU,CAAC,KAAK,WAAW,QAAQ;GAK/D,CAAA;;AAIX,QAAO"}
1
+ {"version":3,"file":"CalendarFooter.js","names":[],"sources":["../../../../lib/components/BitkitCalendar/components/CalendarFooter.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Button } from '@chakra-ui/react/button';\nimport { Text } from '@chakra-ui/react/text';\nimport { CalendarDate } from '@internationalized/date';\n\nimport { useDatePickerContext } from '../../../atoms/DatePicker/DatePicker';\nimport { calendarDateToDate } from '../Calendar.utils';\n\ntype CalendarFooterProps = {\n selectionMode?: 'day' | 'range';\n showSelectedDate?: boolean;\n};\n\nconst CalendarFooter = ({ selectionMode, showSelectedDate }: CalendarFooterProps) => {\n const { setOpen, setValue, value } = useDatePickerContext();\n\n const handleTodayClick = () => {\n const today = new Date();\n const todayCalendarDate = new CalendarDate(today.getFullYear(), today.getMonth() + 1, today.getDate());\n setValue([todayCalendarDate]);\n setOpen(false);\n };\n\n if (selectionMode === 'day') {\n return (\n <Box display=\"flex\" justifyContent=\"center\" marginTop=\"16\">\n <Button variant=\"tertiary\" size=\"sm\" onClick={handleTodayClick}>\n Today\n </Button>\n </Box>\n );\n }\n\n if (value.length === 2 && showSelectedDate) {\n const formatDate = (date: Date) => {\n return date.toLocaleDateString('en-US', {\n weekday: 'short',\n month: 'short',\n day: '2-digit',\n year: 'numeric',\n });\n };\n\n const startDate = calendarDateToDate(value[0]);\n const endDate = calendarDateToDate(value[1]);\n const formattedRange = `${formatDate(startDate)} – ${formatDate(endDate)}`;\n\n return (\n <Text textAlign=\"center\" color=\"text/secondary\" marginTop=\"24\" textStyle=\"body/lg/regular\">\n {formattedRange}\n </Text>\n );\n }\n\n return null;\n};\n\nexport default CalendarFooter;\n"],"mappings":";;;;;;;;AAaA,IAAM,kBAAkB,EAAE,eAAe,uBAA4C;CACnF,MAAM,EAAE,SAAS,UAAU,UAAU,sBAAsB;CAE3D,MAAM,yBAAyB;EAC7B,MAAM,wBAAQ,IAAI,MAAM;AAExB,WAAS,CAAC,IADoB,aAAa,MAAM,aAAa,EAAE,MAAM,UAAU,GAAG,GAAG,MAAM,SAAS,CAC3F,CAAkB,CAAC;AAC7B,UAAQ,MAAM;;AAGhB,KAAI,kBAAkB,MACpB,QACE,oBAAC,KAAD;EAAK,SAAQ;EAAO,gBAAe;EAAS,WAAU;YACpD,oBAAC,QAAD;GAAQ,SAAQ;GAAW,MAAK;GAAK,SAAS;aAAkB;GAEvD,CAAA;EACL,CAAA;AAIV,KAAI,MAAM,WAAW,KAAK,kBAAkB;EAC1C,MAAM,cAAc,SAAe;AACjC,UAAO,KAAK,mBAAmB,SAAS;IACtC,SAAS;IACT,OAAO;IACP,KAAK;IACL,MAAM;IACP,CAAC;;EAGJ,MAAM,YAAY,mBAAmB,MAAM,GAAG;EAC9C,MAAM,UAAU,mBAAmB,MAAM,GAAG;AAG5C,SACE,oBAAC,MAAD;GAAM,WAAU;GAAS,OAAM;GAAiB,WAAU;GAAK,WAAU;aACtE,GAJqB,WAAW,UAAU,CAAC,KAAK,WAAW,QAAQ;GAK/D,CAAA;;AAIX,QAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarNextTrigger.js","names":[],"sources":["../../../../lib/components/BitkitCalendar/components/CalendarNextTrigger.tsx"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { IconButton } from '@chakra-ui/react';\n\nimport { useDatePickerContext } from '../../../atoms/DatePicker/DatePicker';\nimport { IconChevronRight } from '../../../main';\n\nconst CalendarNextTrigger = () => {\n const datePicker = useDatePickerContext();\n\n return (\n <IconButton {...datePicker.getNextTriggerProps()} color=\"button/secondary/fg/text\" size=\"sm\" variant=\"tertiary\">\n <IconChevronRight size=\"16\" />\n </IconButton>\n );\n};\n\nexport default CalendarNextTrigger;\n"],"mappings":";;;;;AAMA,IAAM,4BAA4B;AAGhC,QACE,oBAAC,YAAD;EAAY,GAHK,sBAAsB,CAGZ,qBAAqB;EAAE,OAAM;EAA2B,MAAK;EAAK,SAAQ;YACnG,oBAAC,kBAAD,EAAkB,MAAK,MAAO,CAAA;EACnB,CAAA"}
1
+ {"version":3,"file":"CalendarNextTrigger.js","names":[],"sources":["../../../../lib/components/BitkitCalendar/components/CalendarNextTrigger.tsx"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { IconButton } from '@chakra-ui/react';\n\nimport { useDatePickerContext } from '../../../atoms/DatePicker/DatePicker';\nimport { IconChevronRight } from '../../../main';\n\nconst CalendarNextTrigger = () => {\n const datePicker = useDatePickerContext();\n\n return (\n <IconButton {...datePicker.getNextTriggerProps()} color=\"button/secondary/fg/text\" size=\"sm\" variant=\"tertiary\">\n <IconChevronRight size=\"16\" />\n </IconButton>\n );\n};\n\nexport default CalendarNextTrigger;\n"],"mappings":";;;;;AAMA,IAAM,4BAA4B;AAGhC,QACE,oBAAC,YAAD;EAAY,GAHK,sBAGD,CAAW,qBAAqB;EAAE,OAAM;EAA2B,MAAK;EAAK,SAAQ;YACnG,oBAAC,kBAAD,EAAkB,MAAK,MAAO,CAAA;EACnB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarPrevTrigger.js","names":[],"sources":["../../../../lib/components/BitkitCalendar/components/CalendarPrevTrigger.tsx"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { IconButton } from '@chakra-ui/react';\n\nimport { useDatePickerContext } from '../../../atoms/DatePicker/DatePicker';\nimport { IconChevronLeft } from '../../../main';\n\nconst CalendarPrevTrigger = () => {\n const datePicker = useDatePickerContext();\n\n return (\n <IconButton {...datePicker.getPrevTriggerProps()} color=\"button/secondary/fg/text\" size=\"sm\" variant=\"tertiary\">\n <IconChevronLeft size=\"16\" />\n </IconButton>\n );\n};\n\nexport default CalendarPrevTrigger;\n"],"mappings":";;;;;AAMA,IAAM,4BAA4B;AAGhC,QACE,oBAAC,YAAD;EAAY,GAHK,sBAAsB,CAGZ,qBAAqB;EAAE,OAAM;EAA2B,MAAK;EAAK,SAAQ;YACnG,oBAAC,iBAAD,EAAiB,MAAK,MAAO,CAAA;EAClB,CAAA"}
1
+ {"version":3,"file":"CalendarPrevTrigger.js","names":[],"sources":["../../../../lib/components/BitkitCalendar/components/CalendarPrevTrigger.tsx"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { IconButton } from '@chakra-ui/react';\n\nimport { useDatePickerContext } from '../../../atoms/DatePicker/DatePicker';\nimport { IconChevronLeft } from '../../../main';\n\nconst CalendarPrevTrigger = () => {\n const datePicker = useDatePickerContext();\n\n return (\n <IconButton {...datePicker.getPrevTriggerProps()} color=\"button/secondary/fg/text\" size=\"sm\" variant=\"tertiary\">\n <IconChevronLeft size=\"16\" />\n </IconButton>\n );\n};\n\nexport default CalendarPrevTrigger;\n"],"mappings":";;;;;AAMA,IAAM,4BAA4B;AAGhC,QACE,oBAAC,YAAD;EAAY,GAHK,sBAGD,CAAW,qBAAqB;EAAE,OAAM;EAA2B,MAAK;EAAK,SAAQ;YACnG,oBAAC,iBAAD,EAAiB,MAAK,MAAO,CAAA;EAClB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarSelect.js","names":[],"sources":["../../../../lib/components/BitkitCalendar/components/CalendarSelect.tsx"],"sourcesContent":["import { createListCollection } from '@chakra-ui/react/collection';\nimport { Portal } from '@chakra-ui/react/portal';\nimport {\n Select,\n type SelectContentProps,\n type SelectControlProps,\n type SelectRootProps,\n} from '@chakra-ui/react/select';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\n\nimport AssetSelectChevron from '../../../utilities/AssetSelectChevron.tsx';\nimport BitkitSelectMenu from '../../BitkitSelectMenu/BitkitSelectMenu.tsx';\n\nexport interface BitkitSelectProps {\n controlProps?: SelectControlProps;\n contentProps?: SelectContentProps;\n defaultValue?: string[];\n items: Array<{ group?: string; value: string; label: string }>;\n onValueChange?: SelectRootProps['onValueChange'];\n value?: string[];\n}\n\nconst CalendarSelect = (props: BitkitSelectProps) => {\n const { contentProps, controlProps, defaultValue, items, onValueChange, value } = props;\n\n const collection = createListCollection({\n items,\n groupBy: (item) => item.group || '',\n });\n\n const recipe = useSlotRecipe({ key: 'datePickerSelect' });\n const styles = recipe();\n\n return (\n <Select.Root\n collection={collection}\n defaultValue={defaultValue}\n onValueChange={onValueChange}\n size=\"md\"\n value={value}\n >\n <Select.HiddenSelect />\n <Select.Control {...controlProps}>\n <Select.Trigger css={styles.trigger}>\n <Select.ValueText />\n </Select.Trigger>\n <Select.IndicatorGroup css={styles.indicatorGroup}>\n <Select.Indicator asChild css={styles.indicator}>\n <AssetSelectChevron width=\"20\" height=\"20\" />\n </Select.Indicator>\n </Select.IndicatorGroup>\n </Select.Control>\n <Portal>\n <Select.Positioner>\n <BitkitSelectMenu collection={collection} contentProps={contentProps} size=\"md\" />\n </Select.Positioner>\n </Portal>\n </Select.Root>\n );\n};\n\nCalendarSelect.displayName = 'CalendarSelect';\n\nexport default CalendarSelect;\n"],"mappings":";;;;;;;;AAsBA,IAAM,kBAAkB,UAA6B;CACnD,MAAM,EAAE,cAAc,cAAc,cAAc,OAAO,eAAe,UAAU;CAElF,MAAM,aAAa,qBAAqB;EACtC;EACA,UAAU,SAAS,KAAK,SAAS;EAClC,CAAC;CAGF,MAAM,SADS,cAAc,EAAE,KAAK,oBAAoB,CAAC,EAClC;AAEvB,QACE,qBAAC,OAAO,MAAR;EACc;EACE;EACC;EACf,MAAK;EACE;YALT;GAOE,oBAAC,OAAO,cAAR,EAAuB,CAAA;GACvB,qBAAC,OAAO,SAAR;IAAgB,GAAI;cAApB,CACE,oBAAC,OAAO,SAAR;KAAgB,KAAK,OAAO;eAC1B,oBAAC,OAAO,WAAR,EAAoB,CAAA;KACL,CAAA,EACjB,oBAAC,OAAO,gBAAR;KAAuB,KAAK,OAAO;eACjC,oBAAC,OAAO,WAAR;MAAkB,SAAA;MAAQ,KAAK,OAAO;gBACpC,oBAAC,oBAAD;OAAoB,OAAM;OAAK,QAAO;OAAO,CAAA;MAC5B,CAAA;KACG,CAAA,CACT;;GACjB,oBAAC,QAAD,EAAA,UACE,oBAAC,OAAO,YAAR,EAAA,UACE,oBAAC,kBAAD;IAA8B;IAA0B;IAAc,MAAK;IAAO,CAAA,EAChE,CAAA,EACb,CAAA;GACG;;;AAIlB,eAAe,cAAc"}
1
+ {"version":3,"file":"CalendarSelect.js","names":[],"sources":["../../../../lib/components/BitkitCalendar/components/CalendarSelect.tsx"],"sourcesContent":["import { createListCollection } from '@chakra-ui/react/collection';\nimport { Portal } from '@chakra-ui/react/portal';\nimport {\n Select,\n type SelectContentProps,\n type SelectControlProps,\n type SelectRootProps,\n} from '@chakra-ui/react/select';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\n\nimport AssetSelectChevron from '../../../utilities/AssetSelectChevron.tsx';\nimport BitkitSelectMenu from '../../BitkitSelectMenu/BitkitSelectMenu.tsx';\n\nexport interface BitkitSelectProps {\n controlProps?: SelectControlProps;\n contentProps?: SelectContentProps;\n defaultValue?: string[];\n items: Array<{ group?: string; value: string; label: string }>;\n onValueChange?: SelectRootProps['onValueChange'];\n value?: string[];\n}\n\nconst CalendarSelect = (props: BitkitSelectProps) => {\n const { contentProps, controlProps, defaultValue, items, onValueChange, value } = props;\n\n const collection = createListCollection({\n items,\n groupBy: (item) => item.group || '',\n });\n\n const recipe = useSlotRecipe({ key: 'datePickerSelect' });\n const styles = recipe();\n\n return (\n <Select.Root\n collection={collection}\n defaultValue={defaultValue}\n onValueChange={onValueChange}\n size=\"md\"\n value={value}\n >\n <Select.HiddenSelect />\n <Select.Control {...controlProps}>\n <Select.Trigger css={styles.trigger}>\n <Select.ValueText />\n </Select.Trigger>\n <Select.IndicatorGroup css={styles.indicatorGroup}>\n <Select.Indicator asChild css={styles.indicator}>\n <AssetSelectChevron width=\"20\" height=\"20\" />\n </Select.Indicator>\n </Select.IndicatorGroup>\n </Select.Control>\n <Portal>\n <Select.Positioner>\n <BitkitSelectMenu collection={collection} contentProps={contentProps} size=\"md\" />\n </Select.Positioner>\n </Portal>\n </Select.Root>\n );\n};\n\nCalendarSelect.displayName = 'CalendarSelect';\n\nexport default CalendarSelect;\n"],"mappings":";;;;;;;;AAsBA,IAAM,kBAAkB,UAA6B;CACnD,MAAM,EAAE,cAAc,cAAc,cAAc,OAAO,eAAe,UAAU;CAElF,MAAM,aAAa,qBAAqB;EACtC;EACA,UAAU,SAAS,KAAK,SAAS;EAClC,CAAC;CAGF,MAAM,SADS,cAAc,EAAE,KAAK,oBAAoB,CACzC,EAAQ;AAEvB,QACE,qBAAC,OAAO,MAAR;EACc;EACE;EACC;EACf,MAAK;EACE;YALT;GAOE,oBAAC,OAAO,cAAR,EAAuB,CAAA;GACvB,qBAAC,OAAO,SAAR;IAAgB,GAAI;cAApB,CACE,oBAAC,OAAO,SAAR;KAAgB,KAAK,OAAO;eAC1B,oBAAC,OAAO,WAAR,EAAoB,CAAA;KACL,CAAA,EACjB,oBAAC,OAAO,gBAAR;KAAuB,KAAK,OAAO;eACjC,oBAAC,OAAO,WAAR;MAAkB,SAAA;MAAQ,KAAK,OAAO;gBACpC,oBAAC,oBAAD;OAAoB,OAAM;OAAK,QAAO;OAAO,CAAA;MAC5B,CAAA;KACG,CAAA,CACT;;GACjB,oBAAC,QAAD,EAAA,UACE,oBAAC,OAAO,YAAR,EAAA,UACE,oBAAC,kBAAD;IAA8B;IAA0B;IAAc,MAAK;IAAO,CAAA,EAChE,CAAA,EACb,CAAA;GACG;;;AAIlB,eAAe,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarTrigger.js","names":[],"sources":["../../../../lib/components/BitkitCalendar/components/CalendarTrigger.tsx"],"sourcesContent":["import { cloneElement, isValidElement, type ReactNode } from 'react';\n\nimport { useDatePickerContext } from '../../../atoms/DatePicker/DatePicker';\n\nconst CalendarTrigger = ({ children }: { children: ReactNode }) => {\n const context = useDatePickerContext();\n const triggerProps = context.getTriggerProps();\n\n if (!isValidElement(children)) {\n throw new Error('CalendarTrigger children must be a valid React element');\n }\n\n const childProps = children.props as Record<string, any>;\n const mergedProps = {\n ...childProps,\n ...triggerProps,\n onClick: (event: any) => {\n triggerProps.onClick?.(event);\n childProps.onClick?.(event);\n },\n };\n\n return cloneElement(children, mergedProps as any);\n};\n\nexport default CalendarTrigger;\n"],"mappings":";;;AAIA,IAAM,mBAAmB,EAAE,eAAwC;CAEjE,MAAM,eADU,sBAAsB,CACT,iBAAiB;AAE9C,KAAI,CAAC,eAAe,SAAS,CAC3B,OAAM,IAAI,MAAM,yDAAyD;CAG3E,MAAM,aAAa,SAAS;AAU5B,QAAO,aAAa,UATA;EAClB,GAAG;EACH,GAAG;EACH,UAAU,UAAe;AACvB,gBAAa,UAAU,MAAM;AAC7B,cAAW,UAAU,MAAM;;EAE9B,CAEgD"}
1
+ {"version":3,"file":"CalendarTrigger.js","names":[],"sources":["../../../../lib/components/BitkitCalendar/components/CalendarTrigger.tsx"],"sourcesContent":["import { cloneElement, isValidElement, type ReactNode } from 'react';\n\nimport { useDatePickerContext } from '../../../atoms/DatePicker/DatePicker';\n\nconst CalendarTrigger = ({ children }: { children: ReactNode }) => {\n const context = useDatePickerContext();\n const triggerProps = context.getTriggerProps();\n\n if (!isValidElement(children)) {\n throw new Error('CalendarTrigger children must be a valid React element');\n }\n\n const childProps = children.props as Record<string, any>;\n const mergedProps = {\n ...childProps,\n ...triggerProps,\n onClick: (event: any) => {\n triggerProps.onClick?.(event);\n childProps.onClick?.(event);\n },\n };\n\n return cloneElement(children, mergedProps as any);\n};\n\nexport default CalendarTrigger;\n"],"mappings":";;;AAIA,IAAM,mBAAmB,EAAE,eAAwC;CAEjE,MAAM,eADU,sBACK,CAAQ,iBAAiB;AAE9C,KAAI,CAAC,eAAe,SAAS,CAC3B,OAAM,IAAI,MAAM,yDAAyD;CAG3E,MAAM,aAAa,SAAS;AAU5B,QAAO,aAAa,UAAU;EAR5B,GAAG;EACH,GAAG;EACH,UAAU,UAAe;AACvB,gBAAa,UAAU,MAAM;AAC7B,cAAW,UAAU,MAAM;;EAID,CAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"BitkitCodeSnippet.js","names":[],"sources":["../../../lib/components/BitkitCodeSnippet/BitkitCodeSnippet.tsx"],"sourcesContent":["import { useClipboard } from '@ark-ui/react/clipboard';\nimport { chakra, useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { forwardRef, type KeyboardEvent, useState } from 'react';\n\nimport { IconCheck, IconCopy } from '../../icons';\nimport AssetSelectChevron from '../../utilities/AssetSelectChevron';\nimport BitkitTooltip from '../BitkitTooltip/BitkitTooltip';\n\nconst COPY_TOOLTIP = 'Copy to clipboard';\n\ninterface BaseProps {\n children: string;\n size?: 'md' | 'lg';\n textToCopy?: string;\n}\n\ninterface InlineProps extends BaseProps {\n interactive?: boolean;\n startingHeight?: never;\n variant: 'inline';\n}\n\ninterface BlockProps extends BaseProps {\n interactive?: never;\n startingHeight?: number;\n variant: 'multi' | 'single';\n}\n\nexport type BitkitCodeSnippetProps = InlineProps | BlockProps;\n\nconst BitkitCodeSnippet = forwardRef<HTMLElement, BitkitCodeSnippetProps>((props, ref) => {\n const { children, interactive, size = 'lg', startingHeight, textToCopy, variant } = props;\n\n const hasShowMore = startingHeight !== undefined;\n const [isExpanded, setIsExpanded] = useState(false);\n\n const { copied, copy } = useClipboard({ timeout: 2000, value: textToCopy ?? children });\n\n const recipe = useSlotRecipe({ key: 'codeSnippet' });\n const styles = recipe({ size, variant, hasShowMore, isExpanded, interactive });\n\n const handleToggleExpand = () => {\n setIsExpanded((prev) => !prev);\n };\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n copy();\n }\n };\n\n const copyButton = (\n <chakra.button aria-label={COPY_TOOLTIP} css={styles.copyButton} onClick={copy} type=\"button\">\n {copied ? <IconCheck size=\"16\" /> : <IconCopy size=\"16\" />}\n </chakra.button>\n );\n\n if (variant === 'inline') {\n if (!interactive) {\n return (\n <chakra.code ref={ref} css={styles.root}>\n {children}\n </chakra.code>\n );\n }\n\n return (\n <BitkitTooltip text={COPY_TOOLTIP}>\n <chakra.code ref={ref} css={styles.root} onClick={copy} onKeyDown={handleKeyDown} role=\"button\" tabIndex={0}>\n {children}\n </chakra.code>\n </BitkitTooltip>\n );\n }\n\n if (variant === 'single') {\n return (\n <chakra.div ref={ref} css={styles.root}>\n <chakra.code css={styles.content} tabIndex={-1}>\n {children}\n </chakra.code>\n <BitkitTooltip text={COPY_TOOLTIP}>{copyButton}</BitkitTooltip>\n </chakra.div>\n );\n }\n\n const contentMaxHeight = hasShowMore && !isExpanded ? startingHeight : undefined;\n\n return (\n <chakra.div ref={ref} css={styles.root}>\n <chakra.code css={styles.content} maxHeight={contentMaxHeight} tabIndex={-1}>\n {children}\n </chakra.code>\n <chakra.div css={styles.copyButtonWrapper}>\n <BitkitTooltip text={COPY_TOOLTIP}>{copyButton}</BitkitTooltip>\n </chakra.div>\n {hasShowMore && (\n <chakra.div css={styles.showMoreContainer}>\n {!isExpanded && <chakra.div css={styles.showMoreGradient} />}\n <chakra.button onClick={handleToggleExpand} css={styles.showMoreButton}>\n {isExpanded ? 'Show less' : 'Show more'}\n <AssetSelectChevron data-state={isExpanded ? 'open' : 'closed'} height=\"16\" width=\"16\" />\n </chakra.button>\n </chakra.div>\n )}\n </chakra.div>\n );\n});\n\nBitkitCodeSnippet.displayName = 'BitkitCodeSnippet';\n\nexport default BitkitCodeSnippet;\n"],"mappings":";;;;;;;;;AAQA,IAAM,eAAe;AAsBrB,IAAM,oBAAoB,YAAiD,OAAO,QAAQ;CACxF,MAAM,EAAE,UAAU,aAAa,OAAO,MAAM,gBAAgB,YAAY,YAAY;CAEpF,MAAM,cAAc,mBAAmB,KAAA;CACvC,MAAM,CAAC,YAAY,iBAAiB,SAAS,MAAM;CAEnD,MAAM,EAAE,QAAQ,SAAS,aAAa;EAAE,SAAS;EAAM,OAAO,cAAc;EAAU,CAAC;CAGvF,MAAM,SADS,cAAc,EAAE,KAAK,eAAe,CAAC,CAC9B;EAAE;EAAM;EAAS;EAAa;EAAY;EAAa,CAAC;CAE9E,MAAM,2BAA2B;AAC/B,iBAAe,SAAS,CAAC,KAAK;;CAGhC,MAAM,iBAAiB,MAAqB;AAC1C,MAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,KAAE,gBAAgB;AAClB,SAAM;;;CAIV,MAAM,aACJ,oBAAC,OAAO,QAAR;EAAe,cAAY;EAAc,KAAK,OAAO;EAAY,SAAS;EAAM,MAAK;YAClF,SAAS,oBAAC,WAAD,EAAW,MAAK,MAAO,CAAA,GAAG,oBAAC,UAAD,EAAU,MAAK,MAAO,CAAA;EAC5C,CAAA;AAGlB,KAAI,YAAY,UAAU;AACxB,MAAI,CAAC,YACH,QACE,oBAAC,OAAO,MAAR;GAAkB;GAAK,KAAK,OAAO;GAChC;GACW,CAAA;AAIlB,SACE,oBAAC,eAAD;GAAe,MAAM;aACnB,oBAAC,OAAO,MAAR;IAAkB;IAAK,KAAK,OAAO;IAAM,SAAS;IAAM,WAAW;IAAe,MAAK;IAAS,UAAU;IACvG;IACW,CAAA;GACA,CAAA;;AAIpB,KAAI,YAAY,SACd,QACE,qBAAC,OAAO,KAAR;EAAiB;EAAK,KAAK,OAAO;YAAlC,CACE,oBAAC,OAAO,MAAR;GAAa,KAAK,OAAO;GAAS,UAAU;GACzC;GACW,CAAA,EACd,oBAAC,eAAD;GAAe,MAAM;aAAe;GAA2B,CAAA,CACpD;;CAIjB,MAAM,mBAAmB,eAAe,CAAC,aAAa,iBAAiB,KAAA;AAEvE,QACE,qBAAC,OAAO,KAAR;EAAiB;EAAK,KAAK,OAAO;YAAlC;GACE,oBAAC,OAAO,MAAR;IAAa,KAAK,OAAO;IAAS,WAAW;IAAkB,UAAU;IACtE;IACW,CAAA;GACd,oBAAC,OAAO,KAAR;IAAY,KAAK,OAAO;cACtB,oBAAC,eAAD;KAAe,MAAM;eAAe;KAA2B,CAAA;IACpD,CAAA;GACZ,eACC,qBAAC,OAAO,KAAR;IAAY,KAAK,OAAO;cAAxB,CACG,CAAC,cAAc,oBAAC,OAAO,KAAR,EAAY,KAAK,OAAO,kBAAoB,CAAA,EAC5D,qBAAC,OAAO,QAAR;KAAe,SAAS;KAAoB,KAAK,OAAO;eAAxD,CACG,aAAa,cAAc,aAC5B,oBAAC,oBAAD;MAAoB,cAAY,aAAa,SAAS;MAAU,QAAO;MAAK,OAAM;MAAO,CAAA,CAC3E;OACL;;GAEJ;;EAEf;AAEF,kBAAkB,cAAc"}
1
+ {"version":3,"file":"BitkitCodeSnippet.js","names":[],"sources":["../../../lib/components/BitkitCodeSnippet/BitkitCodeSnippet.tsx"],"sourcesContent":["import { useClipboard } from '@ark-ui/react/clipboard';\nimport { chakra, useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { forwardRef, type KeyboardEvent, useState } from 'react';\n\nimport { IconCheck, IconCopy } from '../../icons';\nimport AssetSelectChevron from '../../utilities/AssetSelectChevron';\nimport BitkitTooltip from '../BitkitTooltip/BitkitTooltip';\n\nconst COPY_TOOLTIP = 'Copy to clipboard';\n\ninterface BaseProps {\n children: string;\n size?: 'md' | 'lg';\n textToCopy?: string;\n}\n\ninterface InlineProps extends BaseProps {\n interactive?: boolean;\n startingHeight?: never;\n variant: 'inline';\n}\n\ninterface BlockProps extends BaseProps {\n interactive?: never;\n startingHeight?: number;\n variant: 'multi' | 'single';\n}\n\nexport type BitkitCodeSnippetProps = InlineProps | BlockProps;\n\nconst BitkitCodeSnippet = forwardRef<HTMLElement, BitkitCodeSnippetProps>((props, ref) => {\n const { children, interactive, size = 'lg', startingHeight, textToCopy, variant } = props;\n\n const hasShowMore = startingHeight !== undefined;\n const [isExpanded, setIsExpanded] = useState(false);\n\n const { copied, copy } = useClipboard({ timeout: 2000, value: textToCopy ?? children });\n\n const recipe = useSlotRecipe({ key: 'codeSnippet' });\n const styles = recipe({ size, variant, hasShowMore, isExpanded, interactive });\n\n const handleToggleExpand = () => {\n setIsExpanded((prev) => !prev);\n };\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n copy();\n }\n };\n\n const copyButton = (\n <chakra.button aria-label={COPY_TOOLTIP} css={styles.copyButton} onClick={copy} type=\"button\">\n {copied ? <IconCheck size=\"16\" /> : <IconCopy size=\"16\" />}\n </chakra.button>\n );\n\n if (variant === 'inline') {\n if (!interactive) {\n return (\n <chakra.code ref={ref} css={styles.root}>\n {children}\n </chakra.code>\n );\n }\n\n return (\n <BitkitTooltip text={COPY_TOOLTIP}>\n <chakra.code ref={ref} css={styles.root} onClick={copy} onKeyDown={handleKeyDown} role=\"button\" tabIndex={0}>\n {children}\n </chakra.code>\n </BitkitTooltip>\n );\n }\n\n if (variant === 'single') {\n return (\n <chakra.div ref={ref} css={styles.root}>\n <chakra.code css={styles.content} tabIndex={-1}>\n {children}\n </chakra.code>\n <BitkitTooltip text={COPY_TOOLTIP}>{copyButton}</BitkitTooltip>\n </chakra.div>\n );\n }\n\n const contentMaxHeight = hasShowMore && !isExpanded ? startingHeight : undefined;\n\n return (\n <chakra.div ref={ref} css={styles.root}>\n <chakra.code css={styles.content} maxHeight={contentMaxHeight} tabIndex={-1}>\n {children}\n </chakra.code>\n <chakra.div css={styles.copyButtonWrapper}>\n <BitkitTooltip text={COPY_TOOLTIP}>{copyButton}</BitkitTooltip>\n </chakra.div>\n {hasShowMore && (\n <chakra.div css={styles.showMoreContainer}>\n {!isExpanded && <chakra.div css={styles.showMoreGradient} />}\n <chakra.button onClick={handleToggleExpand} css={styles.showMoreButton}>\n {isExpanded ? 'Show less' : 'Show more'}\n <AssetSelectChevron data-state={isExpanded ? 'open' : 'closed'} height=\"16\" width=\"16\" />\n </chakra.button>\n </chakra.div>\n )}\n </chakra.div>\n );\n});\n\nBitkitCodeSnippet.displayName = 'BitkitCodeSnippet';\n\nexport default BitkitCodeSnippet;\n"],"mappings":";;;;;;;;;AAQA,IAAM,eAAe;AAsBrB,IAAM,oBAAoB,YAAiD,OAAO,QAAQ;CACxF,MAAM,EAAE,UAAU,aAAa,OAAO,MAAM,gBAAgB,YAAY,YAAY;CAEpF,MAAM,cAAc,mBAAmB,KAAA;CACvC,MAAM,CAAC,YAAY,iBAAiB,SAAS,MAAM;CAEnD,MAAM,EAAE,QAAQ,SAAS,aAAa;EAAE,SAAS;EAAM,OAAO,cAAc;EAAU,CAAC;CAGvF,MAAM,SADS,cAAc,EAAE,KAAK,eAAe,CACpC,CAAO;EAAE;EAAM;EAAS;EAAa;EAAY;EAAa,CAAC;CAE9E,MAAM,2BAA2B;AAC/B,iBAAe,SAAS,CAAC,KAAK;;CAGhC,MAAM,iBAAiB,MAAqB;AAC1C,MAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,KAAE,gBAAgB;AAClB,SAAM;;;CAIV,MAAM,aACJ,oBAAC,OAAO,QAAR;EAAe,cAAY;EAAc,KAAK,OAAO;EAAY,SAAS;EAAM,MAAK;YAClF,SAAS,oBAAC,WAAD,EAAW,MAAK,MAAO,CAAA,GAAG,oBAAC,UAAD,EAAU,MAAK,MAAO,CAAA;EAC5C,CAAA;AAGlB,KAAI,YAAY,UAAU;AACxB,MAAI,CAAC,YACH,QACE,oBAAC,OAAO,MAAR;GAAkB;GAAK,KAAK,OAAO;GAChC;GACW,CAAA;AAIlB,SACE,oBAAC,eAAD;GAAe,MAAM;aACnB,oBAAC,OAAO,MAAR;IAAkB;IAAK,KAAK,OAAO;IAAM,SAAS;IAAM,WAAW;IAAe,MAAK;IAAS,UAAU;IACvG;IACW,CAAA;GACA,CAAA;;AAIpB,KAAI,YAAY,SACd,QACE,qBAAC,OAAO,KAAR;EAAiB;EAAK,KAAK,OAAO;YAAlC,CACE,oBAAC,OAAO,MAAR;GAAa,KAAK,OAAO;GAAS,UAAU;GACzC;GACW,CAAA,EACd,oBAAC,eAAD;GAAe,MAAM;aAAe;GAA2B,CAAA,CACpD;;CAIjB,MAAM,mBAAmB,eAAe,CAAC,aAAa,iBAAiB,KAAA;AAEvE,QACE,qBAAC,OAAO,KAAR;EAAiB;EAAK,KAAK,OAAO;YAAlC;GACE,oBAAC,OAAO,MAAR;IAAa,KAAK,OAAO;IAAS,WAAW;IAAkB,UAAU;IACtE;IACW,CAAA;GACd,oBAAC,OAAO,KAAR;IAAY,KAAK,OAAO;cACtB,oBAAC,eAAD;KAAe,MAAM;eAAe;KAA2B,CAAA;IACpD,CAAA;GACZ,eACC,qBAAC,OAAO,KAAR;IAAY,KAAK,OAAO;cAAxB,CACG,CAAC,cAAc,oBAAC,OAAO,KAAR,EAAY,KAAK,OAAO,kBAAoB,CAAA,EAC5D,qBAAC,OAAO,QAAR;KAAe,SAAS;KAAoB,KAAK,OAAO;eAAxD,CACG,aAAa,cAAc,aAC5B,oBAAC,oBAAD;MAAoB,cAAY,aAAa,SAAS;MAAU,QAAO;MAAK,OAAM;MAAO,CAAA,CAC3E;OACL;;GAEJ;;EAEf;AAEF,kBAAkB,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"BitkitCollapsible.js","names":[],"sources":["../../../lib/components/BitkitCollapsible/BitkitCollapsible.tsx"],"sourcesContent":["import { Collapsible, type CollapsibleRootProps } from '@chakra-ui/react/collapsible';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { forwardRef, type ReactNode } from 'react';\n\n// TODO: Investigate using AssetSelectChevron instead of IconChevronDown/IconChevronUp\nimport { IconChevronDown, IconChevronUp } from '../../icons';\nimport BitkitLabel, { type BitkitLabelProps } from '../BitkitLabel/BitkitLabel';\n\ntype UncontrolledProps = {\n defaultOpen?: boolean;\n open?: never;\n onOpenChange?: never;\n};\n\ntype ControlledProps = {\n defaultOpen?: never;\n onOpenChange: (open: boolean) => void;\n open: boolean;\n};\n\nexport type BitkitCollapsibleProps = Omit<\n CollapsibleRootProps,\n 'collapsedHeight' | 'defaultOpen' | 'onOpenChange' | 'open'\n> & {\n children: ReactNode;\n closedLabel?: string;\n collapsedHeight?: string;\n label?: string;\n labelProps?: Omit<BitkitLabelProps, 'children'>;\n openLabel?: string;\n} & (UncontrolledProps | ControlledProps);\n\nconst BitkitCollapsible = forwardRef<HTMLDivElement, BitkitCollapsibleProps>((props, ref) => {\n const {\n children,\n closedLabel = 'Show less',\n collapsedHeight = '48px',\n defaultOpen,\n label,\n labelProps,\n onOpenChange,\n open,\n openLabel = 'Show more',\n ...rest\n } = props;\n\n const recipe = useSlotRecipe({ key: 'collapsible' });\n const styles = recipe();\n\n const handleOpenChange = onOpenChange ? (details: { open: boolean }) => onOpenChange(details.open) : undefined;\n\n return (\n <Collapsible.Root\n ref={ref}\n collapsedHeight={collapsedHeight}\n css={styles.root}\n defaultOpen={defaultOpen}\n onOpenChange={handleOpenChange}\n open={open}\n {...rest}\n >\n {label && <BitkitLabel {...labelProps}>{label}</BitkitLabel>}\n <Collapsible.Content css={styles.content}>{children}</Collapsible.Content>\n <Collapsible.Trigger css={styles.trigger}>\n <Collapsible.Context>\n {(api) => (\n <>\n {api.open ? closedLabel : openLabel}\n {api.open ? <IconChevronUp size=\"16\" /> : <IconChevronDown size=\"16\" />}\n </>\n )}\n </Collapsible.Context>\n </Collapsible.Trigger>\n </Collapsible.Root>\n );\n});\n\nBitkitCollapsible.displayName = 'BitkitCollapsible';\n\nexport default BitkitCollapsible;\n"],"mappings":";;;;;;;;AAgCA,IAAM,oBAAoB,YAAoD,OAAO,QAAQ;CAC3F,MAAM,EACJ,UACA,cAAc,aACd,kBAAkB,QAClB,aACA,OACA,YACA,cACA,MACA,YAAY,aACZ,GAAG,SACD;CAGJ,MAAM,SADS,cAAc,EAAE,KAAK,eAAe,CAAC,EAC7B;CAEvB,MAAM,mBAAmB,gBAAgB,YAA+B,aAAa,QAAQ,KAAK,GAAG,KAAA;AAErG,QACE,qBAAC,YAAY,MAAb;EACO;EACY;EACjB,KAAK,OAAO;EACC;EACb,cAAc;EACR;EACN,GAAI;YAPN;GASG,SAAS,oBAAC,aAAD;IAAa,GAAI;cAAa;IAAoB,CAAA;GAC5D,oBAAC,YAAY,SAAb;IAAqB,KAAK,OAAO;IAAU;IAA+B,CAAA;GAC1E,oBAAC,YAAY,SAAb;IAAqB,KAAK,OAAO;cAC/B,oBAAC,YAAY,SAAb,EAAA,WACI,QACA,qBAAA,YAAA,EAAA,UAAA,CACG,IAAI,OAAO,cAAc,WACzB,IAAI,OAAO,oBAAC,eAAD,EAAe,MAAK,MAAO,CAAA,GAAG,oBAAC,iBAAD,EAAiB,MAAK,MAAO,CAAA,CACtE,EAAA,CAAA,EAEe,CAAA;IACF,CAAA;GACL;;EAErB;AAEF,kBAAkB,cAAc"}
1
+ {"version":3,"file":"BitkitCollapsible.js","names":[],"sources":["../../../lib/components/BitkitCollapsible/BitkitCollapsible.tsx"],"sourcesContent":["import { Collapsible, type CollapsibleRootProps } from '@chakra-ui/react/collapsible';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { forwardRef, type ReactNode } from 'react';\n\n// TODO: Investigate using AssetSelectChevron instead of IconChevronDown/IconChevronUp\nimport { IconChevronDown, IconChevronUp } from '../../icons';\nimport BitkitLabel, { type BitkitLabelProps } from '../BitkitLabel/BitkitLabel';\n\ntype UncontrolledProps = {\n defaultOpen?: boolean;\n open?: never;\n onOpenChange?: never;\n};\n\ntype ControlledProps = {\n defaultOpen?: never;\n onOpenChange: (open: boolean) => void;\n open: boolean;\n};\n\nexport type BitkitCollapsibleProps = Omit<\n CollapsibleRootProps,\n 'collapsedHeight' | 'defaultOpen' | 'onOpenChange' | 'open'\n> & {\n children: ReactNode;\n closedLabel?: string;\n collapsedHeight?: string;\n label?: string;\n labelProps?: Omit<BitkitLabelProps, 'children'>;\n openLabel?: string;\n} & (UncontrolledProps | ControlledProps);\n\nconst BitkitCollapsible = forwardRef<HTMLDivElement, BitkitCollapsibleProps>((props, ref) => {\n const {\n children,\n closedLabel = 'Show less',\n collapsedHeight = '48px',\n defaultOpen,\n label,\n labelProps,\n onOpenChange,\n open,\n openLabel = 'Show more',\n ...rest\n } = props;\n\n const recipe = useSlotRecipe({ key: 'collapsible' });\n const styles = recipe();\n\n const handleOpenChange = onOpenChange ? (details: { open: boolean }) => onOpenChange(details.open) : undefined;\n\n return (\n <Collapsible.Root\n ref={ref}\n collapsedHeight={collapsedHeight}\n css={styles.root}\n defaultOpen={defaultOpen}\n onOpenChange={handleOpenChange}\n open={open}\n {...rest}\n >\n {label && <BitkitLabel {...labelProps}>{label}</BitkitLabel>}\n <Collapsible.Content css={styles.content}>{children}</Collapsible.Content>\n <Collapsible.Trigger css={styles.trigger}>\n <Collapsible.Context>\n {(api) => (\n <>\n {api.open ? closedLabel : openLabel}\n {api.open ? <IconChevronUp size=\"16\" /> : <IconChevronDown size=\"16\" />}\n </>\n )}\n </Collapsible.Context>\n </Collapsible.Trigger>\n </Collapsible.Root>\n );\n});\n\nBitkitCollapsible.displayName = 'BitkitCollapsible';\n\nexport default BitkitCollapsible;\n"],"mappings":";;;;;;;;AAgCA,IAAM,oBAAoB,YAAoD,OAAO,QAAQ;CAC3F,MAAM,EACJ,UACA,cAAc,aACd,kBAAkB,QAClB,aACA,OACA,YACA,cACA,MACA,YAAY,aACZ,GAAG,SACD;CAGJ,MAAM,SADS,cAAc,EAAE,KAAK,eAAe,CACpC,EAAQ;CAEvB,MAAM,mBAAmB,gBAAgB,YAA+B,aAAa,QAAQ,KAAK,GAAG,KAAA;AAErG,QACE,qBAAC,YAAY,MAAb;EACO;EACY;EACjB,KAAK,OAAO;EACC;EACb,cAAc;EACR;EACN,GAAI;YAPN;GASG,SAAS,oBAAC,aAAD;IAAa,GAAI;cAAa;IAAoB,CAAA;GAC5D,oBAAC,YAAY,SAAb;IAAqB,KAAK,OAAO;IAAU;IAA+B,CAAA;GAC1E,oBAAC,YAAY,SAAb;IAAqB,KAAK,OAAO;cAC/B,oBAAC,YAAY,SAAb,EAAA,WACI,QACA,qBAAA,YAAA,EAAA,UAAA,CACG,IAAI,OAAO,cAAc,WACzB,IAAI,OAAO,oBAAC,eAAD,EAAe,MAAK,MAAO,CAAA,GAAG,oBAAC,iBAAD,EAAiB,MAAK,MAAO,CAAA,CACtE,EAAA,CAAA,EAEe,CAAA;IACF,CAAA;GACL;;EAErB;AAEF,kBAAkB,cAAc"}
@@ -12,5 +12,15 @@ export type BitkitComboboxProps = Omit<BitkitFieldProps, 'children' | 'state'> &
12
12
  state?: 'disabled' | 'error' | 'readOnly' | 'warning';
13
13
  value?: string;
14
14
  } & BitkitSelectMenuCreateItemProps & BitkitSelectMenuSearchProps & BitkitSelectMenuEmptyStateProps;
15
- declare const BitkitCombobox: import('react').ForwardRefExoticComponent<BitkitComboboxProps & import('react').RefAttributes<HTMLDivElement>>;
15
+ declare const BitkitCombobox: import('react').ForwardRefExoticComponent<Omit<BitkitFieldProps, "children" | "state"> & {
16
+ comboboxProps?: Omit<ComboboxRootProps, "collection" | "defaultValue" | "onValueChange" | "value">;
17
+ defaultValue?: string;
18
+ isLoading?: boolean;
19
+ items: Array<BitkitSelectMenuItemProps>;
20
+ onValueChange?: (newVal: string | undefined) => void;
21
+ placeholder?: string;
22
+ size?: "md" | "lg";
23
+ state?: "disabled" | "error" | "readOnly" | "warning";
24
+ value?: string;
25
+ } & BitkitSelectMenuCreateItemProps & BitkitSelectMenuSearchProps & BitkitSelectMenuEmptyStateProps & import('react').RefAttributes<HTMLDivElement>>;
16
26
  export default BitkitCombobox;
@@ -12,7 +12,7 @@ import { useListCollection } from "@chakra-ui/react/hooks";
12
12
  import { useFilter } from "@chakra-ui/react/locale";
13
13
  //#region lib/components/BitkitCombobox/BitkitCombobox.tsx
14
14
  var BitkitCombobox = forwardRef((props, ref) => {
15
- const { comboboxProps, createItemLabel, defaultValue, emptyHelperText, emptyLabel, hasSearch, isLoading, items, onCreateItem, onSearchChange, onValueChange, placeholder = "Enter a value or select", searchValue, size, state, value, ...fieldProps } = props;
15
+ const { comboboxProps, createItemLabel, defaultValue, emptyHelperText, emptyLabel, isLoading, items, onCreateItem, onSearchChange, onValueChange, placeholder = "Enter a value or select", searchValue, size, state, value, ...fieldProps } = props;
16
16
  const { contains } = useFilter({ sensitivity: "base" });
17
17
  const { collection, filter } = useListCollection({
18
18
  initialItems: items,
@@ -66,13 +66,10 @@ var BitkitCombobox = forwardRef((props, ref) => {
66
66
  emptyLabel,
67
67
  isLoading,
68
68
  onCreateItem,
69
+ onSearchChange,
70
+ searchValue,
69
71
  size,
70
- variant: "combobox",
71
- ...hasSearch ? {
72
- hasSearch: true,
73
- onSearchChange,
74
- searchValue
75
- } : { hasSearch: false }
72
+ variant: "combobox"
76
73
  }) }) })]
77
74
  })
78
75
  });
@@ -1 +1 @@
1
- {"version":3,"file":"BitkitCombobox.js","names":[],"sources":["../../../lib/components/BitkitCombobox/BitkitCombobox.tsx"],"sourcesContent":["import { Combobox, type ComboboxRootProps } from '@chakra-ui/react/combobox';\nimport { useListCollection } from '@chakra-ui/react/hooks';\nimport { useFilter } from '@chakra-ui/react/locale';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { forwardRef } from 'react';\n\nimport IconErrorCircleFilled from '../../icons/IconErrorCircleFilled';\nimport IconWarningYellow from '../../icons/IconWarningYellow';\nimport AssetSelectChevron from '../../utilities/AssetSelectChevron';\nimport BitkitCloseButton from '../BitkitCloseButton/BitkitCloseButton';\nimport BitkitField, { type BitkitFieldProps } from '../BitkitField/BitkitField';\nimport BitkitSelectMenu, {\n type BitkitSelectMenuCreateItemProps,\n type BitkitSelectMenuEmptyStateProps,\n type BitkitSelectMenuItemProps,\n type BitkitSelectMenuSearchProps,\n} from '../BitkitSelectMenu/BitkitSelectMenu';\n\nexport type BitkitComboboxProps = Omit<BitkitFieldProps, 'children' | 'state'> & {\n comboboxProps?: Omit<ComboboxRootProps, 'collection' | 'defaultValue' | 'onValueChange' | 'value'>;\n defaultValue?: string;\n isLoading?: boolean;\n items: Array<BitkitSelectMenuItemProps>;\n onValueChange?: (newVal: string | undefined) => void;\n placeholder?: string;\n size?: 'md' | 'lg';\n state?: 'disabled' | 'error' | 'readOnly' | 'warning';\n value?: string;\n} & BitkitSelectMenuCreateItemProps &\n BitkitSelectMenuSearchProps &\n BitkitSelectMenuEmptyStateProps;\n\nconst BitkitCombobox = forwardRef<HTMLDivElement, BitkitComboboxProps>((props: BitkitComboboxProps, ref) => {\n const {\n comboboxProps,\n createItemLabel,\n defaultValue,\n emptyHelperText,\n emptyLabel,\n hasSearch,\n isLoading,\n items,\n onCreateItem,\n onSearchChange,\n onValueChange,\n placeholder = 'Enter a value or select',\n searchValue,\n size,\n state,\n value,\n ...fieldProps\n } = props;\n\n const { contains } = useFilter({ sensitivity: 'base' });\n const { collection, filter } = useListCollection<BitkitSelectMenuItemProps>({\n initialItems: items,\n filter: (_itemText, filterText, item) => contains(item.label, filterText),\n isItemDisabled: (item) => !!item.disabled,\n });\n\n const hasWarning = state === 'warning' || !!fieldProps.warningText;\n const isInvalid = state === 'error' || !!fieldProps.errorText;\n const iconSize = size === 'md' ? '16' : '24';\n\n let statusIcon;\n if (isInvalid) {\n statusIcon = <IconErrorCircleFilled size={iconSize} color=\"icon/negative\" />;\n } else if (hasWarning) {\n statusIcon = <IconWarningYellow size={iconSize} />;\n }\n\n return (\n <BitkitField ref={ref} state={state} {...fieldProps}>\n <Combobox.Root\n {...comboboxProps}\n collection={collection}\n defaultValue={defaultValue ? [defaultValue] : undefined}\n disabled={state === 'disabled'}\n invalid={isInvalid}\n onInputValueChange={(e) => {\n filter(e.inputValue);\n }}\n onValueChange={(details) => onValueChange?.(details.value[0])}\n readOnly={state === 'readOnly'}\n // Bypass Zag's isScrollable(contentEl) gate — our Content is overflow:hidden flex\n // column, so the real scroll container is itemList. See BitkitMultiselect for why.\n scrollToIndexFn={({ getElement }) => getElement()?.scrollIntoView({ block: 'nearest' })}\n size={size}\n value={value ? [value] : undefined}\n >\n <Combobox.Control className=\"group\">\n <Combobox.Input placeholder={placeholder} />\n <Combobox.IndicatorGroup>\n <Combobox.ClearTrigger asChild>\n <BitkitCloseButton size=\"sm\" />\n </Combobox.ClearTrigger>\n {statusIcon}\n <Combobox.Trigger asChild>\n <AssetSelectChevron />\n </Combobox.Trigger>\n </Combobox.IndicatorGroup>\n </Combobox.Control>\n <Portal>\n <Combobox.Positioner>\n <BitkitSelectMenu\n collection={collection}\n createItemLabel={createItemLabel}\n emptyHelperText={emptyHelperText}\n emptyLabel={emptyLabel}\n isLoading={isLoading}\n onCreateItem={onCreateItem}\n size={size}\n variant=\"combobox\"\n {...(hasSearch\n ? { hasSearch: true as const, onSearchChange, searchValue }\n : { hasSearch: false as const })}\n />\n </Combobox.Positioner>\n </Portal>\n </Combobox.Root>\n </BitkitField>\n );\n});\n\nBitkitCombobox.displayName = 'BitkitCombobox';\n\nexport default BitkitCombobox;\n"],"mappings":";;;;;;;;;;;;;AAgCA,IAAM,iBAAiB,YAAiD,OAA4B,QAAQ;CAC1G,MAAM,EACJ,eACA,iBACA,cACA,iBACA,YACA,WACA,WACA,OACA,cACA,gBACA,eACA,cAAc,2BACd,aACA,MACA,OACA,OACA,GAAG,eACD;CAEJ,MAAM,EAAE,aAAa,UAAU,EAAE,aAAa,QAAQ,CAAC;CACvD,MAAM,EAAE,YAAY,WAAW,kBAA6C;EAC1E,cAAc;EACd,SAAS,WAAW,YAAY,SAAS,SAAS,KAAK,OAAO,WAAW;EACzE,iBAAiB,SAAS,CAAC,CAAC,KAAK;EAClC,CAAC;CAEF,MAAM,aAAa,UAAU,aAAa,CAAC,CAAC,WAAW;CACvD,MAAM,YAAY,UAAU,WAAW,CAAC,CAAC,WAAW;CACpD,MAAM,WAAW,SAAS,OAAO,OAAO;CAExC,IAAI;AACJ,KAAI,UACF,cAAa,oBAAC,uBAAD;EAAuB,MAAM;EAAU,OAAM;EAAkB,CAAA;UACnE,WACT,cAAa,oBAAC,mBAAD,EAAmB,MAAM,UAAY,CAAA;AAGpD,QACE,oBAAC,aAAD;EAAkB;EAAY;EAAO,GAAI;YACvC,qBAAC,SAAS,MAAV;GACE,GAAI;GACQ;GACZ,cAAc,eAAe,CAAC,aAAa,GAAG,KAAA;GAC9C,UAAU,UAAU;GACpB,SAAS;GACT,qBAAqB,MAAM;AACzB,WAAO,EAAE,WAAW;;GAEtB,gBAAgB,YAAY,gBAAgB,QAAQ,MAAM,GAAG;GAC7D,UAAU,UAAU;GAGpB,kBAAkB,EAAE,iBAAiB,YAAY,EAAE,eAAe,EAAE,OAAO,WAAW,CAAC;GACjF;GACN,OAAO,QAAQ,CAAC,MAAM,GAAG,KAAA;aAf3B,CAiBE,qBAAC,SAAS,SAAV;IAAkB,WAAU;cAA5B,CACE,oBAAC,SAAS,OAAV,EAA6B,aAAe,CAAA,EAC5C,qBAAC,SAAS,gBAAV,EAAA,UAAA;KACE,oBAAC,SAAS,cAAV;MAAuB,SAAA;gBACrB,oBAAC,mBAAD,EAAmB,MAAK,MAAO,CAAA;MACT,CAAA;KACvB;KACD,oBAAC,SAAS,SAAV;MAAkB,SAAA;gBAChB,oBAAC,oBAAD,EAAsB,CAAA;MACL,CAAA;KACK,EAAA,CAAA,CACT;OACnB,oBAAC,QAAD,EAAA,UACE,oBAAC,SAAS,YAAV,EAAA,UACE,oBAAC,kBAAD;IACc;IACK;IACA;IACL;IACD;IACG;IACR;IACN,SAAQ;IACR,GAAK,YACD;KAAE,WAAW;KAAe;KAAgB;KAAa,GACzD,EAAE,WAAW,OAAgB;IACjC,CAAA,EACkB,CAAA,EACf,CAAA,CACK;;EACJ,CAAA;EAEhB;AAEF,eAAe,cAAc"}
1
+ {"version":3,"file":"BitkitCombobox.js","names":[],"sources":["../../../lib/components/BitkitCombobox/BitkitCombobox.tsx"],"sourcesContent":["import { Combobox, type ComboboxRootProps } from '@chakra-ui/react/combobox';\nimport { useListCollection } from '@chakra-ui/react/hooks';\nimport { useFilter } from '@chakra-ui/react/locale';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { forwardRef } from 'react';\n\nimport IconErrorCircleFilled from '../../icons/IconErrorCircleFilled';\nimport IconWarningYellow from '../../icons/IconWarningYellow';\nimport AssetSelectChevron from '../../utilities/AssetSelectChevron';\nimport BitkitCloseButton from '../BitkitCloseButton/BitkitCloseButton';\nimport BitkitField, { type BitkitFieldProps } from '../BitkitField/BitkitField';\nimport BitkitSelectMenu, {\n type BitkitSelectMenuCreateItemProps,\n type BitkitSelectMenuEmptyStateProps,\n type BitkitSelectMenuItemProps,\n type BitkitSelectMenuSearchProps,\n} from '../BitkitSelectMenu/BitkitSelectMenu';\n\nexport type BitkitComboboxProps = Omit<BitkitFieldProps, 'children' | 'state'> & {\n comboboxProps?: Omit<ComboboxRootProps, 'collection' | 'defaultValue' | 'onValueChange' | 'value'>;\n defaultValue?: string;\n isLoading?: boolean;\n items: Array<BitkitSelectMenuItemProps>;\n onValueChange?: (newVal: string | undefined) => void;\n placeholder?: string;\n size?: 'md' | 'lg';\n state?: 'disabled' | 'error' | 'readOnly' | 'warning';\n value?: string;\n} & BitkitSelectMenuCreateItemProps &\n BitkitSelectMenuSearchProps &\n BitkitSelectMenuEmptyStateProps;\n\nconst BitkitCombobox = forwardRef<HTMLDivElement, BitkitComboboxProps>((props: BitkitComboboxProps, ref) => {\n const {\n comboboxProps,\n createItemLabel,\n defaultValue,\n emptyHelperText,\n emptyLabel,\n isLoading,\n items,\n onCreateItem,\n onSearchChange,\n onValueChange,\n placeholder = 'Enter a value or select',\n searchValue,\n size,\n state,\n value,\n ...fieldProps\n } = props;\n\n const { contains } = useFilter({ sensitivity: 'base' });\n const { collection, filter } = useListCollection<BitkitSelectMenuItemProps>({\n initialItems: items,\n filter: (_itemText, filterText, item) => contains(item.label, filterText),\n isItemDisabled: (item) => !!item.disabled,\n });\n\n const hasWarning = state === 'warning' || !!fieldProps.warningText;\n const isInvalid = state === 'error' || !!fieldProps.errorText;\n const iconSize = size === 'md' ? '16' : '24';\n\n let statusIcon;\n if (isInvalid) {\n statusIcon = <IconErrorCircleFilled size={iconSize} color=\"icon/negative\" />;\n } else if (hasWarning) {\n statusIcon = <IconWarningYellow size={iconSize} />;\n }\n\n return (\n <BitkitField ref={ref} state={state} {...fieldProps}>\n <Combobox.Root\n {...comboboxProps}\n collection={collection}\n defaultValue={defaultValue ? [defaultValue] : undefined}\n disabled={state === 'disabled'}\n invalid={isInvalid}\n onInputValueChange={(e) => {\n filter(e.inputValue);\n }}\n onValueChange={(details) => onValueChange?.(details.value[0])}\n readOnly={state === 'readOnly'}\n // Bypass Zag's isScrollable(contentEl) gate — our Content is overflow:hidden flex\n // column, so the real scroll container is itemList. See BitkitMultiselect for why.\n scrollToIndexFn={({ getElement }) => getElement()?.scrollIntoView({ block: 'nearest' })}\n size={size}\n value={value ? [value] : undefined}\n >\n <Combobox.Control className=\"group\">\n <Combobox.Input placeholder={placeholder} />\n <Combobox.IndicatorGroup>\n <Combobox.ClearTrigger asChild>\n <BitkitCloseButton size=\"sm\" />\n </Combobox.ClearTrigger>\n {statusIcon}\n <Combobox.Trigger asChild>\n <AssetSelectChevron />\n </Combobox.Trigger>\n </Combobox.IndicatorGroup>\n </Combobox.Control>\n <Portal>\n <Combobox.Positioner>\n <BitkitSelectMenu\n collection={collection}\n createItemLabel={createItemLabel}\n emptyHelperText={emptyHelperText}\n emptyLabel={emptyLabel}\n isLoading={isLoading}\n onCreateItem={onCreateItem}\n onSearchChange={onSearchChange}\n searchValue={searchValue}\n size={size}\n variant=\"combobox\"\n />\n </Combobox.Positioner>\n </Portal>\n </Combobox.Root>\n </BitkitField>\n );\n});\n\nBitkitCombobox.displayName = 'BitkitCombobox';\n\nexport default BitkitCombobox;\n"],"mappings":";;;;;;;;;;;;;AAgCA,IAAM,iBAAiB,YAAiD,OAA4B,QAAQ;CAC1G,MAAM,EACJ,eACA,iBACA,cACA,iBACA,YACA,WACA,OACA,cACA,gBACA,eACA,cAAc,2BACd,aACA,MACA,OACA,OACA,GAAG,eACD;CAEJ,MAAM,EAAE,aAAa,UAAU,EAAE,aAAa,QAAQ,CAAC;CACvD,MAAM,EAAE,YAAY,WAAW,kBAA6C;EAC1E,cAAc;EACd,SAAS,WAAW,YAAY,SAAS,SAAS,KAAK,OAAO,WAAW;EACzE,iBAAiB,SAAS,CAAC,CAAC,KAAK;EAClC,CAAC;CAEF,MAAM,aAAa,UAAU,aAAa,CAAC,CAAC,WAAW;CACvD,MAAM,YAAY,UAAU,WAAW,CAAC,CAAC,WAAW;CACpD,MAAM,WAAW,SAAS,OAAO,OAAO;CAExC,IAAI;AACJ,KAAI,UACF,cAAa,oBAAC,uBAAD;EAAuB,MAAM;EAAU,OAAM;EAAkB,CAAA;UACnE,WACT,cAAa,oBAAC,mBAAD,EAAmB,MAAM,UAAY,CAAA;AAGpD,QACE,oBAAC,aAAD;EAAkB;EAAY;EAAO,GAAI;YACvC,qBAAC,SAAS,MAAV;GACE,GAAI;GACQ;GACZ,cAAc,eAAe,CAAC,aAAa,GAAG,KAAA;GAC9C,UAAU,UAAU;GACpB,SAAS;GACT,qBAAqB,MAAM;AACzB,WAAO,EAAE,WAAW;;GAEtB,gBAAgB,YAAY,gBAAgB,QAAQ,MAAM,GAAG;GAC7D,UAAU,UAAU;GAGpB,kBAAkB,EAAE,iBAAiB,YAAY,EAAE,eAAe,EAAE,OAAO,WAAW,CAAC;GACjF;GACN,OAAO,QAAQ,CAAC,MAAM,GAAG,KAAA;aAf3B,CAiBE,qBAAC,SAAS,SAAV;IAAkB,WAAU;cAA5B,CACE,oBAAC,SAAS,OAAV,EAA6B,aAAe,CAAA,EAC5C,qBAAC,SAAS,gBAAV,EAAA,UAAA;KACE,oBAAC,SAAS,cAAV;MAAuB,SAAA;gBACrB,oBAAC,mBAAD,EAAmB,MAAK,MAAO,CAAA;MACT,CAAA;KACvB;KACD,oBAAC,SAAS,SAAV;MAAkB,SAAA;gBAChB,oBAAC,oBAAD,EAAsB,CAAA;MACL,CAAA;KACK,EAAA,CAAA,CACT;OACnB,oBAAC,QAAD,EAAA,UACE,oBAAC,SAAS,YAAV,EAAA,UACE,oBAAC,kBAAD;IACc;IACK;IACA;IACL;IACD;IACG;IACE;IACH;IACP;IACN,SAAQ;IACR,CAAA,EACkB,CAAA,EACf,CAAA,CACK;;EACJ,CAAA;EAEhB;AAEF,eAAe,cAAc"}
@@ -0,0 +1,10 @@
1
+ import { BoxProps } from '@chakra-ui/react/box';
2
+ import { ReactNode } from 'react';
3
+ export interface BitkitDataWidgetProps extends Omit<BoxProps, 'colorPalette' | 'title'> {
4
+ action?: ReactNode;
5
+ children: ReactNode;
6
+ title?: string;
7
+ titleTooltip?: string;
8
+ }
9
+ declare const BitkitDataWidget: import('react').ForwardRefExoticComponent<BitkitDataWidgetProps & import('react').RefAttributes<HTMLDivElement>>;
10
+ export default BitkitDataWidget;
@@ -0,0 +1,45 @@
1
+ import IconInfoCircle from "../../icons/IconInfoCircle.js";
2
+ import BitkitTooltip from "../BitkitTooltip/BitkitTooltip.js";
3
+ import { Box } from "@chakra-ui/react/box";
4
+ import { useSlotRecipe } from "@chakra-ui/react/styled-system";
5
+ import { Text } from "@chakra-ui/react/text";
6
+ import { forwardRef } from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ //#region lib/components/BitkitDataWidget/BitkitDataWidget.tsx
9
+ var BitkitDataWidget = forwardRef((props, ref) => {
10
+ const { action, children, title, titleTooltip, ...rest } = props;
11
+ const styles = useSlotRecipe({ key: "dataWidget" })();
12
+ return /* @__PURE__ */ jsxs(Box, {
13
+ ref,
14
+ css: styles.root,
15
+ ...rest,
16
+ children: [
17
+ !!title && /* @__PURE__ */ jsxs(Box, {
18
+ css: styles.title,
19
+ children: [/* @__PURE__ */ jsx(Text, {
20
+ as: "span",
21
+ children: title
22
+ }), !!titleTooltip && /* @__PURE__ */ jsx(BitkitTooltip, {
23
+ text: titleTooltip,
24
+ children: /* @__PURE__ */ jsx(IconInfoCircle, {
25
+ color: "icon/tertiary",
26
+ size: "16"
27
+ })
28
+ })]
29
+ }),
30
+ /* @__PURE__ */ jsx(Box, {
31
+ css: styles.items,
32
+ children
33
+ }),
34
+ !!action && /* @__PURE__ */ jsx(Box, {
35
+ css: styles.action,
36
+ children: action
37
+ })
38
+ ]
39
+ });
40
+ });
41
+ BitkitDataWidget.displayName = "BitkitDataWidget";
42
+ //#endregion
43
+ export { BitkitDataWidget as default };
44
+
45
+ //# sourceMappingURL=BitkitDataWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitkitDataWidget.js","names":[],"sources":["../../../lib/components/BitkitDataWidget/BitkitDataWidget.tsx"],"sourcesContent":["import { Box, type BoxProps } from '@chakra-ui/react/box';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { Text } from '@chakra-ui/react/text';\nimport { forwardRef, type ReactNode } from 'react';\n\nimport { IconInfoCircle } from '../../icons';\nimport BitkitTooltip from '../BitkitTooltip/BitkitTooltip';\n\nexport interface BitkitDataWidgetProps extends Omit<BoxProps, 'colorPalette' | 'title'> {\n action?: ReactNode;\n children: ReactNode;\n title?: string;\n titleTooltip?: string;\n}\n\nconst BitkitDataWidget = forwardRef<HTMLDivElement, BitkitDataWidgetProps>((props, ref) => {\n const { action, children, title, titleTooltip, ...rest } = props;\n const styles = useSlotRecipe({ key: 'dataWidget' })();\n\n return (\n <Box ref={ref} css={styles.root} {...rest}>\n {!!title && (\n <Box css={styles.title}>\n <Text as=\"span\">{title}</Text>\n {!!titleTooltip && (\n <BitkitTooltip text={titleTooltip}>\n <IconInfoCircle color=\"icon/tertiary\" size=\"16\" />\n </BitkitTooltip>\n )}\n </Box>\n )}\n <Box css={styles.items}>{children}</Box>\n {!!action && <Box css={styles.action}>{action}</Box>}\n </Box>\n );\n});\n\nBitkitDataWidget.displayName = 'BitkitDataWidget';\n\nexport default BitkitDataWidget;\n"],"mappings":";;;;;;;;AAeA,IAAM,mBAAmB,YAAmD,OAAO,QAAQ;CACzF,MAAM,EAAE,QAAQ,UAAU,OAAO,cAAc,GAAG,SAAS;CAC3D,MAAM,SAAS,cAAc,EAAE,KAAK,cAAc,CAAC,EAAE;AAErD,QACE,qBAAC,KAAD;EAAU;EAAK,KAAK,OAAO;EAAM,GAAI;YAArC;GACG,CAAC,CAAC,SACD,qBAAC,KAAD;IAAK,KAAK,OAAO;cAAjB,CACE,oBAAC,MAAD;KAAM,IAAG;eAAQ;KAAa,CAAA,EAC7B,CAAC,CAAC,gBACD,oBAAC,eAAD;KAAe,MAAM;eACnB,oBAAC,gBAAD;MAAgB,OAAM;MAAgB,MAAK;MAAO,CAAA;KACpC,CAAA,CAEd;;GAER,oBAAC,KAAD;IAAK,KAAK,OAAO;IAAQ;IAAe,CAAA;GACvC,CAAC,CAAC,UAAU,oBAAC,KAAD;IAAK,KAAK,OAAO;cAAS;IAAa,CAAA;GAChD;;EAER;AAEF,iBAAiB,cAAc"}
@@ -1,6 +1,8 @@
1
1
  import { Dialog } from '@chakra-ui/react/dialog';
2
2
  import { ReactNode } from 'react';
3
+ import { BitkitDialogHeaderProps } from './BitkitDialogHeader';
3
4
  export interface BitkitDialogProps {
5
+ children?: ReactNode;
4
6
  headerLabel?: string;
5
7
  maxHeight?: string;
6
8
  onOpenChange?: (details: {
@@ -11,15 +13,26 @@ export interface BitkitDialogProps {
11
13
  scrollBehavior?: 'inside' | 'outside';
12
14
  showScrollGradient?: boolean;
13
15
  size?: 'sm' | 'md' | 'lg';
16
+ step?: number;
14
17
  title: ReactNode;
15
18
  trigger?: ReactNode;
16
19
  variant?: 'overflowContent';
17
- children?: ReactNode;
18
20
  }
19
- declare const BitkitDialog: {
20
- ({ headerLabel, maxHeight, onOpenChange, open, title, trigger, children, preventScroll, scrollBehavior: scrollBehaviorProp, showScrollGradient, size, variant, }: BitkitDialogProps): import("react/jsx-runtime").JSX.Element;
21
+ declare const _default: {
22
+ ({ children, headerLabel, maxHeight, onOpenChange, open, preventScroll, scrollBehavior: scrollBehaviorProp, showScrollGradient, size, step, title, trigger, variant, }: BitkitDialogProps): import("react/jsx-runtime").JSX.Element;
21
23
  displayName: string;
24
+ } & {
25
+ ActionTrigger: import('react').ForwardRefExoticComponent<Dialog.ActionTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
26
+ Body: ({ children, ...rest }: import('./BitkitDialogBody').BitkitDialogBodyProps) => import("react/jsx-runtime").JSX.Element;
27
+ Buttons: import('react').ForwardRefExoticComponent<import('@chakra-ui/react').BoxProps & import('react').RefAttributes<HTMLDivElement>>;
28
+ Footer: import('react').ForwardRefExoticComponent<Dialog.FooterProps & import('react').RefAttributes<HTMLDivElement>>;
29
+ Header: {
30
+ ({ children }: BitkitDialogHeaderProps): import("react/jsx-runtime").JSX.Element;
31
+ displayName: string;
32
+ };
33
+ Step: {
34
+ (props: import('./BitkitDialogStep').BitkitDialogStepProps): import("react/jsx-runtime").JSX.Element | null;
35
+ displayName: string;
36
+ };
22
37
  };
23
- export declare const BitkitDialogActionTrigger: import('react').ForwardRefExoticComponent<Dialog.ActionTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
24
- export declare const BitkitDialogFooter: import('react').ForwardRefExoticComponent<Dialog.FooterProps & import('react').RefAttributes<HTMLDivElement>>;
25
- export default BitkitDialog;
38
+ export default _default;
@@ -1,11 +1,20 @@
1
+ import BitkitDialogStep from "./BitkitDialogStep.js";
2
+ import BitkitDialogBody from "./BitkitDialogBody.js";
3
+ import BitkitDialogButtons from "./BitkitDialogButtons.js";
1
4
  import BitkitDialogContent from "./BitkitDialogContent.js";
5
+ import BitkitDialogHeader from "./BitkitDialogHeader.js";
2
6
  import BitkitDialogRoot from "./BitkitDialogRoot.js";
7
+ import { Children, isValidElement } from "react";
3
8
  import { jsx, jsxs } from "react/jsx-runtime";
4
9
  import { Portal } from "@chakra-ui/react/portal";
5
10
  import { Dialog } from "@chakra-ui/react/dialog";
6
11
  //#region lib/components/BitkitDialog/BitkitDialog.tsx
7
- var BitkitDialog = ({ headerLabel, maxHeight, onOpenChange, open, title, trigger, children, preventScroll, scrollBehavior: scrollBehaviorProp, showScrollGradient, size, variant }) => {
12
+ var BitkitDialog = ({ children, headerLabel, maxHeight, onOpenChange, open, preventScroll, scrollBehavior: scrollBehaviorProp, showScrollGradient, size, step = 0, title, trigger, variant }) => {
8
13
  const scrollBehavior = variant === "overflowContent" ? "inside" : scrollBehaviorProp;
14
+ const childrenArray = Children.toArray(children);
15
+ const headerChild = childrenArray.find((child) => isValidElement(child) && child.type === BitkitDialogHeader);
16
+ const bodyChildren = childrenArray.filter((child) => !(isValidElement(child) && child.type === BitkitDialogHeader));
17
+ const stepHeader = isValidElement(headerChild) ? headerChild.props.children : void 0;
9
18
  return /* @__PURE__ */ jsxs(BitkitDialogRoot, {
10
19
  open,
11
20
  preventScroll,
@@ -21,16 +30,24 @@ var BitkitDialog = ({ headerLabel, maxHeight, onOpenChange, open, title, trigger
21
30
  maxHeight,
22
31
  scrollBehavior,
23
32
  showScrollGradient,
33
+ step,
34
+ stepHeader,
24
35
  title,
25
36
  variant,
26
- children
37
+ children: bodyChildren
27
38
  }) })] })]
28
39
  });
29
40
  };
30
- Dialog.ActionTrigger;
31
- Dialog.Footer;
32
41
  BitkitDialog.displayName = "BitkitDialog";
42
+ var BitkitDialog_default = Object.assign(BitkitDialog, {
43
+ ActionTrigger: Dialog.ActionTrigger,
44
+ Body: BitkitDialogBody,
45
+ Buttons: BitkitDialogButtons,
46
+ Footer: Dialog.Footer,
47
+ Header: BitkitDialogHeader,
48
+ Step: BitkitDialogStep
49
+ });
33
50
  //#endregion
34
- export { BitkitDialog as default };
51
+ export { BitkitDialog_default as default };
35
52
 
36
53
  //# sourceMappingURL=BitkitDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BitkitDialog.js","names":[],"sources":["../../../lib/components/BitkitDialog/BitkitDialog.tsx"],"sourcesContent":["import { Dialog } from '@chakra-ui/react/dialog';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { type ReactNode } from 'react';\n\nimport BitkitDialogContent from './BitkitDialogContent';\nimport BitkitDialogRoot from './BitkitDialogRoot';\n\nexport interface BitkitDialogProps {\n headerLabel?: string;\n maxHeight?: string;\n onOpenChange?: (details: { open: boolean }) => void;\n open?: boolean;\n preventScroll?: boolean;\n scrollBehavior?: 'inside' | 'outside';\n showScrollGradient?: boolean;\n size?: 'sm' | 'md' | 'lg';\n title: ReactNode;\n trigger?: ReactNode;\n variant?: 'overflowContent';\n children?: ReactNode;\n}\n\nconst BitkitDialog = ({\n headerLabel,\n maxHeight,\n onOpenChange,\n open,\n title,\n trigger,\n children,\n preventScroll,\n scrollBehavior: scrollBehaviorProp,\n showScrollGradient,\n size,\n variant,\n}: BitkitDialogProps) => {\n const scrollBehavior = variant === 'overflowContent' ? 'inside' : scrollBehaviorProp;\n\n return (\n <BitkitDialogRoot\n open={open}\n preventScroll={preventScroll}\n scrollBehavior={scrollBehavior}\n size={size}\n variant={variant}\n onOpenChange={onOpenChange}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal>\n <Dialog.Backdrop />\n <Dialog.Positioner>\n <BitkitDialogContent\n headerLabel={headerLabel}\n maxHeight={maxHeight}\n scrollBehavior={scrollBehavior}\n showScrollGradient={showScrollGradient}\n title={title}\n variant={variant}\n >\n {children}\n </BitkitDialogContent>\n </Dialog.Positioner>\n </Portal>\n </BitkitDialogRoot>\n );\n};\n\nexport const BitkitDialogActionTrigger = Dialog.ActionTrigger;\nexport const BitkitDialogFooter = Dialog.Footer;\n\nBitkitDialog.displayName = 'BitkitDialog';\n\nexport default BitkitDialog;\n"],"mappings":";;;;;;AAsBA,IAAM,gBAAgB,EACpB,aACA,WACA,cACA,MACA,OACA,SACA,UACA,eACA,gBAAgB,oBAChB,oBACA,MACA,cACuB;CACvB,MAAM,iBAAiB,YAAY,oBAAoB,WAAW;AAElE,QACE,qBAAC,kBAAD;EACQ;EACS;EACC;EACV;EACG;EACK;YANhB,CAQG,WAAW,oBAAC,OAAO,SAAR;GAAgB,SAAA;aAAS;GAAyB,CAAA,EAC9D,qBAAC,QAAD,EAAA,UAAA,CACE,oBAAC,OAAO,UAAR,EAAmB,CAAA,EACnB,oBAAC,OAAO,YAAR,EAAA,UACE,oBAAC,qBAAD;GACe;GACF;GACK;GACI;GACb;GACE;GAER;GACmB,CAAA,EACJ,CAAA,CACb,EAAA,CAAA,CACQ;;;AAIkB,OAAO;AACd,OAAO;AAEzC,aAAa,cAAc"}
1
+ {"version":3,"file":"BitkitDialog.js","names":[],"sources":["../../../lib/components/BitkitDialog/BitkitDialog.tsx"],"sourcesContent":["import { Dialog } from '@chakra-ui/react/dialog';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { Children, isValidElement, type ReactNode } from 'react';\n\nimport BitkitDialogBody from './BitkitDialogBody';\nimport BitkitDialogButtons from './BitkitDialogButtons';\nimport BitkitDialogContent from './BitkitDialogContent';\nimport BitkitDialogHeader, { type BitkitDialogHeaderProps } from './BitkitDialogHeader';\nimport BitkitDialogRoot from './BitkitDialogRoot';\nimport BitkitDialogStep from './BitkitDialogStep';\n\nexport interface BitkitDialogProps {\n children?: ReactNode;\n headerLabel?: string;\n maxHeight?: string;\n onOpenChange?: (details: { open: boolean }) => void;\n open?: boolean;\n preventScroll?: boolean;\n scrollBehavior?: 'inside' | 'outside';\n showScrollGradient?: boolean;\n size?: 'sm' | 'md' | 'lg';\n step?: number;\n title: ReactNode;\n trigger?: ReactNode;\n variant?: 'overflowContent';\n}\n\nconst BitkitDialog = ({\n children,\n headerLabel,\n maxHeight,\n onOpenChange,\n open,\n preventScroll,\n scrollBehavior: scrollBehaviorProp,\n showScrollGradient,\n size,\n step = 0,\n title,\n trigger,\n variant,\n}: BitkitDialogProps) => {\n const scrollBehavior = variant === 'overflowContent' ? 'inside' : scrollBehaviorProp;\n\n const childrenArray = Children.toArray(children);\n const headerChild = childrenArray.find((child) => isValidElement(child) && child.type === BitkitDialogHeader);\n const bodyChildren = childrenArray.filter((child) => !(isValidElement(child) && child.type === BitkitDialogHeader));\n const stepHeader = isValidElement(headerChild) ? (headerChild.props as BitkitDialogHeaderProps).children : undefined;\n\n return (\n <BitkitDialogRoot\n open={open}\n preventScroll={preventScroll}\n scrollBehavior={scrollBehavior}\n size={size}\n variant={variant}\n onOpenChange={onOpenChange}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal>\n <Dialog.Backdrop />\n <Dialog.Positioner>\n <BitkitDialogContent\n headerLabel={headerLabel}\n maxHeight={maxHeight}\n scrollBehavior={scrollBehavior}\n showScrollGradient={showScrollGradient}\n step={step}\n stepHeader={stepHeader}\n title={title}\n variant={variant}\n >\n {bodyChildren}\n </BitkitDialogContent>\n </Dialog.Positioner>\n </Portal>\n </BitkitDialogRoot>\n );\n};\n\nBitkitDialog.displayName = 'BitkitDialog';\n\nexport default Object.assign(BitkitDialog, {\n ActionTrigger: Dialog.ActionTrigger,\n Body: BitkitDialogBody,\n Buttons: BitkitDialogButtons,\n Footer: Dialog.Footer,\n Header: BitkitDialogHeader,\n Step: BitkitDialogStep,\n});\n"],"mappings":";;;;;;;;;;;AA2BA,IAAM,gBAAgB,EACpB,UACA,aACA,WACA,cACA,MACA,eACA,gBAAgB,oBAChB,oBACA,MACA,OAAO,GACP,OACA,SACA,cACuB;CACvB,MAAM,iBAAiB,YAAY,oBAAoB,WAAW;CAElE,MAAM,gBAAgB,SAAS,QAAQ,SAAS;CAChD,MAAM,cAAc,cAAc,MAAM,UAAU,eAAe,MAAM,IAAI,MAAM,SAAS,mBAAmB;CAC7G,MAAM,eAAe,cAAc,QAAQ,UAAU,EAAE,eAAe,MAAM,IAAI,MAAM,SAAS,oBAAoB;CACnH,MAAM,aAAa,eAAe,YAAY,GAAI,YAAY,MAAkC,WAAW,KAAA;AAE3G,QACE,qBAAC,kBAAD;EACQ;EACS;EACC;EACV;EACG;EACK;YANhB,CAQG,WAAW,oBAAC,OAAO,SAAR;GAAgB,SAAA;aAAS;GAAyB,CAAA,EAC9D,qBAAC,QAAD,EAAA,UAAA,CACE,oBAAC,OAAO,UAAR,EAAmB,CAAA,EACnB,oBAAC,OAAO,YAAR,EAAA,UACE,oBAAC,qBAAD;GACe;GACF;GACK;GACI;GACd;GACM;GACL;GACE;aAER;GACmB,CAAA,EACJ,CAAA,CACb,EAAA,CAAA,CACQ;;;AAIvB,aAAa,cAAc;AAE3B,IAAA,uBAAe,OAAO,OAAO,cAAc;CACzC,eAAe,OAAO;CACtB,MAAM;CACN,SAAS;CACT,QAAQ,OAAO;CACf,QAAQ;CACR,MAAM;CACP,CAAC"}
@@ -5,5 +5,5 @@ interface DialogBodyContext {
5
5
  }
6
6
  export type BitkitDialogBodyProps = Dialog.BodyProps;
7
7
  export declare const DialogBodyContext: import('react').Context<DialogBodyContext>;
8
- declare const BitkitDialogBody: (props: BitkitDialogBodyProps) => import("react/jsx-runtime").JSX.Element;
8
+ declare const BitkitDialogBody: ({ children, ...rest }: BitkitDialogBodyProps) => import("react/jsx-runtime").JSX.Element;
9
9
  export default BitkitDialogBody;
@@ -1,7 +1,8 @@
1
1
  import IconArrowDown from "../../icons/IconArrowDown.js";
2
+ import BitkitDialogStep from "./BitkitDialogStep.js";
2
3
  import { Box } from "@chakra-ui/react/box";
3
4
  import { chakra } from "@chakra-ui/react/styled-system";
4
- import { createContext, useCallback, useContext, useEffect, useRef, useState } from "react";
5
+ import { Children, cloneElement, createContext, isValidElement, useCallback, useContext, useEffect, useRef, useState } from "react";
5
6
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
6
7
  import { Dialog, useDialogContext, useDialogStyles } from "@chakra-ui/react/dialog";
7
8
  //#region lib/components/BitkitDialog/BitkitDialogBody.tsx
@@ -57,10 +58,20 @@ var ScrollableDialogBody = ({ children, ...props }) => {
57
58
  })] })]
58
59
  });
59
60
  };
60
- var BitkitDialogBody = (props) => {
61
+ var BitkitDialogBody = ({ children, ...rest }) => {
61
62
  const { scrollBehavior } = useContext(DialogBodyContext);
62
- if (scrollBehavior === "inside") return /* @__PURE__ */ jsx(ScrollableDialogBody, { ...props });
63
- return /* @__PURE__ */ jsx(Dialog.Body, { ...props });
63
+ const mappedChildren = Children.map(children, (child, index) => {
64
+ if (isValidElement(child) && child.type === BitkitDialogStep) return cloneElement(child, { _index: index });
65
+ return child;
66
+ });
67
+ if (scrollBehavior === "inside") return /* @__PURE__ */ jsx(ScrollableDialogBody, {
68
+ ...rest,
69
+ children: mappedChildren
70
+ });
71
+ return /* @__PURE__ */ jsx(Dialog.Body, {
72
+ ...rest,
73
+ children: mappedChildren
74
+ });
64
75
  };
65
76
  //#endregion
66
77
  export { DialogBodyContext, BitkitDialogBody as default };
@@ -1 +1 @@
1
- {"version":3,"file":"BitkitDialogBody.js","names":[],"sources":["../../../lib/components/BitkitDialog/BitkitDialogBody.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Dialog, useDialogContext, useDialogStyles } from '@chakra-ui/react/dialog';\nimport { chakra } from '@chakra-ui/react/styled-system';\nimport { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';\n\nimport { IconArrowDown } from '../../icons';\n\ninterface DialogBodyContext {\n scrollBehavior: 'inside' | 'outside';\n showScrollGradient: boolean;\n}\n\nexport type BitkitDialogBodyProps = Dialog.BodyProps;\n\nexport const DialogBodyContext = createContext<DialogBodyContext>({\n scrollBehavior: 'outside',\n showScrollGradient: true,\n});\n\nconst ScrollableDialogBody = ({ children, ...props }: Dialog.BodyProps) => {\n const { showScrollGradient } = useContext(DialogBodyContext);\n const styles = useDialogStyles();\n const { open } = useDialogContext();\n const contentRef = useRef<HTMLDivElement>(null);\n const [isScrollButtonVisible, setIsScrollButtonVisible] = useState(false);\n\n const updateScrollButtonVisibility = useCallback(() => {\n const content = contentRef.current;\n if (!content) {\n setIsScrollButtonVisible(false);\n return;\n }\n const didScrollToBottom = content.scrollTop >= content.scrollHeight - content.offsetHeight - 1;\n setIsScrollButtonVisible(!didScrollToBottom);\n }, []);\n\n useEffect(() => {\n const content = contentRef.current;\n if (!open || !content) return;\n\n content.addEventListener('scroll', updateScrollButtonVisibility);\n const resizeObserver = new ResizeObserver(updateScrollButtonVisibility);\n resizeObserver.observe(content);\n\n return () => {\n content.removeEventListener('scroll', updateScrollButtonVisibility);\n resizeObserver.disconnect();\n };\n }, [open, updateScrollButtonVisibility]);\n\n return (\n <Box css={styles.scrollBody}>\n <Dialog.Body ref={contentRef} {...props}>\n {children}\n </Dialog.Body>\n {isScrollButtonVisible && (\n <>\n {showScrollGradient && <Box css={styles.scrollGradient} />}\n <chakra.button\n aria-label=\"Scroll to bottom\"\n css={styles.scrollButton}\n type=\"button\"\n onClick={() => {\n contentRef.current?.scrollTo({ top: contentRef.current.scrollHeight, behavior: 'smooth' });\n }}\n >\n <IconArrowDown color=\"icon/tertiary\" size=\"16\" />\n </chakra.button>\n </>\n )}\n </Box>\n );\n};\n\nconst BitkitDialogBody = (props: BitkitDialogBodyProps) => {\n const { scrollBehavior } = useContext(DialogBodyContext);\n if (scrollBehavior === 'inside') {\n return <ScrollableDialogBody {...props} />;\n }\n return <Dialog.Body {...props} />;\n};\n\nexport default BitkitDialogBody;\n"],"mappings":";;;;;;;AAcA,IAAa,oBAAoB,cAAiC;CAChE,gBAAgB;CAChB,oBAAoB;CACrB,CAAC;AAEF,IAAM,wBAAwB,EAAE,UAAU,GAAG,YAA8B;CACzE,MAAM,EAAE,uBAAuB,WAAW,kBAAkB;CAC5D,MAAM,SAAS,iBAAiB;CAChC,MAAM,EAAE,SAAS,kBAAkB;CACnC,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,CAAC,uBAAuB,4BAA4B,SAAS,MAAM;CAEzE,MAAM,+BAA+B,kBAAkB;EACrD,MAAM,UAAU,WAAW;AAC3B,MAAI,CAAC,SAAS;AACZ,4BAAyB,MAAM;AAC/B;;AAGF,2BAAyB,EADC,QAAQ,aAAa,QAAQ,eAAe,QAAQ,eAAe,GACjD;IAC3C,EAAE,CAAC;AAEN,iBAAgB;EACd,MAAM,UAAU,WAAW;AAC3B,MAAI,CAAC,QAAQ,CAAC,QAAS;AAEvB,UAAQ,iBAAiB,UAAU,6BAA6B;EAChE,MAAM,iBAAiB,IAAI,eAAe,6BAA6B;AACvE,iBAAe,QAAQ,QAAQ;AAE/B,eAAa;AACX,WAAQ,oBAAoB,UAAU,6BAA6B;AACnE,kBAAe,YAAY;;IAE5B,CAAC,MAAM,6BAA6B,CAAC;AAExC,QACE,qBAAC,KAAD;EAAK,KAAK,OAAO;YAAjB,CACE,oBAAC,OAAO,MAAR;GAAa,KAAK;GAAY,GAAI;GAC/B;GACW,CAAA,EACb,yBACC,qBAAA,YAAA,EAAA,UAAA,CACG,sBAAsB,oBAAC,KAAD,EAAK,KAAK,OAAO,gBAAkB,CAAA,EAC1D,oBAAC,OAAO,QAAR;GACE,cAAW;GACX,KAAK,OAAO;GACZ,MAAK;GACL,eAAe;AACb,eAAW,SAAS,SAAS;KAAE,KAAK,WAAW,QAAQ;KAAc,UAAU;KAAU,CAAC;;aAG5F,oBAAC,eAAD;IAAe,OAAM;IAAgB,MAAK;IAAO,CAAA;GACnC,CAAA,CACf,EAAA,CAAA,CAED;;;AAIV,IAAM,oBAAoB,UAAiC;CACzD,MAAM,EAAE,mBAAmB,WAAW,kBAAkB;AACxD,KAAI,mBAAmB,SACrB,QAAO,oBAAC,sBAAD,EAAsB,GAAI,OAAS,CAAA;AAE5C,QAAO,oBAAC,OAAO,MAAR,EAAa,GAAI,OAAS,CAAA"}
1
+ {"version":3,"file":"BitkitDialogBody.js","names":[],"sources":["../../../lib/components/BitkitDialog/BitkitDialogBody.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Dialog, useDialogContext, useDialogStyles } from '@chakra-ui/react/dialog';\nimport { chakra } from '@chakra-ui/react/styled-system';\nimport {\n Children,\n cloneElement,\n createContext,\n isValidElement,\n type ReactElement,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { IconArrowDown } from '../../icons';\nimport BitkitDialogStep from './BitkitDialogStep';\n\ninterface DialogBodyContext {\n scrollBehavior: 'inside' | 'outside';\n showScrollGradient: boolean;\n}\n\nexport type BitkitDialogBodyProps = Dialog.BodyProps;\n\nexport const DialogBodyContext = createContext<DialogBodyContext>({\n scrollBehavior: 'outside',\n showScrollGradient: true,\n});\n\nconst ScrollableDialogBody = ({ children, ...props }: Dialog.BodyProps) => {\n const { showScrollGradient } = useContext(DialogBodyContext);\n const styles = useDialogStyles();\n const { open } = useDialogContext();\n const contentRef = useRef<HTMLDivElement>(null);\n const [isScrollButtonVisible, setIsScrollButtonVisible] = useState(false);\n\n const updateScrollButtonVisibility = useCallback(() => {\n const content = contentRef.current;\n if (!content) {\n setIsScrollButtonVisible(false);\n return;\n }\n const didScrollToBottom = content.scrollTop >= content.scrollHeight - content.offsetHeight - 1;\n setIsScrollButtonVisible(!didScrollToBottom);\n }, []);\n\n useEffect(() => {\n const content = contentRef.current;\n if (!open || !content) return;\n\n content.addEventListener('scroll', updateScrollButtonVisibility);\n const resizeObserver = new ResizeObserver(updateScrollButtonVisibility);\n resizeObserver.observe(content);\n\n return () => {\n content.removeEventListener('scroll', updateScrollButtonVisibility);\n resizeObserver.disconnect();\n };\n }, [open, updateScrollButtonVisibility]);\n\n return (\n <Box css={styles.scrollBody}>\n <Dialog.Body ref={contentRef} {...props}>\n {children}\n </Dialog.Body>\n {isScrollButtonVisible && (\n <>\n {showScrollGradient && <Box css={styles.scrollGradient} />}\n <chakra.button\n aria-label=\"Scroll to bottom\"\n css={styles.scrollButton}\n type=\"button\"\n onClick={() => {\n contentRef.current?.scrollTo({ top: contentRef.current.scrollHeight, behavior: 'smooth' });\n }}\n >\n <IconArrowDown color=\"icon/tertiary\" size=\"16\" />\n </chakra.button>\n </>\n )}\n </Box>\n );\n};\n\nconst BitkitDialogBody = ({ children, ...rest }: BitkitDialogBodyProps) => {\n const { scrollBehavior } = useContext(DialogBodyContext);\n\n const mappedChildren = Children.map(children, (child, index) => {\n if (isValidElement(child) && child.type === BitkitDialogStep) {\n return cloneElement(child as ReactElement<{ _index?: number }>, { _index: index });\n }\n return child;\n });\n\n if (scrollBehavior === 'inside') {\n return <ScrollableDialogBody {...rest}>{mappedChildren}</ScrollableDialogBody>;\n }\n return <Dialog.Body {...rest}>{mappedChildren}</Dialog.Body>;\n};\n\nexport default BitkitDialogBody;\n"],"mappings":";;;;;;;;AA0BA,IAAa,oBAAoB,cAAiC;CAChE,gBAAgB;CAChB,oBAAoB;CACrB,CAAC;AAEF,IAAM,wBAAwB,EAAE,UAAU,GAAG,YAA8B;CACzE,MAAM,EAAE,uBAAuB,WAAW,kBAAkB;CAC5D,MAAM,SAAS,iBAAiB;CAChC,MAAM,EAAE,SAAS,kBAAkB;CACnC,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,CAAC,uBAAuB,4BAA4B,SAAS,MAAM;CAEzE,MAAM,+BAA+B,kBAAkB;EACrD,MAAM,UAAU,WAAW;AAC3B,MAAI,CAAC,SAAS;AACZ,4BAAyB,MAAM;AAC/B;;AAGF,2BAAyB,EADC,QAAQ,aAAa,QAAQ,eAAe,QAAQ,eAAe,GACjD;IAC3C,EAAE,CAAC;AAEN,iBAAgB;EACd,MAAM,UAAU,WAAW;AAC3B,MAAI,CAAC,QAAQ,CAAC,QAAS;AAEvB,UAAQ,iBAAiB,UAAU,6BAA6B;EAChE,MAAM,iBAAiB,IAAI,eAAe,6BAA6B;AACvE,iBAAe,QAAQ,QAAQ;AAE/B,eAAa;AACX,WAAQ,oBAAoB,UAAU,6BAA6B;AACnE,kBAAe,YAAY;;IAE5B,CAAC,MAAM,6BAA6B,CAAC;AAExC,QACE,qBAAC,KAAD;EAAK,KAAK,OAAO;YAAjB,CACE,oBAAC,OAAO,MAAR;GAAa,KAAK;GAAY,GAAI;GAC/B;GACW,CAAA,EACb,yBACC,qBAAA,YAAA,EAAA,UAAA,CACG,sBAAsB,oBAAC,KAAD,EAAK,KAAK,OAAO,gBAAkB,CAAA,EAC1D,oBAAC,OAAO,QAAR;GACE,cAAW;GACX,KAAK,OAAO;GACZ,MAAK;GACL,eAAe;AACb,eAAW,SAAS,SAAS;KAAE,KAAK,WAAW,QAAQ;KAAc,UAAU;KAAU,CAAC;;aAG5F,oBAAC,eAAD;IAAe,OAAM;IAAgB,MAAK;IAAO,CAAA;GACnC,CAAA,CACf,EAAA,CAAA,CAED;;;AAIV,IAAM,oBAAoB,EAAE,UAAU,GAAG,WAAkC;CACzE,MAAM,EAAE,mBAAmB,WAAW,kBAAkB;CAExD,MAAM,iBAAiB,SAAS,IAAI,WAAW,OAAO,UAAU;AAC9D,MAAI,eAAe,MAAM,IAAI,MAAM,SAAS,iBAC1C,QAAO,aAAa,OAA4C,EAAE,QAAQ,OAAO,CAAC;AAEpF,SAAO;GACP;AAEF,KAAI,mBAAmB,SACrB,QAAO,oBAAC,sBAAD;EAAsB,GAAI;YAAO;EAAsC,CAAA;AAEhF,QAAO,oBAAC,OAAO,MAAR;EAAa,GAAI;YAAO;EAA6B,CAAA"}
@@ -1,12 +1,14 @@
1
1
  import { ReactNode } from 'react';
2
2
  export interface BitkitDialogContentProps {
3
+ children?: ReactNode;
3
4
  headerLabel?: string;
4
5
  maxHeight?: string;
5
6
  scrollBehavior?: 'inside' | 'outside';
6
7
  showScrollGradient?: boolean;
8
+ step?: number;
9
+ stepHeader?: ReactNode;
7
10
  title: ReactNode;
8
11
  variant?: 'overflowContent';
9
- children?: ReactNode;
10
12
  }
11
- declare const BitkitDialogContent: ({ headerLabel, maxHeight, title, scrollBehavior: scrollBehaviorProp, showScrollGradient, variant, children, }: BitkitDialogContentProps) => import("react/jsx-runtime").JSX.Element;
13
+ declare const BitkitDialogContent: ({ children, headerLabel, maxHeight, scrollBehavior: scrollBehaviorProp, showScrollGradient, step, stepHeader, title, variant, }: BitkitDialogContentProps) => import("react/jsx-runtime").JSX.Element;
12
14
  export default BitkitDialogContent;
@@ -1,32 +1,43 @@
1
1
  import BitkitCloseButton from "../BitkitCloseButton/BitkitCloseButton.js";
2
+ import { BitkitDialogStepProvider } from "./BitkitDialogStepContext.js";
2
3
  import { DialogBodyContext } from "./BitkitDialogBody.js";
3
4
  import { Box } from "@chakra-ui/react/box";
4
5
  import { chakra } from "@chakra-ui/react/styled-system";
5
6
  import { jsx, jsxs } from "react/jsx-runtime";
6
7
  import { Dialog, useDialogStyles } from "@chakra-ui/react/dialog";
7
8
  //#region lib/components/BitkitDialog/BitkitDialogContent.tsx
8
- var BitkitDialogContent = ({ headerLabel, maxHeight, title, scrollBehavior: scrollBehaviorProp = "outside", showScrollGradient = true, variant, children }) => {
9
+ var BitkitDialogContent = ({ children, headerLabel, maxHeight, scrollBehavior: scrollBehaviorProp = "outside", showScrollGradient = true, step = 0, stepHeader, title, variant }) => {
9
10
  const scrollBehavior = variant === "overflowContent" ? "inside" : scrollBehaviorProp;
10
11
  const styles = useDialogStyles();
11
12
  return /* @__PURE__ */ jsx(Dialog.Content, {
12
13
  maxHeight,
13
- children: /* @__PURE__ */ jsxs(DialogBodyContext.Provider, {
14
- value: {
15
- scrollBehavior,
16
- showScrollGradient
17
- },
18
- children: [/* @__PURE__ */ jsxs(Dialog.Header, { children: [/* @__PURE__ */ jsxs(Box, {
19
- display: "flex",
20
- flexDirection: "column",
21
- gap: "4",
22
- children: [headerLabel && /* @__PURE__ */ jsx(chakra.p, {
23
- css: styles.label,
24
- children: headerLabel
25
- }), /* @__PURE__ */ jsx(Dialog.Title, { children: title })]
26
- }), /* @__PURE__ */ jsx(Dialog.CloseTrigger, {
27
- asChild: true,
28
- children: /* @__PURE__ */ jsx(BitkitCloseButton, { size: variant === "overflowContent" ? "xs" : "md" })
29
- })] }), children]
14
+ children: /* @__PURE__ */ jsx(BitkitDialogStepProvider, {
15
+ value: { step },
16
+ children: /* @__PURE__ */ jsxs(DialogBodyContext.Provider, {
17
+ value: {
18
+ scrollBehavior,
19
+ showScrollGradient
20
+ },
21
+ children: [/* @__PURE__ */ jsxs(Dialog.Header, { children: [
22
+ /* @__PURE__ */ jsxs(Box, {
23
+ display: "flex",
24
+ flexDirection: "column",
25
+ gap: "4",
26
+ children: [headerLabel && /* @__PURE__ */ jsx(chakra.p, {
27
+ css: styles.label,
28
+ children: headerLabel
29
+ }), /* @__PURE__ */ jsx(Dialog.Title, { children: title })]
30
+ }),
31
+ /* @__PURE__ */ jsx(Box, {
32
+ css: styles.stepHeader,
33
+ children: stepHeader
34
+ }),
35
+ /* @__PURE__ */ jsx(Dialog.CloseTrigger, {
36
+ asChild: true,
37
+ children: /* @__PURE__ */ jsx(BitkitCloseButton, { size: variant === "overflowContent" ? "xs" : "md" })
38
+ })
39
+ ] }), children]
40
+ })
30
41
  })
31
42
  });
32
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BitkitDialogContent.js","names":[],"sources":["../../../lib/components/BitkitDialog/BitkitDialogContent.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Dialog, useDialogStyles } from '@chakra-ui/react/dialog';\nimport { chakra } from '@chakra-ui/react/styled-system';\nimport { type ReactNode } from 'react';\n\nimport BitkitCloseButton from '../BitkitCloseButton/BitkitCloseButton';\nimport { DialogBodyContext } from './BitkitDialogBody';\n\nexport interface BitkitDialogContentProps {\n headerLabel?: string;\n maxHeight?: string;\n scrollBehavior?: 'inside' | 'outside';\n showScrollGradient?: boolean;\n title: ReactNode;\n variant?: 'overflowContent';\n children?: ReactNode;\n}\n\nconst BitkitDialogContent = ({\n headerLabel,\n maxHeight,\n title,\n scrollBehavior: scrollBehaviorProp = 'outside',\n showScrollGradient = true,\n variant,\n children,\n}: BitkitDialogContentProps) => {\n const scrollBehavior = variant === 'overflowContent' ? 'inside' : scrollBehaviorProp;\n const styles = useDialogStyles();\n\n return (\n <Dialog.Content maxHeight={maxHeight}>\n <DialogBodyContext.Provider value={{ scrollBehavior, showScrollGradient }}>\n <Dialog.Header>\n <Box display=\"flex\" flexDirection=\"column\" gap=\"4\">\n {headerLabel && <chakra.p css={styles.label}>{headerLabel}</chakra.p>}\n <Dialog.Title>{title}</Dialog.Title>\n </Box>\n <Dialog.CloseTrigger asChild>\n <BitkitCloseButton size={variant === 'overflowContent' ? 'xs' : 'md'} />\n </Dialog.CloseTrigger>\n </Dialog.Header>\n {children}\n </DialogBodyContext.Provider>\n </Dialog.Content>\n );\n};\n\nexport default BitkitDialogContent;\n"],"mappings":";;;;;;;AAkBA,IAAM,uBAAuB,EAC3B,aACA,WACA,OACA,gBAAgB,qBAAqB,WACrC,qBAAqB,MACrB,SACA,eAC8B;CAC9B,MAAM,iBAAiB,YAAY,oBAAoB,WAAW;CAClE,MAAM,SAAS,iBAAiB;AAEhC,QACE,oBAAC,OAAO,SAAR;EAA2B;YACzB,qBAAC,kBAAkB,UAAnB;GAA4B,OAAO;IAAE;IAAgB;IAAoB;aAAzE,CACE,qBAAC,OAAO,QAAR,EAAA,UAAA,CACE,qBAAC,KAAD;IAAK,SAAQ;IAAO,eAAc;IAAS,KAAI;cAA/C,CACG,eAAe,oBAAC,OAAO,GAAR;KAAU,KAAK,OAAO;eAAQ;KAAuB,CAAA,EACrE,oBAAC,OAAO,OAAR,EAAA,UAAe,OAAqB,CAAA,CAChC;OACN,oBAAC,OAAO,cAAR;IAAqB,SAAA;cACnB,oBAAC,mBAAD,EAAmB,MAAM,YAAY,oBAAoB,OAAO,MAAQ,CAAA;IACpD,CAAA,CACR,EAAA,CAAA,EACf,SAC0B;;EACd,CAAA"}
1
+ {"version":3,"file":"BitkitDialogContent.js","names":[],"sources":["../../../lib/components/BitkitDialog/BitkitDialogContent.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Dialog, useDialogStyles } from '@chakra-ui/react/dialog';\nimport { chakra } from '@chakra-ui/react/styled-system';\nimport { type ReactNode } from 'react';\n\nimport BitkitCloseButton from '../BitkitCloseButton/BitkitCloseButton';\nimport { DialogBodyContext } from './BitkitDialogBody';\nimport { BitkitDialogStepProvider } from './BitkitDialogStepContext';\n\nexport interface BitkitDialogContentProps {\n children?: ReactNode;\n headerLabel?: string;\n maxHeight?: string;\n scrollBehavior?: 'inside' | 'outside';\n showScrollGradient?: boolean;\n step?: number;\n stepHeader?: ReactNode;\n title: ReactNode;\n variant?: 'overflowContent';\n}\n\nconst BitkitDialogContent = ({\n children,\n headerLabel,\n maxHeight,\n scrollBehavior: scrollBehaviorProp = 'outside',\n showScrollGradient = true,\n step = 0,\n stepHeader,\n title,\n variant,\n}: BitkitDialogContentProps) => {\n const scrollBehavior = variant === 'overflowContent' ? 'inside' : scrollBehaviorProp;\n const styles = useDialogStyles();\n\n return (\n <Dialog.Content maxHeight={maxHeight}>\n <BitkitDialogStepProvider value={{ step }}>\n <DialogBodyContext.Provider value={{ scrollBehavior, showScrollGradient }}>\n <Dialog.Header>\n <Box display=\"flex\" flexDirection=\"column\" gap=\"4\">\n {headerLabel && <chakra.p css={styles.label}>{headerLabel}</chakra.p>}\n <Dialog.Title>{title}</Dialog.Title>\n </Box>\n <Box css={styles.stepHeader}>{stepHeader}</Box>\n <Dialog.CloseTrigger asChild>\n <BitkitCloseButton size={variant === 'overflowContent' ? 'xs' : 'md'} />\n </Dialog.CloseTrigger>\n </Dialog.Header>\n {children}\n </DialogBodyContext.Provider>\n </BitkitDialogStepProvider>\n </Dialog.Content>\n );\n};\n\nexport default BitkitDialogContent;\n"],"mappings":";;;;;;;;AAqBA,IAAM,uBAAuB,EAC3B,UACA,aACA,WACA,gBAAgB,qBAAqB,WACrC,qBAAqB,MACrB,OAAO,GACP,YACA,OACA,cAC8B;CAC9B,MAAM,iBAAiB,YAAY,oBAAoB,WAAW;CAClE,MAAM,SAAS,iBAAiB;AAEhC,QACE,oBAAC,OAAO,SAAR;EAA2B;YACzB,oBAAC,0BAAD;GAA0B,OAAO,EAAE,MAAM;aACvC,qBAAC,kBAAkB,UAAnB;IAA4B,OAAO;KAAE;KAAgB;KAAoB;cAAzE,CACE,qBAAC,OAAO,QAAR,EAAA,UAAA;KACE,qBAAC,KAAD;MAAK,SAAQ;MAAO,eAAc;MAAS,KAAI;gBAA/C,CACG,eAAe,oBAAC,OAAO,GAAR;OAAU,KAAK,OAAO;iBAAQ;OAAuB,CAAA,EACrE,oBAAC,OAAO,OAAR,EAAA,UAAe,OAAqB,CAAA,CAChC;;KACN,oBAAC,KAAD;MAAK,KAAK,OAAO;gBAAa;MAAiB,CAAA;KAC/C,oBAAC,OAAO,cAAR;MAAqB,SAAA;gBACnB,oBAAC,mBAAD,EAAmB,MAAM,YAAY,oBAAoB,OAAO,MAAQ,CAAA;MACpD,CAAA;KACR,EAAA,CAAA,EACf,SAC0B;;GACJ,CAAA;EACZ,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ export interface BitkitDialogHeaderProps {
3
+ children: ReactNode;
4
+ }
5
+ declare const BitkitDialogHeader: {
6
+ ({ children }: BitkitDialogHeaderProps): import("react/jsx-runtime").JSX.Element;
7
+ displayName: string;
8
+ };
9
+ export default BitkitDialogHeader;
@@ -0,0 +1,8 @@
1
+ import { Fragment, jsx } from "react/jsx-runtime";
2
+ //#region lib/components/BitkitDialog/BitkitDialogHeader.tsx
3
+ var BitkitDialogHeader = ({ children }) => /* @__PURE__ */ jsx(Fragment, { children });
4
+ BitkitDialogHeader.displayName = "BitkitDialogHeader";
5
+ //#endregion
6
+ export { BitkitDialogHeader as default };
7
+
8
+ //# sourceMappingURL=BitkitDialogHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitkitDialogHeader.js","names":[],"sources":["../../../lib/components/BitkitDialog/BitkitDialogHeader.tsx"],"sourcesContent":["import { type ReactNode } from 'react';\n\nexport interface BitkitDialogHeaderProps {\n children: ReactNode;\n}\n\nconst BitkitDialogHeader = ({ children }: BitkitDialogHeaderProps) => <>{children}</>;\nBitkitDialogHeader.displayName = 'BitkitDialogHeader';\nexport default BitkitDialogHeader;\n"],"mappings":";;AAMA,IAAM,sBAAsB,EAAE,eAAwC,oBAAA,UAAA,EAAG,UAAY,CAAA;AACrF,mBAAmB,cAAc"}