@jigowatts/jigowatts-ui 1.2.1 → 2.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 (302) hide show
  1. package/dist/assets/index8.css +1 -1
  2. package/dist/components/Button/index.cjs.js.map +1 -1
  3. package/dist/components/Button/index.es.js.map +1 -1
  4. package/dist/components/Button/index.test.cjs.js +1 -1
  5. package/dist/components/Button/index.test.cjs.js.map +1 -1
  6. package/dist/components/Button/index.test.es.js +1 -1
  7. package/dist/components/Button/index.test.es.js.map +1 -1
  8. package/dist/components/Card/index.cjs.js.map +1 -1
  9. package/dist/components/Card/index.es.js.map +1 -1
  10. package/dist/components/Card/index.test.cjs.js +1 -1
  11. package/dist/components/Card/index.test.cjs.js.map +1 -1
  12. package/dist/components/Card/index.test.es.js +1 -1
  13. package/dist/components/Card/index.test.es.js.map +1 -1
  14. package/dist/components/CardWithTitle/index.cjs.js +1 -1
  15. package/dist/components/CardWithTitle/index.cjs.js.map +1 -1
  16. package/dist/components/CardWithTitle/index.d.ts +6 -0
  17. package/dist/components/CardWithTitle/index.es.js +20 -13
  18. package/dist/components/CardWithTitle/index.es.js.map +1 -1
  19. package/dist/components/CardWithTitle/index.test.cjs.js +1 -1
  20. package/dist/components/CardWithTitle/index.test.cjs.js.map +1 -1
  21. package/dist/components/CardWithTitle/index.test.es.js +2 -2
  22. package/dist/components/CardWithTitle/index.test.es.js.map +1 -1
  23. package/dist/components/CustomLink/index.cjs.js.map +1 -1
  24. package/dist/components/CustomLink/index.es.js.map +1 -1
  25. package/dist/components/CustomLink/index.test.cjs.js +1 -1
  26. package/dist/components/CustomLink/index.test.cjs.js.map +1 -1
  27. package/dist/components/CustomLink/index.test.es.js +2 -2
  28. package/dist/components/CustomLink/index.test.es.js.map +1 -1
  29. package/dist/components/DataTable/index.cjs.js.map +1 -1
  30. package/dist/components/DataTable/index.es.js.map +1 -1
  31. package/dist/components/DataTable/index.test.cjs.js +1 -1
  32. package/dist/components/DataTable/index.test.cjs.js.map +1 -1
  33. package/dist/components/DataTable/index.test.es.js +3 -3
  34. package/dist/components/DataTable/index.test.es.js.map +1 -1
  35. package/dist/components/DatePickerController/index.cjs.js.map +1 -1
  36. package/dist/components/DatePickerController/index.d.ts +1 -0
  37. package/dist/components/DatePickerController/index.es.js.map +1 -1
  38. package/dist/components/DatePickerController/index.test.cjs.js +1 -1
  39. package/dist/components/DatePickerController/index.test.cjs.js.map +1 -1
  40. package/dist/components/DatePickerController/index.test.es.js +1 -1
  41. package/dist/components/DatePickerController/index.test.es.js.map +1 -1
  42. package/dist/components/ErrorMessage/index.cjs.js.map +1 -1
  43. package/dist/components/ErrorMessage/index.es.js.map +1 -1
  44. package/dist/components/ErrorMessage/index.test.cjs.js +1 -1
  45. package/dist/components/ErrorMessage/index.test.cjs.js.map +1 -1
  46. package/dist/components/ErrorMessage/index.test.es.js +2 -2
  47. package/dist/components/ErrorMessage/index.test.es.js.map +1 -1
  48. package/dist/components/EvseStateLabel/index.cjs.js.map +1 -1
  49. package/dist/components/EvseStateLabel/index.es.js.map +1 -1
  50. package/dist/components/FlexButtons/index.cjs.js.map +1 -1
  51. package/dist/components/FlexButtons/index.es.js.map +1 -1
  52. package/dist/components/FlexButtons/index.test.cjs.js +1 -1
  53. package/dist/components/FlexButtons/index.test.cjs.js.map +1 -1
  54. package/dist/components/FlexButtons/index.test.es.js +2 -2
  55. package/dist/components/FlexButtons/index.test.es.js.map +1 -1
  56. package/dist/components/Form/index.cjs.js.map +1 -1
  57. package/dist/components/Form/index.es.js.map +1 -1
  58. package/dist/components/Form/index.test.cjs.js +1 -1
  59. package/dist/components/Form/index.test.cjs.js.map +1 -1
  60. package/dist/components/Form/index.test.es.js +2 -2
  61. package/dist/components/Form/index.test.es.js.map +1 -1
  62. package/dist/components/FormItem/index.cjs.js.map +1 -1
  63. package/dist/components/FormItem/index.es.js.map +1 -1
  64. package/dist/components/FormItem/index.test.cjs.js +1 -1
  65. package/dist/components/FormItem/index.test.cjs.js.map +1 -1
  66. package/dist/components/FormItem/index.test.es.js +2 -2
  67. package/dist/components/FormItem/index.test.es.js.map +1 -1
  68. package/dist/components/FormTitle/index.cjs.js.map +1 -1
  69. package/dist/components/FormTitle/index.es.js.map +1 -1
  70. package/dist/components/FormTitle/index.test.cjs.js +1 -1
  71. package/dist/components/FormTitle/index.test.cjs.js.map +1 -1
  72. package/dist/components/FormTitle/index.test.es.js +2 -2
  73. package/dist/components/FormTitle/index.test.es.js.map +1 -1
  74. package/dist/components/HStack/index.cjs.js.map +1 -1
  75. package/dist/components/HStack/index.es.js.map +1 -1
  76. package/dist/components/HStack/index.test.cjs.js +1 -1
  77. package/dist/components/HStack/index.test.cjs.js.map +1 -1
  78. package/dist/components/HStack/index.test.es.js +2 -2
  79. package/dist/components/HStack/index.test.es.js.map +1 -1
  80. package/dist/components/HtmlRenderer/index.cjs.js +1 -1
  81. package/dist/components/HtmlRenderer/index.es.js +1 -1
  82. package/dist/components/HtmlRenderer/index.test.cjs.js +1 -1
  83. package/dist/components/HtmlRenderer/index.test.cjs.js.map +1 -1
  84. package/dist/components/HtmlRenderer/index.test.es.js +2 -2
  85. package/dist/components/HtmlRenderer/index.test.es.js.map +1 -1
  86. package/dist/components/Input/index.cjs.js.map +1 -1
  87. package/dist/components/Input/index.es.js.map +1 -1
  88. package/dist/components/Input/index.test.cjs.js +1 -1
  89. package/dist/components/Input/index.test.cjs.js.map +1 -1
  90. package/dist/components/Input/index.test.es.js +1 -1
  91. package/dist/components/Input/index.test.es.js.map +1 -1
  92. package/dist/components/InputController/index.cjs.js.map +1 -1
  93. package/dist/components/InputController/index.es.js.map +1 -1
  94. package/dist/components/InputController/index.test.cjs.js +1 -1
  95. package/dist/components/InputController/index.test.cjs.js.map +1 -1
  96. package/dist/components/InputController/index.test.es.js +1 -1
  97. package/dist/components/InputController/index.test.es.js.map +1 -1
  98. package/dist/components/InputGroup/index.cjs.js.map +1 -1
  99. package/dist/components/InputGroup/index.es.js.map +1 -1
  100. package/dist/components/InputGroup/index.test.cjs.js +1 -1
  101. package/dist/components/InputGroup/index.test.cjs.js.map +1 -1
  102. package/dist/components/InputGroup/index.test.es.js +2 -2
  103. package/dist/components/InputGroup/index.test.es.js.map +1 -1
  104. package/dist/components/Label/index.cjs.js.map +1 -1
  105. package/dist/components/Label/index.es.js.map +1 -1
  106. package/dist/components/Label/index.test.cjs.js +1 -1
  107. package/dist/components/Label/index.test.cjs.js.map +1 -1
  108. package/dist/components/Label/index.test.es.js +2 -2
  109. package/dist/components/Label/index.test.es.js.map +1 -1
  110. package/dist/components/LabeledContent/index.cjs.js.map +1 -1
  111. package/dist/components/LabeledContent/index.es.js.map +1 -1
  112. package/dist/components/LabeledContent/index.test.cjs.js +1 -1
  113. package/dist/components/LabeledContent/index.test.cjs.js.map +1 -1
  114. package/dist/components/LabeledContent/index.test.es.js +1 -1
  115. package/dist/components/LabeledContent/index.test.es.js.map +1 -1
  116. package/dist/components/LoadingOverlay/index.cjs.js.map +1 -1
  117. package/dist/components/LoadingOverlay/index.es.js.map +1 -1
  118. package/dist/components/LoadingOverlay/index.test.cjs.js +1 -1
  119. package/dist/components/LoadingOverlay/index.test.cjs.js.map +1 -1
  120. package/dist/components/LoadingOverlay/index.test.es.js +2 -2
  121. package/dist/components/LoadingOverlay/index.test.es.js.map +1 -1
  122. package/dist/components/Map/index.cjs.js +2 -2
  123. package/dist/components/Map/index.cjs.js.map +1 -1
  124. package/dist/components/Map/index.es.js +709 -716
  125. package/dist/components/Map/index.es.js.map +1 -1
  126. package/dist/components/MaxWidthContainer/index.cjs.js.map +1 -1
  127. package/dist/components/MaxWidthContainer/index.es.js.map +1 -1
  128. package/dist/components/MaxWidthContainer/index.test.cjs.js +1 -1
  129. package/dist/components/MaxWidthContainer/index.test.cjs.js.map +1 -1
  130. package/dist/components/MaxWidthContainer/index.test.es.js +2 -2
  131. package/dist/components/MaxWidthContainer/index.test.es.js.map +1 -1
  132. package/dist/components/NumericFieldController/index.cjs.js.map +1 -1
  133. package/dist/components/NumericFieldController/index.d.ts +1 -0
  134. package/dist/components/NumericFieldController/index.es.js.map +1 -1
  135. package/dist/components/NumericFieldController/index.test.cjs.js +1 -1
  136. package/dist/components/NumericFieldController/index.test.cjs.js.map +1 -1
  137. package/dist/components/NumericFieldController/index.test.es.js +1 -1
  138. package/dist/components/NumericFieldController/index.test.es.js.map +1 -1
  139. package/dist/components/OfflineLabel/index.cjs.js.map +1 -1
  140. package/dist/components/OfflineLabel/index.es.js.map +1 -1
  141. package/dist/components/PageSizeSelector/index.cjs.js.map +1 -1
  142. package/dist/components/PageSizeSelector/index.es.js.map +1 -1
  143. package/dist/components/Pagination/index.cjs.js +2 -2
  144. package/dist/components/Pagination/index.cjs.js.map +1 -1
  145. package/dist/components/Pagination/index.es.js +17 -17
  146. package/dist/components/Pagination/index.es.js.map +1 -1
  147. package/dist/components/Pagination/index.test.cjs.js +1 -1
  148. package/dist/components/Pagination/index.test.cjs.js.map +1 -1
  149. package/dist/components/Pagination/index.test.es.js +1 -1
  150. package/dist/components/Pagination/index.test.es.js.map +1 -1
  151. package/dist/components/PasswordInputController/index.cjs.js.map +1 -1
  152. package/dist/components/PasswordInputController/index.es.js.map +1 -1
  153. package/dist/components/PasswordInputController/index.test.cjs.js +1 -1
  154. package/dist/components/PasswordInputController/index.test.cjs.js.map +1 -1
  155. package/dist/components/PasswordInputController/index.test.es.js +1 -1
  156. package/dist/components/PasswordInputController/index.test.es.js.map +1 -1
  157. package/dist/components/RadioButton/index.test.cjs.js +1 -1
  158. package/dist/components/RadioButton/index.test.cjs.js.map +1 -1
  159. package/dist/components/RadioButton/index.test.es.js +2 -2
  160. package/dist/components/RadioButton/index.test.es.js.map +1 -1
  161. package/dist/components/RadioGroupController/index.cjs.js.map +1 -1
  162. package/dist/components/RadioGroupController/index.es.js.map +1 -1
  163. package/dist/components/RadioGroupController/index.test.cjs.js +1 -1
  164. package/dist/components/RadioGroupController/index.test.cjs.js.map +1 -1
  165. package/dist/components/RadioGroupController/index.test.es.js +1 -1
  166. package/dist/components/RadioGroupController/index.test.es.js.map +1 -1
  167. package/dist/components/RangeDatePicker/index.cjs.js.map +1 -1
  168. package/dist/components/RangeDatePicker/index.es.js.map +1 -1
  169. package/dist/components/RangeDatePickerController/index.cjs.js.map +1 -1
  170. package/dist/components/RangeDatePickerController/index.es.js.map +1 -1
  171. package/dist/components/RangeDatePickerController/index.test.cjs.js +1 -1
  172. package/dist/components/RangeDatePickerController/index.test.cjs.js.map +1 -1
  173. package/dist/components/RangeDatePickerController/index.test.es.js +1 -1
  174. package/dist/components/RangeDatePickerController/index.test.es.js.map +1 -1
  175. package/dist/components/ReportCard/index.cjs.js.map +1 -1
  176. package/dist/components/ReportCard/index.es.js.map +1 -1
  177. package/dist/components/ReportCard/index.test.cjs.js +1 -1
  178. package/dist/components/ReportCard/index.test.cjs.js.map +1 -1
  179. package/dist/components/ReportCard/index.test.es.js +1 -1
  180. package/dist/components/ReportCard/index.test.es.js.map +1 -1
  181. package/dist/components/ReportChart/index.cjs.js +1 -1
  182. package/dist/components/ReportChart/index.cjs.js.map +1 -1
  183. package/dist/components/ReportChart/index.es.js +26 -33
  184. package/dist/components/ReportChart/index.es.js.map +1 -1
  185. package/dist/components/ReportChartMulti/index.cjs.js.map +1 -1
  186. package/dist/components/ReportChartMulti/index.es.js.map +1 -1
  187. package/dist/components/ReportChartMulti/index.test.cjs.js +1 -1
  188. package/dist/components/ReportChartMulti/index.test.cjs.js.map +1 -1
  189. package/dist/components/ReportChartMulti/index.test.es.js +1 -1
  190. package/dist/components/ReportChartMulti/index.test.es.js.map +1 -1
  191. package/dist/components/ScrollableDialog/index.cjs.js.map +1 -1
  192. package/dist/components/ScrollableDialog/index.es.js.map +1 -1
  193. package/dist/components/ScrollableDialog/index.test.cjs.js +1 -1
  194. package/dist/components/ScrollableDialog/index.test.cjs.js.map +1 -1
  195. package/dist/components/ScrollableDialog/index.test.es.js +1 -1
  196. package/dist/components/ScrollableDialog/index.test.es.js.map +1 -1
  197. package/dist/components/SearchForm/index.cjs.js.map +1 -1
  198. package/dist/components/SearchForm/index.es.js.map +1 -1
  199. package/dist/components/SelectBox/index.test.cjs.js +1 -1
  200. package/dist/components/SelectBox/index.test.cjs.js.map +1 -1
  201. package/dist/components/SelectBox/index.test.es.js +1 -1
  202. package/dist/components/SelectBox/index.test.es.js.map +1 -1
  203. package/dist/components/SelectBoxController/index.cjs.js.map +1 -1
  204. package/dist/components/SelectBoxController/index.es.js.map +1 -1
  205. package/dist/components/SelectBoxController/index.test.cjs.js +1 -1
  206. package/dist/components/SelectBoxController/index.test.cjs.js.map +1 -1
  207. package/dist/components/SelectBoxController/index.test.es.js +1 -1
  208. package/dist/components/SelectBoxController/index.test.es.js.map +1 -1
  209. package/dist/components/SideMenu/index.cjs.js.map +1 -1
  210. package/dist/components/SideMenu/index.es.js.map +1 -1
  211. package/dist/components/SideMenu/index.test.cjs.js +1 -1
  212. package/dist/components/SideMenu/index.test.cjs.js.map +1 -1
  213. package/dist/components/SideMenu/index.test.es.js +3 -3
  214. package/dist/components/SideMenu/index.test.es.js.map +1 -1
  215. package/dist/components/SpinnerButton/index.cjs.js.map +1 -1
  216. package/dist/components/SpinnerButton/index.es.js.map +1 -1
  217. package/dist/components/SpinnerButton/index.test.cjs.js +1 -1
  218. package/dist/components/SpinnerButton/index.test.cjs.js.map +1 -1
  219. package/dist/components/SpinnerButton/index.test.es.js +2 -2
  220. package/dist/components/SpinnerButton/index.test.es.js.map +1 -1
  221. package/dist/components/SubMenu/index.cjs.js.map +1 -1
  222. package/dist/components/SubMenu/index.es.js.map +1 -1
  223. package/dist/components/SubMenu/index.test.cjs.js +1 -1
  224. package/dist/components/SubMenu/index.test.cjs.js.map +1 -1
  225. package/dist/components/SubMenu/index.test.es.js +1 -1
  226. package/dist/components/SubMenu/index.test.es.js.map +1 -1
  227. package/dist/components/Tabs/index.cjs.js.map +1 -1
  228. package/dist/components/Tabs/index.d.ts +1 -1
  229. package/dist/components/Tabs/index.es.js.map +1 -1
  230. package/dist/components/Tabs/index.test.cjs.js +1 -1
  231. package/dist/components/Tabs/index.test.cjs.js.map +1 -1
  232. package/dist/components/Tabs/index.test.es.js +2 -2
  233. package/dist/components/Tabs/index.test.es.js.map +1 -1
  234. package/dist/components/Textarea/index.cjs.js.map +1 -1
  235. package/dist/components/Textarea/index.es.js.map +1 -1
  236. package/dist/components/Textarea/index.test.cjs.js +1 -1
  237. package/dist/components/Textarea/index.test.cjs.js.map +1 -1
  238. package/dist/components/Textarea/index.test.es.js +2 -2
  239. package/dist/components/Textarea/index.test.es.js.map +1 -1
  240. package/dist/components/Title/index.cjs.js +1 -1
  241. package/dist/components/Title/index.cjs.js.map +1 -1
  242. package/dist/components/Title/index.d.ts +2 -0
  243. package/dist/components/Title/index.es.js +9 -9
  244. package/dist/components/Title/index.es.js.map +1 -1
  245. package/dist/components/Title/index.test.cjs.js +1 -1
  246. package/dist/components/Title/index.test.cjs.js.map +1 -1
  247. package/dist/components/Title/index.test.es.js +2 -2
  248. package/dist/components/Title/index.test.es.js.map +1 -1
  249. package/dist/components/ToggleButton/index.cjs.js.map +1 -1
  250. package/dist/components/ToggleButton/index.es.js.map +1 -1
  251. package/dist/components/ToggleButton/index.test.cjs.js +1 -1
  252. package/dist/components/ToggleButton/index.test.cjs.js.map +1 -1
  253. package/dist/components/ToggleButton/index.test.es.js +1 -1
  254. package/dist/components/ToggleButton/index.test.es.js.map +1 -1
  255. package/dist/components/VStack/index.cjs.js.map +1 -1
  256. package/dist/components/VStack/index.es.js.map +1 -1
  257. package/dist/components/VStack/index.test.cjs.js +1 -1
  258. package/dist/components/VStack/index.test.cjs.js.map +1 -1
  259. package/dist/components/VStack/index.test.es.js +2 -2
  260. package/dist/components/VStack/index.test.es.js.map +1 -1
  261. package/dist/{index-D5b3AasF.js → index--uHewOkd.js} +2 -2
  262. package/dist/{index-D5b3AasF.js.map → index--uHewOkd.js.map} +1 -1
  263. package/dist/index-9p9q0wxE.cjs +39 -0
  264. package/dist/index-9p9q0wxE.cjs.map +1 -0
  265. package/dist/index-B663CLQ0.cjs.map +1 -1
  266. package/dist/{index-C50NsnJO.cjs → index-Bbj4TMfJ.cjs} +2 -2
  267. package/dist/{index-C50NsnJO.cjs.map → index-Bbj4TMfJ.cjs.map} +1 -1
  268. package/dist/{index-ZP4xL6Dt.js → index-Bt_ypxrX.js} +7373 -6726
  269. package/dist/index-Bt_ypxrX.js.map +1 -0
  270. package/dist/index-C9Dbd7MM.cjs +4 -0
  271. package/dist/index-C9Dbd7MM.cjs.map +1 -0
  272. package/dist/index-CCbJ_2yU.cjs.map +1 -1
  273. package/dist/index-CSiE_l9r.js.map +1 -1
  274. package/dist/index-CaEC29Xt.cjs +96 -0
  275. package/dist/index-CaEC29Xt.cjs.map +1 -0
  276. package/dist/{index-DCSLk6pp.js → index-Cj9ZvtM1.js} +1890 -2721
  277. package/dist/index-Cj9ZvtM1.js.map +1 -0
  278. package/dist/index-pr0ncuNy.js.map +1 -1
  279. package/dist/{index-BqN32Ptm.js → index-zix1zlkq.js} +628 -602
  280. package/dist/index-zix1zlkq.js.map +1 -0
  281. package/dist/index.cjs.js +1 -1
  282. package/dist/index.es.js +1 -1
  283. package/dist/{react.esm-CiMn0Rnx.cjs → react.esm-BcRJ42eI.cjs} +31 -31
  284. package/dist/react.esm-BcRJ42eI.cjs.map +1 -0
  285. package/dist/{react.esm-2FJSSo-S.js → react.esm-DVhZgPrH.js} +629 -608
  286. package/dist/react.esm-DVhZgPrH.js.map +1 -0
  287. package/package.json +21 -18
  288. package/dist/browser-BCVsA9bD.cjs +0 -2
  289. package/dist/browser-BCVsA9bD.cjs.map +0 -1
  290. package/dist/browser-BYxLWVDg.js +0 -654
  291. package/dist/browser-BYxLWVDg.js.map +0 -1
  292. package/dist/index-BHsZ5xlA.cjs +0 -96
  293. package/dist/index-BHsZ5xlA.cjs.map +0 -1
  294. package/dist/index-BoNIpBs7.cjs +0 -4
  295. package/dist/index-BoNIpBs7.cjs.map +0 -1
  296. package/dist/index-BpMSrIOq.cjs +0 -43
  297. package/dist/index-BpMSrIOq.cjs.map +0 -1
  298. package/dist/index-BqN32Ptm.js.map +0 -1
  299. package/dist/index-DCSLk6pp.js.map +0 -1
  300. package/dist/index-ZP4xL6Dt.js.map +0 -1
  301. package/dist/react.esm-2FJSSo-S.js.map +0 -1
  302. package/dist/react.esm-CiMn0Rnx.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../src/components/DataTable/index.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n} from \"@mui/material\";\nimport classNames from \"classnames\";\nimport { BiSolidDownArrow, BiSolidUpArrow } from \"react-icons/bi\";\n\nimport {\n PageSelectorValue,\n PageSizeSelector,\n} from \"@/components/PageSizeSelector\";\nimport { Pagination } from \"@/components/Pagination\";\nimport styles from \"./index.module.scss\";\n\nexport type SortDirection = \"asc\" | \"desc\";\n\nexport type ColumnAlign =\n | \"left\"\n | \"right\"\n | \"center\"\n | \"justify\"\n | \"inherit\"\n | undefined;\n\nexport type Column<T> = {\n key: string;\n title: string;\n sortColumn?: keyof T;\n render: (data: T) => ReactNode;\n align?: ColumnAlign;\n width?: number; //明示的に横幅を指定する場合\n};\n\n/**\n * テーブルコンポーネントのプロパティ\n * @template Key テーブルのキーとして使用される型\n * @template T テーブルデータの型\n */\ntype Props<Key extends keyof T, T> = {\n /** テーブルのカラム定義 */\n columns: Column<T>[];\n\n /** テーブルのデータリスト */\n dataList?: T[];\n\n /** 総データ数 */\n totalCount: number;\n\n /** 現在のページ番号 (1始まり) */\n currentPage: number;\n\n /** 1ページあたりのデータ数 */\n pageSize: number;\n\n /** ページサイズセレクタで選択可能な値 */\n pageSizeSelectorValues?: PageSelectorValue[];\n\n /** 各行のキーとなるカラム名 */\n keyColumn: Key;\n\n /** 現在のソート対象カラム名 */\n sortColumn?: keyof T;\n\n /** 現在のソート方向 */\n sortDirection?: SortDirection;\n\n /** データがロード中かどうか */\n isLoading: boolean;\n\n /**\n * 行がクリックされた際に呼び出されるコールバック\n * セットがない場合は行はクリックできません。\n * @param {T} data クリックされた行のデータ\n */\n onClickRow?: (data: T) => void;\n\n /**\n * ソート条件が変更された際に呼び出されるコールバック\n * セットがない場合ソートは効きません。\n * @param {keyof T} sortColumn ソート対象のカラム名\n * @param {SortDirection} sortDirection ソート方向\n */\n onChangeSort?: (sortColumn: keyof T, sortDirection: SortDirection) => void;\n\n /**\n * ページが変更された際に呼び出されるコールバック\n * セットがない場合ページ遷移の要素そのものが表示されません。\n * @param {number} page 選択されたページ番号\n */\n onChangePage?: (page: number) => void;\n\n /**\n * ページサイズが変更された際に呼び出されるコールバック\n * セットがない場合ページサイズセレクター要素そのものが表示されません。\n * @param {number} pageSize 選択されたページサイズ\n */\n onChangePageSize?: (pageSize: number) => void;\n\n /** テーブルのボーダーを表示するかどうか (undefinedとfalseは同義) */\n showBorder?: boolean;\n};\n\nexport const DataTable = <\n Key extends keyof T,\n T extends Record<Key, string | number>,\n>(\n props: Props<Key, T>,\n) => {\n const {\n columns,\n dataList,\n totalCount,\n currentPage,\n pageSize,\n pageSizeSelectorValues: pageSizeValues,\n keyColumn,\n sortColumn,\n sortDirection,\n isLoading,\n onClickRow,\n onChangeSort,\n onChangePage,\n onChangePageSize,\n showBorder,\n } = props;\n\n // TODO: この辺はあとで修正します。lintで引っかかるので一旦ダミー実装\n if (isLoading) {\n return <span>読み込み中</span>;\n }\n\n if (!dataList) {\n return <span>データの取得ができませんでした。</span>;\n }\n\n if (dataList?.length === 0) {\n return <span>データがありません。</span>;\n }\n\n const pageCount = Math.ceil(totalCount / pageSize);\n const activePage = currentPage - 1;\n const startRecordNum = activePage * pageSize + 1;\n const endRecordNum = startRecordNum - 1 + (dataList?.length ?? 0);\n\n return (\n <>\n <div className={styles.contentContainer}>\n {onChangePageSize && (\n <PageSizeSelector\n startRecordNum={startRecordNum}\n endRecordNum={endRecordNum}\n values={pageSizeValues}\n defaultValue={pageSize}\n totalCount={totalCount}\n onChangePageSize={onChangePageSize}\n />\n )}\n <div\n className={classNames(styles.scrollableTableContainer, {\n [styles.nonBorder]: showBorder === false,\n })}\n >\n <Table className={styles.table}>\n <TableHead>\n <TableRow className={styles.header}>\n {columns.map((column) => (\n <th\n className={classNames(styles.th, {\n [styles.clickable]: column.sortColumn && onChangeSort,\n })}\n key={column.key}\n >\n <div\n className={styles.headerCell}\n onClick={() => {\n if (column.sortColumn && onChangeSort) {\n if (column.sortColumn === sortColumn) {\n onChangeSort(\n column.sortColumn,\n sortDirection === \"asc\" ? \"desc\" : \"asc\",\n );\n } else {\n onChangeSort(column.sortColumn, \"asc\");\n }\n }\n }}\n >\n {column.title}\n {column.sortColumn && (\n <div className={styles.sortIcons}>\n <BiSolidUpArrow\n className={classNames(styles.sortIcon, {\n [styles.selected]:\n column.sortColumn === sortColumn &&\n sortDirection === \"asc\",\n })}\n />\n <BiSolidDownArrow\n className={classNames(styles.sortIcon, {\n [styles.selected]:\n column.sortColumn === sortColumn &&\n sortDirection === \"desc\",\n })}\n />\n </div>\n )}\n </div>\n </th>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {dataList.map((data) => {\n return (\n <TableRow\n className={classNames(styles.row, {\n [styles.clickable]: onClickRow,\n })}\n key={data[keyColumn]}\n onClick={() => {\n if (onClickRow) {\n onClickRow(data);\n }\n }}\n >\n {columns.map((column) => (\n <TableCell\n className={styles.td}\n key={column.key}\n //\n // FIXME: 子オブジェクトから値を抽出したり、変換処理が入るため、一概にdata[column.key]の型だけで表示に必要な型を判定させられないのでコメントアウト\n // align={\n // column.align ??\n // typeof data[column.key as Key] === \"number\"\n // ? \"right\"\n // : undefined\n // }\n //\n align={column.align}\n sx={{\n width: column.width ? `${column.width}px` : undefined, // widthが存在する場合のみ適用\n }}\n >\n {column.render(data)}\n </TableCell>\n ))}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </div>\n {onChangePage && (\n <Pagination\n pageCount={pageCount}\n activePage={activePage}\n onChangePage={onChangePage}\n />\n )}\n </div>\n </>\n );\n};\n\nexport default DataTable;\n"],"names":["DataTable","props","columns","dataList","totalCount","currentPage","pageSize","pageSizeValues","keyColumn","sortColumn","sortDirection","isLoading","onClickRow","onChangeSort","onChangePage","onChangePageSize","showBorder","jsx","pageCount","activePage","startRecordNum","endRecordNum","Fragment","jsxs","styles","PageSizeSelector","classNames","Table","TableHead","TableRow","column","BiSolidUpArrow","BiSolidDownArrow","TableBody","data","TableCell","Pagination"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../src/components/DataTable/index.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n} from \"@mui/material\";\nimport classNames from \"classnames\";\nimport { BiSolidDownArrow, BiSolidUpArrow } from \"react-icons/bi\";\n\nimport {\n PageSelectorValue,\n PageSizeSelector,\n} from \"@/components/PageSizeSelector\";\nimport { Pagination } from \"@/components/Pagination\";\nimport styles from \"./index.module.scss\";\n\nexport type SortDirection = \"asc\" | \"desc\";\n\nexport type ColumnAlign =\n | \"left\"\n | \"right\"\n | \"center\"\n | \"justify\"\n | \"inherit\"\n | undefined;\n\nexport type Column<T> = {\n key: string;\n title: string;\n sortColumn?: keyof T;\n render: (data: T) => ReactNode;\n align?: ColumnAlign;\n width?: number; //明示的に横幅を指定する場合\n};\n\n/**\n * テーブルコンポーネントのプロパティ\n * @template Key テーブルのキーとして使用される型\n * @template T テーブルデータの型\n */\ntype Props<Key extends keyof T, T> = {\n /** テーブルのカラム定義 */\n columns: Column<T>[];\n\n /** テーブルのデータリスト */\n dataList?: T[];\n\n /** 総データ数 */\n totalCount: number;\n\n /** 現在のページ番号 (1始まり) */\n currentPage: number;\n\n /** 1ページあたりのデータ数 */\n pageSize: number;\n\n /** ページサイズセレクタで選択可能な値 */\n pageSizeSelectorValues?: PageSelectorValue[];\n\n /** 各行のキーとなるカラム名 */\n keyColumn: Key;\n\n /** 現在のソート対象カラム名 */\n sortColumn?: keyof T;\n\n /** 現在のソート方向 */\n sortDirection?: SortDirection;\n\n /** データがロード中かどうか */\n isLoading: boolean;\n\n /**\n * 行がクリックされた際に呼び出されるコールバック\n * セットがない場合は行はクリックできません。\n * @param {T} data クリックされた行のデータ\n */\n onClickRow?: (data: T) => void;\n\n /**\n * ソート条件が変更された際に呼び出されるコールバック\n * セットがない場合ソートは効きません。\n * @param {keyof T} sortColumn ソート対象のカラム名\n * @param {SortDirection} sortDirection ソート方向\n */\n onChangeSort?: (sortColumn: keyof T, sortDirection: SortDirection) => void;\n\n /**\n * ページが変更された際に呼び出されるコールバック\n * セットがない場合ページ遷移の要素そのものが表示されません。\n * @param {number} page 選択されたページ番号\n */\n onChangePage?: (page: number) => void;\n\n /**\n * ページサイズが変更された際に呼び出されるコールバック\n * セットがない場合ページサイズセレクター要素そのものが表示されません。\n * @param {number} pageSize 選択されたページサイズ\n */\n onChangePageSize?: (pageSize: number) => void;\n\n /** テーブルのボーダーを表示するかどうか (undefinedとfalseは同義) */\n showBorder?: boolean;\n};\n\nexport const DataTable = <\n Key extends keyof T,\n T extends Record<Key, string | number>,\n>(\n props: Props<Key, T>,\n) => {\n const {\n columns,\n dataList,\n totalCount,\n currentPage,\n pageSize,\n pageSizeSelectorValues: pageSizeValues,\n keyColumn,\n sortColumn,\n sortDirection,\n isLoading,\n onClickRow,\n onChangeSort,\n onChangePage,\n onChangePageSize,\n showBorder,\n } = props;\n\n // TODO: この辺はあとで修正します。lintで引っかかるので一旦ダミー実装\n if (isLoading) {\n return <span>読み込み中</span>;\n }\n\n if (!dataList) {\n return <span>データの取得ができませんでした。</span>;\n }\n\n if (dataList?.length === 0) {\n return <span>データがありません。</span>;\n }\n\n const pageCount = Math.ceil(totalCount / pageSize);\n const activePage = currentPage - 1;\n const startRecordNum = activePage * pageSize + 1;\n const endRecordNum = startRecordNum - 1 + (dataList?.length ?? 0);\n\n return (\n <>\n <div className={styles.contentContainer}>\n {onChangePageSize && (\n <PageSizeSelector\n startRecordNum={startRecordNum}\n endRecordNum={endRecordNum}\n values={pageSizeValues}\n defaultValue={pageSize}\n totalCount={totalCount}\n onChangePageSize={onChangePageSize}\n />\n )}\n <div\n className={classNames(styles.scrollableTableContainer, {\n [styles.nonBorder]: showBorder === false,\n })}\n >\n <Table className={styles.table}>\n <TableHead>\n <TableRow className={styles.header}>\n {columns.map((column) => (\n <th\n className={classNames(styles.th, {\n [styles.clickable]: column.sortColumn && onChangeSort,\n })}\n key={column.key}\n >\n <div\n className={styles.headerCell}\n onClick={() => {\n if (column.sortColumn && onChangeSort) {\n if (column.sortColumn === sortColumn) {\n onChangeSort(\n column.sortColumn,\n sortDirection === \"asc\" ? \"desc\" : \"asc\",\n );\n } else {\n onChangeSort(column.sortColumn, \"asc\");\n }\n }\n }}\n >\n {column.title}\n {column.sortColumn && (\n <div className={styles.sortIcons}>\n <BiSolidUpArrow\n className={classNames(styles.sortIcon, {\n [styles.selected]:\n column.sortColumn === sortColumn &&\n sortDirection === \"asc\",\n })}\n />\n <BiSolidDownArrow\n className={classNames(styles.sortIcon, {\n [styles.selected]:\n column.sortColumn === sortColumn &&\n sortDirection === \"desc\",\n })}\n />\n </div>\n )}\n </div>\n </th>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {dataList.map((data) => {\n return (\n <TableRow\n className={classNames(styles.row, {\n [styles.clickable]: onClickRow,\n })}\n key={data[keyColumn]}\n onClick={() => {\n if (onClickRow) {\n onClickRow(data);\n }\n }}\n >\n {columns.map((column) => (\n <TableCell\n className={styles.td}\n key={column.key}\n //\n // FIXME: 子オブジェクトから値を抽出したり、変換処理が入るため、一概にdata[column.key]の型だけで表示に必要な型を判定させられないのでコメントアウト\n // align={\n // column.align ??\n // typeof data[column.key as Key] === \"number\"\n // ? \"right\"\n // : undefined\n // }\n //\n align={column.align}\n sx={{\n width: column.width ? `${column.width}px` : undefined, // widthが存在する場合のみ適用\n }}\n >\n {column.render(data)}\n </TableCell>\n ))}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </div>\n {onChangePage && (\n <Pagination\n pageCount={pageCount}\n activePage={activePage}\n onChangePage={onChangePage}\n />\n )}\n </div>\n </>\n );\n};\n\nexport default DataTable;\n"],"names":["DataTable","props","columns","dataList","totalCount","currentPage","pageSize","pageSizeValues","keyColumn","sortColumn","sortDirection","isLoading","onClickRow","onChangeSort","onChangePage","onChangePageSize","showBorder","jsx","pageCount","activePage","startRecordNum","endRecordNum","Fragment","jsxs","styles","PageSizeSelector","classNames","Table","TableHead","TableRow","column","BiSolidUpArrow","BiSolidDownArrow","TableBody","data","TableCell","Pagination"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const r=require("react/jsx-runtime"),e=require("../../react.esm-CiMn0Rnx.cjs"),i=require("../../index-C50NsnJO.cjs");require("../../index-BpMSrIOq.cjs");const s=require("./index.cjs.js"),h=[{id:"1",name:"Alice"},{id:"2",name:"Bob"}],x=[{key:"id",title:"ID",sortColumn:"id",render:t=>t.id,width:100},{key:"name",title:"Name",render:t=>t.name}],c={columns:x,dataList:h,totalCount:2,keyColumn:"id",currentPage:1,pageSize:10,sortColumn:"id",sortDirection:"asc",isLoading:!1,onChangePage:()=>{}};describe("Given DataTable",()=>{it("Then renders column headers",()=>{e.render(r.jsx(s.DataTable,{...c})),expect(e.screen.getByText("ID")).toBeInTheDocument(),expect(e.screen.getByText("Name")).toBeInTheDocument()}),it("Then renders data rows",()=>{e.render(r.jsx(s.DataTable,{...c})),expect(e.screen.getByText("1",{selector:"td"})).toBeInTheDocument(),expect(e.screen.getByText("Alice")).toBeInTheDocument(),expect(e.screen.getByText("2",{selector:"td"})).toBeInTheDocument(),expect(e.screen.getByText("Bob")).toBeInTheDocument()}),it("When row is clicked, Then triggers onClickRow",async()=>{const t=i.userEvent.setup(),n=jest.fn(),o={...c,onClickRow:n};e.render(r.jsx(s.DataTable,{...o})),await t.click(e.screen.getByText("Alice")),expect(n).toHaveBeenCalledWith(h[0])}),it("When header 'asc' is clicked, Then triggers onChangeSort with 'desc'",async()=>{const t=i.userEvent.setup(),n=jest.fn(),o={...c,onChangeSort:n};e.render(r.jsx(s.DataTable,{...o})),await t.click(e.screen.getByText("ID")),expect(n).toHaveBeenCalledWith("id","desc")}),it("When header 'desc' is clicked, Then triggers onChangeSort with 'asc'",async()=>{const t=i.userEvent.setup(),n=jest.fn(),o={...c,onChangeSort:n,sortDirection:"desc"};e.render(r.jsx(s.DataTable,{...o})),await t.click(e.screen.getByText("ID")),expect(n).toHaveBeenCalledWith("id","asc")}),it("When showBorder is true, Then table cells have borders",()=>{const t={...c,showBorder:!0},{container:n}=e.render(r.jsx(s.DataTable,{...t})),o=n.querySelectorAll("td");expect(o.length).toBeGreaterThan(0);const a=o[0],l=window.getComputedStyle(a);expect(l.border).not.toBe("none")}),it("When showBorder is false or undefined, Then table cells have no borders",()=>{const t={...c,showBorder:!1},{container:n}=e.render(r.jsx(s.DataTable,{...t})),o=n.querySelectorAll("td");expect(o.length).toBeGreaterThan(0);const a=o[0];expect(a).toHaveStyle({border:"none"});const{container:l}=e.render(r.jsx(s.DataTable,{...c})),d=l.querySelectorAll("td");expect(d.length).toBeGreaterThan(0);const u=d[0];expect(u).toHaveStyle({border:"none"})}),it("When column has width property, Then table cell has correct width style",()=>{const{container:t}=e.render(r.jsx(s.DataTable,{...c})),n=t.querySelector("td:first-child");expect(n).toBeInTheDocument(),expect(n).toHaveStyle({width:"100px"})})});
1
+ "use strict";const r=require("react/jsx-runtime"),e=require("../../react.esm-BcRJ42eI.cjs"),i=require("../../index-Bbj4TMfJ.cjs");require("../../index-9p9q0wxE.cjs");const s=require("./index.cjs.js"),h=[{id:"1",name:"Alice"},{id:"2",name:"Bob"}],x=[{key:"id",title:"ID",sortColumn:"id",render:t=>t.id,width:100},{key:"name",title:"Name",render:t=>t.name}],c={columns:x,dataList:h,totalCount:2,keyColumn:"id",currentPage:1,pageSize:10,sortColumn:"id",sortDirection:"asc",isLoading:!1,onChangePage:()=>{}};describe("Given DataTable",()=>{it("Then renders column headers",()=>{e.render(r.jsx(s.DataTable,{...c})),expect(e.screen.getByText("ID")).toBeInTheDocument(),expect(e.screen.getByText("Name")).toBeInTheDocument()}),it("Then renders data rows",()=>{e.render(r.jsx(s.DataTable,{...c})),expect(e.screen.getByText("1",{selector:"td"})).toBeInTheDocument(),expect(e.screen.getByText("Alice")).toBeInTheDocument(),expect(e.screen.getByText("2",{selector:"td"})).toBeInTheDocument(),expect(e.screen.getByText("Bob")).toBeInTheDocument()}),it("When row is clicked, Then triggers onClickRow",async()=>{const t=i.userEvent.setup(),n=jest.fn(),o={...c,onClickRow:n};e.render(r.jsx(s.DataTable,{...o})),await t.click(e.screen.getByText("Alice")),expect(n).toHaveBeenCalledWith(h[0])}),it("When header 'asc' is clicked, Then triggers onChangeSort with 'desc'",async()=>{const t=i.userEvent.setup(),n=jest.fn(),o={...c,onChangeSort:n};e.render(r.jsx(s.DataTable,{...o})),await t.click(e.screen.getByText("ID")),expect(n).toHaveBeenCalledWith("id","desc")}),it("When header 'desc' is clicked, Then triggers onChangeSort with 'asc'",async()=>{const t=i.userEvent.setup(),n=jest.fn(),o={...c,onChangeSort:n,sortDirection:"desc"};e.render(r.jsx(s.DataTable,{...o})),await t.click(e.screen.getByText("ID")),expect(n).toHaveBeenCalledWith("id","asc")}),it("When showBorder is true, Then table cells have borders",()=>{const t={...c,showBorder:!0},{container:n}=e.render(r.jsx(s.DataTable,{...t})),o=n.querySelectorAll("td");expect(o.length).toBeGreaterThan(0);const a=o[0],l=window.getComputedStyle(a);expect(l.border).not.toBe("none")}),it("When showBorder is false or undefined, Then table cells have no borders",()=>{const t={...c,showBorder:!1},{container:n}=e.render(r.jsx(s.DataTable,{...t})),o=n.querySelectorAll("td");expect(o.length).toBeGreaterThan(0);const a=o[0];expect(a).toHaveStyle({border:"none"});const{container:l}=e.render(r.jsx(s.DataTable,{...c})),d=l.querySelectorAll("td");expect(d.length).toBeGreaterThan(0);const u=d[0];expect(u).toHaveStyle({border:"none"})}),it("When column has width property, Then table cell has correct width style",()=>{const{container:t}=e.render(r.jsx(s.DataTable,{...c})),n=t.querySelector("td:first-child");expect(n).toBeInTheDocument(),expect(n).toHaveStyle({width:"100px"})})});
2
2
  //# sourceMappingURL=index.test.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/DataTable/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\nimport userEvent from \"@testing-library/user-event\";\n\nimport \"@testing-library/jest-dom\";\n\nimport { DataTable, SortDirection, type Column } from \"./index\";\n\ntype MockData = {\n id: string;\n name: string;\n};\n\ntype Props<Key extends keyof T, T> = {\n columns: Column<T>[];\n dataList?: T[];\n totalCount: number;\n currentPage: number;\n pageSize: number;\n keyColumn: Key;\n sortColumn?: keyof T;\n sortDirection?: SortDirection;\n isLoading: boolean;\n onClickRow?: (data: T) => void;\n onChangeSort?: (sortColumn: keyof T, sortDirection: SortDirection) => void;\n onChangePage: (page: number) => void;\n onChangePageSize?: (pageSize: number) => void;\n showBorder?: boolean;\n};\n\nconst mockDataList: MockData[] = [\n { id: \"1\", name: \"Alice\" },\n { id: \"2\", name: \"Bob\" },\n];\n\nconst mockColumns: Column<MockData>[] = [\n {\n key: \"id\",\n title: \"ID\",\n sortColumn: \"id\",\n render: (data) => data.id,\n width: 100,\n },\n {\n key: \"name\",\n title: \"Name\",\n render: (data) => data.name,\n },\n];\n\nconst defaultProps: Props<keyof MockData, MockData> = {\n columns: mockColumns,\n dataList: mockDataList,\n totalCount: 2,\n keyColumn: \"id\",\n currentPage: 1,\n pageSize: 10,\n sortColumn: \"id\",\n sortDirection: \"asc\",\n isLoading: false,\n onChangePage: () => {},\n};\n\ndescribe(\"Given DataTable\", () => {\n it(\"Then renders column headers\", () => {\n render(<DataTable {...defaultProps} />);\n\n expect(screen.getByText(\"ID\")).toBeInTheDocument();\n expect(screen.getByText(\"Name\")).toBeInTheDocument();\n });\n\n it(\"Then renders data rows\", () => {\n render(<DataTable {...defaultProps} />);\n\n expect(screen.getByText(\"1\", { selector: \"td\" })).toBeInTheDocument();\n expect(screen.getByText(\"Alice\")).toBeInTheDocument();\n expect(screen.getByText(\"2\", { selector: \"td\" })).toBeInTheDocument();\n expect(screen.getByText(\"Bob\")).toBeInTheDocument();\n });\n\n it(\"When row is clicked, Then triggers onClickRow\", async () => {\n const user = userEvent.setup();\n const onClickRowMock = jest.fn();\n const props = { ...defaultProps, onClickRow: onClickRowMock };\n\n render(<DataTable {...props} />);\n\n await user.click(screen.getByText(\"Alice\"));\n expect(onClickRowMock).toHaveBeenCalledWith(mockDataList[0]);\n });\n\n it(\"When header 'asc' is clicked, Then triggers onChangeSort with 'desc'\", async () => {\n const user = userEvent.setup();\n const onChangeSortMock = jest.fn();\n const props = { ...defaultProps, onChangeSort: onChangeSortMock };\n\n render(<DataTable {...props} />);\n\n await user.click(screen.getByText(\"ID\"));\n expect(onChangeSortMock).toHaveBeenCalledWith(\"id\", \"desc\");\n });\n\n it(\"When header 'desc' is clicked, Then triggers onChangeSort with 'asc'\", async () => {\n const user = userEvent.setup();\n const onChangeSortMock = jest.fn();\n const props: Props<keyof MockData, MockData> = {\n ...defaultProps,\n onChangeSort: onChangeSortMock,\n sortDirection: \"desc\",\n };\n\n render(<DataTable {...props} />);\n\n await user.click(screen.getByText(\"ID\"));\n expect(onChangeSortMock).toHaveBeenCalledWith(\"id\", \"asc\");\n });\n\n it(\"When showBorder is true, Then table cells have borders\", () => {\n const props = { ...defaultProps, showBorder: true };\n const { container } = render(<DataTable {...props} />);\n\n const tableCells = container.querySelectorAll(\"td\");\n expect(tableCells.length).toBeGreaterThan(0);\n\n // showBorder=trueの場合、borderスタイルはundefinedになる(デフォルトのborderが適用される)\n const firstCell = tableCells[0];\n const computedStyle = window.getComputedStyle(firstCell);\n expect(computedStyle.border).not.toBe(\"none\");\n });\n\n it(\"When showBorder is false or undefined, Then table cells have no borders\", () => {\n // showBorder=falseの場合\n const propsWithFalse = { ...defaultProps, showBorder: false };\n const { container: containerFalse } = render(\n <DataTable {...propsWithFalse} />,\n );\n\n const tableCellsFalse = containerFalse.querySelectorAll(\"td\");\n expect(tableCellsFalse.length).toBeGreaterThan(0);\n\n // showBorder=falseの場合、borderスタイルは\"none\"になる\n const firstCellFalse = tableCellsFalse[0];\n expect(firstCellFalse).toHaveStyle({ border: \"none\" });\n\n // showBorder=undefinedの場合(デフォルト)\n const { container: containerUndefined } = render(\n <DataTable {...defaultProps} />,\n );\n\n const tableCellsUndefined = containerUndefined.querySelectorAll(\"td\");\n expect(tableCellsUndefined.length).toBeGreaterThan(0);\n\n // showBorder=undefinedの場合も、borderスタイルは\"none\"になる\n const firstCellUndefined = tableCellsUndefined[0];\n expect(firstCellUndefined).toHaveStyle({ border: \"none\" });\n });\n\n it(\"When column has width property, Then table cell has correct width style\", () => {\n const { container } = render(<DataTable {...defaultProps} />);\n\n const idCell = container.querySelector(\"td:first-child\");\n expect(idCell).toBeInTheDocument();\n\n expect(idCell).toHaveStyle({ width: \"100px\" });\n });\n});\n"],"names":["mockDataList","mockColumns","data","defaultProps","render","jsx","DataTable","screen","user","userEvent","onClickRowMock","props","onChangeSortMock","container","tableCells","firstCell","computedStyle","propsWithFalse","containerFalse","tableCellsFalse","firstCellFalse","containerUndefined","tableCellsUndefined","firstCellUndefined","idCell"],"mappings":"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"}
1
+ {"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/DataTable/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\nimport userEvent from \"@testing-library/user-event\";\n\nimport \"@testing-library/jest-dom\";\n\nimport { DataTable, SortDirection, type Column } from \"./index\";\n\ntype MockData = {\n id: string;\n name: string;\n};\n\ntype Props<Key extends keyof T, T> = {\n columns: Column<T>[];\n dataList?: T[];\n totalCount: number;\n currentPage: number;\n pageSize: number;\n keyColumn: Key;\n sortColumn?: keyof T;\n sortDirection?: SortDirection;\n isLoading: boolean;\n onClickRow?: (data: T) => void;\n onChangeSort?: (sortColumn: keyof T, sortDirection: SortDirection) => void;\n onChangePage: (page: number) => void;\n onChangePageSize?: (pageSize: number) => void;\n showBorder?: boolean;\n};\n\nconst mockDataList: MockData[] = [\n { id: \"1\", name: \"Alice\" },\n { id: \"2\", name: \"Bob\" },\n];\n\nconst mockColumns: Column<MockData>[] = [\n {\n key: \"id\",\n title: \"ID\",\n sortColumn: \"id\",\n render: (data) => data.id,\n width: 100,\n },\n {\n key: \"name\",\n title: \"Name\",\n render: (data) => data.name,\n },\n];\n\nconst defaultProps: Props<keyof MockData, MockData> = {\n columns: mockColumns,\n dataList: mockDataList,\n totalCount: 2,\n keyColumn: \"id\",\n currentPage: 1,\n pageSize: 10,\n sortColumn: \"id\",\n sortDirection: \"asc\",\n isLoading: false,\n onChangePage: () => {},\n};\n\ndescribe(\"Given DataTable\", () => {\n it(\"Then renders column headers\", () => {\n render(<DataTable {...defaultProps} />);\n\n expect(screen.getByText(\"ID\")).toBeInTheDocument();\n expect(screen.getByText(\"Name\")).toBeInTheDocument();\n });\n\n it(\"Then renders data rows\", () => {\n render(<DataTable {...defaultProps} />);\n\n expect(screen.getByText(\"1\", { selector: \"td\" })).toBeInTheDocument();\n expect(screen.getByText(\"Alice\")).toBeInTheDocument();\n expect(screen.getByText(\"2\", { selector: \"td\" })).toBeInTheDocument();\n expect(screen.getByText(\"Bob\")).toBeInTheDocument();\n });\n\n it(\"When row is clicked, Then triggers onClickRow\", async () => {\n const user = userEvent.setup();\n const onClickRowMock = jest.fn();\n const props = { ...defaultProps, onClickRow: onClickRowMock };\n\n render(<DataTable {...props} />);\n\n await user.click(screen.getByText(\"Alice\"));\n expect(onClickRowMock).toHaveBeenCalledWith(mockDataList[0]);\n });\n\n it(\"When header 'asc' is clicked, Then triggers onChangeSort with 'desc'\", async () => {\n const user = userEvent.setup();\n const onChangeSortMock = jest.fn();\n const props = { ...defaultProps, onChangeSort: onChangeSortMock };\n\n render(<DataTable {...props} />);\n\n await user.click(screen.getByText(\"ID\"));\n expect(onChangeSortMock).toHaveBeenCalledWith(\"id\", \"desc\");\n });\n\n it(\"When header 'desc' is clicked, Then triggers onChangeSort with 'asc'\", async () => {\n const user = userEvent.setup();\n const onChangeSortMock = jest.fn();\n const props: Props<keyof MockData, MockData> = {\n ...defaultProps,\n onChangeSort: onChangeSortMock,\n sortDirection: \"desc\",\n };\n\n render(<DataTable {...props} />);\n\n await user.click(screen.getByText(\"ID\"));\n expect(onChangeSortMock).toHaveBeenCalledWith(\"id\", \"asc\");\n });\n\n it(\"When showBorder is true, Then table cells have borders\", () => {\n const props = { ...defaultProps, showBorder: true };\n const { container } = render(<DataTable {...props} />);\n\n const tableCells = container.querySelectorAll(\"td\");\n expect(tableCells.length).toBeGreaterThan(0);\n\n // showBorder=trueの場合、borderスタイルはundefinedになる(デフォルトのborderが適用される)\n const firstCell = tableCells[0];\n const computedStyle = window.getComputedStyle(firstCell);\n expect(computedStyle.border).not.toBe(\"none\");\n });\n\n it(\"When showBorder is false or undefined, Then table cells have no borders\", () => {\n // showBorder=falseの場合\n const propsWithFalse = { ...defaultProps, showBorder: false };\n const { container: containerFalse } = render(\n <DataTable {...propsWithFalse} />,\n );\n\n const tableCellsFalse = containerFalse.querySelectorAll(\"td\");\n expect(tableCellsFalse.length).toBeGreaterThan(0);\n\n // showBorder=falseの場合、borderスタイルは\"none\"になる\n const firstCellFalse = tableCellsFalse[0];\n expect(firstCellFalse).toHaveStyle({ border: \"none\" });\n\n // showBorder=undefinedの場合(デフォルト)\n const { container: containerUndefined } = render(\n <DataTable {...defaultProps} />,\n );\n\n const tableCellsUndefined = containerUndefined.querySelectorAll(\"td\");\n expect(tableCellsUndefined.length).toBeGreaterThan(0);\n\n // showBorder=undefinedの場合も、borderスタイルは\"none\"になる\n const firstCellUndefined = tableCellsUndefined[0];\n expect(firstCellUndefined).toHaveStyle({ border: \"none\" });\n });\n\n it(\"When column has width property, Then table cell has correct width style\", () => {\n const { container } = render(<DataTable {...defaultProps} />);\n\n const idCell = container.querySelector(\"td:first-child\");\n expect(idCell).toBeInTheDocument();\n\n expect(idCell).toHaveStyle({ width: \"100px\" });\n });\n});\n"],"names":["mockDataList","mockColumns","data","defaultProps","render","jsx","DataTable","screen","user","userEvent","onClickRowMock","props","onChangeSortMock","container","tableCells","firstCell","computedStyle","propsWithFalse","containerFalse","tableCellsFalse","firstCellFalse","containerUndefined","tableCellsUndefined","firstCellUndefined","idCell"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { r as c, s as r } from "../../react.esm-2FJSSo-S.js";
3
- import { u as d } from "../../index-D5b3AasF.js";
4
- import "../../index-DCSLk6pp.js";
2
+ import { r as c, s as r } from "../../react.esm-DVhZgPrH.js";
3
+ import { u as d } from "../../index--uHewOkd.js";
4
+ import "../../index-Cj9ZvtM1.js";
5
5
  import { DataTable as s } from "./index.es.js";
6
6
  const p = [
7
7
  { id: "1", name: "Alice" },
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.es.js","sources":["../../../src/components/DataTable/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\nimport userEvent from \"@testing-library/user-event\";\n\nimport \"@testing-library/jest-dom\";\n\nimport { DataTable, SortDirection, type Column } from \"./index\";\n\ntype MockData = {\n id: string;\n name: string;\n};\n\ntype Props<Key extends keyof T, T> = {\n columns: Column<T>[];\n dataList?: T[];\n totalCount: number;\n currentPage: number;\n pageSize: number;\n keyColumn: Key;\n sortColumn?: keyof T;\n sortDirection?: SortDirection;\n isLoading: boolean;\n onClickRow?: (data: T) => void;\n onChangeSort?: (sortColumn: keyof T, sortDirection: SortDirection) => void;\n onChangePage: (page: number) => void;\n onChangePageSize?: (pageSize: number) => void;\n showBorder?: boolean;\n};\n\nconst mockDataList: MockData[] = [\n { id: \"1\", name: \"Alice\" },\n { id: \"2\", name: \"Bob\" },\n];\n\nconst mockColumns: Column<MockData>[] = [\n {\n key: \"id\",\n title: \"ID\",\n sortColumn: \"id\",\n render: (data) => data.id,\n width: 100,\n },\n {\n key: \"name\",\n title: \"Name\",\n render: (data) => data.name,\n },\n];\n\nconst defaultProps: Props<keyof MockData, MockData> = {\n columns: mockColumns,\n dataList: mockDataList,\n totalCount: 2,\n keyColumn: \"id\",\n currentPage: 1,\n pageSize: 10,\n sortColumn: \"id\",\n sortDirection: \"asc\",\n isLoading: false,\n onChangePage: () => {},\n};\n\ndescribe(\"Given DataTable\", () => {\n it(\"Then renders column headers\", () => {\n render(<DataTable {...defaultProps} />);\n\n expect(screen.getByText(\"ID\")).toBeInTheDocument();\n expect(screen.getByText(\"Name\")).toBeInTheDocument();\n });\n\n it(\"Then renders data rows\", () => {\n render(<DataTable {...defaultProps} />);\n\n expect(screen.getByText(\"1\", { selector: \"td\" })).toBeInTheDocument();\n expect(screen.getByText(\"Alice\")).toBeInTheDocument();\n expect(screen.getByText(\"2\", { selector: \"td\" })).toBeInTheDocument();\n expect(screen.getByText(\"Bob\")).toBeInTheDocument();\n });\n\n it(\"When row is clicked, Then triggers onClickRow\", async () => {\n const user = userEvent.setup();\n const onClickRowMock = jest.fn();\n const props = { ...defaultProps, onClickRow: onClickRowMock };\n\n render(<DataTable {...props} />);\n\n await user.click(screen.getByText(\"Alice\"));\n expect(onClickRowMock).toHaveBeenCalledWith(mockDataList[0]);\n });\n\n it(\"When header 'asc' is clicked, Then triggers onChangeSort with 'desc'\", async () => {\n const user = userEvent.setup();\n const onChangeSortMock = jest.fn();\n const props = { ...defaultProps, onChangeSort: onChangeSortMock };\n\n render(<DataTable {...props} />);\n\n await user.click(screen.getByText(\"ID\"));\n expect(onChangeSortMock).toHaveBeenCalledWith(\"id\", \"desc\");\n });\n\n it(\"When header 'desc' is clicked, Then triggers onChangeSort with 'asc'\", async () => {\n const user = userEvent.setup();\n const onChangeSortMock = jest.fn();\n const props: Props<keyof MockData, MockData> = {\n ...defaultProps,\n onChangeSort: onChangeSortMock,\n sortDirection: \"desc\",\n };\n\n render(<DataTable {...props} />);\n\n await user.click(screen.getByText(\"ID\"));\n expect(onChangeSortMock).toHaveBeenCalledWith(\"id\", \"asc\");\n });\n\n it(\"When showBorder is true, Then table cells have borders\", () => {\n const props = { ...defaultProps, showBorder: true };\n const { container } = render(<DataTable {...props} />);\n\n const tableCells = container.querySelectorAll(\"td\");\n expect(tableCells.length).toBeGreaterThan(0);\n\n // showBorder=trueの場合、borderスタイルはundefinedになる(デフォルトのborderが適用される)\n const firstCell = tableCells[0];\n const computedStyle = window.getComputedStyle(firstCell);\n expect(computedStyle.border).not.toBe(\"none\");\n });\n\n it(\"When showBorder is false or undefined, Then table cells have no borders\", () => {\n // showBorder=falseの場合\n const propsWithFalse = { ...defaultProps, showBorder: false };\n const { container: containerFalse } = render(\n <DataTable {...propsWithFalse} />,\n );\n\n const tableCellsFalse = containerFalse.querySelectorAll(\"td\");\n expect(tableCellsFalse.length).toBeGreaterThan(0);\n\n // showBorder=falseの場合、borderスタイルは\"none\"になる\n const firstCellFalse = tableCellsFalse[0];\n expect(firstCellFalse).toHaveStyle({ border: \"none\" });\n\n // showBorder=undefinedの場合(デフォルト)\n const { container: containerUndefined } = render(\n <DataTable {...defaultProps} />,\n );\n\n const tableCellsUndefined = containerUndefined.querySelectorAll(\"td\");\n expect(tableCellsUndefined.length).toBeGreaterThan(0);\n\n // showBorder=undefinedの場合も、borderスタイルは\"none\"になる\n const firstCellUndefined = tableCellsUndefined[0];\n expect(firstCellUndefined).toHaveStyle({ border: \"none\" });\n });\n\n it(\"When column has width property, Then table cell has correct width style\", () => {\n const { container } = render(<DataTable {...defaultProps} />);\n\n const idCell = container.querySelector(\"td:first-child\");\n expect(idCell).toBeInTheDocument();\n\n expect(idCell).toHaveStyle({ width: \"100px\" });\n });\n});\n"],"names":["mockDataList","mockColumns","data","defaultProps","render","jsx","DataTable","screen","user","userEvent","onClickRowMock","props","onChangeSortMock","container","tableCells","firstCell","computedStyle","propsWithFalse","containerFalse","tableCellsFalse","firstCellFalse","containerUndefined","tableCellsUndefined","firstCellUndefined","idCell"],"mappings":"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"}
1
+ {"version":3,"file":"index.test.es.js","sources":["../../../src/components/DataTable/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\nimport userEvent from \"@testing-library/user-event\";\n\nimport \"@testing-library/jest-dom\";\n\nimport { DataTable, SortDirection, type Column } from \"./index\";\n\ntype MockData = {\n id: string;\n name: string;\n};\n\ntype Props<Key extends keyof T, T> = {\n columns: Column<T>[];\n dataList?: T[];\n totalCount: number;\n currentPage: number;\n pageSize: number;\n keyColumn: Key;\n sortColumn?: keyof T;\n sortDirection?: SortDirection;\n isLoading: boolean;\n onClickRow?: (data: T) => void;\n onChangeSort?: (sortColumn: keyof T, sortDirection: SortDirection) => void;\n onChangePage: (page: number) => void;\n onChangePageSize?: (pageSize: number) => void;\n showBorder?: boolean;\n};\n\nconst mockDataList: MockData[] = [\n { id: \"1\", name: \"Alice\" },\n { id: \"2\", name: \"Bob\" },\n];\n\nconst mockColumns: Column<MockData>[] = [\n {\n key: \"id\",\n title: \"ID\",\n sortColumn: \"id\",\n render: (data) => data.id,\n width: 100,\n },\n {\n key: \"name\",\n title: \"Name\",\n render: (data) => data.name,\n },\n];\n\nconst defaultProps: Props<keyof MockData, MockData> = {\n columns: mockColumns,\n dataList: mockDataList,\n totalCount: 2,\n keyColumn: \"id\",\n currentPage: 1,\n pageSize: 10,\n sortColumn: \"id\",\n sortDirection: \"asc\",\n isLoading: false,\n onChangePage: () => {},\n};\n\ndescribe(\"Given DataTable\", () => {\n it(\"Then renders column headers\", () => {\n render(<DataTable {...defaultProps} />);\n\n expect(screen.getByText(\"ID\")).toBeInTheDocument();\n expect(screen.getByText(\"Name\")).toBeInTheDocument();\n });\n\n it(\"Then renders data rows\", () => {\n render(<DataTable {...defaultProps} />);\n\n expect(screen.getByText(\"1\", { selector: \"td\" })).toBeInTheDocument();\n expect(screen.getByText(\"Alice\")).toBeInTheDocument();\n expect(screen.getByText(\"2\", { selector: \"td\" })).toBeInTheDocument();\n expect(screen.getByText(\"Bob\")).toBeInTheDocument();\n });\n\n it(\"When row is clicked, Then triggers onClickRow\", async () => {\n const user = userEvent.setup();\n const onClickRowMock = jest.fn();\n const props = { ...defaultProps, onClickRow: onClickRowMock };\n\n render(<DataTable {...props} />);\n\n await user.click(screen.getByText(\"Alice\"));\n expect(onClickRowMock).toHaveBeenCalledWith(mockDataList[0]);\n });\n\n it(\"When header 'asc' is clicked, Then triggers onChangeSort with 'desc'\", async () => {\n const user = userEvent.setup();\n const onChangeSortMock = jest.fn();\n const props = { ...defaultProps, onChangeSort: onChangeSortMock };\n\n render(<DataTable {...props} />);\n\n await user.click(screen.getByText(\"ID\"));\n expect(onChangeSortMock).toHaveBeenCalledWith(\"id\", \"desc\");\n });\n\n it(\"When header 'desc' is clicked, Then triggers onChangeSort with 'asc'\", async () => {\n const user = userEvent.setup();\n const onChangeSortMock = jest.fn();\n const props: Props<keyof MockData, MockData> = {\n ...defaultProps,\n onChangeSort: onChangeSortMock,\n sortDirection: \"desc\",\n };\n\n render(<DataTable {...props} />);\n\n await user.click(screen.getByText(\"ID\"));\n expect(onChangeSortMock).toHaveBeenCalledWith(\"id\", \"asc\");\n });\n\n it(\"When showBorder is true, Then table cells have borders\", () => {\n const props = { ...defaultProps, showBorder: true };\n const { container } = render(<DataTable {...props} />);\n\n const tableCells = container.querySelectorAll(\"td\");\n expect(tableCells.length).toBeGreaterThan(0);\n\n // showBorder=trueの場合、borderスタイルはundefinedになる(デフォルトのborderが適用される)\n const firstCell = tableCells[0];\n const computedStyle = window.getComputedStyle(firstCell);\n expect(computedStyle.border).not.toBe(\"none\");\n });\n\n it(\"When showBorder is false or undefined, Then table cells have no borders\", () => {\n // showBorder=falseの場合\n const propsWithFalse = { ...defaultProps, showBorder: false };\n const { container: containerFalse } = render(\n <DataTable {...propsWithFalse} />,\n );\n\n const tableCellsFalse = containerFalse.querySelectorAll(\"td\");\n expect(tableCellsFalse.length).toBeGreaterThan(0);\n\n // showBorder=falseの場合、borderスタイルは\"none\"になる\n const firstCellFalse = tableCellsFalse[0];\n expect(firstCellFalse).toHaveStyle({ border: \"none\" });\n\n // showBorder=undefinedの場合(デフォルト)\n const { container: containerUndefined } = render(\n <DataTable {...defaultProps} />,\n );\n\n const tableCellsUndefined = containerUndefined.querySelectorAll(\"td\");\n expect(tableCellsUndefined.length).toBeGreaterThan(0);\n\n // showBorder=undefinedの場合も、borderスタイルは\"none\"になる\n const firstCellUndefined = tableCellsUndefined[0];\n expect(firstCellUndefined).toHaveStyle({ border: \"none\" });\n });\n\n it(\"When column has width property, Then table cell has correct width style\", () => {\n const { container } = render(<DataTable {...defaultProps} />);\n\n const idCell = container.querySelector(\"td:first-child\");\n expect(idCell).toBeInTheDocument();\n\n expect(idCell).toHaveStyle({ width: \"100px\" });\n });\n});\n"],"names":["mockDataList","mockColumns","data","defaultProps","render","jsx","DataTable","screen","user","userEvent","onClickRowMock","props","onChangeSortMock","container","tableCells","firstCell","computedStyle","propsWithFalse","containerFalse","tableCellsFalse","firstCellFalse","containerUndefined","tableCellsUndefined","firstCellUndefined","idCell"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/components/DatePickerController/index.tsx"],"sourcesContent":["import { DateTimePicker, type DateOrTimeView } from \"@mui/x-date-pickers\";\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nimport { jaJP } from \"@mui/x-date-pickers/locales\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\nimport { parse } from \"date-fns\";\nimport ja from \"date-fns/locale/ja\";\nimport {\n Controller,\n FieldPath,\n UseControllerProps,\n type FieldValues,\n type UseFormSetValue,\n} from \"react-hook-form\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = UseControllerProps<TFieldValues, TName> & {\n setValue: UseFormSetValue<TFieldValues>;\n dateFormat: string;\n maxDateTime?: Date;\n minDateTime?: Date;\n};\n\nconst pickerStyles = {\n \".MuiButtonBase-root\": {\n padding: 0.5,\n paddingLeft: 0,\n },\n \"& input::placeholder\": {\n fontSize: \"x-small\",\n },\n};\n\n/**\n * Date,DateTimeをを選択できるコンポーネント\n * dateFormatに合わせてpickerViewを生成します。\n * @param props\n * @returns\n */\nexport const DatePickerController: <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>(\n props: Props<TFieldValues, TName>,\n) => JSX.Element = (props) => {\n const {\n defaultValue,\n maxDateTime,\n minDateTime,\n setValue,\n dateFormat,\n ...others\n } = props;\n\n /**\n * 受信した値を適切な日付またはnullに変換します。\n * @param value ユーザーによる値、呼び出し側からセットされた値\n * @param pickerInfo 紐づくpickerの情報\n * @returns\n */\n const convertValue = (value: string | Date | null): Date | null => {\n const newValue = value\n ? value instanceof Date\n ? value\n : typeof value === \"string\"\n ? parse(value, dateFormat, new Date())\n : null\n : null;\n // NOTE:呼び出し側からはstringがセットされる可能性が高いため、変換後controlに紐付けvalueも置き換えます。\n if (typeof value === \"string\") {\n setValue(others.name, newValue as never);\n }\n return newValue;\n };\n\n const handleOnchange = (value: Date | null) => {\n setValue(others.name, (value ?? defaultValue) as never, {\n shouldDirty: true,\n });\n };\n\n const views: DateOrTimeView[] = (() => {\n const v: DateOrTimeView[] = [];\n\n if (dateFormat.includes(\"yyyy\")) {\n v.push(\"year\");\n }\n if (dateFormat.includes(\"MM\")) {\n v.push(\"month\");\n }\n if (dateFormat.includes(\"dd\")) {\n v.push(\"day\");\n }\n if (dateFormat.includes(\"HH\")) {\n v.push(\"hours\");\n }\n if (dateFormat.includes(\"mm\")) {\n v.push(\"minutes\");\n }\n if (dateFormat.includes(\"ss\")) {\n v.push(\"seconds\");\n }\n return v;\n })();\n\n return (\n <LocalizationProvider\n dateAdapter={AdapterDateFns}\n adapterLocale={ja}\n localeText={\n jaJP.components.MuiLocalizationProvider.defaultProps.localeText\n }\n >\n <div className={styles.rangeContainer}>\n <Controller\n control={others.control}\n name={others.name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => (\n <DateTimePicker\n {...field}\n format={dateFormat}\n views={views}\n sx={pickerStyles}\n value={convertValue(field.value)}\n onChange={(newDate) => {\n handleOnchange(newDate);\n }}\n slotProps={{\n textField: {\n error: !!fieldState.error,\n helperText: fieldState.error?.message,\n fullWidth: true,\n },\n // NOTE: clearボタンが文字を隠していまうのでとりあえずcalendar内のもので代用\n // field: {\n // clearable: true,\n // },\n actionBar: { actions: [\"clear\", \"accept\"] },\n }}\n maxDateTime={maxDateTime}\n minDateTime={minDateTime}\n />\n )}\n />\n </div>\n </LocalizationProvider>\n );\n};\n\nexport default DatePickerController;\n"],"names":["pickerStyles","DatePickerController","props","defaultValue","maxDateTime","minDateTime","setValue","dateFormat","others","convertValue","value","newValue","parse","handleOnchange","views","v","jsx","LocalizationProvider","AdapterDateFns","ja","jaJP","styles","Controller","field","fieldState","DateTimePicker","newDate","_a"],"mappings":"qcA0BMA,EAAe,CACnB,sBAAuB,CACrB,QAAS,GACT,YAAa,CACf,EACA,uBAAwB,CACtB,SAAU,SAAA,CAEd,EAQaC,EAKOC,GAAU,CACtB,KAAA,CACJ,aAAAC,EACA,YAAAC,EACA,YAAAC,EACA,SAAAC,EACA,WAAAC,EACA,GAAGC,CAAA,EACDN,EAQEO,EAAgBC,GAA6C,CACjE,MAAMC,EAAWD,EACbA,aAAiB,KACfA,EACA,OAAOA,GAAU,SACfE,EAAA,MAAMF,EAAOH,EAAY,IAAI,IAAM,EACnC,KACJ,KAEA,OAAA,OAAOG,GAAU,UACVJ,EAAAE,EAAO,KAAMG,CAAiB,EAElCA,CACT,EAEME,EAAkBH,GAAuB,CACpCJ,EAAAE,EAAO,KAAOE,GAASP,EAAwB,CACtD,YAAa,EAAA,CACd,CACH,EAEMW,GAA2B,IAAM,CACrC,MAAMC,EAAsB,CAAC,EAEzB,OAAAR,EAAW,SAAS,MAAM,GAC5BQ,EAAE,KAAK,MAAM,EAEXR,EAAW,SAAS,IAAI,GAC1BQ,EAAE,KAAK,OAAO,EAEZR,EAAW,SAAS,IAAI,GAC1BQ,EAAE,KAAK,KAAK,EAEVR,EAAW,SAAS,IAAI,GAC1BQ,EAAE,KAAK,OAAO,EAEZR,EAAW,SAAS,IAAI,GAC1BQ,EAAE,KAAK,SAAS,EAEdR,EAAW,SAAS,IAAI,GAC1BQ,EAAE,KAAK,SAAS,EAEXA,CAAA,GACN,EAGD,OAAAC,EAAA,IAACC,EAAA,qBAAA,CACC,YAAaC,EAAA,eACb,cAAeC,EACf,WACEC,EAAAA,KAAK,WAAW,wBAAwB,aAAa,WAGvD,SAACJ,EAAA,IAAA,MAAA,CAAI,UAAWK,EAAO,eACrB,SAAAL,EAAA,IAACM,EAAA,WAAA,CACC,QAASd,EAAO,QAChB,KAAMA,EAAO,KACb,aAAAL,EACA,OAAQ,CAAC,CAAE,MAAAoB,EAAO,WAAAC,CAChB,IAAA,OAAAR,OAAAA,EAAA,IAACS,EAAA,eAAA,CACE,GAAGF,EACJ,OAAQhB,EACR,MAAAO,EACA,GAAId,EACJ,MAAOS,EAAac,EAAM,KAAK,EAC/B,SAAWG,GAAY,CACrBb,EAAea,CAAO,CACxB,EACA,UAAW,CACT,UAAW,CACT,MAAO,CAAC,CAACF,EAAW,MACpB,YAAYG,EAAAH,EAAW,QAAX,YAAAG,EAAkB,QAC9B,UAAW,EACb,EAKA,UAAW,CAAE,QAAS,CAAC,QAAS,QAAQ,CAAE,CAC5C,EACA,YAAAvB,EACA,YAAAC,CAAA,CAAA,EACF,CAAA,CAGN,CAAA,CAAA,CACF,CAEJ"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/components/DatePickerController/index.tsx"],"sourcesContent":["import type { JSX } from \"react\";\nimport { DateTimePicker, type DateOrTimeView } from \"@mui/x-date-pickers\";\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nimport { jaJP } from \"@mui/x-date-pickers/locales\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\nimport { parse } from \"date-fns\";\nimport ja from \"date-fns/locale/ja\";\nimport {\n Controller,\n FieldPath,\n UseControllerProps,\n type FieldValues,\n type UseFormSetValue,\n} from \"react-hook-form\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = UseControllerProps<TFieldValues, TName> & {\n setValue: UseFormSetValue<TFieldValues>;\n dateFormat: string;\n maxDateTime?: Date;\n minDateTime?: Date;\n};\n\nconst pickerStyles = {\n \".MuiButtonBase-root\": {\n padding: 0.5,\n paddingLeft: 0,\n },\n \"& input::placeholder\": {\n fontSize: \"x-small\",\n },\n};\n\n/**\n * Date,DateTimeをを選択できるコンポーネント\n * dateFormatに合わせてpickerViewを生成します。\n * @param props\n * @returns\n */\nexport const DatePickerController: <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>(\n props: Props<TFieldValues, TName>,\n) => JSX.Element = (props) => {\n const {\n defaultValue,\n maxDateTime,\n minDateTime,\n setValue,\n dateFormat,\n ...others\n } = props;\n\n /**\n * 受信した値を適切な日付またはnullに変換します。\n * @param value ユーザーによる値、呼び出し側からセットされた値\n * @param pickerInfo 紐づくpickerの情報\n * @returns\n */\n const convertValue = (value: string | Date | null): Date | null => {\n const newValue = value\n ? value instanceof Date\n ? value\n : typeof value === \"string\"\n ? parse(value, dateFormat, new Date())\n : null\n : null;\n // NOTE:呼び出し側からはstringがセットされる可能性が高いため、変換後controlに紐付けvalueも置き換えます。\n if (typeof value === \"string\") {\n setValue(others.name, newValue as never);\n }\n return newValue;\n };\n\n const handleOnchange = (value: Date | null) => {\n setValue(others.name, (value ?? defaultValue) as never, {\n shouldDirty: true,\n });\n };\n\n const views: DateOrTimeView[] = (() => {\n const v: DateOrTimeView[] = [];\n\n if (dateFormat.includes(\"yyyy\")) {\n v.push(\"year\");\n }\n if (dateFormat.includes(\"MM\")) {\n v.push(\"month\");\n }\n if (dateFormat.includes(\"dd\")) {\n v.push(\"day\");\n }\n if (dateFormat.includes(\"HH\")) {\n v.push(\"hours\");\n }\n if (dateFormat.includes(\"mm\")) {\n v.push(\"minutes\");\n }\n if (dateFormat.includes(\"ss\")) {\n v.push(\"seconds\");\n }\n return v;\n })();\n\n return (\n <LocalizationProvider\n dateAdapter={AdapterDateFns}\n adapterLocale={ja}\n localeText={\n jaJP.components.MuiLocalizationProvider.defaultProps.localeText\n }\n >\n <div className={styles.rangeContainer}>\n <Controller\n control={others.control}\n name={others.name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => (\n <DateTimePicker\n {...field}\n format={dateFormat}\n views={views}\n sx={pickerStyles}\n value={convertValue(field.value)}\n onChange={(newDate) => {\n handleOnchange(newDate);\n }}\n slotProps={{\n textField: {\n error: !!fieldState.error,\n helperText: fieldState.error?.message,\n fullWidth: true,\n },\n // NOTE: clearボタンが文字を隠していまうのでとりあえずcalendar内のもので代用\n // field: {\n // clearable: true,\n // },\n actionBar: { actions: [\"clear\", \"accept\"] },\n }}\n maxDateTime={maxDateTime}\n minDateTime={minDateTime}\n />\n )}\n />\n </div>\n </LocalizationProvider>\n );\n};\n\nexport default DatePickerController;\n"],"names":["pickerStyles","DatePickerController","props","defaultValue","maxDateTime","minDateTime","setValue","dateFormat","others","convertValue","value","newValue","parse","handleOnchange","views","v","jsx","LocalizationProvider","AdapterDateFns","ja","jaJP","styles","Controller","field","fieldState","DateTimePicker","newDate","_a"],"mappings":"qcA2BMA,EAAe,CACnB,sBAAuB,CACrB,QAAS,GACT,YAAa,CAAA,EAEf,uBAAwB,CACtB,SAAU,SAAA,CAEd,EAQaC,EAKOC,GAAU,CAC5B,KAAM,CACJ,aAAAC,EACA,YAAAC,EACA,YAAAC,EACA,SAAAC,EACA,WAAAC,EACA,GAAGC,CAAA,EACDN,EAQEO,EAAgBC,GAA6C,CACjE,MAAMC,EAAWD,EACbA,aAAiB,KACfA,EACA,OAAOA,GAAU,SACfE,EAAAA,MAAMF,EAAOH,EAAY,IAAI,IAAM,EACnC,KACJ,KAEJ,OAAI,OAAOG,GAAU,UACnBJ,EAASE,EAAO,KAAMG,CAAiB,EAElCA,CACT,EAEME,EAAkBH,GAAuB,CAC7CJ,EAASE,EAAO,KAAOE,GAASP,EAAwB,CACtD,YAAa,EAAA,CACd,CACH,EAEMW,GAA2B,IAAM,CACrC,MAAMC,EAAsB,CAAA,EAE5B,OAAIR,EAAW,SAAS,MAAM,GAC5BQ,EAAE,KAAK,MAAM,EAEXR,EAAW,SAAS,IAAI,GAC1BQ,EAAE,KAAK,OAAO,EAEZR,EAAW,SAAS,IAAI,GAC1BQ,EAAE,KAAK,KAAK,EAEVR,EAAW,SAAS,IAAI,GAC1BQ,EAAE,KAAK,OAAO,EAEZR,EAAW,SAAS,IAAI,GAC1BQ,EAAE,KAAK,SAAS,EAEdR,EAAW,SAAS,IAAI,GAC1BQ,EAAE,KAAK,SAAS,EAEXA,CACT,GAAA,EAEA,OACEC,EAAAA,IAACC,EAAAA,qBAAA,CACC,YAAaC,EAAAA,eACb,cAAeC,EACf,WACEC,EAAAA,KAAK,WAAW,wBAAwB,aAAa,WAGvD,SAAAJ,EAAAA,IAAC,MAAA,CAAI,UAAWK,EAAO,eACrB,SAAAL,EAAAA,IAACM,EAAAA,WAAA,CACC,QAASd,EAAO,QAChB,KAAMA,EAAO,KACb,aAAAL,EACA,OAAQ,CAAC,CAAE,MAAAoB,EAAO,WAAAC,KAAW,OAC3BR,OAAAA,EAAAA,IAACS,EAAAA,eAAA,CACE,GAAGF,EACJ,OAAQhB,EACR,MAAAO,EACA,GAAId,EACJ,MAAOS,EAAac,EAAM,KAAK,EAC/B,SAAWG,GAAY,CACrBb,EAAea,CAAO,CACxB,EACA,UAAW,CACT,UAAW,CACT,MAAO,CAAC,CAACF,EAAW,MACpB,YAAYG,EAAAH,EAAW,QAAX,YAAAG,EAAkB,QAC9B,UAAW,EAAA,EAMb,UAAW,CAAE,QAAS,CAAC,QAAS,QAAQ,CAAA,CAAE,EAE5C,YAAAvB,EACA,YAAAC,CAAA,CAAA,EACF,CAAA,CAEJ,CACF,CAAA,CAAA,CAGN"}
@@ -1,3 +1,4 @@
1
+ import { JSX } from 'react';
1
2
  import { FieldPath, UseControllerProps, FieldValues, UseFormSetValue } from 'react-hook-form';
