react-restyle-components 0.4.39 → 0.4.41

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 (243) hide show
  1. package/lib/index.js +3 -1
  2. package/lib/src/core-components/index.js +1 -1
  3. package/lib/src/core-components/src/components/Accordion/AccordionSection/Accordion.js +15 -1
  4. package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionContext.js +6 -1
  5. package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionSection.js +39 -1
  6. package/lib/src/core-components/src/components/Accordion/AccordionSection/Header.js +39 -1
  7. package/lib/src/core-components/src/components/Accordion/AccordionSection/elements.js +94 -57
  8. package/lib/src/core-components/src/components/Accordion/AccordionSection/hooks/useCurrentAccordionIndex.js +13 -1
  9. package/lib/src/core-components/src/components/Accordion/AccordionSection/index.js +3 -1
  10. package/lib/src/core-components/src/components/Accordion/AccordionSection/types.js +9 -1
  11. package/lib/src/core-components/src/components/Accordion/Collapsible/Collapsible2.component.js +249 -1
  12. package/lib/src/core-components/src/components/Action/types.js +8 -1
  13. package/lib/src/core-components/src/components/AlertBanner/AlertBanner.js +45 -1
  14. package/lib/src/core-components/src/components/AlertBanner/elements.js +120 -45
  15. package/lib/src/core-components/src/components/AlertBanner/index.js +2 -1
  16. package/lib/src/core-components/src/components/AlertBanner/types.js +10 -1
  17. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-group-by-multiple-select-multiple-fields-display/auto-complete-filter-group-by-multiple-select-multiple-fields-display.component.js +334 -1
  18. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multi-select-multi-fields-display-drag-drop/auto-complete-filter-multi-select-multi-fields-display-drag-drop.component.js +229 -1
  19. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multi-select-selected-top-display/auto-complete-filter-multi-select-selected-top-display.component.js +174 -1
  20. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.component.js +129 -2
  21. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select/auto-complete-filter-single-select.component.js +55 -1
  22. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.component.js +308 -2
  23. package/lib/src/core-components/src/components/AutoComplete/auto-complete-group-by/auto-complete-group-by.component.js +115 -1
  24. package/lib/src/core-components/src/components/AutoComplete/autocomplete/autocomplete.js +442 -2
  25. package/lib/src/core-components/src/components/AutoComplete/index.js +8 -1
  26. package/lib/src/core-components/src/components/Avatar/Avatar.js +148 -14
  27. package/lib/src/core-components/src/components/Badge/Badge.js +25 -2
  28. package/lib/src/core-components/src/components/Badge/InnerBadge/Inline.js +25 -1
  29. package/lib/src/core-components/src/components/Badge/InnerBadge/InnerBadge.js +25 -1
  30. package/lib/src/core-components/src/components/Badge/InnerBadge/elements.js +78 -32
  31. package/lib/src/core-components/src/components/Badge/InnerBadge/index.js +1 -1
  32. package/lib/src/core-components/src/components/Badge/index.js +1 -1
  33. package/lib/src/core-components/src/components/Badge/types.js +5 -1
  34. package/lib/src/core-components/src/components/Breadcrumb/Breadcrumb.js +83 -1
  35. package/lib/src/core-components/src/components/Breadcrumb/elements.js +166 -94
  36. package/lib/src/core-components/src/components/Breadcrumb/index.js +3 -1
  37. package/lib/src/core-components/src/components/Breadcrumb/types.js +3 -1
  38. package/lib/src/core-components/src/components/Button/button.component.js +18 -1
  39. package/lib/src/core-components/src/components/Button/buttonGroup/buttonGroup.component.js +4 -1
  40. package/lib/src/core-components/src/components/Button/index.js +2 -1
  41. package/lib/src/core-components/src/components/Button/types.js +1 -1
  42. package/lib/src/core-components/src/components/Chip/Chip.js +64 -1
  43. package/lib/src/core-components/src/components/Chip/elements.js +148 -48
  44. package/lib/src/core-components/src/components/Chip/index.js +2 -1
  45. package/lib/src/core-components/src/components/Chip/types.js +4 -1
  46. package/lib/src/core-components/src/components/Divider/Divider.js +25 -1
  47. package/lib/src/core-components/src/components/Divider/elements.js +68 -31
  48. package/lib/src/core-components/src/components/Divider/index.js +2 -1
  49. package/lib/src/core-components/src/components/Divider/types.js +4 -1
  50. package/lib/src/core-components/src/components/DynamicGrid/DynamicGrid.js +147 -1
  51. package/lib/src/core-components/src/components/DynamicGrid/GridContainer.js +24 -17
  52. package/lib/src/core-components/src/components/DynamicGrid/elements.js +162 -100
  53. package/lib/src/core-components/src/components/DynamicGrid/index.js +3 -1
  54. package/lib/src/core-components/src/components/DynamicGrid/types.js +28 -1
  55. package/lib/src/core-components/src/components/DynamicGrid/utils.js +193 -1
  56. package/lib/src/core-components/src/components/FormField/FormField.js +103 -1
  57. package/lib/src/core-components/src/components/FormField/components/CheckboxGroupInput.js +37 -1
  58. package/lib/src/core-components/src/components/FormField/components/CheckboxInput.js +8 -1
  59. package/lib/src/core-components/src/components/FormField/components/CssMultilineInput.js +192 -1
  60. package/lib/src/core-components/src/components/FormField/components/DatePickerInput.js +99 -1
  61. package/lib/src/core-components/src/components/FormField/components/DropdownInput.js +70 -1
  62. package/lib/src/core-components/src/components/FormField/components/OtpInput.js +81 -1
  63. package/lib/src/core-components/src/components/FormField/components/PasswordInput.js +40 -1
  64. package/lib/src/core-components/src/components/FormField/components/PinInput.js +75 -1
  65. package/lib/src/core-components/src/components/FormField/components/RadioInput.js +54 -1
  66. package/lib/src/core-components/src/components/FormField/components/TextDropdownInput.js +94 -1
  67. package/lib/src/core-components/src/components/FormField/components/ToggleInput.js +36 -1
  68. package/lib/src/core-components/src/components/FormField/components/index.js +11 -1
  69. package/lib/src/core-components/src/components/FormField/css-properties.js +161 -1
  70. package/lib/src/core-components/src/components/FormField/index.js +2 -1
  71. package/lib/src/core-components/src/components/Icon/Icon.js +79 -1
  72. package/lib/src/core-components/src/components/Icon/index.js +2 -1
  73. package/lib/src/core-components/src/components/Icon/types.js +9 -1
  74. package/lib/src/core-components/src/components/Loader/loader.component.js +215 -2
  75. package/lib/src/core-components/src/components/Masonry/Masonry.js +73 -1
  76. package/lib/src/core-components/src/components/Masonry/elements.js +46 -29
  77. package/lib/src/core-components/src/components/Masonry/hooks.js +100 -1
  78. package/lib/src/core-components/src/components/Masonry/index.js +3 -1
  79. package/lib/src/core-components/src/components/Masonry/types.js +1 -1
  80. package/lib/src/core-components/src/components/Modal/BasicModal/modal.component.js +116 -1
  81. package/lib/src/core-components/src/components/Modal/index.js +2 -1
  82. package/lib/src/core-components/src/components/Modal/modal-confirm/modal-confirm.component.js +147 -1
  83. package/lib/src/core-components/src/components/Picker/color-picker/color-picker.component.js +12 -1
  84. package/lib/src/core-components/src/components/Picker/color-picker-modal/color-picker-modal.component.js +40 -1
  85. package/lib/src/core-components/src/components/Picker/index.js +2 -1
  86. package/lib/src/core-components/src/components/Selection/index.js +4 -1
  87. package/lib/src/core-components/src/components/Selection/multi-select/multi-select.component.js +49 -1
  88. package/lib/src/core-components/src/components/Selection/multi-select-with-field/multi-select-with-field.component.js +58 -1
  89. package/lib/src/core-components/src/components/Selection/multi-selection-dropdown/multi-selection-dropdown.component.js +43 -1
  90. package/lib/src/core-components/src/components/Selection/single-select/single-select.component.js +87 -1
  91. package/lib/src/core-components/src/components/Skeleton/Skeleton.js +51 -1
  92. package/lib/src/core-components/src/components/Skeleton/elements.js +143 -54
  93. package/lib/src/core-components/src/components/Skeleton/index.js +2 -1
  94. package/lib/src/core-components/src/components/Skeleton/types.js +4 -1
  95. package/lib/src/core-components/src/components/SpeedDial/SpeedDial.js +128 -1
  96. package/lib/src/core-components/src/components/SpeedDial/elements.js +132 -62
  97. package/lib/src/core-components/src/components/SpeedDial/index.js +2 -1
  98. package/lib/src/core-components/src/components/SpeedDial/types.js +3 -1
  99. package/lib/src/core-components/src/components/Stepper2/stepper.component.js +139 -1
  100. package/lib/src/core-components/src/components/Switch/Switch.js +26 -1
  101. package/lib/src/core-components/src/components/Switch/elements.js +103 -34
  102. package/lib/src/core-components/src/components/Switch/index.js +2 -1
  103. package/lib/src/core-components/src/components/Switch/types.js +3 -1
  104. package/lib/src/core-components/src/components/Table/Table.js +1357 -1
  105. package/lib/src/core-components/src/components/Table/columnReorder.d.ts +128 -0
  106. package/lib/src/core-components/src/components/Table/columnReorder.js +530 -0
  107. package/lib/src/core-components/src/components/Table/columnResize.d.ts +99 -0
  108. package/lib/src/core-components/src/components/Table/columnResize.js +399 -0
  109. package/lib/src/core-components/src/components/Table/elements.d.ts +9 -1
  110. package/lib/src/core-components/src/components/Table/elements.js +324 -155
  111. package/lib/src/core-components/src/components/Table/filters.js +555 -30
  112. package/lib/src/core-components/src/components/Table/hooks.js +536 -2
  113. package/lib/src/core-components/src/components/Table/index.d.ts +4 -0
  114. package/lib/src/core-components/src/components/Table/index.js +6 -1
  115. package/lib/src/core-components/src/components/Table/types.d.ts +58 -0
  116. package/lib/src/core-components/src/components/Table/types.js +1 -1
  117. package/lib/src/core-components/src/components/Tabs/tabs.component.js +22 -1
  118. package/lib/src/core-components/src/components/Tags1/Tags.component.js +118 -1
  119. package/lib/src/core-components/src/components/Tags1/types.js +20 -1
  120. package/lib/src/core-components/src/components/Timer1/timer.component.js +76 -1
  121. package/lib/src/core-components/src/components/Toast/Toast.js +50 -1
  122. package/lib/src/core-components/src/components/Toast/elements.js +122 -41
  123. package/lib/src/core-components/src/components/Toast/index.js +2 -1
  124. package/lib/src/core-components/src/components/Toast/types.js +9 -1
  125. package/lib/src/core-components/src/components/Tooltip/Tooltip.js +200 -1
  126. package/lib/src/core-components/src/components/Tooltip/elements.js +117 -55
  127. package/lib/src/core-components/src/components/Tooltip/index.js +2 -1
  128. package/lib/src/core-components/src/components/Tooltip/types.js +17 -1
  129. package/lib/src/core-components/src/components/Tooltip/utils.js +140 -1
  130. package/lib/src/core-components/src/components/TreeSelect/TreeSelect.js +303 -1
  131. package/lib/src/core-components/src/components/TreeSelect/elements.js +216 -117
  132. package/lib/src/core-components/src/components/TreeSelect/hooks.js +252 -1
  133. package/lib/src/core-components/src/components/TreeSelect/index.js +3 -1
  134. package/lib/src/core-components/src/components/TreeSelect/types.js +1 -1
  135. package/lib/src/core-components/src/components/ag-grid/AgGrid.d.ts +11 -0
  136. package/lib/src/core-components/src/components/ag-grid/AgGrid.js +733 -0
  137. package/lib/src/core-components/src/components/ag-grid/elements.d.ts +246 -0
  138. package/lib/src/core-components/src/components/ag-grid/elements.js +1156 -0
  139. package/lib/src/core-components/src/components/ag-grid/hooks.d.ts +196 -0
  140. package/lib/src/core-components/src/components/ag-grid/hooks.js +943 -0
  141. package/lib/src/core-components/src/components/ag-grid/index.d.ts +9 -0
  142. package/lib/src/core-components/src/components/ag-grid/index.js +13 -0
  143. package/lib/src/core-components/src/components/ag-grid/types.d.ts +1367 -0
  144. package/lib/src/core-components/src/components/ag-grid/types.js +6 -0
  145. package/lib/src/core-components/src/components/index.d.ts +1 -0
  146. package/lib/src/core-components/src/components/index.js +31 -1
  147. package/lib/src/core-components/src/components/pdf/pdf-images.components.js +7 -1
  148. package/lib/src/core-components/src/components/pdf/pdf-table.components.js +48 -5
  149. package/lib/src/core-components/src/components/pdf/pdf-typography.components.js +70 -1
  150. package/lib/src/core-components/src/components/pdf/pdf-wrapped-view.components.js +50 -1
  151. package/lib/src/core-components/src/core-components/Avatar.js +33 -4
  152. package/lib/src/core-components/src/core-components/CoreButton/CoreButton.js +10 -1
  153. package/lib/src/core-components/src/core-components/CoreButton/elements.js +176 -67
  154. package/lib/src/core-components/src/core-components/CoreButton/index.js +3 -1
  155. package/lib/src/core-components/src/core-components/CoreButton/types.js +6 -1
  156. package/lib/src/core-components/src/core-components/CoreButton/utils.js +12 -1
  157. package/lib/src/core-components/src/core-components/Divider/Divider.js +19 -4
  158. package/lib/src/core-components/src/core-components/Divider/index.js +1 -1
  159. package/lib/src/core-components/src/core-components/SelectionCardStrip/index.js +1 -1
  160. package/lib/src/core-components/src/core-components/SelectionCardStrip/selectionCardStrip.js +33 -10
  161. package/lib/src/core-components/src/core-components/StateLayer.js +5 -3
  162. package/lib/src/core-components/src/core-components/ToggleCore/elements.js +50 -25
  163. package/lib/src/core-components/src/core-components/ToggleCore/index.js +2 -1
  164. package/lib/src/core-components/src/core-components/ToggleCore/toggleCore.js +14 -1
  165. package/lib/src/core-components/src/core-components/atoms/Input/Input.js +22 -1
  166. package/lib/src/core-components/src/core-components/atoms/Label/Label.js +21 -1
  167. package/lib/src/core-components/src/core-components/atoms/Textarea/Textarea.js +19 -1
  168. package/lib/src/core-components/src/core-components/index.js +3 -1
  169. package/lib/src/core-components/src/helpers/constants.js +11 -1
  170. package/lib/src/core-components/src/hooks/index.js +1 -1
  171. package/lib/src/core-components/src/hooks/outside.hook.js +28 -1
  172. package/lib/src/core-components/src/index.js +12 -1
  173. package/lib/src/core-components/src/tc.global.css +16 -3
  174. package/lib/src/core-components/src/tc.module.css +2 -2
  175. package/lib/src/core-components/src/utils/abstracts/breakpoints/index.js +28 -1
  176. package/lib/src/core-components/src/utils/abstracts/colors/index.js +49 -1
  177. package/lib/src/core-components/src/utils/abstracts/index.js +5 -1
  178. package/lib/src/core-components/src/utils/abstracts/space/index.js +26 -1
  179. package/lib/src/core-components/src/utils/abstracts/theme/ThemeBoundary.js +8 -1
  180. package/lib/src/core-components/src/utils/abstracts/theme/default-themes.js +30 -1
  181. package/lib/src/core-components/src/utils/abstracts/theme/index.js +3 -1
  182. package/lib/src/core-components/src/utils/abstracts/theme/theme.js +30 -1
  183. package/lib/src/core-components/src/utils/abstracts/theme/types.js +1 -1
  184. package/lib/src/core-components/src/utils/abstracts/theme/useTheme.js +17 -1
  185. package/lib/src/core-components/src/utils/abstracts/typography/index.js +25 -1
  186. package/lib/src/core-components/src/utils/context/DefaultsProvider.js +8 -1
  187. package/lib/src/core-components/src/utils/context/InternalProvider.js +24 -1
  188. package/lib/src/core-components/src/utils/context/index.js +2 -1
  189. package/lib/src/core-components/src/utils/designTokens.js +125 -1
  190. package/lib/src/core-components/src/utils/helpers/attachSubComponents.js +23 -1
  191. package/lib/src/core-components/src/utils/helpers/flattenChildren.js +11 -1
  192. package/lib/src/core-components/src/utils/helpers/getChildByType.js +3 -1
  193. package/lib/src/core-components/src/utils/helpers/index.js +5 -1
  194. package/lib/src/core-components/src/utils/helpers/isComponentType.js +16 -1
  195. package/lib/src/core-components/src/utils/helpers/separateChildrenByType.js +12 -1
  196. package/lib/src/core-components/src/utils/hooks/index.js +18 -1
  197. package/lib/src/core-components/src/utils/hooks/useClickOutside.js +18 -1
  198. package/lib/src/core-components/src/utils/hooks/useCombinedRefs.js +17 -1
  199. package/lib/src/core-components/src/utils/hooks/useDebouncedCallback.js +12 -1
  200. package/lib/src/core-components/src/utils/hooks/useDebouncedValue.js +20 -1
  201. package/lib/src/core-components/src/utils/hooks/useDeprecation.js +40 -1
  202. package/lib/src/core-components/src/utils/hooks/useDeviceDetect.js +10 -1
  203. package/lib/src/core-components/src/utils/hooks/useDeviceForm.js +24 -1
  204. package/lib/src/core-components/src/utils/hooks/useDisableBodyScroll.js +16 -1
  205. package/lib/src/core-components/src/utils/hooks/useHoverState.js +36 -1
  206. package/lib/src/core-components/src/utils/hooks/useId.js +7 -1
  207. package/lib/src/core-components/src/utils/hooks/useIsBrowser.js +11 -1
  208. package/lib/src/core-components/src/utils/hooks/useMediaQuery.js +16 -1
  209. package/lib/src/core-components/src/utils/hooks/useOverflow.js +22 -1
  210. package/lib/src/core-components/src/utils/hooks/useSafeLayoutEffect.js +5 -1
  211. package/lib/src/core-components/src/utils/hooks/useScrollingUp.js +18 -1
  212. package/lib/src/core-components/src/utils/hooks/useTrapFocus.js +30 -1
  213. package/lib/src/core-components/src/utils/hooks/useWindowDimensions.js +23 -1
  214. package/lib/src/core-components/src/utils/index.js +9 -1
  215. package/lib/src/core-components/src/utils/stories/Wrappers.js +23 -8
  216. package/lib/src/core-components/src/utils/stories/cleanProps.js +5 -1
  217. package/lib/src/core-components/src/utils/stories/index.js +4 -1
  218. package/lib/src/core-components/src/utils/stories/sleep.js +4 -1
  219. package/lib/src/core-components/src/utils/stories/view-ports.js +50 -1
  220. package/lib/src/core-components/src/utils/styling/calcWidthOfColumns.js +5 -1
  221. package/lib/src/core-components/src/utils/styling/createGridContainer.js +12 -6
  222. package/lib/src/core-components/src/utils/styling/createTransition.js +7 -2
  223. package/lib/src/core-components/src/utils/styling/forwardProps.js +10 -1
  224. package/lib/src/core-components/src/utils/styling/index.js +5 -1
  225. package/lib/src/core-components/src/utils/styling/pxToRem.js +6 -1
  226. package/lib/src/core-components/src/utils/testing/getComputedStyle.js +3 -1
  227. package/lib/src/core-components/src/utils/testing/index.js +1 -1
  228. package/lib/src/core-components/src/utils/utility.util.js +14 -1
  229. package/lib/src/core-components/tailwind.config.js +233 -1
  230. package/lib/src/core-hooks/index.js +3 -1
  231. package/lib/src/core-hooks/src/useClickOutside/useClickOutside.hook.js +46 -1
  232. package/lib/src/core-hooks/src/useDebounce/useDebounce.hook.js +30 -1
  233. package/lib/src/core-hooks/src/usePreventEKey/usePreventEKey.hook.js +8 -1
  234. package/lib/src/core-utils/index.js +7 -1
  235. package/lib/src/core-utils/src/calculation/calculation.util.js +89 -1
  236. package/lib/src/core-utils/src/colors/color.util.js +15 -1
  237. package/lib/src/core-utils/src/convert/numberToWords/numToWords.util.js +145 -1
  238. package/lib/src/core-utils/src/convert/typography/camelCaseToTitleCase.util.js +5 -1
  239. package/lib/src/core-utils/src/form-helper/form-helper.util.js +82 -1
  240. package/lib/src/core-utils/src/index.js +7 -1
  241. package/lib/src/core-utils/src/utility/utility.util.js +12 -1
  242. package/lib/src/core-utils/src/uuid/uuid.util.js +8 -1
  243. package/package.json +1 -1
