@jigowatts/jigowatts-ui 1.1.7 → 1.1.9
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/_commonjsHelpers-DKOUU3wS.cjs +2 -0
- package/dist/_commonjsHelpers-DKOUU3wS.cjs.map +1 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js +9 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js.map +1 -0
- 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/index33.css +1 -1
- package/dist/assets/index34.css +1 -1
- package/dist/assets/index4.css +1 -1
- package/dist/assets/index5.css +1 -1
- package/dist/assets/index6.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 +1 -1
- package/dist/components/Button/index.cjs.js.map +1 -1
- package/dist/components/Button/index.es.js +5 -5
- 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 +6 -6
- 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 +27 -27
- 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 +18 -18
- 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 +14 -14
- 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 +7 -7
- package/dist/components/CardWithTitle/index.test.es.js.map +1 -1
- 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 +7 -7
- 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 +9 -9
- 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 +91 -96
- 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 +25 -25
- 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.es.js +29 -28
- 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 +3 -3
- 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 +7 -7
- 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 +7 -7
- 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 +6 -6
- 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 +6 -6
- 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 +15 -15
- 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 +8 -8
- 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 +15 -15
- 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 +10 -10
- 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 +7 -7
- 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 +7 -7
- 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 +8 -8
- 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 +5 -5
- 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 +8 -8
- 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 +2 -2
- 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 +7 -7
- 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 +15 -15
- 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 +9 -9
- package/dist/components/Input/index.test.es.js.map +1 -1
- package/dist/components/InputController/index.cjs.js +1 -1
- package/dist/components/InputController/index.cjs.js.map +1 -1
- package/dist/components/InputController/index.es.js +29 -29
- 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 +14 -14
- 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 +7 -7
- 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 +7 -7
- 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 +8 -8
- 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 +7 -7
- 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 +17 -17
- 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 +4 -4
- package/dist/components/LabeledContent/index.test.es.js.map +1 -1
- package/dist/components/LoadingOverlay/index.cjs.js +1 -5
- package/dist/components/LoadingOverlay/index.cjs.js.map +1 -1
- package/dist/components/LoadingOverlay/index.es.js +7 -127
- 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 +7 -7
- 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 +174 -174
- 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 +9 -9
- 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 +9 -9
- package/dist/components/MaxWidthContainer/index.test.es.js.map +1 -1
- package/dist/components/NumericFieldController/index.cjs.js +1 -1
- package/dist/components/NumericFieldController/index.cjs.js.map +1 -1
- package/dist/components/NumericFieldController/index.es.js +31 -31
- 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 +3 -3
- 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 +12 -23
- 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 +25 -25
- package/dist/components/PageSizeSelector/index.es.js.map +1 -1
- package/dist/components/Pagination/index.cjs.js +2 -1
- package/dist/components/Pagination/index.cjs.js.map +1 -1
- package/dist/components/Pagination/index.es.js +305 -5
- 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 +5 -5
- package/dist/components/Pagination/index.test.es.js.map +1 -1
- package/dist/components/PasswordInputController/index.cjs.js +1 -1
- package/dist/components/PasswordInputController/index.cjs.js.map +1 -1
- package/dist/components/PasswordInputController/index.es.js +31 -47
- 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 +4 -4
- 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 +2 -2
- 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 +18 -18
- package/dist/components/RadioButton/index.test.es.js.map +1 -1
- package/dist/components/RadioGroupController/index.cjs.js +1 -1
- package/dist/components/RadioGroupController/index.cjs.js.map +1 -1
- package/dist/components/RadioGroupController/index.es.js +19 -19
- 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 +4 -4
- 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 +12 -11
- package/dist/components/RangeDatePicker/index.es.js.map +1 -1
- package/dist/components/RangeDatePickerController/index.cjs.js +1 -1
- package/dist/components/RangeDatePickerController/index.cjs.js.map +1 -1
- package/dist/components/RangeDatePickerController/index.es.js +32 -31
- 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 +8 -8
- 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 +17 -17
- 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 +8 -8
- 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 +22 -22
- 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 +26 -26
- 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 +7 -7
- package/dist/components/ReportChartMulti/index.test.es.js.map +1 -1
- package/dist/components/ScrollableDialog/index.cjs.js +1 -1
- package/dist/components/ScrollableDialog/index.cjs.js.map +1 -1
- package/dist/components/ScrollableDialog/index.es.js +15 -15
- 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 +19 -20
- package/dist/components/ScrollableDialog/index.test.es.js.map +1 -1
- package/dist/components/SearchForm/index.cjs.js +1 -1
- package/dist/components/SearchForm/index.cjs.js.map +1 -1
- package/dist/components/SearchForm/index.es.js +39 -48
- 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 +2 -2
- 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 +16 -16
- package/dist/components/SelectBox/index.test.es.js.map +1 -1
- package/dist/components/SelectBoxController/index.cjs.js +1 -1
- package/dist/components/SelectBoxController/index.cjs.js.map +1 -1
- package/dist/components/SelectBoxController/index.es.js +44 -44
- 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 +12 -12
- package/dist/components/SelectBoxController/index.test.es.js.map +1 -1
- package/dist/components/SideMenu/index.cjs.js +1 -14
- package/dist/components/SideMenu/index.cjs.js.map +1 -1
- package/dist/components/SideMenu/index.es.js +61 -1745
- 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 +11 -11
- package/dist/components/SideMenu/index.test.es.js.map +1 -1
- package/dist/components/SpinnerButton/index.cjs.js +1 -1
- package/dist/components/SpinnerButton/index.cjs.js.map +1 -1
- package/dist/components/SpinnerButton/index.es.js +3 -3
- 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 +9 -9
- package/dist/components/SpinnerButton/index.test.es.js.map +1 -1
- package/dist/components/SubMenu/index.cjs.js +1 -1
- package/dist/components/SubMenu/index.cjs.js.map +1 -1
- package/dist/components/SubMenu/index.es.js +32 -32
- 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 +16 -16
- package/dist/components/SubMenu/index.test.es.js.map +1 -1
- package/dist/components/Tabs/index.cjs.js +1 -1
- package/dist/components/Tabs/index.cjs.js.map +1 -1
- package/dist/components/Tabs/index.es.js +18 -18
- 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 +13 -13
- package/dist/components/Tabs/index.test.es.js.map +1 -1
- package/dist/components/Textarea/index.cjs.js +1 -1
- package/dist/components/Textarea/index.cjs.js.map +1 -1
- package/dist/components/Textarea/index.es.js +15 -15
- 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 +7 -7
- 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 +8 -8
- 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 +6 -6
- package/dist/components/Title/index.test.es.js.map +1 -1
- package/dist/components/ToggleButton/index.cjs.js +1 -1
- package/dist/components/ToggleButton/index.cjs.js.map +1 -1
- package/dist/components/ToggleButton/index.es.js +22 -22
- 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 +10 -10
- package/dist/components/ToggleButton/index.test.es.js.map +1 -1
- package/dist/components/VStack/index.cjs.js +1 -1
- package/dist/components/VStack/index.cjs.js.map +1 -1
- package/dist/components/VStack/index.es.js +3 -3
- 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 +8 -8
- package/dist/components/VStack/index.test.es.js.map +1 -1
- package/dist/index-B663CLQ0.cjs +2 -0
- package/dist/{index-DOtVVz6D.cjs.map → index-B663CLQ0.cjs.map} +1 -1
- package/dist/{index-DwYqI3bz.cjs → index-BHsZ5xlA.cjs} +2 -2
- package/dist/{index-DwYqI3bz.cjs.map → index-BHsZ5xlA.cjs.map} +1 -1
- package/dist/{index-DD-KSgEi.cjs → index-BoNIpBs7.cjs} +4 -4
- package/dist/{index-DD-KSgEi.cjs.map → index-BoNIpBs7.cjs.map} +1 -1
- package/dist/{index-0ocAFlwM.cjs → index-BpMSrIOq.cjs} +2 -2
- package/dist/{index-0ocAFlwM.cjs.map → index-BpMSrIOq.cjs.map} +1 -1
- package/dist/{index-DgMRcQ1J.js → index-BqN32Ptm.js} +6 -6
- package/dist/{index-DgMRcQ1J.js.map → index-BqN32Ptm.js.map} +1 -1
- package/dist/{index-CKlK963j.cjs → index-C50NsnJO.cjs} +2 -2
- package/dist/{index-CKlK963j.cjs.map → index-C50NsnJO.cjs.map} +1 -1
- package/dist/index-CCbJ_2yU.cjs +2 -0
- package/dist/{index-CC8i8yVF.cjs.map → index-CCbJ_2yU.cjs.map} +1 -1
- package/dist/index-CSiE_l9r.js +51 -0
- package/dist/{index-BFpfBoIf.js.map → index-CSiE_l9r.js.map} +1 -1
- package/dist/{index-Cm_1lb-3.js → index-D5b3AasF.js} +2 -2
- package/dist/{index-Cm_1lb-3.js.map → index-D5b3AasF.js.map} +1 -1
- package/dist/{index-BWKwvsbv.js → index-DCSLk6pp.js} +2 -2
- package/dist/{index-BWKwvsbv.js.map → index-DCSLk6pp.js.map} +1 -1
- package/dist/{index-LAxM3Vwk.js → index-ZP4xL6Dt.js} +3 -3
- package/dist/{index-LAxM3Vwk.js.map → index-ZP4xL6Dt.js.map} +1 -1
- package/dist/index-pr0ncuNy.js +35 -0
- package/dist/{index-B4IV6BB3.js.map → index-pr0ncuNy.js.map} +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +90 -87
- package/dist/index.es.js.map +1 -1
- package/dist/{react.esm-BL1KU4o5.js → react.esm-2FJSSo-S.js} +2829 -3959
- package/dist/react.esm-2FJSSo-S.js.map +1 -0
- package/dist/react.esm-CiMn0Rnx.cjs +73 -0
- package/dist/react.esm-CiMn0Rnx.cjs.map +1 -0
- package/package.json +1 -1
- package/dist/Clear-CyYcHjou.js +0 -15
- package/dist/Clear-CyYcHjou.js.map +0 -1
- package/dist/Clear-DsR7N4Q8.cjs +0 -2
- package/dist/Clear-DsR7N4Q8.cjs.map +0 -1
- package/dist/ExpandMore-BwxQSgiA.js +0 -15
- package/dist/ExpandMore-BwxQSgiA.js.map +0 -1
- package/dist/ExpandMore-WGCtrXpN.cjs +0 -2
- package/dist/ExpandMore-WGCtrXpN.cjs.map +0 -1
- package/dist/LocalizationProvider-4-QUqEIG.js +0 -161
- package/dist/LocalizationProvider-4-QUqEIG.js.map +0 -1
- package/dist/LocalizationProvider-CVNn6-0m.cjs +0 -3
- package/dist/LocalizationProvider-CVNn6-0m.cjs.map +0 -1
- package/dist/_commonjsHelpers-BkfeUUK-.js +0 -29
- package/dist/_commonjsHelpers-BkfeUUK-.js.map +0 -1
- package/dist/_commonjsHelpers-DwTZ_eVU.cjs +0 -2
- package/dist/_commonjsHelpers-DwTZ_eVU.cjs.map +0 -1
- package/dist/createSvgIcon-DO5XgE_n.cjs +0 -28
- package/dist/createSvgIcon-DO5XgE_n.cjs.map +0 -1
- package/dist/createSvgIcon-DhxOl24O.js +0 -1550
- package/dist/createSvgIcon-DhxOl24O.js.map +0 -1
- package/dist/extends-GhUDsoav.cjs +0 -2
- package/dist/extends-GhUDsoav.cjs.map +0 -1
- package/dist/extends-hS2Bh-Yp.js +0 -13
- package/dist/extends-hS2Bh-Yp.js.map +0 -1
- package/dist/index-B4IV6BB3.js +0 -35
- package/dist/index-BFpfBoIf.js +0 -51
- package/dist/index-BPja4eo8.cjs +0 -3
- package/dist/index-BPja4eo8.cjs.map +0 -1
- package/dist/index-CC8i8yVF.cjs +0 -2
- package/dist/index-COE1iIM7.cjs +0 -4
- package/dist/index-COE1iIM7.cjs.map +0 -1
- package/dist/index-DOtVVz6D.cjs +0 -2
- package/dist/index-F101coZ0.js +0 -4355
- package/dist/index-F101coZ0.js.map +0 -1
- package/dist/index-IKsAEDzd.js +0 -369
- package/dist/index-IKsAEDzd.js.map +0 -1
- package/dist/jsx-runtime-CbmOdJhC.js +0 -616
- package/dist/jsx-runtime-CbmOdJhC.js.map +0 -1
- package/dist/jsx-runtime-Dajn0hD2.cjs +0 -26
- package/dist/jsx-runtime-Dajn0hD2.cjs.map +0 -1
- package/dist/link-DvineOMa.js +0 -1880
- package/dist/link-DvineOMa.js.map +0 -1
- package/dist/link-Dz7XpBNS.cjs +0 -5
- package/dist/link-Dz7XpBNS.cjs.map +0 -1
- package/dist/react.esm-BL1KU4o5.js.map +0 -1
- package/dist/react.esm-DzAzWxXs.cjs +0 -91
- package/dist/react.esm-DzAzWxXs.cjs.map +0 -1
- package/dist/resolveProps-BbPxVWKC.cjs +0 -43
- package/dist/resolveProps-BbPxVWKC.cjs.map +0 -1
- package/dist/resolveProps-uiOkGxuE.js +0 -2244
- package/dist/resolveProps-uiOkGxuE.js.map +0 -1
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as t } from "../../react.esm-
|
|
3
|
-
import "../../index-
|
|
1
|
+
import { jsxs as o, jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { r as t } from "../../react.esm-2FJSSo-S.js";
|
|
3
|
+
import "../../index-DCSLk6pp.js";
|
|
4
4
|
import { HStack as c } from "./index.es.js";
|
|
5
5
|
describe("HStack Component", () => {
|
|
6
6
|
it("renders its children", () => {
|
|
7
7
|
const { getByText: e } = t(
|
|
8
|
-
/* @__PURE__ */
|
|
9
|
-
/* @__PURE__ */ i
|
|
10
|
-
/* @__PURE__ */ i
|
|
8
|
+
/* @__PURE__ */ o(c, { children: [
|
|
9
|
+
/* @__PURE__ */ i("div", { children: "Child 1" }),
|
|
10
|
+
/* @__PURE__ */ i("div", { children: "Child 2" })
|
|
11
11
|
] })
|
|
12
12
|
);
|
|
13
13
|
expect(e("Child 1")).toBeInTheDocument(), expect(e("Child 2")).toBeInTheDocument();
|
|
14
14
|
}), it("applies default gap spacing", () => {
|
|
15
15
|
const { container: e } = t(
|
|
16
|
-
/* @__PURE__ */ i
|
|
16
|
+
/* @__PURE__ */ i(c, { children: /* @__PURE__ */ i("div", { children: "Child" }) })
|
|
17
17
|
);
|
|
18
18
|
expect(e.firstChild).toHaveStyle("gap: 24px");
|
|
19
19
|
}), it("applies custom gap spacing", () => {
|
|
20
20
|
const { container: n } = t(
|
|
21
|
-
/* @__PURE__ */ i
|
|
21
|
+
/* @__PURE__ */ i(c, { spacing: 10, children: /* @__PURE__ */ i("div", { children: "Child" }) })
|
|
22
22
|
);
|
|
23
23
|
expect(n.firstChild).toHaveStyle("gap: 10px");
|
|
24
24
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.es.js","sources":["../../../src/components/HStack/index.test.tsx"],"sourcesContent":["import { render } from \"@testing-library/react\";\n\nimport \"@testing-library/jest-dom\";\n\nimport { HStack } from \".\";\n\ndescribe(\"HStack Component\", () => {\n it(\"renders its children\", () => {\n const { getByText } = render(\n <HStack>\n <div>Child 1</div>\n <div>Child 2</div>\n </HStack>,\n );\n\n expect(getByText(\"Child 1\")).toBeInTheDocument();\n expect(getByText(\"Child 2\")).toBeInTheDocument();\n });\n\n it(\"applies default gap spacing\", () => {\n const { container } = render(\n <HStack>\n <div>Child</div>\n </HStack>,\n );\n\n expect(container.firstChild).toHaveStyle(\"gap: 24px\");\n });\n\n it(\"applies custom gap spacing\", () => {\n const customSpacing = 10;\n const { container } = render(\n <HStack spacing={customSpacing}>\n <div>Child</div>\n </HStack>,\n );\n\n expect(container.firstChild).toHaveStyle(`gap: ${customSpacing}px`);\n });\n});\n"],"names":["getByText","render","HStack","jsx","container"],"mappings":";;;;AAMA,SAAS,oBAAoB,MAAM;AACjC,KAAG,wBAAwB,MAAM;AACzB,UAAA,EAAE,WAAAA,MAAcC;AAAA,
|
|
1
|
+
{"version":3,"file":"index.test.es.js","sources":["../../../src/components/HStack/index.test.tsx"],"sourcesContent":["import { render } from \"@testing-library/react\";\n\nimport \"@testing-library/jest-dom\";\n\nimport { HStack } from \".\";\n\ndescribe(\"HStack Component\", () => {\n it(\"renders its children\", () => {\n const { getByText } = render(\n <HStack>\n <div>Child 1</div>\n <div>Child 2</div>\n </HStack>,\n );\n\n expect(getByText(\"Child 1\")).toBeInTheDocument();\n expect(getByText(\"Child 2\")).toBeInTheDocument();\n });\n\n it(\"applies default gap spacing\", () => {\n const { container } = render(\n <HStack>\n <div>Child</div>\n </HStack>,\n );\n\n expect(container.firstChild).toHaveStyle(\"gap: 24px\");\n });\n\n it(\"applies custom gap spacing\", () => {\n const customSpacing = 10;\n const { container } = render(\n <HStack spacing={customSpacing}>\n <div>Child</div>\n </HStack>,\n );\n\n expect(container.firstChild).toHaveStyle(`gap: ${customSpacing}px`);\n });\n});\n"],"names":["getByText","render","HStack","jsx","container"],"mappings":";;;;AAMA,SAAS,oBAAoB,MAAM;AACjC,KAAG,wBAAwB,MAAM;AACzB,UAAA,EAAE,WAAAA,MAAcC;AAAA,wBACnBC,GACC,EAAA,UAAA;AAAA,QAAA,gBAAAC,EAAC,SAAI,UAAO,UAAA,CAAA;AAAA,QACZ,gBAAAA,EAAC,SAAI,UAAO,UAAA,CAAA;AAAA,MAAA,EACd,CAAA;AAAA,IACF;AAEA,WAAOH,EAAU,SAAS,CAAC,EAAE,kBAAkB,GAC/C,OAAOA,EAAU,SAAS,CAAC,EAAE,kBAAkB;AAAA,EAAA,CAChD,GAED,GAAG,+BAA+B,MAAM;AAChC,UAAA,EAAE,WAAAI,MAAcH;AAAA,MACnB,gBAAAE,EAAAD,GAAA,EACC,UAAC,gBAAAC,EAAA,OAAA,EAAI,mBAAK,EACZ,CAAA;AAAA,IACF;AAEA,WAAOC,EAAU,UAAU,EAAE,YAAY,WAAW;AAAA,EAAA,CACrD,GAED,GAAG,8BAA8B,MAAM;AAE/B,UAAA,EAAE,WAAAA,MAAcH;AAAA,wBACnBC,GAAO,EAAA,SAAS,IACf,UAAC,gBAAAC,EAAA,OAAA,EAAI,kBAAK,CAAA,EACZ,CAAA;AAAA,IACF;AAEA,WAAOC,EAAU,UAAU,EAAE,YAAY,WAAyB;AAAA,EAAA,CACnE;AACH,CAAC;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("react/jsx-runtime");const e=require("../../index-BoNIpBs7.cjs");exports.HtmlRenderer=e.HtmlRenderer;exports.default=e.HtmlRenderer;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const i=require("
|
|
1
|
+
"use strict";const i=require("react/jsx-runtime"),s=require("../../react.esm-CiMn0Rnx.cjs"),r=require("../../index-BoNIpBs7.cjs");jest.mock("dompurify",()=>({sanitize:jest.fn(e=>e)}));beforeEach(()=>{r.purify.sanitize.mockClear()});describe("HtmlRenderer",()=>{it("renders sanitized HTML",()=>{const e="<div><h1>Title</h1><p>This is some <strong>HTML</strong> content.</p></div>",{container:t}=s.render(i.jsx(r.HtmlRenderer,{html:e}));expect(r.purify.sanitize).toHaveBeenCalledWith(e),expect(t.innerHTML).toContain("<h1>Title</h1>"),expect(t.innerHTML).toContain("<p>This is some <strong>HTML</strong> content.</p>")}),it("sanitizes dangerous HTML",()=>{const e='<img src="x" onerror="alert(1)" />',t='<img src="x">';r.purify.sanitize.mockReturnValueOnce(t);const{container:n}=s.render(i.jsx(r.HtmlRenderer,{html:e}));expect(r.purify.sanitize).toHaveBeenCalledWith(e),expect(n.innerHTML).toContain(t)}),it("renders iframe with raw HTML when useIframe is true",()=>{const e="<html><body><h1>Iframe Content</h1></body></html>",{container:t}=s.render(i.jsx(r.HtmlRenderer,{html:e,useIframe:!0}));expect(r.purify.sanitize).not.toHaveBeenCalled();const n=t.querySelector("iframe");expect(n).toBeInTheDocument(),expect(n==null?void 0:n.getAttribute("srcdoc")).toBe(e)}),it("applies iframeWidth and iframeHeight",()=>{const e="<p>Custom size</p>",t="999px",n="888px",{container:c}=s.render(i.jsx(r.HtmlRenderer,{html:e,useIframe:!0,iframeWidth:t,iframeHeight:n})),o=c.querySelector("iframe");expect(o).toHaveStyle(`width: ${t}`),expect(o).toHaveStyle(`height: ${n}`)})});
|
|
2
2
|
//# sourceMappingURL=index.test.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/HtmlRenderer/index.test.tsx"],"sourcesContent":["import { render } from \"@testing-library/react\";\nimport DOMPurify from \"dompurify\";\n\nimport HtmlRenderer from \".\";\n\njest.mock(\"dompurify\", () => ({\n sanitize: jest.fn((html) => html),\n}));\n\nbeforeEach(() => {\n (DOMPurify.sanitize as jest.Mock).mockClear();\n});\n\ndescribe(\"HtmlRenderer\", () => {\n it(\"renders sanitized HTML\", () => {\n const rawHtml =\n \"<div><h1>Title</h1><p>This is some <strong>HTML</strong> content.</p></div>\";\n const { container } = render(<HtmlRenderer html={rawHtml} />);\n\n expect(DOMPurify.sanitize).toHaveBeenCalledWith(rawHtml);\n\n expect(container.innerHTML).toContain(\"<h1>Title</h1>\");\n expect(container.innerHTML).toContain(\n \"<p>This is some <strong>HTML</strong> content.</p>\",\n );\n });\n\n it(\"sanitizes dangerous HTML\", () => {\n const dangerousHtml = '<img src=\"x\" onerror=\"alert(1)\" />';\n const sanitizedHtml = '<img src=\"x\">';\n\n (DOMPurify.sanitize as jest.Mock).mockReturnValueOnce(sanitizedHtml);\n\n const { container } = render(<HtmlRenderer html={dangerousHtml} />);\n\n expect(DOMPurify.sanitize).toHaveBeenCalledWith(dangerousHtml);\n\n expect(container.innerHTML).toContain(sanitizedHtml);\n });\n\n it(\"renders iframe with raw HTML when useIframe is true\", () => {\n const html = \"<html><body><h1>Iframe Content</h1></body></html>\";\n const { container } = render(<HtmlRenderer html={html} useIframe />);\n\n expect(DOMPurify.sanitize).not.toHaveBeenCalled();\n\n const iframe = container.querySelector(\"iframe\");\n expect(iframe).toBeInTheDocument();\n expect(iframe?.getAttribute(\"srcdoc\")).toBe(html);\n });\n\n it(\"applies iframeWidth and iframeHeight\", () => {\n const html = \"<p>Custom size</p>\";\n const width = \"999px\";\n const height = \"888px\";\n\n const { container } = render(\n <HtmlRenderer\n html={html}\n useIframe\n iframeWidth={width}\n iframeHeight={height}\n />,\n );\n\n const iframe = container.querySelector(\"iframe\");\n expect(iframe).toHaveStyle(`width: ${width}`);\n expect(iframe).toHaveStyle(`height: ${height}`);\n });\n});\n"],"names":["html","DOMPurify","rawHtml","container","render","HtmlRenderer","dangerousHtml","sanitizedHtml","iframe","width","height","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/HtmlRenderer/index.test.tsx"],"sourcesContent":["import { render } from \"@testing-library/react\";\nimport DOMPurify from \"dompurify\";\n\nimport HtmlRenderer from \".\";\n\njest.mock(\"dompurify\", () => ({\n sanitize: jest.fn((html) => html),\n}));\n\nbeforeEach(() => {\n (DOMPurify.sanitize as jest.Mock).mockClear();\n});\n\ndescribe(\"HtmlRenderer\", () => {\n it(\"renders sanitized HTML\", () => {\n const rawHtml =\n \"<div><h1>Title</h1><p>This is some <strong>HTML</strong> content.</p></div>\";\n const { container } = render(<HtmlRenderer html={rawHtml} />);\n\n expect(DOMPurify.sanitize).toHaveBeenCalledWith(rawHtml);\n\n expect(container.innerHTML).toContain(\"<h1>Title</h1>\");\n expect(container.innerHTML).toContain(\n \"<p>This is some <strong>HTML</strong> content.</p>\",\n );\n });\n\n it(\"sanitizes dangerous HTML\", () => {\n const dangerousHtml = '<img src=\"x\" onerror=\"alert(1)\" />';\n const sanitizedHtml = '<img src=\"x\">';\n\n (DOMPurify.sanitize as jest.Mock).mockReturnValueOnce(sanitizedHtml);\n\n const { container } = render(<HtmlRenderer html={dangerousHtml} />);\n\n expect(DOMPurify.sanitize).toHaveBeenCalledWith(dangerousHtml);\n\n expect(container.innerHTML).toContain(sanitizedHtml);\n });\n\n it(\"renders iframe with raw HTML when useIframe is true\", () => {\n const html = \"<html><body><h1>Iframe Content</h1></body></html>\";\n const { container } = render(<HtmlRenderer html={html} useIframe />);\n\n expect(DOMPurify.sanitize).not.toHaveBeenCalled();\n\n const iframe = container.querySelector(\"iframe\");\n expect(iframe).toBeInTheDocument();\n expect(iframe?.getAttribute(\"srcdoc\")).toBe(html);\n });\n\n it(\"applies iframeWidth and iframeHeight\", () => {\n const html = \"<p>Custom size</p>\";\n const width = \"999px\";\n const height = \"888px\";\n\n const { container } = render(\n <HtmlRenderer\n html={html}\n useIframe\n iframeWidth={width}\n iframeHeight={height}\n />,\n );\n\n const iframe = container.querySelector(\"iframe\");\n expect(iframe).toHaveStyle(`width: ${width}`);\n expect(iframe).toHaveStyle(`height: ${height}`);\n });\n});\n"],"names":["html","DOMPurify","rawHtml","container","render","HtmlRenderer","dangerousHtml","sanitizedHtml","iframe","width","height","jsx"],"mappings":"kIAKA,KAAK,KAAK,YAAa,KAAO,CAC5B,SAAU,KAAK,GAAIA,GAASA,CAAI,CAClC,EAAE,EAEF,WAAW,IAAM,CACdC,EAAA,OAAU,SAAuB,UAAU,CAC9C,CAAC,EAED,SAAS,eAAgB,IAAM,CAC7B,GAAG,yBAA0B,IAAM,CACjC,MAAMC,EACJ,8EACI,CAAE,UAAAC,CAAc,EAAAC,eAAQC,EAAAA,aAAa,CAAA,KAAMH,EAAS,CAAE,EAE5D,OAAOD,EAAAA,OAAU,QAAQ,EAAE,qBAAqBC,CAAO,EAEvD,OAAOC,EAAU,SAAS,EAAE,UAAU,gBAAgB,EAC/C,OAAAA,EAAU,SAAS,EAAE,UAC1B,oDACF,CAAA,CACD,EAED,GAAG,2BAA4B,IAAM,CACnC,MAAMG,EAAgB,qCAChBC,EAAgB,gBAErBN,SAAU,SAAuB,oBAAoBM,CAAa,EAE7D,KAAA,CAAE,UAAAJ,CAAc,EAAAC,eAAQC,EAAAA,aAAa,CAAA,KAAMC,EAAe,CAAE,EAElE,OAAOL,EAAAA,OAAU,QAAQ,EAAE,qBAAqBK,CAAa,EAE7D,OAAOH,EAAU,SAAS,EAAE,UAAUI,CAAa,CAAA,CACpD,EAED,GAAG,sDAAuD,IAAM,CAC9D,MAAMP,EAAO,oDACP,CAAE,UAAAG,GAAcC,EAAAA,aAAQC,eAAa,CAAA,KAAAL,EAAY,UAAS,EAAA,CAAC,CAAE,EAEnE,OAAOC,EAAAA,OAAU,QAAQ,EAAE,IAAI,iBAAiB,EAE1C,MAAAO,EAASL,EAAU,cAAc,QAAQ,EACxC,OAAAK,CAAM,EAAE,kBAAkB,EACjC,OAAOA,GAAA,YAAAA,EAAQ,aAAa,SAAS,EAAE,KAAKR,CAAI,CAAA,CACjD,EAED,GAAG,uCAAwC,IAAM,CAC/C,MAAMA,EAAO,qBACPS,EAAQ,QACRC,EAAS,QAET,CAAE,UAAAP,GAAcC,EAAA,OACpBO,EAAA,IAACN,EAAA,aAAA,CACC,KAAAL,EACA,UAAS,GACT,YAAaS,EACb,aAAcC,CAAA,CAAA,CAElB,EAEMF,EAASL,EAAU,cAAc,QAAQ,EAC/C,OAAOK,CAAM,EAAE,YAAY,UAAUC,CAAK,EAAE,EAC5C,OAAOD,CAAM,EAAE,YAAY,WAAWE,CAAM,EAAE,CAAA,CAC/C,CACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as o } from "../../react.esm-
|
|
3
|
-
import { p as i, H as s } from "../../index-
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { r as o } from "../../react.esm-2FJSSo-S.js";
|
|
3
|
+
import { p as i, H as s } from "../../index-BqN32Ptm.js";
|
|
4
4
|
jest.mock("dompurify", () => ({
|
|
5
5
|
sanitize: jest.fn((e) => e)
|
|
6
6
|
}));
|
|
@@ -9,23 +9,23 @@ beforeEach(() => {
|
|
|
9
9
|
});
|
|
10
10
|
describe("HtmlRenderer", () => {
|
|
11
11
|
it("renders sanitized HTML", () => {
|
|
12
|
-
const e = "<div><h1>Title</h1><p>This is some <strong>HTML</strong> content.</p></div>", { container: t } = o(/* @__PURE__ */ r
|
|
12
|
+
const e = "<div><h1>Title</h1><p>This is some <strong>HTML</strong> content.</p></div>", { container: t } = o(/* @__PURE__ */ r(s, { html: e }));
|
|
13
13
|
expect(i.sanitize).toHaveBeenCalledWith(e), expect(t.innerHTML).toContain("<h1>Title</h1>"), expect(t.innerHTML).toContain(
|
|
14
14
|
"<p>This is some <strong>HTML</strong> content.</p>"
|
|
15
15
|
);
|
|
16
16
|
}), it("sanitizes dangerous HTML", () => {
|
|
17
17
|
const e = '<img src="x" onerror="alert(1)" />', t = '<img src="x">';
|
|
18
18
|
i.sanitize.mockReturnValueOnce(t);
|
|
19
|
-
const { container: n } = o(/* @__PURE__ */ r
|
|
19
|
+
const { container: n } = o(/* @__PURE__ */ r(s, { html: e }));
|
|
20
20
|
expect(i.sanitize).toHaveBeenCalledWith(e), expect(n.innerHTML).toContain(t);
|
|
21
21
|
}), it("renders iframe with raw HTML when useIframe is true", () => {
|
|
22
|
-
const e = "<html><body><h1>Iframe Content</h1></body></html>", { container: t } = o(/* @__PURE__ */ r
|
|
22
|
+
const e = "<html><body><h1>Iframe Content</h1></body></html>", { container: t } = o(/* @__PURE__ */ r(s, { html: e, useIframe: !0 }));
|
|
23
23
|
expect(i.sanitize).not.toHaveBeenCalled();
|
|
24
24
|
const n = t.querySelector("iframe");
|
|
25
25
|
expect(n).toBeInTheDocument(), expect(n == null ? void 0 : n.getAttribute("srcdoc")).toBe(e);
|
|
26
26
|
}), it("applies iframeWidth and iframeHeight", () => {
|
|
27
27
|
const e = "<p>Custom size</p>", t = "999px", n = "888px", { container: c } = o(
|
|
28
|
-
/* @__PURE__ */ r
|
|
28
|
+
/* @__PURE__ */ r(
|
|
29
29
|
s,
|
|
30
30
|
{
|
|
31
31
|
html: e,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.es.js","sources":["../../../src/components/HtmlRenderer/index.test.tsx"],"sourcesContent":["import { render } from \"@testing-library/react\";\nimport DOMPurify from \"dompurify\";\n\nimport HtmlRenderer from \".\";\n\njest.mock(\"dompurify\", () => ({\n sanitize: jest.fn((html) => html),\n}));\n\nbeforeEach(() => {\n (DOMPurify.sanitize as jest.Mock).mockClear();\n});\n\ndescribe(\"HtmlRenderer\", () => {\n it(\"renders sanitized HTML\", () => {\n const rawHtml =\n \"<div><h1>Title</h1><p>This is some <strong>HTML</strong> content.</p></div>\";\n const { container } = render(<HtmlRenderer html={rawHtml} />);\n\n expect(DOMPurify.sanitize).toHaveBeenCalledWith(rawHtml);\n\n expect(container.innerHTML).toContain(\"<h1>Title</h1>\");\n expect(container.innerHTML).toContain(\n \"<p>This is some <strong>HTML</strong> content.</p>\",\n );\n });\n\n it(\"sanitizes dangerous HTML\", () => {\n const dangerousHtml = '<img src=\"x\" onerror=\"alert(1)\" />';\n const sanitizedHtml = '<img src=\"x\">';\n\n (DOMPurify.sanitize as jest.Mock).mockReturnValueOnce(sanitizedHtml);\n\n const { container } = render(<HtmlRenderer html={dangerousHtml} />);\n\n expect(DOMPurify.sanitize).toHaveBeenCalledWith(dangerousHtml);\n\n expect(container.innerHTML).toContain(sanitizedHtml);\n });\n\n it(\"renders iframe with raw HTML when useIframe is true\", () => {\n const html = \"<html><body><h1>Iframe Content</h1></body></html>\";\n const { container } = render(<HtmlRenderer html={html} useIframe />);\n\n expect(DOMPurify.sanitize).not.toHaveBeenCalled();\n\n const iframe = container.querySelector(\"iframe\");\n expect(iframe).toBeInTheDocument();\n expect(iframe?.getAttribute(\"srcdoc\")).toBe(html);\n });\n\n it(\"applies iframeWidth and iframeHeight\", () => {\n const html = \"<p>Custom size</p>\";\n const width = \"999px\";\n const height = \"888px\";\n\n const { container } = render(\n <HtmlRenderer\n html={html}\n useIframe\n iframeWidth={width}\n iframeHeight={height}\n />,\n );\n\n const iframe = container.querySelector(\"iframe\");\n expect(iframe).toHaveStyle(`width: ${width}`);\n expect(iframe).toHaveStyle(`height: ${height}`);\n });\n});\n"],"names":["html","DOMPurify","rawHtml","container","render","HtmlRenderer","dangerousHtml","sanitizedHtml","iframe","width","height","jsx"],"mappings":";;;AAKA,KAAK,KAAK,aAAa,OAAO;AAAA,EAC5B,UAAU,KAAK,GAAG,CAACA,MAASA,CAAI;AAClC,EAAE;AAEF,WAAW,MAAM;AACdC,EAAAA,EAAU,SAAuB,UAAU;AAC9C,CAAC;AAED,SAAS,gBAAgB,MAAM;AAC7B,KAAG,0BAA0B,MAAM;AACjC,UAAMC,IACJ,+EACI,EAAE,WAAAC,EAAc,IAAAC,
|
|
1
|
+
{"version":3,"file":"index.test.es.js","sources":["../../../src/components/HtmlRenderer/index.test.tsx"],"sourcesContent":["import { render } from \"@testing-library/react\";\nimport DOMPurify from \"dompurify\";\n\nimport HtmlRenderer from \".\";\n\njest.mock(\"dompurify\", () => ({\n sanitize: jest.fn((html) => html),\n}));\n\nbeforeEach(() => {\n (DOMPurify.sanitize as jest.Mock).mockClear();\n});\n\ndescribe(\"HtmlRenderer\", () => {\n it(\"renders sanitized HTML\", () => {\n const rawHtml =\n \"<div><h1>Title</h1><p>This is some <strong>HTML</strong> content.</p></div>\";\n const { container } = render(<HtmlRenderer html={rawHtml} />);\n\n expect(DOMPurify.sanitize).toHaveBeenCalledWith(rawHtml);\n\n expect(container.innerHTML).toContain(\"<h1>Title</h1>\");\n expect(container.innerHTML).toContain(\n \"<p>This is some <strong>HTML</strong> content.</p>\",\n );\n });\n\n it(\"sanitizes dangerous HTML\", () => {\n const dangerousHtml = '<img src=\"x\" onerror=\"alert(1)\" />';\n const sanitizedHtml = '<img src=\"x\">';\n\n (DOMPurify.sanitize as jest.Mock).mockReturnValueOnce(sanitizedHtml);\n\n const { container } = render(<HtmlRenderer html={dangerousHtml} />);\n\n expect(DOMPurify.sanitize).toHaveBeenCalledWith(dangerousHtml);\n\n expect(container.innerHTML).toContain(sanitizedHtml);\n });\n\n it(\"renders iframe with raw HTML when useIframe is true\", () => {\n const html = \"<html><body><h1>Iframe Content</h1></body></html>\";\n const { container } = render(<HtmlRenderer html={html} useIframe />);\n\n expect(DOMPurify.sanitize).not.toHaveBeenCalled();\n\n const iframe = container.querySelector(\"iframe\");\n expect(iframe).toBeInTheDocument();\n expect(iframe?.getAttribute(\"srcdoc\")).toBe(html);\n });\n\n it(\"applies iframeWidth and iframeHeight\", () => {\n const html = \"<p>Custom size</p>\";\n const width = \"999px\";\n const height = \"888px\";\n\n const { container } = render(\n <HtmlRenderer\n html={html}\n useIframe\n iframeWidth={width}\n iframeHeight={height}\n />,\n );\n\n const iframe = container.querySelector(\"iframe\");\n expect(iframe).toHaveStyle(`width: ${width}`);\n expect(iframe).toHaveStyle(`height: ${height}`);\n });\n});\n"],"names":["html","DOMPurify","rawHtml","container","render","HtmlRenderer","dangerousHtml","sanitizedHtml","iframe","width","height","jsx"],"mappings":";;;AAKA,KAAK,KAAK,aAAa,OAAO;AAAA,EAC5B,UAAU,KAAK,GAAG,CAACA,MAASA,CAAI;AAClC,EAAE;AAEF,WAAW,MAAM;AACdC,EAAAA,EAAU,SAAuB,UAAU;AAC9C,CAAC;AAED,SAAS,gBAAgB,MAAM;AAC7B,KAAG,0BAA0B,MAAM;AACjC,UAAMC,IACJ,+EACI,EAAE,WAAAC,EAAc,IAAAC,oBAAQC,GAAa,EAAA,MAAMH,GAAS,CAAE;AAE5D,WAAOD,EAAU,QAAQ,EAAE,qBAAqBC,CAAO,GAEvD,OAAOC,EAAU,SAAS,EAAE,UAAU,gBAAgB,GAC/C,OAAAA,EAAU,SAAS,EAAE;AAAA,MAC1B;AAAA,IACF;AAAA,EAAA,CACD,GAED,GAAG,4BAA4B,MAAM;AACnC,UAAMG,IAAgB,sCAChBC,IAAgB;AAErBN,IAAAA,EAAU,SAAuB,oBAAoBM,CAAa;AAE7D,UAAA,EAAE,WAAAJ,EAAc,IAAAC,oBAAQC,GAAa,EAAA,MAAMC,GAAe,CAAE;AAElE,WAAOL,EAAU,QAAQ,EAAE,qBAAqBK,CAAa,GAE7D,OAAOH,EAAU,SAAS,EAAE,UAAUI,CAAa;AAAA,EAAA,CACpD,GAED,GAAG,uDAAuD,MAAM;AAC9D,UAAMP,IAAO,qDACP,EAAE,WAAAG,MAAcC,oBAAQC,GAAa,EAAA,MAAAL,GAAY,WAAS,GAAA,CAAC,CAAE;AAEnE,WAAOC,EAAU,QAAQ,EAAE,IAAI,iBAAiB;AAE1C,UAAAO,IAASL,EAAU,cAAc,QAAQ;AACxC,WAAAK,CAAM,EAAE,kBAAkB,GACjC,OAAOA,KAAA,gBAAAA,EAAQ,aAAa,SAAS,EAAE,KAAKR,CAAI;AAAA,EAAA,CACjD,GAED,GAAG,wCAAwC,MAAM;AAC/C,UAAMA,IAAO,sBACPS,IAAQ,SACRC,IAAS,SAET,EAAE,WAAAP,MAAcC;AAAA,MACpB,gBAAAO;AAAA,QAACN;AAAA,QAAA;AAAA,UACC,MAAAL;AAAA,UACA,WAAS;AAAA,UACT,aAAaS;AAAA,UACb,cAAcC;AAAA,QAAA;AAAA,MAAA;AAAA,IAElB,GAEMF,IAASL,EAAU,cAAc,QAAQ;AAC/C,WAAOK,CAAM,EAAE,YAAY,UAAUC,CAAK,EAAE,GAC5C,OAAOD,CAAM,EAAE,YAAY,WAAWE,CAAM,EAAE;AAAA,EAAA,CAC/C;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/index20.css');const s=require("react/jsx-runtime"),_=require("classnames"),g="_inputContainer_1gij2_1",m="_input_1gij2_1",d="_error_1gij2_22",j="_errorMessage_1gij2_26",e={inputContainer:g,input:m,error:d,errorMessage:j},t=n=>{const{type:o,id:i,name:a,autoComplete:u,register:c,placeholder:l,maxLength:p,errorMessage:r}=n;return s.jsxs("div",{className:e.inputContainer,children:[s.jsx("input",{type:o,id:i,name:a,autoComplete:u,...c,className:_(e.input,{[e.error]:r}),placeholder:l,maxLength:p}),r&&s.jsx("small",{className:e.errorMessage,children:r})]})};exports.Input=t;exports.default=t;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/Input/index.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport type { UseFormRegisterReturn } from \"react-hook-form\";\n\nimport styles from \"./index.module.scss\";\n\ntype Type = \"text\" | \"number\" | \"password\" | \"email\" | \"tel\";\n\ntype Props = {\n type: Type;\n id?: string;\n name?: string;\n autoComplete?: string;\n register?: UseFormRegisterReturn;\n placeholder?: string;\n maxLength?: number;\n errorMessage?: string;\n};\n\nexport const Input = (props: Props) => {\n const {\n type,\n id,\n name,\n autoComplete,\n register,\n placeholder,\n maxLength,\n errorMessage,\n } = props;\n\n return (\n <div className={styles.inputContainer}>\n <input\n type={type}\n id={id}\n name={name}\n autoComplete={autoComplete}\n {...register}\n className={classnames(styles.input, { [styles.error]: errorMessage })}\n placeholder={placeholder}\n maxLength={maxLength}\n />\n {errorMessage && (\n <small className={styles.errorMessage}>{errorMessage}</small>\n )}\n </div>\n );\n};\n\nexport default Input;\n"],"names":["Input","props","type","id","name","autoComplete","register","placeholder","maxLength","errorMessage","jsxs","styles","jsx","classnames"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/Input/index.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport type { UseFormRegisterReturn } from \"react-hook-form\";\n\nimport styles from \"./index.module.scss\";\n\ntype Type = \"text\" | \"number\" | \"password\" | \"email\" | \"tel\";\n\ntype Props = {\n type: Type;\n id?: string;\n name?: string;\n autoComplete?: string;\n register?: UseFormRegisterReturn;\n placeholder?: string;\n maxLength?: number;\n errorMessage?: string;\n};\n\nexport const Input = (props: Props) => {\n const {\n type,\n id,\n name,\n autoComplete,\n register,\n placeholder,\n maxLength,\n errorMessage,\n } = props;\n\n return (\n <div className={styles.inputContainer}>\n <input\n type={type}\n id={id}\n name={name}\n autoComplete={autoComplete}\n {...register}\n className={classnames(styles.input, { [styles.error]: errorMessage })}\n placeholder={placeholder}\n maxLength={maxLength}\n />\n {errorMessage && (\n <small className={styles.errorMessage}>{errorMessage}</small>\n )}\n </div>\n );\n};\n\nexport default Input;\n"],"names":["Input","props","type","id","name","autoComplete","register","placeholder","maxLength","errorMessage","jsxs","styles","jsx","classnames"],"mappings":"2TAkBaA,EAASC,GAAiB,CAC/B,KAAA,CACJ,KAAAC,EACA,GAAAC,EACA,KAAAC,EACA,aAAAC,EACA,SAAAC,EACA,YAAAC,EACA,UAAAC,EACA,aAAAC,CAAA,EACER,EAEJ,OACGS,EAAAA,KAAA,MAAA,CAAI,UAAWC,EAAO,eACrB,SAAA,CAAAC,EAAA,IAAC,QAAA,CACC,KAAAV,EACA,GAAAC,EACA,KAAAC,EACA,aAAAC,EACC,GAAGC,EACJ,UAAWO,EAAWF,EAAO,MAAO,CAAE,CAACA,EAAO,KAAK,EAAGF,EAAc,EACpE,YAAAF,EACA,UAAAC,CAAA,CACF,EACCC,GACEG,EAAAA,IAAA,QAAA,CAAM,UAAWD,EAAO,aAAe,SAAaF,CAAA,CAAA,CAAA,EAEzD,CAEJ"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import '../../assets/
|
|
4
|
-
inputContainer:
|
|
5
|
-
input:
|
|
6
|
-
error:
|
|
1
|
+
import { jsxs as u, jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import m from "classnames";
|
|
3
|
+
import '../../assets/index20.css';const _ = "_inputContainer_1gij2_1", g = "_input_1gij2_1", d = "_error_1gij2_22", j = "_errorMessage_1gij2_26", r = {
|
|
4
|
+
inputContainer: _,
|
|
5
|
+
input: g,
|
|
6
|
+
error: d,
|
|
7
7
|
errorMessage: j
|
|
8
|
-
},
|
|
8
|
+
}, h = (t) => {
|
|
9
9
|
const {
|
|
10
10
|
type: n,
|
|
11
11
|
id: o,
|
|
@@ -13,11 +13,11 @@ import '../../assets/index17.css';const m = "_inputContainer_1gij2_1", _ = "_inp
|
|
|
13
13
|
autoComplete: i,
|
|
14
14
|
register: p,
|
|
15
15
|
placeholder: c,
|
|
16
|
-
maxLength:
|
|
16
|
+
maxLength: l,
|
|
17
17
|
errorMessage: e
|
|
18
18
|
} = t;
|
|
19
|
-
return /* @__PURE__ */
|
|
20
|
-
/* @__PURE__ */ s
|
|
19
|
+
return /* @__PURE__ */ u("div", { className: r.inputContainer, children: [
|
|
20
|
+
/* @__PURE__ */ s(
|
|
21
21
|
"input",
|
|
22
22
|
{
|
|
23
23
|
type: n,
|
|
@@ -25,16 +25,16 @@ import '../../assets/index17.css';const m = "_inputContainer_1gij2_1", _ = "_inp
|
|
|
25
25
|
name: a,
|
|
26
26
|
autoComplete: i,
|
|
27
27
|
...p,
|
|
28
|
-
className:
|
|
28
|
+
className: m(r.input, { [r.error]: e }),
|
|
29
29
|
placeholder: c,
|
|
30
|
-
maxLength:
|
|
30
|
+
maxLength: l
|
|
31
31
|
}
|
|
32
32
|
),
|
|
33
|
-
e && /* @__PURE__ */ s
|
|
33
|
+
e && /* @__PURE__ */ s("small", { className: r.errorMessage, children: e })
|
|
34
34
|
] });
|
|
35
35
|
};
|
|
36
36
|
export {
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
h as Input,
|
|
38
|
+
h as default
|
|
39
39
|
};
|
|
40
40
|
//# sourceMappingURL=index.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../src/components/Input/index.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport type { UseFormRegisterReturn } from \"react-hook-form\";\n\nimport styles from \"./index.module.scss\";\n\ntype Type = \"text\" | \"number\" | \"password\" | \"email\" | \"tel\";\n\ntype Props = {\n type: Type;\n id?: string;\n name?: string;\n autoComplete?: string;\n register?: UseFormRegisterReturn;\n placeholder?: string;\n maxLength?: number;\n errorMessage?: string;\n};\n\nexport const Input = (props: Props) => {\n const {\n type,\n id,\n name,\n autoComplete,\n register,\n placeholder,\n maxLength,\n errorMessage,\n } = props;\n\n return (\n <div className={styles.inputContainer}>\n <input\n type={type}\n id={id}\n name={name}\n autoComplete={autoComplete}\n {...register}\n className={classnames(styles.input, { [styles.error]: errorMessage })}\n placeholder={placeholder}\n maxLength={maxLength}\n />\n {errorMessage && (\n <small className={styles.errorMessage}>{errorMessage}</small>\n )}\n </div>\n );\n};\n\nexport default Input;\n"],"names":["Input","props","type","id","name","autoComplete","register","placeholder","maxLength","errorMessage","jsxs","styles","jsx","classnames"],"mappings":";;;;;;;GAkBaA,IAAQ,CAACC,MAAiB;AAC/B,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,IAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACER;AAEJ,
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../src/components/Input/index.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport type { UseFormRegisterReturn } from \"react-hook-form\";\n\nimport styles from \"./index.module.scss\";\n\ntype Type = \"text\" | \"number\" | \"password\" | \"email\" | \"tel\";\n\ntype Props = {\n type: Type;\n id?: string;\n name?: string;\n autoComplete?: string;\n register?: UseFormRegisterReturn;\n placeholder?: string;\n maxLength?: number;\n errorMessage?: string;\n};\n\nexport const Input = (props: Props) => {\n const {\n type,\n id,\n name,\n autoComplete,\n register,\n placeholder,\n maxLength,\n errorMessage,\n } = props;\n\n return (\n <div className={styles.inputContainer}>\n <input\n type={type}\n id={id}\n name={name}\n autoComplete={autoComplete}\n {...register}\n className={classnames(styles.input, { [styles.error]: errorMessage })}\n placeholder={placeholder}\n maxLength={maxLength}\n />\n {errorMessage && (\n <small className={styles.errorMessage}>{errorMessage}</small>\n )}\n </div>\n );\n};\n\nexport default Input;\n"],"names":["Input","props","type","id","name","autoComplete","register","placeholder","maxLength","errorMessage","jsxs","styles","jsx","classnames"],"mappings":";;;;;;;GAkBaA,IAAQ,CAACC,MAAiB;AAC/B,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,IAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACER;AAEJ,SACG,gBAAAS,EAAA,OAAA,EAAI,WAAWC,EAAO,gBACrB,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAAV;AAAA,QACA,IAAAC;AAAA,QACA,MAAAC;AAAA,QACA,cAAAC;AAAA,QACC,GAAGC;AAAA,QACJ,WAAWO,EAAWF,EAAO,OAAO,EAAE,CAACA,EAAO,KAAK,GAAGF,GAAc;AAAA,QACpE,aAAAF;AAAA,QACA,WAAAC;AAAA,MAAA;AAAA,IACF;AAAA,IACCC,KACE,gBAAAG,EAAA,SAAA,EAAM,WAAWD,EAAO,cAAe,UAAaF,EAAA,CAAA;AAAA,EAAA,GAEzD;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const a=require("
|
|
1
|
+
"use strict";const a=require("react/jsx-runtime"),r=require("../../react.esm-CiMn0Rnx.cjs"),p=require("./index.cjs.js");describe("Input component",()=>{it("renders an input with the correct type, id, name, autoComplete, placeholder, and maxLength",()=>{const t="text",n="test-id",o="test-name",c="off",s="Test placeholder";r.render(a.jsx(p.Input,{type:t,id:n,name:o,autoComplete:c,placeholder:s,maxLength:10}));const e=r.screen.getByPlaceholderText(s);expect(e).toBeInTheDocument(),expect(e).toHaveAttribute("type",t),expect(e).toHaveAttribute("id",n),expect(e).toHaveAttribute("name",o),expect(e).toHaveAttribute("autoComplete",c),expect(e).toHaveAttribute("placeholder",s),expect(e).toHaveAttribute("maxLength","10")}),it("renders an input with an error message if provided",()=>{const t="Test error message",n="Test placeholder";r.render(a.jsx(p.Input,{type:"text",placeholder:n,errorMessage:t}));const o=r.screen.getByPlaceholderText(n);expect(o).toHaveClass("error");const c=r.screen.getByText(t);expect(c).toBeInTheDocument()})});
|
|
2
2
|
//# sourceMappingURL=index.test.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/Input/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\n\nimport { Input } from \".\";\n\ndescribe(\"Input component\", () => {\n it(\"renders an input with the correct type, id, name, autoComplete, placeholder, and maxLength\", () => {\n const type = \"text\";\n const id = \"test-id\";\n const name = \"test-name\";\n const autoComplete = \"off\";\n const placeholder = \"Test placeholder\";\n const maxLength = 10;\n\n render(\n <Input\n type={type}\n id={id}\n name={name}\n autoComplete={autoComplete}\n placeholder={placeholder}\n maxLength={maxLength}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toBeInTheDocument();\n expect(input).toHaveAttribute(\"type\", type);\n expect(input).toHaveAttribute(\"id\", id);\n expect(input).toHaveAttribute(\"name\", name);\n expect(input).toHaveAttribute(\"autoComplete\", autoComplete);\n expect(input).toHaveAttribute(\"placeholder\", placeholder);\n expect(input).toHaveAttribute(\"maxLength\", maxLength.toString());\n });\n\n it(\"renders an input with an error message if provided\", () => {\n const errorMessage = \"Test error message\";\n const placeholder = \"Test placeholder\";\n\n render(\n <Input\n type=\"text\"\n placeholder={placeholder}\n errorMessage={errorMessage}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toHaveClass(\"error\");\n\n const errorElement = screen.getByText(errorMessage);\n expect(errorElement).toBeInTheDocument();\n });\n\n // it('should be accessible', async () => {\n // const { container } = render(<Input type=\"text\" />);\n // const results = await axe(container);\n\n // expect.extend(toHaveNoViolations);\n // expect(results).toHaveNoViolations();\n // });\n});\n"],"names":["type","id","name","autoComplete","placeholder","render","jsx","Input","input","screen","errorMessage","errorElement"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/Input/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\n\nimport { Input } from \".\";\n\ndescribe(\"Input component\", () => {\n it(\"renders an input with the correct type, id, name, autoComplete, placeholder, and maxLength\", () => {\n const type = \"text\";\n const id = \"test-id\";\n const name = \"test-name\";\n const autoComplete = \"off\";\n const placeholder = \"Test placeholder\";\n const maxLength = 10;\n\n render(\n <Input\n type={type}\n id={id}\n name={name}\n autoComplete={autoComplete}\n placeholder={placeholder}\n maxLength={maxLength}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toBeInTheDocument();\n expect(input).toHaveAttribute(\"type\", type);\n expect(input).toHaveAttribute(\"id\", id);\n expect(input).toHaveAttribute(\"name\", name);\n expect(input).toHaveAttribute(\"autoComplete\", autoComplete);\n expect(input).toHaveAttribute(\"placeholder\", placeholder);\n expect(input).toHaveAttribute(\"maxLength\", maxLength.toString());\n });\n\n it(\"renders an input with an error message if provided\", () => {\n const errorMessage = \"Test error message\";\n const placeholder = \"Test placeholder\";\n\n render(\n <Input\n type=\"text\"\n placeholder={placeholder}\n errorMessage={errorMessage}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toHaveClass(\"error\");\n\n const errorElement = screen.getByText(errorMessage);\n expect(errorElement).toBeInTheDocument();\n });\n\n // it('should be accessible', async () => {\n // const { container } = render(<Input type=\"text\" />);\n // const results = await axe(container);\n\n // expect.extend(toHaveNoViolations);\n // expect(results).toHaveNoViolations();\n // });\n});\n"],"names":["type","id","name","autoComplete","placeholder","render","jsx","Input","input","screen","errorMessage","errorElement"],"mappings":"wHAIA,SAAS,kBAAmB,IAAM,CAChC,GAAG,6FAA8F,IAAM,CACrG,MAAMA,EAAO,OACPC,EAAK,UACLC,EAAO,YACPC,EAAe,MACfC,EAAc,mBAGpBC,EAAA,OACEC,EAAA,IAACC,EAAA,MAAA,CACC,KAAAP,EACA,GAAAC,EACA,KAAAC,EACA,aAAAC,EACA,YAAAC,EACA,YAAA,CAAA,CAEJ,EAEM,MAAAI,EAAQC,EAAAA,OAAO,qBAAqBL,CAAW,EAC9C,OAAAI,CAAK,EAAE,kBAAkB,EAChC,OAAOA,CAAK,EAAE,gBAAgB,OAAQR,CAAI,EAC1C,OAAOQ,CAAK,EAAE,gBAAgB,KAAMP,CAAE,EACtC,OAAOO,CAAK,EAAE,gBAAgB,OAAQN,CAAI,EAC1C,OAAOM,CAAK,EAAE,gBAAgB,eAAgBL,CAAY,EAC1D,OAAOK,CAAK,EAAE,gBAAgB,cAAeJ,CAAW,EACxD,OAAOI,CAAK,EAAE,gBAAgB,YAAa,IAAoB,CAAA,CAChE,EAED,GAAG,qDAAsD,IAAM,CAC7D,MAAME,EAAe,qBACfN,EAAc,mBAEpBC,EAAA,OACEC,EAAA,IAACC,EAAA,MAAA,CACC,KAAK,OACL,YAAAH,EACA,aAAAM,CAAA,CAAA,CAEJ,EAEM,MAAAF,EAAQC,EAAAA,OAAO,qBAAqBL,CAAW,EAC9C,OAAAI,CAAK,EAAE,YAAY,OAAO,EAE3B,MAAAG,EAAeF,EAAAA,OAAO,UAAUC,CAAY,EAC3C,OAAAC,CAAY,EAAE,kBAAkB,CAAA,CACxC,CASH,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as
|
|
1
|
+
import { jsx as p } from "react/jsx-runtime";
|
|
2
|
+
import { r as s, s as c } from "../../react.esm-2FJSSo-S.js";
|
|
3
3
|
import { Input as i } from "./index.es.js";
|
|
4
4
|
describe("Input component", () => {
|
|
5
5
|
it("renders an input with the correct type, id, name, autoComplete, placeholder, and maxLength", () => {
|
|
6
6
|
const t = "text", o = "test-id", r = "test-name", n = "off", a = "Test placeholder";
|
|
7
|
-
|
|
8
|
-
/* @__PURE__ */
|
|
7
|
+
s(
|
|
8
|
+
/* @__PURE__ */ p(
|
|
9
9
|
i,
|
|
10
10
|
{
|
|
11
11
|
type: t,
|
|
@@ -17,12 +17,12 @@ describe("Input component", () => {
|
|
|
17
17
|
}
|
|
18
18
|
)
|
|
19
19
|
);
|
|
20
|
-
const e =
|
|
20
|
+
const e = c.getByPlaceholderText(a);
|
|
21
21
|
expect(e).toBeInTheDocument(), expect(e).toHaveAttribute("type", t), expect(e).toHaveAttribute("id", o), expect(e).toHaveAttribute("name", r), expect(e).toHaveAttribute("autoComplete", n), expect(e).toHaveAttribute("placeholder", a), expect(e).toHaveAttribute("maxLength", "10");
|
|
22
22
|
}), it("renders an input with an error message if provided", () => {
|
|
23
23
|
const t = "Test error message", o = "Test placeholder";
|
|
24
|
-
|
|
25
|
-
/* @__PURE__ */
|
|
24
|
+
s(
|
|
25
|
+
/* @__PURE__ */ p(
|
|
26
26
|
i,
|
|
27
27
|
{
|
|
28
28
|
type: "text",
|
|
@@ -31,9 +31,9 @@ describe("Input component", () => {
|
|
|
31
31
|
}
|
|
32
32
|
)
|
|
33
33
|
);
|
|
34
|
-
const r =
|
|
34
|
+
const r = c.getByPlaceholderText(o);
|
|
35
35
|
expect(r).toHaveClass("error");
|
|
36
|
-
const n =
|
|
36
|
+
const n = c.getByText(t);
|
|
37
37
|
expect(n).toBeInTheDocument();
|
|
38
38
|
});
|
|
39
39
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.es.js","sources":["../../../src/components/Input/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\n\nimport { Input } from \".\";\n\ndescribe(\"Input component\", () => {\n it(\"renders an input with the correct type, id, name, autoComplete, placeholder, and maxLength\", () => {\n const type = \"text\";\n const id = \"test-id\";\n const name = \"test-name\";\n const autoComplete = \"off\";\n const placeholder = \"Test placeholder\";\n const maxLength = 10;\n\n render(\n <Input\n type={type}\n id={id}\n name={name}\n autoComplete={autoComplete}\n placeholder={placeholder}\n maxLength={maxLength}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toBeInTheDocument();\n expect(input).toHaveAttribute(\"type\", type);\n expect(input).toHaveAttribute(\"id\", id);\n expect(input).toHaveAttribute(\"name\", name);\n expect(input).toHaveAttribute(\"autoComplete\", autoComplete);\n expect(input).toHaveAttribute(\"placeholder\", placeholder);\n expect(input).toHaveAttribute(\"maxLength\", maxLength.toString());\n });\n\n it(\"renders an input with an error message if provided\", () => {\n const errorMessage = \"Test error message\";\n const placeholder = \"Test placeholder\";\n\n render(\n <Input\n type=\"text\"\n placeholder={placeholder}\n errorMessage={errorMessage}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toHaveClass(\"error\");\n\n const errorElement = screen.getByText(errorMessage);\n expect(errorElement).toBeInTheDocument();\n });\n\n // it('should be accessible', async () => {\n // const { container } = render(<Input type=\"text\" />);\n // const results = await axe(container);\n\n // expect.extend(toHaveNoViolations);\n // expect(results).toHaveNoViolations();\n // });\n});\n"],"names":["type","id","name","autoComplete","placeholder","render","jsx","Input","input","screen","errorMessage","errorElement"],"mappings":";;;AAIA,SAAS,mBAAmB,MAAM;AAChC,KAAG,8FAA8F,MAAM;AACrG,UAAMA,IAAO,QACPC,IAAK,WACLC,IAAO,aACPC,IAAe,OACfC,IAAc;AAGpB,IAAAC;AAAA,
|
|
1
|
+
{"version":3,"file":"index.test.es.js","sources":["../../../src/components/Input/index.test.tsx"],"sourcesContent":["import { render, screen } from \"@testing-library/react\";\n\nimport { Input } from \".\";\n\ndescribe(\"Input component\", () => {\n it(\"renders an input with the correct type, id, name, autoComplete, placeholder, and maxLength\", () => {\n const type = \"text\";\n const id = \"test-id\";\n const name = \"test-name\";\n const autoComplete = \"off\";\n const placeholder = \"Test placeholder\";\n const maxLength = 10;\n\n render(\n <Input\n type={type}\n id={id}\n name={name}\n autoComplete={autoComplete}\n placeholder={placeholder}\n maxLength={maxLength}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toBeInTheDocument();\n expect(input).toHaveAttribute(\"type\", type);\n expect(input).toHaveAttribute(\"id\", id);\n expect(input).toHaveAttribute(\"name\", name);\n expect(input).toHaveAttribute(\"autoComplete\", autoComplete);\n expect(input).toHaveAttribute(\"placeholder\", placeholder);\n expect(input).toHaveAttribute(\"maxLength\", maxLength.toString());\n });\n\n it(\"renders an input with an error message if provided\", () => {\n const errorMessage = \"Test error message\";\n const placeholder = \"Test placeholder\";\n\n render(\n <Input\n type=\"text\"\n placeholder={placeholder}\n errorMessage={errorMessage}\n />,\n );\n\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toHaveClass(\"error\");\n\n const errorElement = screen.getByText(errorMessage);\n expect(errorElement).toBeInTheDocument();\n });\n\n // it('should be accessible', async () => {\n // const { container } = render(<Input type=\"text\" />);\n // const results = await axe(container);\n\n // expect.extend(toHaveNoViolations);\n // expect(results).toHaveNoViolations();\n // });\n});\n"],"names":["type","id","name","autoComplete","placeholder","render","jsx","Input","input","screen","errorMessage","errorElement"],"mappings":";;;AAIA,SAAS,mBAAmB,MAAM;AAChC,KAAG,8FAA8F,MAAM;AACrG,UAAMA,IAAO,QACPC,IAAK,WACLC,IAAO,aACPC,IAAe,OACfC,IAAc;AAGpB,IAAAC;AAAA,MACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,MAAAP;AAAA,UACA,IAAAC;AAAA,UACA,MAAAC;AAAA,UACA,cAAAC;AAAA,UACA,aAAAC;AAAA,UACA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAEM,UAAAI,IAAQC,EAAO,qBAAqBL,CAAW;AAC9C,WAAAI,CAAK,EAAE,kBAAkB,GAChC,OAAOA,CAAK,EAAE,gBAAgB,QAAQR,CAAI,GAC1C,OAAOQ,CAAK,EAAE,gBAAgB,MAAMP,CAAE,GACtC,OAAOO,CAAK,EAAE,gBAAgB,QAAQN,CAAI,GAC1C,OAAOM,CAAK,EAAE,gBAAgB,gBAAgBL,CAAY,GAC1D,OAAOK,CAAK,EAAE,gBAAgB,eAAeJ,CAAW,GACxD,OAAOI,CAAK,EAAE,gBAAgB,aAAa,IAAoB;AAAA,EAAA,CAChE,GAED,GAAG,sDAAsD,MAAM;AAC7D,UAAME,IAAe,sBACfN,IAAc;AAEpB,IAAAC;AAAA,MACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,aAAAH;AAAA,UACA,cAAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAEM,UAAAF,IAAQC,EAAO,qBAAqBL,CAAW;AAC9C,WAAAI,CAAK,EAAE,YAAY,OAAO;AAE3B,UAAAG,IAAeF,EAAO,UAAUC,CAAY;AAC3C,WAAAC,CAAY,EAAE,kBAAkB;AAAA,EAAA,CACxC;AASH,CAAC;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),g=require("@mui/icons-material/Clear"),t=require("@mui/material"),F=require("react-hook-form"),C=m=>{const{control:x,type:l,textareaOption:r,name:v,autoComplete:h,placeholder:p,defaultValue:u,emptyValue:i,inputProps:e}=m,s=i===void 0&&u!==void 0?null:i;return n.jsx(F.Controller,{control:x,name:v,defaultValue:u,render:({field:o,fieldState:d})=>{var c;return n.jsxs(t.FormControl,{error:d.invalid,children:[n.jsx(t.TextField,{...o,type:l==="textarea"?void 0:l,multiline:l==="textarea",autoComplete:h,placeholder:p,value:o.value??"",onChange:a=>{o.onChange(a),a.target.value?o.onChange(a):o.onChange(s)},InputProps:{...e,rows:r?r.rows:void 0,minRows:r?r.minRows:void 0,maxRows:r?r.minRows:void 0,endAdornment:o.value&&!(e!=null&&e.readOnly)&&!(e!=null&&e.disabled)?n.jsx(t.InputAdornment,{position:"end",children:n.jsx(t.IconButton,{onClick:()=>o.onChange(s),edge:"end",children:n.jsx(g,{})})}):void 0},sx:{"& .MuiInput-underline:before":{borderColor:"#CCCCCC"},"& .MuiInputBase-root":{backgroundColor:"#FFFFFF"},"input:-webkit-autofill":{WebkitBoxShadow:"0 0 0 1000px white inset"}},fullWidth:!0}),n.jsx(t.FormHelperText,{children:(c=d.error)==null?void 0:c.message})]})}})};exports.InputController=C;exports.default=C;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/InputController/index.tsx"],"sourcesContent":["import ClearIcon from \"@mui/icons-material/Clear\";\nimport {\n FilledInputProps,\n FormControl,\n FormHelperText,\n IconButton,\n InputAdornment,\n InputProps,\n OutlinedInputProps,\n TextField,\n} from \"@mui/material\";\nimport {\n Controller,\n FieldPath,\n PathValue,\n type Control,\n type FieldValues,\n} from \"react-hook-form\";\n\ntype Type = \"search\" | \"text\" | \"number\" | \"email\" | \"tel\" | \"textarea\";\n\ntype MultilineOption = {\n rows?: number;\n minRows?: number;\n maxRows?: number;\n};\n\ntype Props<T extends FieldValues> = {\n control: Control<T>;\n type: Type;\n textareaOption?: MultilineOption;\n name: FieldPath<T>;\n defaultValue?: PathValue<T, FieldPath<T>>;\n emptyValue?: \"\" | null | undefined;\n autoComplete?: string;\n placeholder?: string;\n inputProps?:\n | Partial<FilledInputProps>\n | Partial<OutlinedInputProps>\n | Partial<InputProps>;\n};\n\nexport const InputController = <T extends FieldValues>(props: Props<T>) => {\n const {\n control,\n type,\n textareaOption,\n name,\n autoComplete,\n placeholder,\n defaultValue,\n emptyValue,\n inputProps,\n } = props;\n\n const convertedEmptyValue =\n emptyValue === undefined && defaultValue !== undefined ? null : emptyValue;\n\n return (\n <Controller\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => (\n <FormControl error={fieldState.invalid}>\n <TextField\n {...field}\n type={type === \"textarea\" ? undefined : type}\n multiline={type === \"textarea\"}\n autoComplete={autoComplete}\n placeholder={placeholder}\n value={field.value ?? \"\"}\n onChange={(e) => {\n field.onChange(e);\n e.target.value\n ? field.onChange(e)\n : field.onChange(convertedEmptyValue);\n }}\n InputProps={{\n ...inputProps,\n rows: textareaOption ? textareaOption.rows : undefined,\n minRows: textareaOption ? textareaOption.minRows : undefined,\n maxRows: textareaOption ? textareaOption.minRows : undefined,\n endAdornment:\n field.value &&\n !inputProps?.readOnly &&\n !inputProps?.disabled ? (\n <InputAdornment position=\"end\">\n <IconButton\n onClick={() => field.onChange(convertedEmptyValue)}\n edge=\"end\"\n >\n <ClearIcon />\n </IconButton>\n </InputAdornment>\n ) : undefined,\n }}\n sx={{\n \"& .MuiInput-underline:before\": {\n borderColor: \"#CCCCCC\",\n },\n \"& .MuiInputBase-root\": {\n backgroundColor: \"#FFFFFF\",\n },\n \"input:-webkit-autofill\": {\n WebkitBoxShadow: \"0 0 0 1000px white inset\",\n },\n }}\n fullWidth={true}\n />\n <FormHelperText>{fieldState.error?.message}</FormHelperText>\n </FormControl>\n )}\n />\n );\n};\n\nexport default InputController;\n"],"names":["InputController","props","control","type","textareaOption","name","autoComplete","placeholder","defaultValue","emptyValue","inputProps","convertedEmptyValue","jsx","Controller","field","fieldState","jsxs","FormControl","TextField","e","InputAdornment","IconButton","ClearIcon","FormHelperText","_a"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/InputController/index.tsx"],"sourcesContent":["import ClearIcon from \"@mui/icons-material/Clear\";\nimport {\n FilledInputProps,\n FormControl,\n FormHelperText,\n IconButton,\n InputAdornment,\n InputProps,\n OutlinedInputProps,\n TextField,\n} from \"@mui/material\";\nimport {\n Controller,\n FieldPath,\n PathValue,\n type Control,\n type FieldValues,\n} from \"react-hook-form\";\n\ntype Type = \"search\" | \"text\" | \"number\" | \"email\" | \"tel\" | \"textarea\";\n\ntype MultilineOption = {\n rows?: number;\n minRows?: number;\n maxRows?: number;\n};\n\ntype Props<T extends FieldValues> = {\n control: Control<T>;\n type: Type;\n textareaOption?: MultilineOption;\n name: FieldPath<T>;\n defaultValue?: PathValue<T, FieldPath<T>>;\n emptyValue?: \"\" | null | undefined;\n autoComplete?: string;\n placeholder?: string;\n inputProps?:\n | Partial<FilledInputProps>\n | Partial<OutlinedInputProps>\n | Partial<InputProps>;\n};\n\nexport const InputController = <T extends FieldValues>(props: Props<T>) => {\n const {\n control,\n type,\n textareaOption,\n name,\n autoComplete,\n placeholder,\n defaultValue,\n emptyValue,\n inputProps,\n } = props;\n\n const convertedEmptyValue =\n emptyValue === undefined && defaultValue !== undefined ? null : emptyValue;\n\n return (\n <Controller\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => (\n <FormControl error={fieldState.invalid}>\n <TextField\n {...field}\n type={type === \"textarea\" ? undefined : type}\n multiline={type === \"textarea\"}\n autoComplete={autoComplete}\n placeholder={placeholder}\n value={field.value ?? \"\"}\n onChange={(e) => {\n field.onChange(e);\n e.target.value\n ? field.onChange(e)\n : field.onChange(convertedEmptyValue);\n }}\n InputProps={{\n ...inputProps,\n rows: textareaOption ? textareaOption.rows : undefined,\n minRows: textareaOption ? textareaOption.minRows : undefined,\n maxRows: textareaOption ? textareaOption.minRows : undefined,\n endAdornment:\n field.value &&\n !inputProps?.readOnly &&\n !inputProps?.disabled ? (\n <InputAdornment position=\"end\">\n <IconButton\n onClick={() => field.onChange(convertedEmptyValue)}\n edge=\"end\"\n >\n <ClearIcon />\n </IconButton>\n </InputAdornment>\n ) : undefined,\n }}\n sx={{\n \"& .MuiInput-underline:before\": {\n borderColor: \"#CCCCCC\",\n },\n \"& .MuiInputBase-root\": {\n backgroundColor: \"#FFFFFF\",\n },\n \"input:-webkit-autofill\": {\n WebkitBoxShadow: \"0 0 0 1000px white inset\",\n },\n }}\n fullWidth={true}\n />\n <FormHelperText>{fieldState.error?.message}</FormHelperText>\n </FormControl>\n )}\n />\n );\n};\n\nexport default InputController;\n"],"names":["InputController","props","control","type","textareaOption","name","autoComplete","placeholder","defaultValue","emptyValue","inputProps","convertedEmptyValue","jsx","Controller","field","fieldState","jsxs","FormControl","TextField","e","InputAdornment","IconButton","ClearIcon","FormHelperText","_a"],"mappings":"gPA0CaA,EAA0CC,GAAoB,CACnE,KAAA,CACJ,QAAAC,EACA,KAAAC,EACA,eAAAC,EACA,KAAAC,EACA,aAAAC,EACA,YAAAC,EACA,aAAAC,EACA,WAAAC,EACA,WAAAC,CAAA,EACET,EAEEU,EACJF,IAAe,QAAaD,IAAiB,OAAY,KAAOC,EAGhE,OAAAG,EAAA,IAACC,EAAA,WAAA,CACC,QAAAX,EACA,KAAAG,EACA,aAAAG,EACA,OAAQ,CAAC,CAAE,MAAAM,EAAO,WAAAC,KACfC,OAAAA,OAAAA,EAAAA,KAAAC,EAAA,YAAA,CAAY,MAAOF,EAAW,QAC7B,SAAA,CAAAH,EAAA,IAACM,EAAA,UAAA,CACE,GAAGJ,EACJ,KAAMX,IAAS,WAAa,OAAYA,EACxC,UAAWA,IAAS,WACpB,aAAAG,EACA,YAAAC,EACA,MAAOO,EAAM,OAAS,GACtB,SAAWK,GAAM,CACfL,EAAM,SAASK,CAAC,EACdA,EAAA,OAAO,MACLL,EAAM,SAASK,CAAC,EAChBL,EAAM,SAASH,CAAmB,CACxC,EACA,WAAY,CACV,GAAGD,EACH,KAAMN,EAAiBA,EAAe,KAAO,OAC7C,QAASA,EAAiBA,EAAe,QAAU,OACnD,QAASA,EAAiBA,EAAe,QAAU,OACnD,aACEU,EAAM,OACN,EAACJ,GAAA,MAAAA,EAAY,WACb,EAACA,GAAA,MAAAA,EAAY,UACXE,EAAAA,IAACQ,EAAAA,eAAe,CAAA,SAAS,MACvB,SAAAR,EAAA,IAACS,EAAA,WAAA,CACC,QAAS,IAAMP,EAAM,SAASH,CAAmB,EACjD,KAAK,MAEL,eAACW,EAAU,CAAA,CAAA,CAAA,GAEf,EACE,MACR,EACA,GAAI,CACF,+BAAgC,CAC9B,YAAa,SACf,EACA,uBAAwB,CACtB,gBAAiB,SACnB,EACA,yBAA0B,CACxB,gBAAiB,0BAAA,CAErB,EACA,UAAW,EAAA,CACb,EACCV,EAAA,IAAAW,EAAA,eAAA,CAAgB,UAAWC,EAAAT,EAAA,QAAA,YAAAS,EAAO,OAAQ,CAAA,CAAA,CAC7C,CAAA,EAAA,CAEJ,CAEJ"}
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import { FormControl as
|
|
4
|
-
import { Controller as
|
|
5
|
-
const f = (
|
|
1
|
+
import { jsx as r, jsxs as v } from "react/jsx-runtime";
|
|
2
|
+
import x from "@mui/icons-material/Clear";
|
|
3
|
+
import { FormControl as g, TextField as w, InputAdornment as F, IconButton as I, FormHelperText as b } from "@mui/material";
|
|
4
|
+
import { Controller as y } from "react-hook-form";
|
|
5
|
+
const f = (C) => {
|
|
6
6
|
const {
|
|
7
|
-
control:
|
|
7
|
+
control: s,
|
|
8
8
|
type: t,
|
|
9
|
-
textareaOption:
|
|
10
|
-
name:
|
|
11
|
-
autoComplete:
|
|
12
|
-
placeholder:
|
|
9
|
+
textareaOption: n,
|
|
10
|
+
name: p,
|
|
11
|
+
autoComplete: c,
|
|
12
|
+
placeholder: h,
|
|
13
13
|
defaultValue: l,
|
|
14
14
|
emptyValue: i,
|
|
15
15
|
inputProps: o
|
|
16
|
-
} =
|
|
17
|
-
return /* @__PURE__ */
|
|
18
|
-
|
|
16
|
+
} = C, d = i === void 0 && l !== void 0 ? null : i;
|
|
17
|
+
return /* @__PURE__ */ r(
|
|
18
|
+
y,
|
|
19
19
|
{
|
|
20
|
-
control:
|
|
21
|
-
name:
|
|
20
|
+
control: s,
|
|
21
|
+
name: p,
|
|
22
22
|
defaultValue: l,
|
|
23
|
-
render: ({ field: e, fieldState:
|
|
24
|
-
var
|
|
25
|
-
return /* @__PURE__ */
|
|
26
|
-
/* @__PURE__ */
|
|
27
|
-
|
|
23
|
+
render: ({ field: e, fieldState: u }) => {
|
|
24
|
+
var m;
|
|
25
|
+
return /* @__PURE__ */ v(g, { error: u.invalid, children: [
|
|
26
|
+
/* @__PURE__ */ r(
|
|
27
|
+
w,
|
|
28
28
|
{
|
|
29
29
|
...e,
|
|
30
30
|
type: t === "textarea" ? void 0 : t,
|
|
31
31
|
multiline: t === "textarea",
|
|
32
|
-
autoComplete:
|
|
33
|
-
placeholder:
|
|
32
|
+
autoComplete: c,
|
|
33
|
+
placeholder: h,
|
|
34
34
|
value: e.value ?? "",
|
|
35
35
|
onChange: (a) => {
|
|
36
36
|
e.onChange(a), a.target.value ? e.onChange(a) : e.onChange(d);
|
|
37
37
|
},
|
|
38
38
|
InputProps: {
|
|
39
39
|
...o,
|
|
40
|
-
rows:
|
|
41
|
-
minRows:
|
|
42
|
-
maxRows:
|
|
43
|
-
endAdornment: e.value && !(o != null && o.readOnly) && !(o != null && o.disabled) ? /* @__PURE__ */
|
|
44
|
-
|
|
40
|
+
rows: n ? n.rows : void 0,
|
|
41
|
+
minRows: n ? n.minRows : void 0,
|
|
42
|
+
maxRows: n ? n.minRows : void 0,
|
|
43
|
+
endAdornment: e.value && !(o != null && o.readOnly) && !(o != null && o.disabled) ? /* @__PURE__ */ r(F, { position: "end", children: /* @__PURE__ */ r(
|
|
44
|
+
I,
|
|
45
45
|
{
|
|
46
46
|
onClick: () => e.onChange(d),
|
|
47
47
|
edge: "end",
|
|
48
|
-
children: /* @__PURE__ */
|
|
48
|
+
children: /* @__PURE__ */ r(x, {})
|
|
49
49
|
}
|
|
50
50
|
) }) : void 0
|
|
51
51
|
},
|
|
@@ -63,7 +63,7 @@ const f = (m) => {
|
|
|
63
63
|
fullWidth: !0
|
|
64
64
|
}
|
|
65
65
|
),
|
|
66
|
-
/* @__PURE__ */
|
|
66
|
+
/* @__PURE__ */ r(b, { children: (m = u.error) == null ? void 0 : m.message })
|
|
67
67
|
] });
|
|
68
68
|
}
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../src/components/InputController/index.tsx"],"sourcesContent":["import ClearIcon from \"@mui/icons-material/Clear\";\nimport {\n FilledInputProps,\n FormControl,\n FormHelperText,\n IconButton,\n InputAdornment,\n InputProps,\n OutlinedInputProps,\n TextField,\n} from \"@mui/material\";\nimport {\n Controller,\n FieldPath,\n PathValue,\n type Control,\n type FieldValues,\n} from \"react-hook-form\";\n\ntype Type = \"search\" | \"text\" | \"number\" | \"email\" | \"tel\" | \"textarea\";\n\ntype MultilineOption = {\n rows?: number;\n minRows?: number;\n maxRows?: number;\n};\n\ntype Props<T extends FieldValues> = {\n control: Control<T>;\n type: Type;\n textareaOption?: MultilineOption;\n name: FieldPath<T>;\n defaultValue?: PathValue<T, FieldPath<T>>;\n emptyValue?: \"\" | null | undefined;\n autoComplete?: string;\n placeholder?: string;\n inputProps?:\n | Partial<FilledInputProps>\n | Partial<OutlinedInputProps>\n | Partial<InputProps>;\n};\n\nexport const InputController = <T extends FieldValues>(props: Props<T>) => {\n const {\n control,\n type,\n textareaOption,\n name,\n autoComplete,\n placeholder,\n defaultValue,\n emptyValue,\n inputProps,\n } = props;\n\n const convertedEmptyValue =\n emptyValue === undefined && defaultValue !== undefined ? null : emptyValue;\n\n return (\n <Controller\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => (\n <FormControl error={fieldState.invalid}>\n <TextField\n {...field}\n type={type === \"textarea\" ? undefined : type}\n multiline={type === \"textarea\"}\n autoComplete={autoComplete}\n placeholder={placeholder}\n value={field.value ?? \"\"}\n onChange={(e) => {\n field.onChange(e);\n e.target.value\n ? field.onChange(e)\n : field.onChange(convertedEmptyValue);\n }}\n InputProps={{\n ...inputProps,\n rows: textareaOption ? textareaOption.rows : undefined,\n minRows: textareaOption ? textareaOption.minRows : undefined,\n maxRows: textareaOption ? textareaOption.minRows : undefined,\n endAdornment:\n field.value &&\n !inputProps?.readOnly &&\n !inputProps?.disabled ? (\n <InputAdornment position=\"end\">\n <IconButton\n onClick={() => field.onChange(convertedEmptyValue)}\n edge=\"end\"\n >\n <ClearIcon />\n </IconButton>\n </InputAdornment>\n ) : undefined,\n }}\n sx={{\n \"& .MuiInput-underline:before\": {\n borderColor: \"#CCCCCC\",\n },\n \"& .MuiInputBase-root\": {\n backgroundColor: \"#FFFFFF\",\n },\n \"input:-webkit-autofill\": {\n WebkitBoxShadow: \"0 0 0 1000px white inset\",\n },\n }}\n fullWidth={true}\n />\n <FormHelperText>{fieldState.error?.message}</FormHelperText>\n </FormControl>\n )}\n />\n );\n};\n\nexport default InputController;\n"],"names":["InputController","props","control","type","textareaOption","name","autoComplete","placeholder","defaultValue","emptyValue","inputProps","convertedEmptyValue","jsx","Controller","field","fieldState","jsxs","FormControl","TextField","e","InputAdornment","IconButton","ClearIcon","FormHelperText","_a"],"mappings":";;;;AA0Ca,MAAAA,IAAkB,CAAwBC,MAAoB;AACnE,QAAA;AAAA,IACJ,SAAAC;AAAA,IACA,MAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,EAAA,IACET,GAEEU,IACJF,MAAe,UAAaD,MAAiB,SAAY,OAAOC;AAGhE,
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../src/components/InputController/index.tsx"],"sourcesContent":["import ClearIcon from \"@mui/icons-material/Clear\";\nimport {\n FilledInputProps,\n FormControl,\n FormHelperText,\n IconButton,\n InputAdornment,\n InputProps,\n OutlinedInputProps,\n TextField,\n} from \"@mui/material\";\nimport {\n Controller,\n FieldPath,\n PathValue,\n type Control,\n type FieldValues,\n} from \"react-hook-form\";\n\ntype Type = \"search\" | \"text\" | \"number\" | \"email\" | \"tel\" | \"textarea\";\n\ntype MultilineOption = {\n rows?: number;\n minRows?: number;\n maxRows?: number;\n};\n\ntype Props<T extends FieldValues> = {\n control: Control<T>;\n type: Type;\n textareaOption?: MultilineOption;\n name: FieldPath<T>;\n defaultValue?: PathValue<T, FieldPath<T>>;\n emptyValue?: \"\" | null | undefined;\n autoComplete?: string;\n placeholder?: string;\n inputProps?:\n | Partial<FilledInputProps>\n | Partial<OutlinedInputProps>\n | Partial<InputProps>;\n};\n\nexport const InputController = <T extends FieldValues>(props: Props<T>) => {\n const {\n control,\n type,\n textareaOption,\n name,\n autoComplete,\n placeholder,\n defaultValue,\n emptyValue,\n inputProps,\n } = props;\n\n const convertedEmptyValue =\n emptyValue === undefined && defaultValue !== undefined ? null : emptyValue;\n\n return (\n <Controller\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => (\n <FormControl error={fieldState.invalid}>\n <TextField\n {...field}\n type={type === \"textarea\" ? undefined : type}\n multiline={type === \"textarea\"}\n autoComplete={autoComplete}\n placeholder={placeholder}\n value={field.value ?? \"\"}\n onChange={(e) => {\n field.onChange(e);\n e.target.value\n ? field.onChange(e)\n : field.onChange(convertedEmptyValue);\n }}\n InputProps={{\n ...inputProps,\n rows: textareaOption ? textareaOption.rows : undefined,\n minRows: textareaOption ? textareaOption.minRows : undefined,\n maxRows: textareaOption ? textareaOption.minRows : undefined,\n endAdornment:\n field.value &&\n !inputProps?.readOnly &&\n !inputProps?.disabled ? (\n <InputAdornment position=\"end\">\n <IconButton\n onClick={() => field.onChange(convertedEmptyValue)}\n edge=\"end\"\n >\n <ClearIcon />\n </IconButton>\n </InputAdornment>\n ) : undefined,\n }}\n sx={{\n \"& .MuiInput-underline:before\": {\n borderColor: \"#CCCCCC\",\n },\n \"& .MuiInputBase-root\": {\n backgroundColor: \"#FFFFFF\",\n },\n \"input:-webkit-autofill\": {\n WebkitBoxShadow: \"0 0 0 1000px white inset\",\n },\n }}\n fullWidth={true}\n />\n <FormHelperText>{fieldState.error?.message}</FormHelperText>\n </FormControl>\n )}\n />\n );\n};\n\nexport default InputController;\n"],"names":["InputController","props","control","type","textareaOption","name","autoComplete","placeholder","defaultValue","emptyValue","inputProps","convertedEmptyValue","jsx","Controller","field","fieldState","jsxs","FormControl","TextField","e","InputAdornment","IconButton","ClearIcon","FormHelperText","_a"],"mappings":";;;;AA0Ca,MAAAA,IAAkB,CAAwBC,MAAoB;AACnE,QAAA;AAAA,IACJ,SAAAC;AAAA,IACA,MAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,EAAA,IACET,GAEEU,IACJF,MAAe,UAAaD,MAAiB,SAAY,OAAOC;AAGhE,SAAA,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAAX;AAAA,MACA,MAAAG;AAAA,MACA,cAAAG;AAAA,MACA,QAAQ,CAAC,EAAE,OAAAM,GAAO,YAAAC,QACf;;AAAA,+BAAAC,EAAAC,GAAA,EAAY,OAAOF,EAAW,SAC7B,UAAA;AAAA,UAAA,gBAAAH;AAAA,YAACM;AAAA,YAAA;AAAA,cACE,GAAGJ;AAAA,cACJ,MAAMX,MAAS,aAAa,SAAYA;AAAA,cACxC,WAAWA,MAAS;AAAA,cACpB,cAAAG;AAAA,cACA,aAAAC;AAAA,cACA,OAAOO,EAAM,SAAS;AAAA,cACtB,UAAU,CAACK,MAAM;AACf,gBAAAL,EAAM,SAASK,CAAC,GACdA,EAAA,OAAO,QACLL,EAAM,SAASK,CAAC,IAChBL,EAAM,SAASH,CAAmB;AAAA,cACxC;AAAA,cACA,YAAY;AAAA,gBACV,GAAGD;AAAA,gBACH,MAAMN,IAAiBA,EAAe,OAAO;AAAA,gBAC7C,SAASA,IAAiBA,EAAe,UAAU;AAAA,gBACnD,SAASA,IAAiBA,EAAe,UAAU;AAAA,gBACnD,cACEU,EAAM,SACN,EAACJ,KAAA,QAAAA,EAAY,aACb,EAACA,KAAA,QAAAA,EAAY,YACX,gBAAAE,EAACQ,GAAe,EAAA,UAAS,OACvB,UAAA,gBAAAR;AAAA,kBAACS;AAAA,kBAAA;AAAA,oBACC,SAAS,MAAMP,EAAM,SAASH,CAAmB;AAAA,oBACjD,MAAK;AAAA,oBAEL,4BAACW,GAAU,CAAA,CAAA;AAAA,kBAAA;AAAA,mBAEf,IACE;AAAA,cACR;AAAA,cACA,IAAI;AAAA,gBACF,gCAAgC;AAAA,kBAC9B,aAAa;AAAA,gBACf;AAAA,gBACA,wBAAwB;AAAA,kBACtB,iBAAiB;AAAA,gBACnB;AAAA,gBACA,0BAA0B;AAAA,kBACxB,iBAAiB;AAAA,gBAAA;AAAA,cAErB;AAAA,cACA,WAAW;AAAA,YAAA;AAAA,UACb;AAAA,UACC,gBAAAV,EAAAW,GAAA,EAAgB,WAAWC,IAAAT,EAAA,UAAA,gBAAAS,EAAO,QAAQ,CAAA;AAAA,QAAA,EAC7C,CAAA;AAAA;AAAA,IAAA;AAAA,EAEJ;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const
|
|
1
|
+
"use strict";const s=require("react/jsx-runtime"),e=require("../../react.esm-CiMn0Rnx.cjs"),l=require("react-hook-form"),a=require("./index.cjs.js");describe("InputController component",()=>{it("renders an input with the correct type, id, name, autoComplete, placeholder, and maxLength",()=>{const c=e.renderHook(()=>l.useForm().control).result.current,n="TestName",t="TestPlaceholder";e.render(s.jsx(a.InputController,{control:c,type:"text",name:n,placeholder:t,defaultValue:void 0}));const o=e.screen.getByPlaceholderText(t);expect(o).toBeInTheDocument(),expect(o).toHaveAttribute("type","text"),expect(o).toHaveAttribute("name",n),expect(o).toHaveAttribute("placeholder",t)}),it("renders a multiline textarea with the correct rows",()=>{const c=e.renderHook(()=>l.useForm().control).result.current,n="TestName",t="TestPlaceholder",o=4;e.render(s.jsx(a.InputController,{control:c,type:"textarea",name:n,placeholder:t,defaultValue:void 0,textareaOption:{rows:o}}));const r=e.screen.getByPlaceholderText(t);expect(r).toBeInTheDocument(),expect(r.tagName).toBe("TEXTAREA"),expect(r).toHaveAttribute("rows",o.toString())}),it("sets value to default value if input is empty",()=>{const c=e.renderHook(()=>l.useForm().control).result.current,n="TestName",t="TestPlaceholder";e.render(s.jsx(a.InputController,{control:c,type:"text",name:n,placeholder:t,defaultValue:"Default Value"}));const r=e.screen.getByPlaceholderText(t);expect(r).toBeInTheDocument(),e.fireEvent.change(r,{target:{value:""}})})});
|
|
2
2
|
//# sourceMappingURL=index.test.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/InputController/index.test.tsx"],"sourcesContent":["import { fireEvent, render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport InputController from \".\";\n\ndescribe(\"InputController component\", () => {\n it(\"renders an input with the correct type, id, name, autoComplete, placeholder, and maxLength\", () => {\n const controlResult = renderHook(() => {\n const methods = useForm();\n return methods.control;\n });\n const control = controlResult.result.current;\n const testName = \"TestName\";\n const placeholder = \"TestPlaceholder\";\n\n render(\n <InputController\n control={control}\n type=\"text\"\n name={testName}\n placeholder={placeholder}\n defaultValue={undefined}\n />,\n );\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toBeInTheDocument();\n expect(input).toHaveAttribute(\"type\", \"text\");\n expect(input).toHaveAttribute(\"name\", testName);\n expect(input).toHaveAttribute(\"placeholder\", placeholder);\n });\n\n it(\"renders a multiline textarea with the correct rows\", () => {\n const controlResult = renderHook(() => {\n const methods = useForm();\n return methods.control;\n });\n const control = controlResult.result.current;\n const testName = \"TestName\";\n const placeholder = \"TestPlaceholder\";\n const rows = 4;\n\n render(\n <InputController\n control={control}\n type=\"textarea\"\n name={testName}\n placeholder={placeholder}\n defaultValue={undefined}\n textareaOption={{ rows }}\n />,\n );\n const textarea = screen.getByPlaceholderText(placeholder);\n expect(textarea).toBeInTheDocument();\n expect(textarea.tagName).toBe(\"TEXTAREA\");\n expect(textarea).toHaveAttribute(\"rows\", rows.toString());\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 = \"TestName\";\n const placeholder = \"TestPlaceholder\";\n const defaultValue = \"Default Value\";\n\n render(\n <InputController\n control={control}\n type=\"text\"\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","InputController","input","screen","rows","textarea","fireEvent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.test.cjs.js","sources":["../../../src/components/InputController/index.test.tsx"],"sourcesContent":["import { fireEvent, render, renderHook, screen } from \"@testing-library/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport InputController from \".\";\n\ndescribe(\"InputController component\", () => {\n it(\"renders an input with the correct type, id, name, autoComplete, placeholder, and maxLength\", () => {\n const controlResult = renderHook(() => {\n const methods = useForm();\n return methods.control;\n });\n const control = controlResult.result.current;\n const testName = \"TestName\";\n const placeholder = \"TestPlaceholder\";\n\n render(\n <InputController\n control={control}\n type=\"text\"\n name={testName}\n placeholder={placeholder}\n defaultValue={undefined}\n />,\n );\n const input = screen.getByPlaceholderText(placeholder);\n expect(input).toBeInTheDocument();\n expect(input).toHaveAttribute(\"type\", \"text\");\n expect(input).toHaveAttribute(\"name\", testName);\n expect(input).toHaveAttribute(\"placeholder\", placeholder);\n });\n\n it(\"renders a multiline textarea with the correct rows\", () => {\n const controlResult = renderHook(() => {\n const methods = useForm();\n return methods.control;\n });\n const control = controlResult.result.current;\n const testName = \"TestName\";\n const placeholder = \"TestPlaceholder\";\n const rows = 4;\n\n render(\n <InputController\n control={control}\n type=\"textarea\"\n name={testName}\n placeholder={placeholder}\n defaultValue={undefined}\n textareaOption={{ rows }}\n />,\n );\n const textarea = screen.getByPlaceholderText(placeholder);\n expect(textarea).toBeInTheDocument();\n expect(textarea.tagName).toBe(\"TEXTAREA\");\n expect(textarea).toHaveAttribute(\"rows\", rows.toString());\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 = \"TestName\";\n const placeholder = \"TestPlaceholder\";\n const defaultValue = \"Default Value\";\n\n render(\n <InputController\n control={control}\n type=\"text\"\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","InputController","input","screen","rows","textarea","fireEvent"],"mappings":"qJAKA,SAAS,4BAA6B,IAAM,CAC1C,GAAG,6FAA8F,IAAM,CAK/F,MAAAA,EAJgBC,EAAAA,WAAW,IACfC,EAAAA,QAAQ,EACT,OAChB,EAC6B,OAAO,QAC/BC,EAAW,WACXC,EAAc,kBAEpBC,EAAA,OACEC,EAAA,IAACC,EAAA,gBAAA,CACC,QAAAP,EACA,KAAK,OACL,KAAMG,EACN,YAAAC,EACA,aAAc,MAAA,CAAA,CAElB,EACM,MAAAI,EAAQC,EAAAA,OAAO,qBAAqBL,CAAW,EAC9C,OAAAI,CAAK,EAAE,kBAAkB,EAChC,OAAOA,CAAK,EAAE,gBAAgB,OAAQ,MAAM,EAC5C,OAAOA,CAAK,EAAE,gBAAgB,OAAQL,CAAQ,EAC9C,OAAOK,CAAK,EAAE,gBAAgB,cAAeJ,CAAW,CAAA,CACzD,EAED,GAAG,qDAAsD,IAAM,CAKvD,MAAAJ,EAJgBC,EAAAA,WAAW,IACfC,EAAAA,QAAQ,EACT,OAChB,EAC6B,OAAO,QAC/BC,EAAW,WACXC,EAAc,kBACdM,EAAO,EAEbL,EAAA,OACEC,EAAA,IAACC,EAAA,gBAAA,CACC,QAAAP,EACA,KAAK,WACL,KAAMG,EACN,YAAAC,EACA,aAAc,OACd,eAAgB,CAAE,KAAAM,CAAK,CAAA,CAAA,CAE3B,EACM,MAAAC,EAAWF,EAAAA,OAAO,qBAAqBL,CAAW,EACjD,OAAAO,CAAQ,EAAE,kBAAkB,EACnC,OAAOA,EAAS,OAAO,EAAE,KAAK,UAAU,EACxC,OAAOA,CAAQ,EAAE,gBAAgB,OAAQD,EAAK,UAAU,CAAA,CACzD,EAED,GAAG,gDAAiD,IAAM,CAKlD,MAAAV,EAJgBC,EAAAA,WAAW,IACfC,EAAAA,QAAQ,EACT,OAChB,EAC6B,OAAO,QAC/BC,EAAW,WACXC,EAAc,kBAGpBC,EAAA,OACEC,EAAA,IAACC,EAAA,gBAAA,CACC,QAAAP,EACA,KAAK,OACL,KAAMG,EACN,YAAAC,EACA,aARiB,eAQjB,CAAA,CAEJ,EAEM,MAAAI,EAAQC,EAAAA,OAAO,qBAAqBL,CAAW,EAC9C,OAAAI,CAAK,EAAE,kBAAkB,EAGtBI,EAAA,UAAA,OAAOJ,EAAO,CAAE,OAAQ,CAAE,MAAO,EAAA,EAAM,CAAA,CAClD,CACH,CAAC"}
|