2
3
 
3
4
  type Props<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = UseControllerProps<TFieldValues, TName> & {
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../src/components/DatePickerController/index.tsx"],"sourcesContent":["import { DateTimePicker, type DateOrTimeView } from \"@mui/x-date-pickers\";\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nimport { jaJP } from \"@mui/x-date-pickers/locales\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\nimport { parse } from \"date-fns\";\nimport ja from \"date-fns/locale/ja\";\nimport {\n Controller,\n FieldPath,\n UseControllerProps,\n type FieldValues,\n type UseFormSetValue,\n} from \"react-hook-form\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = UseControllerProps<TFieldValues, TName> & {\n setValue: UseFormSetValue<TFieldValues>;\n dateFormat: string;\n maxDateTime?: Date;\n minDateTime?: Date;\n};\n\nconst pickerStyles = {\n \".MuiButtonBase-root\": {\n padding: 0.5,\n paddingLeft: 0,\n },\n \"& input::placeholder\": {\n fontSize: \"x-small\",\n },\n};\n\n/**\n * Date,DateTimeをを選択できるコンポーネント\n * dateFormatに合わせてpickerViewを生成します。\n * @param props\n * @returns\n */\nexport const DatePickerController: <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>(\n props: Props<TFieldValues, TName>,\n) => JSX.Element = (props) => {\n const {\n defaultValue,\n maxDateTime,\n minDateTime,\n setValue,\n dateFormat,\n ...others\n } = props;\n\n /**\n * 受信した値を適切な日付またはnullに変換します。\n * @param value ユーザーによる値、呼び出し側からセットされた値\n * @param pickerInfo 紐づくpickerの情報\n * @returns\n */\n const convertValue = (value: string | Date | null): Date | null => {\n const newValue = value\n ? value instanceof Date\n ? value\n : typeof value === \"string\"\n ? parse(value, dateFormat, new Date())\n : null\n : null;\n // NOTE:呼び出し側からはstringがセットされる可能性が高いため、変換後controlに紐付けvalueも置き換えます。\n if (typeof value === \"string\") {\n setValue(others.name, newValue as never);\n }\n return newValue;\n };\n\n const handleOnchange = (value: Date | null) => {\n setValue(others.name, (value ?? defaultValue) as never, {\n shouldDirty: true,\n });\n };\n\n const views: DateOrTimeView[] = (() => {\n const v: DateOrTimeView[] = [];\n\n if (dateFormat.includes(\"yyyy\")) {\n v.push(\"year\");\n }\n if (dateFormat.includes(\"MM\")) {\n v.push(\"month\");\n }\n if (dateFormat.includes(\"dd\")) {\n v.push(\"day\");\n }\n if (dateFormat.includes(\"HH\")) {\n v.push(\"hours\");\n }\n if (dateFormat.includes(\"mm\")) {\n v.push(\"minutes\");\n }\n if (dateFormat.includes(\"ss\")) {\n v.push(\"seconds\");\n }\n return v;\n })();\n\n return (\n <LocalizationProvider\n dateAdapter={AdapterDateFns}\n adapterLocale={ja}\n localeText={\n jaJP.components.MuiLocalizationProvider.defaultProps.localeText\n }\n >\n <div className={styles.rangeContainer}>\n <Controller\n control={others.control}\n name={others.name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => (\n <DateTimePicker\n {...field}\n format={dateFormat}\n views={views}\n sx={pickerStyles}\n value={convertValue(field.value)}\n onChange={(newDate) => {\n handleOnchange(newDate);\n }}\n slotProps={{\n textField: {\n error: !!fieldState.error,\n helperText: fieldState.error?.message,\n fullWidth: true,\n },\n // NOTE: clearボタンが文字を隠していまうのでとりあえずcalendar内のもので代用\n // field: {\n // clearable: true,\n // },\n actionBar: { actions: [\"clear\", \"accept\"] },\n }}\n maxDateTime={maxDateTime}\n minDateTime={minDateTime}\n />\n )}\n />\n </div>\n </LocalizationProvider>\n );\n};\n\nexport default DatePickerController;\n"],"names":["pickerStyles","DatePickerController","props","defaultValue","maxDateTime","minDateTime","setValue","dateFormat","others","convertValue","value","newValue","parse","handleOnchange","views","v","jsx","LocalizationProvider","AdapterDateFns","ja","jaJP","styles","Controller","field","fieldState","DateTimePicker","newDate","_a"],"mappings":";;;;;;;;;;GA0BMA,IAAe;AAAA,EACnB,uBAAuB;AAAA,IACrB,SAAS;AAAA,IACT,aAAa;AAAA,EACf;AAAA,EACA,wBAAwB;AAAA,IACtB,UAAU;AAAA,EAAA;AAEd,GAQaC,IAKM,CAACC,MAAU;AACtB,QAAA;AAAA,IACJ,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDN,GAQEO,IAAe,CAACC,MAA6C;AACjE,UAAMC,IAAWD,IACbA,aAAiB,OACfA,IACA,OAAOA,KAAU,WACfE,EAAMF,GAAOH,GAAY,oBAAI,KAAM,CAAA,IACnC,OACJ;AAEA,WAAA,OAAOG,KAAU,YACVJ,EAAAE,EAAO,MAAMG,CAAiB,GAElCA;AAAA,EACT,GAEME,IAAiB,CAACH,MAAuB;AACpC,IAAAJ,EAAAE,EAAO,MAAOE,KAASP,GAAwB;AAAA,MACtD,aAAa;AAAA,IAAA,CACd;AAAA,EACH,GAEMW,KAA2B,MAAM;AACrC,UAAMC,IAAsB,CAAC;AAEzB,WAAAR,EAAW,SAAS,MAAM,KAC5BQ,EAAE,KAAK,MAAM,GAEXR,EAAW,SAAS,IAAI,KAC1BQ,EAAE,KAAK,OAAO,GAEZR,EAAW,SAAS,IAAI,KAC1BQ,EAAE,KAAK,KAAK,GAEVR,EAAW,SAAS,IAAI,KAC1BQ,EAAE,KAAK,OAAO,GAEZR,EAAW,SAAS,IAAI,KAC1BQ,EAAE,KAAK,SAAS,GAEdR,EAAW,SAAS,IAAI,KAC1BQ,EAAE,KAAK,SAAS,GAEXA;AAAA,EAAA,GACN;AAGD,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAaC;AAAA,MACb,eAAeC;AAAA,MACf,YACEC,EAAK,WAAW,wBAAwB,aAAa;AAAA,MAGvD,UAAC,gBAAAJ,EAAA,OAAA,EAAI,WAAWK,EAAO,gBACrB,UAAA,gBAAAL;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,SAASd,EAAO;AAAA,UAChB,MAAMA,EAAO;AAAA,UACb,cAAAL;AAAA,UACA,QAAQ,CAAC,EAAE,OAAAoB,GAAO,YAAAC,EAChB,MAAA;;AAAA,mCAAAR;AAAA,cAACS;AAAA,cAAA;AAAA,gBACE,GAAGF;AAAA,gBACJ,QAAQhB;AAAA,gBACR,OAAAO;AAAA,gBACA,IAAId;AAAA,gBACJ,OAAOS,EAAac,EAAM,KAAK;AAAA,gBAC/B,UAAU,CAACG,MAAY;AACrB,kBAAAb,EAAea,CAAO;AAAA,gBACxB;AAAA,gBACA,WAAW;AAAA,kBACT,WAAW;AAAA,oBACT,OAAO,CAAC,CAACF,EAAW;AAAA,oBACpB,aAAYG,IAAAH,EAAW,UAAX,gBAAAG,EAAkB;AAAA,oBAC9B,WAAW;AAAA,kBACb;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKA,WAAW,EAAE,SAAS,CAAC,SAAS,QAAQ,EAAE;AAAA,gBAC5C;AAAA,gBACA,aAAAvB;AAAA,gBACA,aAAAC;AAAA,cAAA;AAAA,YAAA;AAAA;AAAA,QACF;AAAA,MAAA,EAGN,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../src/components/DatePickerController/index.tsx"],"sourcesContent":["import type { JSX } from \"react\";\nimport { DateTimePicker, type DateOrTimeView } from \"@mui/x-date-pickers\";\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nimport { jaJP } from \"@mui/x-date-pickers/locales\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\nimport { parse } from \"date-fns\";\nimport ja from \"date-fns/locale/ja\";\nimport {\n Controller,\n FieldPath,\n UseControllerProps,\n type FieldValues,\n type UseFormSetValue,\n} from \"react-hook-form\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = UseControllerProps<TFieldValues, TName> & {\n setValue: UseFormSetValue<TFieldValues>;\n dateFormat: string;\n maxDateTime?: Date;\n minDateTime?: Date;\n};\n\nconst pickerStyles = {\n \".MuiButtonBase-root\": {\n padding: 0.5,\n paddingLeft: 0,\n },\n \"& input::placeholder\": {\n fontSize: \"x-small\",\n },\n};\n\n/**\n * Date,DateTimeをを選択できるコンポーネント\n * dateFormatに合わせてpickerViewを生成します。\n * @param props\n * @returns\n */\nexport const DatePickerController: <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>(\n props: Props<TFieldValues, TName>,\n) => JSX.Element = (props) => {\n const {\n defaultValue,\n maxDateTime,\n minDateTime,\n setValue,\n dateFormat,\n ...others\n } = props;\n\n /**\n * 受信した値を適切な日付またはnullに変換します。\n * @param value ユーザーによる値、呼び出し側からセットされた値\n * @param pickerInfo 紐づくpickerの情報\n * @returns\n */\n const convertValue = (value: string | Date | null): Date | null => {\n const newValue = value\n ? value instanceof Date\n ? value\n : typeof value === \"string\"\n ? parse(value, dateFormat, new Date())\n : null\n : null;\n // NOTE:呼び出し側からはstringがセットされる可能性が高いため、変換後controlに紐付けvalueも置き換えます。\n if (typeof value === \"string\") {\n setValue(others.name, newValue as never);\n }\n return newValue;\n };\n\n const handleOnchange = (value: Date | null) => {\n setValue(others.name, (value ?? defaultValue) as never, {\n shouldDirty: true,\n });\n };\n\n const views: DateOrTimeView[] = (() => {\n const v: DateOrTimeView[] = [];\n\n if (dateFormat.includes(\"yyyy\")) {\n v.push(\"year\");\n }\n if (dateFormat.includes(\"MM\")) {\n v.push(\"month\");\n }\n if (dateFormat.includes(\"dd\")) {\n v.push(\"day\");\n }\n if (dateFormat.includes(\"HH\")) {\n v.push(\"hours\");\n }\n if (dateFormat.includes(\"mm\")) {\n v.push(\"minutes\");\n }\n if (dateFormat.includes(\"ss\")) {\n v.push(\"seconds\");\n }\n return v;\n })();\n\n return (\n <LocalizationProvider\n dateAdapter={AdapterDateFns}\n adapterLocale={ja}\n localeText={\n jaJP.components.MuiLocalizationProvider.defaultProps.localeText\n }\n >\n <div className={styles.rangeContainer}>\n <Controller\n control={others.control}\n name={others.name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => (\n <DateTimePicker\n {...field}\n format={dateFormat}\n views={views}\n sx={pickerStyles}\n value={convertValue(field.value)}\n onChange={(newDate) => {\n handleOnchange(newDate);\n }}\n slotProps={{\n textField: {\n error: !!fieldState.error,\n helperText: fieldState.error?.message,\n fullWidth: true,\n },\n // NOTE: clearボタンが文字を隠していまうのでとりあえずcalendar内のもので代用\n // field: {\n // clearable: true,\n // },\n actionBar: { actions: [\"clear\", \"accept\"] },\n }}\n maxDateTime={maxDateTime}\n minDateTime={minDateTime}\n />\n )}\n />\n </div>\n </LocalizationProvider>\n );\n};\n\nexport default DatePickerController;\n"],"names":["pickerStyles","DatePickerController","props","defaultValue","maxDateTime","minDateTime","setValue","dateFormat","others","convertValue","value","newValue","parse","handleOnchange","views","v","jsx","LocalizationProvider","AdapterDateFns","ja","jaJP","styles","Controller","field","fieldState","DateTimePicker","newDate","_a"],"mappings":";;;;;;;;;;GA2BMA,IAAe;AAAA,EACnB,uBAAuB;AAAA,IACrB,SAAS;AAAA,IACT,aAAa;AAAA,EAAA;AAAA,EAEf,wBAAwB;AAAA,IACtB,UAAU;AAAA,EAAA;AAEd,GAQaC,IAKM,CAACC,MAAU;AAC5B,QAAM;AAAA,IACJ,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDN,GAQEO,IAAe,CAACC,MAA6C;AACjE,UAAMC,IAAWD,IACbA,aAAiB,OACfA,IACA,OAAOA,KAAU,WACfE,EAAMF,GAAOH,GAAY,oBAAI,KAAA,CAAM,IACnC,OACJ;AAEJ,WAAI,OAAOG,KAAU,YACnBJ,EAASE,EAAO,MAAMG,CAAiB,GAElCA;AAAA,EACT,GAEME,IAAiB,CAACH,MAAuB;AAC7C,IAAAJ,EAASE,EAAO,MAAOE,KAASP,GAAwB;AAAA,MACtD,aAAa;AAAA,IAAA,CACd;AAAA,EACH,GAEMW,KAA2B,MAAM;AACrC,UAAMC,IAAsB,CAAA;AAE5B,WAAIR,EAAW,SAAS,MAAM,KAC5BQ,EAAE,KAAK,MAAM,GAEXR,EAAW,SAAS,IAAI,KAC1BQ,EAAE,KAAK,OAAO,GAEZR,EAAW,SAAS,IAAI,KAC1BQ,EAAE,KAAK,KAAK,GAEVR,EAAW,SAAS,IAAI,KAC1BQ,EAAE,KAAK,OAAO,GAEZR,EAAW,SAAS,IAAI,KAC1BQ,EAAE,KAAK,SAAS,GAEdR,EAAW,SAAS,IAAI,KAC1BQ,EAAE,KAAK,SAAS,GAEXA;AAAA,EACT,GAAA;AAEA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAaC;AAAA,MACb,eAAeC;AAAA,MACf,YACEC,EAAK,WAAW,wBAAwB,aAAa;AAAA,MAGvD,UAAA,gBAAAJ,EAAC,OAAA,EAAI,WAAWK,EAAO,gBACrB,UAAA,gBAAAL;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,SAASd,EAAO;AAAA,UAChB,MAAMA,EAAO;AAAA,UACb,cAAAL;AAAA,UACA,QAAQ,CAAC,EAAE,OAAAoB,GAAO,YAAAC,QAAW;;AAC3B,mCAAAR;AAAA,cAACS;AAAA,cAAA;AAAA,gBACE,GAAGF;AAAA,gBACJ,QAAQhB;AAAA,gBACR,OAAAO;AAAA,gBACA,IAAId;AAAA,gBACJ,OAAOS,EAAac,EAAM,KAAK;AAAA,gBAC/B,UAAU,CAACG,MAAY;AACrB,kBAAAb,EAAea,CAAO;AAAA,gBACxB;AAAA,gBACA,WAAW;AAAA,kBACT,WAAW;AAAA,oBACT,OAAO,CAAC,CAACF,EAAW;AAAA,oBACpB,aAAYG,IAAAH,EAAW,UAAX,gBAAAG,EAAkB;AAAA,oBAC9B,WAAW;AAAA,kBAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMb,WAAW,EAAE,SAAS,CAAC,SAAS,QAAQ,EAAA;AAAA,gBAAE;AAAA,gBAE5C,aAAAvB;AAAA,gBACA,aAAAC;AAAA,cAAA;AAAA,YAAA;AAAA;AAAA,QACF;AAAA,MAAA,EAEJ,CACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,2 +1,2 @@
1
- "use strict";const n=require("react/jsx-runtime"),e=require("../../react.esm-CiMn0Rnx.cjs"),a=require("react-hook-form"),c=require("./index.cjs.js");describe("DatePickerController component",()=>{it("renders with correct default value (date-only format)",async()=>{const{result:t}=e.renderHook(()=>a.useForm()),{control:r,setValue:o}=t.current;e.render(n.jsx(c.DatePickerController,{control:r,name:"fromDate",defaultValue:"2024-03-01",dateFormat:"yyyy-MM-dd",setValue:o})),expect(await e.screen.findByDisplayValue("2024-03-01")).toBeInTheDocument()}),it("renders with correct default value (datetime format)",async()=>{const{result:t}=e.renderHook(()=>a.useForm()),{control:r,setValue:o}=t.current;e.render(n.jsx(c.DatePickerController,{control:r,name:"fromDate",defaultValue:"2024/03/01 00:00:00",dateFormat:"yyyy/MM/dd HH:mm:ss",setValue:o})),expect(await e.screen.findByDisplayValue("2024/03/01 00:00:00")).toBeInTheDocument()})});
1
+ "use strict";const n=require("react/jsx-runtime"),e=require("../../react.esm-BcRJ42eI.cjs"),a=require("react-hook-form"),c=require("./index.cjs.js");describe("DatePickerController component",()=>{it("renders with correct default value (date-only format)",async()=>{const{result:t}=e.renderHook(()=>a.useForm()),{control:r,setValue:o}=t.current;e.render(n.jsx(c.DatePickerController,{control:r,name:"fromDate",defaultValue:"2024-03-01",dateFormat:"yyyy-MM-dd",setValue:o})),expect(await e.screen.findByDisplayValue("2024-03-01")).toBeInTheDocument()}),it("renders with correct default value (datetime format)",async()=>{const{result:t}=e.renderHook(()=>a.useForm()),{control:r,setValue:o}=t.current;e.render(n.jsx(c.DatePickerController,{control:r,name:"fromDate",defaultValue:"2024/03/01 00:00:00",dateFormat:"yyyy/MM/dd HH:mm:ss",setValue:o})),expect(await e.screen.findByDisplayValue("2024/03/01 00:00:00")).toBeInTheDocument()})});
2
2
  //# sourceMappingURL=index.test.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/DatePickerController/index.test.tsx"],"sourcesContent":["import { render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport DatePickerController from \".\";\n\ndescribe(\"DatePickerController component\", () => {\n it(\"renders with correct default value (date-only format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <DatePickerController\n control={control}\n name={\"fromDate\"}\n defaultValue={\"2024-03-01\"}\n dateFormat=\"yyyy-MM-dd\"\n setValue={setValue}\n />,\n );\n\n expect(await screen.findByDisplayValue(\"2024-03-01\")).toBeInTheDocument();\n });\n\n it(\"renders with correct default value (datetime format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <DatePickerController\n control={control}\n name={\"fromDate\"}\n defaultValue={\"2024/03/01 00:00:00\"}\n dateFormat=\"yyyy/MM/dd HH:mm:ss\"\n setValue={setValue}\n />,\n );\n\n expect(\n await screen.findByDisplayValue(\"2024/03/01 00:00:00\"),\n ).toBeInTheDocument();\n });\n});\n"],"names":["result","renderHook","useForm","control","setValue","render","jsx","DatePickerController","screen"],"mappings":"qJAKA,SAAS,iCAAkC,IAAM,CAC/C,GAAG,wDAAyD,SAAY,CACtE,KAAM,CAAE,OAAAA,CAAO,EAAIC,aAAW,IAAMC,WAAS,EACvC,CAAE,QAAAC,EAAS,SAAAC,CAAS,EAAIJ,EAAO,QAErCK,EAAA,OACEC,EAAA,IAACC,EAAA,qBAAA,CACC,QAAAJ,EACA,KAAM,WACN,aAAc,aACd,WAAW,aACX,SAAAC,CAAA,CAAA,CAEJ,EAEA,OAAO,MAAMI,EAAAA,OAAO,mBAAmB,YAAY,CAAC,EAAE,kBAAkB,CAAA,CACzE,EAED,GAAG,uDAAwD,SAAY,CACrE,KAAM,CAAE,OAAAR,CAAO,EAAIC,aAAW,IAAMC,WAAS,EACvC,CAAE,QAAAC,EAAS,SAAAC,CAAS,EAAIJ,EAAO,QAErCK,EAAA,OACEC,EAAA,IAACC,EAAA,qBAAA,CACC,QAAAJ,EACA,KAAM,WACN,aAAc,sBACd,WAAW,sBACX,SAAAC,CAAA,CAAA,CAEJ,EAEA,OACE,MAAMI,EAAAA,OAAO,mBAAmB,qBAAqB,GACrD,kBAAkB,CAAA,CACrB,CACH,CAAC"}
