@ya-accelerators/nextjs-framework 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/@types/general.d.ts +1 -0
  2. package/@types/image.d.ts +8 -0
  3. package/@types/next-auth.d.ts +18 -0
  4. package/dist/env.client.d.ts +3 -0
  5. package/dist/env.client.js +9 -0
  6. package/dist/env.client.js.map +1 -0
  7. package/dist/env.d.ts +6 -0
  8. package/dist/env.js +18 -0
  9. package/dist/env.js.map +1 -0
  10. package/dist/hooks/date/index.d.ts +11 -0
  11. package/dist/hooks/date/index.js +14 -0
  12. package/dist/hooks/date/index.js.map +1 -0
  13. package/dist/hooks/dispatch/index.d.ts +9 -0
  14. package/dist/hooks/dispatch/index.jsx +25 -0
  15. package/dist/hooks/dispatch/index.jsx.map +1 -0
  16. package/dist/hooks/index.d.ts +6 -0
  17. package/dist/hooks/index.js +7 -0
  18. package/dist/hooks/index.js.map +1 -0
  19. package/dist/hooks/loading/index.d.ts +10 -0
  20. package/dist/hooks/loading/index.jsx +22 -0
  21. package/dist/hooks/loading/index.jsx.map +1 -0
  22. package/dist/hooks/localStorage/index.d.ts +1 -0
  23. package/dist/hooks/localStorage/index.js +53 -0
  24. package/dist/hooks/localStorage/index.js.map +1 -0
  25. package/dist/hooks/modal/index.d.ts +26 -0
  26. package/dist/hooks/modal/index.jsx +63 -0
  27. package/dist/hooks/modal/index.jsx.map +1 -0
  28. package/dist/hooks/toast/index.d.ts +15 -0
  29. package/dist/hooks/toast/index.jsx +39 -0
  30. package/dist/hooks/toast/index.jsx.map +1 -0
  31. package/dist/i18n/index.d.ts +3 -0
  32. package/dist/i18n/index.js +40 -0
  33. package/dist/i18n/index.js.map +1 -0
  34. package/dist/i18n/strings/en-US.json +18 -0
  35. package/dist/i18n/strings/ja-JP.json +37 -0
  36. package/dist/index.d.ts +7 -0
  37. package/dist/index.js +8 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/lib/cookie/index.d.ts +9 -0
  40. package/dist/lib/cookie/index.js +66 -0
  41. package/dist/lib/cookie/index.js.map +1 -0
  42. package/dist/lib/index.d.ts +10 -0
  43. package/dist/lib/index.js +11 -0
  44. package/dist/lib/index.js.map +1 -0
  45. package/dist/lib/next-auth/index.d.ts +2 -0
  46. package/dist/lib/next-auth/index.js +62 -0
  47. package/dist/lib/next-auth/index.js.map +1 -0
  48. package/dist/lib/s3/index.d.ts +2 -0
  49. package/dist/lib/s3/index.js +17 -0
  50. package/dist/lib/s3/index.js.map +1 -0
  51. package/dist/lib/trpc/index.d.ts +8 -0
  52. package/dist/lib/trpc/index.js +32 -0
  53. package/dist/lib/trpc/index.js.map +1 -0
  54. package/dist/styles/globals.css +26 -0
  55. package/dist/styles/tailwind.config.d.ts +577 -0
  56. package/dist/styles/tailwind.config.js +671 -0
  57. package/dist/styles/tailwind.config.js.map +1 -0
  58. package/dist/styles/tailwind.config.ts +672 -0
  59. package/dist/tsconfig.tsbuildinfo +1 -0
  60. package/dist/ui/component/button/base.d.ts +27 -0
  61. package/dist/ui/component/button/base.jsx +54 -0
  62. package/dist/ui/component/button/base.jsx.map +1 -0
  63. package/dist/ui/component/button/colored/index.d.ts +11 -0
  64. package/dist/ui/component/button/colored/index.jsx +7 -0
  65. package/dist/ui/component/button/colored/index.jsx.map +1 -0
  66. package/dist/ui/component/button/image/index.d.ts +4 -0
  67. package/dist/ui/component/button/image/index.jsx +5 -0
  68. package/dist/ui/component/button/image/index.jsx.map +1 -0
  69. package/dist/ui/component/button/index.d.ts +18 -0
  70. package/dist/ui/component/button/index.jsx +25 -0
  71. package/dist/ui/component/button/index.jsx.map +1 -0
  72. package/dist/ui/component/button/text/index.d.ts +11 -0
  73. package/dist/ui/component/button/text/index.jsx +8 -0
  74. package/dist/ui/component/button/text/index.jsx.map +1 -0
  75. package/dist/ui/component/card/index.d.ts +12 -0
  76. package/dist/ui/component/card/index.jsx +20 -0
  77. package/dist/ui/component/card/index.jsx.map +1 -0
  78. package/dist/ui/component/icon/index.d.ts +7 -0
  79. package/dist/ui/component/icon/index.jsx +3 -0
  80. package/dist/ui/component/icon/index.jsx.map +1 -0
  81. package/dist/ui/component/index.d.ts +95 -0
  82. package/dist/ui/component/index.js +15 -0
  83. package/dist/ui/component/index.js.map +1 -0
  84. package/dist/ui/component/loading/index.d.ts +5 -0
  85. package/dist/ui/component/loading/index.jsx +27 -0
  86. package/dist/ui/component/loading/index.jsx.map +1 -0
  87. package/dist/ui/component/ssr/index.d.ts +5 -0
  88. package/dist/ui/component/ssr/index.jsx +11 -0
  89. package/dist/ui/component/ssr/index.jsx.map +1 -0
  90. package/dist/ui/component/typography/H1/index.d.ts +7 -0
  91. package/dist/ui/component/typography/H1/index.jsx +13 -0
  92. package/dist/ui/component/typography/H1/index.jsx.map +1 -0
  93. package/dist/ui/component/typography/H2/index.d.ts +7 -0
  94. package/dist/ui/component/typography/H2/index.jsx +13 -0
  95. package/dist/ui/component/typography/H2/index.jsx.map +1 -0
  96. package/dist/ui/component/typography/H3/index.d.ts +7 -0
  97. package/dist/ui/component/typography/H3/index.jsx +13 -0
  98. package/dist/ui/component/typography/H3/index.jsx.map +1 -0
  99. package/dist/ui/component/typography/H4/index.d.ts +7 -0
  100. package/dist/ui/component/typography/H4/index.jsx +13 -0
  101. package/dist/ui/component/typography/H4/index.jsx.map +1 -0
  102. package/dist/ui/component/typography/H5/index.d.ts +7 -0
  103. package/dist/ui/component/typography/H5/index.jsx +13 -0
  104. package/dist/ui/component/typography/H5/index.jsx.map +1 -0
  105. package/dist/ui/component/typography/H6/index.d.ts +7 -0
  106. package/dist/ui/component/typography/H6/index.jsx +13 -0
  107. package/dist/ui/component/typography/H6/index.jsx.map +1 -0
  108. package/dist/ui/component/typography/Label/index.d.ts +7 -0
  109. package/dist/ui/component/typography/Label/index.jsx +13 -0
  110. package/dist/ui/component/typography/Label/index.jsx.map +1 -0
  111. package/dist/ui/component/typography/LinkText/index.d.ts +8 -0
  112. package/dist/ui/component/typography/LinkText/index.jsx +14 -0
  113. package/dist/ui/component/typography/LinkText/index.jsx.map +1 -0
  114. package/dist/ui/component/typography/P/index.d.ts +7 -0
  115. package/dist/ui/component/typography/P/index.jsx +13 -0
  116. package/dist/ui/component/typography/P/index.jsx.map +1 -0
  117. package/dist/ui/component/typography/Pre/index.d.ts +7 -0
  118. package/dist/ui/component/typography/Pre/index.jsx +13 -0
  119. package/dist/ui/component/typography/Pre/index.jsx.map +1 -0
  120. package/dist/ui/component/typography/index.d.ts +54 -0
  121. package/dist/ui/component/typography/index.jsx +23 -0
  122. package/dist/ui/component/typography/index.jsx.map +1 -0
  123. package/dist/ui/composite/button/index.d.ts +8 -0
  124. package/dist/ui/composite/button/index.jsx +45 -0
  125. package/dist/ui/composite/button/index.jsx.map +1 -0
  126. package/dist/ui/composite/dropdown/index.d.ts +12 -0
  127. package/dist/ui/composite/dropdown/index.jsx +102 -0
  128. package/dist/ui/composite/dropdown/index.jsx.map +1 -0
  129. package/dist/ui/composite/index.d.ts +342 -0
  130. package/dist/ui/composite/index.js +13 -0
  131. package/dist/ui/composite/index.js.map +1 -0
  132. package/dist/ui/composite/input/address/index.d.ts +33 -0
  133. package/dist/ui/composite/input/address/index.jsx +132 -0
  134. package/dist/ui/composite/input/address/index.jsx.map +1 -0
  135. package/dist/ui/composite/input/address/map.d.ts +64 -0
  136. package/dist/ui/composite/input/address/map.jsx +111 -0
  137. package/dist/ui/composite/input/address/map.jsx.map +1 -0
  138. package/dist/ui/composite/input/address/utils.d.ts +23 -0
  139. package/dist/ui/composite/input/address/utils.js +63 -0
  140. package/dist/ui/composite/input/address/utils.js.map +1 -0
  141. package/dist/ui/composite/input/checkbox/index.d.ts +22 -0
  142. package/dist/ui/composite/input/checkbox/index.jsx +38 -0
  143. package/dist/ui/composite/input/checkbox/index.jsx.map +1 -0
  144. package/dist/ui/composite/input/datePicker/index.d.ts +19 -0
  145. package/dist/ui/composite/input/datePicker/index.jsx +100 -0
  146. package/dist/ui/composite/input/datePicker/index.jsx.map +1 -0
  147. package/dist/ui/composite/input/dateRange/index.d.ts +14 -0
  148. package/dist/ui/composite/input/dateRange/index.jsx +46 -0
  149. package/dist/ui/composite/input/dateRange/index.jsx.map +1 -0
  150. package/dist/ui/composite/input/dateTimePicker/index.d.ts +15 -0
  151. package/dist/ui/composite/input/dateTimePicker/index.jsx +74 -0
  152. package/dist/ui/composite/input/dateTimePicker/index.jsx.map +1 -0
  153. package/dist/ui/composite/input/dateTimeRange/index.d.ts +14 -0
  154. package/dist/ui/composite/input/dateTimeRange/index.jsx +88 -0
  155. package/dist/ui/composite/input/dateTimeRange/index.jsx.map +1 -0
  156. package/dist/ui/composite/input/index.d.ts +216 -0
  157. package/dist/ui/composite/input/index.js +35 -0
  158. package/dist/ui/composite/input/index.js.map +1 -0
  159. package/dist/ui/composite/input/list/index.d.ts +20 -0
  160. package/dist/ui/composite/input/list/index.jsx +30 -0
  161. package/dist/ui/composite/input/list/index.jsx.map +1 -0
  162. package/dist/ui/composite/input/radio/index.d.ts +14 -0
  163. package/dist/ui/composite/input/radio/index.jsx +34 -0
  164. package/dist/ui/composite/input/radio/index.jsx.map +1 -0
  165. package/dist/ui/composite/input/search/index.d.ts +5 -0
  166. package/dist/ui/composite/input/search/index.jsx +38 -0
  167. package/dist/ui/composite/input/search/index.jsx.map +1 -0
  168. package/dist/ui/composite/input/select/ClearIndicator/index.d.ts +4 -0
  169. package/dist/ui/composite/input/select/ClearIndicator/index.jsx +8 -0
  170. package/dist/ui/composite/input/select/ClearIndicator/index.jsx.map +1 -0
  171. package/dist/ui/composite/input/select/Control/index.d.ts +4 -0
  172. package/dist/ui/composite/input/select/Control/index.jsx +23 -0
  173. package/dist/ui/composite/input/select/Control/index.jsx.map +1 -0
  174. package/dist/ui/composite/input/select/DropdownIndicator/index.d.ts +4 -0
  175. package/dist/ui/composite/input/select/DropdownIndicator/index.jsx +8 -0
  176. package/dist/ui/composite/input/select/DropdownIndicator/index.jsx.map +1 -0
  177. package/dist/ui/composite/input/select/GroupHeading/index.d.ts +4 -0
  178. package/dist/ui/composite/input/select/GroupHeading/index.jsx +9 -0
  179. package/dist/ui/composite/input/select/GroupHeading/index.jsx.map +1 -0
  180. package/dist/ui/composite/input/select/Input/index.d.ts +4 -0
  181. package/dist/ui/composite/input/select/Input/index.jsx +7 -0
  182. package/dist/ui/composite/input/select/Input/index.jsx.map +1 -0
  183. package/dist/ui/composite/input/select/Menu/index.d.ts +4 -0
  184. package/dist/ui/composite/input/select/Menu/index.jsx +19 -0
  185. package/dist/ui/composite/input/select/Menu/index.jsx.map +1 -0
  186. package/dist/ui/composite/input/select/MultiValue/index.d.ts +4 -0
  187. package/dist/ui/composite/input/select/MultiValue/index.jsx +15 -0
  188. package/dist/ui/composite/input/select/MultiValue/index.jsx.map +1 -0
  189. package/dist/ui/composite/input/select/Option/index.d.ts +4 -0
  190. package/dist/ui/composite/input/select/Option/index.jsx +79 -0
  191. package/dist/ui/composite/input/select/Option/index.jsx.map +1 -0
  192. package/dist/ui/composite/input/select/Placeholder/index.d.ts +4 -0
  193. package/dist/ui/composite/input/select/Placeholder/index.jsx +7 -0
  194. package/dist/ui/composite/input/select/Placeholder/index.jsx.map +1 -0
  195. package/dist/ui/composite/input/select/SelectContainer/index.d.ts +4 -0
  196. package/dist/ui/composite/input/select/SelectContainer/index.jsx +40 -0
  197. package/dist/ui/composite/input/select/SelectContainer/index.jsx.map +1 -0
  198. package/dist/ui/composite/input/select/SingleValue/index.d.ts +4 -0
  199. package/dist/ui/composite/input/select/SingleValue/index.jsx +17 -0
  200. package/dist/ui/composite/input/select/SingleValue/index.jsx.map +1 -0
  201. package/dist/ui/composite/input/select/index.d.ts +37 -0
  202. package/dist/ui/composite/input/select/index.jsx +242 -0
  203. package/dist/ui/composite/input/select/index.jsx.map +1 -0
  204. package/dist/ui/composite/input/select/types.d.ts +16 -0
  205. package/dist/ui/composite/input/select/types.js +6 -0
  206. package/dist/ui/composite/input/select/types.js.map +1 -0
  207. package/dist/ui/composite/input/text/index.d.ts +15 -0
  208. package/dist/ui/composite/input/text/index.jsx +40 -0
  209. package/dist/ui/composite/input/text/index.jsx.map +1 -0
  210. package/dist/ui/composite/input/textarea/index.d.ts +11 -0
  211. package/dist/ui/composite/input/textarea/index.jsx +62 -0
  212. package/dist/ui/composite/input/textarea/index.jsx.map +1 -0
  213. package/dist/ui/composite/input/timePicker/index.d.ts +13 -0
  214. package/dist/ui/composite/input/timePicker/index.jsx +36 -0
  215. package/dist/ui/composite/input/timePicker/index.jsx.map +1 -0
  216. package/dist/ui/composite/input/timeRange/index.d.ts +16 -0
  217. package/dist/ui/composite/input/timeRange/index.jsx +54 -0
  218. package/dist/ui/composite/input/timeRange/index.jsx.map +1 -0
  219. package/dist/ui/composite/input/weekDaysSelector/index.d.ts +11 -0
  220. package/dist/ui/composite/input/weekDaysSelector/index.jsx +39 -0
  221. package/dist/ui/composite/input/weekDaysSelector/index.jsx.map +1 -0
  222. package/dist/ui/composite/input/weekdayPicker/index.d.ts +13 -0
  223. package/dist/ui/composite/input/weekdayPicker/index.jsx +49 -0
  224. package/dist/ui/composite/input/weekdayPicker/index.jsx.map +1 -0
  225. package/dist/ui/composite/label/index.d.ts +11 -0
  226. package/dist/ui/composite/label/index.jsx +18 -0
  227. package/dist/ui/composite/label/index.jsx.map +1 -0
  228. package/dist/ui/composite/pageTitle/index.d.ts +18 -0
  229. package/dist/ui/composite/pageTitle/index.jsx +62 -0
  230. package/dist/ui/composite/pageTitle/index.jsx.map +1 -0
  231. package/dist/ui/functional/index.d.ts +10 -0
  232. package/dist/ui/functional/index.js +9 -0
  233. package/dist/ui/functional/index.js.map +1 -0
  234. package/dist/ui/functional/notFound/index.d.ts +1 -0
  235. package/dist/ui/functional/notFound/index.jsx +13 -0
  236. package/dist/ui/functional/notFound/index.jsx.map +1 -0
  237. package/dist/ui/functional/signInForm/index.d.ts +4 -0
  238. package/dist/ui/functional/signInForm/index.jsx +45 -0
  239. package/dist/ui/functional/signInForm/index.jsx.map +1 -0
  240. package/dist/ui/functional/signOutForm/index.d.ts +3 -0
  241. package/dist/ui/functional/signOutForm/index.jsx +29 -0
  242. package/dist/ui/functional/signOutForm/index.jsx.map +1 -0
  243. package/dist/ui/index.d.ts +6 -0
  244. package/dist/ui/index.js +7 -0
  245. package/dist/ui/index.js.map +1 -0
  246. package/dist/ui/layout/app/component.d.ts +59 -0
  247. package/dist/ui/layout/app/component.jsx +224 -0
  248. package/dist/ui/layout/app/component.jsx.map +1 -0
  249. package/dist/ui/layout/app/content/index.d.ts +9 -0
  250. package/dist/ui/layout/app/content/index.jsx +18 -0
  251. package/dist/ui/layout/app/content/index.jsx.map +1 -0
  252. package/dist/ui/layout/app/index.d.ts +18 -0
  253. package/dist/ui/layout/app/index.jsx +40 -0
  254. package/dist/ui/layout/app/index.jsx.map +1 -0
  255. package/dist/ui/layout/form/index.d.ts +68 -0
  256. package/dist/ui/layout/form/index.jsx +558 -0
  257. package/dist/ui/layout/form/index.jsx.map +1 -0
  258. package/dist/ui/layout/index.d.ts +356 -0
  259. package/dist/ui/layout/index.js +19 -0
  260. package/dist/ui/layout/index.js.map +1 -0
  261. package/dist/ui/layout/modal/index.d.ts +7 -0
  262. package/dist/ui/layout/modal/index.jsx +11 -0
  263. package/dist/ui/layout/modal/index.jsx.map +1 -0
  264. package/dist/ui/layout/object/index.d.ts +30 -0
  265. package/dist/ui/layout/object/index.jsx +145 -0
  266. package/dist/ui/layout/object/index.jsx.map +1 -0
  267. package/dist/ui/layout/root/index.d.ts +10 -0
  268. package/dist/ui/layout/root/index.jsx +31 -0
  269. package/dist/ui/layout/root/index.jsx.map +1 -0
  270. package/dist/ui/layout/root/provider/index.d.ts +7 -0
  271. package/dist/ui/layout/root/provider/index.jsx +26 -0
  272. package/dist/ui/layout/root/provider/index.jsx.map +1 -0
  273. package/dist/ui/layout/tab/component.d.ts +4 -0
  274. package/dist/ui/layout/tab/component.jsx +16 -0
  275. package/dist/ui/layout/tab/component.jsx.map +1 -0
  276. package/dist/ui/layout/tab/content/index.d.ts +8 -0
  277. package/dist/ui/layout/tab/content/index.jsx +8 -0
  278. package/dist/ui/layout/tab/content/index.jsx.map +1 -0
  279. package/dist/ui/layout/tab/index.d.ts +11 -0
  280. package/dist/ui/layout/tab/index.jsx +25 -0
  281. package/dist/ui/layout/tab/index.jsx.map +1 -0
  282. package/dist/ui/layout/table/index.d.ts +33 -0
  283. package/dist/ui/layout/table/index.jsx +283 -0
  284. package/dist/ui/layout/table/index.jsx.map +1 -0
  285. package/dist/ui/layout/toast/index.d.ts +7 -0
  286. package/dist/ui/layout/toast/index.jsx +18 -0
  287. package/dist/ui/layout/toast/index.jsx.map +1 -0
  288. package/dist/ui/theme/border/index.d.ts +28 -0
  289. package/dist/ui/theme/border/index.js +67 -0
  290. package/dist/ui/theme/border/index.js.map +1 -0
  291. package/dist/ui/theme/color/index.d.ts +32 -0
  292. package/dist/ui/theme/color/index.js +106 -0
  293. package/dist/ui/theme/color/index.js.map +1 -0
  294. package/dist/ui/theme/index.d.ts +4 -0
  295. package/dist/ui/theme/index.js +5 -0
  296. package/dist/ui/theme/index.js.map +1 -0
  297. package/dist/ui/theme/rounded/index.d.ts +9 -0
  298. package/dist/ui/theme/rounded/index.js +14 -0
  299. package/dist/ui/theme/rounded/index.js.map +1 -0
  300. package/dist/ui/theme/size/index.d.ts +15 -0
  301. package/dist/ui/theme/size/index.js +55 -0
  302. package/dist/ui/theme/size/index.js.map +1 -0
  303. package/dist/ui/types/index.d.ts +113 -0
  304. package/dist/ui/types/index.js +33 -0
  305. package/dist/ui/types/index.js.map +1 -0
  306. package/dist/util/client.d.ts +2 -0
  307. package/dist/util/client.js +4 -0
  308. package/dist/util/client.js.map +1 -0
  309. package/dist/util/date/impl.d.ts +7 -0
  310. package/dist/util/date/impl.js +22 -0
  311. package/dist/util/date/impl.js.map +1 -0
  312. package/dist/util/date/index.d.ts +17 -0
  313. package/dist/util/date/index.js +16 -0
  314. package/dist/util/date/index.js.map +1 -0
  315. package/dist/util/index.d.ts +17 -0
  316. package/dist/util/index.js +143 -0
  317. package/dist/util/index.js.map +1 -0
  318. package/package.json +62 -0
