@jigowatts/jigowatts-ui 1.2.2 → 2.1.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.
- package/dist/assets/index10.css +1 -1
- package/dist/assets/index11.css +1 -1
- package/dist/assets/index12.css +1 -1
- package/dist/assets/index13.css +1 -1
- package/dist/assets/index14.css +1 -1
- package/dist/assets/index15.css +1 -1
- package/dist/assets/index16.css +1 -1
- package/dist/assets/index17.css +1 -1
- package/dist/assets/index18.css +1 -1
- package/dist/assets/index19.css +1 -1
- package/dist/assets/index20.css +1 -1
- package/dist/assets/index21.css +1 -1
- package/dist/assets/index22.css +1 -1
- package/dist/assets/index23.css +1 -1
- package/dist/assets/index24.css +1 -1
- package/dist/assets/index25.css +1 -1
- package/dist/assets/index26.css +1 -1
- package/dist/assets/index27.css +1 -1
- package/dist/assets/index28.css +1 -1
- package/dist/assets/index29.css +1 -1
- package/dist/assets/index30.css +1 -1
- package/dist/assets/index31.css +1 -1
- package/dist/assets/index32.css +1 -1
- package/dist/assets/index7.css +1 -1
- package/dist/assets/index8.css +1 -1
- package/dist/assets/index9.css +1 -1
- package/dist/components/Button/index.cjs.js.map +1 -1
- package/dist/components/Button/index.es.js.map +1 -1
- package/dist/components/Button/index.test.cjs.js +1 -1
- package/dist/components/Button/index.test.cjs.js.map +1 -1
- package/dist/components/Button/index.test.es.js +1 -1
- package/dist/components/Button/index.test.es.js.map +1 -1
- package/dist/components/Card/index.cjs.js +1 -1
- package/dist/components/Card/index.cjs.js.map +1 -1
- package/dist/components/Card/index.es.js +1 -1
- package/dist/components/Card/index.es.js.map +1 -1
- package/dist/components/Card/index.test.cjs.js +1 -1
- package/dist/components/Card/index.test.cjs.js.map +1 -1
- package/dist/components/Card/index.test.es.js +1 -1
- package/dist/components/Card/index.test.es.js.map +1 -1
- package/dist/components/CardWithTitle/index.cjs.js +1 -1
- package/dist/components/CardWithTitle/index.cjs.js.map +1 -1
- package/dist/components/CardWithTitle/index.es.js +1 -1
- package/dist/components/CardWithTitle/index.es.js.map +1 -1
- package/dist/components/CardWithTitle/index.test.cjs.js +1 -1
- package/dist/components/CardWithTitle/index.test.cjs.js.map +1 -1
- package/dist/components/CardWithTitle/index.test.es.js +2 -2
- package/dist/components/CardWithTitle/index.test.es.js.map +1 -1
- package/dist/components/CopyableBox/index.cjs.js +2 -0
- package/dist/components/CopyableBox/index.cjs.js.map +1 -0
- package/dist/components/CopyableBox/index.d.ts +23 -0
- package/dist/components/CopyableBox/index.es.js +46 -0
- package/dist/components/CopyableBox/index.es.js.map +1 -0
- package/dist/components/CopyableBox/index.test.cjs.js +2 -0
- package/dist/components/CopyableBox/index.test.cjs.js.map +1 -0
- package/dist/components/CopyableBox/index.test.d.ts +1 -0
- package/dist/components/CopyableBox/index.test.es.js +39 -0
- package/dist/components/CopyableBox/index.test.es.js.map +1 -0
- package/dist/components/CustomLink/index.cjs.js +1 -1
- package/dist/components/CustomLink/index.cjs.js.map +1 -1
- package/dist/components/CustomLink/index.es.js +1 -1
- package/dist/components/CustomLink/index.es.js.map +1 -1
- package/dist/components/CustomLink/index.test.cjs.js +1 -1
- package/dist/components/CustomLink/index.test.cjs.js.map +1 -1
- package/dist/components/CustomLink/index.test.es.js +2 -2
- package/dist/components/CustomLink/index.test.es.js.map +1 -1
- package/dist/components/DataTable/index.cjs.js +1 -1
- package/dist/components/DataTable/index.cjs.js.map +1 -1
- package/dist/components/DataTable/index.es.js +1 -1
- package/dist/components/DataTable/index.es.js.map +1 -1
- package/dist/components/DataTable/index.test.cjs.js +1 -1
- package/dist/components/DataTable/index.test.cjs.js.map +1 -1
- package/dist/components/DataTable/index.test.es.js +3 -3
- package/dist/components/DataTable/index.test.es.js.map +1 -1
- package/dist/components/DatePickerController/index.cjs.js +1 -1
- package/dist/components/DatePickerController/index.cjs.js.map +1 -1
- package/dist/components/DatePickerController/index.d.ts +1 -0
- package/dist/components/DatePickerController/index.es.js +1 -1
- package/dist/components/DatePickerController/index.es.js.map +1 -1
- package/dist/components/DatePickerController/index.test.cjs.js +1 -1
- package/dist/components/DatePickerController/index.test.cjs.js.map +1 -1
- package/dist/components/DatePickerController/index.test.es.js +1 -1
- package/dist/components/DatePickerController/index.test.es.js.map +1 -1
- package/dist/components/ErrorMessage/index.cjs.js +1 -1
- package/dist/components/ErrorMessage/index.cjs.js.map +1 -1
- package/dist/components/ErrorMessage/index.es.js +1 -1
- package/dist/components/ErrorMessage/index.es.js.map +1 -1
- package/dist/components/ErrorMessage/index.test.cjs.js +1 -1
- package/dist/components/ErrorMessage/index.test.cjs.js.map +1 -1
- package/dist/components/ErrorMessage/index.test.es.js +2 -2
- package/dist/components/ErrorMessage/index.test.es.js.map +1 -1
- package/dist/components/EvseStateLabel/index.cjs.js +1 -1
- package/dist/components/EvseStateLabel/index.cjs.js.map +1 -1
- package/dist/components/EvseStateLabel/index.es.js +1 -1
- package/dist/components/EvseStateLabel/index.es.js.map +1 -1
- package/dist/components/FlexButtons/index.cjs.js +1 -1
- package/dist/components/FlexButtons/index.cjs.js.map +1 -1
- package/dist/components/FlexButtons/index.es.js +1 -1
- package/dist/components/FlexButtons/index.es.js.map +1 -1
- package/dist/components/FlexButtons/index.test.cjs.js +1 -1
- package/dist/components/FlexButtons/index.test.cjs.js.map +1 -1
- package/dist/components/FlexButtons/index.test.es.js +2 -2
- package/dist/components/FlexButtons/index.test.es.js.map +1 -1
- package/dist/components/Form/index.cjs.js +1 -1
- package/dist/components/Form/index.cjs.js.map +1 -1
- package/dist/components/Form/index.es.js +1 -1
- package/dist/components/Form/index.es.js.map +1 -1
- package/dist/components/Form/index.test.cjs.js +1 -1
- package/dist/components/Form/index.test.cjs.js.map +1 -1
- package/dist/components/Form/index.test.es.js +2 -2
- package/dist/components/Form/index.test.es.js.map +1 -1
- package/dist/components/FormItem/index.cjs.js +1 -1
- package/dist/components/FormItem/index.cjs.js.map +1 -1
- package/dist/components/FormItem/index.es.js +1 -1
- package/dist/components/FormItem/index.es.js.map +1 -1
- package/dist/components/FormItem/index.test.cjs.js +1 -1
- package/dist/components/FormItem/index.test.cjs.js.map +1 -1
- package/dist/components/FormItem/index.test.es.js +2 -2
- package/dist/components/FormItem/index.test.es.js.map +1 -1
- package/dist/components/FormTitle/index.cjs.js +1 -1
- package/dist/components/FormTitle/index.cjs.js.map +1 -1
- package/dist/components/FormTitle/index.es.js +1 -1
- package/dist/components/FormTitle/index.es.js.map +1 -1
- package/dist/components/FormTitle/index.test.cjs.js +1 -1
- package/dist/components/FormTitle/index.test.cjs.js.map +1 -1
- package/dist/components/FormTitle/index.test.es.js +2 -2
- package/dist/components/FormTitle/index.test.es.js.map +1 -1
- package/dist/components/HStack/index.cjs.js +1 -1
- package/dist/components/HStack/index.cjs.js.map +1 -1
- package/dist/components/HStack/index.es.js +1 -1
- package/dist/components/HStack/index.es.js.map +1 -1
- package/dist/components/HStack/index.test.cjs.js +1 -1
- package/dist/components/HStack/index.test.cjs.js.map +1 -1
- package/dist/components/HStack/index.test.es.js +2 -2
- package/dist/components/HStack/index.test.es.js.map +1 -1
- package/dist/components/HtmlRenderer/index.cjs.js +1 -1
- package/dist/components/HtmlRenderer/index.es.js +1 -1
- package/dist/components/HtmlRenderer/index.test.cjs.js +1 -1
- package/dist/components/HtmlRenderer/index.test.cjs.js.map +1 -1
- package/dist/components/HtmlRenderer/index.test.es.js +2 -2
- package/dist/components/HtmlRenderer/index.test.es.js.map +1 -1
- package/dist/components/Input/index.cjs.js +1 -1
- package/dist/components/Input/index.cjs.js.map +1 -1
- package/dist/components/Input/index.es.js +1 -1
- package/dist/components/Input/index.es.js.map +1 -1
- package/dist/components/Input/index.test.cjs.js +1 -1
- package/dist/components/Input/index.test.cjs.js.map +1 -1
- package/dist/components/Input/index.test.es.js +1 -1
- package/dist/components/Input/index.test.es.js.map +1 -1
- package/dist/components/InputController/index.cjs.js.map +1 -1
- package/dist/components/InputController/index.es.js.map +1 -1
- package/dist/components/InputController/index.test.cjs.js +1 -1
- package/dist/components/InputController/index.test.cjs.js.map +1 -1
- package/dist/components/InputController/index.test.es.js +1 -1
- package/dist/components/InputController/index.test.es.js.map +1 -1
- package/dist/components/InputGroup/index.cjs.js +1 -1
- package/dist/components/InputGroup/index.cjs.js.map +1 -1
- package/dist/components/InputGroup/index.es.js +1 -1
- package/dist/components/InputGroup/index.es.js.map +1 -1
- package/dist/components/InputGroup/index.test.cjs.js +1 -1
- package/dist/components/InputGroup/index.test.cjs.js.map +1 -1
- package/dist/components/InputGroup/index.test.es.js +2 -2
- package/dist/components/InputGroup/index.test.es.js.map +1 -1
- package/dist/components/Label/index.cjs.js +1 -1
- package/dist/components/Label/index.cjs.js.map +1 -1
- package/dist/components/Label/index.es.js +1 -1
- package/dist/components/Label/index.es.js.map +1 -1
- package/dist/components/Label/index.test.cjs.js +1 -1
- package/dist/components/Label/index.test.cjs.js.map +1 -1
- package/dist/components/Label/index.test.es.js +2 -2
- package/dist/components/Label/index.test.es.js.map +1 -1
- package/dist/components/LabeledContent/index.cjs.js +1 -1
- package/dist/components/LabeledContent/index.cjs.js.map +1 -1
- package/dist/components/LabeledContent/index.es.js +1 -1
- package/dist/components/LabeledContent/index.es.js.map +1 -1
- package/dist/components/LabeledContent/index.test.cjs.js +1 -1
- package/dist/components/LabeledContent/index.test.cjs.js.map +1 -1
- package/dist/components/LabeledContent/index.test.es.js +1 -1
- package/dist/components/LabeledContent/index.test.es.js.map +1 -1
- package/dist/components/LoadingOverlay/index.cjs.js +1 -1
- package/dist/components/LoadingOverlay/index.cjs.js.map +1 -1
- package/dist/components/LoadingOverlay/index.es.js +1 -1
- package/dist/components/LoadingOverlay/index.es.js.map +1 -1
- package/dist/components/LoadingOverlay/index.test.cjs.js +1 -1
- package/dist/components/LoadingOverlay/index.test.cjs.js.map +1 -1
- package/dist/components/LoadingOverlay/index.test.es.js +2 -2
- package/dist/components/LoadingOverlay/index.test.es.js.map +1 -1
- package/dist/components/Map/index.cjs.js +2 -2
- package/dist/components/Map/index.cjs.js.map +1 -1
- package/dist/components/Map/index.es.js +709 -716
- package/dist/components/Map/index.es.js.map +1 -1
- package/dist/components/MaxWidthContainer/index.cjs.js +1 -1
- package/dist/components/MaxWidthContainer/index.cjs.js.map +1 -1
- package/dist/components/MaxWidthContainer/index.es.js +1 -1
- package/dist/components/MaxWidthContainer/index.es.js.map +1 -1
- package/dist/components/MaxWidthContainer/index.test.cjs.js +1 -1
- package/dist/components/MaxWidthContainer/index.test.cjs.js.map +1 -1
- package/dist/components/MaxWidthContainer/index.test.es.js +2 -2
- package/dist/components/MaxWidthContainer/index.test.es.js.map +1 -1
- package/dist/components/NumericFieldController/index.cjs.js.map +1 -1
- package/dist/components/NumericFieldController/index.d.ts +1 -0
- package/dist/components/NumericFieldController/index.es.js.map +1 -1
- package/dist/components/NumericFieldController/index.test.cjs.js +1 -1
- package/dist/components/NumericFieldController/index.test.cjs.js.map +1 -1
- package/dist/components/NumericFieldController/index.test.es.js +1 -1
- package/dist/components/NumericFieldController/index.test.es.js.map +1 -1
- package/dist/components/OfflineLabel/index.cjs.js +1 -1
- package/dist/components/OfflineLabel/index.cjs.js.map +1 -1
- package/dist/components/OfflineLabel/index.es.js +1 -1
- package/dist/components/OfflineLabel/index.es.js.map +1 -1
- package/dist/components/PageSizeSelector/index.cjs.js +1 -1
- package/dist/components/PageSizeSelector/index.cjs.js.map +1 -1
- package/dist/components/PageSizeSelector/index.es.js +2 -2
- package/dist/components/PageSizeSelector/index.es.js.map +1 -1
- package/dist/components/Pagination/index.cjs.js +2 -2
- package/dist/components/Pagination/index.cjs.js.map +1 -1
- package/dist/components/Pagination/index.es.js +17 -17
- package/dist/components/Pagination/index.es.js.map +1 -1
- package/dist/components/Pagination/index.test.cjs.js +1 -1
- package/dist/components/Pagination/index.test.cjs.js.map +1 -1
- package/dist/components/Pagination/index.test.es.js +1 -1
- package/dist/components/Pagination/index.test.es.js.map +1 -1
- package/dist/components/PasswordInputController/index.cjs.js.map +1 -1
- package/dist/components/PasswordInputController/index.es.js.map +1 -1
- package/dist/components/PasswordInputController/index.test.cjs.js +1 -1
- package/dist/components/PasswordInputController/index.test.cjs.js.map +1 -1
- package/dist/components/PasswordInputController/index.test.es.js +1 -1
- package/dist/components/PasswordInputController/index.test.es.js.map +1 -1
- package/dist/components/RadioButton/index.cjs.js +1 -1
- package/dist/components/RadioButton/index.es.js +1 -1
- package/dist/components/RadioButton/index.test.cjs.js +1 -1
- package/dist/components/RadioButton/index.test.cjs.js.map +1 -1
- package/dist/components/RadioButton/index.test.es.js +3 -3
- package/dist/components/RadioButton/index.test.es.js.map +1 -1
- package/dist/components/RadioGroupController/index.cjs.js.map +1 -1
- package/dist/components/RadioGroupController/index.es.js.map +1 -1
- package/dist/components/RadioGroupController/index.test.cjs.js +1 -1
- package/dist/components/RadioGroupController/index.test.cjs.js.map +1 -1
- package/dist/components/RadioGroupController/index.test.es.js +1 -1
- package/dist/components/RadioGroupController/index.test.es.js.map +1 -1
- package/dist/components/RangeDatePicker/index.cjs.js +1 -1
- package/dist/components/RangeDatePicker/index.cjs.js.map +1 -1
- package/dist/components/RangeDatePicker/index.es.js +1 -1
- package/dist/components/RangeDatePicker/index.es.js.map +1 -1
- package/dist/components/RangeDatePickerController/index.cjs.js.map +1 -1
- package/dist/components/RangeDatePickerController/index.es.js.map +1 -1
- package/dist/components/RangeDatePickerController/index.test.cjs.js +1 -1
- package/dist/components/RangeDatePickerController/index.test.cjs.js.map +1 -1
- package/dist/components/RangeDatePickerController/index.test.es.js +1 -1
- package/dist/components/RangeDatePickerController/index.test.es.js.map +1 -1
- package/dist/components/ReportCard/index.cjs.js +1 -1
- package/dist/components/ReportCard/index.cjs.js.map +1 -1
- package/dist/components/ReportCard/index.es.js +1 -1
- package/dist/components/ReportCard/index.es.js.map +1 -1
- package/dist/components/ReportCard/index.test.cjs.js +1 -1
- package/dist/components/ReportCard/index.test.cjs.js.map +1 -1
- package/dist/components/ReportCard/index.test.es.js +1 -1
- package/dist/components/ReportCard/index.test.es.js.map +1 -1
- package/dist/components/ReportChart/index.cjs.js +1 -1
- package/dist/components/ReportChart/index.cjs.js.map +1 -1
- package/dist/components/ReportChart/index.es.js +1 -1
- package/dist/components/ReportChart/index.es.js.map +1 -1
- package/dist/components/ReportChartMulti/index.cjs.js +1 -1
- package/dist/components/ReportChartMulti/index.cjs.js.map +1 -1
- package/dist/components/ReportChartMulti/index.es.js +1 -1
- package/dist/components/ReportChartMulti/index.es.js.map +1 -1
- package/dist/components/ReportChartMulti/index.test.cjs.js +1 -1
- package/dist/components/ReportChartMulti/index.test.cjs.js.map +1 -1
- package/dist/components/ReportChartMulti/index.test.es.js +1 -1
- package/dist/components/ReportChartMulti/index.test.es.js.map +1 -1
- package/dist/components/ScrollableDialog/index.cjs.js.map +1 -1
- package/dist/components/ScrollableDialog/index.es.js.map +1 -1
- package/dist/components/ScrollableDialog/index.test.cjs.js +1 -1
- package/dist/components/ScrollableDialog/index.test.cjs.js.map +1 -1
- package/dist/components/ScrollableDialog/index.test.es.js +1 -1
- package/dist/components/ScrollableDialog/index.test.es.js.map +1 -1
- package/dist/components/SearchForm/index.cjs.js.map +1 -1
- package/dist/components/SearchForm/index.es.js.map +1 -1
- package/dist/components/SelectBox/index.cjs.js +1 -1
- package/dist/components/SelectBox/index.es.js +1 -1
- package/dist/components/SelectBox/index.test.cjs.js +1 -1
- package/dist/components/SelectBox/index.test.cjs.js.map +1 -1
- package/dist/components/SelectBox/index.test.es.js +2 -2
- package/dist/components/SelectBox/index.test.es.js.map +1 -1
- package/dist/components/SelectBoxController/index.cjs.js.map +1 -1
- package/dist/components/SelectBoxController/index.es.js.map +1 -1
- package/dist/components/SelectBoxController/index.test.cjs.js +1 -1
- package/dist/components/SelectBoxController/index.test.cjs.js.map +1 -1
- package/dist/components/SelectBoxController/index.test.es.js +1 -1
- package/dist/components/SelectBoxController/index.test.es.js.map +1 -1
- package/dist/components/SideMenu/index.cjs.js.map +1 -1
- package/dist/components/SideMenu/index.es.js.map +1 -1
- package/dist/components/SideMenu/index.test.cjs.js +1 -1
- package/dist/components/SideMenu/index.test.cjs.js.map +1 -1
- package/dist/components/SideMenu/index.test.es.js +3 -3
- package/dist/components/SideMenu/index.test.es.js.map +1 -1
- package/dist/components/SpinnerButton/index.cjs.js.map +1 -1
- package/dist/components/SpinnerButton/index.es.js.map +1 -1
- package/dist/components/SpinnerButton/index.test.cjs.js +1 -1
- package/dist/components/SpinnerButton/index.test.cjs.js.map +1 -1
- package/dist/components/SpinnerButton/index.test.es.js +2 -2
- package/dist/components/SpinnerButton/index.test.es.js.map +1 -1
- package/dist/components/SubMenu/index.cjs.js.map +1 -1
- package/dist/components/SubMenu/index.es.js.map +1 -1
- package/dist/components/SubMenu/index.test.cjs.js +1 -1
- package/dist/components/SubMenu/index.test.cjs.js.map +1 -1
- package/dist/components/SubMenu/index.test.es.js +1 -1
- package/dist/components/SubMenu/index.test.es.js.map +1 -1
- package/dist/components/Tabs/index.cjs.js.map +1 -1
- package/dist/components/Tabs/index.d.ts +1 -1
- package/dist/components/Tabs/index.es.js.map +1 -1
- package/dist/components/Tabs/index.test.cjs.js +1 -1
- package/dist/components/Tabs/index.test.cjs.js.map +1 -1
- package/dist/components/Tabs/index.test.es.js +2 -2
- package/dist/components/Tabs/index.test.es.js.map +1 -1
- package/dist/components/Textarea/index.cjs.js.map +1 -1
- package/dist/components/Textarea/index.es.js.map +1 -1
- package/dist/components/Textarea/index.test.cjs.js +1 -1
- package/dist/components/Textarea/index.test.cjs.js.map +1 -1
- package/dist/components/Textarea/index.test.es.js +2 -2
- package/dist/components/Textarea/index.test.es.js.map +1 -1
- package/dist/components/Title/index.cjs.js +1 -1
- package/dist/components/Title/index.cjs.js.map +1 -1
- package/dist/components/Title/index.es.js +9 -2
- package/dist/components/Title/index.es.js.map +1 -1
- package/dist/components/Title/index.test.cjs.js +1 -1
- package/dist/components/Title/index.test.cjs.js.map +1 -1
- package/dist/components/Title/index.test.es.js +2 -2
- package/dist/components/Title/index.test.es.js.map +1 -1
- package/dist/components/ToggleButton/index.cjs.js.map +1 -1
- package/dist/components/ToggleButton/index.es.js.map +1 -1
- package/dist/components/ToggleButton/index.test.cjs.js +1 -1
- package/dist/components/ToggleButton/index.test.cjs.js.map +1 -1
- package/dist/components/ToggleButton/index.test.es.js +1 -1
- package/dist/components/ToggleButton/index.test.es.js.map +1 -1
- package/dist/components/TwoFaDialog/index.cjs.js +19 -0
- package/dist/components/TwoFaDialog/index.cjs.js.map +1 -0
- package/dist/components/TwoFaDialog/index.d.ts +62 -0
- package/dist/components/TwoFaDialog/index.es.js +1129 -0
- package/dist/components/TwoFaDialog/index.es.js.map +1 -0
- package/dist/components/TwoFaDialog/index.test.cjs.js +3 -0
- package/dist/components/TwoFaDialog/index.test.cjs.js.map +1 -0
- package/dist/components/TwoFaDialog/index.test.d.ts +1 -0
- package/dist/components/TwoFaDialog/index.test.es.js +73 -0
- package/dist/components/TwoFaDialog/index.test.es.js.map +1 -0
- package/dist/components/TwoFaInputController/index.cjs.js +2 -0
- package/dist/components/TwoFaInputController/index.cjs.js.map +1 -0
- package/dist/components/TwoFaInputController/index.d.ts +34 -0
- package/dist/components/TwoFaInputController/index.es.js +87 -0
- package/dist/components/TwoFaInputController/index.es.js.map +1 -0
- package/dist/components/TwoFaInputController/index.test.cjs.js +2 -0
- package/dist/components/TwoFaInputController/index.test.cjs.js.map +1 -0
- package/dist/components/TwoFaInputController/index.test.d.ts +1 -0
- package/dist/components/TwoFaInputController/index.test.es.js +123 -0
- package/dist/components/TwoFaInputController/index.test.es.js.map +1 -0
- package/dist/components/TwoFaLabel/index.cjs.js +2 -0
- package/dist/components/TwoFaLabel/index.cjs.js.map +1 -0
- package/dist/components/TwoFaLabel/index.d.ts +28 -0
- package/dist/components/TwoFaLabel/index.es.js +60 -0
- package/dist/components/TwoFaLabel/index.es.js.map +1 -0
- package/dist/components/TwoFaLabel/index.test.cjs.js +2 -0
- package/dist/components/TwoFaLabel/index.test.cjs.js.map +1 -0
- package/dist/components/TwoFaLabel/index.test.d.ts +1 -0
- package/dist/components/TwoFaLabel/index.test.es.js +19 -0
- package/dist/components/TwoFaLabel/index.test.es.js.map +1 -0
- package/dist/components/VStack/index.cjs.js.map +1 -1
- package/dist/components/VStack/index.es.js.map +1 -1
- package/dist/components/VStack/index.test.cjs.js +1 -1
- package/dist/components/VStack/index.test.cjs.js.map +1 -1
- package/dist/components/VStack/index.test.es.js +2 -2
- package/dist/components/VStack/index.test.es.js.map +1 -1
- package/dist/index-9p9q0wxE.cjs +39 -0
- package/dist/index-9p9q0wxE.cjs.map +1 -0
- package/dist/{index-B663CLQ0.cjs → index-BM3CSrls.cjs} +2 -2
- package/dist/{index-B663CLQ0.cjs.map → index-BM3CSrls.cjs.map} +1 -1
- package/dist/{index-C50NsnJO.cjs → index-BoenezD8.cjs} +2 -2
- package/dist/{index-C50NsnJO.cjs.map → index-BoenezD8.cjs.map} +1 -1
- package/dist/index-C9Dbd7MM.cjs +4 -0
- package/dist/index-C9Dbd7MM.cjs.map +1 -0
- package/dist/{index-DCSLk6pp.js → index-Cj9ZvtM1.js} +1890 -2721
- package/dist/index-Cj9ZvtM1.js.map +1 -0
- package/dist/{index-pr0ncuNy.js → index-CogWL0bN.js} +2 -2
- package/dist/{index-pr0ncuNy.js.map → index-CogWL0bN.js.map} +1 -1
- package/dist/{index-CSiE_l9r.js → index-D7VNQwOv.js} +2 -2
- package/dist/{index-CSiE_l9r.js.map → index-D7VNQwOv.js.map} +1 -1
- package/dist/{index-ZP4xL6Dt.js → index-DI17hZPH.js} +7373 -6726
- package/dist/index-DI17hZPH.js.map +1 -0
- package/dist/index-Ds6DK19y.cjs +96 -0
- package/dist/index-Ds6DK19y.cjs.map +1 -0
- package/dist/{index-CCbJ_2yU.cjs → index-SHLzSoKB.cjs} +2 -2
- package/dist/{index-CCbJ_2yU.cjs.map → index-SHLzSoKB.cjs.map} +1 -1
- package/dist/{index-D5b3AasF.js → index-sarAILcU.js} +2 -2
- package/dist/{index-D5b3AasF.js.map → index-sarAILcU.js.map} +1 -1
- package/dist/{index-BqN32Ptm.js → index-zix1zlkq.js} +628 -602
- package/dist/index-zix1zlkq.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.es.js +75 -65
- package/dist/index.es.js.map +1 -1
- package/dist/{react.esm-2FJSSo-S.js → react.esm-BBESb8eI.js} +631 -609
- package/dist/react.esm-BBESb8eI.js.map +1 -0
- package/dist/{react.esm-CiMn0Rnx.cjs → react.esm-DGuy6Rn3.cjs} +33 -33
- package/dist/react.esm-DGuy6Rn3.cjs.map +1 -0
- package/package.json +42 -18
- package/dist/browser-BCVsA9bD.cjs +0 -2
- package/dist/browser-BCVsA9bD.cjs.map +0 -1
- package/dist/browser-BYxLWVDg.js +0 -654
- package/dist/browser-BYxLWVDg.js.map +0 -1
- package/dist/index-BHsZ5xlA.cjs +0 -96
- package/dist/index-BHsZ5xlA.cjs.map +0 -1
- package/dist/index-BoNIpBs7.cjs +0 -4
- package/dist/index-BoNIpBs7.cjs.map +0 -1
- package/dist/index-BpMSrIOq.cjs +0 -43
- package/dist/index-BpMSrIOq.cjs.map +0 -1
- package/dist/index-BqN32Ptm.js.map +0 -1
- package/dist/index-DCSLk6pp.js.map +0 -1
- package/dist/index-ZP4xL6Dt.js.map +0 -1
- package/dist/react.esm-2FJSSo-S.js.map +0 -1
- package/dist/react.esm-CiMn0Rnx.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/PasswordInputController/index.test.tsx"],"sourcesContent":["import { fireEvent, render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { PasswordInputController } from \".\";\n\ndescribe(\"PasswordInputController component\", () => {\n it(\"renders a password input with the correct name, autoComplete, placeholder, and default value\", () => {\n const controlResult = renderHook(() => {\n const methods = useForm();\n return methods.control;\n });\n const control = controlResult.result.current;\n const testName = \"TestPassword\";\n const placeholder = \"Password\";\n const defaultValue = \"\";\n\n render(\n <PasswordInputController\n control={control}\n name={testName}\n placeholder={placeholder}\n defaultValue={defaultValue}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toBeInTheDocument();\n expect(input).toHaveAttribute(\"type\", \"password\");\n expect(input).toHaveAttribute(\"name\", testName);\n expect(input).toHaveAttribute(\"placeholder\", placeholder);\n });\n\n it(\"sets value to default value if input is empty\", () => {\n const controlResult = renderHook(() => {\n const methods = useForm();\n return methods.control;\n });\n const control = controlResult.result.current;\n const testName = \"TestPassword\";\n const placeholder = \"Password\";\n const defaultValue = \"DefaultPassword\";\n\n render(\n <PasswordInputController\n control={control}\n name={testName}\n placeholder={placeholder}\n defaultValue={defaultValue}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toBeInTheDocument();\n\n // Fire a change event with an empty input value\n fireEvent.change(input, { target: { value: \"\" } });\n });\n});\n"],"names":["control","renderHook","useForm","testName","placeholder","render","jsx","PasswordInputController","input","screen","fireEvent"],"mappings":"qJAKA,SAAS,oCAAqC,IAAM,CAClD,GAAG,+FAAgG,IAAM,
|
|
1
|
+
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/PasswordInputController/index.test.tsx"],"sourcesContent":["import { fireEvent, render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { PasswordInputController } from \".\";\n\ndescribe(\"PasswordInputController component\", () => {\n it(\"renders a password input with the correct name, autoComplete, placeholder, and default value\", () => {\n const controlResult = renderHook(() => {\n const methods = useForm();\n return methods.control;\n });\n const control = controlResult.result.current;\n const testName = \"TestPassword\";\n const placeholder = \"Password\";\n const defaultValue = \"\";\n\n render(\n <PasswordInputController\n control={control}\n name={testName}\n placeholder={placeholder}\n defaultValue={defaultValue}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toBeInTheDocument();\n expect(input).toHaveAttribute(\"type\", \"password\");\n expect(input).toHaveAttribute(\"name\", testName);\n expect(input).toHaveAttribute(\"placeholder\", placeholder);\n });\n\n it(\"sets value to default value if input is empty\", () => {\n const controlResult = renderHook(() => {\n const methods = useForm();\n return methods.control;\n });\n const control = controlResult.result.current;\n const testName = \"TestPassword\";\n const placeholder = \"Password\";\n const defaultValue = \"DefaultPassword\";\n\n render(\n <PasswordInputController\n control={control}\n name={testName}\n placeholder={placeholder}\n defaultValue={defaultValue}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toBeInTheDocument();\n\n // Fire a change event with an empty input value\n fireEvent.change(input, { target: { value: \"\" } });\n });\n});\n"],"names":["control","renderHook","useForm","testName","placeholder","render","jsx","PasswordInputController","input","screen","fireEvent"],"mappings":"qJAKA,SAAS,oCAAqC,IAAM,CAClD,GAAG,+FAAgG,IAAM,CAKvG,MAAMA,EAJgBC,EAAAA,WAAW,IACfC,EAAAA,QAAA,EACD,OAChB,EAC6B,OAAO,QAC/BC,EAAW,eACXC,EAAc,WAGpBC,EAAAA,OACEC,EAAAA,IAACC,EAAAA,wBAAA,CACC,QAAAP,EACA,KAAMG,EACN,YAAAC,EACA,aAPiB,EAOjB,CAAA,CACF,EAGF,MAAMI,EAAQC,EAAAA,OAAO,qBAAqBL,CAAW,EACrD,OAAOI,CAAK,EAAE,kBAAA,EACd,OAAOA,CAAK,EAAE,gBAAgB,OAAQ,UAAU,EAChD,OAAOA,CAAK,EAAE,gBAAgB,OAAQL,CAAQ,EAC9C,OAAOK,CAAK,EAAE,gBAAgB,cAAeJ,CAAW,CAC1D,CAAC,EAED,GAAG,gDAAiD,IAAM,CAKxD,MAAMJ,EAJgBC,EAAAA,WAAW,IACfC,EAAAA,QAAA,EACD,OAChB,EAC6B,OAAO,QAC/BC,EAAW,eACXC,EAAc,WAGpBC,EAAAA,OACEC,EAAAA,IAACC,EAAAA,wBAAA,CACC,QAAAP,EACA,KAAMG,EACN,YAAAC,EACA,aAPiB,iBAOjB,CAAA,CACF,EAGF,MAAMI,EAAQC,EAAAA,OAAO,qBAAqBL,CAAW,EACrD,OAAOI,CAAK,EAAE,kBAAA,EAGdE,EAAAA,UAAU,OAAOF,EAAO,CAAE,OAAQ,CAAE,MAAO,EAAA,EAAM,CACnD,CAAC,CACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
-
import { a as n, r as a, s as l, f as i } from "../../react.esm-
|
|
2
|
+
import { a as n, r as a, s as l, f as i } from "../../react.esm-BBESb8eI.js";
|
|
3
3
|
import { useForm as c } from "react-hook-form";
|
|
4
4
|
import { PasswordInputController as u } from "./index.es.js";
|
|
5
5
|
describe("PasswordInputController component", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.es.js","sources":["../../../src/components/PasswordInputController/index.test.tsx"],"sourcesContent":["import { fireEvent, render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { PasswordInputController } from \".\";\n\ndescribe(\"PasswordInputController component\", () => {\n it(\"renders a password input with the correct name, autoComplete, placeholder, and default value\", () => {\n const controlResult = renderHook(() => {\n const methods = useForm();\n return methods.control;\n });\n const control = controlResult.result.current;\n const testName = \"TestPassword\";\n const placeholder = \"Password\";\n const defaultValue = \"\";\n\n render(\n <PasswordInputController\n control={control}\n name={testName}\n placeholder={placeholder}\n defaultValue={defaultValue}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toBeInTheDocument();\n expect(input).toHaveAttribute(\"type\", \"password\");\n expect(input).toHaveAttribute(\"name\", testName);\n expect(input).toHaveAttribute(\"placeholder\", placeholder);\n });\n\n it(\"sets value to default value if input is empty\", () => {\n const controlResult = renderHook(() => {\n const methods = useForm();\n return methods.control;\n });\n const control = controlResult.result.current;\n const testName = \"TestPassword\";\n const placeholder = \"Password\";\n const defaultValue = \"DefaultPassword\";\n\n render(\n <PasswordInputController\n control={control}\n name={testName}\n placeholder={placeholder}\n defaultValue={defaultValue}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toBeInTheDocument();\n\n // Fire a change event with an empty input value\n fireEvent.change(input, { target: { value: \"\" } });\n });\n});\n"],"names":["control","renderHook","useForm","testName","placeholder","render","jsx","PasswordInputController","input","screen","fireEvent"],"mappings":";;;;AAKA,SAAS,qCAAqC,MAAM;AAClD,KAAG,gGAAgG,MAAM;
|
|
1
|
+
{"version":3,"file":"index.test.es.js","sources":["../../../src/components/PasswordInputController/index.test.tsx"],"sourcesContent":["import { fireEvent, render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { PasswordInputController } from \".\";\n\ndescribe(\"PasswordInputController component\", () => {\n it(\"renders a password input with the correct name, autoComplete, placeholder, and default value\", () => {\n const controlResult = renderHook(() => {\n const methods = useForm();\n return methods.control;\n });\n const control = controlResult.result.current;\n const testName = \"TestPassword\";\n const placeholder = \"Password\";\n const defaultValue = \"\";\n\n render(\n <PasswordInputController\n control={control}\n name={testName}\n placeholder={placeholder}\n defaultValue={defaultValue}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toBeInTheDocument();\n expect(input).toHaveAttribute(\"type\", \"password\");\n expect(input).toHaveAttribute(\"name\", testName);\n expect(input).toHaveAttribute(\"placeholder\", placeholder);\n });\n\n it(\"sets value to default value if input is empty\", () => {\n const controlResult = renderHook(() => {\n const methods = useForm();\n return methods.control;\n });\n const control = controlResult.result.current;\n const testName = \"TestPassword\";\n const placeholder = \"Password\";\n const defaultValue = \"DefaultPassword\";\n\n render(\n <PasswordInputController\n control={control}\n name={testName}\n placeholder={placeholder}\n defaultValue={defaultValue}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toBeInTheDocument();\n\n // Fire a change event with an empty input value\n fireEvent.change(input, { target: { value: \"\" } });\n });\n});\n"],"names":["control","renderHook","useForm","testName","placeholder","render","jsx","PasswordInputController","input","screen","fireEvent"],"mappings":";;;;AAKA,SAAS,qCAAqC,MAAM;AAClD,KAAG,gGAAgG,MAAM;AAKvG,UAAMA,IAJgBC,EAAW,MACfC,EAAA,EACD,OAChB,EAC6B,OAAO,SAC/BC,IAAW,gBACXC,IAAc;AAGpB,IAAAC;AAAA,MACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,SAAAP;AAAA,UACA,MAAMG;AAAA,UACN,aAAAC;AAAA,UACA,cAPiB;AAAA,QAOjB;AAAA,MAAA;AAAA,IACF;AAGF,UAAMI,IAAQC,EAAO,qBAAqBL,CAAW;AACrD,WAAOI,CAAK,EAAE,kBAAA,GACd,OAAOA,CAAK,EAAE,gBAAgB,QAAQ,UAAU,GAChD,OAAOA,CAAK,EAAE,gBAAgB,QAAQL,CAAQ,GAC9C,OAAOK,CAAK,EAAE,gBAAgB,eAAeJ,CAAW;AAAA,EAC1D,CAAC,GAED,GAAG,iDAAiD,MAAM;AAKxD,UAAMJ,IAJgBC,EAAW,MACfC,EAAA,EACD,OAChB,EAC6B,OAAO,SAC/BC,IAAW,gBACXC,IAAc;AAGpB,IAAAC;AAAA,MACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,SAAAP;AAAA,UACA,MAAMG;AAAA,UACN,aAAAC;AAAA,UACA,cAPiB;AAAA,QAOjB;AAAA,MAAA;AAAA,IACF;AAGF,UAAMI,IAAQC,EAAO,qBAAqBL,CAAW;AACrD,WAAOI,CAAK,EAAE,kBAAA,GAGdE,EAAU,OAAOF,GAAO,EAAE,QAAQ,EAAE,OAAO,GAAA,GAAM;AAAA,EACnD,CAAC;AACH,CAAC;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("react/jsx-runtime");require("classnames");const e=require("../../index-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("react/jsx-runtime");require("classnames");const e=require("../../index-BM3CSrls.cjs");exports.RadioButton=e.RadioButton;exports.default=e.RadioButton;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const n=require("react/jsx-runtime"),t=require("../../react.esm-
|
|
1
|
+
"use strict";const n=require("react/jsx-runtime"),t=require("../../react.esm-DGuy6Rn3.cjs"),i=require("../../index-Ds6DK19y.cjs"),s=require("../../index-BM3CSrls.cjs");describe("RadioButton component",()=>{const o=[{label:"Option 1",value:"option1"},{label:"Option 2",value:"option2"}];it("renders the radio buttons with correct labels and values",()=>{t.render(n.jsx(s.RadioButton,{values:o})),o.forEach(({label:e,value:r})=>{const a=t.screen.getByLabelText(e);expect(a).toBeInTheDocument(),expect(a).toHaveAttribute("value",r)})}),it("shows error message when provided",()=>{const e="Error message";t.render(n.jsx(s.RadioButton,{values:o,errorMessage:e}));const r=t.screen.getByText(e);expect(r).toBeInTheDocument()}),it("does not show error message when not provided",()=>{t.render(n.jsx(s.RadioButton,{values:o}));const e=t.screen.queryByText(/Error message/i);expect(e).not.toBeInTheDocument()}),it("applies the error class to inputs when errorMessage is provided",()=>{t.render(n.jsx(s.RadioButton,{values:o,errorMessage:"Error message"})),o.forEach(({label:r})=>{const a=t.screen.getByLabelText(r);expect(a).toHaveClass(s.styles.error)})}),it("does not apply the error class to inputs when errorMessage is not provided",()=>{t.render(n.jsx(s.RadioButton,{values:o})),o.forEach(({label:e})=>{const r=t.screen.getByLabelText(e);expect(r).not.toHaveClass(s.styles.error)})}),it("should be accessible",async()=>{const{container:e}=t.render(n.jsx(s.RadioButton,{values:o})),r=await i.jestAxe.axe(e);expect.extend(i.jestAxe.toHaveNoViolations),expect(r).toHaveNoViolations()})});
|
|
2
2
|
//# sourceMappingURL=index.test.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/RadioButton/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\nimport { axe, toHaveNoViolations } from \"jest-axe\";\n\nimport { RadioButton } from \".\";\nimport styles from \"./index.module.scss\";\n\ndescribe(\"RadioButton component\", () => {\n const values = [\n { label: \"Option 1\", value: \"option1\" },\n { label: \"Option 2\", value: \"option2\" },\n ];\n\n it(\"renders the radio buttons with correct labels and values\", () => {\n render(<RadioButton values={values} />);\n\n values.forEach(({ label, value }) => {\n const radioButton = screen.getByLabelText(label);\n expect(radioButton).toBeInTheDocument();\n expect(radioButton).toHaveAttribute(\"value\", value);\n });\n });\n\n it(\"shows error message when provided\", () => {\n const errorMessage = \"Error message\";\n render(<RadioButton values={values} errorMessage={errorMessage} />);\n\n const errorElement = screen.getByText(errorMessage);\n expect(errorElement).toBeInTheDocument();\n });\n\n it(\"does not show error message when not provided\", () => {\n render(<RadioButton values={values} />);\n\n const errorElement = screen.queryByText(/Error message/i);\n expect(errorElement).not.toBeInTheDocument();\n });\n\n it(\"applies the error class to inputs when errorMessage is provided\", () => {\n const errorMessage = \"Error message\";\n render(<RadioButton values={values} errorMessage={errorMessage} />);\n\n values.forEach(({ label }) => {\n const radioButton = screen.getByLabelText(label);\n expect(radioButton).toHaveClass(styles.error);\n });\n });\n\n it(\"does not apply the error class to inputs when errorMessage is not provided\", () => {\n render(<RadioButton values={values} />);\n\n values.forEach(({ label }) => {\n const radioButton = screen.getByLabelText(label);\n expect(radioButton).not.toHaveClass(styles.error);\n });\n });\n\n it(\"should be accessible\", async () => {\n const { container } = render(<RadioButton values={values} />);\n const results = await axe(container);\n\n expect.extend(toHaveNoViolations);\n expect(results).toHaveNoViolations();\n });\n});\n"],"names":["values","render","jsx","RadioButton","label","value","radioButton","screen","errorMessage","errorElement","styles","container","results","axe","toHaveNoViolations"],"mappings":"wKAMA,SAAS,wBAAyB,IAAM,CACtC,MAAMA,EAAS,CACb,CAAE,MAAO,WAAY,MAAO,
|
|
1
|
+
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/RadioButton/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\nimport { axe, toHaveNoViolations } from \"jest-axe\";\n\nimport { RadioButton } from \".\";\nimport styles from \"./index.module.scss\";\n\ndescribe(\"RadioButton component\", () => {\n const values = [\n { label: \"Option 1\", value: \"option1\" },\n { label: \"Option 2\", value: \"option2\" },\n ];\n\n it(\"renders the radio buttons with correct labels and values\", () => {\n render(<RadioButton values={values} />);\n\n values.forEach(({ label, value }) => {\n const radioButton = screen.getByLabelText(label);\n expect(radioButton).toBeInTheDocument();\n expect(radioButton).toHaveAttribute(\"value\", value);\n });\n });\n\n it(\"shows error message when provided\", () => {\n const errorMessage = \"Error message\";\n render(<RadioButton values={values} errorMessage={errorMessage} />);\n\n const errorElement = screen.getByText(errorMessage);\n expect(errorElement).toBeInTheDocument();\n });\n\n it(\"does not show error message when not provided\", () => {\n render(<RadioButton values={values} />);\n\n const errorElement = screen.queryByText(/Error message/i);\n expect(errorElement).not.toBeInTheDocument();\n });\n\n it(\"applies the error class to inputs when errorMessage is provided\", () => {\n const errorMessage = \"Error message\";\n render(<RadioButton values={values} errorMessage={errorMessage} />);\n\n values.forEach(({ label }) => {\n const radioButton = screen.getByLabelText(label);\n expect(radioButton).toHaveClass(styles.error);\n });\n });\n\n it(\"does not apply the error class to inputs when errorMessage is not provided\", () => {\n render(<RadioButton values={values} />);\n\n values.forEach(({ label }) => {\n const radioButton = screen.getByLabelText(label);\n expect(radioButton).not.toHaveClass(styles.error);\n });\n });\n\n it(\"should be accessible\", async () => {\n const { container } = render(<RadioButton values={values} />);\n const results = await axe(container);\n\n expect.extend(toHaveNoViolations);\n expect(results).toHaveNoViolations();\n });\n});\n"],"names":["values","render","jsx","RadioButton","label","value","radioButton","screen","errorMessage","errorElement","styles","container","results","axe","toHaveNoViolations"],"mappings":"wKAMA,SAAS,wBAAyB,IAAM,CACtC,MAAMA,EAAS,CACb,CAAE,MAAO,WAAY,MAAO,SAAA,EAC5B,CAAE,MAAO,WAAY,MAAO,SAAA,CAAU,EAGxC,GAAG,2DAA4D,IAAM,CACnEC,EAAAA,OAAOC,EAAAA,IAACC,EAAAA,YAAA,CAAY,OAAAH,CAAA,CAAgB,CAAE,EAEtCA,EAAO,QAAQ,CAAC,CAAE,MAAAI,EAAO,MAAAC,KAAY,CACnC,MAAMC,EAAcC,EAAAA,OAAO,eAAeH,CAAK,EAC/C,OAAOE,CAAW,EAAE,kBAAA,EACpB,OAAOA,CAAW,EAAE,gBAAgB,QAASD,CAAK,CACpD,CAAC,CACH,CAAC,EAED,GAAG,oCAAqC,IAAM,CAC5C,MAAMG,EAAe,gBACrBP,EAAAA,OAAOC,EAAAA,IAACC,EAAAA,YAAA,CAAY,OAAAH,EAAgB,aAAAQ,CAAA,CAA4B,CAAE,EAElE,MAAMC,EAAeF,EAAAA,OAAO,UAAUC,CAAY,EAClD,OAAOC,CAAY,EAAE,kBAAA,CACvB,CAAC,EAED,GAAG,gDAAiD,IAAM,CACxDR,EAAAA,OAAOC,EAAAA,IAACC,EAAAA,YAAA,CAAY,OAAAH,CAAA,CAAgB,CAAE,EAEtC,MAAMS,EAAeF,EAAAA,OAAO,YAAY,gBAAgB,EACxD,OAAOE,CAAY,EAAE,IAAI,kBAAA,CAC3B,CAAC,EAED,GAAG,kEAAmE,IAAM,CAE1ER,EAAAA,OAAOC,EAAAA,IAACC,EAAAA,YAAA,CAAY,OAAAH,EAAgB,aADf,eACe,CAA4B,CAAE,EAElEA,EAAO,QAAQ,CAAC,CAAE,MAAAI,KAAY,CAC5B,MAAME,EAAcC,EAAAA,OAAO,eAAeH,CAAK,EAC/C,OAAOE,CAAW,EAAE,YAAYI,EAAAA,OAAO,KAAK,CAC9C,CAAC,CACH,CAAC,EAED,GAAG,6EAA8E,IAAM,CACrFT,EAAAA,OAAOC,EAAAA,IAACC,EAAAA,YAAA,CAAY,OAAAH,CAAA,CAAgB,CAAE,EAEtCA,EAAO,QAAQ,CAAC,CAAE,MAAAI,KAAY,CAC5B,MAAME,EAAcC,EAAAA,OAAO,eAAeH,CAAK,EAC/C,OAAOE,CAAW,EAAE,IAAI,YAAYI,EAAAA,OAAO,KAAK,CAClD,CAAC,CACH,CAAC,EAED,GAAG,uBAAwB,SAAY,CACrC,KAAM,CAAE,UAAAC,CAAA,EAAcV,EAAAA,OAAOC,EAAAA,IAACC,cAAA,CAAY,OAAAH,EAAgB,CAAE,EACtDY,EAAU,MAAMC,EAAAA,QAAAA,IAAIF,CAAS,EAEnC,OAAO,OAAOG,4BAAkB,EAChC,OAAOF,CAAO,EAAE,mBAAA,CAClB,CAAC,CACH,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { r as s, s as n } from "../../react.esm-
|
|
3
|
-
import { j as c } from "../../index-
|
|
4
|
-
import { s as l, R as a } from "../../index-
|
|
2
|
+
import { r as s, s as n } from "../../react.esm-BBESb8eI.js";
|
|
3
|
+
import { j as c } from "../../index-DI17hZPH.js";
|
|
4
|
+
import { s as l, R as a } from "../../index-CogWL0bN.js";
|
|
5
5
|
describe("RadioButton component", () => {
|
|
6
6
|
const o = [
|
|
7
7
|
{ label: "Option 1", value: "option1" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.es.js","sources":["../../../src/components/RadioButton/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\nimport { axe, toHaveNoViolations } from \"jest-axe\";\n\nimport { RadioButton } from \".\";\nimport styles from \"./index.module.scss\";\n\ndescribe(\"RadioButton component\", () => {\n const values = [\n { label: \"Option 1\", value: \"option1\" },\n { label: \"Option 2\", value: \"option2\" },\n ];\n\n it(\"renders the radio buttons with correct labels and values\", () => {\n render(<RadioButton values={values} />);\n\n values.forEach(({ label, value }) => {\n const radioButton = screen.getByLabelText(label);\n expect(radioButton).toBeInTheDocument();\n expect(radioButton).toHaveAttribute(\"value\", value);\n });\n });\n\n it(\"shows error message when provided\", () => {\n const errorMessage = \"Error message\";\n render(<RadioButton values={values} errorMessage={errorMessage} />);\n\n const errorElement = screen.getByText(errorMessage);\n expect(errorElement).toBeInTheDocument();\n });\n\n it(\"does not show error message when not provided\", () => {\n render(<RadioButton values={values} />);\n\n const errorElement = screen.queryByText(/Error message/i);\n expect(errorElement).not.toBeInTheDocument();\n });\n\n it(\"applies the error class to inputs when errorMessage is provided\", () => {\n const errorMessage = \"Error message\";\n render(<RadioButton values={values} errorMessage={errorMessage} />);\n\n values.forEach(({ label }) => {\n const radioButton = screen.getByLabelText(label);\n expect(radioButton).toHaveClass(styles.error);\n });\n });\n\n it(\"does not apply the error class to inputs when errorMessage is not provided\", () => {\n render(<RadioButton values={values} />);\n\n values.forEach(({ label }) => {\n const radioButton = screen.getByLabelText(label);\n expect(radioButton).not.toHaveClass(styles.error);\n });\n });\n\n it(\"should be accessible\", async () => {\n const { container } = render(<RadioButton values={values} />);\n const results = await axe(container);\n\n expect.extend(toHaveNoViolations);\n expect(results).toHaveNoViolations();\n });\n});\n"],"names":["values","render","jsx","RadioButton","label","value","radioButton","screen","errorMessage","errorElement","styles","container","results","axe","toHaveNoViolations"],"mappings":";;;;AAMA,SAAS,yBAAyB,MAAM;AACtC,QAAMA,IAAS;AAAA,IACb,EAAE,OAAO,YAAY,OAAO,
|
|
1
|
+
{"version":3,"file":"index.test.es.js","sources":["../../../src/components/RadioButton/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\nimport { axe, toHaveNoViolations } from \"jest-axe\";\n\nimport { RadioButton } from \".\";\nimport styles from \"./index.module.scss\";\n\ndescribe(\"RadioButton component\", () => {\n const values = [\n { label: \"Option 1\", value: \"option1\" },\n { label: \"Option 2\", value: \"option2\" },\n ];\n\n it(\"renders the radio buttons with correct labels and values\", () => {\n render(<RadioButton values={values} />);\n\n values.forEach(({ label, value }) => {\n const radioButton = screen.getByLabelText(label);\n expect(radioButton).toBeInTheDocument();\n expect(radioButton).toHaveAttribute(\"value\", value);\n });\n });\n\n it(\"shows error message when provided\", () => {\n const errorMessage = \"Error message\";\n render(<RadioButton values={values} errorMessage={errorMessage} />);\n\n const errorElement = screen.getByText(errorMessage);\n expect(errorElement).toBeInTheDocument();\n });\n\n it(\"does not show error message when not provided\", () => {\n render(<RadioButton values={values} />);\n\n const errorElement = screen.queryByText(/Error message/i);\n expect(errorElement).not.toBeInTheDocument();\n });\n\n it(\"applies the error class to inputs when errorMessage is provided\", () => {\n const errorMessage = \"Error message\";\n render(<RadioButton values={values} errorMessage={errorMessage} />);\n\n values.forEach(({ label }) => {\n const radioButton = screen.getByLabelText(label);\n expect(radioButton).toHaveClass(styles.error);\n });\n });\n\n it(\"does not apply the error class to inputs when errorMessage is not provided\", () => {\n render(<RadioButton values={values} />);\n\n values.forEach(({ label }) => {\n const radioButton = screen.getByLabelText(label);\n expect(radioButton).not.toHaveClass(styles.error);\n });\n });\n\n it(\"should be accessible\", async () => {\n const { container } = render(<RadioButton values={values} />);\n const results = await axe(container);\n\n expect.extend(toHaveNoViolations);\n expect(results).toHaveNoViolations();\n });\n});\n"],"names":["values","render","jsx","RadioButton","label","value","radioButton","screen","errorMessage","errorElement","styles","container","results","axe","toHaveNoViolations"],"mappings":";;;;AAMA,SAAS,yBAAyB,MAAM;AACtC,QAAMA,IAAS;AAAA,IACb,EAAE,OAAO,YAAY,OAAO,UAAA;AAAA,IAC5B,EAAE,OAAO,YAAY,OAAO,UAAA;AAAA,EAAU;AAGxC,KAAG,4DAA4D,MAAM;AACnE,IAAAC,EAAO,gBAAAC,EAACC,GAAA,EAAY,QAAAH,EAAA,CAAgB,CAAE,GAEtCA,EAAO,QAAQ,CAAC,EAAE,OAAAI,GAAO,OAAAC,QAAY;AACnC,YAAMC,IAAcC,EAAO,eAAeH,CAAK;AAC/C,aAAOE,CAAW,EAAE,kBAAA,GACpB,OAAOA,CAAW,EAAE,gBAAgB,SAASD,CAAK;AAAA,IACpD,CAAC;AAAA,EACH,CAAC,GAED,GAAG,qCAAqC,MAAM;AAC5C,UAAMG,IAAe;AACrB,IAAAP,EAAO,gBAAAC,EAACC,GAAA,EAAY,QAAAH,GAAgB,cAAAQ,EAAA,CAA4B,CAAE;AAElE,UAAMC,IAAeF,EAAO,UAAUC,CAAY;AAClD,WAAOC,CAAY,EAAE,kBAAA;AAAA,EACvB,CAAC,GAED,GAAG,iDAAiD,MAAM;AACxD,IAAAR,EAAO,gBAAAC,EAACC,GAAA,EAAY,QAAAH,EAAA,CAAgB,CAAE;AAEtC,UAAMS,IAAeF,EAAO,YAAY,gBAAgB;AACxD,WAAOE,CAAY,EAAE,IAAI,kBAAA;AAAA,EAC3B,CAAC,GAED,GAAG,mEAAmE,MAAM;AAE1E,IAAAR,EAAO,gBAAAC,EAACC,GAAA,EAAY,QAAAH,GAAgB,cADf,gBACe,CAA4B,CAAE,GAElEA,EAAO,QAAQ,CAAC,EAAE,OAAAI,QAAY;AAC5B,YAAME,IAAcC,EAAO,eAAeH,CAAK;AAC/C,aAAOE,CAAW,EAAE,YAAYI,EAAO,KAAK;AAAA,IAC9C,CAAC;AAAA,EACH,CAAC,GAED,GAAG,8EAA8E,MAAM;AACrF,IAAAT,EAAO,gBAAAC,EAACC,GAAA,EAAY,QAAAH,EAAA,CAAgB,CAAE,GAEtCA,EAAO,QAAQ,CAAC,EAAE,OAAAI,QAAY;AAC5B,YAAME,IAAcC,EAAO,eAAeH,CAAK;AAC/C,aAAOE,CAAW,EAAE,IAAI,YAAYI,EAAO,KAAK;AAAA,IAClD,CAAC;AAAA,EACH,CAAC,GAED,GAAG,wBAAwB,YAAY;AACrC,UAAM,EAAE,WAAAC,EAAA,IAAcV,EAAO,gBAAAC,EAACC,GAAA,EAAY,QAAAH,GAAgB,CAAE,GACtDY,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/RadioGroupController/index.tsx"],"sourcesContent":["import {\n FormControl,\n FormControlLabel,\n FormHelperText,\n Radio,\n RadioGroup,\n} from \"@mui/material\";\nimport {\n Controller,\n FieldPath,\n FieldValues,\n PathValue,\n type Control,\n} from \"react-hook-form\";\n\nexport type Option = {\n readonly label: string;\n readonly value: string | number;\n};\n\ntype Props<T extends FieldValues> = {\n control: Control<T>;\n name: FieldPath<T>;\n options: Option[];\n required?: boolean;\n defaultValue?: PathValue<T, FieldPath<T>>;\n};\n\nexport const RadioGroupController = <T extends FieldValues>(\n props: Props<T>,\n) => {\n const { control, name, options, required, defaultValue } = props;\n\n return (\n <Controller\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => (\n <FormControl error={fieldState.invalid}>\n <RadioGroup\n {...field}\n aria-labelledby=\"controlled-radio-buttons-group\"\n value={field.value === undefined ? null : field.value}\n >\n {options.map((m) => (\n <FormControlLabel\n key={m.value}\n value={m.value}\n control={<Radio size=\"small\" />}\n label={m.label}\n required={required}\n sx={{\n // NOTE: requiredと連動したアスタリスクを非表示にします。label側で反映しているため。\n \"& .MuiFormControlLabel-asterisk\": {\n display: \"none\",\n },\n }}\n />\n ))}\n </RadioGroup>\n <FormHelperText>{fieldState.error?.message}</FormHelperText>\n </FormControl>\n )}\n />\n );\n};\n\nexport default RadioGroupController;\n"],"names":["RadioGroupController","props","control","name","options","required","defaultValue","jsx","Controller","field","fieldState","jsxs","FormControl","RadioGroup","m","FormControlLabel","Radio","FormHelperText","_a"],"mappings":"yMA4BaA,EACXC,GACG,CACH,KAAM,CAAE,QAAAC,EAAS,KAAAC,EAAM,QAAAC,EAAS,SAAAC,EAAU,aAAAC,GAAiBL,
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/RadioGroupController/index.tsx"],"sourcesContent":["import {\n FormControl,\n FormControlLabel,\n FormHelperText,\n Radio,\n RadioGroup,\n} from \"@mui/material\";\nimport {\n Controller,\n FieldPath,\n FieldValues,\n PathValue,\n type Control,\n} from \"react-hook-form\";\n\nexport type Option = {\n readonly label: string;\n readonly value: string | number;\n};\n\ntype Props<T extends FieldValues> = {\n control: Control<T>;\n name: FieldPath<T>;\n options: Option[];\n required?: boolean;\n defaultValue?: PathValue<T, FieldPath<T>>;\n};\n\nexport const RadioGroupController = <T extends FieldValues>(\n props: Props<T>,\n) => {\n const { control, name, options, required, defaultValue } = props;\n\n return (\n <Controller\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => (\n <FormControl error={fieldState.invalid}>\n <RadioGroup\n {...field}\n aria-labelledby=\"controlled-radio-buttons-group\"\n value={field.value === undefined ? null : field.value}\n >\n {options.map((m) => (\n <FormControlLabel\n key={m.value}\n value={m.value}\n control={<Radio size=\"small\" />}\n label={m.label}\n required={required}\n sx={{\n // NOTE: requiredと連動したアスタリスクを非表示にします。label側で反映しているため。\n \"& .MuiFormControlLabel-asterisk\": {\n display: \"none\",\n },\n }}\n />\n ))}\n </RadioGroup>\n <FormHelperText>{fieldState.error?.message}</FormHelperText>\n </FormControl>\n )}\n />\n );\n};\n\nexport default RadioGroupController;\n"],"names":["RadioGroupController","props","control","name","options","required","defaultValue","jsx","Controller","field","fieldState","jsxs","FormControl","RadioGroup","m","FormControlLabel","Radio","FormHelperText","_a"],"mappings":"yMA4BaA,EACXC,GACG,CACH,KAAM,CAAE,QAAAC,EAAS,KAAAC,EAAM,QAAAC,EAAS,SAAAC,EAAU,aAAAC,GAAiBL,EAE3D,OACEM,EAAAA,IAACC,EAAAA,WAAA,CACC,QAAAN,EACA,KAAAC,EACA,aAAAG,EACA,OAAQ,CAAC,CAAE,MAAAG,EAAO,WAAAC,YAChBC,OAAAA,EAAAA,KAACC,EAAAA,YAAA,CAAY,MAAOF,EAAW,QAC7B,SAAA,CAAAH,EAAAA,IAACM,EAAAA,WAAA,CACE,GAAGJ,EACJ,kBAAgB,iCAChB,MAAOA,EAAM,QAAU,OAAY,KAAOA,EAAM,MAE/C,SAAAL,EAAQ,IAAKU,GACZP,EAAAA,IAACQ,EAAAA,iBAAA,CAEC,MAAOD,EAAE,MACT,QAASP,EAAAA,IAACS,EAAAA,MAAA,CAAM,KAAK,OAAA,CAAQ,EAC7B,MAAOF,EAAE,MACT,SAAAT,EACA,GAAI,CAEF,kCAAmC,CACjC,QAAS,MAAA,CACX,CACF,EAVKS,EAAE,KAAA,CAYV,CAAA,CAAA,EAEHP,EAAAA,IAACU,EAAAA,eAAA,CAAgB,UAAAC,EAAAR,EAAW,QAAX,YAAAQ,EAAkB,OAAA,CAAQ,CAAA,CAAA,CAC7C,EAAA,CAAA,CAIR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../src/components/RadioGroupController/index.tsx"],"sourcesContent":["import {\n FormControl,\n FormControlLabel,\n FormHelperText,\n Radio,\n RadioGroup,\n} from \"@mui/material\";\nimport {\n Controller,\n FieldPath,\n FieldValues,\n PathValue,\n type Control,\n} from \"react-hook-form\";\n\nexport type Option = {\n readonly label: string;\n readonly value: string | number;\n};\n\ntype Props<T extends FieldValues> = {\n control: Control<T>;\n name: FieldPath<T>;\n options: Option[];\n required?: boolean;\n defaultValue?: PathValue<T, FieldPath<T>>;\n};\n\nexport const RadioGroupController = <T extends FieldValues>(\n props: Props<T>,\n) => {\n const { control, name, options, required, defaultValue } = props;\n\n return (\n <Controller\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => (\n <FormControl error={fieldState.invalid}>\n <RadioGroup\n {...field}\n aria-labelledby=\"controlled-radio-buttons-group\"\n value={field.value === undefined ? null : field.value}\n >\n {options.map((m) => (\n <FormControlLabel\n key={m.value}\n value={m.value}\n control={<Radio size=\"small\" />}\n label={m.label}\n required={required}\n sx={{\n // NOTE: requiredと連動したアスタリスクを非表示にします。label側で反映しているため。\n \"& .MuiFormControlLabel-asterisk\": {\n display: \"none\",\n },\n }}\n />\n ))}\n </RadioGroup>\n <FormHelperText>{fieldState.error?.message}</FormHelperText>\n </FormControl>\n )}\n />\n );\n};\n\nexport default RadioGroupController;\n"],"names":["RadioGroupController","props","control","name","options","required","defaultValue","jsx","Controller","field","fieldState","jsxs","FormControl","RadioGroup","m","FormControlLabel","Radio","FormHelperText","_a"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../src/components/RadioGroupController/index.tsx"],"sourcesContent":["import {\n FormControl,\n FormControlLabel,\n FormHelperText,\n Radio,\n RadioGroup,\n} from \"@mui/material\";\nimport {\n Controller,\n FieldPath,\n FieldValues,\n PathValue,\n type Control,\n} from \"react-hook-form\";\n\nexport type Option = {\n readonly label: string;\n readonly value: string | number;\n};\n\ntype Props<T extends FieldValues> = {\n control: Control<T>;\n name: FieldPath<T>;\n options: Option[];\n required?: boolean;\n defaultValue?: PathValue<T, FieldPath<T>>;\n};\n\nexport const RadioGroupController = <T extends FieldValues>(\n props: Props<T>,\n) => {\n const { control, name, options, required, defaultValue } = props;\n\n return (\n <Controller\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => (\n <FormControl error={fieldState.invalid}>\n <RadioGroup\n {...field}\n aria-labelledby=\"controlled-radio-buttons-group\"\n value={field.value === undefined ? null : field.value}\n >\n {options.map((m) => (\n <FormControlLabel\n key={m.value}\n value={m.value}\n control={<Radio size=\"small\" />}\n label={m.label}\n required={required}\n sx={{\n // NOTE: requiredと連動したアスタリスクを非表示にします。label側で反映しているため。\n \"& .MuiFormControlLabel-asterisk\": {\n display: \"none\",\n },\n }}\n />\n ))}\n </RadioGroup>\n <FormHelperText>{fieldState.error?.message}</FormHelperText>\n </FormControl>\n )}\n />\n );\n};\n\nexport default RadioGroupController;\n"],"names":["RadioGroupController","props","control","name","options","required","defaultValue","jsx","Controller","field","fieldState","jsxs","FormControl","RadioGroup","m","FormControlLabel","Radio","FormHelperText","_a"],"mappings":";;;AA4BO,MAAMA,IAAuB,CAClCC,MACG;AACH,QAAM,EAAE,SAAAC,GAAS,MAAAC,GAAM,SAAAC,GAAS,UAAAC,GAAU,cAAAC,MAAiBL;AAE3D,SACE,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAAN;AAAA,MACA,MAAAC;AAAA,MACA,cAAAG;AAAA,MACA,QAAQ,CAAC,EAAE,OAAAG,GAAO,YAAAC;;AAChB,+BAAAC,EAACC,GAAA,EAAY,OAAOF,EAAW,SAC7B,UAAA;AAAA,UAAA,gBAAAH;AAAA,YAACM;AAAA,YAAA;AAAA,cACE,GAAGJ;AAAA,cACJ,mBAAgB;AAAA,cAChB,OAAOA,EAAM,UAAU,SAAY,OAAOA,EAAM;AAAA,cAE/C,UAAAL,EAAQ,IAAI,CAACU,MACZ,gBAAAP;AAAA,gBAACQ;AAAA,gBAAA;AAAA,kBAEC,OAAOD,EAAE;AAAA,kBACT,SAAS,gBAAAP,EAACS,GAAA,EAAM,MAAK,QAAA,CAAQ;AAAA,kBAC7B,OAAOF,EAAE;AAAA,kBACT,UAAAT;AAAA,kBACA,IAAI;AAAA;AAAA,oBAEF,mCAAmC;AAAA,sBACjC,SAAS;AAAA,oBAAA;AAAA,kBACX;AAAA,gBACF;AAAA,gBAVKS,EAAE;AAAA,cAAA,CAYV;AAAA,YAAA;AAAA,UAAA;AAAA,UAEH,gBAAAP,EAACU,GAAA,EAAgB,WAAAC,IAAAR,EAAW,UAAX,gBAAAQ,EAAkB,QAAA,CAAQ;AAAA,QAAA,EAAA,CAC7C;AAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const a=require("react/jsx-runtime"),e=require("../../react.esm-
|
|
1
|
+
"use strict";const a=require("react/jsx-runtime"),e=require("../../react.esm-DGuy6Rn3.cjs"),c=require("react-hook-form"),u=require("./index.cjs.js");describe("RadioGroupController component",()=>{it("renders radio buttons with options and correct default value",()=>{const{result:r}=e.renderHook(()=>c.useForm()),{control:l}=r.current,i="TestRadio",o=[{label:"Option 1",value:"option1"},{label:"Option 2",value:"option2"},{label:"Option 3",value:"option3"}],t="option2";e.render(a.jsx(u.RadioGroupController,{control:l,name:i,options:o,defaultValue:t}));const n=o.find(s=>s.value===t);if(n){const s=e.screen.getByText(n.label);expect(s).toBeInTheDocument()}}),it("renders without default value",()=>{const{result:r}=e.renderHook(()=>c.useForm()),{control:l}=r.current,i="TestRadio",o=[{label:"Option 1",value:"option1"},{label:"Option 2",value:"option2"},{label:"Option 3",value:"option3"}];e.render(a.jsx(u.RadioGroupController,{control:l,name:i,options:o})),o.forEach(t=>{const n=e.screen.getByLabelText(t.label);expect(n).not.toBeChecked()})})});
|
|
2
2
|
//# sourceMappingURL=index.test.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/RadioGroupController/index.test.tsx"],"sourcesContent":["import { render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { RadioGroupController } from \".\";\n\ndescribe(\"RadioGroupController component\", () => {\n it(\"renders radio buttons with options and correct default value\", () => {\n const { result } = renderHook(() => useForm());\n const { control } = result.current;\n\n const testName = \"TestRadio\";\n const options = [\n { label: \"Option 1\", value: \"option1\" },\n { label: \"Option 2\", value: \"option2\" },\n { label: \"Option 3\", value: \"option3\" },\n ];\n const defaultValue = \"option2\"; // Example of default value\n\n render(\n <RadioGroupController\n control={control}\n name={testName}\n options={options}\n defaultValue={defaultValue}\n />,\n );\n\n // Check if the radio group renders with correct default value\n const option = options.find((opt) => opt.value === defaultValue);\n if (option) {\n // Check if the default value's label is displayed\n const displayedValue = screen.getByText(option.label);\n expect(displayedValue).toBeInTheDocument();\n }\n });\n\n it(\"renders without default value\", () => {\n const { result } = renderHook(() => useForm());\n const { control } = result.current;\n\n const testName = \"TestRadio\";\n const options = [\n { label: \"Option 1\", value: \"option1\" },\n { label: \"Option 2\", value: \"option2\" },\n { label: \"Option 3\", value: \"option3\" },\n ];\n\n render(\n <RadioGroupController\n control={control}\n name={testName}\n options={options}\n />,\n );\n\n // Check if the radio group renders without any selected value\n options.forEach((option) => {\n const radioOption = screen.getByLabelText(option.label);\n expect(radioOption).not.toBeChecked();\n });\n });\n});\n"],"names":["result","renderHook","useForm","control","testName","options","defaultValue","render","jsx","RadioGroupController","option","opt","displayedValue","screen","radioOption"],"mappings":"qJAKA,SAAS,iCAAkC,IAAM,CAC/C,GAAG,+DAAgE,IAAM,CACvE,KAAM,CAAE,OAAAA,
|
|
1
|
+
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/RadioGroupController/index.test.tsx"],"sourcesContent":["import { render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { RadioGroupController } from \".\";\n\ndescribe(\"RadioGroupController component\", () => {\n it(\"renders radio buttons with options and correct default value\", () => {\n const { result } = renderHook(() => useForm());\n const { control } = result.current;\n\n const testName = \"TestRadio\";\n const options = [\n { label: \"Option 1\", value: \"option1\" },\n { label: \"Option 2\", value: \"option2\" },\n { label: \"Option 3\", value: \"option3\" },\n ];\n const defaultValue = \"option2\"; // Example of default value\n\n render(\n <RadioGroupController\n control={control}\n name={testName}\n options={options}\n defaultValue={defaultValue}\n />,\n );\n\n // Check if the radio group renders with correct default value\n const option = options.find((opt) => opt.value === defaultValue);\n if (option) {\n // Check if the default value's label is displayed\n const displayedValue = screen.getByText(option.label);\n expect(displayedValue).toBeInTheDocument();\n }\n });\n\n it(\"renders without default value\", () => {\n const { result } = renderHook(() => useForm());\n const { control } = result.current;\n\n const testName = \"TestRadio\";\n const options = [\n { label: \"Option 1\", value: \"option1\" },\n { label: \"Option 2\", value: \"option2\" },\n { label: \"Option 3\", value: \"option3\" },\n ];\n\n render(\n <RadioGroupController\n control={control}\n name={testName}\n options={options}\n />,\n );\n\n // Check if the radio group renders without any selected value\n options.forEach((option) => {\n const radioOption = screen.getByLabelText(option.label);\n expect(radioOption).not.toBeChecked();\n });\n });\n});\n"],"names":["result","renderHook","useForm","control","testName","options","defaultValue","render","jsx","RadioGroupController","option","opt","displayedValue","screen","radioOption"],"mappings":"qJAKA,SAAS,iCAAkC,IAAM,CAC/C,GAAG,+DAAgE,IAAM,CACvE,KAAM,CAAE,OAAAA,CAAA,EAAWC,aAAW,IAAMC,EAAAA,SAAS,EACvC,CAAE,QAAAC,GAAYH,EAAO,QAErBI,EAAW,YACXC,EAAU,CACd,CAAE,MAAO,WAAY,MAAO,SAAA,EAC5B,CAAE,MAAO,WAAY,MAAO,SAAA,EAC5B,CAAE,MAAO,WAAY,MAAO,SAAA,CAAU,EAElCC,EAAe,UAErBC,EAAAA,OACEC,EAAAA,IAACC,EAAAA,qBAAA,CACC,QAAAN,EACA,KAAMC,EACN,QAAAC,EACA,aAAAC,CAAA,CAAA,CACF,EAIF,MAAMI,EAASL,EAAQ,KAAMM,GAAQA,EAAI,QAAUL,CAAY,EAC/D,GAAII,EAAQ,CAEV,MAAME,EAAiBC,EAAAA,OAAO,UAAUH,EAAO,KAAK,EACpD,OAAOE,CAAc,EAAE,kBAAA,CACzB,CACF,CAAC,EAED,GAAG,gCAAiC,IAAM,CACxC,KAAM,CAAE,OAAAZ,CAAA,EAAWC,aAAW,IAAMC,EAAAA,SAAS,EACvC,CAAE,QAAAC,GAAYH,EAAO,QAErBI,EAAW,YACXC,EAAU,CACd,CAAE,MAAO,WAAY,MAAO,SAAA,EAC5B,CAAE,MAAO,WAAY,MAAO,SAAA,EAC5B,CAAE,MAAO,WAAY,MAAO,SAAA,CAAU,EAGxCE,EAAAA,OACEC,EAAAA,IAACC,EAAAA,qBAAA,CACC,QAAAN,EACA,KAAMC,EACN,QAAAC,CAAA,CAAA,CACF,EAIFA,EAAQ,QAASK,GAAW,CAC1B,MAAMI,EAAcD,EAAAA,OAAO,eAAeH,EAAO,KAAK,EACtD,OAAOI,CAAW,EAAE,IAAI,YAAA,CAC1B,CAAC,CACH,CAAC,CACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
-
import { a as s, r as p, s as c } from "../../react.esm-
|
|
2
|
+
import { a as s, r as p, s as c } from "../../react.esm-BBESb8eI.js";
|
|
3
3
|
import { useForm as u } from "react-hook-form";
|
|
4
4
|
import { RadioGroupController as d } from "./index.es.js";
|
|
5
5
|
describe("RadioGroupController component", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.es.js","sources":["../../../src/components/RadioGroupController/index.test.tsx"],"sourcesContent":["import { render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { RadioGroupController } from \".\";\n\ndescribe(\"RadioGroupController component\", () => {\n it(\"renders radio buttons with options and correct default value\", () => {\n const { result } = renderHook(() => useForm());\n const { control } = result.current;\n\n const testName = \"TestRadio\";\n const options = [\n { label: \"Option 1\", value: \"option1\" },\n { label: \"Option 2\", value: \"option2\" },\n { label: \"Option 3\", value: \"option3\" },\n ];\n const defaultValue = \"option2\"; // Example of default value\n\n render(\n <RadioGroupController\n control={control}\n name={testName}\n options={options}\n defaultValue={defaultValue}\n />,\n );\n\n // Check if the radio group renders with correct default value\n const option = options.find((opt) => opt.value === defaultValue);\n if (option) {\n // Check if the default value's label is displayed\n const displayedValue = screen.getByText(option.label);\n expect(displayedValue).toBeInTheDocument();\n }\n });\n\n it(\"renders without default value\", () => {\n const { result } = renderHook(() => useForm());\n const { control } = result.current;\n\n const testName = \"TestRadio\";\n const options = [\n { label: \"Option 1\", value: \"option1\" },\n { label: \"Option 2\", value: \"option2\" },\n { label: \"Option 3\", value: \"option3\" },\n ];\n\n render(\n <RadioGroupController\n control={control}\n name={testName}\n options={options}\n />,\n );\n\n // Check if the radio group renders without any selected value\n options.forEach((option) => {\n const radioOption = screen.getByLabelText(option.label);\n expect(radioOption).not.toBeChecked();\n });\n });\n});\n"],"names":["result","renderHook","useForm","control","testName","options","defaultValue","render","jsx","RadioGroupController","option","opt","displayedValue","screen","radioOption"],"mappings":";;;;AAKA,SAAS,kCAAkC,MAAM;AAC/C,KAAG,gEAAgE,MAAM;AACvE,UAAM,EAAE,QAAAA,
|
|
1
|
+
{"version":3,"file":"index.test.es.js","sources":["../../../src/components/RadioGroupController/index.test.tsx"],"sourcesContent":["import { render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { RadioGroupController } from \".\";\n\ndescribe(\"RadioGroupController component\", () => {\n it(\"renders radio buttons with options and correct default value\", () => {\n const { result } = renderHook(() => useForm());\n const { control } = result.current;\n\n const testName = \"TestRadio\";\n const options = [\n { label: \"Option 1\", value: \"option1\" },\n { label: \"Option 2\", value: \"option2\" },\n { label: \"Option 3\", value: \"option3\" },\n ];\n const defaultValue = \"option2\"; // Example of default value\n\n render(\n <RadioGroupController\n control={control}\n name={testName}\n options={options}\n defaultValue={defaultValue}\n />,\n );\n\n // Check if the radio group renders with correct default value\n const option = options.find((opt) => opt.value === defaultValue);\n if (option) {\n // Check if the default value's label is displayed\n const displayedValue = screen.getByText(option.label);\n expect(displayedValue).toBeInTheDocument();\n }\n });\n\n it(\"renders without default value\", () => {\n const { result } = renderHook(() => useForm());\n const { control } = result.current;\n\n const testName = \"TestRadio\";\n const options = [\n { label: \"Option 1\", value: \"option1\" },\n { label: \"Option 2\", value: \"option2\" },\n { label: \"Option 3\", value: \"option3\" },\n ];\n\n render(\n <RadioGroupController\n control={control}\n name={testName}\n options={options}\n />,\n );\n\n // Check if the radio group renders without any selected value\n options.forEach((option) => {\n const radioOption = screen.getByLabelText(option.label);\n expect(radioOption).not.toBeChecked();\n });\n });\n});\n"],"names":["result","renderHook","useForm","control","testName","options","defaultValue","render","jsx","RadioGroupController","option","opt","displayedValue","screen","radioOption"],"mappings":";;;;AAKA,SAAS,kCAAkC,MAAM;AAC/C,KAAG,gEAAgE,MAAM;AACvE,UAAM,EAAE,QAAAA,EAAA,IAAWC,EAAW,MAAMC,GAAS,GACvC,EAAE,SAAAC,MAAYH,EAAO,SAErBI,IAAW,aACXC,IAAU;AAAA,MACd,EAAE,OAAO,YAAY,OAAO,UAAA;AAAA,MAC5B,EAAE,OAAO,YAAY,OAAO,UAAA;AAAA,MAC5B,EAAE,OAAO,YAAY,OAAO,UAAA;AAAA,IAAU,GAElCC,IAAe;AAErB,IAAAC;AAAA,MACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,SAAAN;AAAA,UACA,MAAMC;AAAA,UACN,SAAAC;AAAA,UACA,cAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAIF,UAAMI,IAASL,EAAQ,KAAK,CAACM,MAAQA,EAAI,UAAUL,CAAY;AAC/D,QAAII,GAAQ;AAEV,YAAME,IAAiBC,EAAO,UAAUH,EAAO,KAAK;AACpD,aAAOE,CAAc,EAAE,kBAAA;AAAA,IACzB;AAAA,EACF,CAAC,GAED,GAAG,iCAAiC,MAAM;AACxC,UAAM,EAAE,QAAAZ,EAAA,IAAWC,EAAW,MAAMC,GAAS,GACvC,EAAE,SAAAC,MAAYH,EAAO,SAErBI,IAAW,aACXC,IAAU;AAAA,MACd,EAAE,OAAO,YAAY,OAAO,UAAA;AAAA,MAC5B,EAAE,OAAO,YAAY,OAAO,UAAA;AAAA,MAC5B,EAAE,OAAO,YAAY,OAAO,UAAA;AAAA,IAAU;AAGxC,IAAAE;AAAA,MACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,SAAAN;AAAA,UACA,MAAMC;AAAA,UACN,SAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF,GAIFA,EAAQ,QAAQ,CAACK,MAAW;AAC1B,YAAMI,IAAcD,EAAO,eAAeH,EAAO,KAAK;AACtD,aAAOI,CAAW,EAAE,IAAI,YAAA;AAAA,IAC1B,CAAC;AAAA,EACH,CAAC;AACH,CAAC;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../../assets/
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../../assets/index7.css');const e=require("react/jsx-runtime"),t=require("@mui/x-date-pickers"),i=require("@mui/x-date-pickers/AdapterDateFns"),c=require("date-fns/locale/ja"),u="_rangeContainer_17n2w_1",l={rangeContainer:u},o=s=>{const{fromDateInfo:n,toDateInfo:r}=s;return e.jsx(t.LocalizationProvider,{dateAdapter:i.AdapterDateFns,adapterLocale:c,children:e.jsxs("div",{className:l.rangeContainer,children:[e.jsx(t.DatePicker,{maxDate:new Date,value:n.valueState,onChange:a=>n.setValue(a)}),"~",e.jsx(t.DatePicker,{maxDate:new Date,value:r.valueState,onChange:a=>r.setValue(a)})]})})};exports.RangeDatePicker=o;exports.default=o;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/RangeDatePicker/index.tsx"],"sourcesContent":["import { type Dispatch, type SetStateAction } from \"react\";\nimport { DatePicker, LocalizationProvider } from \"@mui/x-date-pickers\";\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nimport ja from \"date-fns/locale/ja\";\n\nimport styles from \"./index.module.scss\";\n\nexport type RangeDatePickerInfo = {\n id: string;\n name: string;\n valueState: Date | null;\n setValue: Dispatch<SetStateAction<Date | null>>;\n};\ntype Props = {\n fromDateInfo: RangeDatePickerInfo;\n toDateInfo: RangeDatePickerInfo;\n};\n\nexport const RangeDatePicker = (props: Props) => {\n const { fromDateInfo, toDateInfo } = props;\n\n return (\n <LocalizationProvider dateAdapter={AdapterDateFns} adapterLocale={ja}>\n <div className={styles.rangeContainer}>\n <DatePicker\n maxDate={new Date()}\n value={fromDateInfo.valueState}\n onChange={(newValue) => fromDateInfo.setValue(newValue)}\n />\n ~\n <DatePicker\n maxDate={new Date()}\n value={toDateInfo.valueState}\n onChange={(newValue) => toDateInfo.setValue(newValue)}\n />\n </div>\n </LocalizationProvider>\n );\n};\n\nexport default RangeDatePicker;\n"],"names":["RangeDatePicker","props","fromDateInfo","toDateInfo","jsx","LocalizationProvider","AdapterDateFns","ja","jsxs","styles","DatePicker","newValue"],"mappings":"mTAkBaA,EAAmBC,GAAiB,
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/RangeDatePicker/index.tsx"],"sourcesContent":["import { type Dispatch, type SetStateAction } from \"react\";\nimport { DatePicker, LocalizationProvider } from \"@mui/x-date-pickers\";\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nimport ja from \"date-fns/locale/ja\";\n\nimport styles from \"./index.module.scss\";\n\nexport type RangeDatePickerInfo = {\n id: string;\n name: string;\n valueState: Date | null;\n setValue: Dispatch<SetStateAction<Date | null>>;\n};\ntype Props = {\n fromDateInfo: RangeDatePickerInfo;\n toDateInfo: RangeDatePickerInfo;\n};\n\nexport const RangeDatePicker = (props: Props) => {\n const { fromDateInfo, toDateInfo } = props;\n\n return (\n <LocalizationProvider dateAdapter={AdapterDateFns} adapterLocale={ja}>\n <div className={styles.rangeContainer}>\n <DatePicker\n maxDate={new Date()}\n value={fromDateInfo.valueState}\n onChange={(newValue) => fromDateInfo.setValue(newValue)}\n />\n ~\n <DatePicker\n maxDate={new Date()}\n value={toDateInfo.valueState}\n onChange={(newValue) => toDateInfo.setValue(newValue)}\n />\n </div>\n </LocalizationProvider>\n );\n};\n\nexport default RangeDatePicker;\n"],"names":["RangeDatePicker","props","fromDateInfo","toDateInfo","jsx","LocalizationProvider","AdapterDateFns","ja","jsxs","styles","DatePicker","newValue"],"mappings":"mTAkBaA,EAAmBC,GAAiB,CAC/C,KAAM,CAAE,aAAAC,EAAc,WAAAC,CAAA,EAAeF,EAErC,OACEG,EAAAA,IAACC,EAAAA,qBAAA,CAAqB,YAAaC,EAAAA,eAAgB,cAAeC,EAChE,SAAAC,EAAAA,KAAC,MAAA,CAAI,UAAWC,EAAO,eACrB,SAAA,CAAAL,EAAAA,IAACM,EAAAA,WAAA,CACC,YAAa,KACb,MAAOR,EAAa,WACpB,SAAWS,GAAaT,EAAa,SAASS,CAAQ,CAAA,CAAA,EACtD,IAEFP,EAAAA,IAACM,EAAAA,WAAA,CACC,YAAa,KACb,MAAOP,EAAW,WAClB,SAAWQ,GAAaR,EAAW,SAASQ,CAAQ,CAAA,CAAA,CACtD,CAAA,CACF,CAAA,CACF,CAEJ"}
|
|
@@ -2,7 +2,7 @@ import { jsx as a, jsxs as i } from "react/jsx-runtime";
|
|
|
2
2
|
import { LocalizationProvider as s, DatePicker as r } from "@mui/x-date-pickers";
|
|
3
3
|
import { AdapterDateFns as l } from "@mui/x-date-pickers/AdapterDateFns";
|
|
4
4
|
import m from "date-fns/locale/ja";
|
|
5
|
-
import '../../assets/
|
|
5
|
+
import '../../assets/index7.css';const c = "_rangeContainer_17n2w_1", d = {
|
|
6
6
|
rangeContainer: c
|
|
7
7
|
}, g = (o) => {
|
|
8
8
|
const { fromDateInfo: t, toDateInfo: n } = o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../src/components/RangeDatePicker/index.tsx"],"sourcesContent":["import { type Dispatch, type SetStateAction } from \"react\";\nimport { DatePicker, LocalizationProvider } from \"@mui/x-date-pickers\";\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nimport ja from \"date-fns/locale/ja\";\n\nimport styles from \"./index.module.scss\";\n\nexport type RangeDatePickerInfo = {\n id: string;\n name: string;\n valueState: Date | null;\n setValue: Dispatch<SetStateAction<Date | null>>;\n};\ntype Props = {\n fromDateInfo: RangeDatePickerInfo;\n toDateInfo: RangeDatePickerInfo;\n};\n\nexport const RangeDatePicker = (props: Props) => {\n const { fromDateInfo, toDateInfo } = props;\n\n return (\n <LocalizationProvider dateAdapter={AdapterDateFns} adapterLocale={ja}>\n <div className={styles.rangeContainer}>\n <DatePicker\n maxDate={new Date()}\n value={fromDateInfo.valueState}\n onChange={(newValue) => fromDateInfo.setValue(newValue)}\n />\n ~\n <DatePicker\n maxDate={new Date()}\n value={toDateInfo.valueState}\n onChange={(newValue) => toDateInfo.setValue(newValue)}\n />\n </div>\n </LocalizationProvider>\n );\n};\n\nexport default RangeDatePicker;\n"],"names":["RangeDatePicker","props","fromDateInfo","toDateInfo","jsx","LocalizationProvider","AdapterDateFns","ja","jsxs","styles","DatePicker","newValue"],"mappings":";;;;;;GAkBaA,IAAkB,CAACC,MAAiB;
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../src/components/RangeDatePicker/index.tsx"],"sourcesContent":["import { type Dispatch, type SetStateAction } from \"react\";\nimport { DatePicker, LocalizationProvider } from \"@mui/x-date-pickers\";\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nimport ja from \"date-fns/locale/ja\";\n\nimport styles from \"./index.module.scss\";\n\nexport type RangeDatePickerInfo = {\n id: string;\n name: string;\n valueState: Date | null;\n setValue: Dispatch<SetStateAction<Date | null>>;\n};\ntype Props = {\n fromDateInfo: RangeDatePickerInfo;\n toDateInfo: RangeDatePickerInfo;\n};\n\nexport const RangeDatePicker = (props: Props) => {\n const { fromDateInfo, toDateInfo } = props;\n\n return (\n <LocalizationProvider dateAdapter={AdapterDateFns} adapterLocale={ja}>\n <div className={styles.rangeContainer}>\n <DatePicker\n maxDate={new Date()}\n value={fromDateInfo.valueState}\n onChange={(newValue) => fromDateInfo.setValue(newValue)}\n />\n ~\n <DatePicker\n maxDate={new Date()}\n value={toDateInfo.valueState}\n onChange={(newValue) => toDateInfo.setValue(newValue)}\n />\n </div>\n </LocalizationProvider>\n );\n};\n\nexport default RangeDatePicker;\n"],"names":["RangeDatePicker","props","fromDateInfo","toDateInfo","jsx","LocalizationProvider","AdapterDateFns","ja","jsxs","styles","DatePicker","newValue"],"mappings":";;;;;;GAkBaA,IAAkB,CAACC,MAAiB;AAC/C,QAAM,EAAE,cAAAC,GAAc,YAAAC,EAAA,IAAeF;AAErC,SACE,gBAAAG,EAACC,GAAA,EAAqB,aAAaC,GAAgB,eAAeC,GAChE,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAO,gBACrB,UAAA;AAAA,IAAA,gBAAAL;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,6BAAa,KAAA;AAAA,QACb,OAAOR,EAAa;AAAA,QACpB,UAAU,CAACS,MAAaT,EAAa,SAASS,CAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IACtD;AAAA,IAEF,gBAAAP;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,6BAAa,KAAA;AAAA,QACb,OAAOP,EAAW;AAAA,QAClB,UAAU,CAACQ,MAAaR,EAAW,SAASQ,CAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACtD,EAAA,CACF,EAAA,CACF;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/RangeDatePickerController/index.tsx"],"sourcesContent":["import { Grid } from \"@mui/material\";\nimport {\n DateTimePicker,\n PickersActionBarAction,\n type DateOrTimeView,\n} 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, set } from \"date-fns\";\nimport ja from \"date-fns/locale/ja\";\nimport {\n Controller,\n type Control,\n type FieldValues,\n type UseFormSetValue,\n} from \"react-hook-form\";\n\nimport { DATETIME_FORMAT } from \"@/constants/datetime\";\n\nexport type PickerInfo = {\n name: string;\n defaultValue?: string | undefined | null;\n};\n\ntype Props = {\n control: Control;\n fromDateInfo: PickerInfo;\n toDateInfo: PickerInfo;\n dateFormat: string;\n setValue: UseFormSetValue<FieldValues>;\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\nconst pickerActions: PickersActionBarAction[] = [\"clear\", \"accept\"];\n\n/**\n * Date,DateTimeをを選択できるコンポーネント\n * dateFormatに合わせてpickerViewを生成します。\n * @param props\n * @returns\n */\nexport const RangeDatePickerController = (props: Props) => {\n const { control, fromDateInfo, toDateInfo, dateFormat, setValue } = props;\n\n /**\n * 受信した値を適切な日付またはnullに変換します。\n * @param value ユーザーによる値、呼び出し側からセットされた値\n * @param pickerInfo 紐づくpickerの情報\n * @returns\n */\n const convertValue = (\n value: string | Date | null,\n pickerInfo: PickerInfo,\n ): 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(pickerInfo.name, newValue);\n }\n return newValue;\n };\n\n const handleOnchange = (value: Date | null, pickerInfo: PickerInfo) => {\n setValue(pickerInfo.name, value ?? pickerInfo.defaultValue, {\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 <Grid container alignItems=\"center\" rowSpacing={1} columnSpacing={1}>\n <Grid item xs={11.4} sm={5.7} md={11.4} xl={5.7}>\n <Controller\n control={control}\n name={fromDateInfo.name}\n defaultValue={fromDateInfo.defaultValue}\n render={({ field, fieldState }) => (\n <DateTimePicker\n {...field}\n format={dateFormat}\n views={views}\n sx={pickerStyles}\n value={convertValue(field.value, fromDateInfo)}\n onChange={(newDate) => {\n handleOnchange(newDate, fromDateInfo);\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: pickerActions },\n }}\n />\n )}\n />\n </Grid>\n <Grid item xs={0.6} sm={0.6} md={0.6} lg={0.6} textAlign=\"center\">\n ~\n </Grid>\n {/* <Grid item xs={1} sm={0} lg={0}>\n <></>\n </Grid> */}\n <Grid item xs={11.4} sm={5.7} md={11.4} xl={5.7}>\n <Controller\n control={control}\n name={toDateInfo.name}\n defaultValue={toDateInfo.defaultValue}\n render={({ field, fieldState }) => (\n <DateTimePicker\n {...field}\n format={dateFormat}\n views={views}\n sx={pickerStyles}\n value={convertValue(field.value, toDateInfo)}\n onChange={(newDate) => {\n // NOTE: 値がない状態からh日付をを入力した場合に限りto入力部だけデフォルトで23:59:59が入るようにします。\n if (\n dateFormat === DATETIME_FORMAT &&\n newDate !== null &&\n !field.value\n ) {\n newDate = set(newDate, {\n hours: 23,\n minutes: 59,\n seconds: 59,\n });\n }\n handleOnchange(newDate, toDateInfo);\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: pickerActions },\n }}\n />\n )}\n />\n </Grid>\n </Grid>\n </LocalizationProvider>\n );\n};\n\nexport default RangeDatePickerController
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/RangeDatePickerController/index.tsx"],"sourcesContent":["import { Grid } from \"@mui/material\";\nimport {\n DateTimePicker,\n PickersActionBarAction,\n type DateOrTimeView,\n} 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, set } from \"date-fns\";\nimport ja from \"date-fns/locale/ja\";\nimport {\n Controller,\n type Control,\n type FieldValues,\n type UseFormSetValue,\n} from \"react-hook-form\";\n\nimport { DATETIME_FORMAT } from \"@/constants/datetime\";\n\nexport type PickerInfo = {\n name: string;\n defaultValue?: string | undefined | null;\n};\n\ntype Props = {\n control: Control;\n fromDateInfo: PickerInfo;\n toDateInfo: PickerInfo;\n dateFormat: string;\n setValue: UseFormSetValue<FieldValues>;\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\nconst pickerActions: PickersActionBarAction[] = [\"clear\", \"accept\"];\n\n/**\n * Date,DateTimeをを選択できるコンポーネント\n * dateFormatに合わせてpickerViewを生成します。\n * @param props\n * @returns\n */\nexport const RangeDatePickerController = (props: Props) => {\n const { control, fromDateInfo, toDateInfo, dateFormat, setValue } = props;\n\n /**\n * 受信した値を適切な日付またはnullに変換します。\n * @param value ユーザーによる値、呼び出し側からセットされた値\n * @param pickerInfo 紐づくpickerの情報\n * @returns\n */\n const convertValue = (\n value: string | Date | null,\n pickerInfo: PickerInfo,\n ): 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(pickerInfo.name, newValue);\n }\n return newValue;\n };\n\n const handleOnchange = (value: Date | null, pickerInfo: PickerInfo) => {\n setValue(pickerInfo.name, value ?? pickerInfo.defaultValue, {\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 <Grid container alignItems=\"center\" rowSpacing={1} columnSpacing={1}>\n <Grid item xs={11.4} sm={5.7} md={11.4} xl={5.7}>\n <Controller\n control={control}\n name={fromDateInfo.name}\n defaultValue={fromDateInfo.defaultValue}\n render={({ field, fieldState }) => (\n <DateTimePicker\n {...field}\n format={dateFormat}\n views={views}\n sx={pickerStyles}\n value={convertValue(field.value, fromDateInfo)}\n onChange={(newDate) => {\n handleOnchange(newDate, fromDateInfo);\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: pickerActions },\n }}\n />\n )}\n />\n </Grid>\n <Grid item xs={0.6} sm={0.6} md={0.6} lg={0.6} textAlign=\"center\">\n ~\n </Grid>\n {/* <Grid item xs={1} sm={0} lg={0}>\n <></>\n </Grid> */}\n <Grid item xs={11.4} sm={5.7} md={11.4} xl={5.7}>\n <Controller\n control={control}\n name={toDateInfo.name}\n defaultValue={toDateInfo.defaultValue}\n render={({ field, fieldState }) => (\n <DateTimePicker\n {...field}\n format={dateFormat}\n views={views}\n sx={pickerStyles}\n value={convertValue(field.value, toDateInfo)}\n onChange={(newDate) => {\n // NOTE: 値がない状態からh日付をを入力した場合に限りto入力部だけデフォルトで23:59:59が入るようにします。\n if (\n dateFormat === DATETIME_FORMAT &&\n newDate !== null &&\n !field.value\n ) {\n newDate = set(newDate, {\n hours: 23,\n minutes: 59,\n seconds: 59,\n });\n }\n handleOnchange(newDate, toDateInfo);\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: pickerActions },\n }}\n />\n )}\n />\n </Grid>\n </Grid>\n </LocalizationProvider>\n );\n};\n\nexport default RangeDatePickerController;\n"],"names":["pickerStyles","pickerActions","RangeDatePickerController","props","control","fromDateInfo","toDateInfo","dateFormat","setValue","convertValue","value","pickerInfo","newValue","parse","handleOnchange","views","v","jsx","LocalizationProvider","AdapterDateFns","ja","jaJP","jsxs","Grid","Controller","field","fieldState","DateTimePicker","newDate","_a","DATETIME_FORMAT","set"],"mappings":"4dAiCMA,EAAe,CACnB,sBAAuB,CACrB,QAAS,GACT,YAAa,CAAA,EAEf,uBAAwB,CACtB,SAAU,SAAA,CAEd,EAEMC,EAA0C,CAAC,QAAS,QAAQ,EAQrDC,EAA6BC,GAAiB,CACzD,KAAM,CAAE,QAAAC,EAAS,aAAAC,EAAc,WAAAC,EAAY,WAAAC,EAAY,SAAAC,GAAaL,EAQ9DM,EAAe,CACnBC,EACAC,IACgB,CAChB,MAAMC,EAAWF,EACbA,aAAiB,KACfA,EACA,OAAOA,GAAU,SACfG,EAAAA,MAAMH,EAAOH,EAAY,IAAI,IAAM,EACnC,KACJ,KAEJ,OAAI,OAAOG,GAAU,UACnBF,EAASG,EAAW,KAAMC,CAAQ,EAE7BA,CACT,EAEME,EAAiB,CAACJ,EAAoBC,IAA2B,CACrEH,EAASG,EAAW,KAAMD,GAASC,EAAW,aAAc,CAC1D,YAAa,EAAA,CACd,CACH,EAEMI,GAA2B,IAAM,CACrC,MAAMC,EAAsB,CAAA,EAE5B,OAAIT,EAAW,SAAS,MAAM,GAC5BS,EAAE,KAAK,MAAM,EAEXT,EAAW,SAAS,IAAI,GAC1BS,EAAE,KAAK,OAAO,EAEZT,EAAW,SAAS,IAAI,GAC1BS,EAAE,KAAK,KAAK,EAEVT,EAAW,SAAS,IAAI,GAC1BS,EAAE,KAAK,OAAO,EAEZT,EAAW,SAAS,IAAI,GAC1BS,EAAE,KAAK,SAAS,EAEdT,EAAW,SAAS,IAAI,GAC1BS,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,SAAAC,EAAAA,KAACC,EAAAA,MAAK,UAAS,GAAC,WAAW,SAAS,WAAY,EAAG,cAAe,EAChE,SAAA,CAAAN,EAAAA,IAACM,EAAAA,KAAA,CAAK,KAAI,GAAC,GAAI,KAAM,GAAI,IAAK,GAAI,KAAM,GAAI,IAC1C,SAAAN,EAAAA,IAACO,EAAAA,WAAA,CACC,QAAApB,EACA,KAAMC,EAAa,KACnB,aAAcA,EAAa,aAC3B,OAAQ,CAAC,CAAE,MAAAoB,EAAO,WAAAC,KAAW,OAC3BT,OAAAA,EAAAA,IAACU,EAAAA,eAAA,CACE,GAAGF,EACJ,OAAQlB,EACR,MAAAQ,EACA,GAAIf,EACJ,MAAOS,EAAagB,EAAM,MAAOpB,CAAY,EAC7C,SAAWuB,GAAY,CACrBd,EAAec,EAASvB,CAAY,CACtC,EACA,UAAW,CACT,UAAW,CACT,MAAO,CAAC,CAACqB,EAAW,MACpB,YAAYG,EAAAH,EAAW,QAAX,YAAAG,EAAkB,QAC9B,UAAW,EAAA,EAMb,UAAW,CAAE,QAAS5B,CAAA,CAAc,CACtC,CAAA,EACF,CAAA,EAGN,EACAgB,EAAAA,IAACM,EAAAA,KAAA,CAAK,KAAI,GAAC,GAAI,GAAK,GAAI,GAAK,GAAI,GAAK,GAAI,GAAK,UAAU,SAAS,SAAA,IAElE,EAIAN,EAAAA,IAACM,EAAAA,KAAA,CAAK,KAAI,GAAC,GAAI,KAAM,GAAI,IAAK,GAAI,KAAM,GAAI,IAC1C,SAAAN,EAAAA,IAACO,EAAAA,WAAA,CACC,QAAApB,EACA,KAAME,EAAW,KACjB,aAAcA,EAAW,aACzB,OAAQ,CAAC,CAAE,MAAAmB,EAAO,WAAAC,KAAW,OAC3BT,OAAAA,EAAAA,IAACU,EAAAA,eAAA,CACE,GAAGF,EACJ,OAAQlB,EACR,MAAAQ,EACA,GAAIf,EACJ,MAAOS,EAAagB,EAAM,MAAOnB,CAAU,EAC3C,SAAWsB,GAAY,CAGnBrB,IAAeuB,EAAAA,iBACfF,IAAY,MACZ,CAACH,EAAM,QAEPG,EAAUG,EAAAA,IAAIH,EAAS,CACrB,MAAO,GACP,QAAS,GACT,QAAS,EAAA,CACV,GAEHd,EAAec,EAAStB,CAAU,CACpC,EACA,UAAW,CACT,UAAW,CACT,MAAO,CAAC,CAACoB,EAAW,MACpB,YAAYG,EAAAH,EAAW,QAAX,YAAAG,EAAkB,QAC9B,UAAW,EAAA,EAMb,UAAW,CAAE,QAAS5B,CAAA,CAAc,CACtC,CAAA,EACF,CAAA,CAEJ,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CAGN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../src/components/RangeDatePickerController/index.tsx"],"sourcesContent":["import { Grid } from \"@mui/material\";\nimport {\n DateTimePicker,\n PickersActionBarAction,\n type DateOrTimeView,\n} 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, set } from \"date-fns\";\nimport ja from \"date-fns/locale/ja\";\nimport {\n Controller,\n type Control,\n type FieldValues,\n type UseFormSetValue,\n} from \"react-hook-form\";\n\nimport { DATETIME_FORMAT } from \"@/constants/datetime\";\n\nexport type PickerInfo = {\n name: string;\n defaultValue?: string | undefined | null;\n};\n\ntype Props = {\n control: Control;\n fromDateInfo: PickerInfo;\n toDateInfo: PickerInfo;\n dateFormat: string;\n setValue: UseFormSetValue<FieldValues>;\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\nconst pickerActions: PickersActionBarAction[] = [\"clear\", \"accept\"];\n\n/**\n * Date,DateTimeをを選択できるコンポーネント\n * dateFormatに合わせてpickerViewを生成します。\n * @param props\n * @returns\n */\nexport const RangeDatePickerController = (props: Props) => {\n const { control, fromDateInfo, toDateInfo, dateFormat, setValue } = props;\n\n /**\n * 受信した値を適切な日付またはnullに変換します。\n * @param value ユーザーによる値、呼び出し側からセットされた値\n * @param pickerInfo 紐づくpickerの情報\n * @returns\n */\n const convertValue = (\n value: string | Date | null,\n pickerInfo: PickerInfo,\n ): 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(pickerInfo.name, newValue);\n }\n return newValue;\n };\n\n const handleOnchange = (value: Date | null, pickerInfo: PickerInfo) => {\n setValue(pickerInfo.name, value ?? pickerInfo.defaultValue, {\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 <Grid container alignItems=\"center\" rowSpacing={1} columnSpacing={1}>\n <Grid item xs={11.4} sm={5.7} md={11.4} xl={5.7}>\n <Controller\n control={control}\n name={fromDateInfo.name}\n defaultValue={fromDateInfo.defaultValue}\n render={({ field, fieldState }) => (\n <DateTimePicker\n {...field}\n format={dateFormat}\n views={views}\n sx={pickerStyles}\n value={convertValue(field.value, fromDateInfo)}\n onChange={(newDate) => {\n handleOnchange(newDate, fromDateInfo);\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: pickerActions },\n }}\n />\n )}\n />\n </Grid>\n <Grid item xs={0.6} sm={0.6} md={0.6} lg={0.6} textAlign=\"center\">\n ~\n </Grid>\n {/* <Grid item xs={1} sm={0} lg={0}>\n <></>\n </Grid> */}\n <Grid item xs={11.4} sm={5.7} md={11.4} xl={5.7}>\n <Controller\n control={control}\n name={toDateInfo.name}\n defaultValue={toDateInfo.defaultValue}\n render={({ field, fieldState }) => (\n <DateTimePicker\n {...field}\n format={dateFormat}\n views={views}\n sx={pickerStyles}\n value={convertValue(field.value, toDateInfo)}\n onChange={(newDate) => {\n // NOTE: 値がない状態からh日付をを入力した場合に限りto入力部だけデフォルトで23:59:59が入るようにします。\n if (\n dateFormat === DATETIME_FORMAT &&\n newDate !== null &&\n !field.value\n ) {\n newDate = set(newDate, {\n hours: 23,\n minutes: 59,\n seconds: 59,\n });\n }\n handleOnchange(newDate, toDateInfo);\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: pickerActions },\n }}\n />\n )}\n />\n </Grid>\n </Grid>\n </LocalizationProvider>\n );\n};\n\nexport default RangeDatePickerController
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../src/components/RangeDatePickerController/index.tsx"],"sourcesContent":["import { Grid } from \"@mui/material\";\nimport {\n DateTimePicker,\n PickersActionBarAction,\n type DateOrTimeView,\n} 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, set } from \"date-fns\";\nimport ja from \"date-fns/locale/ja\";\nimport {\n Controller,\n type Control,\n type FieldValues,\n type UseFormSetValue,\n} from \"react-hook-form\";\n\nimport { DATETIME_FORMAT } from \"@/constants/datetime\";\n\nexport type PickerInfo = {\n name: string;\n defaultValue?: string | undefined | null;\n};\n\ntype Props = {\n control: Control;\n fromDateInfo: PickerInfo;\n toDateInfo: PickerInfo;\n dateFormat: string;\n setValue: UseFormSetValue<FieldValues>;\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\nconst pickerActions: PickersActionBarAction[] = [\"clear\", \"accept\"];\n\n/**\n * Date,DateTimeをを選択できるコンポーネント\n * dateFormatに合わせてpickerViewを生成します。\n * @param props\n * @returns\n */\nexport const RangeDatePickerController = (props: Props) => {\n const { control, fromDateInfo, toDateInfo, dateFormat, setValue } = props;\n\n /**\n * 受信した値を適切な日付またはnullに変換します。\n * @param value ユーザーによる値、呼び出し側からセットされた値\n * @param pickerInfo 紐づくpickerの情報\n * @returns\n */\n const convertValue = (\n value: string | Date | null,\n pickerInfo: PickerInfo,\n ): 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(pickerInfo.name, newValue);\n }\n return newValue;\n };\n\n const handleOnchange = (value: Date | null, pickerInfo: PickerInfo) => {\n setValue(pickerInfo.name, value ?? pickerInfo.defaultValue, {\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 <Grid container alignItems=\"center\" rowSpacing={1} columnSpacing={1}>\n <Grid item xs={11.4} sm={5.7} md={11.4} xl={5.7}>\n <Controller\n control={control}\n name={fromDateInfo.name}\n defaultValue={fromDateInfo.defaultValue}\n render={({ field, fieldState }) => (\n <DateTimePicker\n {...field}\n format={dateFormat}\n views={views}\n sx={pickerStyles}\n value={convertValue(field.value, fromDateInfo)}\n onChange={(newDate) => {\n handleOnchange(newDate, fromDateInfo);\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: pickerActions },\n }}\n />\n )}\n />\n </Grid>\n <Grid item xs={0.6} sm={0.6} md={0.6} lg={0.6} textAlign=\"center\">\n ~\n </Grid>\n {/* <Grid item xs={1} sm={0} lg={0}>\n <></>\n </Grid> */}\n <Grid item xs={11.4} sm={5.7} md={11.4} xl={5.7}>\n <Controller\n control={control}\n name={toDateInfo.name}\n defaultValue={toDateInfo.defaultValue}\n render={({ field, fieldState }) => (\n <DateTimePicker\n {...field}\n format={dateFormat}\n views={views}\n sx={pickerStyles}\n value={convertValue(field.value, toDateInfo)}\n onChange={(newDate) => {\n // NOTE: 値がない状態からh日付をを入力した場合に限りto入力部だけデフォルトで23:59:59が入るようにします。\n if (\n dateFormat === DATETIME_FORMAT &&\n newDate !== null &&\n !field.value\n ) {\n newDate = set(newDate, {\n hours: 23,\n minutes: 59,\n seconds: 59,\n });\n }\n handleOnchange(newDate, toDateInfo);\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: pickerActions },\n }}\n />\n )}\n />\n </Grid>\n </Grid>\n </LocalizationProvider>\n );\n};\n\nexport default RangeDatePickerController;\n"],"names":["pickerStyles","pickerActions","RangeDatePickerController","props","control","fromDateInfo","toDateInfo","dateFormat","setValue","convertValue","value","pickerInfo","newValue","parse","handleOnchange","views","v","jsx","LocalizationProvider","AdapterDateFns","ja","jaJP","jsxs","Grid","Controller","field","fieldState","DateTimePicker","newDate","_a","DATETIME_FORMAT","set"],"mappings":";;;;;;;;;;AAiCA,MAAMA,IAAe;AAAA,EACnB,uBAAuB;AAAA,IACrB,SAAS;AAAA,IACT,aAAa;AAAA,EAAA;AAAA,EAEf,wBAAwB;AAAA,IACtB,UAAU;AAAA,EAAA;AAEd,GAEMC,IAA0C,CAAC,SAAS,QAAQ,GAQrDC,IAA4B,CAACC,MAAiB;AACzD,QAAM,EAAE,SAAAC,GAAS,cAAAC,GAAc,YAAAC,GAAY,YAAAC,GAAY,UAAAC,MAAaL,GAQ9DM,IAAe,CACnBC,GACAC,MACgB;AAChB,UAAMC,IAAWF,IACbA,aAAiB,OACfA,IACA,OAAOA,KAAU,WACfG,EAAMH,GAAOH,GAAY,oBAAI,KAAA,CAAM,IACnC,OACJ;AAEJ,WAAI,OAAOG,KAAU,YACnBF,EAASG,EAAW,MAAMC,CAAQ,GAE7BA;AAAA,EACT,GAEME,IAAiB,CAACJ,GAAoBC,MAA2B;AACrE,IAAAH,EAASG,EAAW,MAAMD,KAASC,EAAW,cAAc;AAAA,MAC1D,aAAa;AAAA,IAAA,CACd;AAAA,EACH,GAEMI,KAA2B,MAAM;AACrC,UAAMC,IAAsB,CAAA;AAE5B,WAAIT,EAAW,SAAS,MAAM,KAC5BS,EAAE,KAAK,MAAM,GAEXT,EAAW,SAAS,IAAI,KAC1BS,EAAE,KAAK,OAAO,GAEZT,EAAW,SAAS,IAAI,KAC1BS,EAAE,KAAK,KAAK,GAEVT,EAAW,SAAS,IAAI,KAC1BS,EAAE,KAAK,OAAO,GAEZT,EAAW,SAAS,IAAI,KAC1BS,EAAE,KAAK,SAAS,GAEdT,EAAW,SAAS,IAAI,KAC1BS,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,gBAAAC,EAACC,KAAK,WAAS,IAAC,YAAW,UAAS,YAAY,GAAG,eAAe,GAChE,UAAA;AAAA,QAAA,gBAAAN,EAACM,GAAA,EAAK,MAAI,IAAC,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,KAC1C,UAAA,gBAAAN;AAAA,UAACO;AAAA,UAAA;AAAA,YACC,SAAApB;AAAA,YACA,MAAMC,EAAa;AAAA,YACnB,cAAcA,EAAa;AAAA,YAC3B,QAAQ,CAAC,EAAE,OAAAoB,GAAO,YAAAC,QAAW;;AAC3B,qCAAAT;AAAA,gBAACU;AAAA,gBAAA;AAAA,kBACE,GAAGF;AAAA,kBACJ,QAAQlB;AAAA,kBACR,OAAAQ;AAAA,kBACA,IAAIf;AAAA,kBACJ,OAAOS,EAAagB,EAAM,OAAOpB,CAAY;AAAA,kBAC7C,UAAU,CAACuB,MAAY;AACrB,oBAAAd,EAAec,GAASvB,CAAY;AAAA,kBACtC;AAAA,kBACA,WAAW;AAAA,oBACT,WAAW;AAAA,sBACT,OAAO,CAAC,CAACqB,EAAW;AAAA,sBACpB,aAAYG,IAAAH,EAAW,UAAX,gBAAAG,EAAkB;AAAA,sBAC9B,WAAW;AAAA,oBAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAMb,WAAW,EAAE,SAAS5B,EAAA;AAAA,kBAAc;AAAA,gBACtC;AAAA,cAAA;AAAA;AAAA,UACF;AAAA,QAAA,GAGN;AAAA,QACA,gBAAAgB,EAACM,GAAA,EAAK,MAAI,IAAC,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,WAAU,UAAS,UAAA,KAElE;AAAA,QAIA,gBAAAN,EAACM,GAAA,EAAK,MAAI,IAAC,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,KAC1C,UAAA,gBAAAN;AAAA,UAACO;AAAA,UAAA;AAAA,YACC,SAAApB;AAAA,YACA,MAAME,EAAW;AAAA,YACjB,cAAcA,EAAW;AAAA,YACzB,QAAQ,CAAC,EAAE,OAAAmB,GAAO,YAAAC,QAAW;;AAC3B,qCAAAT;AAAA,gBAACU;AAAA,gBAAA;AAAA,kBACE,GAAGF;AAAA,kBACJ,QAAQlB;AAAA,kBACR,OAAAQ;AAAA,kBACA,IAAIf;AAAA,kBACJ,OAAOS,EAAagB,EAAM,OAAOnB,CAAU;AAAA,kBAC3C,UAAU,CAACsB,MAAY;AAErB,oBACErB,MAAeuB,KACfF,MAAY,QACZ,CAACH,EAAM,UAEPG,IAAUG,EAAIH,GAAS;AAAA,sBACrB,OAAO;AAAA,sBACP,SAAS;AAAA,sBACT,SAAS;AAAA,oBAAA,CACV,IAEHd,EAAec,GAAStB,CAAU;AAAA,kBACpC;AAAA,kBACA,WAAW;AAAA,oBACT,WAAW;AAAA,sBACT,OAAO,CAAC,CAACoB,EAAW;AAAA,sBACpB,aAAYG,IAAAH,EAAW,UAAX,gBAAAG,EAAkB;AAAA,sBAC9B,WAAW;AAAA,oBAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAMb,WAAW,EAAE,SAAS5B,EAAA;AAAA,kBAAc;AAAA,gBACtC;AAAA,cAAA;AAAA;AAAA,UACF;AAAA,QAAA,EAEJ,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const o=require("react/jsx-runtime"),e=require("../../react.esm-
|
|
1
|
+
"use strict";const o=require("react/jsx-runtime"),e=require("../../react.esm-DGuy6Rn3.cjs"),n=require("react-hook-form"),c=require("./index.cjs.js");describe("RangeDatePickerController component",()=>{it("renders date pickers with correct default values (date-only format)",async()=>{const{result:t}=e.renderHook(()=>n.useForm()),{control:a,setValue:r}=t.current;e.render(o.jsx(c.RangeDatePickerController,{control:a,fromDateInfo:{name:"fromDate",defaultValue:"2024-03-01"},toDateInfo:{name:"toDate",defaultValue:"2024-03-15"},dateFormat:"yyyy-MM-dd",setValue:r}));const s=await e.screen.findByDisplayValue("2024-03-01"),u=await e.screen.findByDisplayValue("2024-03-15");expect(s).toBeInTheDocument(),expect(u).toBeInTheDocument()}),it("renders date pickers with correct default values (datetime format)",async()=>{const{result:t}=e.renderHook(()=>n.useForm()),{control:a,setValue:r}=t.current;e.render(o.jsx(c.RangeDatePickerController,{control:a,fromDateInfo:{name:"fromDate",defaultValue:"2024/03/01 00:00:00"},toDateInfo:{name:"toDate",defaultValue:"2024/03/15 23:59:59"},dateFormat:"yyyy/MM/dd HH:mm:ss",setValue:r})),expect(await e.screen.findByDisplayValue("2024/03/01 00:00:00")).toBeInTheDocument(),expect(await e.screen.findByDisplayValue("2024/03/15 23:59:59")).toBeInTheDocument()})});
|
|
2
2
|
//# sourceMappingURL=index.test.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/RangeDatePickerController/index.test.tsx"],"sourcesContent":["import { render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { RangeDatePickerController } from \".\";\n\ndescribe(\"RangeDatePickerController component\", () => {\n it(\"renders date pickers with correct default values (date-only format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <RangeDatePickerController\n control={control}\n fromDateInfo={{ name: \"fromDate\", defaultValue: \"2024-03-01\" }}\n toDateInfo={{ name: \"toDate\", defaultValue: \"2024-03-15\" }}\n dateFormat=\"yyyy-MM-dd\"\n setValue={setValue}\n />,\n );\n\n const fromDateInput = await screen.findByDisplayValue(\"2024-03-01\");\n const toDateInput = await screen.findByDisplayValue(\"2024-03-15\");\n\n expect(fromDateInput).toBeInTheDocument();\n expect(toDateInput).toBeInTheDocument();\n });\n\n it(\"renders date pickers with correct default values (datetime format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <RangeDatePickerController\n control={control}\n fromDateInfo={{\n name: \"fromDate\",\n defaultValue: \"2024/03/01 00:00:00\",\n }}\n toDateInfo={{\n name: \"toDate\",\n defaultValue: \"2024/03/15 23:59:59\",\n }}\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 expect(\n await screen.findByDisplayValue(\"2024/03/15 23:59:59\"),\n ).toBeInTheDocument();\n });\n});\n"],"names":["result","renderHook","useForm","control","setValue","render","jsx","RangeDatePickerController","fromDateInput","screen","toDateInput"],"mappings":"qJAKA,SAAS,sCAAuC,IAAM,CACpD,GAAG,sEAAuE,SAAY,CACpF,KAAM,CAAE,OAAAA,
|
|
1
|
+
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/RangeDatePickerController/index.test.tsx"],"sourcesContent":["import { render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { RangeDatePickerController } from \".\";\n\ndescribe(\"RangeDatePickerController component\", () => {\n it(\"renders date pickers with correct default values (date-only format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <RangeDatePickerController\n control={control}\n fromDateInfo={{ name: \"fromDate\", defaultValue: \"2024-03-01\" }}\n toDateInfo={{ name: \"toDate\", defaultValue: \"2024-03-15\" }}\n dateFormat=\"yyyy-MM-dd\"\n setValue={setValue}\n />,\n );\n\n const fromDateInput = await screen.findByDisplayValue(\"2024-03-01\");\n const toDateInput = await screen.findByDisplayValue(\"2024-03-15\");\n\n expect(fromDateInput).toBeInTheDocument();\n expect(toDateInput).toBeInTheDocument();\n });\n\n it(\"renders date pickers with correct default values (datetime format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <RangeDatePickerController\n control={control}\n fromDateInfo={{\n name: \"fromDate\",\n defaultValue: \"2024/03/01 00:00:00\",\n }}\n toDateInfo={{\n name: \"toDate\",\n defaultValue: \"2024/03/15 23:59:59\",\n }}\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 expect(\n await screen.findByDisplayValue(\"2024/03/15 23:59:59\"),\n ).toBeInTheDocument();\n });\n});\n"],"names":["result","renderHook","useForm","control","setValue","render","jsx","RangeDatePickerController","fromDateInput","screen","toDateInput"],"mappings":"qJAKA,SAAS,sCAAuC,IAAM,CACpD,GAAG,sEAAuE,SAAY,CACpF,KAAM,CAAE,OAAAA,CAAA,EAAWC,aAAW,IAAMC,EAAAA,SAAS,EACvC,CAAE,QAAAC,EAAS,SAAAC,CAAA,EAAaJ,EAAO,QAErCK,EAAAA,OACEC,EAAAA,IAACC,EAAAA,0BAAA,CACC,QAAAJ,EACA,aAAc,CAAE,KAAM,WAAY,aAAc,YAAA,EAChD,WAAY,CAAE,KAAM,SAAU,aAAc,YAAA,EAC5C,WAAW,aACX,SAAAC,CAAA,CAAA,CACF,EAGF,MAAMI,EAAgB,MAAMC,SAAO,mBAAmB,YAAY,EAC5DC,EAAc,MAAMD,SAAO,mBAAmB,YAAY,EAEhE,OAAOD,CAAa,EAAE,kBAAA,EACtB,OAAOE,CAAW,EAAE,kBAAA,CACtB,CAAC,EAED,GAAG,qEAAsE,SAAY,CACnF,KAAM,CAAE,OAAAV,CAAA,EAAWC,aAAW,IAAMC,EAAAA,SAAS,EACvC,CAAE,QAAAC,EAAS,SAAAC,CAAA,EAAaJ,EAAO,QAErCK,EAAAA,OACEC,EAAAA,IAACC,EAAAA,0BAAA,CACC,QAAAJ,EACA,aAAc,CACZ,KAAM,WACN,aAAc,qBAAA,EAEhB,WAAY,CACV,KAAM,SACN,aAAc,qBAAA,EAEhB,WAAW,sBACX,SAAAC,CAAA,CAAA,CACF,EAGF,OACE,MAAMK,EAAAA,OAAO,mBAAmB,qBAAqB,CAAA,EACrD,kBAAA,EACF,OACE,MAAMA,EAAAA,OAAO,mBAAmB,qBAAqB,CAAA,EACrD,kBAAA,CACJ,CAAC,CACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { a as n, r as s, s as e } from "../../react.esm-
|
|
2
|
+
import { a as n, r as s, s as e } from "../../react.esm-BBESb8eI.js";
|
|
3
3
|
import { useForm as c } from "react-hook-form";
|
|
4
4
|
import { RangeDatePickerController as l } from "./index.es.js";
|
|
5
5
|
describe("RangeDatePickerController component", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.es.js","sources":["../../../src/components/RangeDatePickerController/index.test.tsx"],"sourcesContent":["import { render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { RangeDatePickerController } from \".\";\n\ndescribe(\"RangeDatePickerController component\", () => {\n it(\"renders date pickers with correct default values (date-only format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <RangeDatePickerController\n control={control}\n fromDateInfo={{ name: \"fromDate\", defaultValue: \"2024-03-01\" }}\n toDateInfo={{ name: \"toDate\", defaultValue: \"2024-03-15\" }}\n dateFormat=\"yyyy-MM-dd\"\n setValue={setValue}\n />,\n );\n\n const fromDateInput = await screen.findByDisplayValue(\"2024-03-01\");\n const toDateInput = await screen.findByDisplayValue(\"2024-03-15\");\n\n expect(fromDateInput).toBeInTheDocument();\n expect(toDateInput).toBeInTheDocument();\n });\n\n it(\"renders date pickers with correct default values (datetime format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <RangeDatePickerController\n control={control}\n fromDateInfo={{\n name: \"fromDate\",\n defaultValue: \"2024/03/01 00:00:00\",\n }}\n toDateInfo={{\n name: \"toDate\",\n defaultValue: \"2024/03/15 23:59:59\",\n }}\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 expect(\n await screen.findByDisplayValue(\"2024/03/15 23:59:59\"),\n ).toBeInTheDocument();\n });\n});\n"],"names":["result","renderHook","useForm","control","setValue","render","jsx","RangeDatePickerController","fromDateInput","screen","toDateInput"],"mappings":";;;;AAKA,SAAS,uCAAuC,MAAM;AACpD,KAAG,uEAAuE,YAAY;AACpF,UAAM,EAAE,QAAAA,
|
|
1
|
+
{"version":3,"file":"index.test.es.js","sources":["../../../src/components/RangeDatePickerController/index.test.tsx"],"sourcesContent":["import { render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { RangeDatePickerController } from \".\";\n\ndescribe(\"RangeDatePickerController component\", () => {\n it(\"renders date pickers with correct default values (date-only format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <RangeDatePickerController\n control={control}\n fromDateInfo={{ name: \"fromDate\", defaultValue: \"2024-03-01\" }}\n toDateInfo={{ name: \"toDate\", defaultValue: \"2024-03-15\" }}\n dateFormat=\"yyyy-MM-dd\"\n setValue={setValue}\n />,\n );\n\n const fromDateInput = await screen.findByDisplayValue(\"2024-03-01\");\n const toDateInput = await screen.findByDisplayValue(\"2024-03-15\");\n\n expect(fromDateInput).toBeInTheDocument();\n expect(toDateInput).toBeInTheDocument();\n });\n\n it(\"renders date pickers with correct default values (datetime format)\", async () => {\n const { result } = renderHook(() => useForm());\n const { control, setValue } = result.current;\n\n render(\n <RangeDatePickerController\n control={control}\n fromDateInfo={{\n name: \"fromDate\",\n defaultValue: \"2024/03/01 00:00:00\",\n }}\n toDateInfo={{\n name: \"toDate\",\n defaultValue: \"2024/03/15 23:59:59\",\n }}\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 expect(\n await screen.findByDisplayValue(\"2024/03/15 23:59:59\"),\n ).toBeInTheDocument();\n });\n});\n"],"names":["result","renderHook","useForm","control","setValue","render","jsx","RangeDatePickerController","fromDateInput","screen","toDateInput"],"mappings":";;;;AAKA,SAAS,uCAAuC,MAAM;AACpD,KAAG,uEAAuE,YAAY;AACpF,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,cAAc,EAAE,MAAM,YAAY,cAAc,aAAA;AAAA,UAChD,YAAY,EAAE,MAAM,UAAU,cAAc,aAAA;AAAA,UAC5C,YAAW;AAAA,UACX,UAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAGF,UAAMI,IAAgB,MAAMC,EAAO,mBAAmB,YAAY,GAC5DC,IAAc,MAAMD,EAAO,mBAAmB,YAAY;AAEhE,WAAOD,CAAa,EAAE,kBAAA,GACtB,OAAOE,CAAW,EAAE,kBAAA;AAAA,EACtB,CAAC,GAED,GAAG,sEAAsE,YAAY;AACnF,UAAM,EAAE,QAAAV,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,cAAc;AAAA,YACZ,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB,YAAY;AAAA,YACV,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB,YAAW;AAAA,UACX,UAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF,GAGF;AAAA,MACE,MAAMK,EAAO,mBAAmB,qBAAqB;AAAA,IAAA,EACrD,kBAAA,GACF;AAAA,MACE,MAAMA,EAAO,mBAAmB,qBAAqB;AAAA,IAAA,EACrD,kBAAA;AAAA,EACJ,CAAC;AACH,CAAC;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../../assets/
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../../assets/index26.css');const e=require("react/jsx-runtime"),o=require("@mui/material"),d="_reportCard_wox0s_1",n="_reportBox_wox0s_8",i="_reportLabel_wox0s_14",p="_reportValue_wox0s_17",r={reportCard:d,reportBox:n,reportLabel:i,reportValue:p},l=c=>{const{value:t,label:s,labelPosition:a="bottom"}=c;return e.jsx(o.Card,{className:r.reportCard,children:e.jsx(o.Box,{className:r.reportBox,children:e.jsxs(o.Grid,{children:[a==="bottom"&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:r.reportValue,children:t}),e.jsx("div",{className:r.reportLabel,children:s})]}),a==="top"&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:r.reportLabel,children:s}),e.jsx("div",{className:r.reportValue,children:t})]})]})})})};exports.ReportCard=l;exports.default=l;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/ReportCard/index.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\nimport { Box, Card, Grid } from \"@mui/material\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props = {\n value: string | ReactNode;\n label: string | ReactNode;\n labelPosition?: \"top\" | \"bottom\";\n};\n\n/**\n * ダッシュボード用のレポート表示(値の直接表示)用のカードです。\n * 項目名と値のみを表示します。\n * labelPositionで項目名の表示位置を指定できます。\n */\nexport const ReportCard = (props: Props) => {\n const { value, label, labelPosition = \"bottom\" } = props;\n return (\n <Card className={styles.reportCard}>\n <Box className={styles.reportBox}>\n <Grid>\n {labelPosition === \"bottom\" && (\n <>\n <div className={styles.reportValue}>{value}</div>\n <div className={styles.reportLabel}>{label}</div>\n </>\n )}\n {labelPosition === \"top\" && (\n <>\n <div className={styles.reportLabel}>{label}</div>\n <div className={styles.reportValue}>{value}</div>\n </>\n )}\n </Grid>\n </Box>\n </Card>\n );\n};\n\nexport default ReportCard;\n"],"names":["ReportCard","props","value","label","labelPosition","jsx","Card","styles","Box","jsxs","Grid","Fragment"],"mappings":"wUAgBaA,EAAcC,GAAiB,CAC1C,KAAM,CAAE,MAAAC,EAAO,MAAAC,EAAO,cAAAC,EAAgB,
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/ReportCard/index.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\nimport { Box, Card, Grid } from \"@mui/material\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props = {\n value: string | ReactNode;\n label: string | ReactNode;\n labelPosition?: \"top\" | \"bottom\";\n};\n\n/**\n * ダッシュボード用のレポート表示(値の直接表示)用のカードです。\n * 項目名と値のみを表示します。\n * labelPositionで項目名の表示位置を指定できます。\n */\nexport const ReportCard = (props: Props) => {\n const { value, label, labelPosition = \"bottom\" } = props;\n return (\n <Card className={styles.reportCard}>\n <Box className={styles.reportBox}>\n <Grid>\n {labelPosition === \"bottom\" && (\n <>\n <div className={styles.reportValue}>{value}</div>\n <div className={styles.reportLabel}>{label}</div>\n </>\n )}\n {labelPosition === \"top\" && (\n <>\n <div className={styles.reportLabel}>{label}</div>\n <div className={styles.reportValue}>{value}</div>\n </>\n )}\n </Grid>\n </Box>\n </Card>\n );\n};\n\nexport default ReportCard;\n"],"names":["ReportCard","props","value","label","labelPosition","jsx","Card","styles","Box","jsxs","Grid","Fragment"],"mappings":"wUAgBaA,EAAcC,GAAiB,CAC1C,KAAM,CAAE,MAAAC,EAAO,MAAAC,EAAO,cAAAC,EAAgB,UAAaH,EACnD,OACEI,EAAAA,IAACC,EAAAA,KAAA,CAAK,UAAWC,EAAO,WACtB,SAAAF,EAAAA,IAACG,EAAAA,IAAA,CAAI,UAAWD,EAAO,UACrB,SAAAE,OAACC,EAAAA,KAAA,CACE,SAAA,CAAAN,IAAkB,UACjBK,EAAAA,KAAAE,EAAAA,SAAA,CACE,SAAA,CAAAN,EAAAA,IAAC,MAAA,CAAI,UAAWE,EAAO,YAAc,SAAAL,EAAM,EAC3CG,EAAAA,IAAC,MAAA,CAAI,UAAWE,EAAO,YAAc,SAAAJ,CAAA,CAAM,CAAA,EAC7C,EAEDC,IAAkB,OACjBK,EAAAA,KAAAE,EAAAA,SAAA,CACE,SAAA,CAAAN,EAAAA,IAAC,MAAA,CAAI,UAAWE,EAAO,YAAc,SAAAJ,EAAM,EAC3CE,EAAAA,IAAC,MAAA,CAAI,UAAWE,EAAO,YAAc,SAAAL,CAAA,CAAM,CAAA,CAAA,CAC7C,CAAA,CAAA,CAEJ,EACF,EACF,CAEJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as r, jsxs as o, Fragment as s } from "react/jsx-runtime";
|
|
2
2
|
import { Card as c, Box as d, Grid as n } from "@mui/material";
|
|
3
|
-
import '../../assets/
|
|
3
|
+
import '../../assets/index26.css';const i = "_reportCard_wox0s_1", m = "_reportBox_wox0s_8", x = "_reportLabel_wox0s_14", _ = "_reportValue_wox0s_17", e = {
|
|
4
4
|
reportCard: i,
|
|
5
5
|
reportBox: m,
|
|
6
6
|
reportLabel: x,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../src/components/ReportCard/index.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\nimport { Box, Card, Grid } from \"@mui/material\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props = {\n value: string | ReactNode;\n label: string | ReactNode;\n labelPosition?: \"top\" | \"bottom\";\n};\n\n/**\n * ダッシュボード用のレポート表示(値の直接表示)用のカードです。\n * 項目名と値のみを表示します。\n * labelPositionで項目名の表示位置を指定できます。\n */\nexport const ReportCard = (props: Props) => {\n const { value, label, labelPosition = \"bottom\" } = props;\n return (\n <Card className={styles.reportCard}>\n <Box className={styles.reportBox}>\n <Grid>\n {labelPosition === \"bottom\" && (\n <>\n <div className={styles.reportValue}>{value}</div>\n <div className={styles.reportLabel}>{label}</div>\n </>\n )}\n {labelPosition === \"top\" && (\n <>\n <div className={styles.reportLabel}>{label}</div>\n <div className={styles.reportValue}>{value}</div>\n </>\n )}\n </Grid>\n </Box>\n </Card>\n );\n};\n\nexport default ReportCard;\n"],"names":["ReportCard","props","value","label","labelPosition","jsx","Card","styles","Box","jsxs","Grid","Fragment"],"mappings":";;;;;;;GAgBaA,IAAa,CAACC,MAAiB;AAC1C,QAAM,EAAE,OAAAC,GAAO,OAAAC,GAAO,eAAAC,IAAgB,
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../src/components/ReportCard/index.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\nimport { Box, Card, Grid } from \"@mui/material\";\n\nimport styles from \"./index.module.scss\";\n\ntype Props = {\n value: string | ReactNode;\n label: string | ReactNode;\n labelPosition?: \"top\" | \"bottom\";\n};\n\n/**\n * ダッシュボード用のレポート表示(値の直接表示)用のカードです。\n * 項目名と値のみを表示します。\n * labelPositionで項目名の表示位置を指定できます。\n */\nexport const ReportCard = (props: Props) => {\n const { value, label, labelPosition = \"bottom\" } = props;\n return (\n <Card className={styles.reportCard}>\n <Box className={styles.reportBox}>\n <Grid>\n {labelPosition === \"bottom\" && (\n <>\n <div className={styles.reportValue}>{value}</div>\n <div className={styles.reportLabel}>{label}</div>\n </>\n )}\n {labelPosition === \"top\" && (\n <>\n <div className={styles.reportLabel}>{label}</div>\n <div className={styles.reportValue}>{value}</div>\n </>\n )}\n </Grid>\n </Box>\n </Card>\n );\n};\n\nexport default ReportCard;\n"],"names":["ReportCard","props","value","label","labelPosition","jsx","Card","styles","Box","jsxs","Grid","Fragment"],"mappings":";;;;;;;GAgBaA,IAAa,CAACC,MAAiB;AAC1C,QAAM,EAAE,OAAAC,GAAO,OAAAC,GAAO,eAAAC,IAAgB,aAAaH;AACnD,SACE,gBAAAI,EAACC,GAAA,EAAK,WAAWC,EAAO,YACtB,UAAA,gBAAAF,EAACG,GAAA,EAAI,WAAWD,EAAO,WACrB,UAAA,gBAAAE,EAACC,GAAA,EACE,UAAA;AAAA,IAAAN,MAAkB,YACjB,gBAAAK,EAAAE,GAAA,EACE,UAAA;AAAA,MAAA,gBAAAN,EAAC,OAAA,EAAI,WAAWE,EAAO,aAAc,UAAAL,GAAM;AAAA,MAC3C,gBAAAG,EAAC,OAAA,EAAI,WAAWE,EAAO,aAAc,UAAAJ,EAAA,CAAM;AAAA,IAAA,GAC7C;AAAA,IAEDC,MAAkB,SACjB,gBAAAK,EAAAE,GAAA,EACE,UAAA;AAAA,MAAA,gBAAAN,EAAC,OAAA,EAAI,WAAWE,EAAO,aAAc,UAAAJ,GAAM;AAAA,MAC3C,gBAAAE,EAAC,OAAA,EAAI,WAAWE,EAAO,aAAc,UAAAL,EAAA,CAAM;AAAA,IAAA,EAAA,CAC7C;AAAA,EAAA,EAAA,CAEJ,GACF,GACF;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const o=require("react/jsx-runtime"),s=require("@mui/material"),t=require("../../react.esm-
|
|
1
|
+
"use strict";const o=require("react/jsx-runtime"),s=require("@mui/material"),t=require("../../react.esm-DGuy6Rn3.cjs"),a=require("./index.cjs.js");describe("ReportCard component",()=>{it("renders ReportCard component with given label string and value string",async()=>{t.render(o.jsx(a.ReportCard,{value:"値",label:"ラベル"}));const r=t.screen.getByText("値");expect(r).toBeInTheDocument();const e=t.screen.getByText("ラベル");expect(e).toBeInTheDocument()}),it("renders ReportCard component with given label element and value element",async()=>{t.render(o.jsx(a.ReportCard,{value:o.jsx(s.Typography,{children:"値"}),label:o.jsx(s.Typography,{children:"ラベル"})}));const r=t.screen.getByText("値");expect(r).toBeInTheDocument();const e=t.screen.getByText("ラベル");expect(e).toBeInTheDocument()}),it("renders with label at the bottom by default",async()=>{var n;const{container:r}=t.render(o.jsx(a.ReportCard,{value:"値",label:"ラベル"})),e=(n=r.querySelector(".MuiGrid-root"))==null?void 0:n.children;expect(e==null?void 0:e[0]).toHaveClass("reportValue"),expect(e==null?void 0:e[1]).toHaveClass("reportLabel")}),it("renders with label at the top when labelPosition is set to top",async()=>{var n;const{container:r}=t.render(o.jsx(a.ReportCard,{value:"値",label:"ラベル",labelPosition:"top"})),e=(n=r.querySelector(".MuiGrid-root"))==null?void 0:n.children;expect(e==null?void 0:e[0]).toHaveClass("reportLabel"),expect(e==null?void 0:e[1]).toHaveClass("reportValue")})});
|
|
2
2
|
//# sourceMappingURL=index.test.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/ReportCard/index.test.tsx"],"sourcesContent":["import { Typography } from \"@mui/material\";\nimport { render, screen } from \"@testing-library/react\";\n\nimport { ReportCard } from \".\";\n\ndescribe(\"ReportCard component\", () => {\n it(\"renders ReportCard component with given label string and value string\", async () => {\n render(<ReportCard value=\"値\" label=\"ラベル\" />);\n\n const valueElement = screen.getByText(\"値\");\n expect(valueElement).toBeInTheDocument();\n\n const labelElement = screen.getByText(\"ラベル\");\n expect(labelElement).toBeInTheDocument();\n });\n\n it(\"renders ReportCard component with given label element and value element\", async () => {\n render(\n <ReportCard\n value={<Typography>値</Typography>}\n label={<Typography>ラベル</Typography>}\n />,\n );\n\n const valueElement = screen.getByText(\"値\");\n expect(valueElement).toBeInTheDocument();\n\n const labelElement = screen.getByText(\"ラベル\");\n expect(labelElement).toBeInTheDocument();\n });\n\n it(\"renders with label at the bottom by default\", async () => {\n const { container } = render(<ReportCard value=\"値\" label=\"ラベル\" />);\n const children = container.querySelector(\".MuiGrid-root\")?.children;\n expect(children?.[0]).toHaveClass(\"reportValue\");\n expect(children?.[1]).toHaveClass(\"reportLabel\");\n });\n\n it(\"renders with label at the top when labelPosition is set to top\", async () => {\n const { container } = render(\n <ReportCard value=\"値\" label=\"ラベル\" labelPosition=\"top\" />,\n );\n const children = container.querySelector(\".MuiGrid-root\")?.children;\n expect(children?.[0]).toHaveClass(\"reportLabel\");\n expect(children?.[1]).toHaveClass(\"reportValue\");\n });\n});\n"],"names":["render","ReportCard","valueElement","screen","labelElement","jsx","Typography","container","children","_a"],"mappings":"mJAKA,SAAS,uBAAwB,IAAM,CACrC,GAAG,wEAAyE,SAAY,CACtFA,eAAQC,EAAAA,
|
|
1
|
+
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/ReportCard/index.test.tsx"],"sourcesContent":["import { Typography } from \"@mui/material\";\nimport { render, screen } from \"@testing-library/react\";\n\nimport { ReportCard } from \".\";\n\ndescribe(\"ReportCard component\", () => {\n it(\"renders ReportCard component with given label string and value string\", async () => {\n render(<ReportCard value=\"値\" label=\"ラベル\" />);\n\n const valueElement = screen.getByText(\"値\");\n expect(valueElement).toBeInTheDocument();\n\n const labelElement = screen.getByText(\"ラベル\");\n expect(labelElement).toBeInTheDocument();\n });\n\n it(\"renders ReportCard component with given label element and value element\", async () => {\n render(\n <ReportCard\n value={<Typography>値</Typography>}\n label={<Typography>ラベル</Typography>}\n />,\n );\n\n const valueElement = screen.getByText(\"値\");\n expect(valueElement).toBeInTheDocument();\n\n const labelElement = screen.getByText(\"ラベル\");\n expect(labelElement).toBeInTheDocument();\n });\n\n it(\"renders with label at the bottom by default\", async () => {\n const { container } = render(<ReportCard value=\"値\" label=\"ラベル\" />);\n const children = container.querySelector(\".MuiGrid-root\")?.children;\n expect(children?.[0]).toHaveClass(\"reportValue\");\n expect(children?.[1]).toHaveClass(\"reportLabel\");\n });\n\n it(\"renders with label at the top when labelPosition is set to top\", async () => {\n const { container } = render(\n <ReportCard value=\"値\" label=\"ラベル\" labelPosition=\"top\" />,\n );\n const children = container.querySelector(\".MuiGrid-root\")?.children;\n expect(children?.[0]).toHaveClass(\"reportLabel\");\n expect(children?.[1]).toHaveClass(\"reportValue\");\n });\n});\n"],"names":["render","ReportCard","valueElement","screen","labelElement","jsx","Typography","container","children","_a"],"mappings":"mJAKA,SAAS,uBAAwB,IAAM,CACrC,GAAG,wEAAyE,SAAY,CACtFA,eAAQC,EAAAA,WAAA,CAAW,MAAM,IAAI,MAAM,MAAM,CAAE,EAE3C,MAAMC,EAAeC,EAAAA,OAAO,UAAU,GAAG,EACzC,OAAOD,CAAY,EAAE,kBAAA,EAErB,MAAME,EAAeD,EAAAA,OAAO,UAAU,KAAK,EAC3C,OAAOC,CAAY,EAAE,kBAAA,CACvB,CAAC,EAED,GAAG,0EAA2E,SAAY,CACxFJ,EAAAA,OACEK,EAAAA,IAACJ,EAAAA,WAAA,CACC,MAAOI,EAAAA,IAACC,EAAAA,WAAA,CAAW,SAAA,GAAA,CAAC,EACpB,MAAOD,EAAAA,IAACC,EAAAA,WAAA,CAAW,SAAA,KAAA,CAAG,CAAA,CAAA,CACxB,EAGF,MAAMJ,EAAeC,EAAAA,OAAO,UAAU,GAAG,EACzC,OAAOD,CAAY,EAAE,kBAAA,EAErB,MAAME,EAAeD,EAAAA,OAAO,UAAU,KAAK,EAC3C,OAAOC,CAAY,EAAE,kBAAA,CACvB,CAAC,EAED,GAAG,8CAA+C,SAAY,OAC5D,KAAM,CAAE,UAAAG,CAAA,EAAcP,EAAAA,OAAOK,MAACJ,EAAAA,YAAW,MAAM,IAAI,MAAM,KAAA,CAAM,CAAE,EAC3DO,GAAWC,EAAAF,EAAU,cAAc,eAAe,IAAvC,YAAAE,EAA0C,SAC3D,OAAOD,GAAA,YAAAA,EAAW,EAAE,EAAE,YAAY,aAAa,EAC/C,OAAOA,GAAA,YAAAA,EAAW,EAAE,EAAE,YAAY,aAAa,CACjD,CAAC,EAED,GAAG,iEAAkE,SAAY,OAC/E,KAAM,CAAE,UAAAD,GAAcP,EAAAA,aACnBC,EAAAA,WAAA,CAAW,MAAM,IAAI,MAAM,MAAM,cAAc,KAAA,CAAM,CAAA,EAElDO,GAAWC,EAAAF,EAAU,cAAc,eAAe,IAAvC,YAAAE,EAA0C,SAC3D,OAAOD,GAAA,YAAAA,EAAW,EAAE,EAAE,YAAY,aAAa,EAC/C,OAAOA,GAAA,YAAAA,EAAW,EAAE,EAAE,YAAY,aAAa,CACjD,CAAC,CACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
2
|
import { Typography as s } from "@mui/material";
|
|
3
|
-
import { r as n, s as r } from "../../react.esm-
|
|
3
|
+
import { r as n, s as r } from "../../react.esm-BBESb8eI.js";
|
|
4
4
|
import { ReportCard as l } from "./index.es.js";
|
|
5
5
|
describe("ReportCard component", () => {
|
|
6
6
|
it("renders ReportCard component with given label string and value string", async () => {
|