@pk-design/react-tailwind 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/dist/cjs/components/Accordion/Accordion.js +61 -0
  2. package/dist/cjs/components/Accordion/Accordion.js.map +1 -0
  3. package/dist/cjs/components/ActionSheet/ActionSheet.js +38 -0
  4. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -0
  5. package/dist/cjs/components/Alert/Alert.js +34 -0
  6. package/dist/cjs/components/Alert/Alert.js.map +1 -0
  7. package/dist/cjs/components/Badge/Badge.js +33 -0
  8. package/dist/cjs/components/Badge/Badge.js.map +1 -0
  9. package/dist/cjs/components/Banner/Banner.js +41 -0
  10. package/dist/cjs/components/Banner/Banner.js.map +1 -0
  11. package/dist/cjs/components/BodyText/BodyText.js +59 -0
  12. package/dist/cjs/components/BodyText/BodyText.js.map +1 -0
  13. package/dist/cjs/components/BottomNavigation/BottomNavigation.js +52 -0
  14. package/dist/cjs/components/BottomNavigation/BottomNavigation.js.map +1 -0
  15. package/dist/cjs/components/Breadcrumb/Breadcrumb.js +63 -0
  16. package/dist/cjs/components/Breadcrumb/Breadcrumb.js.map +1 -0
  17. package/dist/cjs/components/Button/Button.js +118 -0
  18. package/dist/cjs/components/Button/Button.js.map +1 -0
  19. package/dist/cjs/components/ButtonGroup/ButtonGroup.js +100 -0
  20. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -0
  21. package/dist/cjs/components/Card/Card.js +65 -0
  22. package/dist/cjs/components/Card/Card.js.map +1 -0
  23. package/dist/cjs/components/Checkbox/Checkbox.js +64 -0
  24. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -0
  25. package/dist/cjs/components/CheckboxGroup/CheckboxGroup.js +82 -0
  26. package/dist/cjs/components/CheckboxGroup/CheckboxGroup.js.map +1 -0
  27. package/dist/cjs/components/DataList/DataList.js +287 -0
  28. package/dist/cjs/components/DataList/DataList.js.map +1 -0
  29. package/dist/cjs/components/DataTable/DataTable.icons.js +20 -0
  30. package/dist/cjs/components/DataTable/DataTable.icons.js.map +1 -0
  31. package/dist/cjs/components/DataTable/DataTable.js +110 -0
  32. package/dist/cjs/components/DataTable/DataTable.js.map +1 -0
  33. package/dist/cjs/components/DataTable/DataTable.utils.js +87 -0
  34. package/dist/cjs/components/DataTable/DataTable.utils.js.map +1 -0
  35. package/dist/cjs/components/DetailedInformation/DetailedInformation.js +67 -0
  36. package/dist/cjs/components/DetailedInformation/DetailedInformation.js.map +1 -0
  37. package/dist/cjs/components/Dot/index.js +12 -0
  38. package/dist/cjs/components/Dot/index.js.map +1 -0
  39. package/dist/cjs/components/Drawer/Drawer.js +67 -0
  40. package/dist/cjs/components/Drawer/Drawer.js.map +1 -0
  41. package/dist/cjs/components/Dropdown/Dropdown.js +50 -0
  42. package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -0
  43. package/dist/cjs/components/EmptyState/index.js +14 -0
  44. package/dist/cjs/components/EmptyState/index.js.map +1 -0
  45. package/dist/cjs/components/Flex/Flex.js +25 -0
  46. package/dist/cjs/components/Flex/Flex.js.map +1 -0
  47. package/dist/cjs/components/FloatingActionButton/FloatingActionButton.js +71 -0
  48. package/dist/cjs/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
  49. package/dist/cjs/components/Grid/Grid.js +33 -0
  50. package/dist/cjs/components/Grid/Grid.js.map +1 -0
  51. package/dist/cjs/components/HeadingText/HeadingText.js +89 -0
  52. package/dist/cjs/components/HeadingText/HeadingText.js.map +1 -0
  53. package/dist/cjs/components/Icons/ArrowDownAZ.svg.js +46 -0
  54. package/dist/cjs/components/Icons/ArrowDownAZ.svg.js.map +1 -0
  55. package/dist/cjs/components/Icons/ArrowDownNarrowWide.svg.js +46 -0
  56. package/dist/cjs/components/Icons/ArrowDownNarrowWide.svg.js.map +1 -0
  57. package/dist/cjs/components/Icons/ArrowDownWideNarrow.svg.js +46 -0
  58. package/dist/cjs/components/Icons/ArrowDownWideNarrow.svg.js.map +1 -0
  59. package/dist/cjs/components/Icons/ArrowDownZA.svg.js +46 -0
  60. package/dist/cjs/components/Icons/ArrowDownZA.svg.js.map +1 -0
  61. package/dist/cjs/components/Icons/ArrowUpDown.svg.js +46 -0
  62. package/dist/cjs/components/Icons/ArrowUpDown.svg.js.map +1 -0
  63. package/dist/cjs/components/Icons/BadgeCheck.svg.js +48 -0
  64. package/dist/cjs/components/Icons/BadgeCheck.svg.js.map +1 -0
  65. package/dist/cjs/components/Icons/Check.svg.js +46 -0
  66. package/dist/cjs/components/Icons/Check.svg.js.map +1 -0
  67. package/dist/cjs/components/Icons/ChevronDown.svg.js +46 -0
  68. package/dist/cjs/components/Icons/ChevronDown.svg.js.map +1 -0
  69. package/dist/cjs/components/Icons/ChevronLeft.svg.js +46 -0
  70. package/dist/cjs/components/Icons/ChevronLeft.svg.js.map +1 -0
  71. package/dist/cjs/components/Icons/ChevronRight.svg.js +46 -0
  72. package/dist/cjs/components/Icons/ChevronRight.svg.js.map +1 -0
  73. package/dist/cjs/components/Icons/CircleAlert.svg.js +50 -0
  74. package/dist/cjs/components/Icons/CircleAlert.svg.js.map +1 -0
  75. package/dist/cjs/components/Icons/CircleCheck.svg.js +50 -0
  76. package/dist/cjs/components/Icons/CircleCheck.svg.js.map +1 -0
  77. package/dist/cjs/components/Icons/CirclePlus.svg.js +50 -0
  78. package/dist/cjs/components/Icons/CirclePlus.svg.js.map +1 -0
  79. package/dist/cjs/components/Icons/CircleX.svg.js +50 -0
  80. package/dist/cjs/components/Icons/CircleX.svg.js.map +1 -0
  81. package/dist/cjs/components/Icons/FolderPlus.svg.js +46 -0
  82. package/dist/cjs/components/Icons/FolderPlus.svg.js.map +1 -0
  83. package/dist/cjs/components/Icons/Info.svg.js +50 -0
  84. package/dist/cjs/components/Icons/Info.svg.js.map +1 -0
  85. package/dist/cjs/components/Icons/Search.svg.js +50 -0
  86. package/dist/cjs/components/Icons/Search.svg.js.map +1 -0
  87. package/dist/cjs/components/Icons/Slash.svg.js +46 -0
  88. package/dist/cjs/components/Icons/Slash.svg.js.map +1 -0
  89. package/dist/cjs/components/Icons/TriangleAlert.svg.js +46 -0
  90. package/dist/cjs/components/Icons/TriangleAlert.svg.js.map +1 -0
  91. package/dist/cjs/components/Icons/X.svg.js +46 -0
  92. package/dist/cjs/components/Icons/X.svg.js.map +1 -0
  93. package/dist/cjs/components/Input/Input.js +85 -0
  94. package/dist/cjs/components/Input/Input.js.map +1 -0
  95. package/dist/cjs/components/Label/Label.js +14 -0
  96. package/dist/cjs/components/Label/Label.js.map +1 -0
  97. package/dist/cjs/components/Loader/index.js +18 -0
  98. package/dist/cjs/components/Loader/index.js.map +1 -0
  99. package/dist/cjs/components/MobileHeader/MobileHeader.js +45 -0
  100. package/dist/cjs/components/MobileHeader/MobileHeader.js.map +1 -0
  101. package/dist/cjs/components/MobilePicker/MobilePicker.js +368 -0
  102. package/dist/cjs/components/MobilePicker/MobilePicker.js.map +1 -0
  103. package/dist/cjs/components/MobileStepper/MobileStepper.js +33 -0
  104. package/dist/cjs/components/MobileStepper/MobileStepper.js.map +1 -0
  105. package/dist/cjs/components/Pagination/Pagination.js +33 -0
  106. package/dist/cjs/components/Pagination/Pagination.js.map +1 -0
  107. package/dist/cjs/components/Pagination/usePagination.js +33 -0
  108. package/dist/cjs/components/Pagination/usePagination.js.map +1 -0
  109. package/dist/cjs/components/PasswordInput/PasswordInput.js +56 -0
  110. package/dist/cjs/components/PasswordInput/PasswordInput.js.map +1 -0
  111. package/dist/cjs/components/PinInput/PinInput.js +98 -0
  112. package/dist/cjs/components/PinInput/PinInput.js.map +1 -0
  113. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +83 -0
  114. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -0
  115. package/dist/cjs/components/QuantityStepper/QuantityStepper.js +77 -0
  116. package/dist/cjs/components/QuantityStepper/QuantityStepper.js.map +1 -0
  117. package/dist/cjs/components/Radio/Radio.js +34 -0
  118. package/dist/cjs/components/Radio/Radio.js.map +1 -0
  119. package/dist/cjs/components/RadioGroup/RadioGroup.js +50 -0
  120. package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -0
  121. package/dist/cjs/components/RadioSwitch/RadioSwitch.js +116 -0
  122. package/dist/cjs/components/RadioSwitch/RadioSwitch.js.map +1 -0
  123. package/dist/cjs/components/RangeInput/RangeInput.js +66 -0
  124. package/dist/cjs/components/RangeInput/RangeInput.js.map +1 -0
  125. package/dist/cjs/components/RangeSlider/RangeSlider.js +167 -0
  126. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -0
  127. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +64 -0
  128. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -0
  129. package/dist/cjs/components/SelectBox/SelectBox.js +305 -0
  130. package/dist/cjs/components/SelectBox/SelectBox.js.map +1 -0
  131. package/dist/cjs/components/Skeleton/Skeleton.js +36 -0
  132. package/dist/cjs/components/Skeleton/Skeleton.js.map +1 -0
  133. package/dist/cjs/components/StatusPill/StatusPill.js +46 -0
  134. package/dist/cjs/components/StatusPill/StatusPill.js.map +1 -0
  135. package/dist/cjs/components/StickyActionBar/StickyActionBar.js +22 -0
  136. package/dist/cjs/components/StickyActionBar/StickyActionBar.js.map +1 -0
  137. package/dist/cjs/components/SwipeableRow/SwipeableRow.js +187 -0
  138. package/dist/cjs/components/SwipeableRow/SwipeableRow.js.map +1 -0
  139. package/dist/cjs/components/SwipeableTabs/SwipeableTabs.js +91 -0
  140. package/dist/cjs/components/SwipeableTabs/SwipeableTabs.js.map +1 -0
  141. package/dist/cjs/components/Table/Table.js +57 -0
  142. package/dist/cjs/components/Table/Table.js.map +1 -0
  143. package/dist/cjs/components/Tabs/Tabs.js +53 -0
  144. package/dist/cjs/components/Tabs/Tabs.js.map +1 -0
  145. package/dist/cjs/components/TextContent/TextContent.js +47 -0
  146. package/dist/cjs/components/TextContent/TextContent.js.map +1 -0
  147. package/dist/cjs/components/Textarea/Textarea.js +64 -0
  148. package/dist/cjs/components/Textarea/Textarea.js.map +1 -0
  149. package/dist/cjs/components/Toast/Toast.js +96 -0
  150. package/dist/cjs/components/Toast/Toast.js.map +1 -0
  151. package/dist/cjs/components/Toast/ToastProvider.js +151 -0
  152. package/dist/cjs/components/Toast/ToastProvider.js.map +1 -0
  153. package/dist/cjs/components/VirtualizedDataTable/VirtualizedDataTable.js +122 -0
  154. package/dist/cjs/components/VirtualizedDataTable/VirtualizedDataTable.js.map +1 -0
  155. package/dist/cjs/components/VirtualizedDataTable/VirtualizedRow.js +48 -0
  156. package/dist/cjs/components/VirtualizedDataTable/VirtualizedRow.js.map +1 -0
  157. package/dist/cjs/components/WheelPicker/WheelPicker.js +82 -0
  158. package/dist/cjs/components/WheelPicker/WheelPicker.js.map +1 -0
  159. package/dist/cjs/components/common-responsive.js +310 -0
  160. package/dist/cjs/components/common-responsive.js.map +1 -0
  161. package/dist/cjs/hooks/use-debounce.js +31 -0
  162. package/dist/cjs/hooks/use-debounce.js.map +1 -0
  163. package/dist/cjs/hooks/use-is-mobile.js +24 -0
  164. package/dist/cjs/hooks/use-is-mobile.js.map +1 -0
  165. package/dist/cjs/hooks/use-is-tablet-or-mobile.js +13 -0
  166. package/dist/cjs/hooks/use-is-tablet-or-mobile.js.map +1 -0
  167. package/dist/cjs/hooks/use-is-tablet.js +21 -0
  168. package/dist/cjs/hooks/use-is-tablet.js.map +1 -0
  169. package/dist/cjs/index.js +163 -0
  170. package/dist/cjs/index.js.map +1 -0
  171. package/dist/cjs/react-tailwind.css +2 -0
  172. package/dist/cjs/react-tailwind.css.map +1 -0
  173. package/dist/cjs/utils/build-classname.js +8 -0
  174. package/dist/cjs/utils/build-classname.js.map +1 -0
  175. package/dist/cjs/utils/get.js +20 -0
  176. package/dist/cjs/utils/get.js.map +1 -0
  177. package/dist/cjs/utils/is-array.js +12 -0
  178. package/dist/cjs/utils/is-array.js.map +1 -0
  179. package/dist/cjs/utils/is-empty.js +26 -0
  180. package/dist/cjs/utils/is-empty.js.map +1 -0
  181. package/dist/es/components/Accordion/Accordion.js +59 -0
  182. package/dist/es/components/Accordion/Accordion.js.map +1 -0
  183. package/dist/es/components/ActionSheet/ActionSheet.js +36 -0
  184. package/dist/es/components/ActionSheet/ActionSheet.js.map +1 -0
  185. package/dist/es/components/Alert/Alert.js +32 -0
  186. package/dist/es/components/Alert/Alert.js.map +1 -0
  187. package/dist/es/components/Badge/Badge.js +31 -0
  188. package/dist/es/components/Badge/Badge.js.map +1 -0
  189. package/dist/es/components/Banner/Banner.js +39 -0
  190. package/dist/es/components/Banner/Banner.js.map +1 -0
  191. package/dist/es/components/BodyText/BodyText.js +57 -0
  192. package/dist/es/components/BodyText/BodyText.js.map +1 -0
  193. package/dist/es/components/BottomNavigation/BottomNavigation.js +50 -0
  194. package/dist/es/components/BottomNavigation/BottomNavigation.js.map +1 -0
  195. package/dist/es/components/Breadcrumb/Breadcrumb.js +61 -0
  196. package/dist/es/components/Breadcrumb/Breadcrumb.js.map +1 -0
  197. package/dist/es/components/Button/Button.js +116 -0
  198. package/dist/es/components/Button/Button.js.map +1 -0
  199. package/dist/es/components/ButtonGroup/ButtonGroup.js +98 -0
  200. package/dist/es/components/ButtonGroup/ButtonGroup.js.map +1 -0
  201. package/dist/es/components/Card/Card.js +57 -0
  202. package/dist/es/components/Card/Card.js.map +1 -0
  203. package/dist/es/components/Checkbox/Checkbox.js +62 -0
  204. package/dist/es/components/Checkbox/Checkbox.js.map +1 -0
  205. package/dist/es/components/CheckboxGroup/CheckboxGroup.js +80 -0
  206. package/dist/es/components/CheckboxGroup/CheckboxGroup.js.map +1 -0
  207. package/dist/es/components/DataList/DataList.js +285 -0
  208. package/dist/es/components/DataList/DataList.js.map +1 -0
  209. package/dist/es/components/DataTable/DataTable.icons.js +17 -0
  210. package/dist/es/components/DataTable/DataTable.icons.js.map +1 -0
  211. package/dist/es/components/DataTable/DataTable.js +108 -0
  212. package/dist/es/components/DataTable/DataTable.js.map +1 -0
  213. package/dist/es/components/DataTable/DataTable.utils.js +83 -0
  214. package/dist/es/components/DataTable/DataTable.utils.js.map +1 -0
  215. package/dist/es/components/DetailedInformation/DetailedInformation.js +65 -0
  216. package/dist/es/components/DetailedInformation/DetailedInformation.js.map +1 -0
  217. package/dist/es/components/Dot/index.js +10 -0
  218. package/dist/es/components/Dot/index.js.map +1 -0
  219. package/dist/es/components/Drawer/Drawer.js +65 -0
  220. package/dist/es/components/Drawer/Drawer.js.map +1 -0
  221. package/dist/es/components/Dropdown/Dropdown.js +48 -0
  222. package/dist/es/components/Dropdown/Dropdown.js.map +1 -0
  223. package/dist/es/components/EmptyState/index.js +12 -0
  224. package/dist/es/components/EmptyState/index.js.map +1 -0
  225. package/dist/es/components/Flex/Flex.js +22 -0
  226. package/dist/es/components/Flex/Flex.js.map +1 -0
  227. package/dist/es/components/FloatingActionButton/FloatingActionButton.js +69 -0
  228. package/dist/es/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
  229. package/dist/es/components/Grid/Grid.js +30 -0
  230. package/dist/es/components/Grid/Grid.js.map +1 -0
  231. package/dist/es/components/HeadingText/HeadingText.js +87 -0
  232. package/dist/es/components/HeadingText/HeadingText.js.map +1 -0
  233. package/dist/es/components/Icons/ArrowDownAZ.svg.js +23 -0
  234. package/dist/es/components/Icons/ArrowDownAZ.svg.js.map +1 -0
  235. package/dist/es/components/Icons/ArrowDownNarrowWide.svg.js +23 -0
  236. package/dist/es/components/Icons/ArrowDownNarrowWide.svg.js.map +1 -0
  237. package/dist/es/components/Icons/ArrowDownWideNarrow.svg.js +23 -0
  238. package/dist/es/components/Icons/ArrowDownWideNarrow.svg.js.map +1 -0
  239. package/dist/es/components/Icons/ArrowDownZA.svg.js +23 -0
  240. package/dist/es/components/Icons/ArrowDownZA.svg.js.map +1 -0
  241. package/dist/es/components/Icons/ArrowUpDown.svg.js +23 -0
  242. package/dist/es/components/Icons/ArrowUpDown.svg.js.map +1 -0
  243. package/dist/es/components/Icons/BadgeCheck.svg.js +25 -0
  244. package/dist/es/components/Icons/BadgeCheck.svg.js.map +1 -0
  245. package/dist/es/components/Icons/Check.svg.js +23 -0
  246. package/dist/es/components/Icons/Check.svg.js.map +1 -0
  247. package/dist/es/components/Icons/ChevronDown.svg.js +23 -0
  248. package/dist/es/components/Icons/ChevronDown.svg.js.map +1 -0
  249. package/dist/es/components/Icons/ChevronLeft.svg.js +23 -0
  250. package/dist/es/components/Icons/ChevronLeft.svg.js.map +1 -0
  251. package/dist/es/components/Icons/ChevronRight.svg.js +23 -0
  252. package/dist/es/components/Icons/ChevronRight.svg.js.map +1 -0
  253. package/dist/es/components/Icons/CircleAlert.svg.js +27 -0
  254. package/dist/es/components/Icons/CircleAlert.svg.js.map +1 -0
  255. package/dist/es/components/Icons/CircleCheck.svg.js +27 -0
  256. package/dist/es/components/Icons/CircleCheck.svg.js.map +1 -0
  257. package/dist/es/components/Icons/CirclePlus.svg.js +27 -0
  258. package/dist/es/components/Icons/CirclePlus.svg.js.map +1 -0
  259. package/dist/es/components/Icons/CircleX.svg.js +27 -0
  260. package/dist/es/components/Icons/CircleX.svg.js.map +1 -0
  261. package/dist/es/components/Icons/FolderPlus.svg.js +23 -0
  262. package/dist/es/components/Icons/FolderPlus.svg.js.map +1 -0
  263. package/dist/es/components/Icons/Info.svg.js +27 -0
  264. package/dist/es/components/Icons/Info.svg.js.map +1 -0
  265. package/dist/es/components/Icons/Search.svg.js +27 -0
  266. package/dist/es/components/Icons/Search.svg.js.map +1 -0
  267. package/dist/es/components/Icons/Slash.svg.js +23 -0
  268. package/dist/es/components/Icons/Slash.svg.js.map +1 -0
  269. package/dist/es/components/Icons/TriangleAlert.svg.js +23 -0
  270. package/dist/es/components/Icons/TriangleAlert.svg.js.map +1 -0
  271. package/dist/es/components/Icons/X.svg.js +23 -0
  272. package/dist/es/components/Icons/X.svg.js.map +1 -0
  273. package/dist/es/components/Input/Input.js +82 -0
  274. package/dist/es/components/Input/Input.js.map +1 -0
  275. package/dist/es/components/Label/Label.js +12 -0
  276. package/dist/es/components/Label/Label.js.map +1 -0
  277. package/dist/es/components/Loader/index.js +16 -0
  278. package/dist/es/components/Loader/index.js.map +1 -0
  279. package/dist/es/components/MobileHeader/MobileHeader.js +43 -0
  280. package/dist/es/components/MobileHeader/MobileHeader.js.map +1 -0
  281. package/dist/es/components/MobilePicker/MobilePicker.js +366 -0
  282. package/dist/es/components/MobilePicker/MobilePicker.js.map +1 -0
  283. package/dist/es/components/MobileStepper/MobileStepper.js +31 -0
  284. package/dist/es/components/MobileStepper/MobileStepper.js.map +1 -0
  285. package/dist/es/components/Pagination/Pagination.js +31 -0
  286. package/dist/es/components/Pagination/Pagination.js.map +1 -0
  287. package/dist/es/components/Pagination/usePagination.js +30 -0
  288. package/dist/es/components/Pagination/usePagination.js.map +1 -0
  289. package/dist/es/components/PasswordInput/PasswordInput.js +51 -0
  290. package/dist/es/components/PasswordInput/PasswordInput.js.map +1 -0
  291. package/dist/es/components/PinInput/PinInput.js +96 -0
  292. package/dist/es/components/PinInput/PinInput.js.map +1 -0
  293. package/dist/es/components/PullToRefresh/PullToRefresh.js +81 -0
  294. package/dist/es/components/PullToRefresh/PullToRefresh.js.map +1 -0
  295. package/dist/es/components/QuantityStepper/QuantityStepper.js +75 -0
  296. package/dist/es/components/QuantityStepper/QuantityStepper.js.map +1 -0
  297. package/dist/es/components/Radio/Radio.js +32 -0
  298. package/dist/es/components/Radio/Radio.js.map +1 -0
  299. package/dist/es/components/RadioGroup/RadioGroup.js +48 -0
  300. package/dist/es/components/RadioGroup/RadioGroup.js.map +1 -0
  301. package/dist/es/components/RadioSwitch/RadioSwitch.js +114 -0
  302. package/dist/es/components/RadioSwitch/RadioSwitch.js.map +1 -0
  303. package/dist/es/components/RangeInput/RangeInput.js +64 -0
  304. package/dist/es/components/RangeInput/RangeInput.js.map +1 -0
  305. package/dist/es/components/RangeSlider/RangeSlider.js +165 -0
  306. package/dist/es/components/RangeSlider/RangeSlider.js.map +1 -0
  307. package/dist/es/components/SegmentedControl/SegmentedControl.js +62 -0
  308. package/dist/es/components/SegmentedControl/SegmentedControl.js.map +1 -0
  309. package/dist/es/components/SelectBox/SelectBox.js +303 -0
  310. package/dist/es/components/SelectBox/SelectBox.js.map +1 -0
  311. package/dist/es/components/Skeleton/Skeleton.js +34 -0
  312. package/dist/es/components/Skeleton/Skeleton.js.map +1 -0
  313. package/dist/es/components/StatusPill/StatusPill.js +44 -0
  314. package/dist/es/components/StatusPill/StatusPill.js.map +1 -0
  315. package/dist/es/components/StickyActionBar/StickyActionBar.js +20 -0
  316. package/dist/es/components/StickyActionBar/StickyActionBar.js.map +1 -0
  317. package/dist/es/components/SwipeableRow/SwipeableRow.js +185 -0
  318. package/dist/es/components/SwipeableRow/SwipeableRow.js.map +1 -0
  319. package/dist/es/components/SwipeableTabs/SwipeableTabs.js +89 -0
  320. package/dist/es/components/SwipeableTabs/SwipeableTabs.js.map +1 -0
  321. package/dist/es/components/Table/Table.js +48 -0
  322. package/dist/es/components/Table/Table.js.map +1 -0
  323. package/dist/es/components/Tabs/Tabs.js +51 -0
  324. package/dist/es/components/Tabs/Tabs.js.map +1 -0
  325. package/dist/es/components/TextContent/TextContent.js +45 -0
  326. package/dist/es/components/TextContent/TextContent.js.map +1 -0
  327. package/dist/es/components/Textarea/Textarea.js +62 -0
  328. package/dist/es/components/Textarea/Textarea.js.map +1 -0
  329. package/dist/es/components/Toast/Toast.js +94 -0
  330. package/dist/es/components/Toast/Toast.js.map +1 -0
  331. package/dist/es/components/Toast/ToastProvider.js +148 -0
  332. package/dist/es/components/Toast/ToastProvider.js.map +1 -0
  333. package/dist/es/components/VirtualizedDataTable/VirtualizedDataTable.js +120 -0
  334. package/dist/es/components/VirtualizedDataTable/VirtualizedDataTable.js.map +1 -0
  335. package/dist/es/components/VirtualizedDataTable/VirtualizedRow.js +46 -0
  336. package/dist/es/components/VirtualizedDataTable/VirtualizedRow.js.map +1 -0
  337. package/dist/es/components/WheelPicker/WheelPicker.js +80 -0
  338. package/dist/es/components/WheelPicker/WheelPicker.js.map +1 -0
  339. package/dist/es/components/common-responsive.js +287 -0
  340. package/dist/es/components/common-responsive.js.map +1 -0
  341. package/dist/es/hooks/use-debounce.js +28 -0
  342. package/dist/es/hooks/use-debounce.js.map +1 -0
  343. package/dist/es/hooks/use-is-mobile.js +22 -0
  344. package/dist/es/hooks/use-is-mobile.js.map +1 -0
  345. package/dist/es/hooks/use-is-tablet-or-mobile.js +11 -0
  346. package/dist/es/hooks/use-is-tablet-or-mobile.js.map +1 -0
  347. package/dist/es/hooks/use-is-tablet.js +19 -0
  348. package/dist/es/hooks/use-is-tablet.js.map +1 -0
  349. package/dist/es/index.js +67 -0
  350. package/dist/es/index.js.map +1 -0
  351. package/dist/es/react-tailwind.css +2 -0
  352. package/dist/es/react-tailwind.css.map +1 -0
  353. package/dist/es/utils/build-classname.js +6 -0
  354. package/dist/es/utils/build-classname.js.map +1 -0
  355. package/dist/es/utils/get.js +18 -0
  356. package/dist/es/utils/get.js.map +1 -0
  357. package/dist/es/utils/is-array.js +10 -0
  358. package/dist/es/utils/is-array.js.map +1 -0
  359. package/dist/es/utils/is-empty.js +24 -0
  360. package/dist/es/utils/is-empty.js.map +1 -0
  361. package/dist/react-tailwind.cjs.js +2298 -472
  362. package/dist/react-tailwind.cjs.js.map +1 -1
  363. package/dist/react-tailwind.es.js +2284 -474
  364. package/dist/react-tailwind.es.js.map +1 -1
  365. package/dist/types/components/ActionSheet/ActionSheet.d.ts +5 -0
  366. package/dist/types/components/ActionSheet/ActionSheet.test.d.ts +1 -0
  367. package/dist/types/components/ActionSheet/ActionSheet.types.d.ts +44 -0
  368. package/dist/types/components/ActionSheet/index.d.ts +2 -0
  369. package/dist/types/components/Badge/Badge.types.d.ts +1 -1
  370. package/dist/types/components/BottomNavigation/BottomNavigation.d.ts +5 -0
  371. package/dist/types/components/BottomNavigation/BottomNavigation.test.d.ts +1 -0
  372. package/dist/types/components/BottomNavigation/BottomNavigation.types.d.ts +41 -0
  373. package/dist/types/components/BottomNavigation/index.d.ts +2 -0
  374. package/dist/types/components/Card/Card.types.d.ts +25 -0
  375. package/dist/types/components/DataList/DataList.d.ts +5 -0
  376. package/dist/types/components/DataList/DataList.test.d.ts +1 -0
  377. package/dist/types/components/DataList/DataList.types.d.ts +81 -0
  378. package/dist/types/components/DataList/index.d.ts +2 -0
  379. package/dist/types/components/DataTable/DataTable.d.ts +1 -1
  380. package/dist/types/components/DataTable/DataTable.types.d.ts +10 -0
  381. package/dist/types/components/Flex/Flex.d.ts +3 -0
  382. package/dist/types/components/Flex/Flex.test.d.ts +1 -0
  383. package/dist/types/components/Flex/Flex.types.d.ts +92 -0
  384. package/dist/types/components/Flex/index.d.ts +2 -0
  385. package/dist/types/components/FloatingActionButton/FloatingActionButton.d.ts +5 -0
  386. package/dist/types/components/FloatingActionButton/FloatingActionButton.test.d.ts +1 -0
  387. package/dist/types/components/FloatingActionButton/FloatingActionButton.types.d.ts +48 -0
  388. package/dist/types/components/FloatingActionButton/index.d.ts +2 -0
  389. package/dist/types/components/Grid/Grid.d.ts +3 -0
  390. package/dist/types/components/Grid/Grid.test.d.ts +1 -0
  391. package/dist/types/components/Grid/Grid.types.d.ts +136 -0
  392. package/dist/types/components/Grid/index.d.ts +2 -0
  393. package/dist/types/components/Input/Input.types.d.ts +3 -3
  394. package/dist/types/components/MobileHeader/MobileHeader.d.ts +5 -0
  395. package/dist/types/components/MobileHeader/MobileHeader.test.d.ts +1 -0
  396. package/dist/types/components/MobileHeader/MobileHeader.types.d.ts +49 -0
  397. package/dist/types/components/MobileHeader/index.d.ts +2 -0
  398. package/dist/types/components/MobilePicker/MobilePicker.d.ts +6 -0
  399. package/dist/types/components/MobilePicker/MobilePicker.test.d.ts +1 -0
  400. package/dist/types/components/MobilePicker/MobilePicker.types.d.ts +90 -0
  401. package/dist/types/components/MobilePicker/index.d.ts +2 -0
  402. package/dist/types/components/MobileStepper/MobileStepper.d.ts +5 -0
  403. package/dist/types/components/MobileStepper/MobileStepper.test.d.ts +1 -0
  404. package/dist/types/components/MobileStepper/MobileStepper.types.d.ts +28 -0
  405. package/dist/types/components/MobileStepper/index.d.ts +2 -0
  406. package/dist/types/components/PinInput/PinInput.d.ts +5 -0
  407. package/dist/types/components/PinInput/PinInput.test.d.ts +1 -0
  408. package/dist/types/components/PinInput/PinInput.types.d.ts +29 -0
  409. package/dist/types/components/PinInput/index.d.ts +2 -0
  410. package/dist/types/components/PullToRefresh/PullToRefresh.d.ts +5 -0
  411. package/dist/types/components/PullToRefresh/PullToRefresh.test.d.ts +1 -0
  412. package/dist/types/components/PullToRefresh/PullToRefresh.types.d.ts +23 -0
  413. package/dist/types/components/PullToRefresh/index.d.ts +2 -0
  414. package/dist/types/components/QuantityStepper/QuantityStepper.types.d.ts +18 -1
  415. package/dist/types/components/SelectBox/SelectBox.types.d.ts +9 -0
  416. package/dist/types/components/SwipeableRow/SwipeableRow.d.ts +3 -0
  417. package/dist/types/components/SwipeableRow/SwipeableRow.test.d.ts +1 -0
  418. package/dist/types/components/SwipeableRow/SwipeableRow.types.d.ts +42 -0
  419. package/dist/types/components/SwipeableRow/index.d.ts +2 -0
  420. package/dist/types/components/SwipeableTabs/SwipeableTabs.d.ts +5 -0
  421. package/dist/types/components/SwipeableTabs/SwipeableTabs.test.d.ts +1 -0
  422. package/dist/types/components/SwipeableTabs/SwipeableTabs.types.d.ts +38 -0
  423. package/dist/types/components/SwipeableTabs/index.d.ts +2 -0
  424. package/dist/types/components/WheelPicker/WheelPicker.d.ts +5 -0
  425. package/dist/types/components/WheelPicker/WheelPicker.test.d.ts +1 -0
  426. package/dist/types/components/WheelPicker/WheelPicker.types.d.ts +35 -0
  427. package/dist/types/components/WheelPicker/index.d.ts +2 -0
  428. package/dist/types/components/common-responsive.d.ts +57 -0
  429. package/dist/types/index.d.ts +14 -0
  430. package/package.json +11 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VirtualizedRow.js","sources":["../../../../../src/components/VirtualizedDataTable/VirtualizedRow.tsx"],"sourcesContent":["import React from 'react'\nimport { ListChildComponentProps } from 'react-window'\nimport { buildClassName } from '../../utils/build-classname'\nimport { get } from '../../utils/get'\nimport type { DataTableColumn, DataTableDensity } from '../DataTable'\nimport { Checkbox } from '../Checkbox'\nimport type { VirtualizedRowProps } from './VirtualizedDataTable.types'\n\nconst DENSITY_CELL_CLASS: Record<DataTableDensity, string> = {\n compact: 'px-2 py-1.5',\n default: 'px-3 py-3',\n spacious: 'px-4 py-4',\n}\n\nexport const VirtualizedRow = ({\n index,\n style,\n data,\n}: ListChildComponentProps<VirtualizedRowProps>) => {\n const {\n items,\n columns,\n gridTemplate,\n onRowClick,\n rowClass,\n density = 'default',\n striped,\n selectable,\n getKey,\n isSelected,\n toggleRow,\n isRowSelectable,\n } = data\n const item = items[index]\n const isStriped = striped && index % 2 === 1\n const key = getKey?.(item, index) ?? index\n const rowSelectable = !isRowSelectable || isRowSelectable(item)\n\n const resolvedRowClass = !rowClass\n ? ''\n : typeof rowClass === 'function'\n ? rowClass(item, index)\n : rowClass\n\n const getCellClass = (col: DataTableColumn): string => {\n if (!col.cellClass) return ''\n if (typeof col.cellClass === 'function') return col.cellClass(item)\n return col.cellClass\n }\n\n const densityCellClass = DENSITY_CELL_CLASS[density]\n\n return (\n <div\n role=\"row\"\n className={buildClassName(\n 'grid border-b border-[var(--ui-border)] bg-white dark:bg-gray-900 group',\n onRowClick && 'cursor-pointer',\n isStriped && 'bg-gray-50 dark:bg-gray-800/40',\n resolvedRowClass,\n )}\n style={{\n ...style,\n display: 'grid',\n gridTemplateColumns: gridTemplate,\n minWidth: 'fit-content',\n }}\n onClick={onRowClick ? () => onRowClick(item, index) : undefined}\n >\n {selectable && (\n <div\n role=\"cell\"\n className={buildClassName(\n 'flex items-center whitespace-nowrap border-r last:border-r-0 border-[var(--ui-border)]',\n densityCellClass,\n isStriped && 'bg-gray-50 dark:bg-gray-800/40',\n )}\n onClick={(e) => e.stopPropagation()}\n >\n <Checkbox\n aria-label=\"Select row\"\n checked={isSelected?.(key) ?? false}\n disabled={!rowSelectable}\n onChange={() => toggleRow?.(key)}\n />\n </div>\n )}\n {columns.map((col: DataTableColumn) => {\n const content = col.render ? col.render(item) : (get(item, col.name) ?? 'Not set')\n\n return (\n <div\n key={col.name}\n role=\"cell\"\n className={buildClassName(\n 'whitespace-nowrap border-r last:border-r-0 border-[var(--ui-border)]',\n densityCellClass,\n col.align === 'center' && 'text-center',\n col.align === 'right' && 'text-right',\n col.sticky === 'left' &&\n 'sticky left-0 z-10 bg-white dark:bg-gray-900 shadow-[2px_0_4px_rgba(0,0,0,0.05)]',\n col.sticky === 'right' &&\n 'sticky right-0 z-10 bg-white dark:bg-gray-900 shadow-[-2px_0_4px_rgba(0,0,0,0.05)]',\n isStriped && 'bg-gray-50 dark:bg-gray-800/40',\n getCellClass(col),\n )}\n >\n {content}\n </div>\n )\n })}\n </div>\n )\n}\n"],"names":["_jsxs","buildClassName","_jsx","Checkbox","get"],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var buildClassname = require('../../utils/build-classname.js');
6
+
7
+ function SingleWheelColumn({ column, itemHeight, height, disabled, onValueChange, }) {
8
+ var _a;
9
+ const containerRef = React.useRef(null);
10
+ const [selectedValue, setSelectedValue] = React.useState(column.value !== undefined
11
+ ? column.value
12
+ : column.defaultValue !== undefined
13
+ ? column.defaultValue
14
+ : (_a = column.options[0]) === null || _a === void 0 ? void 0 : _a.value);
15
+ const isControlled = column.value !== undefined;
16
+ const currentValue = isControlled ? column.value : selectedValue;
17
+ const selectedIndex = Math.max(0, column.options.findIndex((opt) => opt.value === currentValue));
18
+ const paddingY = (height - itemHeight) / 2;
19
+ // Sync scroll position when active value changes externally
20
+ React.useEffect(() => {
21
+ if (containerRef.current) {
22
+ const targetScrollTop = selectedIndex * itemHeight;
23
+ if (Math.abs(containerRef.current.scrollTop - targetScrollTop) > 2) {
24
+ containerRef.current.scrollTop = targetScrollTop;
25
+ }
26
+ }
27
+ }, [selectedIndex, itemHeight]);
28
+ const handleScroll = () => {
29
+ var _a;
30
+ if (!containerRef.current || disabled)
31
+ return;
32
+ const scrollTop = containerRef.current.scrollTop;
33
+ const index = Math.round(scrollTop / itemHeight);
34
+ const targetOption = column.options[index];
35
+ if (targetOption && targetOption.value !== currentValue && !targetOption.disabled) {
36
+ if (!isControlled) {
37
+ setSelectedValue(targetOption.value);
38
+ }
39
+ (_a = column.onChange) === null || _a === void 0 ? void 0 : _a.call(column, targetOption.value);
40
+ onValueChange(targetOption.value);
41
+ }
42
+ };
43
+ return (jsxRuntime.jsx("div", { ref: containerRef, onScroll: handleScroll, className: buildClassname.buildClassName('flex-1 h-full overflow-y-auto no-scrollbar snap-y snap-mandatory relative z-10 select-none text-center', disabled && 'pointer-events-none opacity-40'), style: {
44
+ paddingTop: `${paddingY}px`,
45
+ paddingBottom: `${paddingY}px`,
46
+ scrollSnapType: 'y mandatory',
47
+ }, "data-testid": `wheel-column-${column.id}`, children: column.options.map((opt, index) => {
48
+ const isSelected = opt.value === currentValue;
49
+ return (jsxRuntime.jsx("div", { onClick: () => {
50
+ if (disabled || opt.disabled || !containerRef.current)
51
+ return;
52
+ const targetTop = index * itemHeight;
53
+ if (typeof containerRef.current.scrollTo === 'function') {
54
+ containerRef.current.scrollTo({
55
+ top: targetTop,
56
+ behavior: 'smooth',
57
+ });
58
+ }
59
+ else {
60
+ containerRef.current.scrollTop = targetTop;
61
+ }
62
+ }, className: buildClassname.buildClassName('flex items-center justify-center font-semibold snap-center transition-all duration-150 cursor-pointer', opt.disabled && 'opacity-30 cursor-not-allowed', isSelected
63
+ ? 'text-blue-600 dark:text-blue-400 text-sm font-bold scale-105'
64
+ : 'text-gray-500 dark:text-gray-400 text-xs hover:text-gray-800 dark:hover:text-gray-200'), style: { height: `${itemHeight}px` }, "data-testid": `wheel-item-${column.id}-${opt.value}`, children: opt.label }, `${opt.value}-${index}`));
65
+ }) }));
66
+ }
67
+ function WheelPicker({ columns, height = 200, itemHeight = 40, onChange, disabled = false, containerClass = '', }) {
68
+ const valuesRef = React.useRef({});
69
+ const handleColumnChange = (columnId, value) => {
70
+ valuesRef.current[columnId] = value;
71
+ onChange === null || onChange === void 0 ? void 0 : onChange({ ...valuesRef.current });
72
+ };
73
+ const highlightTop = (height - itemHeight) / 2;
74
+ return (jsxRuntime.jsxs("div", { className: buildClassname.buildClassName('w-full bg-white dark:bg-gray-900 border border-[var(--ui-border)] rounded-2xl relative overflow-hidden flex items-center shadow-xs select-none', containerClass), style: { height: `${height}px` }, "data-testid": "wheel-picker", children: [jsxRuntime.jsx("div", { className: "absolute inset-x-2 rounded-xl bg-gray-100/90 dark:bg-gray-800/90 border border-blue-500/20 dark:border-blue-400/20 z-0 pointer-events-none", style: {
75
+ height: `${itemHeight}px`,
76
+ top: `${highlightTop}px`,
77
+ }, "data-testid": "wheel-highlight-window" }), jsxRuntime.jsx("div", { className: "absolute top-0 inset-x-0 bg-gradient-to-b from-white via-white/80 dark:from-gray-900 dark:via-gray-900/80 to-transparent pointer-events-none z-20", style: { height: `${highlightTop}px` } }), jsxRuntime.jsx("div", { className: "absolute bottom-0 inset-x-0 bg-gradient-to-t from-white via-white/80 dark:from-gray-900 dark:via-gray-900/80 to-transparent pointer-events-none z-20", style: { height: `${highlightTop}px` } }), jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-around relative z-10 px-2", children: columns.map((col) => (jsxRuntime.jsx(SingleWheelColumn, { column: col, itemHeight: itemHeight, height: height, disabled: disabled, onValueChange: (val) => handleColumnChange(col.id, val) }, col.id))) })] }));
78
+ }
79
+ WheelPicker.displayName = 'WheelPicker';
80
+
81
+ exports.WheelPicker = WheelPicker;
82
+ //# sourceMappingURL=WheelPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WheelPicker.js","sources":["../../../../../src/components/WheelPicker/WheelPicker.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react'\nimport type { WheelPickerProps, WheelPickerColumn, WheelPickerOption } from './WheelPicker.types'\nimport { buildClassName } from '../../utils/build-classname'\n\ninterface SingleColumnProps {\n column: WheelPickerColumn\n itemHeight: number\n height: number\n disabled?: boolean\n onValueChange: (val: string | number) => void\n}\n\nfunction SingleWheelColumn({\n column,\n itemHeight,\n height,\n disabled,\n onValueChange,\n}: SingleColumnProps) {\n const containerRef = useRef<HTMLDivElement>(null)\n const [selectedValue, setSelectedValue] = useState<string | number>(\n column.value !== undefined\n ? column.value\n : column.defaultValue !== undefined\n ? column.defaultValue\n : column.options[0]?.value,\n )\n\n const isControlled = column.value !== undefined\n const currentValue = isControlled ? column.value : selectedValue\n\n const selectedIndex = Math.max(\n 0,\n column.options.findIndex((opt) => opt.value === currentValue),\n )\n\n const paddingY = (height - itemHeight) / 2\n\n // Sync scroll position when active value changes externally\n useEffect(() => {\n if (containerRef.current) {\n const targetScrollTop = selectedIndex * itemHeight\n if (Math.abs(containerRef.current.scrollTop - targetScrollTop) > 2) {\n containerRef.current.scrollTop = targetScrollTop\n }\n }\n }, [selectedIndex, itemHeight])\n\n const handleScroll = () => {\n if (!containerRef.current || disabled) return\n const scrollTop = containerRef.current.scrollTop\n const index = Math.round(scrollTop / itemHeight)\n const targetOption = column.options[index]\n\n if (targetOption && targetOption.value !== currentValue && !targetOption.disabled) {\n if (!isControlled) {\n setSelectedValue(targetOption.value)\n }\n column.onChange?.(targetOption.value)\n onValueChange(targetOption.value)\n }\n }\n\n return (\n <div\n ref={containerRef}\n onScroll={handleScroll}\n className={buildClassName(\n 'flex-1 h-full overflow-y-auto no-scrollbar snap-y snap-mandatory relative z-10 select-none text-center',\n disabled && 'pointer-events-none opacity-40',\n )}\n style={{\n paddingTop: `${paddingY}px`,\n paddingBottom: `${paddingY}px`,\n scrollSnapType: 'y mandatory',\n }}\n data-testid={`wheel-column-${column.id}`}\n >\n {column.options.map((opt: WheelPickerOption, index: number) => {\n const isSelected = opt.value === currentValue\n\n return (\n <div\n key={`${opt.value}-${index}`}\n onClick={() => {\n if (disabled || opt.disabled || !containerRef.current) return\n const targetTop = index * itemHeight\n if (typeof containerRef.current.scrollTo === 'function') {\n containerRef.current.scrollTo({\n top: targetTop,\n behavior: 'smooth',\n })\n } else {\n containerRef.current.scrollTop = targetTop\n }\n }}\n className={buildClassName(\n 'flex items-center justify-center font-semibold snap-center transition-all duration-150 cursor-pointer',\n opt.disabled && 'opacity-30 cursor-not-allowed',\n isSelected\n ? 'text-blue-600 dark:text-blue-400 text-sm font-bold scale-105'\n : 'text-gray-500 dark:text-gray-400 text-xs hover:text-gray-800 dark:hover:text-gray-200',\n )}\n style={{ height: `${itemHeight}px` }}\n data-testid={`wheel-item-${column.id}-${opt.value}`}\n >\n {opt.label}\n </div>\n )\n })}\n </div>\n )\n}\n\nexport function WheelPicker({\n columns,\n height = 200,\n itemHeight = 40,\n onChange,\n disabled = false,\n containerClass = '',\n}: WheelPickerProps) {\n const valuesRef = useRef<Record<string, string | number>>({})\n\n const handleColumnChange = (columnId: string, value: string | number) => {\n valuesRef.current[columnId] = value\n onChange?.({ ...valuesRef.current })\n }\n\n const highlightTop = (height - itemHeight) / 2\n\n return (\n <div\n className={buildClassName(\n 'w-full bg-white dark:bg-gray-900 border border-[var(--ui-border)] rounded-2xl relative overflow-hidden flex items-center shadow-xs select-none',\n containerClass,\n )}\n style={{ height: `${height}px` }}\n data-testid=\"wheel-picker\"\n >\n {/* Center Highlight Selection Window */}\n <div\n className=\"absolute inset-x-2 rounded-xl bg-gray-100/90 dark:bg-gray-800/90 border border-blue-500/20 dark:border-blue-400/20 z-0 pointer-events-none\"\n style={{\n height: `${itemHeight}px`,\n top: `${highlightTop}px`,\n }}\n data-testid=\"wheel-highlight-window\"\n />\n\n {/* Top Gradient Blur Mask */}\n <div\n className=\"absolute top-0 inset-x-0 bg-gradient-to-b from-white via-white/80 dark:from-gray-900 dark:via-gray-900/80 to-transparent pointer-events-none z-20\"\n style={{ height: `${highlightTop}px` }}\n />\n\n {/* Bottom Gradient Blur Mask */}\n <div\n className=\"absolute bottom-0 inset-x-0 bg-gradient-to-t from-white via-white/80 dark:from-gray-900 dark:via-gray-900/80 to-transparent pointer-events-none z-20\"\n style={{ height: `${highlightTop}px` }}\n />\n\n {/* Wheel Columns Container */}\n <div className=\"w-full h-full flex items-center justify-around relative z-10 px-2\">\n {columns.map((col) => (\n <SingleWheelColumn\n key={col.id}\n column={col}\n itemHeight={itemHeight}\n height={height}\n disabled={disabled}\n onValueChange={(val) => handleColumnChange(col.id, val)}\n />\n ))}\n </div>\n </div>\n )\n}\n\nWheelPicker.displayName = 'WheelPicker'\n"],"names":["useRef","useState","useEffect","_jsx","buildClassName","_jsxs"],"mappings":"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"}
@@ -0,0 +1,310 @@
1
+ 'use strict';
2
+
3
+ const GAP_MAP = {
4
+ none: 'gap-0',
5
+ xs: 'gap-1',
6
+ sm: 'gap-2',
7
+ md: 'gap-4',
8
+ lg: 'gap-6',
9
+ xl: 'gap-8',
10
+ '2xl': 'gap-12',
11
+ };
12
+ const GAP_X_MAP = {
13
+ none: 'gap-x-0',
14
+ xs: 'gap-x-1',
15
+ sm: 'gap-x-2',
16
+ md: 'gap-x-4',
17
+ lg: 'gap-x-6',
18
+ xl: 'gap-x-8',
19
+ '2xl': 'gap-x-12',
20
+ };
21
+ const GAP_Y_MAP = {
22
+ none: 'gap-y-0',
23
+ xs: 'gap-y-1',
24
+ sm: 'gap-y-2',
25
+ md: 'gap-y-4',
26
+ lg: 'gap-y-6',
27
+ xl: 'gap-y-8',
28
+ '2xl': 'gap-y-12',
29
+ };
30
+ const ALIGN_MAP = {
31
+ start: 'items-start',
32
+ center: 'items-center',
33
+ end: 'items-end',
34
+ baseline: 'items-baseline',
35
+ stretch: 'items-stretch',
36
+ };
37
+ const JUSTIFY_MAP = {
38
+ start: 'justify-start',
39
+ center: 'justify-center',
40
+ end: 'justify-end',
41
+ between: 'justify-between',
42
+ around: 'justify-around',
43
+ evenly: 'justify-evenly',
44
+ };
45
+ const DIRECTION_MAP = {
46
+ row: 'flex-row',
47
+ 'row-reverse': 'flex-row-reverse',
48
+ col: 'flex-col',
49
+ 'col-reverse': 'flex-col-reverse',
50
+ };
51
+ const WRAP_MAP = {
52
+ wrap: 'flex-wrap',
53
+ nowrap: 'flex-nowrap',
54
+ 'wrap-reverse': 'flex-wrap-reverse',
55
+ };
56
+ /**
57
+ * Resolves the `order` prop to inline styles when it's a raw number.
58
+ *
59
+ * `'first'` / `'last'` map to the static `order-first`/`order-last` Tailwind
60
+ * utilities (safe, since those exact class names are literal elsewhere).
61
+ * Arbitrary numeric orders can't be expressed as a safe literal class (the
62
+ * value is unbounded), so they're applied as an inline `order` style instead
63
+ * — that works regardless of what the consuming app's Tailwind build scans.
64
+ */
65
+ const resolveOrderStyle = (order) => typeof order === 'number' ? { order } : undefined;
66
+ const resolveOrderClassName = (order) => {
67
+ if (order === 'first')
68
+ return '-order-1';
69
+ if (order === 'last')
70
+ return 'order-last';
71
+ return undefined;
72
+ };
73
+ /** Width-fraction span classes used by `Flex.Item` (unprefixed / base breakpoint). */
74
+ const FLEX_SPAN_MAP = {
75
+ 1: 'w-1/12 flex-none',
76
+ 2: 'w-2/12 flex-none',
77
+ 3: 'w-3/12 flex-none',
78
+ 4: 'w-4/12 flex-none',
79
+ 5: 'w-5/12 flex-none',
80
+ 6: 'w-6/12 flex-none',
81
+ 7: 'w-7/12 flex-none',
82
+ 8: 'w-8/12 flex-none',
83
+ 9: 'w-9/12 flex-none',
84
+ 10: 'w-10/12 flex-none',
85
+ 11: 'w-11/12 flex-none',
86
+ 12: 'w-full flex-none',
87
+ auto: 'w-auto flex-none',
88
+ full: 'w-full flex-none',
89
+ };
90
+ const FLEX_SM_SPAN_MAP = {
91
+ 1: 'sm:w-1/12',
92
+ 2: 'sm:w-2/12',
93
+ 3: 'sm:w-3/12',
94
+ 4: 'sm:w-4/12',
95
+ 5: 'sm:w-5/12',
96
+ 6: 'sm:w-6/12',
97
+ 7: 'sm:w-7/12',
98
+ 8: 'sm:w-8/12',
99
+ 9: 'sm:w-9/12',
100
+ 10: 'sm:w-10/12',
101
+ 11: 'sm:w-11/12',
102
+ 12: 'sm:w-full',
103
+ auto: 'sm:w-auto',
104
+ full: 'sm:w-full',
105
+ };
106
+ const FLEX_MD_SPAN_MAP = {
107
+ 1: 'md:w-1/12',
108
+ 2: 'md:w-2/12',
109
+ 3: 'md:w-3/12',
110
+ 4: 'md:w-4/12',
111
+ 5: 'md:w-5/12',
112
+ 6: 'md:w-6/12',
113
+ 7: 'md:w-7/12',
114
+ 8: 'md:w-8/12',
115
+ 9: 'md:w-9/12',
116
+ 10: 'md:w-10/12',
117
+ 11: 'md:w-11/12',
118
+ 12: 'md:w-full',
119
+ auto: 'md:w-auto',
120
+ full: 'md:w-full',
121
+ };
122
+ const FLEX_LG_SPAN_MAP = {
123
+ 1: 'lg:w-1/12',
124
+ 2: 'lg:w-2/12',
125
+ 3: 'lg:w-3/12',
126
+ 4: 'lg:w-4/12',
127
+ 5: 'lg:w-5/12',
128
+ 6: 'lg:w-6/12',
129
+ 7: 'lg:w-7/12',
130
+ 8: 'lg:w-8/12',
131
+ 9: 'lg:w-9/12',
132
+ 10: 'lg:w-10/12',
133
+ 11: 'lg:w-11/12',
134
+ 12: 'lg:w-full',
135
+ auto: 'lg:w-auto',
136
+ full: 'lg:w-full',
137
+ };
138
+ const FLEX_XL_SPAN_MAP = {
139
+ 1: 'xl:w-1/12',
140
+ 2: 'xl:w-2/12',
141
+ 3: 'xl:w-3/12',
142
+ 4: 'xl:w-4/12',
143
+ 5: 'xl:w-5/12',
144
+ 6: 'xl:w-6/12',
145
+ 7: 'xl:w-7/12',
146
+ 8: 'xl:w-8/12',
147
+ 9: 'xl:w-9/12',
148
+ 10: 'xl:w-10/12',
149
+ 11: 'xl:w-11/12',
150
+ 12: 'xl:w-full',
151
+ auto: 'xl:w-auto',
152
+ full: 'xl:w-full',
153
+ };
154
+ const FLEX_XXL_SPAN_MAP = {
155
+ 1: '2xl:w-1/12',
156
+ 2: '2xl:w-2/12',
157
+ 3: '2xl:w-3/12',
158
+ 4: '2xl:w-4/12',
159
+ 5: '2xl:w-5/12',
160
+ 6: '2xl:w-6/12',
161
+ 7: '2xl:w-7/12',
162
+ 8: '2xl:w-8/12',
163
+ 9: '2xl:w-9/12',
164
+ 10: '2xl:w-10/12',
165
+ 11: '2xl:w-11/12',
166
+ 12: '2xl:w-full',
167
+ auto: '2xl:w-auto',
168
+ full: '2xl:w-full',
169
+ };
170
+ /** `col-span-*` classes used by `Grid.Col` (unprefixed / base breakpoint). */
171
+ const GRID_SPAN_MAP = {
172
+ 1: 'col-span-1',
173
+ 2: 'col-span-2',
174
+ 3: 'col-span-3',
175
+ 4: 'col-span-4',
176
+ 5: 'col-span-5',
177
+ 6: 'col-span-6',
178
+ 7: 'col-span-7',
179
+ 8: 'col-span-8',
180
+ 9: 'col-span-9',
181
+ 10: 'col-span-10',
182
+ 11: 'col-span-11',
183
+ 12: 'col-span-12',
184
+ auto: 'col-auto',
185
+ full: 'col-span-full',
186
+ };
187
+ const GRID_SM_SPAN_MAP = {
188
+ 1: 'sm:col-span-1',
189
+ 2: 'sm:col-span-2',
190
+ 3: 'sm:col-span-3',
191
+ 4: 'sm:col-span-4',
192
+ 5: 'sm:col-span-5',
193
+ 6: 'sm:col-span-6',
194
+ 7: 'sm:col-span-7',
195
+ 8: 'sm:col-span-8',
196
+ 9: 'sm:col-span-9',
197
+ 10: 'sm:col-span-10',
198
+ 11: 'sm:col-span-11',
199
+ 12: 'sm:col-span-12',
200
+ auto: 'sm:col-auto',
201
+ full: 'sm:col-span-full',
202
+ };
203
+ const GRID_MD_SPAN_MAP = {
204
+ 1: 'md:col-span-1',
205
+ 2: 'md:col-span-2',
206
+ 3: 'md:col-span-3',
207
+ 4: 'md:col-span-4',
208
+ 5: 'md:col-span-5',
209
+ 6: 'md:col-span-6',
210
+ 7: 'md:col-span-7',
211
+ 8: 'md:col-span-8',
212
+ 9: 'md:col-span-9',
213
+ 10: 'md:col-span-10',
214
+ 11: 'md:col-span-11',
215
+ 12: 'md:col-span-12',
216
+ auto: 'md:col-auto',
217
+ full: 'md:col-span-full',
218
+ };
219
+ const GRID_LG_SPAN_MAP = {
220
+ 1: 'lg:col-span-1',
221
+ 2: 'lg:col-span-2',
222
+ 3: 'lg:col-span-3',
223
+ 4: 'lg:col-span-4',
224
+ 5: 'lg:col-span-5',
225
+ 6: 'lg:col-span-6',
226
+ 7: 'lg:col-span-7',
227
+ 8: 'lg:col-span-8',
228
+ 9: 'lg:col-span-9',
229
+ 10: 'lg:col-span-10',
230
+ 11: 'lg:col-span-11',
231
+ 12: 'lg:col-span-12',
232
+ auto: 'lg:col-auto',
233
+ full: 'lg:col-span-full',
234
+ };
235
+ const GRID_XL_SPAN_MAP = {
236
+ 1: 'xl:col-span-1',
237
+ 2: 'xl:col-span-2',
238
+ 3: 'xl:col-span-3',
239
+ 4: 'xl:col-span-4',
240
+ 5: 'xl:col-span-5',
241
+ 6: 'xl:col-span-6',
242
+ 7: 'xl:col-span-7',
243
+ 8: 'xl:col-span-8',
244
+ 9: 'xl:col-span-9',
245
+ 10: 'xl:col-span-10',
246
+ 11: 'xl:col-span-11',
247
+ 12: 'xl:col-span-12',
248
+ auto: 'xl:col-auto',
249
+ full: 'xl:col-span-full',
250
+ };
251
+ const GRID_XXL_SPAN_MAP = {
252
+ 1: '2xl:col-span-1',
253
+ 2: '2xl:col-span-2',
254
+ 3: '2xl:col-span-3',
255
+ 4: '2xl:col-span-4',
256
+ 5: '2xl:col-span-5',
257
+ 6: '2xl:col-span-6',
258
+ 7: '2xl:col-span-7',
259
+ 8: '2xl:col-span-8',
260
+ 9: '2xl:col-span-9',
261
+ 10: '2xl:col-span-10',
262
+ 11: '2xl:col-span-11',
263
+ 12: '2xl:col-span-12',
264
+ auto: '2xl:col-auto',
265
+ full: '2xl:col-span-full',
266
+ };
267
+ /**
268
+ * Preset track-count classes for `Grid`'s `cols` prop. Each preset
269
+ * progressively reveals more columns at wider breakpoints so a grid is
270
+ * responsive out of the box without the caller specifying per-item spans.
271
+ */
272
+ const GRID_COLS_MAP = {
273
+ 1: 'grid-cols-1',
274
+ 2: 'grid-cols-1 sm:grid-cols-2',
275
+ 3: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-3',
276
+ 4: 'grid-cols-1 sm:grid-cols-2 lg:grid-cols-4',
277
+ 5: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5',
278
+ 6: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-6',
279
+ 7: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-4 lg:grid-cols-7',
280
+ 8: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-4 lg:grid-cols-8',
281
+ 9: 'grid-cols-1 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-9',
282
+ 10: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-5 lg:grid-cols-10',
283
+ 11: 'grid-cols-1 sm:grid-cols-3 md:grid-cols-6 lg:grid-cols-11',
284
+ 12: 'grid-cols-12',
285
+ auto: 'grid-cols-none auto-cols-auto',
286
+ };
287
+
288
+ exports.ALIGN_MAP = ALIGN_MAP;
289
+ exports.DIRECTION_MAP = DIRECTION_MAP;
290
+ exports.FLEX_LG_SPAN_MAP = FLEX_LG_SPAN_MAP;
291
+ exports.FLEX_MD_SPAN_MAP = FLEX_MD_SPAN_MAP;
292
+ exports.FLEX_SM_SPAN_MAP = FLEX_SM_SPAN_MAP;
293
+ exports.FLEX_SPAN_MAP = FLEX_SPAN_MAP;
294
+ exports.FLEX_XL_SPAN_MAP = FLEX_XL_SPAN_MAP;
295
+ exports.FLEX_XXL_SPAN_MAP = FLEX_XXL_SPAN_MAP;
296
+ exports.GAP_MAP = GAP_MAP;
297
+ exports.GAP_X_MAP = GAP_X_MAP;
298
+ exports.GAP_Y_MAP = GAP_Y_MAP;
299
+ exports.GRID_COLS_MAP = GRID_COLS_MAP;
300
+ exports.GRID_LG_SPAN_MAP = GRID_LG_SPAN_MAP;
301
+ exports.GRID_MD_SPAN_MAP = GRID_MD_SPAN_MAP;
302
+ exports.GRID_SM_SPAN_MAP = GRID_SM_SPAN_MAP;
303
+ exports.GRID_SPAN_MAP = GRID_SPAN_MAP;
304
+ exports.GRID_XL_SPAN_MAP = GRID_XL_SPAN_MAP;
305
+ exports.GRID_XXL_SPAN_MAP = GRID_XXL_SPAN_MAP;
306
+ exports.JUSTIFY_MAP = JUSTIFY_MAP;
307
+ exports.WRAP_MAP = WRAP_MAP;
308
+ exports.resolveOrderClassName = resolveOrderClassName;
309
+ exports.resolveOrderStyle = resolveOrderStyle;
310
+ //# sourceMappingURL=common-responsive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-responsive.js","sources":["../../../../src/components/common-responsive.ts"],"sourcesContent":["import type { CSSProperties } from 'react'\n\n/**\n * Shared class-name lookup tables for `Flex`/`Grid` (and their `.Item`/`.Col`\n * sub-components).\n *\n * These are intentionally plain object literals with fully spelled-out class\n * names (e.g. `'sm:col-span-6'`) rather than strings built with template\n * interpolation (e.g. `` `sm:col-span-${n}` ``). Tailwind's JIT compiler\n * discovers classes by statically scanning file text for literal substrings —\n * it does not execute this code — so any class name assembled at runtime\n * would never be generated into the final stylesheet. Keep every entry here\n * fully literal.\n */\n\nexport type ResponsiveGap = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'\nexport type ResponsiveAlign = 'start' | 'center' | 'end' | 'baseline' | 'stretch'\nexport type ResponsiveJustify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'\nexport type ResponsiveDirection = 'row' | 'row-reverse' | 'col' | 'col-reverse'\nexport type ResponsiveWrap = 'wrap' | 'nowrap' | 'wrap-reverse'\nexport type ResponsiveOrder = 'first' | 'last' | number\n\nexport const GAP_MAP: Record<ResponsiveGap, string> = {\n none: 'gap-0',\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-4',\n lg: 'gap-6',\n xl: 'gap-8',\n '2xl': 'gap-12',\n}\n\nexport const GAP_X_MAP: Record<ResponsiveGap, string> = {\n none: 'gap-x-0',\n xs: 'gap-x-1',\n sm: 'gap-x-2',\n md: 'gap-x-4',\n lg: 'gap-x-6',\n xl: 'gap-x-8',\n '2xl': 'gap-x-12',\n}\n\nexport const GAP_Y_MAP: Record<ResponsiveGap, string> = {\n none: 'gap-y-0',\n xs: 'gap-y-1',\n sm: 'gap-y-2',\n md: 'gap-y-4',\n lg: 'gap-y-6',\n xl: 'gap-y-8',\n '2xl': 'gap-y-12',\n}\n\nexport const ALIGN_MAP: Record<ResponsiveAlign, string> = {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n baseline: 'items-baseline',\n stretch: 'items-stretch',\n}\n\nexport const JUSTIFY_MAP: Record<ResponsiveJustify, string> = {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n}\n\nexport const DIRECTION_MAP: Record<ResponsiveDirection, string> = {\n row: 'flex-row',\n 'row-reverse': 'flex-row-reverse',\n col: 'flex-col',\n 'col-reverse': 'flex-col-reverse',\n}\n\nexport const WRAP_MAP: Record<ResponsiveWrap, string> = {\n wrap: 'flex-wrap',\n nowrap: 'flex-nowrap',\n 'wrap-reverse': 'flex-wrap-reverse',\n}\n\n/**\n * Resolves the `order` prop to inline styles when it's a raw number.\n *\n * `'first'` / `'last'` map to the static `order-first`/`order-last` Tailwind\n * utilities (safe, since those exact class names are literal elsewhere).\n * Arbitrary numeric orders can't be expressed as a safe literal class (the\n * value is unbounded), so they're applied as an inline `order` style instead\n * — that works regardless of what the consuming app's Tailwind build scans.\n */\nexport const resolveOrderStyle = (order?: ResponsiveOrder): CSSProperties | undefined =>\n typeof order === 'number' ? { order } : undefined\n\nexport const resolveOrderClassName = (order?: ResponsiveOrder): string | undefined => {\n if (order === 'first') return '-order-1'\n if (order === 'last') return 'order-last'\n return undefined\n}\n\n/** Width-fraction span classes used by `Flex.Item` (unprefixed / base breakpoint). */\nexport const FLEX_SPAN_MAP: Record<string, string> = {\n 1: 'w-1/12 flex-none',\n 2: 'w-2/12 flex-none',\n 3: 'w-3/12 flex-none',\n 4: 'w-4/12 flex-none',\n 5: 'w-5/12 flex-none',\n 6: 'w-6/12 flex-none',\n 7: 'w-7/12 flex-none',\n 8: 'w-8/12 flex-none',\n 9: 'w-9/12 flex-none',\n 10: 'w-10/12 flex-none',\n 11: 'w-11/12 flex-none',\n 12: 'w-full flex-none',\n auto: 'w-auto flex-none',\n full: 'w-full flex-none',\n}\n\nexport const FLEX_SM_SPAN_MAP: Record<string, string> = {\n 1: 'sm:w-1/12',\n 2: 'sm:w-2/12',\n 3: 'sm:w-3/12',\n 4: 'sm:w-4/12',\n 5: 'sm:w-5/12',\n 6: 'sm:w-6/12',\n 7: 'sm:w-7/12',\n 8: 'sm:w-8/12',\n 9: 'sm:w-9/12',\n 10: 'sm:w-10/12',\n 11: 'sm:w-11/12',\n 12: 'sm:w-full',\n auto: 'sm:w-auto',\n full: 'sm:w-full',\n}\n\nexport const FLEX_MD_SPAN_MAP: Record<string, string> = {\n 1: 'md:w-1/12',\n 2: 'md:w-2/12',\n 3: 'md:w-3/12',\n 4: 'md:w-4/12',\n 5: 'md:w-5/12',\n 6: 'md:w-6/12',\n 7: 'md:w-7/12',\n 8: 'md:w-8/12',\n 9: 'md:w-9/12',\n 10: 'md:w-10/12',\n 11: 'md:w-11/12',\n 12: 'md:w-full',\n auto: 'md:w-auto',\n full: 'md:w-full',\n}\n\nexport const FLEX_LG_SPAN_MAP: Record<string, string> = {\n 1: 'lg:w-1/12',\n 2: 'lg:w-2/12',\n 3: 'lg:w-3/12',\n 4: 'lg:w-4/12',\n 5: 'lg:w-5/12',\n 6: 'lg:w-6/12',\n 7: 'lg:w-7/12',\n 8: 'lg:w-8/12',\n 9: 'lg:w-9/12',\n 10: 'lg:w-10/12',\n 11: 'lg:w-11/12',\n 12: 'lg:w-full',\n auto: 'lg:w-auto',\n full: 'lg:w-full',\n}\n\nexport const FLEX_XL_SPAN_MAP: Record<string, string> = {\n 1: 'xl:w-1/12',\n 2: 'xl:w-2/12',\n 3: 'xl:w-3/12',\n 4: 'xl:w-4/12',\n 5: 'xl:w-5/12',\n 6: 'xl:w-6/12',\n 7: 'xl:w-7/12',\n 8: 'xl:w-8/12',\n 9: 'xl:w-9/12',\n 10: 'xl:w-10/12',\n 11: 'xl:w-11/12',\n 12: 'xl:w-full',\n auto: 'xl:w-auto',\n full: 'xl:w-full',\n}\n\nexport const FLEX_XXL_SPAN_MAP: Record<string, string> = {\n 1: '2xl:w-1/12',\n 2: '2xl:w-2/12',\n 3: '2xl:w-3/12',\n 4: '2xl:w-4/12',\n 5: '2xl:w-5/12',\n 6: '2xl:w-6/12',\n 7: '2xl:w-7/12',\n 8: '2xl:w-8/12',\n 9: '2xl:w-9/12',\n 10: '2xl:w-10/12',\n 11: '2xl:w-11/12',\n 12: '2xl:w-full',\n auto: '2xl:w-auto',\n full: '2xl:w-full',\n}\n\n/** `col-span-*` classes used by `Grid.Col` (unprefixed / base breakpoint). */\nexport const GRID_SPAN_MAP: Record<string, string> = {\n 1: 'col-span-1',\n 2: 'col-span-2',\n 3: 'col-span-3',\n 4: 'col-span-4',\n 5: 'col-span-5',\n 6: 'col-span-6',\n 7: 'col-span-7',\n 8: 'col-span-8',\n 9: 'col-span-9',\n 10: 'col-span-10',\n 11: 'col-span-11',\n 12: 'col-span-12',\n auto: 'col-auto',\n full: 'col-span-full',\n}\n\nexport const GRID_SM_SPAN_MAP: Record<string, string> = {\n 1: 'sm:col-span-1',\n 2: 'sm:col-span-2',\n 3: 'sm:col-span-3',\n 4: 'sm:col-span-4',\n 5: 'sm:col-span-5',\n 6: 'sm:col-span-6',\n 7: 'sm:col-span-7',\n 8: 'sm:col-span-8',\n 9: 'sm:col-span-9',\n 10: 'sm:col-span-10',\n 11: 'sm:col-span-11',\n 12: 'sm:col-span-12',\n auto: 'sm:col-auto',\n full: 'sm:col-span-full',\n}\n\nexport const GRID_MD_SPAN_MAP: Record<string, string> = {\n 1: 'md:col-span-1',\n 2: 'md:col-span-2',\n 3: 'md:col-span-3',\n 4: 'md:col-span-4',\n 5: 'md:col-span-5',\n 6: 'md:col-span-6',\n 7: 'md:col-span-7',\n 8: 'md:col-span-8',\n 9: 'md:col-span-9',\n 10: 'md:col-span-10',\n 11: 'md:col-span-11',\n 12: 'md:col-span-12',\n auto: 'md:col-auto',\n full: 'md:col-span-full',\n}\n\nexport const GRID_LG_SPAN_MAP: Record<string, string> = {\n 1: 'lg:col-span-1',\n 2: 'lg:col-span-2',\n 3: 'lg:col-span-3',\n 4: 'lg:col-span-4',\n 5: 'lg:col-span-5',\n 6: 'lg:col-span-6',\n 7: 'lg:col-span-7',\n 8: 'lg:col-span-8',\n 9: 'lg:col-span-9',\n 10: 'lg:col-span-10',\n 11: 'lg:col-span-11',\n 12: 'lg:col-span-12',\n auto: 'lg:col-auto',\n full: 'lg:col-span-full',\n}\n\nexport const GRID_XL_SPAN_MAP: Record<string, string> = {\n 1: 'xl:col-span-1',\n 2: 'xl:col-span-2',\n 3: 'xl:col-span-3',\n 4: 'xl:col-span-4',\n 5: 'xl:col-span-5',\n 6: 'xl:col-span-6',\n 7: 'xl:col-span-7',\n 8: 'xl:col-span-8',\n 9: 'xl:col-span-9',\n 10: 'xl:col-span-10',\n 11: 'xl:col-span-11',\n 12: 'xl:col-span-12',\n auto: 'xl:col-auto',\n full: 'xl:col-span-full',\n}\n\nexport const GRID_XXL_SPAN_MAP: Record<string, string> = {\n 1: '2xl:col-span-1',\n 2: '2xl:col-span-2',\n 3: '2xl:col-span-3',\n 4: '2xl:col-span-4',\n 5: '2xl:col-span-5',\n 6: '2xl:col-span-6',\n 7: '2xl:col-span-7',\n 8: '2xl:col-span-8',\n 9: '2xl:col-span-9',\n 10: '2xl:col-span-10',\n 11: '2xl:col-span-11',\n 12: '2xl:col-span-12',\n auto: '2xl:col-auto',\n full: '2xl:col-span-full',\n}\n\n/**\n * Preset track-count classes for `Grid`'s `cols` prop. Each preset\n * progressively reveals more columns at wider breakpoints so a grid is\n * responsive out of the box without the caller specifying per-item spans.\n */\nexport const GRID_COLS_MAP: Record<string, string> = {\n 1: 'grid-cols-1',\n 2: 'grid-cols-1 sm:grid-cols-2',\n 3: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-3',\n 4: 'grid-cols-1 sm:grid-cols-2 lg:grid-cols-4',\n 5: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5',\n 6: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-6',\n 7: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-4 lg:grid-cols-7',\n 8: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-4 lg:grid-cols-8',\n 9: 'grid-cols-1 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-9',\n 10: 'grid-cols-1 sm:grid-cols-2 md:grid-cols-5 lg:grid-cols-10',\n 11: 'grid-cols-1 sm:grid-cols-3 md:grid-cols-6 lg:grid-cols-11',\n 12: 'grid-cols-12',\n auto: 'grid-cols-none auto-cols-auto',\n}\n"],"names":[],"mappings":";;AAsBO,MAAM,OAAO,GAAkC;AACpD,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,KAAK,EAAE,QAAQ;;AAGV,MAAM,SAAS,GAAkC;AACtD,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,KAAK,EAAE,UAAU;;AAGZ,MAAM,SAAS,GAAkC;AACtD,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,KAAK,EAAE,UAAU;;AAGZ,MAAM,SAAS,GAAoC;AACxD,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,MAAM,EAAE,cAAc;AACtB,IAAA,GAAG,EAAE,WAAW;AAChB,IAAA,QAAQ,EAAE,gBAAgB;AAC1B,IAAA,OAAO,EAAE,eAAe;;AAGnB,MAAM,WAAW,GAAsC;AAC5D,IAAA,KAAK,EAAE,eAAe;AACtB,IAAA,MAAM,EAAE,gBAAgB;AACxB,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,MAAM,EAAE,gBAAgB;AACxB,IAAA,MAAM,EAAE,gBAAgB;;AAGnB,MAAM,aAAa,GAAwC;AAChE,IAAA,GAAG,EAAE,UAAU;AACf,IAAA,aAAa,EAAE,kBAAkB;AACjC,IAAA,GAAG,EAAE,UAAU;AACf,IAAA,aAAa,EAAE,kBAAkB;;AAG5B,MAAM,QAAQ,GAAmC;AACtD,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,MAAM,EAAE,aAAa;AACrB,IAAA,cAAc,EAAE,mBAAmB;;AAGrC;;;;;;;;AAQG;MACU,iBAAiB,GAAG,CAAC,KAAuB,KACvD,OAAO,KAAK,KAAK,QAAQ,GAAG,EAAE,KAAK,EAAE,GAAG;AAEnC,MAAM,qBAAqB,GAAG,CAAC,KAAuB,KAAwB;IACnF,IAAI,KAAK,KAAK,OAAO;AAAE,QAAA,OAAO,UAAU;IACxC,IAAI,KAAK,KAAK,MAAM;AAAE,QAAA,OAAO,YAAY;AACzC,IAAA,OAAO,SAAS;AAClB;AAEA;AACO,MAAM,aAAa,GAA2B;AACnD,IAAA,CAAC,EAAE,kBAAkB;AACrB,IAAA,CAAC,EAAE,kBAAkB;AACrB,IAAA,CAAC,EAAE,kBAAkB;AACrB,IAAA,CAAC,EAAE,kBAAkB;AACrB,IAAA,CAAC,EAAE,kBAAkB;AACrB,IAAA,CAAC,EAAE,kBAAkB;AACrB,IAAA,CAAC,EAAE,kBAAkB;AACrB,IAAA,CAAC,EAAE,kBAAkB;AACrB,IAAA,CAAC,EAAE,kBAAkB;AACrB,IAAA,EAAE,EAAE,mBAAmB;AACvB,IAAA,EAAE,EAAE,mBAAmB;AACvB,IAAA,EAAE,EAAE,kBAAkB;AACtB,IAAA,IAAI,EAAE,kBAAkB;AACxB,IAAA,IAAI,EAAE,kBAAkB;;AAGnB,MAAM,gBAAgB,GAA2B;AACtD,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,WAAW;;AAGZ,MAAM,gBAAgB,GAA2B;AACtD,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,WAAW;;AAGZ,MAAM,gBAAgB,GAA2B;AACtD,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,WAAW;;AAGZ,MAAM,gBAAgB,GAA2B;AACtD,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,CAAC,EAAE,WAAW;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,WAAW;;AAGZ,MAAM,iBAAiB,GAA2B;AACvD,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,IAAI,EAAE,YAAY;;AAGpB;AACO,MAAM,aAAa,GAA2B;AACnD,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,eAAe;;AAGhB,MAAM,gBAAgB,GAA2B;AACtD,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,IAAI,EAAE,kBAAkB;;AAGnB,MAAM,gBAAgB,GAA2B;AACtD,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,IAAI,EAAE,kBAAkB;;AAGnB,MAAM,gBAAgB,GAA2B;AACtD,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,IAAI,EAAE,kBAAkB;;AAGnB,MAAM,gBAAgB,GAA2B;AACtD,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,IAAI,EAAE,kBAAkB;;AAGnB,MAAM,iBAAiB,GAA2B;AACvD,IAAA,CAAC,EAAE,gBAAgB;AACnB,IAAA,CAAC,EAAE,gBAAgB;AACnB,IAAA,CAAC,EAAE,gBAAgB;AACnB,IAAA,CAAC,EAAE,gBAAgB;AACnB,IAAA,CAAC,EAAE,gBAAgB;AACnB,IAAA,CAAC,EAAE,gBAAgB;AACnB,IAAA,CAAC,EAAE,gBAAgB;AACnB,IAAA,CAAC,EAAE,gBAAgB;AACnB,IAAA,CAAC,EAAE,gBAAgB;AACnB,IAAA,EAAE,EAAE,iBAAiB;AACrB,IAAA,EAAE,EAAE,iBAAiB;AACrB,IAAA,EAAE,EAAE,iBAAiB;AACrB,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,mBAAmB;;AAG3B;;;;AAIG;AACI,MAAM,aAAa,GAA2B;AACnD,IAAA,CAAC,EAAE,aAAa;AAChB,IAAA,CAAC,EAAE,4BAA4B;AAC/B,IAAA,CAAC,EAAE,2CAA2C;AAC9C,IAAA,CAAC,EAAE,2CAA2C;AAC9C,IAAA,CAAC,EAAE,0DAA0D;AAC7D,IAAA,CAAC,EAAE,0DAA0D;AAC7D,IAAA,CAAC,EAAE,0DAA0D;AAC7D,IAAA,CAAC,EAAE,0DAA0D;AAC7D,IAAA,CAAC,EAAE,0DAA0D;AAC7D,IAAA,EAAE,EAAE,2DAA2D;AAC/D,IAAA,EAAE,EAAE,2DAA2D;AAC/D,IAAA,EAAE,EAAE,cAAc;AAClB,IAAA,IAAI,EAAE,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ const useDebounce = (value, delay) => {
6
+ const [debouncedValue, setDebouncedValue] = React.useState(value);
7
+ React.useEffect(() => {
8
+ const handler = setTimeout(() => {
9
+ setDebouncedValue(value);
10
+ }, delay);
11
+ // Cancel the timeout if value or delay changes
12
+ return () => {
13
+ clearTimeout(handler);
14
+ };
15
+ }, [value, delay]);
16
+ return debouncedValue;
17
+ };
18
+ const useDebounceFn = (fn, ms) => {
19
+ const timeout = React.useRef(null);
20
+ React.useEffect(() => {
21
+ return () => clearTimeout(timeout.current);
22
+ }, []);
23
+ return React.useCallback((...args) => {
24
+ clearTimeout(timeout.current);
25
+ timeout.current = setTimeout(() => fn(...args), ms);
26
+ }, [fn, ms]);
27
+ };
28
+
29
+ exports.useDebounce = useDebounce;
30
+ exports.useDebounceFn = useDebounceFn;
31
+ //# sourceMappingURL=use-debounce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-debounce.js","sources":["../../../../src/hooks/use-debounce.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\n\nexport const useDebounce = <T,>(value: T, delay: number): T => {\n const [debouncedValue, setDebouncedValue] = useState<T>(value)\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value)\n }, delay)\n\n // Cancel the timeout if value or delay changes\n return () => {\n clearTimeout(handler)\n }\n }, [value, delay])\n\n return debouncedValue\n}\n\nexport const useDebounceFn = (fn: (...args: any[]) => void, ms: number) => {\n const timeout = useRef<any>(null)\n\n useEffect(() => {\n return () => clearTimeout(timeout.current)\n }, [])\n\n return useCallback(\n (...args: any[]) => {\n clearTimeout(timeout.current)\n timeout.current = setTimeout(() => fn(...args), ms)\n },\n [fn, ms],\n )\n}\n"],"names":["useState","useEffect","useRef","useCallback"],"mappings":";;;;MAEa,WAAW,GAAG,CAAK,KAAQ,EAAE,KAAa,KAAO;IAC5D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAGA,cAAQ,CAAI,KAAK,CAAC;IAE9DC,eAAS,CAAC,MAAK;AACb,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAK;YAC9B,iBAAiB,CAAC,KAAK,CAAC;QAC1B,CAAC,EAAE,KAAK,CAAC;;AAGT,QAAA,OAAO,MAAK;YACV,YAAY,CAAC,OAAO,CAAC;AACvB,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAElB,IAAA,OAAO,cAAc;AACvB;MAEa,aAAa,GAAG,CAAC,EAA4B,EAAE,EAAU,KAAI;AACxE,IAAA,MAAM,OAAO,GAAGC,YAAM,CAAM,IAAI,CAAC;IAEjCD,eAAS,CAAC,MAAK;QACb,OAAO,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;IAC5C,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAOE,iBAAW,CAChB,CAAC,GAAG,IAAW,KAAI;AACjB,QAAA,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;AAC7B,QAAA,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACrD,IAAA,CAAC,EACD,CAAC,EAAE,EAAE,EAAE,CAAC,CACT;AACH;;;;;"}
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ const useIsMobile = () => {
6
+ const [isMobile, setIsMobile] = React.useState(false);
7
+ React.useEffect(() => {
8
+ const detect = () => {
9
+ const width = window.innerWidth;
10
+ const isTouch = (typeof navigator !== 'undefined' && navigator.maxTouchPoints > 1) ||
11
+ (typeof window !== 'undefined' &&
12
+ typeof window.matchMedia === 'function' &&
13
+ window.matchMedia('(pointer: coarse)').matches);
14
+ setIsMobile(width < 600 && isTouch);
15
+ };
16
+ detect();
17
+ window.addEventListener('resize', detect);
18
+ return () => window.removeEventListener('resize', detect);
19
+ }, []);
20
+ return isMobile;
21
+ };
22
+
23
+ exports.useIsMobile = useIsMobile;
24
+ //# sourceMappingURL=use-is-mobile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-is-mobile.js","sources":["../../../../src/hooks/use-is-mobile.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nexport const useIsMobile = () => {\n const [isMobile, setIsMobile] = useState(false)\n\n useEffect(() => {\n const detect = () => {\n const width = window.innerWidth\n\n const isTouch =\n (typeof navigator !== 'undefined' && navigator.maxTouchPoints > 1) ||\n (typeof window !== 'undefined' &&\n typeof window.matchMedia === 'function' &&\n window.matchMedia('(pointer: coarse)').matches)\n\n setIsMobile(width < 600 && isTouch)\n }\n\n detect()\n window.addEventListener('resize', detect)\n return () => window.removeEventListener('resize', detect)\n }, [])\n\n return isMobile\n}\n"],"names":["useState","useEffect"],"mappings":";;;;AAEO,MAAM,WAAW,GAAG,MAAK;IAC9B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC;IAE/CC,eAAS,CAAC,MAAK;QACb,MAAM,MAAM,GAAG,MAAK;AAClB,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU;AAE/B,YAAA,MAAM,OAAO,GACX,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC;iBAChE,OAAO,MAAM,KAAK,WAAW;AAC5B,oBAAA,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;oBACvC,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC;AAEnD,YAAA,WAAW,CAAC,KAAK,GAAG,GAAG,IAAI,OAAO,CAAC;AACrC,QAAA,CAAC;AAED,QAAA,MAAM,EAAE;AACR,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC;QACzC,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3D,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,QAAQ;AACjB;;;;"}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var useIsMobile = require('./use-is-mobile.js');
4
+ var useIsTablet = require('./use-is-tablet.js');
5
+
6
+ const useIsTabletOrMobile = () => {
7
+ const isMobile = useIsMobile.useIsMobile();
8
+ const isTablet = useIsTablet.useIsTablet();
9
+ return isMobile || isTablet;
10
+ };
11
+
12
+ exports.useIsTabletOrMobile = useIsTabletOrMobile;
13
+ //# sourceMappingURL=use-is-tablet-or-mobile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-is-tablet-or-mobile.js","sources":["../../../../src/hooks/use-is-tablet-or-mobile.tsx"],"sourcesContent":["import { useIsMobile } from './use-is-mobile'\nimport { useIsTablet } from './use-is-tablet'\n\nexport const useIsTabletOrMobile = () => {\n const isMobile = useIsMobile()\n const isTablet = useIsTablet()\n\n return isMobile || isTablet\n}\n"],"names":["useIsMobile","useIsTablet"],"mappings":";;;;;AAGO,MAAM,mBAAmB,GAAG,MAAK;AACtC,IAAA,MAAM,QAAQ,GAAGA,uBAAW,EAAE;AAC9B,IAAA,MAAM,QAAQ,GAAGC,uBAAW,EAAE;IAE9B,OAAO,QAAQ,IAAI,QAAQ;AAC7B;;;;"}
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ const useIsTablet = () => {
6
+ const [isTablet, setIsTablet] = React.useState(false);
7
+ React.useEffect(() => {
8
+ const detect = () => {
9
+ const width = window.innerWidth;
10
+ const isTouch = navigator.maxTouchPoints > 1 || window.matchMedia('(pointer: coarse)').matches;
11
+ setIsTablet(width >= 600 && width <= 1024 && isTouch);
12
+ };
13
+ detect();
14
+ window.addEventListener('resize', detect);
15
+ return () => window.removeEventListener('resize', detect);
16
+ }, []);
17
+ return isTablet;
18
+ };
19
+
20
+ exports.useIsTablet = useIsTablet;
21
+ //# sourceMappingURL=use-is-tablet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-is-tablet.js","sources":["../../../../src/hooks/use-is-tablet.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nexport const useIsTablet = () => {\n const [isTablet, setIsTablet] = useState(false)\n\n useEffect(() => {\n const detect = () => {\n const width = window.innerWidth\n\n const isTouch = navigator.maxTouchPoints > 1 || window.matchMedia('(pointer: coarse)').matches\n\n setIsTablet(width >= 600 && width <= 1024 && isTouch)\n }\n\n detect()\n window.addEventListener('resize', detect)\n return () => window.removeEventListener('resize', detect)\n }, [])\n\n return isTablet\n}\n"],"names":["useState","useEffect"],"mappings":";;;;AAEO,MAAM,WAAW,GAAG,MAAK;IAC9B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC;IAE/CC,eAAS,CAAC,MAAK;QACb,MAAM,MAAM,GAAG,MAAK;AAClB,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU;AAE/B,YAAA,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,OAAO;YAE9F,WAAW,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC;AACvD,QAAA,CAAC;AAED,QAAA,MAAM,EAAE;AACR,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC;QACzC,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3D,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,QAAQ;AACjB;;;;"}