1
+ {"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/DatePickerController/index.test.tsx"],"sourcesContent":["import { render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport DatePickerController from \".\";\n\ndescribe(\"DatePickerController component\", () => {\n it(\"renders with correct default value (date-only format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <DatePickerController\n control={control}\n name={\"fromDate\"}\n defaultValue={\"2024-03-01\"}\n dateFormat=\"yyyy-MM-dd\"\n setValue={setValue}\n />,\n );\n\n expect(await screen.findByDisplayValue(\"2024-03-01\")).toBeInTheDocument();\n });\n\n it(\"renders with correct default value (datetime format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <DatePickerController\n control={control}\n name={\"fromDate\"}\n defaultValue={\"2024/03/01 00:00:00\"}\n dateFormat=\"yyyy/MM/dd HH:mm:ss\"\n setValue={setValue}\n />,\n );\n\n expect(\n await screen.findByDisplayValue(\"2024/03/01 00:00:00\"),\n ).toBeInTheDocument();\n });\n});\n"],"names":["result","renderHook","useForm","control","setValue","render","jsx","DatePickerController","screen"],"mappings":"qJAKA,SAAS,iCAAkC,IAAM,CAC/C,GAAG,wDAAyD,SAAY,CACtE,KAAM,CAAE,OAAAA,CAAA,EAAWC,aAAW,IAAMC,EAAAA,SAAS,EACvC,CAAE,QAAAC,EAAS,SAAAC,CAAA,EAAaJ,EAAO,QAErCK,EAAAA,OACEC,EAAAA,IAACC,EAAAA,qBAAA,CACC,QAAAJ,EACA,KAAM,WACN,aAAc,aACd,WAAW,aACX,SAAAC,CAAA,CAAA,CACF,EAGF,OAAO,MAAMI,EAAAA,OAAO,mBAAmB,YAAY,CAAC,EAAE,kBAAA,CACxD,CAAC,EAED,GAAG,uDAAwD,SAAY,CACrE,KAAM,CAAE,OAAAR,CAAA,EAAWC,aAAW,IAAMC,EAAAA,SAAS,EACvC,CAAE,QAAAC,EAAS,SAAAC,CAAA,EAAaJ,EAAO,QAErCK,EAAAA,OACEC,EAAAA,IAACC,EAAAA,qBAAA,CACC,QAAAJ,EACA,KAAM,WACN,aAAc,sBACd,WAAW,sBACX,SAAAC,CAAA,CAAA,CACF,EAGF,OACE,MAAMI,EAAAA,OAAO,mBAAmB,qBAAqB,CAAA,EACrD,kBAAA,CACJ,CAAC,CACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import { a as o, r as n, s } from "../../react.esm-2FJSSo-S.js";
2
+ import { a as o, r as n, s } from "../../react.esm-DVhZgPrH.js";
3
3
  import { useForm as c } from "react-hook-form";