@@ -1 +1,26 @@
1
- "use strict";"use client";import{jsx as e,jsxs as s,Fragment as p}from"react/jsx-runtime";import I,{forwardRef as S}from"react";import{SwitchLabel as b,LabelContent as v,LabelText as j,DescriptionText as N,HiddenInput as T,SwitchTrack as F,SwitchThumb as L,IconWrapper as u}from"./elements";const P=()=>e("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"2",children:e("polyline",{points:"2 6 5 9 10 3"})}),W=()=>s("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),e("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]});export const Switch=S(function(w,C){const{label:c,labelPosition:l="right",size:i="medium",color:x="primary",checked:r,defaultChecked:g,disabled:t=!1,showIcons:a=!1,description:o,className:d,id:h,...$}=w,[y,z]=I.useState(g??!1),m=r!==void 0,n=m?r:y,f=s(p,{children:[e(T,{ref:C,type:"checkbox",role:"switch",id:h,checked:n,disabled:t,onChange:k=>{m||z(k.target.checked),$.onChange?.(k)},"aria-checked":n,...$}),s(F,{$size:i,$color:x,$checked:n,$disabled:t,$showIcons:a,"aria-hidden":"true",children:[a&&s(p,{children:[e(u,{$size:i,$position:"left",$visible:n,children:e(P,{})}),e(u,{$size:i,$position:"right",$visible:!n,children:e(W,{})})]}),e(L,{$size:i,$checked:n})]})]});return!c&&!o?e(b,{$labelPosition:l,$disabled:t,"data-aui":"switch",className:d,children:f}):s(b,{$labelPosition:l,$disabled:t,"data-aui":"switch",className:d,htmlFor:h,children:[f,s(v,{$size:i,children:[c&&e(j,{$size:i,children:c}),o&&e(N,{$size:i,children:o})]})]})});Switch.displayName="Switch";
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import React, { forwardRef } from 'react';
4
+ import { SwitchLabel, LabelContent, LabelText, DescriptionText, HiddenInput, SwitchTrack, SwitchThumb, IconWrapper, } from './elements';
5
+ // Icons
6
+ const CheckIcon = () => (_jsx("svg", { viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("polyline", { points: "2 6 5 9 10 3" }) }));
7
+ const CloseIcon = () => (_jsxs("svg", { viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("line", { x1: "3", y1: "3", x2: "9", y2: "9" }), _jsx("line", { x1: "9", y1: "3", x2: "3", y2: "9" })] }));
8
+ export const Switch = forwardRef(function SwitchComponent(props, ref) {
9
+ const { label, labelPosition = 'right', size = 'medium', color = 'primary', checked, defaultChecked, disabled = false, showIcons = false, description, className, id, ...rest } = props;
10
+ // Use internal state if uncontrolled
11
+ const [internalChecked, setInternalChecked] = React.useState(defaultChecked ?? false);
12
+ const isControlled = checked !== undefined;
13
+ const isChecked = isControlled ? checked : internalChecked;
14
+ const handleChange = (e) => {
15
+ if (!isControlled) {
16
+ setInternalChecked(e.target.checked);
17
+ }
18
+ rest.onChange?.(e);
19
+ };
20
+ const switchElement = (_jsxs(_Fragment, { children: [_jsx(HiddenInput, { ref: ref, type: "checkbox", role: "switch", id: id, checked: isChecked, disabled: disabled, onChange: handleChange, "aria-checked": isChecked, ...rest }), _jsxs(SwitchTrack, { "$size": size, "$color": color, "$checked": isChecked, "$disabled": disabled, "$showIcons": showIcons, "aria-hidden": "true", children: [showIcons && (_jsxs(_Fragment, { children: [_jsx(IconWrapper, { "$size": size, "$position": "left", "$visible": isChecked, children: _jsx(CheckIcon, {}) }), _jsx(IconWrapper, { "$size": size, "$position": "right", "$visible": !isChecked, children: _jsx(CloseIcon, {}) })] })), _jsx(SwitchThumb, { "$size": size, "$checked": isChecked })] })] }));
21
+ if (!label && !description) {
22
+ return (_jsx(SwitchLabel, { "$labelPosition": labelPosition, "$disabled": disabled, "data-aui": "switch", className: className, children: switchElement }));
23
+ }
24
+ return (_jsxs(SwitchLabel, { "$labelPosition": labelPosition, "$disabled": disabled, "data-aui": "switch", className: className, htmlFor: id, children: [switchElement, _jsxs(LabelContent, { "$size": size, children: [label && _jsx(LabelText, { "$size": size, children: label }), description && _jsx(DescriptionText, { "$size": size, children: description })] })] }));
25
+ });
26
+ Switch.displayName = 'Switch';
@@ -1,33 +1,93 @@
1
- "use strict";import{styled as i,css as n}from"styled-components";import{tokens as r}from"../../utils/designTokens";const t={small:{trackWidth:"36px",trackHeight:"20px",thumbSize:"16px",thumbOffset:"2px",fontSize:"0.8125rem",iconSize:"10px"},medium:{trackWidth:"44px",trackHeight:"24px",thumbSize:"20px",thumbOffset:"2px",fontSize:"0.875rem",iconSize:"12px"},large:{trackWidth:"52px",trackHeight:"28px",thumbSize:"24px",thumbOffset:"2px",fontSize:"1rem",iconSize:"14px"}},c={primary:{checked:r.primary||"#454cbf",hover:"#3d44a5"},success:{checked:"#10b981",hover:"#059669"},warning:{checked:"#f59e0b",hover:"#d97706"},error:{checked:"#ef4444",hover:"#dc2626"},neutral:{checked:"#6b7280",hover:"#4b5563"}};export const SwitchLabel=i.label`
1
+ import { styled, css } from 'styled-components';
2
+ import { tokens } from '../../utils/designTokens';
3
+ // Size configurations
4
+ const sizeConfig = {
5
+ small: {
6
+ trackWidth: '36px',
7
+ trackHeight: '20px',
8
+ thumbSize: '16px',
9
+ thumbOffset: '2px',
10
+ fontSize: '0.8125rem',
11
+ iconSize: '10px',
12
+ },
13
+ medium: {
14
+ trackWidth: '44px',
15
+ trackHeight: '24px',
16
+ thumbSize: '20px',
17
+ thumbOffset: '2px',
18
+ fontSize: '0.875rem',
19
+ iconSize: '12px',
20
+ },
21
+ large: {
22
+ trackWidth: '52px',
23
+ trackHeight: '28px',
24
+ thumbSize: '24px',
25
+ thumbOffset: '2px',
26
+ fontSize: '1rem',
27
+ iconSize: '14px',
28
+ },
29
+ };
30
+ // Color configurations
31
+ const colorConfig = {
32
+ primary: {
33
+ checked: tokens.primary || '#454cbf',
34
+ hover: '#3d44a5',
35
+ },
36
+ success: {
37
+ checked: '#10b981',
38
+ hover: '#059669',
39
+ },
40
+ warning: {
41
+ checked: '#f59e0b',
42
+ hover: '#d97706',
43
+ },
44
+ error: {
45
+ checked: '#ef4444',
46
+ hover: '#dc2626',
47
+ },
48
+ neutral: {
49
+ checked: '#6b7280',
50
+ hover: '#4b5563',
51
+ },
52
+ };
53
+ export const SwitchLabel = styled.label `
2
54
  display: inline-flex;
