@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,19 +1,19 @@
1
- import { isOnOff } from "../BitkitToggle.utils.js";
1
+ import { isOnOff } from "../BitkitSwitch.utils.js";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { Skeleton } from "@chakra-ui/react/skeleton";
4
4
  import { Switch, useSwitchContext } from "@chakra-ui/react/switch";
5
- //#region lib/components/BitkitToggle/components/BitkitToggleValueText.tsx
6
- var BitkitToggleValueText = ({ size, state, valueText }) => {
5
+ //#region lib/components/BitkitSwitch/components/BitkitSwitchValueText.tsx
6
+ var BitkitSwitchValueText = ({ size, state, valueText }) => {
7
7
  const { checked } = useSwitchContext();
8
8
  if (state === "skeleton") return /* @__PURE__ */ jsx(Skeleton, {
9
- height: size === "sm" ? "12" : "16",
10
- width: size === "sm" ? "64" : "128"
9
+ height: size === "md" ? "12" : "16",
10
+ width: size === "md" ? "64" : "128"
11
11
  });
12
12
  if (!valueText) return null;
13
13
  if (!isOnOff(valueText)) return /* @__PURE__ */ jsx(Switch.Label, { children: valueText });
14
14
  return /* @__PURE__ */ jsx(Switch.Label, { children: checked ? valueText.on : valueText.off });
15
15
  };
16
16
  //#endregion
17
- export { BitkitToggleValueText as default };
17
+ export { BitkitSwitchValueText as default };
18
18
 
19
- //# sourceMappingURL=BitkitToggleValueText.js.map
19
+ //# sourceMappingURL=BitkitSwitchValueText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitkitSwitchValueText.js","names":[],"sources":["../../../../lib/components/BitkitSwitch/components/BitkitSwitchValueText.tsx"],"sourcesContent":["import { Skeleton } from '@chakra-ui/react/skeleton';\nimport { Switch, useSwitchContext } from '@chakra-ui/react/switch';\n\nimport type { BitkitSwitchDynamicTextProps } from '../BitkitSwitch.types';\nimport { isOnOff } from '../BitkitSwitch.utils';\n\nconst BitkitSwitchValueText = ({\n size,\n state,\n valueText,\n}: Pick<BitkitSwitchDynamicTextProps, 'size' | 'state' | 'valueText'>) => {\n const { checked } = useSwitchContext();\n\n if (state === 'skeleton') {\n return <Skeleton height={size === 'md' ? '12' : '16'} width={size === 'md' ? '64' : '128'} />;\n }\n\n if (!valueText) {\n return null;\n }\n\n if (!isOnOff(valueText)) {\n return <Switch.Label>{valueText}</Switch.Label>;\n }\n\n return <Switch.Label>{checked ? valueText.on : valueText.off}</Switch.Label>;\n};\n\nexport default BitkitSwitchValueText;\n"],"mappings":";;;;;AAMA,IAAM,yBAAyB,EAC7B,MACA,OACA,gBACwE;CACxE,MAAM,EAAE,YAAY,kBAAkB;AAEtC,KAAI,UAAU,WACZ,QAAO,oBAAC,UAAD;EAAU,QAAQ,SAAS,OAAO,OAAO;EAAM,OAAO,SAAS,OAAO,OAAO;EAAS,CAAA;AAG/F,KAAI,CAAC,UACH,QAAO;AAGT,KAAI,CAAC,QAAQ,UAAU,CACrB,QAAO,oBAAC,OAAO,OAAR,EAAA,UAAe,WAAyB,CAAA;AAGjD,QAAO,oBAAC,OAAO,OAAR,EAAA,UAAe,UAAU,UAAU,KAAK,UAAU,KAAmB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default } from './BitkitSwitch';
2
+ export type { BitkitSwitchProps } from './BitkitSwitch.types';
@@ -27,7 +27,7 @@ var BitkitTag = (props) => {
27
27
  children: /* @__PURE__ */ jsx(BitkitCloseButton, {
28
28
  disabled: isDisabled || isSkeleton,
29
29
  size: "xs",
30
- "aria-label": "Remove tag",
30
+ "aria-label": "Remove",
31
31
  colorPalette: rest.colorPalette,
32
32
  onClick: onRemove
33
33
  })
@@ -1 +1 @@
1
- {"version":3,"file":"BitkitTag.js","names":[],"sources":["../../../lib/components/BitkitTag/BitkitTag.tsx"],"sourcesContent":["import { Skeleton } from '@chakra-ui/react/skeleton';\nimport { Tag, type TagRootProps } from '@chakra-ui/react/tag';\n\nimport { type BitkitIconComponent } from '../../icons';\nimport BitkitCloseButton from '../BitkitCloseButton/BitkitCloseButton';\n\nexport interface BitkitTagProps extends TagRootProps {\n icon?: BitkitIconComponent;\n labelText: string;\n onRemove?: () => void;\n state?: 'disabled' | 'skeleton';\n}\n\nconst BitkitTag = (props: BitkitTagProps) => {\n const { labelText, icon: Icon, onRemove, state, ...rest } = props;\n const isSkeleton = state === 'skeleton';\n const isDisabled = !!rest.disabled || state === 'disabled';\n return (\n <Tag.Root {...rest} disabled={isDisabled}>\n {!!Icon && (\n <Tag.StartElement asChild>\n <Icon size=\"16\" />\n </Tag.StartElement>\n )}\n <Skeleton loading={isSkeleton} height={isSkeleton ? '8' : undefined} overflow=\"hidden\" borderRadius=\"0\">\n <Tag.Label>{labelText}</Tag.Label>\n </Skeleton>\n {!!onRemove && (\n <Tag.EndElement asChild>\n <BitkitCloseButton\n disabled={isDisabled || isSkeleton}\n size=\"xs\"\n aria-label=\"Remove tag\"\n colorPalette={rest.colorPalette}\n onClick={onRemove}\n />\n </Tag.EndElement>\n )}\n </Tag.Root>\n );\n};\n\nexport default BitkitTag;\n"],"mappings":";;;;;AAaA,IAAM,aAAa,UAA0B;CAC3C,MAAM,EAAE,WAAW,MAAM,MAAM,UAAU,OAAO,GAAG,SAAS;CAC5D,MAAM,aAAa,UAAU;CAC7B,MAAM,aAAa,CAAC,CAAC,KAAK,YAAY,UAAU;AAChD,QACE,qBAAC,IAAI,MAAL;EAAU,GAAI;EAAM,UAAU;YAA9B;GACG,CAAC,CAAC,QACD,oBAAC,IAAI,cAAL;IAAkB,SAAA;cAChB,oBAAC,MAAD,EAAM,MAAK,MAAO,CAAA;IACD,CAAA;GAErB,oBAAC,UAAD;IAAU,SAAS;IAAY,QAAQ,aAAa,MAAM,KAAA;IAAW,UAAS;IAAS,cAAa;cAClG,oBAAC,IAAI,OAAL,EAAA,UAAY,WAAsB,CAAA;IACzB,CAAA;GACV,CAAC,CAAC,YACD,oBAAC,IAAI,YAAL;IAAgB,SAAA;cACd,oBAAC,mBAAD;KACE,UAAU,cAAc;KACxB,MAAK;KACL,cAAW;KACX,cAAc,KAAK;KACnB,SAAS;KACT,CAAA;IACa,CAAA;GAEV"}
1
+ {"version":3,"file":"BitkitTag.js","names":[],"sources":["../../../lib/components/BitkitTag/BitkitTag.tsx"],"sourcesContent":["import { Skeleton } from '@chakra-ui/react/skeleton';\nimport { Tag, type TagRootProps } from '@chakra-ui/react/tag';\n\nimport { type BitkitIconComponent } from '../../icons';\nimport BitkitCloseButton from '../BitkitCloseButton/BitkitCloseButton';\n\nexport interface BitkitTagProps extends TagRootProps {\n icon?: BitkitIconComponent;\n labelText: string;\n onRemove?: () => void;\n state?: 'disabled' | 'skeleton';\n}\n\nconst BitkitTag = (props: BitkitTagProps) => {\n const { labelText, icon: Icon, onRemove, state, ...rest } = props;\n const isSkeleton = state === 'skeleton';\n const isDisabled = !!rest.disabled || state === 'disabled';\n return (\n <Tag.Root {...rest} disabled={isDisabled}>\n {!!Icon && (\n <Tag.StartElement asChild>\n <Icon size=\"16\" />\n </Tag.StartElement>\n )}\n <Skeleton loading={isSkeleton} height={isSkeleton ? '8' : undefined} overflow=\"hidden\" borderRadius=\"0\">\n <Tag.Label>{labelText}</Tag.Label>\n </Skeleton>\n {!!onRemove && (\n <Tag.EndElement asChild>\n <BitkitCloseButton\n disabled={isDisabled || isSkeleton}\n size=\"xs\"\n aria-label=\"Remove\"\n colorPalette={rest.colorPalette}\n onClick={onRemove}\n />\n </Tag.EndElement>\n )}\n </Tag.Root>\n );\n};\n\nexport default BitkitTag;\n"],"mappings":";;;;;AAaA,IAAM,aAAa,UAA0B;CAC3C,MAAM,EAAE,WAAW,MAAM,MAAM,UAAU,OAAO,GAAG,SAAS;CAC5D,MAAM,aAAa,UAAU;CAC7B,MAAM,aAAa,CAAC,CAAC,KAAK,YAAY,UAAU;AAChD,QACE,qBAAC,IAAI,MAAL;EAAU,GAAI;EAAM,UAAU;YAA9B;GACG,CAAC,CAAC,QACD,oBAAC,IAAI,cAAL;IAAkB,SAAA;cAChB,oBAAC,MAAD,EAAM,MAAK,MAAO,CAAA;IACD,CAAA;GAErB,oBAAC,UAAD;IAAU,SAAS;IAAY,QAAQ,aAAa,MAAM,KAAA;IAAW,UAAS;IAAS,cAAa;cAClG,oBAAC,IAAI,OAAL,EAAA,UAAY,WAAsB,CAAA;IACzB,CAAA;GACV,CAAC,CAAC,YACD,oBAAC,IAAI,YAAL;IAAgB,SAAA;cACd,oBAAC,mBAAD;KACE,UAAU,cAAc;KACxB,MAAK;KACL,cAAW;KACX,cAAc,KAAK;KACnB,SAAS;KACT,CAAA;IACa,CAAA;GAEV"}
@@ -2,6 +2,7 @@ import { TagsInput } from '@chakra-ui/react/tags-input';
2
2
  import { BitkitFieldProps } from '../BitkitField/BitkitField';
3
3
  export interface BitkitTagsInputProps extends Omit<BitkitFieldProps, 'children' | 'state'> {
4
4
  addOnPaste?: TagsInput.RootProps['addOnPaste'];
5
+ blurBehavior?: TagsInput.RootProps['blurBehavior'];
5
6
  defaultValue?: string[];
6
7
  delimiter?: TagsInput.RootProps['delimiter'];
7
8
  max?: number;
@@ -7,8 +7,10 @@ import { forwardRef } from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
  import { TagsInput } from "@chakra-ui/react/tags-input";
9
9
  //#region lib/components/BitkitTagsInput/BitkitTagsInput.tsx
10
+ var rejectEmpty = ({ inputValue }) => inputValue.trim().length > 0;
10
11
  var BitkitTagsInput = forwardRef((props, ref) => {
11
- const { addOnPaste, defaultValue, delimiter = " ", max, onValueChange, placeholder, size = "lg", state, validate, value, ...fieldProps } = props;
12
+ const { addOnPaste = true, blurBehavior = "add", defaultValue, delimiter = /[\s,]+/, max, onValueChange, placeholder, size = "lg", state, validate, value, ...fieldProps } = props;
13
+ const effectiveValidate = (details) => rejectEmpty(details) && (validate?.(details) ?? true);
12
14
  const styles = useSlotRecipe({ key: "tagsInput" })({ size });
13
15
  const hasWarning = state === "warning" || !!fieldProps.warningText;
14
16
  const isInvalid = state === "error" || !!fieldProps.errorText;
@@ -25,6 +27,7 @@ var BitkitTagsInput = forwardRef((props, ref) => {
25
27
  });
26
28
  return /* @__PURE__ */ jsx(TagsInput.Root, {
27
29
  addOnPaste,
30
+ blurBehavior,
28
31
  defaultValue,
29
32
  delimiter,
30
33
  disabled: isDisabled,
@@ -33,7 +36,7 @@ var BitkitTagsInput = forwardRef((props, ref) => {
33
36
  onValueChange,
34
37
  readOnly: isReadOnly,
35
38
  size,
36
- validate,
39
+ validate: effectiveValidate,
37
40
  value,
38
41
  children: /* @__PURE__ */ jsx(TagsInput.Context, { children: ({ value: tagValues }) => /* @__PURE__ */ jsxs(BitkitField, {
39
42
  counterText: max !== void 0 ? `${tagValues.length}/${max}` : void 0,
@@ -1 +1 @@
1
- {"version":3,"file":"BitkitTagsInput.js","names":[],"sources":["../../../lib/components/BitkitTagsInput/BitkitTagsInput.tsx"],"sourcesContent":["import { chakra, useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { TagsInput } from '@chakra-ui/react/tags-input';\nimport { forwardRef } from 'react';\n\nimport { IconCross, IconErrorCircleFilled, IconWarningYellow } from '../../icons';\nimport BitkitField, { type BitkitFieldProps } from '../BitkitField/BitkitField';\n\nexport interface BitkitTagsInputProps extends Omit<BitkitFieldProps, 'children' | 'state'> {\n addOnPaste?: TagsInput.RootProps['addOnPaste'];\n defaultValue?: string[];\n delimiter?: TagsInput.RootProps['delimiter'];\n max?: number;\n onValueChange?: TagsInput.RootProps['onValueChange'];\n placeholder?: string;\n size?: 'md' | 'lg';\n state?: 'disabled' | 'error' | 'readOnly' | 'warning';\n validate?: TagsInput.RootProps['validate'];\n value?: string[];\n}\n\nconst BitkitTagsInput = forwardRef<HTMLDivElement, BitkitTagsInputProps>((props, ref) => {\n const {\n addOnPaste,\n defaultValue,\n delimiter = ' ',\n max,\n onValueChange,\n placeholder,\n size = 'lg',\n state,\n validate,\n value,\n ...fieldProps\n } = props;\n\n const styles = useSlotRecipe({ key: 'tagsInput' })({ size });\n\n const hasWarning = state === 'warning' || !!fieldProps.warningText;\n const isInvalid = state === 'error' || !!fieldProps.errorText;\n const isDisabled = state === 'disabled';\n const isReadOnly = state === 'readOnly';\n\n let statusIcon = undefined;\n if (isInvalid) {\n statusIcon = <IconErrorCircleFilled color=\"icon/negative\" size={size === 'lg' ? '24' : '16'} />;\n } else if (hasWarning) {\n statusIcon = <IconWarningYellow color=\"icon/warning\" size={size === 'lg' ? '24' : '16'} />;\n }\n\n return (\n <TagsInput.Root\n addOnPaste={addOnPaste}\n defaultValue={defaultValue}\n delimiter={delimiter}\n disabled={isDisabled}\n invalid={isInvalid}\n max={max}\n onValueChange={onValueChange}\n readOnly={isReadOnly}\n size={size}\n validate={validate}\n value={value}\n >\n <TagsInput.Context>\n {({ value: tagValues }) => (\n <BitkitField\n counterText={max !== undefined ? `${tagValues.length}/${max}` : undefined}\n ref={ref}\n state={state}\n {...fieldProps}\n >\n <TagsInput.Control>\n <chakra.div css={styles.tagsBlock}>\n {tagValues.map((tagValue, index) => (\n <TagsInput.Item index={index} key={tagValue} value={tagValue}>\n <TagsInput.ItemPreview>\n <TagsInput.ItemText>{tagValue}</TagsInput.ItemText>\n {!isReadOnly && (\n <TagsInput.ItemDeleteTrigger>\n <IconCross size=\"16\" />\n </TagsInput.ItemDeleteTrigger>\n )}\n </TagsInput.ItemPreview>\n <TagsInput.ItemInput />\n </TagsInput.Item>\n ))}\n <TagsInput.Input placeholder={placeholder} />\n </chakra.div>\n {(statusIcon || (tagValues.length > 0 && !isDisabled && !isReadOnly)) && (\n <chakra.div css={styles.suffixBlock}>\n {statusIcon}\n {tagValues.length > 0 && !isDisabled && !isReadOnly && (\n <TagsInput.ClearTrigger css={styles.clearTrigger}>\n <IconCross size={size === 'lg' ? '24' : '16'} />\n </TagsInput.ClearTrigger>\n )}\n </chakra.div>\n )}\n </TagsInput.Control>\n <TagsInput.HiddenInput />\n </BitkitField>\n )}\n </TagsInput.Context>\n </TagsInput.Root>\n );\n});\n\nBitkitTagsInput.displayName = 'BitkitTagsInput';\nexport default BitkitTagsInput;\n"],"mappings":";;;;;;;;;AAoBA,IAAM,kBAAkB,YAAkD,OAAO,QAAQ;CACvF,MAAM,EACJ,YACA,cACA,YAAY,KACZ,KACA,eACA,aACA,OAAO,MACP,OACA,UACA,OACA,GAAG,eACD;CAEJ,MAAM,SAAS,cAAc,EAAE,KAAK,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;CAE5D,MAAM,aAAa,UAAU,aAAa,CAAC,CAAC,WAAW;CACvD,MAAM,YAAY,UAAU,WAAW,CAAC,CAAC,WAAW;CACpD,MAAM,aAAa,UAAU;CAC7B,MAAM,aAAa,UAAU;CAE7B,IAAI,aAAa,KAAA;AACjB,KAAI,UACF,cAAa,oBAAC,uBAAD;EAAuB,OAAM;EAAgB,MAAM,SAAS,OAAO,OAAO;EAAQ,CAAA;UACtF,WACT,cAAa,oBAAC,mBAAD;EAAmB,OAAM;EAAe,MAAM,SAAS,OAAO,OAAO;EAAQ,CAAA;AAG5F,QACE,oBAAC,UAAU,MAAX;EACc;EACE;EACH;EACX,UAAU;EACV,SAAS;EACJ;EACU;EACf,UAAU;EACJ;EACI;EACH;YAEP,oBAAC,UAAU,SAAX,EAAA,WACI,EAAE,OAAO,gBACT,qBAAC,aAAD;GACE,aAAa,QAAQ,KAAA,IAAY,GAAG,UAAU,OAAO,GAAG,QAAQ,KAAA;GAC3D;GACE;GACP,GAAI;aAJN,CAME,qBAAC,UAAU,SAAX,EAAA,UAAA,CACE,qBAAC,OAAO,KAAR;IAAY,KAAK,OAAO;cAAxB,CACG,UAAU,KAAK,UAAU,UACxB,qBAAC,UAAU,MAAX;KAAuB;KAAsB,OAAO;eAApD,CACE,qBAAC,UAAU,aAAX,EAAA,UAAA,CACE,oBAAC,UAAU,UAAX,EAAA,UAAqB,UAA8B,CAAA,EAClD,CAAC,cACA,oBAAC,UAAU,mBAAX,EAAA,UACE,oBAAC,WAAD,EAAW,MAAK,MAAO,CAAA,EACK,CAAA,CAEV,EAAA,CAAA,EACxB,oBAAC,UAAU,WAAX,EAAuB,CAAA,CACR;OAVkB,SAUlB,CACjB,EACF,oBAAC,UAAU,OAAX,EAA8B,aAAe,CAAA,CAClC;QACX,cAAe,UAAU,SAAS,KAAK,CAAC,cAAc,CAAC,eACvD,qBAAC,OAAO,KAAR;IAAY,KAAK,OAAO;cAAxB,CACG,YACA,UAAU,SAAS,KAAK,CAAC,cAAc,CAAC,cACvC,oBAAC,UAAU,cAAX;KAAwB,KAAK,OAAO;eAClC,oBAAC,WAAD,EAAW,MAAM,SAAS,OAAO,OAAO,MAAQ,CAAA;KACzB,CAAA,CAEhB;MAEG,EAAA,CAAA,EACpB,oBAAC,UAAU,aAAX,EAAyB,CAAA,CACb;MAEE,CAAA;EACL,CAAA;EAEnB;AAEF,gBAAgB,cAAc"}
1
+ {"version":3,"file":"BitkitTagsInput.js","names":[],"sources":["../../../lib/components/BitkitTagsInput/BitkitTagsInput.tsx"],"sourcesContent":["import { chakra, useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { TagsInput } from '@chakra-ui/react/tags-input';\nimport { forwardRef } from 'react';\n\nimport { IconCross, IconErrorCircleFilled, IconWarningYellow } from '../../icons';\nimport BitkitField, { type BitkitFieldProps } from '../BitkitField/BitkitField';\n\nexport interface BitkitTagsInputProps extends Omit<BitkitFieldProps, 'children' | 'state'> {\n addOnPaste?: TagsInput.RootProps['addOnPaste'];\n blurBehavior?: TagsInput.RootProps['blurBehavior'];\n defaultValue?: string[];\n delimiter?: TagsInput.RootProps['delimiter'];\n max?: number;\n onValueChange?: TagsInput.RootProps['onValueChange'];\n placeholder?: string;\n size?: 'md' | 'lg';\n state?: 'disabled' | 'error' | 'readOnly' | 'warning';\n validate?: TagsInput.RootProps['validate'];\n value?: string[];\n}\n\nconst rejectEmpty: NonNullable<TagsInput.RootProps['validate']> = ({ inputValue }) => inputValue.trim().length > 0;\n\nconst BitkitTagsInput = forwardRef<HTMLDivElement, BitkitTagsInputProps>((props, ref) => {\n const {\n addOnPaste = true,\n blurBehavior = 'add',\n defaultValue,\n // Greedy `+` collapses runs of whitespace/commas into a single delimiter so pasting\n // \"alpha, beta\" doesn't spawn an empty tag between the alpha and beta.\n delimiter = /[\\s,]+/,\n max,\n onValueChange,\n placeholder,\n size = 'lg',\n state,\n validate,\n value,\n ...fieldProps\n } = props;\n\n // Always reject empty/whitespace-only input (covers leading/trailing delimiters on paste\n // and blurBehavior=\"add\" with an empty input). Chain with a user-supplied validate if any.\n const effectiveValidate: NonNullable<TagsInput.RootProps['validate']> = (details) =>\n rejectEmpty(details) && (validate?.(details) ?? true);\n\n const styles = useSlotRecipe({ key: 'tagsInput' })({ size });\n\n const hasWarning = state === 'warning' || !!fieldProps.warningText;\n const isInvalid = state === 'error' || !!fieldProps.errorText;\n const isDisabled = state === 'disabled';\n const isReadOnly = state === 'readOnly';\n\n let statusIcon = undefined;\n if (isInvalid) {\n statusIcon = <IconErrorCircleFilled color=\"icon/negative\" size={size === 'lg' ? '24' : '16'} />;\n } else if (hasWarning) {\n statusIcon = <IconWarningYellow color=\"icon/warning\" size={size === 'lg' ? '24' : '16'} />;\n }\n\n return (\n <TagsInput.Root\n addOnPaste={addOnPaste}\n blurBehavior={blurBehavior}\n defaultValue={defaultValue}\n delimiter={delimiter}\n disabled={isDisabled}\n invalid={isInvalid}\n max={max}\n onValueChange={onValueChange}\n readOnly={isReadOnly}\n size={size}\n validate={effectiveValidate}\n value={value}\n >\n <TagsInput.Context>\n {({ value: tagValues }) => (\n <BitkitField\n counterText={max !== undefined ? `${tagValues.length}/${max}` : undefined}\n ref={ref}\n state={state}\n {...fieldProps}\n >\n <TagsInput.Control>\n <chakra.div css={styles.tagsBlock}>\n {tagValues.map((tagValue, index) => (\n <TagsInput.Item index={index} key={tagValue} value={tagValue}>\n <TagsInput.ItemPreview>\n <TagsInput.ItemText>{tagValue}</TagsInput.ItemText>\n {!isReadOnly && (\n <TagsInput.ItemDeleteTrigger>\n <IconCross size=\"16\" />\n </TagsInput.ItemDeleteTrigger>\n )}\n </TagsInput.ItemPreview>\n <TagsInput.ItemInput />\n </TagsInput.Item>\n ))}\n <TagsInput.Input placeholder={placeholder} />\n </chakra.div>\n {(statusIcon || (tagValues.length > 0 && !isDisabled && !isReadOnly)) && (\n <chakra.div css={styles.suffixBlock}>\n {statusIcon}\n {tagValues.length > 0 && !isDisabled && !isReadOnly && (\n <TagsInput.ClearTrigger css={styles.clearTrigger}>\n <IconCross size={size === 'lg' ? '24' : '16'} />\n </TagsInput.ClearTrigger>\n )}\n </chakra.div>\n )}\n </TagsInput.Control>\n <TagsInput.HiddenInput />\n </BitkitField>\n )}\n </TagsInput.Context>\n </TagsInput.Root>\n );\n});\n\nBitkitTagsInput.displayName = 'BitkitTagsInput';\nexport default BitkitTagsInput;\n"],"mappings":";;;;;;;;;AAqBA,IAAM,eAA6D,EAAE,iBAAiB,WAAW,MAAM,CAAC,SAAS;AAEjH,IAAM,kBAAkB,YAAkD,OAAO,QAAQ;CACvF,MAAM,EACJ,aAAa,MACb,eAAe,OACf,cAGA,YAAY,UACZ,KACA,eACA,aACA,OAAO,MACP,OACA,UACA,OACA,GAAG,eACD;CAIJ,MAAM,qBAAmE,YACvE,YAAY,QAAQ,KAAK,WAAW,QAAQ,IAAI;CAElD,MAAM,SAAS,cAAc,EAAE,KAAK,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;CAE5D,MAAM,aAAa,UAAU,aAAa,CAAC,CAAC,WAAW;CACvD,MAAM,YAAY,UAAU,WAAW,CAAC,CAAC,WAAW;CACpD,MAAM,aAAa,UAAU;CAC7B,MAAM,aAAa,UAAU;CAE7B,IAAI,aAAa,KAAA;AACjB,KAAI,UACF,cAAa,oBAAC,uBAAD;EAAuB,OAAM;EAAgB,MAAM,SAAS,OAAO,OAAO;EAAQ,CAAA;UACtF,WACT,cAAa,oBAAC,mBAAD;EAAmB,OAAM;EAAe,MAAM,SAAS,OAAO,OAAO;EAAQ,CAAA;AAG5F,QACE,oBAAC,UAAU,MAAX;EACc;EACE;EACA;EACH;EACX,UAAU;EACV,SAAS;EACJ;EACU;EACf,UAAU;EACJ;EACN,UAAU;EACH;YAEP,oBAAC,UAAU,SAAX,EAAA,WACI,EAAE,OAAO,gBACT,qBAAC,aAAD;GACE,aAAa,QAAQ,KAAA,IAAY,GAAG,UAAU,OAAO,GAAG,QAAQ,KAAA;GAC3D;GACE;GACP,GAAI;aAJN,CAME,qBAAC,UAAU,SAAX,EAAA,UAAA,CACE,qBAAC,OAAO,KAAR;IAAY,KAAK,OAAO;cAAxB,CACG,UAAU,KAAK,UAAU,UACxB,qBAAC,UAAU,MAAX;KAAuB;KAAsB,OAAO;eAApD,CACE,qBAAC,UAAU,aAAX,EAAA,UAAA,CACE,oBAAC,UAAU,UAAX,EAAA,UAAqB,UAA8B,CAAA,EAClD,CAAC,cACA,oBAAC,UAAU,mBAAX,EAAA,UACE,oBAAC,WAAD,EAAW,MAAK,MAAO,CAAA,EACK,CAAA,CAEV,EAAA,CAAA,EACxB,oBAAC,UAAU,WAAX,EAAuB,CAAA,CACR;OAVkB,SAUlB,CACjB,EACF,oBAAC,UAAU,OAAX,EAA8B,aAAe,CAAA,CAClC;QACX,cAAe,UAAU,SAAS,KAAK,CAAC,cAAc,CAAC,eACvD,qBAAC,OAAO,KAAR;IAAY,KAAK,OAAO;cAAxB,CACG,YACA,UAAU,SAAS,KAAK,CAAC,cAAc,CAAC,cACvC,oBAAC,UAAU,cAAX;KAAwB,KAAK,OAAO;eAClC,oBAAC,WAAD,EAAW,MAAM,SAAS,OAAO,OAAO,MAAQ,CAAA;KACzB,CAAA,CAEhB;MAEG,EAAA,CAAA,EACpB,oBAAC,UAAU,aAAX,EAAyB,CAAA,CACb;MAEE,CAAA;EACL,CAAA;EAEnB;AAEF,gBAAgB,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"BitkitTreeView.js","names":[],"sources":["../../../lib/components/BitkitTreeView/BitkitTreeView.tsx"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { createContext } from '@chakra-ui/react';\nimport { Box } from '@chakra-ui/react/box';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { Text } from '@chakra-ui/react/text';\nimport {\n TreeView,\n type TreeViewBranchControlProps,\n type TreeViewItemProps,\n type TreeViewNodeRenderProps,\n type TreeViewRootProps,\n} from '@chakra-ui/react/tree-view';\nimport { cloneElement, forwardRef, type ReactElement, type ReactNode } from 'react';\n\nimport { type BitkitIconComponent, IconChevronRight, IconFolder, IconWarningYellow } from '../../icons';\n\n// Re-export for consumer convenience\nexport { createTreeCollection } from '@chakra-ui/react/collection';\n\n// Re-export useful types\nexport type {\n TreeViewExpandedChangeDetails as BitkitTreeViewExpandedChangeDetails,\n TreeViewNodeRenderProps as BitkitTreeViewNodeRenderProps,\n TreeViewSelectionChangeDetails as BitkitTreeViewSelectionChangeDetails,\n} from '@chakra-ui/react/tree-view';\n\n// --- Variant context ---\n\nexport type BitkitTreeViewVariant = 'files' | 'navigation';\n\nconst [VariantProvider, useVariant] = createContext<{ variant: BitkitTreeViewVariant }>({\n name: 'BitkitTreeViewVariantContext',\n defaultValue: { variant: 'files' },\n});\n\nconst useCustomSlotStyles = (variant: BitkitTreeViewVariant) => {\n const recipe = useSlotRecipe({ key: 'treeView' });\n return recipe({ variant });\n};\n\n// --- Root ---\n\nexport interface BitkitTreeViewRootProps extends Omit<TreeViewRootProps, 'children'> {\n children?: ReactNode;\n render: (props: TreeViewNodeRenderProps) => ReactNode;\n variant?: BitkitTreeViewVariant;\n}\n\nconst Root = forwardRef<HTMLDivElement, BitkitTreeViewRootProps>(\n ({ children, render, variant = 'files', ...props }, ref) => {\n const indentGuide = variant === 'files' ? <TreeView.BranchIndentGuide /> : undefined;\n\n return (\n <VariantProvider value={{ variant }}>\n <TreeView.Root ref={ref} variant={variant} {...props}>\n <TreeView.Tree>\n <TreeView.Node indentGuide={indentGuide} render={render as never} />\n {children}\n </TreeView.Tree>\n </TreeView.Root>\n </VariantProvider>\n );\n },\n);\nRoot.displayName = 'BitkitTreeView';\n\n// --- Branch ---\n\nexport interface BitkitTreeViewBranchProps extends Omit<TreeViewBranchControlProps, 'children'> {\n actions?: ReactElement[];\n hasWarning?: boolean;\n label: string;\n subtext?: ReactNode;\n suffixIcon?: BitkitIconComponent;\n suffixText?: string;\n}\n\nconst Branch = forwardRef<HTMLDivElement, BitkitTreeViewBranchProps>((props, ref) => {\n const { actions, hasWarning, label, subtext, suffixIcon: SuffixIcon, suffixText, ...rest } = props;\n const { variant } = useVariant();\n const styles = useCustomSlotStyles(variant);\n const hasSuffix = hasWarning || SuffixIcon || suffixText;\n const hasActions = actions && actions.length > 0;\n\n const BranchIcon = variant === 'navigation' ? IconChevronRight : IconFolder;\n\n return (\n <TreeView.BranchControl ref={ref} className={hasActions ? 'group' : undefined} {...rest}>\n <TreeView.BranchIndicator>\n <BranchIcon size=\"16\" />\n </TreeView.BranchIndicator>\n <TreeView.BranchText>\n {label}\n {subtext && <Text css={styles.secondaryText}>{subtext}</Text>}\n </TreeView.BranchText>\n {hasSuffix && (\n <Box css={styles.suffixGroup}>\n {hasWarning && <IconWarningYellow size=\"16\" />}\n {SuffixIcon && <SuffixIcon size=\"16\" />}\n {suffixText && <span>{suffixText}</span>}\n </Box>\n )}\n {hasActions && (\n <Box css={styles.actionGroup}>{actions.map((action) => cloneElement(action, { size: 'xs' }))}</Box>\n )}\n </TreeView.BranchControl>\n );\n});\nBranch.displayName = 'BitkitTreeView.Branch';\n\n// --- Leaf ---\n\nexport interface BitkitTreeViewLeafProps extends Omit<TreeViewItemProps, 'children'> {\n actions?: ReactElement[];\n badge?: ReactElement;\n hasWarning?: boolean;\n icon?: BitkitIconComponent;\n label: string;\n subtext?: ReactNode;\n suffixIcon?: BitkitIconComponent;\n suffixText?: string;\n}\n\nconst Leaf = forwardRef<HTMLDivElement, BitkitTreeViewLeafProps>((props, ref) => {\n const { actions, badge, hasWarning, icon: Icon, label, subtext, suffixIcon: SuffixIcon, suffixText, ...rest } = props;\n const { variant } = useVariant();\n const styles = useCustomSlotStyles(variant);\n const hasSuffix = hasWarning || SuffixIcon || suffixText;\n const hasActions = actions && actions.length > 0;\n\n return (\n <TreeView.Item ref={ref} className={hasActions ? 'group' : undefined} {...rest}>\n {Icon && <Icon size=\"16\" />}\n {badge && cloneElement(badge, { size: 'xxs' })}\n <TreeView.ItemText>\n {label}\n {subtext && <Text css={styles.secondaryText}>{subtext}</Text>}\n </TreeView.ItemText>\n {hasSuffix && (\n <Box css={styles.suffixGroup}>\n {hasWarning && <IconWarningYellow size=\"16\" />}\n {SuffixIcon && <SuffixIcon size=\"16\" />}\n {suffixText && <span>{suffixText}</span>}\n </Box>\n )}\n {hasActions && (\n <Box css={styles.actionGroup}>{actions.map((action) => cloneElement(action, { size: 'xs' }))}</Box>\n )}\n </TreeView.Item>\n );\n});\nLeaf.displayName = 'BitkitTreeView.Leaf';\n\n// --- Main export ---\n\nconst BitkitTreeView = Object.assign(Root, {\n Branch,\n Leaf,\n});\n\nexport default BitkitTreeView;\n"],"mappings":";;;;;;;;;;;;AA8BA,IAAM,CAAC,iBAAiB,cAAc,gBAAkD;CACtF,MAAM;CACN,cAAc,EAAE,SAAS,SAAS;CACnC,CAAC;AAEF,IAAM,uBAAuB,YAAmC;AAE9D,QADe,cAAc,EAAE,KAAK,YAAY,CAAC,CACnC,EAAE,SAAS,CAAC;;AAW5B,IAAM,OAAO,YACV,EAAE,UAAU,QAAQ,UAAU,SAAS,GAAG,SAAS,QAAQ;CAC1D,MAAM,cAAc,YAAY,UAAU,oBAAC,SAAS,mBAAV,EAA8B,CAAA,GAAG,KAAA;AAE3E,QACE,oBAAC,iBAAD;EAAiB,OAAO,EAAE,SAAS;YACjC,oBAAC,SAAS,MAAV;GAAoB;GAAc;GAAS,GAAI;aAC7C,qBAAC,SAAS,MAAV,EAAA,UAAA,CACE,oBAAC,SAAS,MAAV;IAA4B;IAAqB;IAAmB,CAAA,EACnE,SACa,EAAA,CAAA;GACF,CAAA;EACA,CAAA;EAGvB;AACD,KAAK,cAAc;AAanB,IAAM,SAAS,YAAuD,OAAO,QAAQ;CACnF,MAAM,EAAE,SAAS,YAAY,OAAO,SAAS,YAAY,YAAY,YAAY,GAAG,SAAS;CAC7F,MAAM,EAAE,YAAY,YAAY;CAChC,MAAM,SAAS,oBAAoB,QAAQ;CAC3C,MAAM,YAAY,cAAc,cAAc;CAC9C,MAAM,aAAa,WAAW,QAAQ,SAAS;CAE/C,MAAM,aAAa,YAAY,eAAe,mBAAmB;AAEjE,QACE,qBAAC,SAAS,eAAV;EAA6B;EAAK,WAAW,aAAa,UAAU,KAAA;EAAW,GAAI;YAAnF;GACE,oBAAC,SAAS,iBAAV,EAAA,UACE,oBAAC,YAAD,EAAY,MAAK,MAAO,CAAA,EACC,CAAA;GAC3B,qBAAC,SAAS,YAAV,EAAA,UAAA,CACG,OACA,WAAW,oBAAC,MAAD;IAAM,KAAK,OAAO;cAAgB;IAAe,CAAA,CACzC,EAAA,CAAA;GACrB,aACC,qBAAC,KAAD;IAAK,KAAK,OAAO;cAAjB;KACG,cAAc,oBAAC,mBAAD,EAAmB,MAAK,MAAO,CAAA;KAC7C,cAAc,oBAAC,YAAD,EAAY,MAAK,MAAO,CAAA;KACtC,cAAc,oBAAC,QAAD,EAAA,UAAO,YAAkB,CAAA;KACpC;;GAEP,cACC,oBAAC,KAAD;IAAK,KAAK,OAAO;cAAc,QAAQ,KAAK,WAAW,aAAa,QAAQ,EAAE,MAAM,MAAM,CAAC,CAAC;IAAO,CAAA;GAE9E;;EAE3B;AACF,OAAO,cAAc;AAerB,IAAM,OAAO,YAAqD,OAAO,QAAQ;CAC/E,MAAM,EAAE,SAAS,OAAO,YAAY,MAAM,MAAM,OAAO,SAAS,YAAY,YAAY,YAAY,GAAG,SAAS;CAChH,MAAM,EAAE,YAAY,YAAY;CAChC,MAAM,SAAS,oBAAoB,QAAQ;CAC3C,MAAM,YAAY,cAAc,cAAc;CAC9C,MAAM,aAAa,WAAW,QAAQ,SAAS;AAE/C,QACE,qBAAC,SAAS,MAAV;EAAoB;EAAK,WAAW,aAAa,UAAU,KAAA;EAAW,GAAI;YAA1E;GACG,QAAQ,oBAAC,MAAD,EAAM,MAAK,MAAO,CAAA;GAC1B,SAAS,aAAa,OAAO,EAAE,MAAM,OAAO,CAAC;GAC9C,qBAAC,SAAS,UAAV,EAAA,UAAA,CACG,OACA,WAAW,oBAAC,MAAD;IAAM,KAAK,OAAO;cAAgB;IAAe,CAAA,CAC3C,EAAA,CAAA;GACnB,aACC,qBAAC,KAAD;IAAK,KAAK,OAAO;cAAjB;KACG,cAAc,oBAAC,mBAAD,EAAmB,MAAK,MAAO,CAAA;KAC7C,cAAc,oBAAC,YAAD,EAAY,MAAK,MAAO,CAAA;KACtC,cAAc,oBAAC,QAAD,EAAA,UAAO,YAAkB,CAAA;KACpC;;GAEP,cACC,oBAAC,KAAD;IAAK,KAAK,OAAO;cAAc,QAAQ,KAAK,WAAW,aAAa,QAAQ,EAAE,MAAM,MAAM,CAAC,CAAC;IAAO,CAAA;GAEvF;;EAElB;AACF,KAAK,cAAc;AAInB,IAAM,iBAAiB,OAAO,OAAO,MAAM;CACzC;CACA;CACD,CAAC"}
1
+ {"version":3,"file":"BitkitTreeView.js","names":[],"sources":["../../../lib/components/BitkitTreeView/BitkitTreeView.tsx"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { createContext } from '@chakra-ui/react';\nimport { Box } from '@chakra-ui/react/box';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { Text } from '@chakra-ui/react/text';\nimport {\n TreeView,\n type TreeViewBranchControlProps,\n type TreeViewItemProps,\n type TreeViewNodeRenderProps,\n type TreeViewRootProps,\n} from '@chakra-ui/react/tree-view';\nimport { cloneElement, forwardRef, type ReactElement, type ReactNode } from 'react';\n\nimport { type BitkitIconComponent, IconChevronRight, IconFolder, IconWarningYellow } from '../../icons';\n\n// Re-export for consumer convenience\nexport { createTreeCollection } from '@chakra-ui/react/collection';\n\n// Re-export useful types\nexport type {\n TreeViewExpandedChangeDetails as BitkitTreeViewExpandedChangeDetails,\n TreeViewNodeRenderProps as BitkitTreeViewNodeRenderProps,\n TreeViewSelectionChangeDetails as BitkitTreeViewSelectionChangeDetails,\n} from '@chakra-ui/react/tree-view';\n\n// --- Variant context ---\n\nexport type BitkitTreeViewVariant = 'files' | 'navigation';\n\nconst [VariantProvider, useVariant] = createContext<{ variant: BitkitTreeViewVariant }>({\n name: 'BitkitTreeViewVariantContext',\n defaultValue: { variant: 'files' },\n});\n\nconst useCustomSlotStyles = (variant: BitkitTreeViewVariant) => {\n const recipe = useSlotRecipe({ key: 'treeView' });\n return recipe({ variant });\n};\n\n// --- Root ---\n\nexport interface BitkitTreeViewRootProps extends Omit<TreeViewRootProps, 'children'> {\n children?: ReactNode;\n render: (props: TreeViewNodeRenderProps) => ReactNode;\n variant?: BitkitTreeViewVariant;\n}\n\nconst Root = forwardRef<HTMLDivElement, BitkitTreeViewRootProps>(\n ({ children, render, variant = 'files', ...props }, ref) => {\n const indentGuide = variant === 'files' ? <TreeView.BranchIndentGuide /> : undefined;\n\n return (\n <VariantProvider value={{ variant }}>\n <TreeView.Root ref={ref} variant={variant} {...props}>\n <TreeView.Tree>\n <TreeView.Node indentGuide={indentGuide} render={render as never} />\n {children}\n </TreeView.Tree>\n </TreeView.Root>\n </VariantProvider>\n );\n },\n);\nRoot.displayName = 'BitkitTreeView';\n\n// --- Branch ---\n\nexport interface BitkitTreeViewBranchProps extends Omit<TreeViewBranchControlProps, 'children'> {\n actions?: ReactElement[];\n hasWarning?: boolean;\n label: string;\n subtext?: ReactNode;\n suffixIcon?: BitkitIconComponent;\n suffixText?: string;\n}\n\nconst Branch = forwardRef<HTMLDivElement, BitkitTreeViewBranchProps>((props, ref) => {\n const { actions, hasWarning, label, subtext, suffixIcon: SuffixIcon, suffixText, ...rest } = props;\n const { variant } = useVariant();\n const styles = useCustomSlotStyles(variant);\n const hasSuffix = hasWarning || SuffixIcon || suffixText;\n const hasActions = actions && actions.length > 0;\n\n const BranchIcon = variant === 'navigation' ? IconChevronRight : IconFolder;\n\n return (\n <TreeView.BranchControl ref={ref} className={hasActions ? 'group' : undefined} {...rest}>\n <TreeView.BranchIndicator>\n <BranchIcon size=\"16\" />\n </TreeView.BranchIndicator>\n <TreeView.BranchText>\n {label}\n {subtext && <Text css={styles.secondaryText}>{subtext}</Text>}\n </TreeView.BranchText>\n {hasSuffix && (\n <Box css={styles.suffixGroup}>\n {hasWarning && <IconWarningYellow size=\"16\" />}\n {SuffixIcon && <SuffixIcon size=\"16\" />}\n {suffixText && <span>{suffixText}</span>}\n </Box>\n )}\n {hasActions && (\n <Box css={styles.actionGroup}>{actions.map((action) => cloneElement(action, { size: 'xs' }))}</Box>\n )}\n </TreeView.BranchControl>\n );\n});\nBranch.displayName = 'BitkitTreeView.Branch';\n\n// --- Leaf ---\n\nexport interface BitkitTreeViewLeafProps extends Omit<TreeViewItemProps, 'children'> {\n actions?: ReactElement[];\n badge?: ReactElement;\n hasWarning?: boolean;\n icon?: BitkitIconComponent;\n label: string;\n subtext?: ReactNode;\n suffixIcon?: BitkitIconComponent;\n suffixText?: string;\n}\n\nconst Leaf = forwardRef<HTMLDivElement, BitkitTreeViewLeafProps>((props, ref) => {\n const { actions, badge, hasWarning, icon: Icon, label, subtext, suffixIcon: SuffixIcon, suffixText, ...rest } = props;\n const { variant } = useVariant();\n const styles = useCustomSlotStyles(variant);\n const hasSuffix = hasWarning || SuffixIcon || suffixText;\n const hasActions = actions && actions.length > 0;\n\n return (\n <TreeView.Item ref={ref} className={hasActions ? 'group' : undefined} {...rest}>\n {Icon && <Icon size=\"16\" />}\n {badge && cloneElement(badge, { size: 'xxs' })}\n <TreeView.ItemText>\n {label}\n {subtext && <Text css={styles.secondaryText}>{subtext}</Text>}\n </TreeView.ItemText>\n {hasSuffix && (\n <Box css={styles.suffixGroup}>\n {hasWarning && <IconWarningYellow size=\"16\" />}\n {SuffixIcon && <SuffixIcon size=\"16\" />}\n {suffixText && <span>{suffixText}</span>}\n </Box>\n )}\n {hasActions && (\n <Box css={styles.actionGroup}>{actions.map((action) => cloneElement(action, { size: 'xs' }))}</Box>\n )}\n </TreeView.Item>\n );\n});\nLeaf.displayName = 'BitkitTreeView.Leaf';\n\n// --- Main export ---\n\nconst BitkitTreeView = Object.assign(Root, {\n Branch,\n Leaf,\n});\n\nexport default BitkitTreeView;\n"],"mappings":";;;;;;;;;;;;AA8BA,IAAM,CAAC,iBAAiB,cAAc,gBAAkD;CACtF,MAAM;CACN,cAAc,EAAE,SAAS,SAAS;CACnC,CAAC;AAEF,IAAM,uBAAuB,YAAmC;AAE9D,QADe,cAAc,EAAE,KAAK,YAAY,CACzC,CAAO,EAAE,SAAS,CAAC;;AAW5B,IAAM,OAAO,YACV,EAAE,UAAU,QAAQ,UAAU,SAAS,GAAG,SAAS,QAAQ;CAC1D,MAAM,cAAc,YAAY,UAAU,oBAAC,SAAS,mBAAV,EAA8B,CAAA,GAAG,KAAA;AAE3E,QACE,oBAAC,iBAAD;EAAiB,OAAO,EAAE,SAAS;YACjC,oBAAC,SAAS,MAAV;GAAoB;GAAc;GAAS,GAAI;aAC7C,qBAAC,SAAS,MAAV,EAAA,UAAA,CACE,oBAAC,SAAS,MAAV;IAA4B;IAAqB;IAAmB,CAAA,EACnE,SACa,EAAA,CAAA;GACF,CAAA;EACA,CAAA;EAGvB;AACD,KAAK,cAAc;AAanB,IAAM,SAAS,YAAuD,OAAO,QAAQ;CACnF,MAAM,EAAE,SAAS,YAAY,OAAO,SAAS,YAAY,YAAY,YAAY,GAAG,SAAS;CAC7F,MAAM,EAAE,YAAY,YAAY;CAChC,MAAM,SAAS,oBAAoB,QAAQ;CAC3C,MAAM,YAAY,cAAc,cAAc;CAC9C,MAAM,aAAa,WAAW,QAAQ,SAAS;CAE/C,MAAM,aAAa,YAAY,eAAe,mBAAmB;AAEjE,QACE,qBAAC,SAAS,eAAV;EAA6B;EAAK,WAAW,aAAa,UAAU,KAAA;EAAW,GAAI;YAAnF;GACE,oBAAC,SAAS,iBAAV,EAAA,UACE,oBAAC,YAAD,EAAY,MAAK,MAAO,CAAA,EACC,CAAA;GAC3B,qBAAC,SAAS,YAAV,EAAA,UAAA,CACG,OACA,WAAW,oBAAC,MAAD;IAAM,KAAK,OAAO;cAAgB;IAAe,CAAA,CACzC,EAAA,CAAA;GACrB,aACC,qBAAC,KAAD;IAAK,KAAK,OAAO;cAAjB;KACG,cAAc,oBAAC,mBAAD,EAAmB,MAAK,MAAO,CAAA;KAC7C,cAAc,oBAAC,YAAD,EAAY,MAAK,MAAO,CAAA;KACtC,cAAc,oBAAC,QAAD,EAAA,UAAO,YAAkB,CAAA;KACpC;;GAEP,cACC,oBAAC,KAAD;IAAK,KAAK,OAAO;cAAc,QAAQ,KAAK,WAAW,aAAa,QAAQ,EAAE,MAAM,MAAM,CAAC,CAAC;IAAO,CAAA;GAE9E;;EAE3B;AACF,OAAO,cAAc;AAerB,IAAM,OAAO,YAAqD,OAAO,QAAQ;CAC/E,MAAM,EAAE,SAAS,OAAO,YAAY,MAAM,MAAM,OAAO,SAAS,YAAY,YAAY,YAAY,GAAG,SAAS;CAChH,MAAM,EAAE,YAAY,YAAY;CAChC,MAAM,SAAS,oBAAoB,QAAQ;CAC3C,MAAM,YAAY,cAAc,cAAc;CAC9C,MAAM,aAAa,WAAW,QAAQ,SAAS;AAE/C,QACE,qBAAC,SAAS,MAAV;EAAoB;EAAK,WAAW,aAAa,UAAU,KAAA;EAAW,GAAI;YAA1E;GACG,QAAQ,oBAAC,MAAD,EAAM,MAAK,MAAO,CAAA;GAC1B,SAAS,aAAa,OAAO,EAAE,MAAM,OAAO,CAAC;GAC9C,qBAAC,SAAS,UAAV,EAAA,UAAA,CACG,OACA,WAAW,oBAAC,MAAD;IAAM,KAAK,OAAO;cAAgB;IAAe,CAAA,CAC3C,EAAA,CAAA;GACnB,aACC,qBAAC,KAAD;IAAK,KAAK,OAAO;cAAjB;KACG,cAAc,oBAAC,mBAAD,EAAmB,MAAK,MAAO,CAAA;KAC7C,cAAc,oBAAC,YAAD,EAAY,MAAK,MAAO,CAAA;KACtC,cAAc,oBAAC,QAAD,EAAA,UAAO,YAAkB,CAAA;KACpC;;GAEP,cACC,oBAAC,KAAD;IAAK,KAAK,OAAO;cAAc,QAAQ,KAAK,WAAW,aAAa,QAAQ,EAAE,MAAM,MAAM,CAAC,CAAC;IAAO,CAAA;GAEvF;;EAElB;AACF,KAAK,cAAc;AAInB,IAAM,iBAAiB,OAAO,OAAO,MAAM;CACzC;CACA;CACD,CAAC"}
@@ -14,17 +14,19 @@ export { default as BitkitCollapsible, type BitkitCollapsibleProps } from './Bit
14
14
  export { default as BitkitColorButton, type BitkitColorButtonProps } from './BitkitColorButton/BitkitColorButton';
15
15
  export { default as BitkitCombobox, type BitkitComboboxProps } from './BitkitCombobox/BitkitCombobox';
16
16
  export { default as BitkitControlButton, type BitkitControlButtonProps, } from './BitkitControlButton/BitkitControlButton';
17
+ export { default as BitkitDataWidget, type BitkitDataWidgetProps } from './BitkitDataWidget/BitkitDataWidget';
17
18
  export { default as BitkitDefinitionTooltip, type BitkitDefinitionTooltipProps, } from './BitkitDefinitionTooltip/BitkitDefinitionTooltip';
18
19
  export { default as BitkitDialog, type BitkitDialogProps } from './BitkitDialog/BitkitDialog';
19
20
  export { default as BitkitDialogBody, type BitkitDialogBodyProps } from './BitkitDialog/BitkitDialogBody';
20
21
  export { default as BitkitDialogButtons, type BitkitDialogButtonsProps } from './BitkitDialog/BitkitDialogButtons';
21
22
  export { default as BitkitDialogContent, type BitkitDialogContentProps } from './BitkitDialog/BitkitDialogContent';
23
+ export { default as BitkitDialogHeader, type BitkitDialogHeaderProps } from './BitkitDialog/BitkitDialogHeader';
22
24
  export { default as BitkitDialogRoot, type BitkitDialogRootProps } from './BitkitDialog/BitkitDialogRoot';
25
+ export { default as BitkitDialogStep, type BitkitDialogStepProps } from './BitkitDialog/BitkitDialogStep';
23
26
  export { default as BitkitDraggableCard, type BitkitDraggableCardProps, } from './BitkitDraggableCard/BitkitDraggableCard';
24
27
  export { default as BitkitDrawer, type BitkitDrawerActionTriggerProps, type BitkitDrawerBackdropProps, type BitkitDrawerBodyProps, type BitkitDrawerCloseButtonProps, type BitkitDrawerContentProps, type BitkitDrawerDescriptionProps, type BitkitDrawerFooterProps, type BitkitDrawerHeaderProps, type BitkitDrawerPositionerProps, type BitkitDrawerRootProps, type BitkitDrawerTitleProps, type BitkitDrawerTriggerProps, } from './BitkitDrawer/BitkitDrawer';
25
28
  export { default as BitkitEmptyState, type BitkitEmptyStateProps } from './BitkitEmptyState/BitkitEmptyState';
26
29
  export { default as BitkitExpandableCard, type BitkitExpandableCardProps, } from './BitkitExpandableCard/BitkitExpandableCard';
27
- export { default as BitkitExplainerList, type BitkitExplainerListItemProps, type BitkitExplainerListProps, } from './BitkitExplainerList/BitkitExplainerList';
28
30
  export { default as BitkitField, type BitkitFieldProps } from './BitkitField/BitkitField';
29
31
  export { default as BitkitFileInput } from './BitkitFileInput/BitkitFileInput';
30
32
  export { default as BitkitGroupHeading, type BitkitGroupHeadingProps } from './BitkitGroupHeading/BitkitGroupHeading';
@@ -35,6 +37,7 @@ export { default as BitkitLabeledData, type BitkitLabeledDataProps } from './Bit
35
37
  export { default as BitkitLabelTooltip, type BitkitLabelTooltipProps } from './BitkitLabelTooltip/BitkitLabelTooltip';
36
38
  export { default as BitkitLink, type BitkitLinkProps } from './BitkitLink/BitkitLink';
37
39
  export { default as BitkitLinkButton, type BitkitLinkButtonProps } from './BitkitLinkButton/BitkitLinkButton';
40
+ export { default as BitkitList, type BitkitListItemProps, type BitkitListProps } from './BitkitList';
38
41
  export { default as BitkitMarkdown, type BitkitMarkdownProps } from './BitkitMarkdown/BitkitMarkdown';
39
42
  export { default as BitkitMarkdownCard, type BitkitMarkdownCardProps } from './BitkitMarkdownCard/BitkitMarkdownCard';
40
43
  export { default as BitkitMultiselect, type BitkitMultiselectProps } from './BitkitMultiselect/BitkitMultiselect';
@@ -42,7 +45,6 @@ export { default as BitkitMultiselectMenu, type BitkitMultiselectMenuItemProps,
42
45
  export { default as BitkitNativeSelect, type BitkitNativeSelectProps } from './BitkitNativeSelect/BitkitNativeSelect';
43
46
  export { default as BitkitNoteCard, type BitkitNoteCardProps } from './BitkitNoteCard/BitkitNoteCard';
44
47
  export { default as BitkitNumberInput, type BitkitNumberInputProps } from './BitkitNumberInput/BitkitNumberInput';
45
- export { default as BitkitOrderedList, type BitkitOrderedListItemProps, type BitkitOrderedListProps, } from './BitkitOrderedList/BitkitOrderedList';
46
48
  export { default as BitkitOverflowContent, type BitkitOverflowContentProps, } from './BitkitOverflowContent/BitkitOverflowContent';
47
49
  export { default as BitkitOverflowTooltip, type BitkitOverflowTooltipProps, } from './BitkitOverflowTooltip/BitkitOverflowTooltip';
48
50
  export { default as BitkitPageFooter, type BitkitPageFooterItemProps, type BitkitPageFooterProps, } from './BitkitPageFooter/BitkitPageFooter';
@@ -64,13 +66,12 @@ export { default as BitkitSplitButton, type BitkitSplitButtonProps } from './Bit
64
66
  export { default as BitkitStat, type BitkitStatProps, type TrendColor, type TrendDirection, type TrendTextPlacement, } from './BitkitStat/BitkitStat';
65
67
  export { default as BitkitSteps, type BitkitStepsItemProps, type BitkitStepsItemState, type BitkitStepsProps, } from './BitkitSteps/BitkitSteps';
66
68
  export { default as BitkitStepsCard, type BitkitStepsCardBodyProps, type BitkitStepsCardFooterProps, type BitkitStepsCardHeaderProps, type BitkitStepsCardProps, type BitkitStepsCardStepProps, } from './BitkitStepsCard/BitkitStepsCard';
69
+ export { default as BitkitSwitch, type BitkitSwitchProps } from './BitkitSwitch';
67
70
  export { default as BitkitTabs } from './BitkitTabs/BitkitTabs';
68
71
  export { default as BitkitTag, type BitkitTagProps } from './BitkitTag/BitkitTag';
69
72
  export { default as BitkitTagsInput, type BitkitTagsInputProps } from './BitkitTagsInput/BitkitTagsInput';
70
73
  export { default as BitkitTextInput, type BitkitTextInputProps } from './BitkitTextInput/BitkitTextInput';
71
74
  export { type BitkitToastProps, default as createBitkitToast } from './BitkitToast/BitkitToast';
72
- export { default as BitkitToggle, type BitkitToggleProps } from './BitkitToggle';
73
75
  export { default as BitkitToggleButton, type BitkitToggleButtonProps } from './BitkitToggleButton/BitkitToggleButton';
74
76
  export { default as BitkitTooltip, type BitkitTooltipProps } from './BitkitTooltip/BitkitTooltip';
75
77
  export { default as BitkitTreeView, type BitkitTreeViewBranchProps, type BitkitTreeViewExpandedChangeDetails, type BitkitTreeViewLeafProps, type BitkitTreeViewNodeRenderProps, type BitkitTreeViewRootProps, type BitkitTreeViewSelectionChangeDetails, createTreeCollection, } from './BitkitTreeView/BitkitTreeView';
76
- export { default as BitkitUnorderedList, type BitkitUnorderedListItemProps, type BitkitUnorderedListProps, } from './BitkitUnorderedList/BitkitUnorderedList';
package/dist/main.js CHANGED
@@ -301,25 +301,26 @@ import BitkitCollapsible from "./components/BitkitCollapsible/BitkitCollapsible.
301
301
  import BitkitField from "./components/BitkitField/BitkitField.js";
302
302
  import BitkitCombobox from "./components/BitkitCombobox/BitkitCombobox.js";
303
303
  import BitkitControlButton from "./components/BitkitControlButton/BitkitControlButton.js";
304
+ import BitkitDataWidget from "./components/BitkitDataWidget/BitkitDataWidget.js";
304
305
  import BitkitDefinitionTooltip from "./components/BitkitDefinitionTooltip/BitkitDefinitionTooltip.js";
306
+ import BitkitDialogStep from "./components/BitkitDialog/BitkitDialogStep.js";
305
307
  import BitkitDialogBody from "./components/BitkitDialog/BitkitDialogBody.js";
308
+ import BitkitDialogButtons from "./components/BitkitDialog/BitkitDialogButtons.js";
306
309
  import BitkitDialogContent from "./components/BitkitDialog/BitkitDialogContent.js";
310
+ import BitkitDialogHeader from "./components/BitkitDialog/BitkitDialogHeader.js";
307
311
  import BitkitDialogRoot from "./components/BitkitDialog/BitkitDialogRoot.js";
308
- import BitkitDialog from "./components/BitkitDialog/BitkitDialog.js";
309
- import BitkitDialogButtons from "./components/BitkitDialog/BitkitDialogButtons.js";
312
+ import BitkitDialog_default from "./components/BitkitDialog/BitkitDialog.js";
310
313
  import BitkitDraggableCard from "./components/BitkitDraggableCard/BitkitDraggableCard.js";
311
314
  import BitkitDrawer from "./components/BitkitDrawer/BitkitDrawer.js";
312
315
  import BitkitEmptyState from "./components/BitkitEmptyState/BitkitEmptyState.js";
313
316
  import BitkitExpandableCard from "./components/BitkitExpandableCard/BitkitExpandableCard.js";
314
- import BitkitExplainerList_default from "./components/BitkitExplainerList/BitkitExplainerList.js";
315
317
  import BitkitFileInput from "./components/BitkitFileInput/BitkitFileInput.js";
316
318
  import BitkitIconButton from "./components/BitkitIconButton/BitkitIconButton.js";
317
319
  import BitkitInlineLoading from "./components/BitkitInlineLoading/BitkitInlineLoading.js";
318
320
  import BitkitLabeledData from "./components/BitkitLabeledData/BitkitLabeledData.js";
319
321
  import BitkitLink from "./components/BitkitLink/BitkitLink.js";
320
322
  import BitkitLinkButton from "./components/BitkitLinkButton/BitkitLinkButton.js";
321
- import BitkitOrderedList_default from "./components/BitkitOrderedList/BitkitOrderedList.js";
322
- import BitkitUnorderedList_default from "./components/BitkitUnorderedList/BitkitUnorderedList.js";
323
+ import BitkitList_default from "./components/BitkitList/BitkitList.js";
323
324
  import BitkitMarkdown from "./components/BitkitMarkdown/BitkitMarkdown.js";
324
325
  import BitkitMarkdownCard from "./components/BitkitMarkdownCard/BitkitMarkdownCard.js";
325
326
  import BitkitMultiselectMenu from "./components/BitkitMultiselectMenu/BitkitMultiselectMenu.js";
@@ -348,13 +349,13 @@ import BitkitSplitButton_default from "./components/BitkitSplitButton/BitkitSpli
348
349
  import BitkitStat from "./components/BitkitStat/BitkitStat.js";
349
350
  import BitkitSteps_default from "./components/BitkitSteps/BitkitSteps.js";
350
351
  import BitkitStepsCard_default from "./components/BitkitStepsCard/BitkitStepsCard.js";
352
+ import BitkitSwitch from "./components/BitkitSwitch/BitkitSwitch.js";
351
353
  import BitkitTabs from "./components/BitkitTabs/BitkitTabs.js";
352
354
  import BitkitTagsInput from "./components/BitkitTagsInput/BitkitTagsInput.js";
353
355
  import BitkitTextInput from "./components/BitkitTextInput/BitkitTextInput.js";
354
356
  import createBitkitToast from "./components/BitkitToast/BitkitToast.js";
355
- import BitkitToggle from "./components/BitkitToggle/BitkitToggle.js";
356
357
  import BitkitToggleButton from "./components/BitkitToggleButton/BitkitToggleButton.js";
357
358
  import BitkitTreeView, { createTreeCollection } from "./components/BitkitTreeView/BitkitTreeView.js";
358
359
  import bitkitTheme from "./theme/index.js";
359
360
  import Provider from "./providers/BitkitProvider.js";
360
- export { BitkitAccordion, BitkitActionBar, BitkitAlert, BitkitAvatar, BitkitBadge, BitkitButton, BitkitCalendar, BitkitCard, BitkitCheckbox, BitkitCheckboxGroup, BitkitCloseButton, BitkitCodeSnippet, BitkitCollapsible, BitkitColorButton, BitkitCombobox, BitkitControlButton, BitkitDefinitionTooltip, BitkitDialog, BitkitDialogBody, BitkitDialogButtons, BitkitDialogContent, BitkitDialogRoot, BitkitDraggableCard, BitkitDrawer, BitkitEmptyState, BitkitExpandableCard, BitkitExplainerList_default as BitkitExplainerList, BitkitField, BitkitFileInput, BitkitGroupHeading, BitkitIconButton, BitkitInlineLoading, BitkitLabel, BitkitLabelTooltip, BitkitLabeledData, BitkitLink, BitkitLinkButton, BitkitMarkdown, BitkitMarkdownCard, BitkitMultiselect, BitkitMultiselectMenu, BitkitNativeSelect, BitkitNoteCard, BitkitNumberInput, BitkitOrderedList_default as BitkitOrderedList, BitkitOverflowContent, BitkitOverflowTooltip, BitkitPageFooter_default as BitkitPageFooter, BitkitPagination, BitkitPaginationLoadMore, Provider as BitkitProvider, BitkitRadio, BitkitRadioGroup, BitkitRibbon, BitkitSearchInput, BitkitSectionHeading, BitkitSegmentedControl_default as BitkitSegmentedControl, BitkitSelect, BitkitSelectMenu, BitkitSelectableTag_default as BitkitSelectableTag, BitkitSettingsCard_default as BitkitSettingsCard, BitkitSidebar_default as BitkitSidebar, BitkitSpinner, BitkitSplitButton_default as BitkitSplitButton, BitkitStat, BitkitSteps_default as BitkitSteps, BitkitStepsCard_default as BitkitStepsCard, BitkitTabs, BitkitTag, BitkitTagsInput, BitkitTextInput, BitkitToggle, BitkitToggleButton, BitkitTooltip, BitkitTreeView, BitkitUnorderedList_default as BitkitUnorderedList, IconAbortCircle, IconAbortCircleFilled, IconAddons, IconAgent, IconAnchor, IconAndroid, IconApp, IconAppSettings, IconAppStore, IconAppStoreColor, IconApple, IconArchive, IconArchiveDelete, IconArchiveRestore, IconArrowBackAndDown, IconArrowBackAndUp, IconArrowDown, IconArrowForwardAndDown, IconArrowForwardAndUp, IconArrowLeft, IconArrowNortheast, IconArrowNorthwest, IconArrowRight, IconArrowUp, IconArrowsHorizontal, IconArrowsVertical, IconAutomation, IconAws, IconAwsColor, IconBadge3RdParty, IconBadgeBitrise, IconBadgeUpgrade, IconBadgeVersionOk, IconBazel, IconBell, IconBitbot, IconBitbotError, IconBitbucket, IconBitbucketColor, IconBitbucketNeutral, IconBitbucketWhite, IconBlockCircle, IconBook, IconBoxArrowDown, IconBoxDot, IconBoxLinesOverflow, IconBoxLinesWrap, IconBranch, IconBrowserstackColor, IconBug, IconBuild, IconBuildCache, IconBuildCacheFilled, IconBuildEnvSetup, IconCalendar, IconChangePlan, IconChat, IconCheck, IconCheckCircle, IconCheckCircleFilled, IconChevronDown, IconChevronLeft, IconChevronRight, IconChevronUp, IconCi, IconCiFilled, IconCircle, IconCircleDashed, IconCircleHalfFilled, IconClaude, IconClaudeColor, IconClock, IconCode, IconCodePush, IconCodeSigning, IconCoffee, IconCommit, IconConfigure, IconConnectedAccounts, IconContainer, IconCopy, IconCordova, IconCpu, IconCreditcard, IconCredits, IconCross, IconCrossCircle, IconCrossCircleFilled, IconCrown, IconCycle, IconDashboard, IconDashboardFilled, IconDeployment, IconDetails, IconDoc, IconDollar, IconDot, IconDotnet, IconDotnetColor, IconDotnetText, IconDotnetTextColor, IconDoubleCircle, IconDownload, IconDragHandle, IconEc2Ami, IconEnterprise, IconErrorCircle, IconErrorCircleFilled, IconExpand, IconExtraBuildCapacity, IconEye, IconEyeSlash, IconFastlane, IconFileDoc, IconFilePdf, IconFilePlist, IconFileZip, IconFilter, IconFlag, IconFlutter, IconFolder, IconFullscreen, IconFullscreenExit, IconGauge, IconGit, IconGithub, IconGitlab, IconGitlabColor, IconGitlabWhite, IconGlobe, IconGo, IconGoogleColor, IconGooglePlay, IconGooglePlayColor, IconGradle, IconGroup, IconHashtag, IconHeadset, IconHeart, IconHistory, IconHourglass, IconImage, IconInfoCircle, IconInfoCircleFilled, IconInsights, IconInsightsFilled, IconInstall, IconInteraction, IconInvoice, IconIonic, IconJapanese, IconJava, IconJavaColor, IconJavaDuke, IconJavaDukeColor, IconKey, IconKotlin, IconKotlinColor, IconKotlinWhite, IconLaptop, IconLaunchdarkly, IconLegacyApp, IconLightbulb, IconLink, IconLinux, IconLock, IconLockOpen, IconLogin, IconLogout, IconMacos, IconMagicWand, IconMagnifier, IconMail, IconMedal, IconMemory, IconMenuGrid, IconMenuHamburger, IconMessage, IconMessageAlert, IconMessageQuestion, IconMicrophone, IconMinus, IconMinusCircle, IconMinusCircleFilled, IconMobile, IconMobileLandscape, IconMonitorChart, IconMoreHorizontal, IconMoreVertical, IconNews, IconNextjs, IconNodejs, IconOpenInNew, IconOther, IconOutsideContributor, IconOverview, IconPause, IconPencil, IconPeople, IconPercent, IconPerson, IconPersonWithDesk, IconPlay, IconPlus, IconPlusCircle, IconPlusCircleFilled, IconPower, IconProject, IconProjectSettings, IconPull, IconPush, IconPuzzle, IconPython, IconPythonColor, IconQuestionCircle, IconQuestionCircleFilled, IconReact, IconRefresh, IconRegex, IconRelease, IconReleaseFilled, IconRemoteAccess, IconReplace, IconResponsiveness, IconReviewerApproved, IconReviewerAssigned, IconReviewerRejected, IconRuby, IconRubyColor, IconSave, IconSecurityShield, IconSettings, IconSettingsFilled, IconShuffle, IconSiren, IconSkip, IconSkipCircle, IconSkipCircleFilled, IconSlack, IconSlackColor, IconSparkle, IconSparkleFilled, IconSpinnerOnDisabled, IconSpinnerPurple, IconSpinnerPurpleDouble, IconSpinnerWhite, IconStability, IconStack, IconStar, IconStep, IconStop, IconStopwatch, IconTag, IconTasks, IconTeams, IconTeamsColor, IconTemplateCode, IconTerminal, IconTestQuarantine, IconThemeDarkToggle, IconThumbDown, IconThumbUp, IconTools, IconTrash, IconTrigger, IconUbuntu, IconUbuntuColor, IconUnity3D, IconUpload, IconValidateShield, IconVideo, IconWarning, IconWarningYellow, IconWebUi, IconWebhooks, IconWorkflow, IconWorkflowFlow, IconXTwitter, IconXamarin, IconXcode, bitkitIcon, bitkitTheme as bitriseTheme, createBitkitToast, createTreeCollection };
361
+ export { BitkitAccordion, BitkitActionBar, BitkitAlert, BitkitAvatar, BitkitBadge, BitkitButton, BitkitCalendar, BitkitCard, BitkitCheckbox, BitkitCheckboxGroup, BitkitCloseButton, BitkitCodeSnippet, BitkitCollapsible, BitkitColorButton, BitkitCombobox, BitkitControlButton, BitkitDataWidget, BitkitDefinitionTooltip, BitkitDialog_default as BitkitDialog, BitkitDialogBody, BitkitDialogButtons, BitkitDialogContent, BitkitDialogHeader, BitkitDialogRoot, BitkitDialogStep, BitkitDraggableCard, BitkitDrawer, BitkitEmptyState, BitkitExpandableCard, BitkitField, BitkitFileInput, BitkitGroupHeading, BitkitIconButton, BitkitInlineLoading, BitkitLabel, BitkitLabelTooltip, BitkitLabeledData, BitkitLink, BitkitLinkButton, BitkitList_default as BitkitList, BitkitMarkdown, BitkitMarkdownCard, BitkitMultiselect, BitkitMultiselectMenu, BitkitNativeSelect, BitkitNoteCard, BitkitNumberInput, BitkitOverflowContent, BitkitOverflowTooltip, BitkitPageFooter_default as BitkitPageFooter, BitkitPagination, BitkitPaginationLoadMore, Provider as BitkitProvider, BitkitRadio, BitkitRadioGroup, BitkitRibbon, BitkitSearchInput, BitkitSectionHeading, BitkitSegmentedControl_default as BitkitSegmentedControl, BitkitSelect, BitkitSelectMenu, BitkitSelectableTag_default as BitkitSelectableTag, BitkitSettingsCard_default as BitkitSettingsCard, BitkitSidebar_default as BitkitSidebar, BitkitSpinner, BitkitSplitButton_default as BitkitSplitButton, BitkitStat, BitkitSteps_default as BitkitSteps, BitkitStepsCard_default as BitkitStepsCard, BitkitSwitch, BitkitTabs, BitkitTag, BitkitTagsInput, BitkitTextInput, BitkitToggleButton, BitkitTooltip, BitkitTreeView, IconAbortCircle, IconAbortCircleFilled, IconAddons, IconAgent, IconAnchor, IconAndroid, IconApp, IconAppSettings, IconAppStore, IconAppStoreColor, IconApple, IconArchive, IconArchiveDelete, IconArchiveRestore, IconArrowBackAndDown, IconArrowBackAndUp, IconArrowDown, IconArrowForwardAndDown, IconArrowForwardAndUp, IconArrowLeft, IconArrowNortheast, IconArrowNorthwest, IconArrowRight, IconArrowUp, IconArrowsHorizontal, IconArrowsVertical, IconAutomation, IconAws, IconAwsColor, IconBadge3RdParty, IconBadgeBitrise, IconBadgeUpgrade, IconBadgeVersionOk, IconBazel, IconBell, IconBitbot, IconBitbotError, IconBitbucket, IconBitbucketColor, IconBitbucketNeutral, IconBitbucketWhite, IconBlockCircle, IconBook, IconBoxArrowDown, IconBoxDot, IconBoxLinesOverflow, IconBoxLinesWrap, IconBranch, IconBrowserstackColor, IconBug, IconBuild, IconBuildCache, IconBuildCacheFilled, IconBuildEnvSetup, IconCalendar, IconChangePlan, IconChat, IconCheck, IconCheckCircle, IconCheckCircleFilled, IconChevronDown, IconChevronLeft, IconChevronRight, IconChevronUp, IconCi, IconCiFilled, IconCircle, IconCircleDashed, IconCircleHalfFilled, IconClaude, IconClaudeColor, IconClock, IconCode, IconCodePush, IconCodeSigning, IconCoffee, IconCommit, IconConfigure, IconConnectedAccounts, IconContainer, IconCopy, IconCordova, IconCpu, IconCreditcard, IconCredits, IconCross, IconCrossCircle, IconCrossCircleFilled, IconCrown, IconCycle, IconDashboard, IconDashboardFilled, IconDeployment, IconDetails, IconDoc, IconDollar, IconDot, IconDotnet, IconDotnetColor, IconDotnetText, IconDotnetTextColor, IconDoubleCircle, IconDownload, IconDragHandle, IconEc2Ami, IconEnterprise, IconErrorCircle, IconErrorCircleFilled, IconExpand, IconExtraBuildCapacity, IconEye, IconEyeSlash, IconFastlane, IconFileDoc, IconFilePdf, IconFilePlist, IconFileZip, IconFilter, IconFlag, IconFlutter, IconFolder, IconFullscreen, IconFullscreenExit, IconGauge, IconGit, IconGithub, IconGitlab, IconGitlabColor, IconGitlabWhite, IconGlobe, IconGo, IconGoogleColor, IconGooglePlay, IconGooglePlayColor, IconGradle, IconGroup, IconHashtag, IconHeadset, IconHeart, IconHistory, IconHourglass, IconImage, IconInfoCircle, IconInfoCircleFilled, IconInsights, IconInsightsFilled, IconInstall, IconInteraction, IconInvoice, IconIonic, IconJapanese, IconJava, IconJavaColor, IconJavaDuke, IconJavaDukeColor, IconKey, IconKotlin, IconKotlinColor, IconKotlinWhite, IconLaptop, IconLaunchdarkly, IconLegacyApp, IconLightbulb, IconLink, IconLinux, IconLock, IconLockOpen, IconLogin, IconLogout, IconMacos, IconMagicWand, IconMagnifier, IconMail, IconMedal, IconMemory, IconMenuGrid, IconMenuHamburger, IconMessage, IconMessageAlert, IconMessageQuestion, IconMicrophone, IconMinus, IconMinusCircle, IconMinusCircleFilled, IconMobile, IconMobileLandscape, IconMonitorChart, IconMoreHorizontal, IconMoreVertical, IconNews, IconNextjs, IconNodejs, IconOpenInNew, IconOther, IconOutsideContributor, IconOverview, IconPause, IconPencil, IconPeople, IconPercent, IconPerson, IconPersonWithDesk, IconPlay, IconPlus, IconPlusCircle, IconPlusCircleFilled, IconPower, IconProject, IconProjectSettings, IconPull, IconPush, IconPuzzle, IconPython, IconPythonColor, IconQuestionCircle, IconQuestionCircleFilled, IconReact, IconRefresh, IconRegex, IconRelease, IconReleaseFilled, IconRemoteAccess, IconReplace, IconResponsiveness, IconReviewerApproved, IconReviewerAssigned, IconReviewerRejected, IconRuby, IconRubyColor, IconSave, IconSecurityShield, IconSettings, IconSettingsFilled, IconShuffle, IconSiren, IconSkip, IconSkipCircle, IconSkipCircleFilled, IconSlack, IconSlackColor, IconSparkle, IconSparkleFilled, IconSpinnerOnDisabled, IconSpinnerPurple, IconSpinnerPurpleDouble, IconSpinnerWhite, IconStability, IconStack, IconStar, IconStep, IconStop, IconStopwatch, IconTag, IconTasks, IconTeams, IconTeamsColor, IconTemplateCode, IconTerminal, IconTestQuarantine, IconThemeDarkToggle, IconThumbDown, IconThumbUp, IconTools, IconTrash, IconTrigger, IconUbuntu, IconUbuntuColor, IconUnity3D, IconUpload, IconValidateShield, IconVideo, IconWarning, IconWarningYellow, IconWebUi, IconWebhooks, IconWorkflow, IconWorkflowFlow, IconXTwitter, IconXamarin, IconXcode, bitkitIcon, bitkitTheme as bitriseTheme, createBitkitToast, createTreeCollection };
@@ -5,6 +5,7 @@ var base = {
5
5
  background: "background/primary",
6
6
  border: "1px solid",
7
7
  borderColor: "border/minimal",
8
+ borderRadius: "4",
8
9
  zIndex: "select",
9
10
  overflowY: "auto",
10
11
  boxShadow: "elevation/lg",
@@ -23,7 +24,7 @@ var base = {
23
24
  display: "flex",
24
25
  alignItems: "center",
25
26
  gap: "12",
26
- cursor: "option",
27
+ cursor: "pointer",
27
28
  justifyContent: "space-between",
28
29
  flex: "1",
29
30
  textAlign: "start",
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxAndSelect.common.js","names":[],"sources":["../../../lib/theme/common/ComboboxAndSelect.common.ts"],"sourcesContent":["import { type SystemStyleObject } from '@chakra-ui/react/styled-system';\n\nimport { rem } from '../themeUtils';\n\nexport const base: Record<string, SystemStyleObject> = {\n content: {\n background: 'background/primary',\n border: '1px solid',\n borderColor: 'border/minimal',\n zIndex: 'select',\n overflowY: 'auto',\n boxShadow: 'elevation/lg',\n _open: {\n animationStyle: 'slide-fade-in',\n animationDuration: 'fast',\n },\n _closed: {\n animationStyle: 'slide-fade-out',\n animationDuration: 'fastest',\n },\n },\n item: {\n position: 'relative',\n userSelect: 'none',\n display: 'flex',\n alignItems: 'center',\n gap: '12',\n cursor: 'option',\n justifyContent: 'space-between',\n flex: '1',\n textAlign: 'start',\n lineHeight: rem(24),\n _highlighted: {\n bg: 'background/hover',\n },\n _selected: {\n bg: 'background/selected',\n },\n },\n itemIndicator: {\n alignItems: 'center',\n color: 'icon/interactive',\n display: 'flex',\n justifyContent: 'center',\n },\n};\n\nexport const variants: Record<'size', Record<'md' | 'lg', Record<string, SystemStyleObject>>> = {\n size: {\n lg: {\n item: {\n paddingInline: '16',\n paddingBlock: '12',\n textStyle: 'body/lg/regular',\n _selected: {\n textStyle: 'body/lg/semibold',\n },\n },\n itemIndicator: {\n width: '24',\n height: '24',\n },\n },\n md: {\n item: {\n paddingBlock: '8',\n paddingInline: '16',\n textStyle: 'body/md/regular',\n _selected: {\n textStyle: 'body/md/semibold',\n },\n },\n itemIndicator: {\n width: '16',\n height: '16',\n },\n },\n },\n};\n"],"mappings":";;AAIA,IAAa,OAA0C;CACrD,SAAS;EACP,YAAY;EACZ,QAAQ;EACR,aAAa;EACb,QAAQ;EACR,WAAW;EACX,WAAW;EACX,OAAO;GACL,gBAAgB;GAChB,mBAAmB;GACpB;EACD,SAAS;GACP,gBAAgB;GAChB,mBAAmB;GACpB;EACF;CACD,MAAM;EACJ,UAAU;EACV,YAAY;EACZ,SAAS;EACT,YAAY;EACZ,KAAK;EACL,QAAQ;EACR,gBAAgB;EAChB,MAAM;EACN,WAAW;EACX,YAAY,IAAI,GAAG;EACnB,cAAc,EACZ,IAAI,oBACL;EACD,WAAW,EACT,IAAI,uBACL;EACF;CACD,eAAe;EACb,YAAY;EACZ,OAAO;EACP,SAAS;EACT,gBAAgB;EACjB;CACF;AAED,IAAa,WAAmF,EAC9F,MAAM;CACJ,IAAI;EACF,MAAM;GACJ,eAAe;GACf,cAAc;GACd,WAAW;GACX,WAAW,EACT,WAAW,oBACZ;GACF;EACD,eAAe;GACb,OAAO;GACP,QAAQ;GACT;EACF;CACD,IAAI;EACF,MAAM;GACJ,cAAc;GACd,eAAe;GACf,WAAW;GACX,WAAW,EACT,WAAW,oBACZ;GACF;EACD,eAAe;GACb,OAAO;GACP,QAAQ;GACT;EACF;CACF,EACF"}
1
+ {"version":3,"file":"ComboboxAndSelect.common.js","names":[],"sources":["../../../lib/theme/common/ComboboxAndSelect.common.ts"],"sourcesContent":["import { type SystemStyleObject } from '@chakra-ui/react/styled-system';\n\nimport { rem } from '../themeUtils';\n\nexport const base: Record<string, SystemStyleObject> = {\n content: {\n background: 'background/primary',\n border: '1px solid',\n borderColor: 'border/minimal',\n borderRadius: '4',\n zIndex: 'select',\n overflowY: 'auto',\n boxShadow: 'elevation/lg',\n _open: {\n animationStyle: 'slide-fade-in',\n animationDuration: 'fast',\n },\n _closed: {\n animationStyle: 'slide-fade-out',\n animationDuration: 'fastest',\n },\n },\n item: {\n position: 'relative',\n userSelect: 'none',\n display: 'flex',\n alignItems: 'center',\n gap: '12',\n cursor: 'pointer',\n justifyContent: 'space-between',\n flex: '1',\n textAlign: 'start',\n lineHeight: rem(24),\n _highlighted: {\n bg: 'background/hover',\n },\n _selected: {\n bg: 'background/selected',\n },\n },\n itemIndicator: {\n alignItems: 'center',\n color: 'icon/interactive',\n display: 'flex',\n justifyContent: 'center',\n },\n};\n\nexport const variants: Record<'size', Record<'md' | 'lg', Record<string, SystemStyleObject>>> = {\n size: {\n lg: {\n item: {\n paddingInline: '16',\n paddingBlock: '12',\n textStyle: 'body/lg/regular',\n _selected: {\n textStyle: 'body/lg/semibold',\n },\n },\n itemIndicator: {\n width: '24',\n height: '24',\n },\n },\n md: {\n item: {\n paddingBlock: '8',\n paddingInline: '16',\n textStyle: 'body/md/regular',\n _selected: {\n textStyle: 'body/md/semibold',\n },\n },\n itemIndicator: {\n width: '16',\n height: '16',\n },\n },\n },\n};\n"],"mappings":";;AAIA,IAAa,OAA0C;CACrD,SAAS;EACP,YAAY;EACZ,QAAQ;EACR,aAAa;EACb,cAAc;EACd,QAAQ;EACR,WAAW;EACX,WAAW;EACX,OAAO;GACL,gBAAgB;GAChB,mBAAmB;GACpB;EACD,SAAS;GACP,gBAAgB;GAChB,mBAAmB;GACpB;EACF;CACD,MAAM;EACJ,UAAU;EACV,YAAY;EACZ,SAAS;EACT,YAAY;EACZ,KAAK;EACL,QAAQ;EACR,gBAAgB;EAChB,MAAM;EACN,WAAW;EACX,YAAY,IAAI,GAAG;EACnB,cAAc,EACZ,IAAI,oBACL;EACD,WAAW,EACT,IAAI,uBACL;EACF;CACD,eAAe;EACb,YAAY;EACZ,OAAO;EACP,SAAS;EACT,gBAAgB;EACjB;CACF;AAED,IAAa,WAAmF,EAC9F,MAAM;CACJ,IAAI;EACF,MAAM;GACJ,eAAe;GACf,cAAc;GACd,WAAW;GACX,WAAW,EACT,WAAW,oBACZ;GACF;EACD,eAAe;GACb,OAAO;GACP,QAAQ;GACT;EACF;CACD,IAAI;EACF,MAAM;GACJ,cAAc;GACd,eAAe;GACf,WAAW;GACX,WAAW,EACT,WAAW,oBACZ;GACF;EACD,eAAe;GACb,OAAO;GACP,QAAQ;GACT;EACF;CACF,EACF"}
@@ -2,3 +2,10 @@ import { SystemStyleObject } from '@chakra-ui/react/styled-system';
2
2
  export declare const base: SystemStyleObject;
3
3
  export declare const variants: Record<'size', Record<'md' | 'lg', SystemStyleObject>>;
4
4
  export declare const defaultVariants: Record<'size', 'md' | 'lg'>;
5
+ /**
6
+ * Additional styles for single-line `<input>` elements to opt out of the textStyle's explicit
7
+ * line-height. With this override the caret follows the font's natural metrics (~font-size ×
8
+ * 1.15) instead of the 20/24px line-height, so it no longer visually extends past sibling icons
9
+ * in input groups. Textarea should NOT use this — multi-line text needs the textStyle line-height.
10
+ */
11
+ export declare const singleLineInputOverrides: SystemStyleObject;
@@ -44,7 +44,14 @@ var variants = { size: {
44
44
  }
45
45
  } };
46
46
  var defaultVariants = { size: "lg" };
47
+ /**
48
+ * Additional styles for single-line `<input>` elements to opt out of the textStyle's explicit
49
+ * line-height. With this override the caret follows the font's natural metrics (~font-size ×
50
+ * 1.15) instead of the 20/24px line-height, so it no longer visually extends past sibling icons
51
+ * in input groups. Textarea should NOT use this — multi-line text needs the textStyle line-height.
52
+ */
53
+ var singleLineInputOverrides = { lineHeight: "normal" };
47
54
  //#endregion
48
- export { base, defaultVariants, variants };
55
+ export { base, defaultVariants, singleLineInputOverrides, variants };
49
56
 
50
57
  //# sourceMappingURL=InputAndTextarea.common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputAndTextarea.common.js","names":[],"sources":["../../../lib/theme/common/InputAndTextarea.common.ts"],"sourcesContent":["import { type SystemStyleObject } from '@chakra-ui/react/styled-system';\n\nimport { rem } from '../themeUtils';\n\nexport const base: SystemStyleObject = {\n appearance: 'none',\n background: 'background/primary',\n borderColor: 'border/regular',\n borderRadius: '4',\n borderWidth: rem(1),\n color: 'input/text/inputValue',\n textStyle: 'body/lg/regular',\n width: '100%',\n boxShadow: 'inset/field',\n transition: 'border 200ms',\n _placeholder: {\n color: 'input/text/placeholder',\n },\n _hover: {\n borderColor: 'border/hover',\n },\n _invalid: {\n borderColor: 'border/error',\n _hover: {\n borderColor: 'border/error',\n },\n },\n _disabled: {\n _hover: {\n borderColor: 'border/disabled',\n },\n _placeholder: {\n color: 'text/disabled',\n },\n color: 'text/disabled',\n background: 'background/disabled',\n cursor: 'not-allowed',\n },\n _readOnly: {\n _hover: {\n borderColor: 'border/regular',\n },\n background: 'background/disabled',\n },\n};\n\nexport const variants: Record<'size', Record<'md' | 'lg', SystemStyleObject>> = {\n size: {\n md: {\n paddingInline: rem(11),\n paddingBlock: rem(9),\n textStyle: 'body/md/regular',\n '--input-height': rem(40),\n },\n lg: {\n paddingInline: rem(15),\n paddingBlock: rem(11),\n textStyle: 'body/lg/regular',\n '--input-height': rem(48),\n },\n },\n};\n\nexport const defaultVariants: Record<'size', 'md' | 'lg'> = {\n size: 'lg',\n};\n"],"mappings":";;AAIA,IAAa,OAA0B;CACrC,YAAY;CACZ,YAAY;CACZ,aAAa;CACb,cAAc;CACd,aAAa,IAAI,EAAE;CACnB,OAAO;CACP,WAAW;CACX,OAAO;CACP,WAAW;CACX,YAAY;CACZ,cAAc,EACZ,OAAO,0BACR;CACD,QAAQ,EACN,aAAa,gBACd;CACD,UAAU;EACR,aAAa;EACb,QAAQ,EACN,aAAa,gBACd;EACF;CACD,WAAW;EACT,QAAQ,EACN,aAAa,mBACd;EACD,cAAc,EACZ,OAAO,iBACR;EACD,OAAO;EACP,YAAY;EACZ,QAAQ;EACT;CACD,WAAW;EACT,QAAQ,EACN,aAAa,kBACd;EACD,YAAY;EACb;CACF;AAED,IAAa,WAAmE,EAC9E,MAAM;CACJ,IAAI;EACF,eAAe,IAAI,GAAG;EACtB,cAAc,IAAI,EAAE;EACpB,WAAW;EACX,kBAAkB,IAAI,GAAG;EAC1B;CACD,IAAI;EACF,eAAe,IAAI,GAAG;EACtB,cAAc,IAAI,GAAG;EACrB,WAAW;EACX,kBAAkB,IAAI,GAAG;EAC1B;CACF,EACF;AAED,IAAa,kBAA+C,EAC1D,MAAM,MACP"}
1
+ {"version":3,"file":"InputAndTextarea.common.js","names":[],"sources":["../../../lib/theme/common/InputAndTextarea.common.ts"],"sourcesContent":["import { type SystemStyleObject } from '@chakra-ui/react/styled-system';\n\nimport { rem } from '../themeUtils';\n\nexport const base: SystemStyleObject = {\n appearance: 'none',\n background: 'background/primary',\n borderColor: 'border/regular',\n borderRadius: '4',\n borderWidth: rem(1),\n color: 'input/text/inputValue',\n textStyle: 'body/lg/regular',\n width: '100%',\n boxShadow: 'inset/field',\n transition: 'border 200ms',\n _placeholder: {\n color: 'input/text/placeholder',\n },\n _hover: {\n borderColor: 'border/hover',\n },\n _invalid: {\n borderColor: 'border/error',\n _hover: {\n borderColor: 'border/error',\n },\n },\n _disabled: {\n _hover: {\n borderColor: 'border/disabled',\n },\n _placeholder: {\n color: 'text/disabled',\n },\n color: 'text/disabled',\n background: 'background/disabled',\n cursor: 'not-allowed',\n },\n _readOnly: {\n _hover: {\n borderColor: 'border/regular',\n },\n background: 'background/disabled',\n },\n};\n\nexport const variants: Record<'size', Record<'md' | 'lg', SystemStyleObject>> = {\n size: {\n md: {\n paddingInline: rem(11),\n paddingBlock: rem(9),\n textStyle: 'body/md/regular',\n '--input-height': rem(40),\n },\n lg: {\n paddingInline: rem(15),\n paddingBlock: rem(11),\n textStyle: 'body/lg/regular',\n '--input-height': rem(48),\n },\n },\n};\n\nexport const defaultVariants: Record<'size', 'md' | 'lg'> = {\n size: 'lg',\n};\n\n/**\n * Additional styles for single-line `<input>` elements to opt out of the textStyle's explicit\n * line-height. With this override the caret follows the font's natural metrics (~font-size ×\n * 1.15) instead of the 20/24px line-height, so it no longer visually extends past sibling icons\n * in input groups. Textarea should NOT use this — multi-line text needs the textStyle line-height.\n */\nexport const singleLineInputOverrides: SystemStyleObject = {\n lineHeight: 'normal',\n};\n"],"mappings":";;AAIA,IAAa,OAA0B;CACrC,YAAY;CACZ,YAAY;CACZ,aAAa;CACb,cAAc;CACd,aAAa,IAAI,EAAE;CACnB,OAAO;CACP,WAAW;CACX,OAAO;CACP,WAAW;CACX,YAAY;CACZ,cAAc,EACZ,OAAO,0BACR;CACD,QAAQ,EACN,aAAa,gBACd;CACD,UAAU;EACR,aAAa;EACb,QAAQ,EACN,aAAa,gBACd;EACF;CACD,WAAW;EACT,QAAQ,EACN,aAAa,mBACd;EACD,cAAc,EACZ,OAAO,iBACR;EACD,OAAO;EACP,YAAY;EACZ,QAAQ;EACT;CACD,WAAW;EACT,QAAQ,EACN,aAAa,kBACd;EACD,YAAY;EACb;CACF;AAED,IAAa,WAAmE,EAC9E,MAAM;CACJ,IAAI;EACF,eAAe,IAAI,GAAG;EACtB,cAAc,IAAI,EAAE;EACpB,WAAW;EACX,kBAAkB,IAAI,GAAG;EAC1B;CACD,IAAI;EACF,eAAe,IAAI,GAAG;EACtB,cAAc,IAAI,GAAG;EACrB,WAAW;EACX,kBAAkB,IAAI,GAAG;EAC1B;CACF,EACF;AAED,IAAa,kBAA+C,EAC1D,MAAM,MACP;;;;;;;AAQD,IAAa,2BAA8C,EACzD,YAAY,UACb"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../lib/theme/index.ts"],"sourcesContent":["import { defaultBaseConfig } from '@chakra-ui/react/preset-base';\nimport { createSystem, defineConfig } from '@chakra-ui/react/styled-system';\n\nimport breakpoints from './breakpoints';\nimport globalCss from './global-css';\nimport animationStyles from './motion-styles';\nimport recipes from './recipes';\nimport semanticTokens from './semantic-tokens';\nimport slotRecipes from './slot-recipes';\nimport textStyles from './text-styles';\nimport tokens from './tokens';\nimport keyframes from './tokens/keyframes';\n\nconst themeConfig = defineConfig({\n preflight: true,\n cssVarsPrefix: '',\n cssVarsRoot: ':where(:root, :host)',\n globalCss,\n theme: {\n animationStyles,\n breakpoints,\n keyframes,\n recipes,\n semanticTokens,\n slotRecipes,\n textStyles,\n tokens,\n },\n});\n\nconst bitkitTheme = createSystem(defaultBaseConfig, themeConfig);\n\nexport default bitkitTheme;\n"],"mappings":";;;;;;;;;;;;AA8BA,IAAM,cAAc,aAAa,mBAjBb,aAAa;CAC/B,WAAW;CACX,eAAe;CACf,aAAa;CACb;CACA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACF,CAAC,CAE8D"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../lib/theme/index.ts"],"sourcesContent":["import { defaultBaseConfig } from '@chakra-ui/react/preset-base';\nimport { createSystem, defineConfig } from '@chakra-ui/react/styled-system';\n\nimport breakpoints from './breakpoints';\nimport globalCss from './global-css';\nimport animationStyles from './motion-styles';\nimport recipes from './recipes';\nimport semanticTokens from './semantic-tokens';\nimport slotRecipes from './slot-recipes';\nimport textStyles from './text-styles';\nimport tokens from './tokens';\nimport keyframes from './tokens/keyframes';\n\nconst themeConfig = defineConfig({\n preflight: true,\n cssVarsPrefix: '',\n cssVarsRoot: ':where(:root, :host)',\n globalCss,\n theme: {\n animationStyles,\n breakpoints,\n keyframes,\n recipes,\n semanticTokens,\n slotRecipes,\n textStyles,\n tokens,\n },\n});\n\nconst bitkitTheme = createSystem(defaultBaseConfig, themeConfig);\n\nexport default bitkitTheme;\n"],"mappings":";;;;;;;;;;;;AA8BA,IAAM,cAAc,aAAa,mBAjBb,aAAa;CAC/B,WAAW;CACX,eAAe;CACf,aAAa;CACb;CACA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACF,CAEmD,CAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"Button.recipe.js","names":[],"sources":["../../../lib/theme/recipes/Button.recipe.ts"],"sourcesContent":["import { defineRecipe, type SystemStyleObject } from '@chakra-ui/react/styled-system';\n\nimport { rem } from '../themeUtils';\n\nconst buttonVariants = [\n 'primary',\n 'secondary',\n 'tertiary',\n 'danger-primary',\n 'danger-secondary',\n 'danger-tertiary',\n 'ai-primary',\n 'ai-secondary',\n 'ai-tertiary',\n];\n\nexport type Variant = (typeof buttonVariants)[number];\n\nconst variantStyles = buttonVariants.reduce(\n (obj, variant) => {\n let borderColor = variant?.includes('secondary')\n ? `{colors.button.${variant}.border}`\n : `{colors.button.${variant}.bg}`;\n let disabledBorderColor = variant?.includes('secondary')\n ? `{colors.button.${variant}.border-disabled}`\n : `{colors.button.${variant}.bg-disabled}`;\n if (variant?.includes('tertiary')) {\n borderColor = 'transparent';\n disabledBorderColor = 'transparent';\n }\n obj[variant as NonNullable<Variant>] = {\n '&:hover': {\n backgroundColor: `{colors.button.${variant}.bg-hover}`,\n borderColor: variant?.includes('secondary')\n ? `{colors.button.${variant}.border-hover}`\n : `{colors.button.${variant}.bg-hover}`,\n color: `{colors.button.${variant}.fg-hover}`,\n _icon: {\n color: variant === 'secondary' ? 'currentColor' : undefined,\n },\n },\n '&:active': {\n backgroundColor: `{colors.button.${variant}.bg-active}`,\n borderColor: variant?.includes('secondary')\n ? `{colors.button.${variant}.border-active}`\n : `{colors.button.${variant}.bg-active}`,\n color: `{colors.button.${variant}.fg-active}`,\n _icon: {\n color: variant === 'secondary' ? 'currentColor' : undefined,\n },\n },\n _disabled: {\n backgroundColor: `{colors.button.${variant}.bg-disabled}!`,\n borderColor: `${disabledBorderColor}!`,\n color: `{colors.button.${variant}.fg-disabled}!`,\n cursor: 'not-allowed',\n _icon: {\n color: variant === 'secondary' ? 'currentColor' : undefined,\n },\n },\n _icon: {\n color: variant === 'secondary' ? 'button/secondary/fg/icon' : undefined,\n },\n backgroundColor: `{colors.button.${variant}.bg}`,\n borderColor,\n borderStyle: 'solid',\n borderWidth: rem(1),\n color: `{colors.button.${variant}.fg}`,\n };\n return obj;\n },\n {} as Record<NonNullable<Variant>, SystemStyleObject>,\n);\n\nconst buttonRecipe = defineRecipe({\n className: 'button',\n base: {\n borderRadius: '4',\n cursor: 'pointer',\n fontWeight: 600,\n border: '1px solid transparent',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '8',\n position: 'relative',\n '--spinner-color': 'currentColor',\n '--spinner-size': 'sizes.16',\n _disabled: {\n cursor: 'not-allowed',\n },\n },\n variants: {\n variant: variantStyles,\n size: {\n sm: {\n minWidth: '32',\n height: '32',\n paddingInline: rem(11),\n paddingBlock: rem(5),\n textStyle: 'comp/button/sm',\n },\n md: {\n minWidth: '40',\n height: '40',\n paddingInline: rem(15),\n paddingBlock: rem(7),\n textStyle: 'comp/button/md',\n },\n lg: {\n minWidth: '48',\n height: '48',\n padding: rem(15),\n textStyle: 'comp/button/lg',\n },\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'lg',\n },\n});\n\nexport default buttonRecipe;\n"],"mappings":";;;AA0EA,IAAM,eAAe,aAAa;CAChC,WAAW;CACX,MAAM;EACJ,cAAc;EACd,QAAQ;EACR,YAAY;EACZ,QAAQ;EACR,SAAS;EACT,YAAY;EACZ,gBAAgB;EAChB,KAAK;EACL,UAAU;EACV,mBAAmB;EACnB,kBAAkB;EAClB,WAAW,EACT,QAAQ,eACT;EACF;CACD,UAAU;EACR,SAzFmB;GACrB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAIoC,QAClC,KAAK,YAAY;GAChB,IAAI,cAAc,SAAS,SAAS,YAAY,GAC5C,kBAAkB,QAAQ,YAC1B,kBAAkB,QAAQ;GAC9B,IAAI,sBAAsB,SAAS,SAAS,YAAY,GACpD,kBAAkB,QAAQ,qBAC1B,kBAAkB,QAAQ;AAC9B,OAAI,SAAS,SAAS,WAAW,EAAE;AACjC,kBAAc;AACd,0BAAsB;;AAExB,OAAI,WAAmC;IACrC,WAAW;KACT,iBAAiB,kBAAkB,QAAQ;KAC3C,aAAa,SAAS,SAAS,YAAY,GACvC,kBAAkB,QAAQ,kBAC1B,kBAAkB,QAAQ;KAC9B,OAAO,kBAAkB,QAAQ;KACjC,OAAO,EACL,OAAO,YAAY,cAAc,iBAAiB,KAAA,GACnD;KACF;IACD,YAAY;KACV,iBAAiB,kBAAkB,QAAQ;KAC3C,aAAa,SAAS,SAAS,YAAY,GACvC,kBAAkB,QAAQ,mBAC1B,kBAAkB,QAAQ;KAC9B,OAAO,kBAAkB,QAAQ;KACjC,OAAO,EACL,OAAO,YAAY,cAAc,iBAAiB,KAAA,GACnD;KACF;IACD,WAAW;KACT,iBAAiB,kBAAkB,QAAQ;KAC3C,aAAa,GAAG,oBAAoB;KACpC,OAAO,kBAAkB,QAAQ;KACjC,QAAQ;KACR,OAAO,EACL,OAAO,YAAY,cAAc,iBAAiB,KAAA,GACnD;KACF;IACD,OAAO,EACL,OAAO,YAAY,cAAc,6BAA6B,KAAA,GAC/D;IACD,iBAAiB,kBAAkB,QAAQ;IAC3C;IACA,aAAa;IACb,aAAa,IAAI,EAAE;IACnB,OAAO,kBAAkB,QAAQ;IAClC;AACD,UAAO;KAET,EAAE,CACH;EAsBG,MAAM;GACJ,IAAI;IACF,UAAU;IACV,QAAQ;IACR,eAAe,IAAI,GAAG;IACtB,cAAc,IAAI,EAAE;IACpB,WAAW;IACZ;GACD,IAAI;IACF,UAAU;IACV,QAAQ;IACR,eAAe,IAAI,GAAG;IACtB,cAAc,IAAI,EAAE;IACpB,WAAW;IACZ;GACD,IAAI;IACF,UAAU;IACV,QAAQ;IACR,SAAS,IAAI,GAAG;IAChB,WAAW;IACZ;GACF;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CAAC"}
1
+ {"version":3,"file":"Button.recipe.js","names":[],"sources":["../../../lib/theme/recipes/Button.recipe.ts"],"sourcesContent":["import { defineRecipe, type SystemStyleObject } from '@chakra-ui/react/styled-system';\n\nimport { rem } from '../themeUtils';\n\nconst buttonVariants = [\n 'primary',\n 'secondary',\n 'tertiary',\n 'danger-primary',\n 'danger-secondary',\n 'danger-tertiary',\n 'ai-primary',\n 'ai-secondary',\n 'ai-tertiary',\n];\n\nexport type Variant = (typeof buttonVariants)[number];\n\nconst variantStyles = buttonVariants.reduce(\n (obj, variant) => {\n let borderColor = variant?.includes('secondary')\n ? `{colors.button.${variant}.border}`\n : `{colors.button.${variant}.bg}`;\n let disabledBorderColor = variant?.includes('secondary')\n ? `{colors.button.${variant}.border-disabled}`\n : `{colors.button.${variant}.bg-disabled}`;\n if (variant?.includes('tertiary')) {\n borderColor = 'transparent';\n disabledBorderColor = 'transparent';\n }\n obj[variant as NonNullable<Variant>] = {\n '&:hover': {\n backgroundColor: `{colors.button.${variant}.bg-hover}`,\n borderColor: variant?.includes('secondary')\n ? `{colors.button.${variant}.border-hover}`\n : `{colors.button.${variant}.bg-hover}`,\n color: `{colors.button.${variant}.fg-hover}`,\n _icon: {\n color: variant === 'secondary' ? 'currentColor' : undefined,\n },\n },\n '&:active': {\n backgroundColor: `{colors.button.${variant}.bg-active}`,\n borderColor: variant?.includes('secondary')\n ? `{colors.button.${variant}.border-active}`\n : `{colors.button.${variant}.bg-active}`,\n color: `{colors.button.${variant}.fg-active}`,\n _icon: {\n color: variant === 'secondary' ? 'currentColor' : undefined,\n },\n },\n _disabled: {\n backgroundColor: `{colors.button.${variant}.bg-disabled}!`,\n borderColor: `${disabledBorderColor}!`,\n color: `{colors.button.${variant}.fg-disabled}!`,\n cursor: 'not-allowed',\n _icon: {\n color: variant === 'secondary' ? 'currentColor' : undefined,\n },\n },\n _icon: {\n color: variant === 'secondary' ? 'button/secondary/fg/icon' : undefined,\n },\n backgroundColor: `{colors.button.${variant}.bg}`,\n borderColor,\n borderStyle: 'solid',\n borderWidth: rem(1),\n color: `{colors.button.${variant}.fg}`,\n };\n return obj;\n },\n {} as Record<NonNullable<Variant>, SystemStyleObject>,\n);\n\nconst buttonRecipe = defineRecipe({\n className: 'button',\n base: {\n borderRadius: '4',\n cursor: 'pointer',\n fontWeight: 600,\n border: '1px solid transparent',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '8',\n position: 'relative',\n '--spinner-color': 'currentColor',\n '--spinner-size': 'sizes.16',\n _disabled: {\n cursor: 'not-allowed',\n },\n },\n variants: {\n variant: variantStyles,\n size: {\n sm: {\n minWidth: '32',\n height: '32',\n paddingInline: rem(11),\n paddingBlock: rem(5),\n textStyle: 'comp/button/sm',\n },\n md: {\n minWidth: '40',\n height: '40',\n paddingInline: rem(15),\n paddingBlock: rem(7),\n textStyle: 'comp/button/md',\n },\n lg: {\n minWidth: '48',\n height: '48',\n padding: rem(15),\n textStyle: 'comp/button/lg',\n },\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'lg',\n },\n});\n\nexport default buttonRecipe;\n"],"mappings":";;;AA0EA,IAAM,eAAe,aAAa;CAChC,WAAW;CACX,MAAM;EACJ,cAAc;EACd,QAAQ;EACR,YAAY;EACZ,QAAQ;EACR,SAAS;EACT,YAAY;EACZ,gBAAgB;EAChB,KAAK;EACL,UAAU;EACV,mBAAmB;EACnB,kBAAkB;EAClB,WAAW,EACT,QAAQ,eACT;EACF;CACD,UAAU;EACR,SA3EkB;GAbpB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAKoB,CAAe,QAClC,KAAK,YAAY;GAChB,IAAI,cAAc,SAAS,SAAS,YAAY,GAC5C,kBAAkB,QAAQ,YAC1B,kBAAkB,QAAQ;GAC9B,IAAI,sBAAsB,SAAS,SAAS,YAAY,GACpD,kBAAkB,QAAQ,qBAC1B,kBAAkB,QAAQ;AAC9B,OAAI,SAAS,SAAS,WAAW,EAAE;AACjC,kBAAc;AACd,0BAAsB;;AAExB,OAAI,WAAmC;IACrC,WAAW;KACT,iBAAiB,kBAAkB,QAAQ;KAC3C,aAAa,SAAS,SAAS,YAAY,GACvC,kBAAkB,QAAQ,kBAC1B,kBAAkB,QAAQ;KAC9B,OAAO,kBAAkB,QAAQ;KACjC,OAAO,EACL,OAAO,YAAY,cAAc,iBAAiB,KAAA,GACnD;KACF;IACD,YAAY;KACV,iBAAiB,kBAAkB,QAAQ;KAC3C,aAAa,SAAS,SAAS,YAAY,GACvC,kBAAkB,QAAQ,mBAC1B,kBAAkB,QAAQ;KAC9B,OAAO,kBAAkB,QAAQ;KACjC,OAAO,EACL,OAAO,YAAY,cAAc,iBAAiB,KAAA,GACnD;KACF;IACD,WAAW;KACT,iBAAiB,kBAAkB,QAAQ;KAC3C,aAAa,GAAG,oBAAoB;KACpC,OAAO,kBAAkB,QAAQ;KACjC,QAAQ;KACR,OAAO,EACL,OAAO,YAAY,cAAc,iBAAiB,KAAA,GACnD;KACF;IACD,OAAO,EACL,OAAO,YAAY,cAAc,6BAA6B,KAAA,GAC/D;IACD,iBAAiB,kBAAkB,QAAQ;IAC3C;IACA,aAAa;IACb,aAAa,IAAI,EAAE;IACnB,OAAO,kBAAkB,QAAQ;IAClC;AACD,UAAO;KAET,EAAE,CAsBS;EACT,MAAM;GACJ,IAAI;IACF,UAAU;IACV,QAAQ;IACR,eAAe,IAAI,GAAG;IACtB,cAAc,IAAI,EAAE;IACpB,WAAW;IACZ;GACD,IAAI;IACF,UAAU;IACV,QAAQ;IACR,eAAe,IAAI,GAAG;IACtB,cAAc,IAAI,EAAE;IACpB,WAAW;IACZ;GACD,IAAI;IACF,UAAU;IACV,QAAQ;IACR,SAAS,IAAI,GAAG;IAChB,WAAW;IACZ;GACF;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CAAC"}
@@ -1,9 +1,13 @@
1
- import { base, defaultVariants, variants } from "../common/InputAndTextarea.common.js";
1
+ import { base, defaultVariants, singleLineInputOverrides, variants } from "../common/InputAndTextarea.common.js";
2
2
  import { defineRecipe } from "@chakra-ui/react/styled-system";
3
3
  //#region lib/theme/recipes/Input.recipe.ts
4
4
  var inputRecipe = defineRecipe({
5
5
  className: "input",
6
- base,
6
+ base: {
7
+ ...base,
8
+ ...singleLineInputOverrides,
9
+ height: "var(--input-height)"
10
+ },
7
11
  variants,
8
12
  defaultVariants
9
13
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Input.recipe.js","names":[],"sources":["../../../lib/theme/recipes/Input.recipe.ts"],"sourcesContent":["import { defineRecipe } from '@chakra-ui/react/styled-system';\n\nimport { base, defaultVariants, variants } from '../common/InputAndTextarea.common';\n\nconst inputRecipe = defineRecipe({\n className: 'input',\n base,\n variants,\n defaultVariants,\n});\n\nexport default inputRecipe;\n"],"mappings":";;;AAIA,IAAM,cAAc,aAAa;CAC/B,WAAW;CACX;CACA;CACA;CACD,CAAC"}
1
+ {"version":3,"file":"Input.recipe.js","names":[],"sources":["../../../lib/theme/recipes/Input.recipe.ts"],"sourcesContent":["import { defineRecipe } from '@chakra-ui/react/styled-system';\n\nimport { base, defaultVariants, singleLineInputOverrides, variants } from '../common/InputAndTextarea.common';\n\nconst inputRecipe = defineRecipe({\n className: 'input',\n base: {\n ...base,\n ...singleLineInputOverrides,\n // Pin the input to the size-variant's --input-height so layout stays deterministic regardless\n // of padding/font drift.\n height: 'var(--input-height)',\n },\n variants,\n defaultVariants,\n});\n\nexport default inputRecipe;\n"],"mappings":";;;AAIA,IAAM,cAAc,aAAa;CAC/B,WAAW;CACX,MAAM;EACJ,GAAG;EACH,GAAG;EAGH,QAAQ;EACT;CACD;CACA;CACD,CAAC"}
@@ -38,7 +38,7 @@ var selectableTagRecipe = defineRecipe({
38
38
  userSelect: "none",
39
39
  whiteSpace: "nowrap",
40
40
  "&:has(svg)": { paddingInlineStart: "4" },
41
- _icon: { color: "icon/primary" },
41
+ _icon: { color: "icon/secondary" },
42
42
  _hover: {
43
43
  background: "background/hover",
44
44
  color: "text/primary",
@@ -1 +1 @@
1
- {"version":3,"file":"SelectableTag.recipe.js","names":[],"sources":["../../../lib/theme/recipes/SelectableTag.recipe.ts"],"sourcesContent":["import { defineRecipe, type SystemStyleObject } from '@chakra-ui/react/styled-system';\n\nconst checked: SystemStyleObject = {\n background: 'background/selected',\n borderColor: 'border/selected',\n color: 'text/primary',\n _icon: {\n color: 'icon/interactive',\n },\n};\n\nconst checkedHover: SystemStyleObject = {\n background: 'background/selected-hover',\n borderColor: 'border/selected',\n color: 'text/primary',\n _icon: {\n color: 'icon/interactive-hover',\n },\n};\n\nconst disabled: SystemStyleObject = {\n background: 'background/disabled',\n borderColor: 'border/disabled',\n color: 'text/on-disabled',\n cursor: 'not-allowed',\n _icon: {\n color: 'icon/on-disabled',\n },\n};\n\nconst selectableTagRecipe = defineRecipe({\n className: 'selectable-tag',\n base: {\n alignItems: 'center',\n background: 'background/primary',\n border: '1px solid',\n borderColor: 'border/strong',\n borderRadius: '4',\n color: 'text/body',\n cursor: 'pointer',\n display: 'inline-flex',\n gap: '4',\n height: '24',\n paddingBlock: '4',\n paddingInline: '8',\n textStyle: 'comp/tag/sm',\n userSelect: 'none',\n whiteSpace: 'nowrap',\n '&:has(svg)': {\n paddingInlineStart: '4',\n },\n _icon: {\n color: 'icon/primary',\n },\n _hover: {\n background: 'background/hover',\n color: 'text/primary',\n _checked: checkedHover,\n },\n _checked: checked,\n _disabled: {\n ...disabled,\n _checked: disabled,\n },\n _focusVisible: {\n focusRing: 'outside',\n },\n },\n});\n\nexport default selectableTagRecipe;\n"],"mappings":";;AAEA,IAAM,UAA6B;CACjC,YAAY;CACZ,aAAa;CACb,OAAO;CACP,OAAO,EACL,OAAO,oBACR;CACF;AAED,IAAM,eAAkC;CACtC,YAAY;CACZ,aAAa;CACb,OAAO;CACP,OAAO,EACL,OAAO,0BACR;CACF;AAED,IAAM,WAA8B;CAClC,YAAY;CACZ,aAAa;CACb,OAAO;CACP,QAAQ;CACR,OAAO,EACL,OAAO,oBACR;CACF;AAED,IAAM,sBAAsB,aAAa;CACvC,WAAW;CACX,MAAM;EACJ,YAAY;EACZ,YAAY;EACZ,QAAQ;EACR,aAAa;EACb,cAAc;EACd,OAAO;EACP,QAAQ;EACR,SAAS;EACT,KAAK;EACL,QAAQ;EACR,cAAc;EACd,eAAe;EACf,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,cAAc,EACZ,oBAAoB,KACrB;EACD,OAAO,EACL,OAAO,gBACR;EACD,QAAQ;GACN,YAAY;GACZ,OAAO;GACP,UAAU;GACX;EACD,UAAU;EACV,WAAW;GACT,GAAG;GACH,UAAU;GACX;EACD,eAAe,EACb,WAAW,WACZ;EACF;CACF,CAAC"}
1
+ {"version":3,"file":"SelectableTag.recipe.js","names":[],"sources":["../../../lib/theme/recipes/SelectableTag.recipe.ts"],"sourcesContent":["import { defineRecipe, type SystemStyleObject } from '@chakra-ui/react/styled-system';\n\nconst checked: SystemStyleObject = {\n background: 'background/selected',\n borderColor: 'border/selected',\n color: 'text/primary',\n _icon: {\n color: 'icon/interactive',\n },\n};\n\nconst checkedHover: SystemStyleObject = {\n background: 'background/selected-hover',\n borderColor: 'border/selected',\n color: 'text/primary',\n _icon: {\n color: 'icon/interactive-hover',\n },\n};\n\nconst disabled: SystemStyleObject = {\n background: 'background/disabled',\n borderColor: 'border/disabled',\n color: 'text/on-disabled',\n cursor: 'not-allowed',\n _icon: {\n color: 'icon/on-disabled',\n },\n};\n\nconst selectableTagRecipe = defineRecipe({\n className: 'selectable-tag',\n base: {\n alignItems: 'center',\n background: 'background/primary',\n border: '1px solid',\n borderColor: 'border/strong',\n borderRadius: '4',\n color: 'text/body',\n cursor: 'pointer',\n display: 'inline-flex',\n gap: '4',\n height: '24',\n paddingBlock: '4',\n paddingInline: '8',\n textStyle: 'comp/tag/sm',\n userSelect: 'none',\n whiteSpace: 'nowrap',\n '&:has(svg)': {\n paddingInlineStart: '4',\n },\n _icon: {\n color: 'icon/secondary',\n },\n _hover: {\n background: 'background/hover',\n color: 'text/primary',\n _checked: checkedHover,\n },\n _checked: checked,\n _disabled: {\n ...disabled,\n _checked: disabled,\n },\n _focusVisible: {\n focusRing: 'outside',\n },\n },\n});\n\nexport default selectableTagRecipe;\n"],"mappings":";;AAEA,IAAM,UAA6B;CACjC,YAAY;CACZ,aAAa;CACb,OAAO;CACP,OAAO,EACL,OAAO,oBACR;CACF;AAED,IAAM,eAAkC;CACtC,YAAY;CACZ,aAAa;CACb,OAAO;CACP,OAAO,EACL,OAAO,0BACR;CACF;AAED,IAAM,WAA8B;CAClC,YAAY;CACZ,aAAa;CACb,OAAO;CACP,QAAQ;CACR,OAAO,EACL,OAAO,oBACR;CACF;AAED,IAAM,sBAAsB,aAAa;CACvC,WAAW;CACX,MAAM;EACJ,YAAY;EACZ,YAAY;EACZ,QAAQ;EACR,aAAa;EACb,cAAc;EACd,OAAO;EACP,QAAQ;EACR,SAAS;EACT,KAAK;EACL,QAAQ;EACR,cAAc;EACd,eAAe;EACf,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,cAAc,EACZ,oBAAoB,KACrB;EACD,OAAO,EACL,OAAO,kBACR;EACD,QAAQ;GACN,YAAY;GACZ,OAAO;GACP,UAAU;GACX;EACD,UAAU;EACV,WAAW;GACT,GAAG;GACH,UAAU;GACX;EACD,eAAe,EACb,WAAW,WACZ;EACF;CACF,CAAC"}
@@ -10,6 +10,16 @@ var selectedHover = {
10
10
  borderColor: "border/selected",
11
11
  color: "icon/interactive-hover"
12
12
  };
13
+ var selectedActive = {
14
+ background: "background/selected-active",
15
+ borderColor: "border/selected",
16
+ color: "icon/interactive-hover"
17
+ };
18
+ var active = {
19
+ background: "button/secondary/bg-active",
20
+ borderColor: "button/secondary/border-active",
21
+ color: "button/secondary/fg-active"
22
+ };
13
23
  var disabled = {
14
24
  background: "button/secondary/bg-disabled",
15
25
  borderColor: "button/secondary/border-disabled",
@@ -30,9 +40,17 @@ var toggleButtonRecipe = defineRecipe({
30
40
  _hover: {
31
41
  background: "button/secondary/bg-hover",
32
42
  borderColor: "button/secondary/border-hover",
33
- _pressed: selectedHover
43
+ _active: active,
44
+ _pressed: {
45
+ ...selectedHover,
46
+ _active: selectedActive
47
+ }
48
+ },
49
+ _active: active,
50
+ _pressed: {
51
+ ...selected,
52
+ _active: selectedActive
34
53
  },
35
- _pressed: selected,
36
54
  _disabled: {
37
55
  cursor: "not-allowed",
38
56
  ...disabled,
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.recipe.js","names":[],"sources":["../../../lib/theme/recipes/ToggleButton.recipe.ts"],"sourcesContent":["import { defineRecipe, type SystemStyleObject } from '@chakra-ui/react/styled-system';\n\nconst selected: SystemStyleObject = {\n background: 'background/selected',\n borderColor: 'border/selected',\n color: 'icon/interactive',\n};\n\nconst selectedHover: SystemStyleObject = {\n background: 'background/selected-hover',\n borderColor: 'border/selected',\n color: 'icon/interactive-hover',\n};\n\nconst disabled: SystemStyleObject = {\n background: 'button/secondary/bg-disabled',\n borderColor: 'button/secondary/border-disabled',\n color: 'button/secondary/fg-disabled',\n};\n\nconst toggleButtonRecipe = defineRecipe({\n className: 'toggle-button',\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '4',\n cursor: 'pointer',\n borderWidth: '1px',\n background: 'button/secondary/bg',\n borderColor: 'button/secondary/border',\n color: 'button/secondary/fg/icon',\n _hover: {\n background: 'button/secondary/bg-hover',\n borderColor: 'button/secondary/border-hover',\n _pressed: selectedHover,\n },\n _pressed: selected,\n _disabled: {\n cursor: 'not-allowed',\n ...disabled,\n _pressed: disabled,\n },\n },\n variants: {\n size: {\n sm: { padding: '8' },\n md: { padding: '12' },\n lg: { padding: '12' },\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport default toggleButtonRecipe;\n"],"mappings":";;AAEA,IAAM,WAA8B;CAClC,YAAY;CACZ,aAAa;CACb,OAAO;CACR;AAED,IAAM,gBAAmC;CACvC,YAAY;CACZ,aAAa;CACb,OAAO;CACR;AAED,IAAM,WAA8B;CAClC,YAAY;CACZ,aAAa;CACb,OAAO;CACR;AAED,IAAM,qBAAqB,aAAa;CACtC,WAAW;CACX,MAAM;EACJ,SAAS;EACT,YAAY;EACZ,gBAAgB;EAChB,cAAc;EACd,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,aAAa;EACb,OAAO;EACP,QAAQ;GACN,YAAY;GACZ,aAAa;GACb,UAAU;GACX;EACD,UAAU;EACV,WAAW;GACT,QAAQ;GACR,GAAG;GACH,UAAU;GACX;EACF;CACD,UAAU,EACR,MAAM;EACJ,IAAI,EAAE,SAAS,KAAK;EACpB,IAAI,EAAE,SAAS,MAAM;EACrB,IAAI,EAAE,SAAS,MAAM;EACtB,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC"}
1
+ {"version":3,"file":"ToggleButton.recipe.js","names":[],"sources":["../../../lib/theme/recipes/ToggleButton.recipe.ts"],"sourcesContent":["import { defineRecipe, type SystemStyleObject } from '@chakra-ui/react/styled-system';\n\nconst selected: SystemStyleObject = {\n background: 'background/selected',\n borderColor: 'border/selected',\n color: 'icon/interactive',\n};\n\nconst selectedHover: SystemStyleObject = {\n background: 'background/selected-hover',\n borderColor: 'border/selected',\n color: 'icon/interactive-hover',\n};\n\nconst selectedActive: SystemStyleObject = {\n background: 'background/selected-active',\n borderColor: 'border/selected',\n color: 'icon/interactive-hover',\n};\n\nconst active: SystemStyleObject = {\n background: 'button/secondary/bg-active',\n borderColor: 'button/secondary/border-active',\n color: 'button/secondary/fg-active',\n};\n\nconst disabled: SystemStyleObject = {\n background: 'button/secondary/bg-disabled',\n borderColor: 'button/secondary/border-disabled',\n color: 'button/secondary/fg-disabled',\n};\n\nconst toggleButtonRecipe = defineRecipe({\n className: 'toggle-button',\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '4',\n cursor: 'pointer',\n borderWidth: '1px',\n background: 'button/secondary/bg',\n borderColor: 'button/secondary/border',\n color: 'button/secondary/fg/icon',\n _hover: {\n background: 'button/secondary/bg-hover',\n borderColor: 'button/secondary/border-hover',\n _active: active,\n _pressed: {\n ...selectedHover,\n _active: selectedActive,\n },\n },\n _active: active,\n _pressed: {\n ...selected,\n _active: selectedActive,\n },\n _disabled: {\n cursor: 'not-allowed',\n ...disabled,\n _pressed: disabled,\n },\n },\n variants: {\n size: {\n sm: { padding: '8' },\n md: { padding: '12' },\n lg: { padding: '12' },\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport default toggleButtonRecipe;\n"],"mappings":";;AAEA,IAAM,WAA8B;CAClC,YAAY;CACZ,aAAa;CACb,OAAO;CACR;AAED,IAAM,gBAAmC;CACvC,YAAY;CACZ,aAAa;CACb,OAAO;CACR;AAED,IAAM,iBAAoC;CACxC,YAAY;CACZ,aAAa;CACb,OAAO;CACR;AAED,IAAM,SAA4B;CAChC,YAAY;CACZ,aAAa;CACb,OAAO;CACR;AAED,IAAM,WAA8B;CAClC,YAAY;CACZ,aAAa;CACb,OAAO;CACR;AAED,IAAM,qBAAqB,aAAa;CACtC,WAAW;CACX,MAAM;EACJ,SAAS;EACT,YAAY;EACZ,gBAAgB;EAChB,cAAc;EACd,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,aAAa;EACb,OAAO;EACP,QAAQ;GACN,YAAY;GACZ,aAAa;GACb,SAAS;GACT,UAAU;IACR,GAAG;IACH,SAAS;IACV;GACF;EACD,SAAS;EACT,UAAU;GACR,GAAG;GACH,SAAS;GACV;EACD,WAAW;GACT,QAAQ;GACR,GAAG;GACH,UAAU;GACX;EACF;CACD,UAAU,EACR,MAAM;EACJ,IAAI,EAAE,SAAS,KAAK;EACpB,IAAI,EAAE,SAAS,MAAM;EACrB,IAAI,EAAE,SAAS,MAAM;EACtB,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC"}
@@ -166,6 +166,7 @@ var semanticColors = defineSemanticTokens.colors(withSlashes({
166
166
  hover: { value: { base: "{colors.sys.bg.subtle}" } },
167
167
  active: { value: { base: "{colors.sys.bg.moderate}" } },
168
168
  selected: { value: { base: "{colors.sys.purple.minimal}" } },
169
+ "selected-active": { value: { base: "{colors.sys.purple.moderate}" } },
169
170
  "selected-hover": { value: { base: "{colors.sys.purple.subtle}" } },
170
171
  contrast: { value: { base: "{colors.sys.bg.contrast}" } },
171
172
  disabled: { value: { base: "{colors.sys.bg.disabled}" } }
@@ -358,15 +359,19 @@ var semanticColors = defineSemanticTokens.colors(withSlashes({
358
359
  selection: { value: { base: "{colors.sys.interactive}" } },
359
360
  "selection-disabled": { value: { base: "{colors.sys.interactive.disabled}" } }
360
361
  },
361
- toggle: {
362
- frameOn: { value: { base: "{colors.sys.green.bold}" } },
363
- "frameOn-disabled": { value: { base: "{colors.sys.green.bold/50}" } },
364
- frameOff: { value: { base: "{colors.sys.neutral.bold}" } },
365
- "frameOff-disabled": { value: { base: "{colors.sys.neutral.bold/50}" } },
366
- slideOn: { value: { base: "{colors.sys.bg.surface}" } },
367
- "slideOn-disabled": { value: { base: "{colors.sys.bg.surface}" } },
368
- slideOff: { value: { base: "{colors.sys.bg.surface}" } },
369
- "slideOff-disabled": { value: { base: "{colors.sys.bg.surface}" } }
362
+ switch: {
363
+ on: {
364
+ track: { value: { base: "{colors.sys.green.bold}" } },
365
+ "track-disabled": { value: { base: "{colors.sys.green.bold/50}" } },
366
+ thumb: { value: { base: "{colors.sys.bg.surface}" } },
367
+ "thumb-disabled": { value: { base: "{colors.sys.bg.surface}" } }
368
+ },
369
+ off: {
370
+ track: { value: { base: "{colors.sys.neutral.bold}" } },
371
+ "track-disabled": { value: { base: "{colors.sys.neutral.bold/50}" } },
372
+ thumb: { value: { base: "{colors.sys.bg.surface}" } },
373
+ "thumb-disabled": { value: { base: "{colors.sys.bg.surface}" } }
374
+ }
370
375
  }
371
376
  },
372
377
  interactive: {