4
4
  import { DatePickerController as l } from "./index.es.js";
5
5
  describe("DatePickerController component", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.es.js","sources":["../../../src/components/DatePickerController/index.test.tsx"],"sourcesContent":["import { render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport DatePickerController from \".\";\n\ndescribe(\"DatePickerController component\", () => {\n it(\"renders with correct default value (date-only format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <DatePickerController\n control={control}\n name={\"fromDate\"}\n defaultValue={\"2024-03-01\"}\n dateFormat=\"yyyy-MM-dd\"\n setValue={setValue}\n />,\n );\n\n expect(await screen.findByDisplayValue(\"2024-03-01\")).toBeInTheDocument();\n });\n\n it(\"renders with correct default value (datetime format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <DatePickerController\n control={control}\n name={\"fromDate\"}\n defaultValue={\"2024/03/01 00:00:00\"}\n dateFormat=\"yyyy/MM/dd HH:mm:ss\"\n setValue={setValue}\n />,\n );\n\n expect(\n await screen.findByDisplayValue(\"2024/03/01 00:00:00\"),\n ).toBeInTheDocument();\n });\n});\n"],"names":["result","renderHook","useForm","control","setValue","render","jsx","DatePickerController","screen"],"mappings":";;;;AAKA,SAAS,kCAAkC,MAAM;AAC/C,KAAG,yDAAyD,YAAY;AACtE,UAAM,EAAE,QAAAA,EAAO,IAAIC,EAAW,MAAMC,GAAS,GACvC,EAAE,SAAAC,GAAS,UAAAC,EAAS,IAAIJ,EAAO;AAErC,IAAAK;AAAA,MACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,SAAAJ;AAAA,UACA,MAAM;AAAA,UACN,cAAc;AAAA,UACd,YAAW;AAAA,UACX,UAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ,GAEA,OAAO,MAAMI,EAAO,mBAAmB,YAAY,CAAC,EAAE,kBAAkB;AAAA,EAAA,CACzE,GAED,GAAG,wDAAwD,YAAY;AACrE,UAAM,EAAE,QAAAR,EAAO,IAAIC,EAAW,MAAMC,GAAS,GACvC,EAAE,SAAAC,GAAS,UAAAC,EAAS,IAAIJ,EAAO;AAErC,IAAAK;AAAA,MACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,SAAAJ;AAAA,UACA,MAAM;AAAA,UACN,cAAc;AAAA,UACd,YAAW;AAAA,UACX,UAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ,GAEA;AAAA,MACE,MAAMI,EAAO,mBAAmB,qBAAqB;AAAA,MACrD,kBAAkB;AAAA,EAAA,CACrB;AACH,CAAC;"}