@@ -0,0 +1,111 @@
1
+ 'use client';
2
+ import LocationOnIcon from '@mui/icons-material/LocationOn';
3
+ import classNames from 'classnames';
4
+ import { useEffect, useRef, useState } from 'react';
5
+ import { Component } from '../../../component';
6
+ import { Rounded } from '../../../theme';
7
+ export const GoogleMapPicker = ({ apiKey, initialLat = 35.6812, initialLng = 139.7671, onLocationSelect, rounded = Rounded.m, disabled = false, className, }) => {
8
+ const mapRef = useRef(null);
9
+ const [mapLoaded, setMapLoaded] = useState(false);
10
+ const [selectedLocation, setSelectedLocation] = useState(initialLat && initialLng ? { lat: initialLat, lng: initialLng } : null);
11
+ useEffect(() => {
12
+ if (!apiKey || mapLoaded)
13
+ return;
14
+ const script = document.createElement('script');
15
+ script.src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&libraries=places`;
16
+ script.async = true;
17
+ script.defer = true;
18
+ script.onload = () => setMapLoaded(true);
19
+ document.head.appendChild(script);
20
+ return () => {
21
+ document.head.removeChild(script);
22
+ };
23
+ }, [apiKey, mapLoaded]);
24
+ useEffect(() => {
25
+ if (!mapLoaded || !mapRef.current || !window.google)
26
+ return;
27
+ const mapOptions = {
28
+ center: { lat: initialLat, lng: initialLng },
29
+ zoom: 15,
30
+ mapTypeControl: false,
31
+ streetViewControl: false,
32
+ fullscreenControl: false,
33
+ };
34
+ const map = new window.google.maps.Map(mapRef.current, mapOptions);
35
+ let marker = null;
36
+ if (selectedLocation) {
37
+ marker = new window.google.maps.Marker({
38
+ position: selectedLocation,
39
+ map,
40
+ draggable: true,
41
+ });
42
+ map.setCenter(selectedLocation);
43
+ }
44
+ window.google.maps.event.addListener(map, 'click', (e) => {
45
+ if (disabled)
46
+ return;
47
+ const clickedLocation = {
48
+ lat: e.latLng.lat(),
49
+ lng: e.latLng.lng(),
50
+ };
51
+ if (marker) {
52
+ marker.setPosition(clickedLocation);
53
+ }
54
+ else {
55
+ marker = new window.google.maps.Marker({
56
+ position: clickedLocation,
57
+ map,
58
+ draggable: true,
59
+ });
60
+ }
61
+ setSelectedLocation(clickedLocation);
62
+ onLocationSelect(clickedLocation.lat, clickedLocation.lng);
63
+ });
64
+ if (marker) {
65
+ window.google.maps.event.addListener(marker, 'dragend', () => {
66
+ if (disabled)
67
+ return;
68
+ const position = marker?.getPosition();
69
+ if (position && marker) {
70
+ const newLocation = {
71
+ lat: position.lat(),
72
+ lng: position.lng(),
73
+ };
74
+ setSelectedLocation(newLocation);
75
+ onLocationSelect(newLocation.lat, newLocation.lng);
76
+ }
77
+ });
78
+ }
79
+ }, [mapLoaded, mapRef, initialLat, initialLng, selectedLocation, onLocationSelect, disabled]);
80
+ const getRoundedClass = () => {
81
+ switch (rounded) {
82
+ case Rounded.none:
83
+ return '';
84
+ case Rounded.s:
85
+ return 'rounded-small';
86
+ case Rounded.m:
87
+ return 'rounded-medium';
88
+ case Rounded.l:
89
+ return 'rounded-large';
90
+ case Rounded.half:
91
+ return 'rounded-[50%]';
92
+ default:
93
+ return 'rounded-medium';
94
+ }
95
+ };
96
+ return (<div className={classNames('w-full', className)}>
97
+ {selectedLocation && (<div className='mb-control-padding-sm flex items-center justify-end'>
98
+ <LocationOnIcon className='text-primary mr-1'/>
99
+ <Component.Typography.Label>
100
+ {selectedLocation.lat.toFixed(6)}, {selectedLocation.lng.toFixed(6)}
101
+ </Component.Typography.Label>
102
+ </div>)}
103
+
104
+ <div className={classNames('h-64 w-full border border-gray-300', getRoundedClass())}>
105
+ {!apiKey ? (<div className='flex h-full items-center justify-center'>
106
+ <Component.Typography.Label>Google Maps APIキーが設定されていません</Component.Typography.Label>
107
+ </div>) : (<div ref={mapRef} className='h-full w-full'/>)}
108
+ </div>
109
+ </div>);
110
+ };
111
+ //# sourceMappingURL=map.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.jsx","sourceRoot":"","sources":["../../../../../../src/ui/composite/input/address/map.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface AddressLookupResult {
2
+ zipCode: string;
3
+ region: string;
4
+ city: string;
5
+ line1: string;
6
+ lat?: number;
7
+ lng?: number;
8
+ }
9
+ export declare const lookupJapaneseAddress: (zipCode: string) => Promise<AddressLookupResult | null>;
10
+ export declare const lookupInternationalAddress: (zipCode: string, countryCode: string) => Promise<AddressLookupResult | null>;
11
+ export interface CountryAddressFormat {
12
+ labels: {
13
+ zipCode: string;
14
+ region: string;
15
+ city: string;
16
+ line1: string;
17
+ line2: string;
18
+ line3?: string;
19
+ };
20
+ order: Array<'zipCode' | 'region' | 'city' | 'line1' | 'line2' | 'line3'>;
21
+ required: Array<'zipCode' | 'region' | 'city' | 'line1' | 'line2' | 'line3'>;
22
+ }
23
+ export declare const getCountryAddressFormat: (countryCode: string, translate?: (key: string) => string) => CountryAddressFormat;
@@ -0,0 +1,63 @@
1
+ 'use client';
2
+ export const lookupJapaneseAddress = async (zipCode) => {
3
+ try {
4
+ const response = await fetch(`https://zipcloud.ibsnet.co.jp/api/search?zipcode=${zipCode}`);
5
+ const data = await response.json();
6
+ if (data.results && data.results.length > 0) {
7
+ const result = data.results[0];
8
+ return {
9
+ zipCode,
10
+ region: result.address1, // 都道府県
11
+ city: result.address2, // 市区町村
12
+ line1: result.address3, // 町名
13
+ lat: undefined,
14
+ lng: undefined,
15
+ };
16
+ }
17
+ return null;
18
+ }
19
+ catch (error) {
20
+ console.error('Error looking up address:', error);
21
+ return null;
22
+ }
23
+ };
24
+ export const lookupInternationalAddress = async (zipCode, countryCode) => {
25
+ if (countryCode === 'JP') {
26
+ return lookupJapaneseAddress(zipCode);
27
+ }
28
+ return null;
29
+ };
30
+ export const getCountryAddressFormat = (countryCode, translate = (key) => key) => {
31
+ const japanFormat = {
32
+ labels: {
33
+ zipCode: translate('郵便番号'),
34
+ region: translate('都道府県'),
35
+ city: translate('市区町村'),
36
+ line1: translate('町名・番地'),
37
+ line2: translate('建物名・部屋番号'),
38
+ },
39
+ order: ['zipCode', 'region', 'city', 'line1', 'line2'],
40
+ required: ['zipCode', 'region', 'city', 'line1'],
41
+ };
42
+ const usFormat = {
43
+ labels: {
44
+ zipCode: translate('Zip Code'),
45
+ region: translate('State'),
46
+ city: translate('City'),
47
+ line1: translate('Street Address'),
48
+ line2: translate('Apt, Suite, etc.'),
49
+ line3: translate('Additional Info'),
50
+ },
51
+ order: ['line1', 'line2', 'city', 'region', 'zipCode', 'line3'],
52
+ required: ['line1', 'city', 'region', 'zipCode'],
53
+ };
54
+ switch (countryCode) {
55
+ case 'JP':
56
+ return japanFormat;
57
+ case 'US':
58
+ return usFormat;
59
+ default:
60
+ return japanFormat; // デフォルトとして日本のフォーマットを使用
61
+ }
62
+ };
63
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/ui/composite/input/address/utils.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAWZ,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,OAAe,EAAuC,EAAE;IAClG,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oDAAoD,OAAO,EAAE,CAAC,CAAA;QAC3F,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAElC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YAC9B,OAAO;gBACL,OAAO;gBACP,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO;gBAChC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO;gBAC9B,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK;gBAC7B,GAAG,EAAE,SAAS;gBACd,GAAG,EAAE,SAAS;aACf,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAA;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,OAAe,EACf,WAAmB,EACkB,EAAE;IACvC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAeD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,WAAmB,EACnB,YAAqC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAC3B,EAAE;IACxB,MAAM,WAAW,GAAyB;QACxC,MAAM,EAAE;YACN,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC;YAC1B,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;YACzB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;YACvB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACzB,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC;SAC7B;QACD,KAAK,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QACtD,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;KACjD,CAAA;IAED,MAAM,QAAQ,GAAyB;QACrC,MAAM,EAAE;YACN,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC;YAC9B,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC;YAC1B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;YACvB,KAAK,EAAE,SAAS,CAAC,gBAAgB,CAAC;YAClC,KAAK,EAAE,SAAS,CAAC,kBAAkB,CAAC;YACpC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;SACpC;QACD,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC;QAC/D,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;KACjD,CAAA;IAED,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,IAAI;YACP,OAAO,WAAW,CAAA;QACpB,KAAK,IAAI;YACP,OAAO,QAAQ,CAAA;QACjB;YACE,OAAO,WAAW,CAAA,CAAC,uBAAuB;IAC9C,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,22 @@
1
+ export declare const Checkbox: ({ orientation, name, options, defaultValue, onChange, disabled, error, }: {
2
+ orientation: "horizontal" | "vertical";
3
+ name: string;
4
+ options: {
5
+ value: string;
6
+ label: string;
7
+ disabled?: boolean;
8
+ }[];
9
+ defaultValue?: string[] | null;
10
+ onChange?: (values: string[]) => void;
11
+ disabled?: boolean;
12
+ error?: boolean;
13
+ }) => import("react").JSX.Element;
14
+ export declare const CheckboxItem: ({ name, checked, onClick, value, label, disabled, error, }: {
15
+ name: string;
16
+ checked: boolean;
17
+ onClick: () => void;
18
+ value: string;
19
+ label: string;
20
+ disabled?: boolean;
21
+ error?: boolean;
22
+ }) => import("react").JSX.Element;
@@ -0,0 +1,38 @@
1
+ 'use client';
2
+ import CheckBoxIcon from '@mui/icons-material/CheckBox';
3
+ import CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';
4
+ import classNames from 'classnames';
5
+ import { useTranslations } from 'next-intl';
6
+ import { useState } from 'react';
7
+ import { Component } from '../../../component';
8
+ import { getTextColorTypeClassName, TextColorTypes } from '../../../theme';
9
+ export const Checkbox = ({ orientation, name, options, defaultValue, onChange, disabled, error, }) => {
10
+ const [selected, setSelected] = useState(defaultValue ?? []);
11
+ return (<div className={classNames('flex flex-wrap', orientation === 'vertical'
12
+ ? 'gap-control-padding-md flex-col'
13
+ : 'gap-control-padding-xl gap-y-control-padding-sm')}>
14
+ {options.map((x, i) => (<CheckboxItem key={i} name={name} checked={selected.includes(x.value)} onClick={() => {
15
+ if (selected.includes(x.value)) {
16
+ const newSelected = selected.filter((z) => z !== x.value);
17
+ setSelected(newSelected);
18
+ onChange?.(newSelected);
19
+ }
20
+ else {
21
+ const newSelected = [...selected, x.value];
22
+ setSelected(newSelected);
23
+ onChange?.(newSelected);
24
+ }
25
+ }} disabled={disabled === true || x.disabled === true} error={error} {...x}/>))}
26
+ </div>);
27
+ };
28
+ export const CheckboxItem = ({ name, checked, onClick, value, label, disabled, error, }) => {
29
+ const t = useTranslations();
30
+ return (<fieldset data-disabled={disabled} className={classNames('gap-control-padding-md flex w-fit items-center justify-center whitespace-nowrap', disabled ? 'clickable-disabled' : 'clickable-enabled')} onClick={disabled ? undefined : onClick}>
31
+ <input type='checkbox' name={name} value={value} checked={checked} onChange={() => { }} className='hidden'/>
32
+ {checked ? (<CheckBoxIcon className={classNames('size-control-base!', getTextColorTypeClassName(error ? TextColorTypes.error : TextColorTypes.primary, true))}/>) : (<CheckBoxOutlineBlankIcon className={classNames('size-control-base!', getTextColorTypeClassName(error ? TextColorTypes.error : TextColorTypes.disabled, true))}/>)}
33
+ <Component.Typography.Label container={true} className={classNames('text-sm', disabled ? 'cursor-default' : 'cursor-pointer')}>
34
+ {t(label)}
35
+ </Component.Typography.Label>
36
+ </fieldset>);
37
+ };
38
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../../src/ui/composite/input/checkbox/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import 'react-datepicker/dist/react-datepicker.css';
2
+ import { Rounded } from '../../../theme';
3
+ export declare const DatePicker: (props: Parameters<typeof DatePickerImpl>[0]) => import("react").JSX.Element;
4
+ declare const DatePickerImpl: ({ name, rounded, placement, defaultValue, value, min, max, onChange, disabled, className, required, error, autoFocus, }: {
5
+ name: string;
6
+ rounded?: Rounded;
7
+ placement?: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
8
+ defaultValue?: Date;
9
+ value?: Date;
10
+ min?: Date;
11
+ max?: Date;
12
+ onChange?: (value?: Date) => void;
13
+ disabled?: boolean;
14
+ className?: string;
15
+ required?: boolean;
16
+ error?: boolean;
17
+ autoFocus?: boolean;
18
+ }) => import("react").JSX.Element;
19
+ export {};
@@ -0,0 +1,100 @@
1
+ 'use client';
2
+ import 'react-datepicker/dist/react-datepicker.css';
3
+ import ClearIcon from '@mui/icons-material/Clear';
4
+ import NavigateBeforeOutlinedIcon from '@mui/icons-material/NavigateBeforeOutlined';
5
+ import NavigateNextOutlinedIcon from '@mui/icons-material/NavigateNextOutlined';
6
+ import classNames from 'classnames';
7
+ import { enUS, ja } from 'date-fns/locale';
8
+ import { forwardRef, useMemo, useState } from 'react';
9
+ import RDatePicker, { registerLocale } from 'react-datepicker';
10
+ import { useDateFormat } from '../../../../hooks/date';
11
+ import { Component } from '../../../component';
12
+ import { Rounded, TextColorTypes } from '../../../theme';
13
+ import { Text } from '../text';
14
+ registerLocale('ja-JP', ja);
15
+ registerLocale('en-US', enUS);
16
+ export const DatePicker = (props) => {
17
+ const { name, value, ...rest } = props;
18
+ const key = useMemo(() => `${name}-${value?.toISOString()}`, [name, value]);
19
+ return <DatePickerImpl {...rest} key={key} name={name} value={value}/>;
20
+ };
21
+ const DatePickerImpl = ({ name, rounded = Rounded.m, placement, defaultValue, value, min, max, onChange, disabled, className, required, error, autoFocus, }) => {
22
+ const { toLocalISOString, toDateString, dataFormat } = useDateFormat();
23
+ const [date, setDate] = useState(() => {
24
+ const dateToUse = value ?? defaultValue;
25
+ if (dateToUse) {
26
+ return new Date(dateToUse.getFullYear(), dateToUse.getMonth(), dateToUse.getDate());
27
+ }
28
+ return undefined;
29
+ });
30
+ const [onFocus, setOnFocus] = useState(autoFocus ?? false);
31
+ return (<div className={classNames('flex w-full min-w-[100px] cursor-pointer', className)}>
32
+ <input className='absolute size-0 opacity-0' name={name} value={date ? toLocalISOString(date) : ''} onChange={() => { }} required={required}/>
33
+ <div className='relative w-full'>
34
+ <RDatePicker portalId='portal' wrapperClassName='w-full' selected={date} minDate={min ?? undefined} maxDate={max ?? undefined} onChange={(e) => {
35
+ if (e) {
36
+ const localDate = new Date(e.getFullYear(), e.getMonth(), e.getDate());
37
+ setDate(localDate);
38
+ onChange?.(localDate);
39
+ }
40
+ else {
41
+ setDate(undefined);
42
+ onChange?.(undefined);
43
+ }
44
+ const hiddenInput = document.querySelector(`input[name="${name}"]`);
45
+ if (hiddenInput) {
46
+ const event = new Event('change', { bubbles: true });
47
+ hiddenInput.dispatchEvent(event);
48
+ }
49
+ }} placeholderText={toDateString(new Date())} dateFormat={dataFormat} renderCustomHeader={({ date, changeYear, changeMonth, decreaseMonth, increaseMonth, prevMonthButtonDisabled, nextMonthButtonDisabled, }) => (<CustomCalendarHeader date={date} changeYear={changeYear} changeMonth={changeMonth} decreaseMonth={decreaseMonth} increaseMonth={increaseMonth} prevMonthButtonDisabled={prevMonthButtonDisabled} nextMonthButtonDisabled={nextMonthButtonDisabled} minYear={min?.getFullYear()} maxYear={max?.getFullYear()}/>)} onCalendarOpen={() => setOnFocus(true)} onCalendarClose={() => setOnFocus(false)} customInput={<CustomInput value={toDateString(date)} focused={onFocus} rounded={rounded} disabled={disabled} error={error}/>} popperPlacement={placement} disabled={disabled} required={false}/>
50
+ {required !== true && date && (<div className='p-control-padding-base absolute top-0 right-0 bottom-0 flex items-center justify-center'>
51
+ <ClearIcon className='bg-transparent! size-control-sm! cursor-pointer!' onClick={() => {
52
+ setDate(undefined);
53
+ onChange?.(undefined);
54
+ const hiddenInput = document.querySelector(`input[name="${name}"]`);
55
+ if (hiddenInput) {
56
+ const event = new Event('change', { bubbles: true });
57
+ hiddenInput.dispatchEvent(event);
58
+ }
59
+ }}/>
60
+ </div>)}
61
+ </div>
62
+ </div>);
63
+ };
64
+ const CustomInput = forwardRef(({ value, focused, rounded, disabled, error, placeholder, onClick, }, ref) => {
65
+ return (<div className='w-full' onClick={onClick}>
66
+ <Text key={value} name='' autoComplete='off' focused={focused} rounded={rounded} disabled={disabled} inputClassName='pointer-events-none caret-transparent' required={false} isClearable={false} error={error} placeholder={placeholder} value={value} readOnly={true} ref={ref}/>
67
+ </div>);
68
+ });
69
+ CustomInput.displayName = 'CustomInput';
70
+ const CustomCalendarHeader = ({ date, changeYear, changeMonth, decreaseMonth, increaseMonth, prevMonthButtonDisabled, nextMonthButtonDisabled, minYear, maxYear, }) => {
71
+ const { toString } = useDateFormat();
72
+ const years = useMemo(() => [...Array((maxYear ?? new Date().getFullYear() + 50) - (minYear ?? 1970) + 1)].map((_, i) => (minYear ?? 1970) + i), [minYear, maxYear]);
73
+ const handleYearChange = (e) => {
74
+ const year = Number(e.target.value);
75
+ changeYear(year);
76
+ };
77
+ const handleMonthChange = (e) => {
78
+ const month = Number(e.target.value);
79
+ changeMonth(month);
80
+ };
81
+ return (<div className='flex flex-col'>
82
+ <div className='flex items-center justify-between'>
83
+ <Component.Button variant='text' className='bg-transparent!' icon={NavigateBeforeOutlinedIcon} color={TextColorTypes.sub} onClick={decreaseMonth} disabled={prevMonthButtonDisabled}/>
84
+ <div className='flex items-center justify-center'>
85
+ <select key={`year-${date.getFullYear()}`} defaultValue={date.getFullYear()} onChange={handleYearChange}>
86
+ {years.map((year) => (<option key={year} value={year}>
87
+ {year}
88
+ </option>))}
89
+ </select>
90
+ <select key={`month-${date.getMonth()}`} defaultValue={date.getMonth()} onChange={handleMonthChange}>
91
+ {Array.from({ length: 12 }, (_, index) => toString(new Date(date.getFullYear(), index), { month: 'long' })).map((month, index) => (<option key={month} value={index}>
92
+ {month}
93
+ </option>))}
94
+ </select>
95
+ </div>
96
+ <Component.Button variant='text' className='bg-transparent!' icon={NavigateNextOutlinedIcon} color={TextColorTypes.sub} onClick={increaseMonth} disabled={nextMonthButtonDisabled}/>
97
+ </div>
98
+ </div>);
99
+ };
100
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../../src/ui/composite/input/datePicker/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { ComponentProps } from 'react';
2
+ import { DatePicker } from '../datePicker';
3
+ export declare const DateRange: ({ defaultValue, name, disabled, error, stepDays, onChange, ...props }: Omit<ComponentProps<typeof DatePicker>, "defaultValue" | "onChange"> & {
4
+ defaultValue?: {
5
+ start?: Date;
6
+ end?: Date;
7
+ };
8
+ error?: boolean;
9
+ stepDays?: number;
10
+ onChange?: (value: {
11
+ start?: Date;
12
+ end?: Date;
13
+ }) => void;
14
+ }) => import("react").JSX.Element;
@@ -0,0 +1,46 @@
1
+ 'use client';
2
+ import { useCallback, useState } from 'react';
3
+ import { Component } from '../../../component';
4
+ import { DatePicker } from '../datePicker';
5
+ export const DateRange = ({ defaultValue, name, disabled, error, stepDays = 0, onChange, ...props }) => {
6
+ const [startDate, setStartDate] = useState(defaultValue?.start);
7
+ const [endDate, setEndDate] = useState(defaultValue?.end);
8
+ const handleStartDateChange = useCallback((newStartDate) => {
9
+ setStartDate(newStartDate);
10
+ if (!newStartDate) {
11
+ return;
12
+ }
13
+ const minEndDate = new Date(newStartDate.getTime() + stepDays * 24 * 60 * 60 * 1000);
14
+ if (!endDate || endDate.getTime() < minEndDate.getTime()) {
15
+ setEndDate(minEndDate);
16
+ }
17
+ }, [endDate, stepDays]);
18
+ const handleEndDateChange = useCallback((newEndDate) => {
19
+ if (startDate) {
20
+ const minEndDate = new Date(startDate.getTime() + stepDays * 24 * 60 * 60 * 1000);
21
+ if (newEndDate && newEndDate.getTime() < minEndDate.getTime()) {
22
+ setEndDate(minEndDate);
23
+ }
24
+ else {
25
+ setEndDate(newEndDate);
26
+ }
27
+ }
28
+ else {
29
+ setEndDate(newEndDate);
30
+ }
31
+ }, [startDate, stepDays]);
32
+ return (<div className='gap-control-padding-base flex items-center'>
33
+ <DatePicker {...props} name={`${name}StartAt`} value={startDate} onChange={(e) => {
34
+ handleStartDateChange(e);
35
+ onChange?.({ start: e });
36
+ }} disabled={disabled} error={error}/>
37
+ <Component.Typography.P container={true} disabled={disabled} className='text-sm'>
38
+
39
+ </Component.Typography.P>
40
+ <DatePicker {...props} name={`${name}EndAt`} value={endDate} min={startDate ? new Date(startDate.getTime() + stepDays * 24 * 60 * 60 * 1000) : undefined} onChange={(e) => {
41
+ handleEndDateChange(e);
42
+ onChange?.({ end: e });
43
+ }} disabled={disabled} error={error}/>
44
+ </div>);
45
+ };
46
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../../src/ui/composite/input/dateRange/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { SelectInstance } from 'react-select';
2
+ import type { SelectOption } from '../select/types';
3
+ export declare const DateTimePicker: ({ name, defaultValue, value, min, max, onChange, disabled, required, error, stepMinutes, timeSelectRef, }: {
4
+ name: string;
5
+ defaultValue?: Date;
6
+ value?: Date;
7
+ min?: Date;
8
+ max?: Date;
9
+ onChange?: (value: Date) => void;
10
+ disabled?: boolean;
11
+ required?: boolean;
12
+ error?: boolean;
13
+ stepMinutes?: number;
14
+ timeSelectRef?: React.RefObject<SelectInstance<SelectOption, boolean> | null>;
15
+ }) => import("react").JSX.Element;
@@ -0,0 +1,74 @@
1
+ 'use client';
2
+ import { useState } from 'react';
3
+ import { DatePicker } from '../datePicker';
4
+ import { TimePicker } from '../timePicker';
5
+ export const DateTimePicker = ({ name, defaultValue, value, min, max, onChange, disabled, required, error, stepMinutes, timeSelectRef, }) => {
6
+ const [dateTime, setDateTime] = useState(() => {
7
+ const dateToUse = value ?? defaultValue;
8
+ if (dateToUse === undefined) {
9
+ return undefined;
10
+ }
11
+ const ret = new Date(dateToUse);
12
+ ret.setSeconds(0);
13
+ ret.setMilliseconds(0);
14
+ const step = stepMinutes ?? 30;
15
+ if (step > 0) {
16
+ const m = ret.getMinutes();
17
+ const rounded = Math.round(m / step) * step;
18
+ ret.setMinutes(rounded);
19
+ }
20
+ return ret;
21
+ });
22
+ return (<>
23
+ <input className='absolute size-0 opacity-0' name={name} value={dateTime?.toISOString() ?? ''} onChange={() => { }} required={required}/>
24
+ <div className='gap-control-padding-base flex w-full items-center'>
25
+ <div className='flex-3'>
26
+ <DatePicker name='' key={`date-${dateTime?.toISOString()}`} value={dateTime} min={min} max={max} onChange={(e) => {
27
+ if (!e) {
28
+ setDateTime(undefined);
29
+ return;
30
+ }
31
+ const ret = new Date(dateTime?.getTime() ?? new Date().getTime());
32
+ if (!dateTime) {
33
+ ret.setHours(0);
34
+ ret.setMinutes(0);
35
+ ret.setSeconds(0);
36
+ ret.setMilliseconds(0);
37
+ }
38
+ ret.setFullYear(e.getFullYear());
39
+ ret.setMonth(e.getMonth());
40
+ ret.setDate(e.getDate());
41
+ setDateTime(ret);
42
+ onChange?.(ret);
43
+ }} disabled={disabled} required={required} error={error}/>
44
+ </div>
45
+ <div className='flex-2'>
46
+ <TimePicker name='' key={`time-${dateTime?.toISOString()}`} value={dateTime
47
+ ? `${dateTime.getHours().toString().padStart(2, '0')}:${dateTime.getMinutes().toString().padStart(2, '0')}`
48
+ : undefined} min={min && dateTime && min.toDateString() === dateTime.toDateString()
49
+ ? `${min.getHours().toString().padStart(2, '0')}:${min.getMinutes().toString().padStart(2, '0')}`
50
+ : undefined} max={max && dateTime && max.toDateString() === dateTime.toDateString()
51
+ ? `${max.getHours().toString().padStart(2, '0')}:${max.getMinutes().toString().padStart(2, '0')}`
52
+ : undefined} onChange={(e) => {
53
+ if (!e) {
54
+ setDateTime(undefined);
55
+ return;
56
+ }
57
+ const d = e.split(':');
58
+ const ret = new Date(dateTime?.getTime() ?? new Date().getTime());
59
+ if (!dateTime) {
60
+ ret.setHours(0);
61
+ ret.setMinutes(0);
62
+ ret.setSeconds(0);
63
+ ret.setMilliseconds(0);
64
+ }
65
+ ret.setHours(Number(d[0]));
66
+ ret.setMinutes(Number(d[1]));
67
+ setDateTime(ret);
68
+ onChange?.(ret);
69
+ }} disabled={disabled} required={required} error={error} stepMinutes={stepMinutes} selectRef={timeSelectRef}/>
70
+ </div>
71
+ </div>
72
+ </>);
73
+ };
74
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../../src/ui/composite/input/dateTimePicker/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { ComponentProps } from 'react';
2
+ import { DateTimePicker } from '../dateTimePicker';
3
+ export declare const DateTimeRange: ({ defaultValue, name, disabled, error, stepMinutes, onChange, ...props }: Omit<ComponentProps<typeof DateTimePicker>, "defaultValue" | "onChange"> & {
4
+ defaultValue?: {
5
+ start?: Date;
6
+ end?: Date;
7
+ };
8
+ error?: boolean;
9
+ stepMinutes?: number;
10
+ onChange?: (value: {
11
+ start?: Date;
12
+ end?: Date;
13
+ }) => void;
14
+ }) => import("react").JSX.Element;