3
55
  align-items: flex-start;
4
- gap: ${r.spacing150||"0.75rem"};
5
- cursor: ${({$disabled:e})=>e?"not-allowed":"pointer"};
56
+ gap: ${tokens.spacing150 || '0.75rem'};
57
+ cursor: ${({ $disabled }) => ($disabled ? 'not-allowed' : 'pointer')};
6
58
  user-select: none;
7
59
 
8
- ${({$labelPosition:e})=>e==="left"?n`
60
+ ${({ $labelPosition }) => $labelPosition === 'left'
61
+ ? css `
9
62
  flex-direction: row;
10
- `:n`
63
+ `
64
+ : css `
11
65
  flex-direction: row-reverse;
12
66
  `}
13
67
 
14
- ${({$disabled:e})=>e&&n`
68
+ ${({ $disabled }) => $disabled &&
69
+ css `
15
70
  opacity: 0.5;
16
71
  `}
17
- `,LabelContent=i.div`
72
+ `;
73
+ export const LabelContent = styled.div `
18
74
  display: flex;
19
75
  flex-direction: column;
20
76
  gap: 2px;
21
- `,LabelText=i.span`
22
- font-size: ${({$size:e})=>t[e].fontSize};
77
+ `;
78
+ export const LabelText = styled.span `
79
+ font-size: ${({ $size }) => sizeConfig[$size].fontSize};
23
80
  font-weight: 500;
24
81
  line-height: 1.4;
25
- color: ${r.onSurface||"#1a1a2e"};
26
- `,DescriptionText=i.span`
27
- font-size: ${({$size:e})=>e==="small"?"0.6875rem":e==="large"?"0.875rem":"0.75rem"};
28
- color: ${r.onSurface?`${r.onSurface}80`:"#6c757d"};
82
+ color: ${tokens.onSurface || '#1a1a2e'};
83
+ `;
84
+ export const DescriptionText = styled.span `
85
+ font-size: ${({ $size }) => $size === 'small' ? '0.6875rem' :
86
+ $size === 'large' ? '0.875rem' : '0.75rem'};
87
+ color: ${tokens.onSurface ? `${tokens.onSurface}80` : '#6c757d'};
29
88
  line-height: 1.4;
30
- `,HiddenInput=i.input`
89
+ `;
90
+ export const HiddenInput = styled.input `
31
91
  position: absolute;
32
92
  width: 1px;
33
93
  height: 1px;
@@ -37,57 +97,66 @@
37
97
  clip: rect(0, 0, 0, 0);
38
98
  white-space: nowrap;
39
99
  border: 0;
40
- `,SwitchTrack=i.span`
100
+ `;
101
+ export const SwitchTrack = styled.span `
41
102
  position: relative;
42
103
  display: inline-flex;
43
104
  align-items: center;
44
- width: ${({$size:e})=>t[e].trackWidth};
45
- height: ${({$size:e})=>t[e].trackHeight};
105
+ width: ${({ $size }) => sizeConfig[$size].trackWidth};
106
+ height: ${({ $size }) => sizeConfig[$size].trackHeight};
46
107
  border-radius: 9999px;
47
- background-color: ${({$checked:e,$color:o})=>e?c[o].checked:r.outline||"#d1d5db"};
108
+ background-color: ${({ $checked, $color }) => $checked ? colorConfig[$color].checked : (tokens.outline || '#d1d5db')};
48
109
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
49
110
  flex-shrink: 0;
50
111
 
51
112
  /* Focus ring */
52
113
  ${HiddenInput}:focus-visible + & {
53
- box-shadow: 0 0 0 2px ${r.surface||"#fff"},
54
- 0 0 0 4px ${({$color:e})=>c[e].checked};
114
+ box-shadow: 0 0 0 2px ${tokens.surface || '#fff'},
115
+ 0 0 0 4px ${({ $color }) => colorConfig[$color].checked};
55
116
  }
56
117
 
57
118
  /* Hover state */
58
- ${({$disabled:e,$checked:o,$color:a})=>!e&&n`
119
+ ${({ $disabled, $checked, $color }) => !$disabled &&
120
+ css `
59
121
  &:hover {
60
- background-color: ${o?c[a].hover:r.outlineSoft||"#9ca3af"};
122
+ background-color: ${$checked
123
+ ? colorConfig[$color].hover
124
+ : (tokens.outlineSoft || '#9ca3af')};
61
125
  }
62
126
  `}
63
- `,SwitchThumb=i.span`
127
+ `;
128
+ export const SwitchThumb = styled.span `
64
129
  position: absolute;
65
- width: ${({$size:e})=>t[e].thumbSize};
66
- height: ${({$size:e})=>t[e].thumbSize};
130
+ width: ${({ $size }) => sizeConfig[$size].thumbSize};
131
+ height: ${({ $size }) => sizeConfig[$size].thumbSize};
67
132
  background-color: white;
68
133
  border-radius: 50%;
69
134
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.1);
70
135
  transition: transform 0.2s ease;
71
136
 
72
- left: ${({$size:e})=>t[e].thumbOffset};
137
+ left: ${({ $size }) => sizeConfig[$size].thumbOffset};
73
138
 
74
- ${({$checked:e,$size:o})=>e&&n`
75
- transform: translateX(calc(${t[o].trackWidth} - ${t[o].thumbSize} - ${t[o].thumbOffset} * 2));
139
+ ${({ $checked, $size }) => $checked &&
140
+ css `
141
+ transform: translateX(calc(${sizeConfig[$size].trackWidth} - ${sizeConfig[$size].thumbSize} - ${sizeConfig[$size].thumbOffset} * 2));
76
142
  `}
77
- `,IconWrapper=i.span`
143
+ `;
144
+ export const IconWrapper = styled.span `
78
145
  position: absolute;
79
146
  display: flex;
80
147
  align-items: center;
81
148
  justify-content: center;
82
- width: ${({$size:e})=>t[e].iconSize};
83
- height: ${({$size:e})=>t[e].iconSize};
149
+ width: ${({ $size }) => sizeConfig[$size].iconSize};
150
+ height: ${({ $size }) => sizeConfig[$size].iconSize};
84
151
  color: white;
85
- opacity: ${({$visible:e})=>e?1:0};
152
+ opacity: ${({ $visible }) => ($visible ? 1 : 0)};
86
153
  transition: opacity 0.2s ease;
87
154
 
88
- ${({$position:e,$size:o})=>e==="left"?n`
155
+ ${({ $position, $size }) => $position === 'left'
156
+ ? css `
89
157
  left: 6px;
90
- `:n`
158
+ `
159
+ : css `
91
160
  right: 6px;
92
161
  `}
93
162
 
@@ -1 +1,2 @@
1
- "use strict";export{Switch}from"./Switch";export*from"./types";
1
+ export { Switch } from './Switch';
2
+ export * from './types';
@@ -1 +1,3 @@
1
- "use strict";export const SWITCH_SIZES=["small","medium","large"],SWITCH_COLORS=["primary","success","warning","error","neutral"],SWITCH_LABEL_POSITIONS=["left","right"];
1
+ export const SWITCH_SIZES = ['small', 'medium', 'large'];
2
+ export const SWITCH_COLORS = ['primary', 'success', 'warning', 'error', 'neutral'];
3
+ export const SWITCH_LABEL_POSITIONS = ['left', 'right'];