1
+ {"version":3,"file":"index.test.es.js","sources":["../../../src/components/DatePickerController/index.test.tsx"],"sourcesContent":["import { render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport DatePickerController from \".\";\n\ndescribe(\"DatePickerController component\", () => {\n it(\"renders with correct default value (date-only format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <DatePickerController\n control={control}\n name={\"fromDate\"}\n defaultValue={\"2024-03-01\"}\n dateFormat=\"yyyy-MM-dd\"\n setValue={setValue}\n />,\n );\n\n expect(await screen.findByDisplayValue(\"2024-03-01\")).toBeInTheDocument();\n });\n\n it(\"renders with correct default value (datetime format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <DatePickerController\n control={control}\n name={\"fromDate\"}\n defaultValue={\"2024/03/01 00:00:00\"}\n dateFormat=\"yyyy/MM/dd HH:mm:ss\"\n setValue={setValue}\n />,\n );\n\n expect(\n await screen.findByDisplayValue(\"2024/03/01 00:00:00\"),\n ).toBeInTheDocument();\n });\n});\n"],"names":["result","renderHook","useForm","control","setValue","render","jsx","DatePickerController","screen"],"mappings":";;;;AAKA,SAAS,kCAAkC,MAAM;AAC/C,KAAG,yDAAyD,YAAY;AACtE,UAAM,EAAE,QAAAA,EAAA,IAAWC,EAAW,MAAMC,GAAS,GACvC,EAAE,SAAAC,GAAS,UAAAC,EAAA,IAAaJ,EAAO;AAErC,IAAAK;AAAA,MACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,SAAAJ;AAAA,UACA,MAAM;AAAA,UACN,cAAc;AAAA,UACd,YAAW;AAAA,UACX,UAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF,GAGF,OAAO,MAAMI,EAAO,mBAAmB,YAAY,CAAC,EAAE,kBAAA;AAAA,EACxD,CAAC,GAED,GAAG,wDAAwD,YAAY;AACrE,UAAM,EAAE,QAAAR,EAAA,IAAWC,EAAW,MAAMC,GAAS,GACvC,EAAE,SAAAC,GAAS,UAAAC,EAAA,IAAaJ,EAAO;AAErC,IAAAK;AAAA,MACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,SAAAJ;AAAA,UACA,MAAM;AAAA,UACN,cAAc;AAAA,UACd,YAAW;AAAA,UACX,UAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF,GAGF;AAAA,MACE,MAAMI,EAAO,mBAAmB,qBAAqB;AAAA,IAAA,EACrD,kBAAA;AAAA,EACJ,CAAC;AACH,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/components/ErrorMessage/index.tsx"],"sourcesContent":["import styles from \"./index.module.scss\";\n\ntype Props = {\n errorMessage: string;\n};\n\nexport const ErrorMessage = (props: Props) => {\n const { errorMessage } = props;\n\n return <p className={styles.errorMessage}>{errorMessage}</p>;\n};\n\nexport default ErrorMessage;\n"],"names":["ErrorMessage","props","errorMessage","jsx","styles"],"mappings":"8LAMaA,EAAgBC,GAAiB,CACtC,KAAA,CAAE,aAAAC,GAAiBD,EAEzB,OAAQE,EAAA,IAAA,IAAA,CAAE,UAAWC,EAAO,aAAe,SAAaF,EAAA,CAC1D"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/components/ErrorMessage/index.tsx"],"sourcesContent":["import styles from \"./index.module.scss\";\n\ntype Props = {\n errorMessage: string;\n};\n\nexport const ErrorMessage = (props: Props) => {\n const { errorMessage } = props;\n\n return <p className={styles.errorMessage}>{errorMessage}</p>;\n};\n\nexport default ErrorMessage;\n"],"names":["ErrorMessage","props","errorMessage","jsx","styles"],"mappings":"8LAMaA,EAAgBC,GAAiB,CAC5C,KAAM,CAAE,aAAAC,GAAiBD,EAEzB,OAAOE,EAAAA,IAAC,IAAA,CAAE,UAAWC,EAAO,aAAe,SAAAF,EAAa,CAC1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../src/components/ErrorMessage/index.tsx"],"sourcesContent":["import styles from \"./index.module.scss\";\n\ntype Props = {\n errorMessage: string;\n};\n\nexport const ErrorMessage = (props: Props) => {\n const { errorMessage } = props;\n\n return <p className={styles.errorMessage}>{errorMessage}</p>;\n};\n\nexport default ErrorMessage;\n"],"names":["ErrorMessage","props","errorMessage","jsx","styles"],"mappings":";;;GAMaA,IAAe,CAACC,MAAiB;AACtC,QAAA,EAAE,cAAAC,MAAiBD;AAEzB,SAAQ,gBAAAE,EAAA,KAAA,EAAE,WAAWC,EAAO,cAAe,UAAaF,GAAA;AAC1D;"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../src/components/ErrorMessage/index.tsx"],"sourcesContent":["import styles from \"./index.module.scss\";\n\ntype Props = {\n errorMessage: string;\n};\n\nexport const ErrorMessage = (props: Props) => {\n const { errorMessage } = props;\n\n return <p className={styles.errorMessage}>{errorMessage}</p>;\n};\n\nexport default ErrorMessage;\n"],"names":["ErrorMessage","props","errorMessage","jsx","styles"],"mappings":";;;GAMaA,IAAe,CAACC,MAAiB;AAC5C,QAAM,EAAE,cAAAC,MAAiBD;AAEzB,SAAO,gBAAAE,EAAC,KAAA,EAAE,WAAWC,EAAO,cAAe,UAAAF,GAAa;AAC1D;"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("react/jsx-runtime"),r=require("../../react.esm-CiMn0Rnx.cjs"),o=require("../../index-BHsZ5xlA.cjs"),n=require("./index.cjs.js");describe("ErrorMessage component",()=>{const s="Test error message";it("renders the error message",()=>{r.render(t.jsx(n.ErrorMessage,{errorMessage:s}));const e=r.screen.getByText(s);expect(e).toBeInTheDocument(),expect(e).toHaveClass("errorMessage")}),it("should be accessible",async()=>{const{container:e}=r.render(t.jsx(n.ErrorMessage,{errorMessage:s})),a=await o.jestAxe.axe(e);expect.extend(o.jestAxe.toHaveNoViolations),expect(a).toHaveNoViolations()})});
1
+ "use strict";const t=require("react/jsx-runtime"),r=require("../../react.esm-BcRJ42eI.cjs"),o=require("../../index-CaEC29Xt.cjs"),n=require("./index.cjs.js");describe("ErrorMessage component",()=>{const s="Test error message";it("renders the error message",()=>{r.render(t.jsx(n.ErrorMessage,{errorMessage:s}));const e=r.screen.getByText(s);expect(e).toBeInTheDocument(),expect(e).toHaveClass("errorMessage")}),it("should be accessible",async()=>{const{container:e}=r.render(t.jsx(n.ErrorMessage,{errorMessage:s})),a=await o.jestAxe.axe(e);expect.extend(o.jestAxe.toHaveNoViolations),expect(a).toHaveNoViolations()})});
2
2
  //# sourceMappingURL=index.test.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/ErrorMessage/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\nimport { axe, toHaveNoViolations } from \"jest-axe\";\n\nimport { ErrorMessage } from \".\";\n\ndescribe(\"ErrorMessage component\", () => {\n const testErrorMessage = \"Test error message\";\n\n it(\"renders the error message\", () => {\n render(<ErrorMessage errorMessage={testErrorMessage} />);\n\n const errorMessageElement = screen.getByText(testErrorMessage);\n expect(errorMessageElement).toBeInTheDocument();\n expect(errorMessageElement).toHaveClass(\"errorMessage\");\n });\n\n it(\"should be accessible\", async () => {\n const { container } = render(\n <ErrorMessage errorMessage={testErrorMessage} />,\n );\n const results = await axe(container);\n\n expect.extend(toHaveNoViolations);\n expect(results).toHaveNoViolations();\n });\n});\n"],"names":["testErrorMessage","render","jsx","ErrorMessage","errorMessageElement","screen","container","results","axe","toHaveNoViolations"],"mappings":"8JAKA,SAAS,yBAA0B,IAAM,CACvC,MAAMA,EAAmB,qBAEzB,GAAG,4BAA6B,IAAM,CACpCC,EAAA,OAAQC,EAAA,IAAAC,EAAA,aAAA,CAAa,aAAcH,CAAkB,CAAA,CAAE,EAEjD,MAAAI,EAAsBC,EAAAA,OAAO,UAAUL,CAAgB,EACtD,OAAAI,CAAmB,EAAE,kBAAkB,EACvC,OAAAA,CAAmB,EAAE,YAAY,cAAc,CAAA,CACvD,EAED,GAAG,uBAAwB,SAAY,CAC/B,KAAA,CAAE,UAAAE,GAAcL,EAAA,OACpBC,EAAAA,IAACC,EAAa,aAAA,CAAA,aAAcH,CAAkB,CAAA,CAChD,EACMO,EAAU,MAAMC,EAAA,QAAA,IAAIF,CAAS,EAEnC,OAAO,OAAOG,4BAAkB,EACzB,OAAAF,CAAO,EAAE,mBAAmB,CAAA,CACpC,CACH,CAAC"}
1
+ {"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/ErrorMessage/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\nimport { axe, toHaveNoViolations } from \"jest-axe\";\n\nimport { ErrorMessage } from \".\";\n\ndescribe(\"ErrorMessage component\", () => {\n const testErrorMessage = \"Test error message\";\n\n it(\"renders the error message\", () => {\n render(<ErrorMessage errorMessage={testErrorMessage} />);\n\n const errorMessageElement = screen.getByText(testErrorMessage);\n expect(errorMessageElement).toBeInTheDocument();\n expect(errorMessageElement).toHaveClass(\"errorMessage\");\n });\n\n it(\"should be accessible\", async () => {\n const { container } = render(\n <ErrorMessage errorMessage={testErrorMessage} />,\n );\n const results = await axe(container);\n\n expect.extend(toHaveNoViolations);\n expect(results).toHaveNoViolations();\n });\n});\n"],"names":["testErrorMessage","render","jsx","ErrorMessage","errorMessageElement","screen","container","results","axe","toHaveNoViolations"],"mappings":"8JAKA,SAAS,yBAA0B,IAAM,CACvC,MAAMA,EAAmB,qBAEzB,GAAG,4BAA6B,IAAM,CACpCC,EAAAA,OAAOC,EAAAA,IAACC,EAAAA,aAAA,CAAa,aAAcH,CAAA,CAAkB,CAAE,EAEvD,MAAMI,EAAsBC,EAAAA,OAAO,UAAUL,CAAgB,EAC7D,OAAOI,CAAmB,EAAE,kBAAA,EAC5B,OAAOA,CAAmB,EAAE,YAAY,cAAc,CACxD,CAAC,EAED,GAAG,uBAAwB,SAAY,CACrC,KAAM,CAAE,UAAAE,GAAcL,EAAAA,OACpBC,EAAAA,IAACC,EAAAA,aAAA,CAAa,aAAcH,CAAA,CAAkB,CAAA,EAE1CO,EAAU,MAAMC,EAAAA,QAAAA,IAAIF,CAAS,EAEnC,OAAO,OAAOG,4BAAkB,EAChC,OAAOF,CAAO,EAAE,mBAAA,CAClB,CAAC,CACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- import { r as o, s as c } from "../../react.esm-2FJSSo-S.js";
3
- import { j as t } from "../../index-ZP4xL6Dt.js";
2
+ import { r as o, s as c } from "../../react.esm-DVhZgPrH.js";
3
+ import { j as t } from "../../index-Bt_ypxrX.js";
4
4
  import { ErrorMessage as a } from "./index.es.js";
5
5
  describe("ErrorMessage component", () => {
6
6
  const r = "Test error message";
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.es.js","sources":["../../../src/components/ErrorMessage/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\nimport { axe, toHaveNoViolations } from \"jest-axe\";\n\nimport { ErrorMessage } from \".\";\n\ndescribe(\"ErrorMessage component\", () => {\n const testErrorMessage = \"Test error message\";\n\n it(\"renders the error message\", () => {\n render(<ErrorMessage errorMessage={testErrorMessage} />);\n\n const errorMessageElement = screen.getByText(testErrorMessage);\n expect(errorMessageElement).toBeInTheDocument();\n expect(errorMessageElement).toHaveClass(\"errorMessage\");\n });\n\n it(\"should be accessible\", async () => {\n const { container } = render(\n <ErrorMessage errorMessage={testErrorMessage} />,\n );\n const results = await axe(container);\n\n expect.extend(toHaveNoViolations);\n expect(results).toHaveNoViolations();\n });\n});\n"],"names":["testErrorMessage","render","jsx","ErrorMessage","errorMessageElement","screen","container","results","axe","toHaveNoViolations"],"mappings":";;;;AAKA,SAAS,0BAA0B,MAAM;AACvC,QAAMA,IAAmB;AAEzB,KAAG,6BAA6B,MAAM;AACpC,IAAAC,EAAQ,gBAAAC,EAAAC,GAAA,EAAa,cAAcH,EAAkB,CAAA,CAAE;AAEjD,UAAAI,IAAsBC,EAAO,UAAUL,CAAgB;AACtD,WAAAI,CAAmB,EAAE,kBAAkB,GACvC,OAAAA,CAAmB,EAAE,YAAY,cAAc;AAAA,EAAA,CACvD,GAED,GAAG,wBAAwB,YAAY;AAC/B,UAAA,EAAE,WAAAE,MAAcL;AAAA,MACpB,gBAAAC,EAACC,GAAa,EAAA,cAAcH,EAAkB,CAAA;AAAA,IAChD,GACMO,IAAU,MAAMC,EAAA,IAAIF,CAAS;AAEnC,WAAO,OAAOG,oBAAkB,GACzB,OAAAF,CAAO,EAAE,mBAAmB;AAAA,EAAA,CACpC;AACH,CAAC;"}
1
+ {"version":3,"file":"index.test.es.js","sources":["../../../src/components/ErrorMessage/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\nimport { axe, toHaveNoViolations } from \"jest-axe\";\n\nimport { ErrorMessage } from \".\";\n\ndescribe(\"ErrorMessage component\", () => {\n const testErrorMessage = \"Test error message\";\n\n it(\"renders the error message\", () => {\n render(<ErrorMessage errorMessage={testErrorMessage} />);\n\n const errorMessageElement = screen.getByText(testErrorMessage);\n expect(errorMessageElement).toBeInTheDocument();\n expect(errorMessageElement).toHaveClass(\"errorMessage\");\n });\n\n it(\"should be accessible\", async () => {\n const { container } = render(\n <ErrorMessage errorMessage={testErrorMessage} />,\n );\n const results = await axe(container);\n\n expect.extend(toHaveNoViolations);\n expect(results).toHaveNoViolations();\n });\n});\n"],"names":["testErrorMessage","render","jsx","ErrorMessage","errorMessageElement","screen","container","results","axe","toHaveNoViolations"],"mappings":";;;;AAKA,SAAS,0BAA0B,MAAM;AACvC,QAAMA,IAAmB;AAEzB,KAAG,6BAA6B,MAAM;AACpC,IAAAC,EAAO,gBAAAC,EAACC,GAAA,EAAa,cAAcH,EAAA,CAAkB,CAAE;AAEvD,UAAMI,IAAsBC,EAAO,UAAUL,CAAgB;AAC7D,WAAOI,CAAmB,EAAE,kBAAA,GAC5B,OAAOA,CAAmB,EAAE,YAAY,cAAc;AAAA,EACxD,CAAC,GAED,GAAG,wBAAwB,YAAY;AACrC,UAAM,EAAE,WAAAE,MAAcL;AAAA,MACpB,gBAAAC,EAACC,GAAA,EAAa,cAAcH,EAAA,CAAkB;AAAA,IAAA,GAE1CO,IAAU,MAAMC,EAAAA,IAAIF,CAAS;AAEnC,WAAO,OAAOG,oBAAkB,GAChC,OAAOF,CAAO,EAAE,mBAAA;AAAA,EAClB,CAAC;AACH,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/components/EvseStateLabel/index.tsx"],"sourcesContent":["import classNames from \"classnames\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props = {\n evseState: number;\n};\n\nexport const EvseStateLabel = (props: Props) => {\n const { evseState } = props;\n\n let text, color;\n switch (evseState) {\n case 0:\n text = \"未接続\";\n color = \"#0056FD\";\n break;\n case 1:\n text = \"接続中\";\n color = \"#24A3FF\";\n break;\n case 2:\n case 3:\n text = \"充電中\";\n color = \"#00B127\";\n break;\n default:\n text = \"エラー\";\n color = \"#FF3E24\";\n break;\n }\n\n return (\n <div\n className={classNames(styles.evseStateLabel)}\n style={{ backgroundColor: color }}\n >\n {text}\n </div>\n );\n};\n\nexport default EvseStateLabel;\n"],"names":["EvseStateLabel","props","evseState","text","color","jsx","classNames","styles"],"mappings":"0NAQaA,EAAkBC,GAAiB,CACxC,KAAA,CAAE,UAAAC,GAAcD,EAEtB,IAAIE,EAAMC,EACV,OAAQF,EAAW,CACjB,IAAK,GACIC,EAAA,MACCC,EAAA,UACR,MACF,IAAK,GACID,EAAA,MACCC,EAAA,UACR,MACF,IAAK,GACL,IAAK,GACID,EAAA,MACCC,EAAA,UACR,MACF,QACSD,EAAA,MACCC,EAAA,UACR,KAAA,CAIF,OAAAC,EAAA,IAAC,MAAA,CACC,UAAWC,EAAWC,EAAO,cAAc,EAC3C,MAAO,CAAE,gBAAiBH,CAAM,EAE/B,SAAAD,CAAA,CACH,CAEJ"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/components/EvseStateLabel/index.tsx"],"sourcesContent":["import classNames from \"classnames\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props = {\n evseState: number;\n};\n\nexport const EvseStateLabel = (props: Props) => {\n const { evseState } = props;\n\n let text, color;\n switch (evseState) {\n case 0:\n text = \"未接続\";\n color = \"#0056FD\";\n break;\n case 1:\n text = \"接続中\";\n color = \"#24A3FF\";\n break;\n case 2:\n case 3:\n text = \"充電中\";\n color = \"#00B127\";\n break;\n default:\n text = \"エラー\";\n color = \"#FF3E24\";\n break;\n }\n\n return (\n <div\n className={classNames(styles.evseStateLabel)}\n style={{ backgroundColor: color }}\n >\n {text}\n </div>\n );\n};\n\nexport default EvseStateLabel;\n"],"names":["EvseStateLabel","props","evseState","text","color","jsx","classNames","styles"],"mappings":"0NAQaA,EAAkBC,GAAiB,CAC9C,KAAM,CAAE,UAAAC,GAAcD,EAEtB,IAAIE,EAAMC,EACV,OAAQF,EAAA,CACN,IAAK,GACHC,EAAO,MACPC,EAAQ,UACR,MACF,IAAK,GACHD,EAAO,MACPC,EAAQ,UACR,MACF,IAAK,GACL,IAAK,GACHD,EAAO,MACPC,EAAQ,UACR,MACF,QACED,EAAO,MACPC,EAAQ,UACR,KAAA,CAGJ,OACEC,EAAAA,IAAC,MAAA,CACC,UAAWC,EAAWC,EAAO,cAAc,EAC3C,MAAO,CAAE,gBAAiBH,CAAA,EAEzB,SAAAD,CAAA,CAAA,CAGP"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../src/components/EvseStateLabel/index.tsx"],"sourcesContent":["import classNames from \"classnames\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props = {\n evseState: number;\n};\n\nexport const EvseStateLabel = (props: Props) => {\n const { evseState } = props;\n\n let text, color;\n switch (evseState) {\n case 0:\n text = \"未接続\";\n color = \"#0056FD\";\n break;\n case 1:\n text = \"接続中\";\n color = \"#24A3FF\";\n break;\n case 2:\n case 3:\n text = \"充電中\";\n color = \"#00B127\";\n break;\n default:\n text = \"エラー\";\n color = \"#FF3E24\";\n break;\n }\n\n return (\n <div\n className={classNames(styles.evseStateLabel)}\n style={{ backgroundColor: color }}\n >\n {text}\n </div>\n );\n};\n\nexport default EvseStateLabel;\n"],"names":["EvseStateLabel","props","evseState","text","color","jsx","classNames","styles"],"mappings":";;;;GAQaA,IAAiB,CAACC,MAAiB;AACxC,QAAA,EAAE,WAAAC,MAAcD;AAEtB,MAAIE,GAAMC;AACV,UAAQF,GAAW;AAAA,IACjB,KAAK;AACI,MAAAC,IAAA,OACCC,IAAA;AACR;AAAA,IACF,KAAK;AACI,MAAAD,IAAA,OACCC,IAAA;AACR;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACI,MAAAD,IAAA,OACCC,IAAA;AACR;AAAA,IACF;AACS,MAAAD,IAAA,OACCC,IAAA;AACR;AAAA,EAAA;AAIF,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAWC,EAAO,cAAc;AAAA,MAC3C,OAAO,EAAE,iBAAiBH,EAAM;AAAA,MAE/B,UAAAD;AAAA,IAAA;AAAA,EACH;AAEJ;"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../src/components/EvseStateLabel/index.tsx"],"sourcesContent":["import classNames from \"classnames\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props = {\n evseState: number;\n};\n\nexport const EvseStateLabel = (props: Props) => {\n const { evseState } = props;\n\n let text, color;\n switch (evseState) {\n case 0:\n text = \"未接続\";\n color = \"#0056FD\";\n break;\n case 1:\n text = \"接続中\";\n color = \"#24A3FF\";\n break;\n case 2:\n case 3:\n text = \"充電中\";\n color = \"#00B127\";\n break;\n default:\n text = \"エラー\";\n color = \"#FF3E24\";\n break;\n }\n\n return (\n <div\n className={classNames(styles.evseStateLabel)}\n style={{ backgroundColor: color }}\n >\n {text}\n </div>\n );\n};\n\nexport default EvseStateLabel;\n"],"names":["EvseStateLabel","props","evseState","text","color","jsx","classNames","styles"],"mappings":";;;;GAQaA,IAAiB,CAACC,MAAiB;AAC9C,QAAM,EAAE,WAAAC,MAAcD;AAEtB,MAAIE,GAAMC;AACV,UAAQF,GAAA;AAAA,IACN,KAAK;AACH,MAAAC,IAAO,OACPC,IAAQ;AACR;AAAA,IACF,KAAK;AACH,MAAAD,IAAO,OACPC,IAAQ;AACR;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,MAAAD,IAAO,OACPC,IAAQ;AACR;AAAA,IACF;AACE,MAAAD,IAAO,OACPC,IAAQ;AACR;AAAA,EAAA;AAGJ,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAWC,EAAO,cAAc;AAAA,MAC3C,OAAO,EAAE,iBAAiBH,EAAA;AAAA,MAEzB,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/components/FlexButtons/index.tsx"],"sourcesContent":["import { CSSProperties, ReactNode } from \"react\";\nimport classNames from \"classnames\";\n\nimport styles from \"./index.module.scss\";\n\ntype Position = \"flex-start\" | \"flex-end\" | \"center\";\n\ntype Props = {\n position: Position;\n children: ReactNode;\n /**カスタムスタイルクラス */\n className?: string;\n};\n\nexport const FlexButtons = (props: Props) => {\n const { position, children, className } = props;\n\n const justifyContent: CSSProperties = {\n justifyContent: position,\n };\n\n return (\n <div\n className={classNames(styles.buttons, className)}\n style={justifyContent}\n >\n {children}\n </div>\n );\n};\n\nexport default FlexButtons;\n"],"names":["FlexButtons","props","position","children","className","justifyContent","jsx","classNames","styles"],"mappings":"4MAcaA,EAAeC,GAAiB,CAC3C,KAAM,CAAE,SAAAC,EAAU,SAAAC,EAAU,UAAAC,CAAc,EAAAH,EAEpCI,EAAgC,CACpC,eAAgBH,CAClB,EAGE,OAAAI,EAAA,IAAC,MAAA,CACC,UAAWC,EAAWC,EAAO,QAASJ,CAAS,EAC/C,MAAOC,EAEN,SAAAF,CAAA,CACH,CAEJ"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/components/FlexButtons/index.tsx"],"sourcesContent":["import { CSSProperties, ReactNode } from \"react\";\nimport classNames from \"classnames\";\n\nimport styles from \"./index.module.scss\";\n\ntype Position = \"flex-start\" | \"flex-end\" | \"center\";\n\ntype Props = {\n position: Position;\n children: ReactNode;\n /**カスタムスタイルクラス */\n className?: string;\n};\n\nexport const FlexButtons = (props: Props) => {\n const { position, children, className } = props;\n\n const justifyContent: CSSProperties = {\n justifyContent: position,\n };\n\n return (\n <div\n className={classNames(styles.buttons, className)}\n style={justifyContent}\n >\n {children}\n </div>\n );\n};\n\nexport default FlexButtons;\n"],"names":["FlexButtons","props","position","children","className","justifyContent","jsx","classNames","styles"],"mappings":"4MAcaA,EAAeC,GAAiB,CAC3C,KAAM,CAAE,SAAAC,EAAU,SAAAC,EAAU,UAAAC,CAAA,EAAcH,EAEpCI,EAAgC,CACpC,eAAgBH,CAAA,EAGlB,OACEI,EAAAA,IAAC,MAAA,CACC,UAAWC,EAAWC,EAAO,QAASJ,CAAS,EAC/C,MAAOC,EAEN,SAAAF,CAAA,CAAA,CAGP"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../src/components/FlexButtons/index.tsx"],"sourcesContent":["import { CSSProperties, ReactNode } from \"react\";\nimport classNames from \"classnames\";\n\nimport styles from \"./index.module.scss\";\n\ntype Position = \"flex-start\" | \"flex-end\" | \"center\";\n\ntype Props = {\n position: Position;\n children: ReactNode;\n /**カスタムスタイルクラス */\n className?: string;\n};\n\nexport const FlexButtons = (props: Props) => {\n const { position, children, className } = props;\n\n const justifyContent: CSSProperties = {\n justifyContent: position,\n };\n\n return (\n <div\n className={classNames(styles.buttons, className)}\n style={justifyContent}\n >\n {children}\n </div>\n );\n};\n\nexport default FlexButtons;\n"],"names":["FlexButtons","props","position","children","className","justifyContent","jsx","classNames","styles"],"mappings":";;;;GAcaA,IAAc,CAACC,MAAiB;AAC3C,QAAM,EAAE,UAAAC,GAAU,UAAAC,GAAU,WAAAC,EAAc,IAAAH,GAEpCI,IAAgC;AAAA,IACpC,gBAAgBH;AAAA,EAClB;AAGE,SAAA,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAWC,EAAO,SAASJ,CAAS;AAAA,MAC/C,OAAOC;AAAA,MAEN,UAAAF;AAAA,IAAA;AAAA,EACH;AAEJ;"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../src/components/FlexButtons/index.tsx"],"sourcesContent":["import { CSSProperties, ReactNode } from \"react\";\nimport classNames from \"classnames\";\n\nimport styles from \"./index.module.scss\";\n\ntype Position = \"flex-start\" | \"flex-end\" | \"center\";\n\ntype Props = {\n position: Position;\n children: ReactNode;\n /**カスタムスタイルクラス */\n className?: string;\n};\n\nexport const FlexButtons = (props: Props) => {\n const { position, children, className } = props;\n\n const justifyContent: CSSProperties = {\n justifyContent: position,\n };\n\n return (\n <div\n className={classNames(styles.buttons, className)}\n style={justifyContent}\n >\n {children}\n </div>\n );\n};\n\nexport default FlexButtons;\n"],"names":["FlexButtons","props","position","children","className","justifyContent","jsx","classNames","styles"],"mappings":";;;;GAcaA,IAAc,CAACC,MAAiB;AAC3C,QAAM,EAAE,UAAAC,GAAU,UAAAC,GAAU,WAAAC,EAAA,IAAcH,GAEpCI,IAAgC;AAAA,IACpC,gBAAgBH;AAAA,EAAA;AAGlB,SACE,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAWC,EAAO,SAASJ,CAAS;AAAA,MAC/C,OAAOC;AAAA,MAEN,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("react/jsx-runtime"),s=require("../../react.esm-CiMn0Rnx.cjs");require("../../index-BpMSrIOq.cjs");const n=require("./index.cjs.js");describe("FlexButtons Component",()=>{it("renders its children",()=>{s.render(t.jsx(n.FlexButtons,{position:"flex-start",children:t.jsx("div",{children:"Test Button"})})),expect(s.screen.getByText("Test Button")).toBeInTheDocument()}),it("applies flex-start position",()=>{const{container:e}=s.render(t.jsx(n.FlexButtons,{position:"flex-start",children:t.jsx("div",{children:"Test Button"})}));expect(e.firstChild).toHaveStyle("justify-content: flex-start")}),it("applies flex-end position",()=>{const{container:e}=s.render(t.jsx(n.FlexButtons,{position:"flex-end",children:t.jsx("div",{children:"Test Button"})}));expect(e.firstChild).toHaveStyle("justify-content: flex-end")}),it("applies center position",()=>{const{container:e}=s.render(t.jsx(n.FlexButtons,{position:"center",children:t.jsx("div",{children:"Test Button"})}));expect(e.firstChild).toHaveStyle("justify-content: center")}),it("applies custom className",()=>{const e="custom-class",{container:i}=s.render(t.jsx(n.FlexButtons,{position:"flex-start",className:e,children:t.jsx("div",{children:"Test Button"})}));expect(i.firstChild).toHaveClass(e)})});
1
+ "use strict";const t=require("react/jsx-runtime"),s=require("../../react.esm-BcRJ42eI.cjs");require("../../index-9p9q0wxE.cjs");const n=require("./index.cjs.js");describe("FlexButtons Component",()=>{it("renders its children",()=>{s.render(t.jsx(n.FlexButtons,{position:"flex-start",children:t.jsx("div",{children:"Test Button"})})),expect(s.screen.getByText("Test Button")).toBeInTheDocument()}),it("applies flex-start position",()=>{const{container:e}=s.render(t.jsx(n.FlexButtons,{position:"flex-start",children:t.jsx("div",{children:"Test Button"})}));expect(e.firstChild).toHaveStyle("justify-content: flex-start")}),it("applies flex-end position",()=>{const{container:e}=s.render(t.jsx(n.FlexButtons,{position:"flex-end",children:t.jsx("div",{children:"Test Button"})}));expect(e.firstChild).toHaveStyle("justify-content: flex-end")}),it("applies center position",()=>{const{container:e}=s.render(t.jsx(n.FlexButtons,{position:"center",children:t.jsx("div",{children:"Test Button"})}));expect(e.firstChild).toHaveStyle("justify-content: center")}),it("applies custom className",()=>{const e="custom-class",{container:i}=s.render(t.jsx(n.FlexButtons,{position:"flex-start",className:e,children:t.jsx("div",{children:"Test Button"})}));expect(i.firstChild).toHaveClass(e)})});
2
2
  //# sourceMappingURL=index.test.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/FlexButtons/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\n\nimport \"@testing-library/jest-dom\";\n\nimport { FlexButtons } from \".\";\n\ndescribe(\"FlexButtons Component\", () => {\n it(\"renders its children\", () => {\n render(\n <FlexButtons position=\"flex-start\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(screen.getByText(\"Test Button\")).toBeInTheDocument();\n });\n\n it(\"applies flex-start position\", () => {\n const { container } = render(\n <FlexButtons position=\"flex-start\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveStyle(\"justify-content: flex-start\");\n });\n\n it(\"applies flex-end position\", () => {\n const { container } = render(\n <FlexButtons position=\"flex-end\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveStyle(\"justify-content: flex-end\");\n });\n\n it(\"applies center position\", () => {\n const { container } = render(\n <FlexButtons position=\"center\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveStyle(\"justify-content: center\");\n });\n\n it(\"applies custom className\", () => {\n const customClass = \"custom-class\";\n const { container } = render(\n <FlexButtons position=\"flex-start\" className={customClass}>\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveClass(customClass);\n });\n});\n"],"names":["render","FlexButtons","jsx","screen","container","customClass"],"mappings":"kKAMA,SAAS,wBAAyB,IAAM,CACtC,GAAG,uBAAwB,IAAM,CAC/BA,EAAA,aACGC,EAAY,YAAA,CAAA,SAAS,aACpB,SAACC,EAAA,IAAA,MAAA,CAAI,sBAAW,CAAA,CAClB,CAAA,CACF,EAEA,OAAOC,EAAAA,OAAO,UAAU,aAAa,CAAC,EAAE,kBAAkB,CAAA,CAC3D,EAED,GAAG,8BAA+B,IAAM,CAChC,KAAA,CAAE,UAAAC,GAAcJ,EAAA,aACnBC,EAAY,YAAA,CAAA,SAAS,aACpB,SAACC,EAAA,IAAA,MAAA,CAAI,sBAAW,CAAA,CAClB,CAAA,CACF,EAEA,OAAOE,EAAU,UAAU,EAAE,YAAY,6BAA6B,CAAA,CACvE,EAED,GAAG,4BAA6B,IAAM,CAC9B,KAAA,CAAE,UAAAA,GAAcJ,EAAA,aACnBC,EAAY,YAAA,CAAA,SAAS,WACpB,SAACC,EAAA,IAAA,MAAA,CAAI,sBAAW,CAAA,CAClB,CAAA,CACF,EAEA,OAAOE,EAAU,UAAU,EAAE,YAAY,2BAA2B,CAAA,CACrE,EAED,GAAG,0BAA2B,IAAM,CAC5B,KAAA,CAAE,UAAAA,GAAcJ,EAAA,aACnBC,EAAY,YAAA,CAAA,SAAS,SACpB,SAACC,EAAA,IAAA,MAAA,CAAI,sBAAW,CAAA,CAClB,CAAA,CACF,EAEA,OAAOE,EAAU,UAAU,EAAE,YAAY,yBAAyB,CAAA,CACnE,EAED,GAAG,2BAA4B,IAAM,CACnC,MAAMC,EAAc,eACd,CAAE,UAAAD,GAAcJ,EAAA,OACpBE,EAAAA,IAACD,EAAAA,aAAY,SAAS,aAAa,UAAWI,EAC5C,SAAAH,EAAA,IAAC,MAAI,CAAA,SAAA,aAAW,CAAA,CAClB,CAAA,CACF,EAEA,OAAOE,EAAU,UAAU,EAAE,YAAYC,CAAW,CAAA,CACrD,CACH,CAAC"}
1
+ {"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/FlexButtons/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\n\nimport \"@testing-library/jest-dom\";\n\nimport { FlexButtons } from \".\";\n\ndescribe(\"FlexButtons Component\", () => {\n it(\"renders its children\", () => {\n render(\n <FlexButtons position=\"flex-start\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(screen.getByText(\"Test Button\")).toBeInTheDocument();\n });\n\n it(\"applies flex-start position\", () => {\n const { container } = render(\n <FlexButtons position=\"flex-start\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveStyle(\"justify-content: flex-start\");\n });\n\n it(\"applies flex-end position\", () => {\n const { container } = render(\n <FlexButtons position=\"flex-end\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveStyle(\"justify-content: flex-end\");\n });\n\n it(\"applies center position\", () => {\n const { container } = render(\n <FlexButtons position=\"center\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveStyle(\"justify-content: center\");\n });\n\n it(\"applies custom className\", () => {\n const customClass = \"custom-class\";\n const { container } = render(\n <FlexButtons position=\"flex-start\" className={customClass}>\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveClass(customClass);\n });\n});\n"],"names":["render","FlexButtons","jsx","screen","container","customClass"],"mappings":"kKAMA,SAAS,wBAAyB,IAAM,CACtC,GAAG,uBAAwB,IAAM,CAC/BA,EAAAA,aACGC,EAAAA,YAAA,CAAY,SAAS,aACpB,SAAAC,EAAAA,IAAC,MAAA,CAAI,uBAAW,CAAA,CAClB,CAAA,EAGF,OAAOC,EAAAA,OAAO,UAAU,aAAa,CAAC,EAAE,kBAAA,CAC1C,CAAC,EAED,GAAG,8BAA+B,IAAM,CACtC,KAAM,CAAE,UAAAC,GAAcJ,EAAAA,aACnBC,EAAAA,YAAA,CAAY,SAAS,aACpB,SAAAC,EAAAA,IAAC,MAAA,CAAI,uBAAW,CAAA,CAClB,CAAA,EAGF,OAAOE,EAAU,UAAU,EAAE,YAAY,6BAA6B,CACxE,CAAC,EAED,GAAG,4BAA6B,IAAM,CACpC,KAAM,CAAE,UAAAA,GAAcJ,EAAAA,aACnBC,EAAAA,YAAA,CAAY,SAAS,WACpB,SAAAC,EAAAA,IAAC,MAAA,CAAI,uBAAW,CAAA,CAClB,CAAA,EAGF,OAAOE,EAAU,UAAU,EAAE,YAAY,2BAA2B,CACtE,CAAC,EAED,GAAG,0BAA2B,IAAM,CAClC,KAAM,CAAE,UAAAA,GAAcJ,EAAAA,aACnBC,EAAAA,YAAA,CAAY,SAAS,SACpB,SAAAC,EAAAA,IAAC,MAAA,CAAI,uBAAW,CAAA,CAClB,CAAA,EAGF,OAAOE,EAAU,UAAU,EAAE,YAAY,yBAAyB,CACpE,CAAC,EAED,GAAG,2BAA4B,IAAM,CACnC,MAAMC,EAAc,eACd,CAAE,UAAAD,GAAcJ,EAAAA,OACpBE,EAAAA,IAACD,EAAAA,aAAY,SAAS,aAAa,UAAWI,EAC5C,SAAAH,EAAAA,IAAC,MAAA,CAAI,SAAA,aAAA,CAAW,CAAA,CAClB,CAAA,EAGF,OAAOE,EAAU,UAAU,EAAE,YAAYC,CAAW,CACtD,CAAC,CACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { r as i, s as o } from "../../react.esm-2FJSSo-S.js";
3
- import "../../index-DCSLk6pp.js";
2
+ import { r as i, s as o } from "../../react.esm-DVhZgPrH.js";
3
+ import "../../index-Cj9ZvtM1.js";
4
4
  import { FlexButtons as n } from "./index.es.js";
5
5
  describe("FlexButtons Component", () => {
6
6
  it("renders its children", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.es.js","sources":["../../../src/components/FlexButtons/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\n\nimport \"@testing-library/jest-dom\";\n\nimport { FlexButtons } from \".\";\n\ndescribe(\"FlexButtons Component\", () => {\n it(\"renders its children\", () => {\n render(\n <FlexButtons position=\"flex-start\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(screen.getByText(\"Test Button\")).toBeInTheDocument();\n });\n\n it(\"applies flex-start position\", () => {\n const { container } = render(\n <FlexButtons position=\"flex-start\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveStyle(\"justify-content: flex-start\");\n });\n\n it(\"applies flex-end position\", () => {\n const { container } = render(\n <FlexButtons position=\"flex-end\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveStyle(\"justify-content: flex-end\");\n });\n\n it(\"applies center position\", () => {\n const { container } = render(\n <FlexButtons position=\"center\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveStyle(\"justify-content: center\");\n });\n\n it(\"applies custom className\", () => {\n const customClass = \"custom-class\";\n const { container } = render(\n <FlexButtons position=\"flex-start\" className={customClass}>\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveClass(customClass);\n });\n});\n"],"names":["render","FlexButtons","jsx","screen","container","customClass"],"mappings":";;;;AAMA,SAAS,yBAAyB,MAAM;AACtC,KAAG,wBAAwB,MAAM;AAC/B,IAAAA;AAAA,wBACGC,GAAY,EAAA,UAAS,cACpB,UAAC,gBAAAC,EAAA,OAAA,EAAI,wBAAW,CAAA,EAClB,CAAA;AAAA,IACF,GAEA,OAAOC,EAAO,UAAU,aAAa,CAAC,EAAE,kBAAkB;AAAA,EAAA,CAC3D,GAED,GAAG,+BAA+B,MAAM;AAChC,UAAA,EAAE,WAAAC,MAAcJ;AAAA,wBACnBC,GAAY,EAAA,UAAS,cACpB,UAAC,gBAAAC,EAAA,OAAA,EAAI,wBAAW,CAAA,EAClB,CAAA;AAAA,IACF;AAEA,WAAOE,EAAU,UAAU,EAAE,YAAY,6BAA6B;AAAA,EAAA,CACvE,GAED,GAAG,6BAA6B,MAAM;AAC9B,UAAA,EAAE,WAAAA,MAAcJ;AAAA,wBACnBC,GAAY,EAAA,UAAS,YACpB,UAAC,gBAAAC,EAAA,OAAA,EAAI,wBAAW,CAAA,EAClB,CAAA;AAAA,IACF;AAEA,WAAOE,EAAU,UAAU,EAAE,YAAY,2BAA2B;AAAA,EAAA,CACrE,GAED,GAAG,2BAA2B,MAAM;AAC5B,UAAA,EAAE,WAAAA,MAAcJ;AAAA,wBACnBC,GAAY,EAAA,UAAS,UACpB,UAAC,gBAAAC,EAAA,OAAA,EAAI,wBAAW,CAAA,EAClB,CAAA;AAAA,IACF;AAEA,WAAOE,EAAU,UAAU,EAAE,YAAY,yBAAyB;AAAA,EAAA,CACnE,GAED,GAAG,4BAA4B,MAAM;AACnC,UAAMC,IAAc,gBACd,EAAE,WAAAD,MAAcJ;AAAA,MACpB,gBAAAE,EAACD,KAAY,UAAS,cAAa,WAAWI,GAC5C,UAAA,gBAAAH,EAAC,OAAI,EAAA,UAAA,cAAW,CAAA,EAClB,CAAA;AAAA,IACF;AAEA,WAAOE,EAAU,UAAU,EAAE,YAAYC,CAAW;AAAA,EAAA,CACrD;AACH,CAAC;"}
1
+ {"version":3,"file":"index.test.es.js","sources":["../../../src/components/FlexButtons/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\n\nimport \"@testing-library/jest-dom\";\n\nimport { FlexButtons } from \".\";\n\ndescribe(\"FlexButtons Component\", () => {\n it(\"renders its children\", () => {\n render(\n <FlexButtons position=\"flex-start\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(screen.getByText(\"Test Button\")).toBeInTheDocument();\n });\n\n it(\"applies flex-start position\", () => {\n const { container } = render(\n <FlexButtons position=\"flex-start\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveStyle(\"justify-content: flex-start\");\n });\n\n it(\"applies flex-end position\", () => {\n const { container } = render(\n <FlexButtons position=\"flex-end\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveStyle(\"justify-content: flex-end\");\n });\n\n it(\"applies center position\", () => {\n const { container } = render(\n <FlexButtons position=\"center\">\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveStyle(\"justify-content: center\");\n });\n\n it(\"applies custom className\", () => {\n const customClass = \"custom-class\";\n const { container } = render(\n <FlexButtons position=\"flex-start\" className={customClass}>\n <div>Test Button</div>\n </FlexButtons>,\n );\n\n expect(container.firstChild).toHaveClass(customClass);\n });\n});\n"],"names":["render","FlexButtons","jsx","screen","container","customClass"],"mappings":";;;;AAMA,SAAS,yBAAyB,MAAM;AACtC,KAAG,wBAAwB,MAAM;AAC/B,IAAAA;AAAA,wBACGC,GAAA,EAAY,UAAS,cACpB,UAAA,gBAAAC,EAAC,OAAA,EAAI,yBAAW,EAAA,CAClB;AAAA,IAAA,GAGF,OAAOC,EAAO,UAAU,aAAa,CAAC,EAAE,kBAAA;AAAA,EAC1C,CAAC,GAED,GAAG,+BAA+B,MAAM;AACtC,UAAM,EAAE,WAAAC,MAAcJ;AAAA,wBACnBC,GAAA,EAAY,UAAS,cACpB,UAAA,gBAAAC,EAAC,OAAA,EAAI,yBAAW,EAAA,CAClB;AAAA,IAAA;AAGF,WAAOE,EAAU,UAAU,EAAE,YAAY,6BAA6B;AAAA,EACxE,CAAC,GAED,GAAG,6BAA6B,MAAM;AACpC,UAAM,EAAE,WAAAA,MAAcJ;AAAA,wBACnBC,GAAA,EAAY,UAAS,YACpB,UAAA,gBAAAC,EAAC,OAAA,EAAI,yBAAW,EAAA,CAClB;AAAA,IAAA;AAGF,WAAOE,EAAU,UAAU,EAAE,YAAY,2BAA2B;AAAA,EACtE,CAAC,GAED,GAAG,2BAA2B,MAAM;AAClC,UAAM,EAAE,WAAAA,MAAcJ;AAAA,wBACnBC,GAAA,EAAY,UAAS,UACpB,UAAA,gBAAAC,EAAC,OAAA,EAAI,yBAAW,EAAA,CAClB;AAAA,IAAA;AAGF,WAAOE,EAAU,UAAU,EAAE,YAAY,yBAAyB;AAAA,EACpE,CAAC,GAED,GAAG,4BAA4B,MAAM;AACnC,UAAMC,IAAc,gBACd,EAAE,WAAAD,MAAcJ;AAAA,MACpB,gBAAAE,EAACD,KAAY,UAAS,cAAa,WAAWI,GAC5C,UAAA,gBAAAH,EAAC,OAAA,EAAI,UAAA,cAAA,CAAW,EAAA,CAClB;AAAA,IAAA;AAGF,WAAOE,EAAU,UAAU,EAAE,YAAYC,CAAW;AAAA,EACtD,CAAC;AACH,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/components/Form/index.tsx"],"sourcesContent":["import { type ReactNode } from \"react\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props = {\n onSubmit?: React.FormEventHandler<HTMLFormElement>;\n children: ReactNode;\n};\n\nexport const Form = (props: Props) => {\n const { onSubmit, children } = props;\n\n return (\n <form onSubmit={onSubmit} className={styles.form}>\n {children}\n </form>\n );\n};\n\nexport default Form;\n"],"names":["Form","props","onSubmit","children","styles"],"mappings":"8KASaA,EAAQC,GAAiB,CAC9B,KAAA,CAAE,SAAAC,EAAU,SAAAC,CAAA,EAAaF,EAE/B,aACG,OAAK,CAAA,SAAAC,EAAoB,UAAWE,EAAO,KACzC,SAAAD,EACH,CAEJ"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/components/Form/index.tsx"],"sourcesContent":["import { type ReactNode } from \"react\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props = {\n onSubmit?: React.FormEventHandler<HTMLFormElement>;\n children: ReactNode;\n};\n\nexport const Form = (props: Props) => {\n const { onSubmit, children } = props;\n\n return (\n <form onSubmit={onSubmit} className={styles.form}>\n {children}\n </form>\n );\n};\n\nexport default Form;\n"],"names":["Form","props","onSubmit","children","styles"],"mappings":"8KASaA,EAAQC,GAAiB,CACpC,KAAM,CAAE,SAAAC,EAAU,SAAAC,CAAA,EAAaF,EAE/B,aACG,OAAA,CAAK,SAAAC,EAAoB,UAAWE,EAAO,KACzC,SAAAD,EACH,CAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../src/components/Form/index.tsx"],"sourcesContent":["import { type ReactNode } from \"react\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props = {\n onSubmit?: React.FormEventHandler<HTMLFormElement>;\n children: ReactNode;\n};\n\nexport const Form = (props: Props) => {\n const { onSubmit, children } = props;\n\n return (\n <form onSubmit={onSubmit} className={styles.form}>\n {children}\n </form>\n );\n};\n\nexport default Form;\n"],"names":["Form","props","onSubmit","children","styles"],"mappings":";;;GASaA,IAAO,CAACC,MAAiB;AAC9B,QAAA,EAAE,UAAAC,GAAU,UAAAC,EAAA,IAAaF;AAE/B,2BACG,QAAK,EAAA,UAAAC,GAAoB,WAAWE,EAAO,MACzC,UAAAD,GACH;AAEJ;"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../src/components/Form/index.tsx"],"sourcesContent":["import { type ReactNode } from \"react\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props = {\n onSubmit?: React.FormEventHandler<HTMLFormElement>;\n children: ReactNode;\n};\n\nexport const Form = (props: Props) => {\n const { onSubmit, children } = props;\n\n return (\n <form onSubmit={onSubmit} className={styles.form}>\n {children}\n </form>\n );\n};\n\nexport default Form;\n"],"names":["Form","props","onSubmit","children","styles"],"mappings":";;;GASaA,IAAO,CAACC,MAAiB;AACpC,QAAM,EAAE,UAAAC,GAAU,UAAAC,EAAA,IAAaF;AAE/B,2BACG,QAAA,EAAK,UAAAC,GAAoB,WAAWE,EAAO,MACzC,UAAAD,GACH;AAEJ;"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("react/jsx-runtime"),n=require("../../react.esm-CiMn0Rnx.cjs"),o=require("../../index-BHsZ5xlA.cjs"),i=require("./index.cjs.js");describe("Form component",()=>{const r="Test content",s=jest.fn(e=>e.preventDefault());it("renders the children",()=>{n.render(t.jsx(i.Form,{onSubmit:s,children:t.jsx("div",{children:r})}));const e=n.screen.getByText(r);expect(e).toBeInTheDocument()}),it("calls the onSubmit handler when the form is submitted",()=>{n.render(t.jsx(i.Form,{onSubmit:s,children:t.jsx("button",{type:"submit",children:"Submit"})}));const e=n.screen.getByText("Submit");n.fireEvent.click(e),expect(s).toHaveBeenCalledTimes(1)}),it("should be accessible",async()=>{const{container:e}=n.render(t.jsx(i.Form,{onSubmit:s,children:t.jsx("div",{children:r})})),c=await o.jestAxe.axe(e);expect.extend(o.jestAxe.toHaveNoViolations),expect(c).toHaveNoViolations()})});
1
+ "use strict";const t=require("react/jsx-runtime"),n=require("../../react.esm-BcRJ42eI.cjs"),o=require("../../index-CaEC29Xt.cjs"),i=require("./index.cjs.js");describe("Form component",()=>{const r="Test content",s=jest.fn(e=>e.preventDefault());it("renders the children",()=>{n.render(t.jsx(i.Form,{onSubmit:s,children:t.jsx("div",{children:r})}));const e=n.screen.getByText(r);expect(e).toBeInTheDocument()}),it("calls the onSubmit handler when the form is submitted",()=>{n.render(t.jsx(i.Form,{onSubmit:s,children:t.jsx("button",{type:"submit",children:"Submit"})}));const e=n.screen.getByText("Submit");n.fireEvent.click(e),expect(s).toHaveBeenCalledTimes(1)}),it("should be accessible",async()=>{const{container:e}=n.render(t.jsx(i.Form,{onSubmit:s,children:t.jsx("div",{children:r})})),c=await o.jestAxe.axe(e);expect.extend(o.jestAxe.toHaveNoViolations),expect(c).toHaveNoViolations()})});
2
2
  //# sourceMappingURL=index.test.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/Form/index.test.tsx"],"sourcesContent":["import { fireEvent, render, screen } from \"@testing-library/react\";\nimport { axe, toHaveNoViolations } from \"jest-axe\";\n\nimport { Form } from \".\";\n\ndescribe(\"Form component\", () => {\n const testChildren = \"Test content\";\n const onSubmit = jest.fn((e) => e.preventDefault());\n\n it(\"renders the children\", () => {\n render(\n <Form onSubmit={onSubmit}>\n <div>{testChildren}</div>\n </Form>,\n );\n\n const content = screen.getByText(testChildren);\n expect(content).toBeInTheDocument();\n });\n\n it(\"calls the onSubmit handler when the form is submitted\", () => {\n render(\n <Form onSubmit={onSubmit}>\n <button type=\"submit\">Submit</button>\n </Form>,\n );\n\n const button = screen.getByText(\"Submit\");\n fireEvent.click(button);\n\n expect(onSubmit).toHaveBeenCalledTimes(1);\n });\n\n it(\"should be accessible\", async () => {\n const { container } = render(\n <Form onSubmit={onSubmit}>\n <div>{testChildren}</div>\n </Form>,\n );\n const results = await axe(container);\n\n expect.extend(toHaveNoViolations);\n expect(results).toHaveNoViolations();\n });\n});\n"],"names":["testChildren","onSubmit","render","Form","jsx","content","screen","button","fireEvent","container","results","axe","toHaveNoViolations"],"mappings":"8JAKA,SAAS,iBAAkB,IAAM,CAC/B,MAAMA,EAAe,eACfC,EAAW,KAAK,GAAI,GAAM,EAAE,gBAAgB,EAElD,GAAG,uBAAwB,IAAM,CAC/BC,EAAA,aACGC,EAAAA,KAAK,CAAA,SAAAF,EACJ,SAACG,MAAA,MAAA,CAAK,WAAa,CACrB,CAAA,CACF,EAEM,MAAAC,EAAUC,EAAAA,OAAO,UAAUN,CAAY,EACtC,OAAAK,CAAO,EAAE,kBAAkB,CAAA,CACnC,EAED,GAAG,wDAAyD,IAAM,CAChEH,EAAA,OACEE,EAAAA,IAACD,QAAK,SAAAF,EACJ,SAAAG,EAAA,IAAC,UAAO,KAAK,SAAS,iBAAM,CAAA,CAC9B,CAAA,CACF,EAEM,MAAAG,EAASD,EAAAA,OAAO,UAAU,QAAQ,EACxCE,EAAA,UAAU,MAAMD,CAAM,EAEf,OAAAN,CAAQ,EAAE,sBAAsB,CAAC,CAAA,CACzC,EAED,GAAG,uBAAwB,SAAY,CAC/B,KAAA,CAAE,UAAAQ,GAAcP,EAAA,aACnBC,EAAAA,KAAK,CAAA,SAAAF,EACJ,SAACG,MAAA,MAAA,CAAK,WAAa,CACrB,CAAA,CACF,EACMM,EAAU,MAAMC,EAAA,QAAA,IAAIF,CAAS,EAEnC,OAAO,OAAOG,4BAAkB,EACzB,OAAAF,CAAO,EAAE,mBAAmB,CAAA,CACpC,CACH,CAAC"}
1
+ {"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/Form/index.test.tsx"],"sourcesContent":["import { fireEvent, render, screen } from \"@testing-library/react\";\nimport { axe, toHaveNoViolations } from \"jest-axe\";\n\nimport { Form } from \".\";\n\ndescribe(\"Form component\", () => {\n const testChildren = \"Test content\";\n const onSubmit = jest.fn((e) => e.preventDefault());\n\n it(\"renders the children\", () => {\n render(\n <Form onSubmit={onSubmit}>\n <div>{testChildren}</div>\n </Form>,\n );\n\n const content = screen.getByText(testChildren);\n expect(content).toBeInTheDocument();\n });\n\n it(\"calls the onSubmit handler when the form is submitted\", () => {\n render(\n <Form onSubmit={onSubmit}>\n <button type=\"submit\">Submit</button>\n </Form>,\n );\n\n const button = screen.getByText(\"Submit\");\n fireEvent.click(button);\n\n expect(onSubmit).toHaveBeenCalledTimes(1);\n });\n\n it(\"should be accessible\", async () => {\n const { container } = render(\n <Form onSubmit={onSubmit}>\n <div>{testChildren}</div>\n </Form>,\n );\n const results = await axe(container);\n\n expect.extend(toHaveNoViolations);\n expect(results).toHaveNoViolations();\n });\n});\n"],"names":["testChildren","onSubmit","render","Form","jsx","content","screen","button","fireEvent","container","results","axe","toHaveNoViolations"],"mappings":"8JAKA,SAAS,iBAAkB,IAAM,CAC/B,MAAMA,EAAe,eACfC,EAAW,KAAK,GAAI,GAAM,EAAE,gBAAgB,EAElD,GAAG,uBAAwB,IAAM,CAC/BC,EAAAA,aACGC,EAAAA,KAAA,CAAK,SAAAF,EACJ,SAAAG,MAAC,MAAA,CAAK,WAAa,CAAA,CACrB,CAAA,EAGF,MAAMC,EAAUC,EAAAA,OAAO,UAAUN,CAAY,EAC7C,OAAOK,CAAO,EAAE,kBAAA,CAClB,CAAC,EAED,GAAG,wDAAyD,IAAM,CAChEH,EAAAA,OACEE,EAAAA,IAACD,EAAAA,MAAK,SAAAF,EACJ,SAAAG,EAAAA,IAAC,UAAO,KAAK,SAAS,kBAAM,CAAA,CAC9B,CAAA,EAGF,MAAMG,EAASD,EAAAA,OAAO,UAAU,QAAQ,EACxCE,EAAAA,UAAU,MAAMD,CAAM,EAEtB,OAAON,CAAQ,EAAE,sBAAsB,CAAC,CAC1C,CAAC,EAED,GAAG,uBAAwB,SAAY,CACrC,KAAM,CAAE,UAAAQ,GAAcP,EAAAA,aACnBC,EAAAA,KAAA,CAAK,SAAAF,EACJ,SAAAG,MAAC,MAAA,CAAK,WAAa,CAAA,CACrB,CAAA,EAEIM,EAAU,MAAMC,EAAAA,QAAAA,IAAIF,CAAS,EAEnC,OAAO,OAAOG,4BAAkB,EAChC,OAAOF,CAAO,EAAE,mBAAA,CAClB,CAAC,CACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { r as i, s as r, f as m } from "../../react.esm-2FJSSo-S.js";
3
- import { j as c } from "../../index-ZP4xL6Dt.js";
2
+ import { r as i, s as r, f as m } from "../../react.esm-DVhZgPrH.js";
3
+ import { j as c } from "../../index-Bt_ypxrX.js";
4
4
  import { Form as s } from "./index.es.js";
5
5
  describe("Form component", () => {
6
6
  const o = "Test content", n = jest.fn((e) => e.preventDefault());