@smitch/breeze 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.npmignore +14 -0
- package/README.md +485 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/lib/@hooks/useWindowWidth.js +17 -0
- package/lib/@hooks/useWindowWidth.js.map +1 -0
- package/lib/@utils/merge.js +35 -0
- package/lib/@utils/merge.js.map +1 -0
- package/lib/accordion/Accordion.js +28 -0
- package/lib/accordion/Accordion.js.map +1 -0
- package/lib/accordion/atoms/AccordionCard.js +9 -0
- package/lib/accordion/atoms/AccordionCard.js.map +1 -0
- package/lib/accordion/atoms/AccordionHead.js +23 -0
- package/lib/accordion/atoms/AccordionHead.js.map +1 -0
- package/lib/accordion/atoms/AccordionItem.js +10 -0
- package/lib/accordion/atoms/AccordionItem.js.map +1 -0
- package/lib/accordion/atoms/AccordionSection.js +8 -0
- package/lib/accordion/atoms/AccordionSection.js.map +1 -0
- package/lib/accordion/atoms/index.js +5 -0
- package/lib/accordion/atoms/index.js.map +1 -0
- package/lib/accordion/index.js +3 -0
- package/lib/accordion/index.js.map +1 -0
- package/lib/accordion/types/index.js +2 -0
- package/lib/accordion/types/index.js.map +1 -0
- package/lib/alert/Alert.js +42 -0
- package/lib/alert/Alert.js.map +1 -0
- package/lib/alert/index.js +2 -0
- package/lib/alert/index.js.map +1 -0
- package/lib/alert/types/index.js +2 -0
- package/lib/alert/types/index.js.map +1 -0
- package/lib/autocomplete/Autocomplete.js +9 -0
- package/lib/autocomplete/Autocomplete.js.map +1 -0
- package/lib/autocomplete/index.js +2 -0
- package/lib/autocomplete/index.js.map +1 -0
- package/lib/autocomplete/types/index.js +2 -0
- package/lib/autocomplete/types/index.js.map +1 -0
- package/lib/badge/Badge.js +57 -0
- package/lib/badge/Badge.js.map +1 -0
- package/lib/badge/index.js +2 -0
- package/lib/badge/index.js.map +1 -0
- package/lib/badge/types/index.js +2 -0
- package/lib/badge/types/index.js.map +1 -0
- package/lib/blockquote/Blockquote.js +22 -0
- package/lib/blockquote/Blockquote.js.map +1 -0
- package/lib/blockquote/index.js +2 -0
- package/lib/blockquote/index.js.map +1 -0
- package/lib/blockquote/types/index.js +2 -0
- package/lib/blockquote/types/index.js.map +1 -0
- package/lib/breadcrumbs/Breadcrumbs.js +47 -0
- package/lib/breadcrumbs/Breadcrumbs.js.map +1 -0
- package/lib/breadcrumbs/index.js +2 -0
- package/lib/breadcrumbs/index.js.map +1 -0
- package/lib/breadcrumbs/types/index.js +2 -0
- package/lib/breadcrumbs/types/index.js.map +1 -0
- package/lib/button/Button.js +76 -0
- package/lib/button/Button.js.map +1 -0
- package/lib/button/index.js +3 -0
- package/lib/button/index.js.map +1 -0
- package/lib/button/types/index.js +2 -0
- package/lib/button/types/index.js.map +1 -0
- package/lib/button/variants/CloseButton.js +18 -0
- package/lib/button/variants/CloseButton.js.map +1 -0
- package/lib/button/variants/index.js +2 -0
- package/lib/button/variants/index.js.map +1 -0
- package/lib/button/variants/types/index.js +2 -0
- package/lib/button/variants/types/index.js.map +1 -0
- package/lib/buttongroup/ButtonGroup.js +35 -0
- package/lib/buttongroup/ButtonGroup.js.map +1 -0
- package/lib/buttongroup/index.js +2 -0
- package/lib/buttongroup/index.js.map +1 -0
- package/lib/buttongroup/types/index.js +2 -0
- package/lib/buttongroup/types/index.js.map +1 -0
- package/lib/card/Card.js +32 -0
- package/lib/card/Card.js.map +1 -0
- package/lib/card/atoms/CardBody.js +8 -0
- package/lib/card/atoms/CardBody.js.map +1 -0
- package/lib/card/atoms/CardFooter.js +9 -0
- package/lib/card/atoms/CardFooter.js.map +1 -0
- package/lib/card/atoms/CardHeader.js +8 -0
- package/lib/card/atoms/CardHeader.js.map +1 -0
- package/lib/card/atoms/CardImage.js +16 -0
- package/lib/card/atoms/CardImage.js.map +1 -0
- package/lib/card/index.js +6 -0
- package/lib/card/index.js.map +1 -0
- package/lib/card/types/index.js +2 -0
- package/lib/card/types/index.js.map +1 -0
- package/lib/carousel/Carousel.js +147 -0
- package/lib/carousel/Carousel.js.map +1 -0
- package/lib/carousel/index.js +2 -0
- package/lib/carousel/index.js.map +1 -0
- package/lib/carousel/types/index.js +2 -0
- package/lib/carousel/types/index.js.map +1 -0
- package/lib/charts/BarChart.js +24 -0
- package/lib/charts/BarChart.js.map +1 -0
- package/lib/charts/BubbleChart.js +24 -0
- package/lib/charts/BubbleChart.js.map +1 -0
- package/lib/charts/ChartWrap.js +69 -0
- package/lib/charts/ChartWrap.js.map +1 -0
- package/lib/charts/DoughnutChart.js +20 -0
- package/lib/charts/DoughnutChart.js.map +1 -0
- package/lib/charts/LineChart.js +24 -0
- package/lib/charts/LineChart.js.map +1 -0
- package/lib/charts/MixedChart.js +24 -0
- package/lib/charts/MixedChart.js.map +1 -0
- package/lib/charts/PieChart.js +20 -0
- package/lib/charts/PieChart.js.map +1 -0
- package/lib/charts/PolarAreaChart.js +23 -0
- package/lib/charts/PolarAreaChart.js.map +1 -0
- package/lib/charts/RadarChart.js +23 -0
- package/lib/charts/RadarChart.js.map +1 -0
- package/lib/charts/ScatterChart.js +24 -0
- package/lib/charts/ScatterChart.js.map +1 -0
- package/lib/charts/index.js +10 -0
- package/lib/charts/index.js.map +1 -0
- package/lib/charts/types/index.js +2 -0
- package/lib/charts/types/index.js.map +1 -0
- package/lib/checkbox/Checkbox.js +9 -0
- package/lib/checkbox/Checkbox.js.map +1 -0
- package/lib/checkbox/index.js +2 -0
- package/lib/checkbox/index.js.map +1 -0
- package/lib/checkbox/types/index.js +2 -0
- package/lib/checkbox/types/index.js.map +1 -0
- package/lib/clock/Clock.js +99 -0
- package/lib/clock/Clock.js.map +1 -0
- package/lib/clock/index.js +2 -0
- package/lib/clock/index.js.map +1 -0
- package/lib/clock/types/index.js +2 -0
- package/lib/clock/types/index.js.map +1 -0
- package/lib/codeblock/Codeblock.js +21 -0
- package/lib/codeblock/Codeblock.js.map +1 -0
- package/lib/codeblock/index.js +2 -0
- package/lib/codeblock/index.js.map +1 -0
- package/lib/codeblock/types/index.js +2 -0
- package/lib/codeblock/types/index.js.map +1 -0
- package/lib/counter/Counter.js +39 -0
- package/lib/counter/Counter.js.map +1 -0
- package/lib/counter/index.js +2 -0
- package/lib/counter/index.js.map +1 -0
- package/lib/counter/types/index.js +2 -0
- package/lib/counter/types/index.js.map +1 -0
- package/lib/datatable/DataTable.js +44 -0
- package/lib/datatable/DataTable.js.map +1 -0
- package/lib/datatable/index.js +2 -0
- package/lib/datatable/index.js.map +1 -0
- package/lib/datatable/types/index.js +2 -0
- package/lib/datatable/types/index.js.map +1 -0
- package/lib/dialog/Dialog.js +45 -0
- package/lib/dialog/Dialog.js.map +1 -0
- package/lib/dialog/hooks/useDisableBack.js +16 -0
- package/lib/dialog/hooks/useDisableBack.js.map +1 -0
- package/lib/dialog/index.js +2 -0
- package/lib/dialog/index.js.map +1 -0
- package/lib/dialog/types/index.js +2 -0
- package/lib/dialog/types/index.js.map +1 -0
- package/lib/drawer/Drawer.js +39 -0
- package/lib/drawer/Drawer.js.map +1 -0
- package/lib/drawer/index.js +2 -0
- package/lib/drawer/index.js.map +1 -0
- package/lib/drawer/types/index.js +2 -0
- package/lib/drawer/types/index.js.map +1 -0
- package/lib/dropdown/Dropdown.js +40 -0
- package/lib/dropdown/Dropdown.js.map +1 -0
- package/lib/dropdown/index.js +2 -0
- package/lib/dropdown/index.js.map +1 -0
- package/lib/dropdown/types/index.js +2 -0
- package/lib/dropdown/types/index.js.map +1 -0
- package/lib/figure/Figure.js +42 -0
- package/lib/figure/Figure.js.map +1 -0
- package/lib/figure/index.js +2 -0
- package/lib/figure/index.js.map +1 -0
- package/lib/figure/types/index.js +2 -0
- package/lib/figure/types/index.js.map +1 -0
- package/lib/fileupload/FileUpload.js +52 -0
- package/lib/fileupload/FileUpload.js.map +1 -0
- package/lib/fileupload/Files.js +22 -0
- package/lib/fileupload/Files.js.map +1 -0
- package/lib/fileupload/index.js +2 -0
- package/lib/fileupload/index.js.map +1 -0
- package/lib/fileupload/types/index.js +25 -0
- package/lib/fileupload/types/index.js.map +1 -0
- package/lib/form/Fieldset.js +9 -0
- package/lib/form/Fieldset.js.map +1 -0
- package/lib/form/Form.js +64 -0
- package/lib/form/Form.js.map +1 -0
- package/lib/form/Legend.js +21 -0
- package/lib/form/Legend.js.map +1 -0
- package/lib/form/RegisterForm.js +19 -0
- package/lib/form/RegisterForm.js.map +1 -0
- package/lib/form/index.js +5 -0
- package/lib/form/index.js.map +1 -0
- package/lib/form/types/index.js +2 -0
- package/lib/form/types/index.js.map +1 -0
- package/lib/gallery/Gallery.js +12 -0
- package/lib/gallery/Gallery.js.map +1 -0
- package/lib/gallery/index.js +2 -0
- package/lib/gallery/index.js.map +1 -0
- package/lib/gallery/types/index.js +2 -0
- package/lib/gallery/types/index.js.map +1 -0
- package/lib/heading/Heading.js +38 -0
- package/lib/heading/Heading.js.map +1 -0
- package/lib/heading/index.js +2 -0
- package/lib/heading/index.js.map +1 -0
- package/lib/heading/types/index.js +2 -0
- package/lib/heading/types/index.js.map +1 -0
- package/lib/hero/Hero.js +72 -0
- package/lib/hero/Hero.js.map +1 -0
- package/lib/hero/index.js +2 -0
- package/lib/hero/index.js.map +1 -0
- package/lib/hero/types/index.js +2 -0
- package/lib/hero/types/index.js.map +1 -0
- package/lib/icon/Icon.js +37 -0
- package/lib/icon/Icon.js.map +1 -0
- package/lib/icon/index.js +2 -0
- package/lib/icon/index.js.map +1 -0
- package/lib/icon/types/index.js +2 -0
- package/lib/icon/types/index.js.map +1 -0
- package/lib/index.js +52 -0
- package/lib/index.js.map +1 -0
- package/lib/input/Input.js +37 -0
- package/lib/input/Input.js.map +1 -0
- package/lib/input/index.js +2 -0
- package/lib/input/index.js.map +1 -0
- package/lib/input/types/index.js +2 -0
- package/lib/input/types/index.js.map +1 -0
- package/lib/label/Label.js +36 -0
- package/lib/label/Label.js.map +1 -0
- package/lib/label/index.js +2 -0
- package/lib/label/index.js.map +1 -0
- package/lib/label/types/index.js +2 -0
- package/lib/label/types/index.js.map +1 -0
- package/lib/loading/Loading.js +71 -0
- package/lib/loading/Loading.js.map +1 -0
- package/lib/loading/index.js +3 -0
- package/lib/loading/index.js.map +1 -0
- package/lib/loading/spinners/Bars.js +7 -0
- package/lib/loading/spinners/Bars.js.map +1 -0
- package/lib/loading/spinners/Clock.js +7 -0
- package/lib/loading/spinners/Clock.js.map +1 -0
- package/lib/loading/spinners/Dots.js +7 -0
- package/lib/loading/spinners/Dots.js.map +1 -0
- package/lib/loading/spinners/Pulse.js +7 -0
- package/lib/loading/spinners/Pulse.js.map +1 -0
- package/lib/loading/spinners/Spindots.js +7 -0
- package/lib/loading/spinners/Spindots.js.map +1 -0
- package/lib/loading/spinners/Spinner.js +7 -0
- package/lib/loading/spinners/Spinner.js.map +1 -0
- package/lib/loading/spinners/Wifi.js +7 -0
- package/lib/loading/spinners/Wifi.js.map +1 -0
- package/lib/loading/spinners/index.js +8 -0
- package/lib/loading/spinners/index.js.map +1 -0
- package/lib/loading/types/index.js +2 -0
- package/lib/loading/types/index.js.map +1 -0
- package/lib/map/LazyMap.js +146 -0
- package/lib/map/LazyMap.js.map +1 -0
- package/lib/map/LazyMapCircle.js +14 -0
- package/lib/map/LazyMapCircle.js.map +1 -0
- package/lib/map/LazyMapLine.js +13 -0
- package/lib/map/LazyMapLine.js.map +1 -0
- package/lib/map/LazyMapMarker.js +72 -0
- package/lib/map/LazyMapMarker.js.map +1 -0
- package/lib/map/LazyMapPolygon.js +9 -0
- package/lib/map/LazyMapPolygon.js.map +1 -0
- package/lib/map/LazyMapRectangle.js +12 -0
- package/lib/map/LazyMapRectangle.js.map +1 -0
- package/lib/map/Map.js +34 -0
- package/lib/map/Map.js.map +1 -0
- package/lib/map/MapCircle.js +34 -0
- package/lib/map/MapCircle.js.map +1 -0
- package/lib/map/MapLine.js +34 -0
- package/lib/map/MapLine.js.map +1 -0
- package/lib/map/MapMarker.js +34 -0
- package/lib/map/MapMarker.js.map +1 -0
- package/lib/map/MapPolygon.js +34 -0
- package/lib/map/MapPolygon.js.map +1 -0
- package/lib/map/MapRectangle.js +34 -0
- package/lib/map/MapRectangle.js.map +1 -0
- package/lib/map/index.js +7 -0
- package/lib/map/index.js.map +1 -0
- package/lib/map/tileOptions.js +33 -0
- package/lib/map/tileOptions.js.map +1 -0
- package/lib/map/types/index.js +2 -0
- package/lib/map/types/index.js.map +1 -0
- package/lib/modal/Modal.js +33 -0
- package/lib/modal/Modal.js.map +1 -0
- package/lib/modal/hooks/useDisableBack.js +14 -0
- package/lib/modal/hooks/useDisableBack.js.map +1 -0
- package/lib/modal/index.js +2 -0
- package/lib/modal/index.js.map +1 -0
- package/lib/modal/types/index.js +2 -0
- package/lib/modal/types/index.js.map +1 -0
- package/lib/navbar/NavBar.js +17 -0
- package/lib/navbar/NavBar.js.map +1 -0
- package/lib/navbar/NavBrand.js +9 -0
- package/lib/navbar/NavBrand.js.map +1 -0
- package/lib/navbar/NavLinks.js +27 -0
- package/lib/navbar/NavLinks.js.map +1 -0
- package/lib/navbar/index.js +2 -0
- package/lib/navbar/index.js.map +1 -0
- package/lib/navbar/types/index.js +2 -0
- package/lib/navbar/types/index.js.map +1 -0
- package/lib/pagination/Pagination.js +42 -0
- package/lib/pagination/Pagination.js.map +1 -0
- package/lib/pagination/index.js +2 -0
- package/lib/pagination/index.js.map +1 -0
- package/lib/pagination/types/index.js +2 -0
- package/lib/pagination/types/index.js.map +1 -0
- package/lib/passwordinput/PasswordInput.js +22 -0
- package/lib/passwordinput/PasswordInput.js.map +1 -0
- package/lib/passwordinput/index.js +2 -0
- package/lib/passwordinput/index.js.map +1 -0
- package/lib/passwordinput/types/index.js +2 -0
- package/lib/passwordinput/types/index.js.map +1 -0
- package/lib/pictogram/Pictogram.js +21 -0
- package/lib/pictogram/Pictogram.js.map +1 -0
- package/lib/pictogram/index.js +2 -0
- package/lib/pictogram/index.js.map +1 -0
- package/lib/pictogram/types/index.js +2 -0
- package/lib/pictogram/types/index.js.map +1 -0
- package/lib/placeholder/PlaceHolder.js +28 -0
- package/lib/placeholder/PlaceHolder.js.map +1 -0
- package/lib/placeholder/index.js +2 -0
- package/lib/placeholder/index.js.map +1 -0
- package/lib/placeholder/types/index.js +2 -0
- package/lib/placeholder/types/index.js.map +1 -0
- package/lib/progress/Progress.js +26 -0
- package/lib/progress/Progress.js.map +1 -0
- package/lib/progress/index.js +2 -0
- package/lib/progress/index.js.map +1 -0
- package/lib/progress/types/index.js +2 -0
- package/lib/progress/types/index.js.map +1 -0
- package/lib/radiogroup/RadioGroup.js +28 -0
- package/lib/radiogroup/RadioGroup.js.map +1 -0
- package/lib/radiogroup/index.js +2 -0
- package/lib/radiogroup/index.js.map +1 -0
- package/lib/radiogroup/types/index.js +2 -0
- package/lib/radiogroup/types/index.js.map +1 -0
- package/lib/rangeinput/RangeInput.js +45 -0
- package/lib/rangeinput/RangeInput.js.map +1 -0
- package/lib/rangeinput/index.js +2 -0
- package/lib/rangeinput/index.js.map +1 -0
- package/lib/rangeinput/types/index.js +2 -0
- package/lib/rangeinput/types/index.js.map +1 -0
- package/lib/ratings/Ratings.js +25 -0
- package/lib/ratings/Ratings.js.map +1 -0
- package/lib/ratings/index.js +2 -0
- package/lib/ratings/index.js.map +1 -0
- package/lib/ratings/types/index.js +2 -0
- package/lib/ratings/types/index.js.map +1 -0
- package/lib/searchinput/SearchInput.js +22 -0
- package/lib/searchinput/SearchInput.js.map +1 -0
- package/lib/searchinput/index.js +2 -0
- package/lib/searchinput/index.js.map +1 -0
- package/lib/searchinput/types/index.js +2 -0
- package/lib/searchinput/types/index.js.map +1 -0
- package/lib/select/Select.js +34 -0
- package/lib/select/Select.js.map +1 -0
- package/lib/select/index.js +2 -0
- package/lib/select/index.js.map +1 -0
- package/lib/select/types/index.js +2 -0
- package/lib/select/types/index.js.map +1 -0
- package/lib/sidebar/Sidebar.js +56 -0
- package/lib/sidebar/Sidebar.js.map +1 -0
- package/lib/sidebar/index.js +2 -0
- package/lib/sidebar/index.js.map +1 -0
- package/lib/sidebar/types/index.js +2 -0
- package/lib/sidebar/types/index.js.map +1 -0
- package/lib/socialshare/SocialShare.js +64 -0
- package/lib/socialshare/SocialShare.js.map +1 -0
- package/lib/socialshare/buttons/BlueskyButton.js +18 -0
- package/lib/socialshare/buttons/BlueskyButton.js.map +1 -0
- package/lib/socialshare/buttons/EmailButton.js +16 -0
- package/lib/socialshare/buttons/EmailButton.js.map +1 -0
- package/lib/socialshare/buttons/FacebookButton.js +16 -0
- package/lib/socialshare/buttons/FacebookButton.js.map +1 -0
- package/lib/socialshare/buttons/LinkedinButton.js +16 -0
- package/lib/socialshare/buttons/LinkedinButton.js.map +1 -0
- package/lib/socialshare/buttons/PinterestButton.js +19 -0
- package/lib/socialshare/buttons/PinterestButton.js.map +1 -0
- package/lib/socialshare/buttons/RedditButton.js +19 -0
- package/lib/socialshare/buttons/RedditButton.js.map +1 -0
- package/lib/socialshare/buttons/SlackButton.js +17 -0
- package/lib/socialshare/buttons/SlackButton.js.map +1 -0
- package/lib/socialshare/buttons/TelegramButton.js +19 -0
- package/lib/socialshare/buttons/TelegramButton.js.map +1 -0
- package/lib/socialshare/buttons/WhatsappButton.js +16 -0
- package/lib/socialshare/buttons/WhatsappButton.js.map +1 -0
- package/lib/socialshare/buttons/XButton.js +19 -0
- package/lib/socialshare/buttons/XButton.js.map +1 -0
- package/lib/socialshare/index.js +12 -0
- package/lib/socialshare/index.js.map +1 -0
- package/lib/socialshare/types/index.js +2 -0
- package/lib/socialshare/types/index.js.map +1 -0
- package/lib/statbar/StatBar.js +15 -0
- package/lib/statbar/StatBar.js.map +1 -0
- package/lib/statbar/index.js +2 -0
- package/lib/statbar/index.js.map +1 -0
- package/lib/statbar/types/index.js +2 -0
- package/lib/statbar/types/index.js.map +1 -0
- package/lib/switch/Switch.js +55 -0
- package/lib/switch/Switch.js.map +1 -0
- package/lib/switch/index.js +2 -0
- package/lib/switch/index.js.map +1 -0
- package/lib/switch/types/index.js +2 -0
- package/lib/switch/types/index.js.map +1 -0
- package/lib/tabs/Tab.js +6 -0
- package/lib/tabs/Tab.js.map +1 -0
- package/lib/tabs/TabBar.js +18 -0
- package/lib/tabs/TabBar.js.map +1 -0
- package/lib/tabs/Tabs.js +59 -0
- package/lib/tabs/Tabs.js.map +1 -0
- package/lib/tabs/index.js +2 -0
- package/lib/tabs/index.js.map +1 -0
- package/lib/tabs/types/index.js +2 -0
- package/lib/tabs/types/index.js.map +1 -0
- package/lib/textarea/TextArea.js +17 -0
- package/lib/textarea/TextArea.js.map +1 -0
- package/lib/textarea/index.js +2 -0
- package/lib/textarea/index.js.map +1 -0
- package/lib/textarea/types/index.js +2 -0
- package/lib/textarea/types/index.js.map +1 -0
- package/lib/textinput/TextInput.js +18 -0
- package/lib/textinput/TextInput.js.map +1 -0
- package/lib/textinput/index.js +2 -0
- package/lib/textinput/index.js.map +1 -0
- package/lib/textinput/types/index.js +2 -0
- package/lib/textinput/types/index.js.map +1 -0
- package/lib/ticker/Ticker.js +21 -0
- package/lib/ticker/Ticker.js.map +1 -0
- package/lib/ticker/index.js +2 -0
- package/lib/ticker/index.js.map +1 -0
- package/lib/ticker/types/index.js +2 -0
- package/lib/ticker/types/index.js.map +1 -0
- package/lib/toast/Toast.js +76 -0
- package/lib/toast/Toast.js.map +1 -0
- package/lib/toast/index.js +2 -0
- package/lib/toast/index.js.map +1 -0
- package/lib/toast/types/index.js +2 -0
- package/lib/toast/types/index.js.map +1 -0
- package/lib/twitterembed/TwitterEmbed.js +123 -0
- package/lib/twitterembed/TwitterEmbed.js.map +1 -0
- package/lib/twitterembed/index.js +2 -0
- package/lib/twitterembed/index.js.map +1 -0
- package/lib/twitterembed/types/index.js +2 -0
- package/lib/twitterembed/types/index.js.map +1 -0
- package/lib/videoplayer/Video.js +130 -0
- package/lib/videoplayer/Video.js.map +1 -0
- package/lib/videoplayer/VideoControls.js +63 -0
- package/lib/videoplayer/VideoControls.js.map +1 -0
- package/lib/videoplayer/VideoPlayer.js +66 -0
- package/lib/videoplayer/VideoPlayer.js.map +1 -0
- package/lib/videoplayer/VideoTracks.js +9 -0
- package/lib/videoplayer/VideoTracks.js.map +1 -0
- package/lib/videoplayer/controls/CaptionsControl.js +15 -0
- package/lib/videoplayer/controls/CaptionsControl.js.map +1 -0
- package/lib/videoplayer/controls/FullscreenControl.js +8 -0
- package/lib/videoplayer/controls/FullscreenControl.js.map +1 -0
- package/lib/videoplayer/controls/PipControl.js +8 -0
- package/lib/videoplayer/controls/PipControl.js.map +1 -0
- package/lib/videoplayer/controls/SoundControl.js +8 -0
- package/lib/videoplayer/controls/SoundControl.js.map +1 -0
- package/lib/videoplayer/controls/index.js +5 -0
- package/lib/videoplayer/controls/index.js.map +1 -0
- package/lib/videoplayer/index.js +3 -0
- package/lib/videoplayer/index.js.map +1 -0
- package/lib/videoplayer/types/index.js +2 -0
- package/lib/videoplayer/types/index.js.map +1 -0
- package/lib/youtubeembed/YoutubeEmbed.js +33 -0
- package/lib/youtubeembed/YoutubeEmbed.js.map +1 -0
- package/lib/youtubeembed/index.js +2 -0
- package/lib/youtubeembed/index.js.map +1 -0
- package/lib/youtubeembed/types/index.js +2 -0
- package/lib/youtubeembed/types/index.js.map +1 -0
- package/package.json +39 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../../src/ui/pagination/Pagination.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport React, { useState, useEffect, useMemo } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { roundUp } from \"@smitch/js-lib\";\n\nimport {\n HiChevronRight,\n HiChevronLeft,\n HiChevronDoubleRight,\n HiChevronDoubleLeft,\n} from \"react-icons/hi\";\nimport { ButtonGroup, Select, Button } from \"..\";\nimport { PaginationProps } from \"./types\";\n\nconst sizes = {\n md: \"text-base\",\n lg: \"text-lg\",\n xl: \"text-xl\",\n};\n\nconst Pagination = ({\n page = \"1\",\n feedback = true,\n feedbackLabel = \"Page\",\n feedbackSeparator = \"of\",\n firstPageLabel = \"First Page\",\n lastPageLabel = \"Last Page\",\n prevPageLabel = \"Previous Page\",\n nextPageLabel = \"Next Page\",\n range,\n results,\n size = \"md\",\n layout = \"horizontal\",\n gap = \"none\",\n rounded = true,\n icons = true,\n minimal = false,\n btnBackground,\n btnColor,\n btnShape = \"default\",\n onChange,\n className = \"\",\n style,\n}: PaginationProps) => {\n const [selectValue, setSelectValue] = useState(page);\n\n useEffect(() => {\n setSelectValue(page);\n }, [page]);\n\n const sizeClasses = useMemo(() => sizes[size], [size]);\n\n const handleChange = (e: React.ChangeEvent<HTMLSelectElement>): void =>\n onChange(e.currentTarget.value);\n\n const handleOnClick = (page: string) => onChange(page);\n\n const totalPages = useMemo(() => {\n return roundUp(results / range);\n }, [results, range]);\n\n const options = useMemo(() => {\n return [...new Array(totalPages)].map((_el, index) => (index + 1).toString());\n }, [totalPages]);\n\n return (\n <nav\n className={twMerge(\n `pagination group flex flex-col items-center justify-center gap-1 `,\n className\n )}\n style={style}\n aria-label=\"pagination\"\n >\n <ButtonGroup\n className={`pagination-buttons mb-1 ${btnShape === \"circle\" ? \"items-center\" : \"\"}`}\n layout={layout}\n rounded={rounded}\n gap={gap}\n >\n <Button\n className={`${minimal ? \"hidden\" : \"\"}`}\n title={firstPageLabel}\n onClick={() => handleOnClick(\"1\")}\n disabled={page === \"1\"}\n size={size}\n btnBackground={btnBackground}\n btnColor={btnColor}\n layout={btnShape}\n >\n {icons ? (\n <>\n <HiChevronDoubleLeft className=\"mx-auto\" />\n <span className=\"sr-only\">{firstPageLabel}</span>\n </>\n ) : (\n \"First\"\n )}\n </Button>\n <Button\n title={prevPageLabel}\n onClick={() => handleOnClick(`${Number(selectValue) - 1}`)}\n disabled={Number(selectValue) === 1}\n size={size}\n btnBackground={btnBackground}\n btnColor={btnColor}\n layout={btnShape}\n >\n {icons ? (\n <>\n <HiChevronLeft className=\"mx-auto\" />\n <span className=\"sr-only\">{prevPageLabel}</span>\n </>\n ) : (\n \"Prev\"\n )}\n </Button>\n <Select\n dropdownSize={size}\n className={`${size} border-gray-200 dark:border-gray-700 min-w-16 w-full text-center bg-light text-dark dark:bg-black dark:text-light`}\n defaultValue={selectValue}\n onChange={handleChange}\n nocaret={true}\n options={options}\n rounded=\"none\"\n />\n <Button\n title={nextPageLabel}\n onClick={() => handleOnClick(`${Number(selectValue) + 1}`)}\n disabled={Number(selectValue) === totalPages}\n size={size}\n btnBackground={btnBackground}\n btnColor={btnColor}\n layout={btnShape}\n >\n {icons ? (\n <>\n <HiChevronRight className=\"mx-auto\" />\n <span className=\"sr-only\">{nextPageLabel}</span>\n </>\n ) : (\n \"Next\"\n )}\n </Button>\n <Button\n className={`${minimal ? \"hidden\" : \"\"}`}\n title={lastPageLabel}\n onClick={() => handleOnClick(totalPages.toString())}\n disabled={Number(selectValue) === totalPages}\n size={size}\n btnBackground={btnBackground}\n btnColor={btnColor}\n layout={btnShape}\n >\n {icons ? (\n <>\n <HiChevronDoubleRight className=\"mx-auto\" />\n <span className=\"sr-only\">{lastPageLabel}</span>\n </>\n ) : (\n \"Last\"\n )}\n </Button>\n </ButtonGroup>\n {feedback ? (\n <div className={`feedback mt-1 ${sizeClasses}`}>\n {feedbackLabel} {selectValue} {feedbackSeparator} {totalPages}\n </div>\n ) : null}\n </nav>\n );\n};\n\nexport default Pagination;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/pagination/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA","sourcesContent":["export { default as Pagination } from './Pagination'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/pagination/types/index.ts"],"names":[],"mappings":"","sourcesContent":["export interface PaginationProps {\n size?: \"md\" | \"lg\" | \"xl\";\n page: string;\n range: number;\n results: number;\n feedback?: boolean;\n feedbackLabel?: string;\n feedbackSeparator?: string;\n firstPageLabel?: string;\n lastPageLabel?: string;\n prevPageLabel?: string;\n nextPageLabel?: string;\n vertical?: boolean;\n icons?: boolean;\n minimal?: boolean;\n layout?: \"horizontal\" | \"vertical\";\n gap?: \"none\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n rounded?: boolean;\n onChange: (page: string) => void;\n className?: string;\n style?: React.CSSProperties;\n btnShape?: \"default\" | \"rounded\" | \"square\" | \"circle\";\n btnBackground?:\n | \"dark\"\n | \"light\"\n | \"info\"\n | \"success\"\n | \"warning\"\n | \"danger\"\n | \"primary\"\n | \"secondary\"\n | \"transparent\";\n btnColor?:\n | \"dark\"\n | \"light\"\n | \"info\"\n | \"success\"\n | \"warning\"\n | \"danger\"\n | \"primary\"\n | \"secondary\"\n | \"current\";\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { twMerge } from "tailwind-merge";
|
|
5
|
+
import { FaEye, FaEyeSlash } from "react-icons/fa";
|
|
6
|
+
import { Input, Button, Label } from "..";
|
|
7
|
+
var PasswordInput = function (_a) {
|
|
8
|
+
var _b = _a.name, name = _b === void 0 ? "password" : _b, _c = _a.className, className = _c === void 0 ? "" : _c, _d = _a.label, label = _d === void 0 ? "Password" : _d, _e = _a.size, size = _e === void 0 ? "md" : _e, _f = _a.rounded, rounded = _f === void 0 ? "md" : _f, placeholder = _a.placeholder, autocomplete = _a.autocomplete, pattern = _a.pattern, inputStyles = _a.inputStyles, _g = _a.hint, hint = _g === void 0 ? true : _g, title = _a.title, _h = _a.required, required = _h === void 0 ? true : _h, _j = _a.layout, layout = _j === void 0 ? "col" : _j, onInputChange = _a.onInputChange;
|
|
9
|
+
var _k = useState("password"), type = _k[0], setType = _k[1];
|
|
10
|
+
var toggleType = function () {
|
|
11
|
+
setType(function (prevType) { return (prevType === "password" ? "text" : "password"); });
|
|
12
|
+
};
|
|
13
|
+
var handleChange = function (e) {
|
|
14
|
+
if (!onInputChange)
|
|
15
|
+
return;
|
|
16
|
+
var value = e.target.value;
|
|
17
|
+
onInputChange(value);
|
|
18
|
+
};
|
|
19
|
+
return (_jsxs(Label, { label: label, className: twMerge("label-pwd group", className), size: size, required: required, layout: layout, children: [_jsx(Input, { name: name, id: name, type: type, pattern: pattern, "data-testid": "input-".concat(name), className: "password ".concat(inputStyles), size: size, placeholder: placeholder, autocomplete: autocomplete, rounded: rounded, title: title, hint: hint, required: required, onChange: handleChange }), _jsx(Button, { onClick: toggleType, className: "absolute right-2 top-4 !p-0", size: size, layout: "circle", btnBackground: "transparent", btnColor: "info", title: "Toggle password visiblity", children: type !== "password" ? _jsx(FaEye, {}) : _jsx(FaEyeSlash, {}) })] }));
|
|
20
|
+
};
|
|
21
|
+
export default PasswordInput;
|
|
22
|
+
//# sourceMappingURL=PasswordInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasswordInput.js","sourceRoot":"","sources":["../../../src/ui/passwordinput/PasswordInput.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAI1C,IAAM,aAAa,GAAG,UAAC,EAeF;QAdnB,YAAiB,EAAjB,IAAI,mBAAG,UAAU,KAAA,EACjB,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,aAAkB,EAAlB,KAAK,mBAAG,UAAU,KAAA,EAClB,YAAW,EAAX,IAAI,mBAAG,IAAI,KAAA,EACX,eAAc,EAAd,OAAO,mBAAG,IAAI,KAAA,EACd,WAAW,iBAAA,EACX,YAAY,kBAAA,EACZ,OAAO,aAAA,EACP,WAAW,iBAAA,EACX,YAAW,EAAX,IAAI,mBAAG,IAAI,KAAA,EACX,KAAK,WAAA,EACL,gBAAe,EAAf,QAAQ,mBAAG,IAAI,KAAA,EACf,cAAc,EAAd,MAAM,mBAAG,KAAK,KAAA,EACd,aAAa,mBAAA;IAEP,IAAA,KAAkB,QAAQ,CAAsB,UAAU,CAAC,EAA1D,IAAI,QAAA,EAAE,OAAO,QAA6C,CAAC;IAElE,IAAM,UAAU,GAAG;QACjB,OAAO,CAAC,UAAC,QAAQ,IAAK,OAAA,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,EAA/C,CAA+C,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,IAAM,YAAY,GAAG,UAAC,CAAsC;QAC1D,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3B,IAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7B,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,KAAK,IACJ,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAChD,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,aAEd,KAAC,KAAK,IACJ,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,IAAI,EACR,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,iBACH,gBAAS,IAAI,CAAE,EAC5B,SAAS,EAAE,mBAAY,WAAW,CAAE,EACpC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,GACtB,EACF,KAAC,MAAM,IACL,OAAO,EAAE,UAAU,EACnB,SAAS,EAAC,6BAA6B,EACvC,IAAI,EAAE,IAAI,EACV,MAAM,EAAC,QAAQ,EACf,aAAa,EAAC,aAAa,EAC3B,QAAQ,EAAC,MAAM,EACf,KAAK,EAAC,2BAA2B,YAEhC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAC,KAAK,KAAG,CAAC,CAAC,CAAC,KAAC,UAAU,KAAG,GAC1C,IACH,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["\"use client\";\n\nimport React, { useState } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { FaEye, FaEyeSlash } from \"react-icons/fa\";\nimport { Input, Button, Label } from \"..\";\n\nimport { PasswordInputProps } from \"./types\";\n\nconst PasswordInput = ({\n name = \"password\",\n className = \"\",\n label = \"Password\",\n size = \"md\",\n rounded = \"md\",\n placeholder,\n autocomplete,\n pattern,\n inputStyles,\n hint = true,\n title,\n required = true,\n layout = \"col\",\n onInputChange,\n}: PasswordInputProps) => {\n const [type, setType] = useState<\"password\" | \"text\">(\"password\");\n\n const toggleType = () => {\n setType((prevType) => (prevType === \"password\" ? \"text\" : \"password\"));\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!onInputChange) return;\n const value = e.target.value;\n onInputChange(value);\n };\n\n return (\n <Label\n label={label}\n className={twMerge(`label-pwd group`, className)}\n size={size}\n required={required}\n layout={layout}\n >\n <Input\n name={name}\n id={name}\n type={type}\n pattern={pattern}\n data-testid={`input-${name}`}\n className={`password ${inputStyles}`}\n size={size}\n placeholder={placeholder}\n autocomplete={autocomplete}\n rounded={rounded}\n title={title}\n hint={hint}\n required={required}\n onChange={handleChange}\n />\n <Button\n onClick={toggleType}\n className=\"absolute right-2 top-4 !p-0\"\n size={size}\n layout=\"circle\"\n btnBackground=\"transparent\"\n btnColor=\"info\"\n title=\"Toggle password visiblity\"\n >\n {type !== \"password\" ? <FaEye /> : <FaEyeSlash />}\n </Button>\n </Label>\n );\n};\n\nexport default PasswordInput;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/passwordinput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA","sourcesContent":["export { default as PasswordInput } from './PasswordInput'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/passwordinput/types/index.ts"],"names":[],"mappings":"","sourcesContent":["export interface PasswordInputProps {\n\tsize?: 'sm' | 'md' | 'lg' | 'xl'\n\tautocomplete?: 'new-password' | 'current-password'\n\tname?: string\n\ttitle?: string\n\tplaceholder?: string\n\tpattern?: string\n\tclassName?: string\n\tdisabled?: boolean\n\thint?: boolean\n\trequired?: boolean\n\tonChange?: React.ChangeEventHandler<HTMLInputElement>\n\tonInputChange?: (input: string) => void\n\trounded?: 'none' | 'md' | 'lg' | 'full'\n\tlayout?: 'col' | 'row'\n\tlabel: string\n\tinputStyles?: string\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { twMerge } from "tailwind-merge";
|
|
4
|
+
var captionSideClasses = {
|
|
5
|
+
top: "caption-top",
|
|
6
|
+
bottom: "caption-bottom",
|
|
7
|
+
};
|
|
8
|
+
var sizes = {
|
|
9
|
+
md: "text-base",
|
|
10
|
+
lg: "text-lg",
|
|
11
|
+
xl: "text-2xl",
|
|
12
|
+
};
|
|
13
|
+
var Pictogram = function (_a) {
|
|
14
|
+
var labels = _a.labels, tally = _a.tally, _b = _a.icon, icon = _b === void 0 ? "●" : _b, _c = _a.size, size = _c === void 0 ? "md" : _c, caption = _a.caption, _d = _a.captionSide, captionSide = _d === void 0 ? "top" : _d, className = _a.className, style = _a.style;
|
|
15
|
+
var sizeClasses = useMemo(function () { return sizes[size]; }, [size]);
|
|
16
|
+
return (_jsxs("table", { className: twMerge("pictogram table ".concat(sizeClasses), className), style: style, children: [caption ? (_jsx("caption", { className: "".concat(captionSideClasses[captionSide], " ").concat(captionSide === "top" ? "pb-2" : "pt-2", " px-2 whitespace-nowrap font-semibold"), children: caption })) : null, _jsx("tbody", { children: labels.map(function (label, index) { return (_jsxs("tr", { children: [_jsx("th", { className: "font-semibold text-left p-2", children: label }), _jsx("td", { className: "p-2", children: tally[index] > 0
|
|
17
|
+
? Array.from({ length: tally[index] }, function (_, i) { return (_jsx("span", { className: "inline-block", children: icon }, i)); })
|
|
18
|
+
: "-" })] }, index)); }) })] }));
|
|
19
|
+
};
|
|
20
|
+
export default Pictogram;
|
|
21
|
+
//# sourceMappingURL=Pictogram.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pictogram.js","sourceRoot":"","sources":["../../../src/ui/pictogram/Pictogram.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,IAAM,kBAAkB,GAAG;IACzB,GAAG,EAAE,aAAa;IAClB,MAAM,EAAE,gBAAgB;CACzB,CAAC;AAEF,IAAM,KAAK,GAAG;IACZ,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,UAAU;CACf,CAAC;AAEF,IAAM,SAAS,GAAG,UAAC,EASF;QARf,MAAM,YAAA,EACN,KAAK,WAAA,EACL,YAAU,EAAV,IAAI,mBAAG,GAAG,KAAA,EACV,YAAW,EAAX,IAAI,mBAAG,IAAI,KAAA,EACX,OAAO,aAAA,EACP,mBAAmB,EAAnB,WAAW,mBAAG,KAAK,KAAA,EACnB,SAAS,eAAA,EACT,KAAK,WAAA;IAEL,IAAM,WAAW,GAAG,OAAO,CAAC,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,EAAX,CAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvD,OAAO,CACL,iBAAO,SAAS,EAAE,OAAO,CAAC,0BAAmB,WAAW,CAAE,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,aACjF,OAAO,CAAC,CAAC,CAAC,CACT,kBACE,SAAS,EAAE,UAAG,kBAAkB,CAAC,WAAW,CAAC,cAC3C,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,0CACF,YAEtC,OAAO,GACA,CACX,CAAC,CAAC,CAAC,IAAI,EACR,0BACG,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,CAC5B,yBACE,aAAI,SAAS,EAAC,6BAA6B,YAAE,KAAK,GAAM,EACxD,aAAI,SAAS,EAAC,KAAK,YAChB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;gCACf,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAC7C,eAAc,SAAS,EAAC,cAAc,YACnC,IAAI,IADI,CAAC,CAEL,CACR,EAJ8C,CAI9C,CAAC;gCACJ,CAAC,CAAC,GAAG,GACJ,KAVE,KAAK,CAWT,CACN,EAb6B,CAa7B,CAAC,GACI,IACF,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import React, { useMemo } from \"react\";\nimport { PictogramProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\n\nconst captionSideClasses = {\n top: \"caption-top\",\n bottom: \"caption-bottom\",\n};\n\nconst sizes = {\n md: \"text-base\",\n lg: \"text-lg\",\n xl: \"text-2xl\",\n};\n\nconst Pictogram = ({\n labels,\n tally,\n icon = \"●\",\n size = \"md\",\n caption,\n captionSide = \"top\",\n className,\n style,\n}: PictogramProps) => {\n const sizeClasses = useMemo(() => sizes[size], [size]);\n\n return (\n <table className={twMerge(`pictogram table ${sizeClasses}`, className)} style={style}>\n {caption ? (\n <caption\n className={`${captionSideClasses[captionSide]} ${\n captionSide === \"top\" ? \"pb-2\" : \"pt-2\"\n } px-2 whitespace-nowrap font-semibold`}\n >\n {caption}\n </caption>\n ) : null}\n <tbody>\n {labels.map((label, index) => (\n <tr key={index}>\n <th className=\"font-semibold text-left p-2\">{label}</th>\n <td className=\"p-2\">\n {tally[index] > 0\n ? Array.from({ length: tally[index] }, (_, i) => (\n <span key={i} className=\"inline-block\">\n {icon}\n </span>\n ))\n : \"-\"}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n\nexport default Pictogram;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/pictogram/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA","sourcesContent":["export { default as Pictogram } from './Pictogram'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/pictogram/types/index.ts"],"names":[],"mappings":"","sourcesContent":["export interface PictogramProps {\n labels: string[];\n tally: number[];\n icon?: React.ReactNode;\n caption?: string;\n captionSide?: \"top\" | \"bottom\";\n size?: \"md\" | \"lg\" | \"xl\";\n className?: string;\n style?: React.CSSProperties;\n}\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
|
+
import { twMerge } from 'tailwind-merge';
|
|
4
|
+
import { Spinner } from '..';
|
|
5
|
+
var baseUrl = 'https://placehold.co/';
|
|
6
|
+
var PlaceHolder = function (_a) {
|
|
7
|
+
var _b = _a.width, width = _b === void 0 ? '288' : _b, height = _a.height, background = _a.background, color = _a.color, _c = _a.text, text = _c === void 0 ? '' : _c, _d = _a.format, format = _d === void 0 ? 'png' : _d, className = _a.className, style = _a.style;
|
|
8
|
+
var _e = useState(''), src = _e[0], setSrc = _e[1];
|
|
9
|
+
useEffect(function () {
|
|
10
|
+
var url = "".concat(baseUrl).concat(width);
|
|
11
|
+
if (height)
|
|
12
|
+
url += "x".concat(height);
|
|
13
|
+
if (background)
|
|
14
|
+
url += "/".concat(background.replace('#', ''));
|
|
15
|
+
if (color)
|
|
16
|
+
url += "/".concat(color.replace('#', ''));
|
|
17
|
+
url += "/".concat(format);
|
|
18
|
+
if (text)
|
|
19
|
+
url += "?text=".concat(encodeURIComponent(text));
|
|
20
|
+
setSrc(url);
|
|
21
|
+
}, [width, height, background, color, text, format]);
|
|
22
|
+
return (_jsx("div", { className: 'bg-gray-200 text-gray-500', style: {
|
|
23
|
+
width: "".concat(width, "px"),
|
|
24
|
+
height: "".concat(height || width, "px"),
|
|
25
|
+
}, children: src ? (_jsx("img", { src: src, alt: text || 'Placeholder', className: twMerge('img-placeholder', className), style: style })) : (_jsx("div", { className: 'flex items-center justify-center h-full w-full', children: _jsx(Spinner, { width: 60 }) })) }));
|
|
26
|
+
};
|
|
27
|
+
export default PlaceHolder;
|
|
28
|
+
//# sourceMappingURL=PlaceHolder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaceHolder.js","sourceRoot":"","sources":["../../../src/ui/placeholder/PlaceHolder.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAGxC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAE5B,IAAM,OAAO,GAAG,uBAAuB,CAAA;AAEvC,IAAM,WAAW,GAAG,UAAC,EASF;QARlB,aAAa,EAAb,KAAK,mBAAG,KAAK,KAAA,EACb,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,KAAK,WAAA,EACL,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EACT,cAAc,EAAd,MAAM,mBAAG,KAAK,KAAA,EACd,SAAS,eAAA,EACT,KAAK,WAAA;IAEC,IAAA,KAAgB,QAAQ,CAAC,EAAE,CAAC,EAA3B,GAAG,QAAA,EAAE,MAAM,QAAgB,CAAA;IAElC,SAAS,CAAC;QACT,IAAI,GAAG,GAAG,UAAG,OAAO,SAAG,KAAK,CAAE,CAAA;QAC9B,IAAI,MAAM;YAAE,GAAG,IAAI,WAAI,MAAM,CAAE,CAAA;QAC/B,IAAI,UAAU;YAAE,GAAG,IAAI,WAAI,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAE,CAAA;QACxD,IAAI,KAAK;YAAE,GAAG,IAAI,WAAI,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAE,CAAA;QAC9C,GAAG,IAAI,WAAI,MAAM,CAAE,CAAA;QACnB,IAAI,IAAI;YAAE,GAAG,IAAI,gBAAS,kBAAkB,CAAC,IAAI,CAAC,CAAE,CAAA;QAEpD,MAAM,CAAC,GAAG,CAAC,CAAA;IACZ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IAEpD,OAAO,CACN,cACC,SAAS,EAAC,2BAA2B,EACrC,KAAK,EAAE;YACN,KAAK,EAAE,UAAG,KAAK,OAAI;YACnB,MAAM,EAAE,UAAG,MAAM,IAAI,KAAK,OAAI;SAC9B,YAEA,GAAG,CAAC,CAAC,CAAC,CACN,cACC,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,IAAI,IAAI,aAAa,EAC1B,SAAS,EAAE,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAChD,KAAK,EAAE,KAAK,GACX,CACF,CAAC,CAAC,CAAC,CACH,cAAK,SAAS,EAAC,gDAAgD,YAC9D,KAAC,OAAO,IAAC,KAAK,EAAE,EAAE,GAAI,GACjB,CACN,GACI,CACN,CAAA;AACF,CAAC,CAAA;AAED,eAAe,WAAW,CAAA","sourcesContent":["import React, { useState, useEffect } from 'react'\nimport { twMerge } from 'tailwind-merge'\n\nimport { PlaceHolderProps } from './types'\nimport { Spinner } from '..'\n\nconst baseUrl = 'https://placehold.co/'\n\nconst PlaceHolder = ({\n\twidth = '288',\n\theight,\n\tbackground,\n\tcolor,\n\ttext = '',\n\tformat = 'png',\n\tclassName,\n\tstyle,\n}: PlaceHolderProps) => {\n\tconst [src, setSrc] = useState('')\n\n\tuseEffect(() => {\n\t\tlet url = `${baseUrl}${width}`\n\t\tif (height) url += `x${height}`\n\t\tif (background) url += `/${background.replace('#', '')}`\n\t\tif (color) url += `/${color.replace('#', '')}`\n\t\turl += `/${format}`\n\t\tif (text) url += `?text=${encodeURIComponent(text)}`\n\n\t\tsetSrc(url)\n\t}, [width, height, background, color, text, format])\n\n\treturn (\n\t\t<div\n\t\t\tclassName='bg-gray-200 text-gray-500'\n\t\t\tstyle={{\n\t\t\t\twidth: `${width}px`,\n\t\t\t\theight: `${height || width}px`,\n\t\t\t}}\n\t\t>\n\t\t\t{src ? (\n\t\t\t\t<img\n\t\t\t\t\tsrc={src}\n\t\t\t\t\talt={text || 'Placeholder'}\n\t\t\t\t\tclassName={twMerge('img-placeholder', className)}\n\t\t\t\t\tstyle={style}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div className='flex items-center justify-center h-full w-full'>\n\t\t\t\t\t<Spinner width={60} />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nexport default PlaceHolder\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/placeholder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA","sourcesContent":["export { default as PlaceHolder } from './PlaceHolder'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/placeholder/types/index.ts"],"names":[],"mappings":"","sourcesContent":["interface BaseProps {\n\tclassName?: string\n\tstyle?: React.CSSProperties\n}\n\nexport interface PlaceHolderProps extends BaseProps {\n\twidth: string\n\theight?: string\n\tbackground?: string\n\tcolor?: string\n\ttext?: string\n\tformat?: 'png' | 'svg'\n}\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { twMerge } from 'tailwind-merge';
|
|
5
|
+
var Progress = function (_a) {
|
|
6
|
+
var totalSize = _a.totalSize, _b = _a.downloadedSize, downloadedSize = _b === void 0 ? 0 : _b, _c = _a.unit, unit = _c === void 0 ? 'mb' : _c, _d = _a.id, id = _d === void 0 ? 'progress' : _d, onDone = _a.onDone, _e = _a.feedbackClasses, feedbackClasses = _e === void 0 ? '' : _e, _f = _a.className, className = _f === void 0 ? '' : _f, style = _a.style;
|
|
7
|
+
var _g = useState(0), progress = _g[0], setProgress = _g[1];
|
|
8
|
+
var _h = useState(false), done = _h[0], setDone = _h[1];
|
|
9
|
+
useEffect(function () {
|
|
10
|
+
if (totalSize > 0) {
|
|
11
|
+
var percentage = (downloadedSize / totalSize) * 100;
|
|
12
|
+
setProgress(Math.min(percentage, 100));
|
|
13
|
+
}
|
|
14
|
+
if (downloadedSize >= totalSize) {
|
|
15
|
+
setDone(true);
|
|
16
|
+
if (onDone && !done)
|
|
17
|
+
onDone();
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
setDone(false);
|
|
21
|
+
}
|
|
22
|
+
}, [totalSize, downloadedSize, onDone, done]);
|
|
23
|
+
return (_jsxs("div", { className: 'progress-wrapper min-w-60', children: [_jsxs("progress", { className: twMerge("progress w-full h-4", className), style: style, id: id, value: progress, max: 100, children: [progress.toFixed(2), "%"] }), _jsxs("div", { className: twMerge("progress-feedback text-sm text-center mt-2", feedbackClasses), children: [progress.toFixed(0), "% / ", totalSize, " ", unit] })] }));
|
|
24
|
+
};
|
|
25
|
+
export default Progress;
|
|
26
|
+
//# sourceMappingURL=Progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Progress.js","sourceRoot":"","sources":["../../../src/ui/progress/Progress.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,IAAM,QAAQ,GAAG,UAAC,EASF;QARf,SAAS,eAAA,EACT,sBAAkB,EAAlB,cAAc,mBAAG,CAAC,KAAA,EAClB,YAAW,EAAX,IAAI,mBAAG,IAAI,KAAA,EACX,UAAe,EAAf,EAAE,mBAAG,UAAU,KAAA,EACf,MAAM,YAAA,EACN,uBAAoB,EAApB,eAAe,mBAAG,EAAE,KAAA,EACpB,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,KAAK,WAAA;IAEC,IAAA,KAA0B,QAAQ,CAAC,CAAC,CAAC,EAApC,QAAQ,QAAA,EAAE,WAAW,QAAe,CAAA;IACrC,IAAA,KAAkB,QAAQ,CAAC,KAAK,CAAC,EAAhC,IAAI,QAAA,EAAE,OAAO,QAAmB,CAAA;IAEvC,SAAS,CAAC;QACT,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACnB,IAAM,UAAU,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC,GAAG,GAAG,CAAA;YACrD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,cAAc,IAAI,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,CAAA;YACb,IAAI,MAAM,IAAI,CAAC,IAAI;gBAAE,MAAM,EAAE,CAAA;QAC9B,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,CAAA;QACf,CAAC;IACF,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;IAE7C,OAAO,CACN,eAAK,SAAS,EAAC,2BAA2B,aACzC,oBACC,SAAS,EAAE,OAAO,CAAC,qBAAqB,EAAE,SAAS,CAAC,EACpD,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,GAAG,aAEP,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SACV,EACX,eAAK,SAAS,EAAE,OAAO,CAAC,4CAA4C,EAAE,eAAe,CAAC,aACpF,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,UAAM,SAAS,OAAG,IAAI,IACrC,IACD,CACN,CAAA;AACF,CAAC,CAAA;AAED,eAAe,QAAQ,CAAA","sourcesContent":["'use client'\n\nimport React, { useEffect, useState } from 'react'\nimport { ProgressProps } from './types'\nimport { twMerge } from 'tailwind-merge'\n\nconst Progress = ({\n\ttotalSize,\n\tdownloadedSize = 0,\n\tunit = 'mb',\n\tid = 'progress',\n\tonDone,\n\tfeedbackClasses = '',\n\tclassName = '',\n\tstyle,\n}: ProgressProps) => {\n\tconst [progress, setProgress] = useState(0)\n\tconst [done, setDone] = useState(false)\n\n\tuseEffect(() => {\n\t\tif (totalSize > 0) {\n\t\t\tconst percentage = (downloadedSize / totalSize) * 100\n\t\t\tsetProgress(Math.min(percentage, 100))\n\t\t}\n\n\t\tif (downloadedSize >= totalSize) {\n\t\t\tsetDone(true)\n\t\t\tif (onDone && !done) onDone()\n\t\t} else {\n\t\t\tsetDone(false)\n\t\t}\n\t}, [totalSize, downloadedSize, onDone, done])\n\n\treturn (\n\t\t<div className='progress-wrapper min-w-60'>\n\t\t\t<progress\n\t\t\t\tclassName={twMerge(`progress w-full h-4`, className)}\n\t\t\t\tstyle={style}\n\t\t\t\tid={id}\n\t\t\t\tvalue={progress}\n\t\t\t\tmax={100}\n\t\t\t>\n\t\t\t\t{progress.toFixed(2)}%\n\t\t\t</progress>\n\t\t\t<div className={twMerge(`progress-feedback text-sm text-center mt-2`, feedbackClasses)}>\n\t\t\t\t{progress.toFixed(0)}% / {totalSize} {unit}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default Progress\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/progress/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA","sourcesContent":["export { default as Progress } from './Progress'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/progress/types/index.ts"],"names":[],"mappings":"","sourcesContent":["export interface ProgressProps {\n className?: string;\n feedbackClasses?: string;\n style?: React.CSSProperties;\n id?: string;\n totalSize: number;\n downloadedSize: number;\n unit?: \"kb\" | \"mb\" | \"gb\";\n doneMessage?: string;\n onDone?: () => void;\n}\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useMemo } from 'react';
|
|
4
|
+
import { twMerge } from 'tailwind-merge';
|
|
5
|
+
import { Input, Label, Fieldset } from '..';
|
|
6
|
+
var layouts = {
|
|
7
|
+
1: 'grid-cols-1',
|
|
8
|
+
2: 'grid-cols-2',
|
|
9
|
+
3: 'grid-cols-3',
|
|
10
|
+
4: 'grid-cols-4',
|
|
11
|
+
5: 'grid-cols-5',
|
|
12
|
+
6: 'grid-cols-6',
|
|
13
|
+
};
|
|
14
|
+
var RadioGroup = function (_a) {
|
|
15
|
+
var _b = _a.className, className = _b === void 0 ? '' : _b, _c = _a.labelStyles, labelStyles = _c === void 0 ? '' : _c, legend = _a.legend, data = _a.data, name = _a.name, getIcon = _a.getIcon, _d = _a.icons, icons = _d === void 0 ? false : _d, onChange = _a.onChange, hideInput = _a.hideInput, _e = _a.columns, columns = _e === void 0 ? 1 : _e, _f = _a.size, size = _f === void 0 ? 'md' : _f, _g = _a.legendAlign, legendAlign = _g === void 0 ? 'center' : _g, _h = _a.legendBold, legendBold = _h === void 0 ? true : _h, _j = _a.hasBorder, hasBorder = _j === void 0 ? false : _j, _k = _a.spacing, spacing = _k === void 0 ? '4' : _k, _l = _a.roundedRadio, roundedRadio = _l === void 0 ? 'full' : _l;
|
|
16
|
+
var _m = useState(''), checked = _m[0], setChecked = _m[1];
|
|
17
|
+
var layoutStyles = useMemo(function () { return layouts[columns]; }, [columns]);
|
|
18
|
+
var handleChange = function (event) {
|
|
19
|
+
setChecked(event.target.value);
|
|
20
|
+
if (onChange && event.type === 'change')
|
|
21
|
+
onChange(event);
|
|
22
|
+
};
|
|
23
|
+
return (_jsx(Fieldset, { legendText: legend, legendSize: size, legendAlign: legendAlign, isBold: legendBold, hasBorder: hasBorder, children: _jsx("div", { className: twMerge("radiogroup group grid ".concat(layoutStyles, " gap-").concat(spacing, " ").concat(icons ? 'icons' : ''), className), children: data.map(function (item) {
|
|
24
|
+
return (_jsx(Label, { label: getIcon ? getIcon(item.id) : item.name, layout: 'row_reverse', type: 'radio', className: labelStyles, size: size, children: _jsx(Input, { name: name, type: 'radio', value: item.id, onChange: handleChange, checked: item.id === checked, className: "".concat(hideInput ? 'opacity-0 w-0 h-0 -ml-1' : ''), size: size, rounded: roundedRadio }) }, item.id));
|
|
25
|
+
}) }) }));
|
|
26
|
+
};
|
|
27
|
+
export default RadioGroup;
|
|
28
|
+
//# sourceMappingURL=RadioGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioGroup.js","sourceRoot":"","sources":["../../../src/ui/radiogroup/RadioGroup.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;AAI3C,IAAM,OAAO,GAAG;IACf,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,aAAa;CAChB,CAAA;AAED,IAAM,UAAU,GAAG,UAAC,EAiBF;QAhBjB,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,mBAAgB,EAAhB,WAAW,mBAAG,EAAE,KAAA,EAChB,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,IAAI,UAAA,EACJ,OAAO,aAAA,EACP,aAAa,EAAb,KAAK,mBAAG,KAAK,KAAA,EACb,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,eAAW,EAAX,OAAO,mBAAG,CAAC,KAAA,EACX,YAAW,EAAX,IAAI,mBAAG,IAAI,KAAA,EACX,mBAAsB,EAAtB,WAAW,mBAAG,QAAQ,KAAA,EACtB,kBAAiB,EAAjB,UAAU,mBAAG,IAAI,KAAA,EACjB,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,eAAa,EAAb,OAAO,mBAAG,GAAG,KAAA,EACb,oBAAqB,EAArB,YAAY,mBAAG,MAAM,KAAA;IAEf,IAAA,KAAwB,QAAQ,CAAC,EAAE,CAAC,EAAnC,OAAO,QAAA,EAAE,UAAU,QAAgB,CAAA;IAE1C,IAAM,YAAY,GAAG,OAAO,CAAC,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,EAAhB,CAAgB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAE/D,IAAM,YAAY,GAAG,UAAC,KAA0C;QAC/D,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzD,CAAC,CAAA;IAED,OAAO,CACN,KAAC,QAAQ,IACR,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,IAAI,EAChB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,YAEpB,cACC,SAAS,EAAE,OAAO,CACjB,gCAAyB,YAAY,kBAAQ,OAAO,cAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAE,EAC9E,SAAS,CACT,YAEA,IAAI,CAAC,GAAG,CAAC,UAAC,IAAI;gBACd,OAAO,CACN,KAAC,KAAK,IAEL,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAC7C,MAAM,EAAC,aAAa,EACpB,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,IAAI,YAEV,KAAC,KAAK,IACL,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,IAAI,CAAC,EAAE,EACd,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,IAAI,CAAC,EAAE,KAAK,OAAO,EAC5B,SAAS,EAAE,UAAG,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAE,EAC1D,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,YAAY,GACpB,IAhBG,IAAI,CAAC,EAAE,CAiBL,CACR,CAAA;YACF,CAAC,CAAC,GACG,GACI,CACX,CAAA;AACF,CAAC,CAAA;AAED,eAAe,UAAU,CAAA","sourcesContent":["'use client'\n\nimport React, { useState, useMemo } from 'react'\n\nimport { twMerge } from 'tailwind-merge'\n\nimport { Input, Label, Fieldset } from '..'\n\nimport { RadioGroupProps } from './types'\n\nconst layouts = {\n\t1: 'grid-cols-1',\n\t2: 'grid-cols-2',\n\t3: 'grid-cols-3',\n\t4: 'grid-cols-4',\n\t5: 'grid-cols-5',\n\t6: 'grid-cols-6',\n}\n\nconst RadioGroup = ({\n\tclassName = '',\n\tlabelStyles = '',\n\tlegend,\n\tdata,\n\tname,\n\tgetIcon,\n\ticons = false,\n\tonChange,\n\thideInput,\n\tcolumns = 1,\n\tsize = 'md',\n\tlegendAlign = 'center',\n\tlegendBold = true,\n\thasBorder = false,\n\tspacing = '4',\n\troundedRadio = 'full',\n}: RadioGroupProps) => {\n\tconst [checked, setChecked] = useState('')\n\n\tconst layoutStyles = useMemo(() => layouts[columns], [columns])\n\n\tconst handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n\t\tsetChecked(event.target.value)\n\t\tif (onChange && event.type === 'change') onChange(event)\n\t}\n\n\treturn (\n\t\t<Fieldset\n\t\t\tlegendText={legend}\n\t\t\tlegendSize={size}\n\t\t\tlegendAlign={legendAlign}\n\t\t\tisBold={legendBold}\n\t\t\thasBorder={hasBorder}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={twMerge(\n\t\t\t\t\t`radiogroup group grid ${layoutStyles} gap-${spacing} ${icons ? 'icons' : ''}`,\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{data.map((item) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Label\n\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\tlabel={getIcon ? getIcon(item.id) : item.name}\n\t\t\t\t\t\t\tlayout='row_reverse'\n\t\t\t\t\t\t\ttype='radio'\n\t\t\t\t\t\t\tclassName={labelStyles}\n\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\ttype='radio'\n\t\t\t\t\t\t\t\tvalue={item.id}\n\t\t\t\t\t\t\t\tonChange={handleChange}\n\t\t\t\t\t\t\t\tchecked={item.id === checked}\n\t\t\t\t\t\t\t\tclassName={`${hideInput ? 'opacity-0 w-0 h-0 -ml-1' : ''}`}\n\t\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t\t\trounded={roundedRadio}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Label>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</Fieldset>\n\t)\n}\n\nexport default RadioGroup\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/radiogroup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA","sourcesContent":["export { default as RadioGroup } from './RadioGroup'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/radiogroup/types/index.ts"],"names":[],"mappings":"","sourcesContent":["export interface RadioGroupProps extends React.HTMLAttributes<HTMLDivElement> {\n\tdata: any[]\n\tgetIcon?: (key: string) => void\n\tlegend?: string\n\ticons?: boolean\n\tclassName?: string\n\tonChange?: React.ChangeEventHandler<HTMLInputElement>\n\tlabelStyles?: string\n\tname?: string\n\thideInput?: boolean\n\tcolumns?: 1 | 2 | 3 | 4 | 5 | 6\n\tsize?: 'sm' | 'md' | 'lg' | 'xl'\n\tlegendAlign?: 'left' | 'center' | 'right'\n\thasBorder?: boolean\n\tlegendBold?: boolean\n\tspacing?: '4' | '8'\n\troundedRadio?: 'none' | 'md' | 'lg' | 'full'\n}\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useEffect, useMemo } from 'react';
|
|
4
|
+
import { twMerge } from 'tailwind-merge';
|
|
5
|
+
import { Input, Label } from '..';
|
|
6
|
+
var thumbnailShapes = {
|
|
7
|
+
circle: '[&&::-webkit-slider-thumb]:rounded-full',
|
|
8
|
+
square: '[&&::-webkit-slider-thumb]:rounded-none',
|
|
9
|
+
};
|
|
10
|
+
var RangeInput = function (_a) {
|
|
11
|
+
var _b = _a.name, name = _b === void 0 ? 'range' : _b, _c = _a.min, min = _c === void 0 ? 0 : _c, _d = _a.max, max = _d === void 0 ? 100 : _d, _e = _a.defaultValue, defaultValue = _e === void 0 ? 50 : _e, _f = _a.step, step = _f === void 0 ? '1' : _f, label = _a.label, labelIsBold = _a.labelIsBold, _g = _a.size, size = _g === void 0 ? 'md' : _g, _h = _a.layout, layout = _h === void 0 ? 'col' : _h, _j = _a.title, title = _j === void 0 ? 'Current value:' : _j, _k = _a.hint, hint = _k === void 0 ? true : _k, _l = _a.required, required = _l === void 0 ? false : _l, _m = _a.rangeActive, rangeActive = _m === void 0 ? '#f59e0b' : _m, _o = _a.rangeBackground, rangeBackground = _o === void 0 ? '#9e9e9e' : _o, _p = _a.thumbnailColor, thumbnailColor = _p === void 0 ? '#f59e0b' : _p, _q = _a.thumbnailActiveColor, thumbnailActiveColor = _q === void 0 ? '#ff0000' : _q, _r = _a.thumbnailShape, thumbnailShape = _r === void 0 ? 'circle' : _r, _s = _a.rounded, rounded = _s === void 0 ? true : _s, style = _a.style, _t = _a.className, className = _t === void 0 ? '' : _t, onChange = _a.onChange;
|
|
12
|
+
var _u = useState(defaultValue), value = _u[0], setValue = _u[1];
|
|
13
|
+
var _v = useState(defaultValue), scrubRange = _v[0], setScrubRange = _v[1];
|
|
14
|
+
var _w = useState(1), modifier = _w[0], setModifier = _w[1];
|
|
15
|
+
var _x = useState(false), isFocused = _x[0], setIsFocused = _x[1];
|
|
16
|
+
var _y = useState('right'), position = _y[0], setPosition = _y[1];
|
|
17
|
+
useEffect(function () {
|
|
18
|
+
setModifier(100 / max);
|
|
19
|
+
}, [max]);
|
|
20
|
+
useEffect(function () {
|
|
21
|
+
var isRTL = document.documentElement.getAttribute('dir') === 'rtl';
|
|
22
|
+
isRTL ? setPosition('left') : setPosition('right');
|
|
23
|
+
}, []);
|
|
24
|
+
var shapeClasses = useMemo(function () { return thumbnailShapes[thumbnailShape]; }, [thumbnailShape]);
|
|
25
|
+
var handleChange = function (e) {
|
|
26
|
+
var newValue = Number(e.target.value);
|
|
27
|
+
setValue(newValue);
|
|
28
|
+
setScrubRange(Number(newValue));
|
|
29
|
+
if (onChange)
|
|
30
|
+
onChange(newValue);
|
|
31
|
+
};
|
|
32
|
+
var handleFocus = function () {
|
|
33
|
+
setIsFocused(true);
|
|
34
|
+
};
|
|
35
|
+
var handleBlur = function () {
|
|
36
|
+
setIsFocused(false);
|
|
37
|
+
};
|
|
38
|
+
var scrubStyle = {
|
|
39
|
+
backgroundImage: "linear-gradient(to ".concat(position, ", ").concat(rangeActive, " 0%, ").concat(rangeActive, " ").concat(scrubRange * modifier, "%, ").concat(rangeBackground, " ").concat(scrubRange * modifier, "%, ").concat(rangeBackground, " 100%)"),
|
|
40
|
+
color: "".concat(isFocused ? thumbnailActiveColor : thumbnailColor),
|
|
41
|
+
};
|
|
42
|
+
return (_jsx(Label, { label: label, size: size, layout: layout, isBold: labelIsBold, required: required, type: 'range', className: twMerge("range-label items-baseline", className), style: style, children: _jsx(Input, { name: name, type: 'range', value: value, min: min, max: max, step: step, hint: hint, title: "".concat(title, " ").concat(value), onChange: handleChange, onInput: handleChange, onFocus: handleFocus, onBlur: handleBlur, size: size, rounded: "".concat(rounded ? 'md' : 'none'), className: "".concat(shapeClasses), style: scrubStyle }) }));
|
|
43
|
+
};
|
|
44
|
+
export default RangeInput;
|
|
45
|
+
//# sourceMappingURL=RangeInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RangeInput.js","sourceRoot":"","sources":["../../../src/ui/rangeinput/RangeInput.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client'\n\nimport React, { useState, useEffect, useMemo } from 'react'\nimport { twMerge } from 'tailwind-merge'\nimport { Input, Label } from '..'\nimport { RangeInputProps } from './types'\n\nconst thumbnailShapes = {\n\tcircle: '[&&::-webkit-slider-thumb]:rounded-full',\n\tsquare: '[&&::-webkit-slider-thumb]:rounded-none',\n}\n\nconst RangeInput = ({\n\tname = 'range',\n\tmin = 0,\n\tmax = 100,\n\tdefaultValue = 50,\n\tstep = '1',\n\tlabel,\n\tlabelIsBold,\n\tsize = 'md',\n\tlayout = 'col',\n\ttitle = 'Current value:',\n\thint = true,\n\trequired = false,\n\trangeActive = '#f59e0b',\n\trangeBackground = '#9e9e9e',\n\tthumbnailColor = '#f59e0b',\n\tthumbnailActiveColor = '#ff0000',\n\tthumbnailShape = 'circle',\n\trounded = true,\n\tstyle,\n\tclassName = '',\n\tonChange,\n}: RangeInputProps) => {\n\tconst [value, setValue] = useState(defaultValue)\n\tconst [scrubRange, setScrubRange] = useState(defaultValue)\n\tconst [modifier, setModifier] = useState(1)\n\tconst [isFocused, setIsFocused] = useState(false)\n\tconst [position, setPosition] = useState('right')\n\n\tuseEffect(() => {\n\t\tsetModifier(100 / max)\n\t}, [max])\n\n\tuseEffect(() => {\n\t\tconst isRTL = document.documentElement.getAttribute('dir') === 'rtl'\n\t\tisRTL ? setPosition('left') : setPosition('right')\n\t}, [])\n\n\tconst shapeClasses = useMemo(() => thumbnailShapes[thumbnailShape], [thumbnailShape])\n\n\tconst handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n\t\tconst newValue = Number(e.target.value)\n\t\tsetValue(newValue)\n\t\tsetScrubRange(Number(newValue))\n\t\tif (onChange) onChange(newValue)\n\t}\n\n\tconst handleFocus = () => {\n\t\tsetIsFocused(true)\n\t}\n\n\tconst handleBlur = () => {\n\t\tsetIsFocused(false)\n\t}\n\n\tlet scrubStyle = {\n\t\tbackgroundImage: `linear-gradient(to ${position}, ${rangeActive} 0%, ${rangeActive} ${\n\t\t\tscrubRange * modifier\n\t\t}%, ${rangeBackground} ${scrubRange * modifier}%, ${rangeBackground} 100%)`,\n\t\tcolor: `${isFocused ? thumbnailActiveColor : thumbnailColor}`,\n\t}\n\n\treturn (\n\t\t<Label\n\t\t\tlabel={label}\n\t\t\tsize={size}\n\t\t\tlayout={layout}\n\t\t\tisBold={labelIsBold}\n\t\t\trequired={required}\n\t\t\ttype='range'\n\t\t\tclassName={twMerge(`range-label items-baseline`, className)}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<Input\n\t\t\t\tname={name}\n\t\t\t\ttype='range'\n\t\t\t\tvalue={value}\n\t\t\t\tmin={min}\n\t\t\t\tmax={max}\n\t\t\t\tstep={step}\n\t\t\t\thint={hint}\n\t\t\t\ttitle={`${title} ${value}`}\n\t\t\t\tonChange={handleChange}\n\t\t\t\tonInput={handleChange}\n\t\t\t\tonFocus={handleFocus}\n\t\t\t\tonBlur={handleBlur}\n\t\t\t\tsize={size}\n\t\t\t\trounded={`${rounded ? 'md' : 'none'}`}\n\t\t\t\tclassName={`${shapeClasses}`}\n\t\t\t\tstyle={scrubStyle}\n\t\t\t/>\n\t\t</Label>\n\t)\n}\n\nexport default RangeInput\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/rangeinput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA","sourcesContent":["export { default as RangeInput } from './RangeInput'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/rangeinput/types/index.ts"],"names":[],"mappings":"","sourcesContent":["interface LabelProps {\n\tlayout?: 'col' | 'row' | 'row_reverse'\n\tsize?: 'md' | 'lg' | 'xl'\n\tlabel: string | React.ReactNode\n\tlabelIsBold?: boolean\n\trequired?: boolean\n}\n\ninterface InputProps {\n\tname?: string\n\tmin?: number\n\tmax?: number\n\tdefaultValue?: number\n\tstep?: string\n\ttitle?: string\n\thint?: boolean\n\trangeActive?: string\n\trangeBackground?: string\n\tthumbnailColor?: string\n\tthumbnailActiveColor?: string\n\tthumbnailShape?: 'circle' | 'square'\n\tonChange?: (value: number) => void\n}\n\nexport interface RangeInputProps extends LabelProps, InputProps {\n\tclassName?: string\n\tstyle?: React.CSSProperties\n\trounded?: boolean\n}\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
+
if (ar || !(i in from)) {
|
|
4
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
+
ar[i] = from[i];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
+
};
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
import { twMerge } from 'tailwind-merge';
|
|
12
|
+
import { round } from '@smitch/js-lib';
|
|
13
|
+
import { Badge } from '..';
|
|
14
|
+
import { FaStar, FaThumbsUp, FaFaceSmile, FaHeart, FaCheck, FaThumbsDown, FaFaceFrown, } from 'react-icons/fa6';
|
|
15
|
+
var Ratings = function (_a) {
|
|
16
|
+
var _b = _a.className, className = _b === void 0 ? '' : _b, rating = _a.rating, range = _a.range, _c = _a.icon, icon = _c === void 0 ? 'star' : _c, customIcon = _a.customIcon, _d = _a.spacing, spacing = _d === void 0 ? '0' : _d, _e = _a.shape, shape = _e === void 0 ? 'circle' : _e, _f = _a.size, size = _f === void 0 ? 'md' : _f, _g = _a.ratingsBackground, ratingsBackground = _g === void 0 ? 'info' : _g, _h = _a.ratingsColor, ratingsColor = _h === void 0 ? 'dark' : _h;
|
|
17
|
+
rating = round(rating);
|
|
18
|
+
if (rating === 0)
|
|
19
|
+
rating = 1;
|
|
20
|
+
if (!range)
|
|
21
|
+
range = rating;
|
|
22
|
+
return (_jsxs("div", { className: 'ratings-wrapper inline-block', children: [_jsx("div", { className: twMerge("ratings group relative flex gap-".concat(spacing), className), title: "Rating: ".concat(rating, " out of ").concat(range), children: __spreadArray([], new Array(range), true).map(function (_el, index) { return (_jsx(Badge, { layout: shape, size: size, badgeBackground: ratingsBackground, badgeColor: ratingsColor, className: "static ".concat(rating <= index ? 'grayscale' : ''), children: customIcon ? (customIcon) : icon === 'smiley' ? (_jsx(FaFaceSmile, {})) : icon === 'frown' ? (_jsx(FaFaceFrown, {})) : icon === 'thumb' ? (_jsx(FaThumbsUp, {})) : icon === 'thumbdown' ? (_jsx(FaThumbsDown, {})) : icon === 'heart' ? (_jsx(FaHeart, {})) : icon === 'check' ? (_jsx(FaCheck, {})) : (_jsx(FaStar, {})) }, index)); }) }), _jsx("p", { className: 'sr-only', children: "Rating: ".concat(rating, "/").concat(range) })] }));
|
|
23
|
+
};
|
|
24
|
+
export default Ratings;
|
|
25
|
+
//# sourceMappingURL=Ratings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Ratings.js","sourceRoot":"","sources":["../../../src/ui/ratings/Ratings.tsx"],"names":[],"mappings":";;;;;;;;;;AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAA;AAE1B,OAAO,EACN,MAAM,EACN,UAAU,EACV,WAAW,EACX,OAAO,EACP,OAAO,EACP,YAAY,EACZ,WAAW,GACX,MAAM,iBAAiB,CAAA;AAIxB,IAAM,OAAO,GAAG,UAAC,EAWF;QAVd,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,MAAM,YAAA,EACN,KAAK,WAAA,EACL,YAAa,EAAb,IAAI,mBAAG,MAAM,KAAA,EACb,UAAU,gBAAA,EACV,eAAa,EAAb,OAAO,mBAAG,GAAG,KAAA,EACb,aAAgB,EAAhB,KAAK,mBAAG,QAAQ,KAAA,EAChB,YAAW,EAAX,IAAI,mBAAG,IAAI,KAAA,EACX,yBAA0B,EAA1B,iBAAiB,mBAAG,MAAM,KAAA,EAC1B,oBAAqB,EAArB,YAAY,mBAAG,MAAM,KAAA;IAErB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IACtB,IAAI,MAAM,KAAK,CAAC;QAAE,MAAM,GAAG,CAAC,CAAA;IAC5B,IAAI,CAAC,KAAK;QAAE,KAAK,GAAG,MAAM,CAAA;IAC1B,OAAO,CACN,eAAK,SAAS,EAAC,8BAA8B,aAC5C,cACC,SAAS,EAAE,OAAO,CAAC,0CAAmC,OAAO,CAAE,EAAE,SAAS,CAAC,EAC3E,KAAK,EAAE,kBAAW,MAAM,qBAAW,KAAK,CAAE,YAEzC,kBAAI,IAAI,KAAK,CAAC,KAAK,CAAC,QAAE,GAAG,CAAC,UAAC,GAAG,EAAE,KAAK,IAAK,OAAA,CAC1C,KAAC,KAAK,IACL,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,iBAAiB,EAClC,UAAU,EAAE,YAAY,EAExB,SAAS,EAAE,iBAAU,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,YAExD,UAAU,CAAC,CAAC,CAAC,CACb,UAAU,CACV,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CACvB,KAAC,WAAW,KAAG,CACf,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CACtB,KAAC,WAAW,KAAG,CACf,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CACtB,KAAC,UAAU,KAAG,CACd,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAC1B,KAAC,YAAY,KAAG,CAChB,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CACtB,KAAC,OAAO,KAAG,CACX,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CACtB,KAAC,OAAO,KAAG,CACX,CAAC,CAAC,CAAC,CACH,KAAC,MAAM,KAAG,CACV,IAnBI,KAAK,CAoBH,CACR,EA3B0C,CA2B1C,CAAC,GACG,EACN,YAAG,SAAS,EAAC,SAAS,YAAE,kBAAW,MAAM,cAAI,KAAK,CAAE,GAAK,IACpD,CACN,CAAA;AACF,CAAC,CAAA;AAED,eAAe,OAAO,CAAA","sourcesContent":["import React from 'react'\n\nimport { twMerge } from 'tailwind-merge'\n\nimport { round } from '@smitch/js-lib'\nimport { Badge } from '..'\n\nimport {\n\tFaStar,\n\tFaThumbsUp,\n\tFaFaceSmile,\n\tFaHeart,\n\tFaCheck,\n\tFaThumbsDown,\n\tFaFaceFrown,\n} from 'react-icons/fa6'\n\nimport { RatingsProps } from './types'\n\nconst Ratings = ({\n\tclassName = '',\n\trating,\n\trange,\n\ticon = 'star',\n\tcustomIcon,\n\tspacing = '0',\n\tshape = 'circle',\n\tsize = 'md',\n\tratingsBackground = 'info',\n\tratingsColor = 'dark',\n}: RatingsProps) => {\n\trating = round(rating)\n\tif (rating === 0) rating = 1\n\tif (!range) range = rating\n\treturn (\n\t\t<div className='ratings-wrapper inline-block'>\n\t\t\t<div\n\t\t\t\tclassName={twMerge(`ratings group relative flex gap-${spacing}`, className)}\n\t\t\t\ttitle={`Rating: ${rating} out of ${range}`}\n\t\t\t>\n\t\t\t\t{[...new Array(range)].map((_el, index) => (\n\t\t\t\t\t<Badge\n\t\t\t\t\t\tlayout={shape}\n\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\tbadgeBackground={ratingsBackground}\n\t\t\t\t\t\tbadgeColor={ratingsColor}\n\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\tclassName={`static ${rating <= index ? 'grayscale' : ''}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{customIcon ? (\n\t\t\t\t\t\t\tcustomIcon\n\t\t\t\t\t\t) : icon === 'smiley' ? (\n\t\t\t\t\t\t\t<FaFaceSmile />\n\t\t\t\t\t\t) : icon === 'frown' ? (\n\t\t\t\t\t\t\t<FaFaceFrown />\n\t\t\t\t\t\t) : icon === 'thumb' ? (\n\t\t\t\t\t\t\t<FaThumbsUp />\n\t\t\t\t\t\t) : icon === 'thumbdown' ? (\n\t\t\t\t\t\t\t<FaThumbsDown />\n\t\t\t\t\t\t) : icon === 'heart' ? (\n\t\t\t\t\t\t\t<FaHeart />\n\t\t\t\t\t\t) : icon === 'check' ? (\n\t\t\t\t\t\t\t<FaCheck />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<FaStar />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Badge>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t\t<p className='sr-only'>{`Rating: ${rating}/${range}`}</p>\n\t\t</div>\n\t)\n}\n\nexport default Ratings\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ratings/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA","sourcesContent":["export { default as Ratings } from './Ratings'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/ratings/types/index.ts"],"names":[],"mappings":"","sourcesContent":["export interface RatingsProps extends React.HTMLAttributes<HTMLDivElement> {\n\tclassName?: string\n\ticon?: 'star' | 'smiley' | 'thumb' | 'heart' | 'check' | 'thumbdown' | 'frown'\n\tcustomIcon?: React.ReactNode\n\trating: number\n\trange?: number\n\tspacing?: '0' | '1' | '2'\n\tshape?: 'square' | 'circle' | 'rounded'\n\tratingsBackground?:\n\t\t| 'dark'\n\t\t| 'light'\n\t\t| 'info'\n\t\t| 'success'\n\t\t| 'warning'\n\t\t| 'danger'\n\t\t| 'primary'\n\t\t| 'secondary'\n\t\t| 'accent'\n\t\t| 'neutral'\n\t\t| 'transparent'\n\tratingsColor?:\n\t\t| 'dark'\n\t\t| 'light'\n\t\t| 'info'\n\t\t| 'success'\n\t\t| 'warning'\n\t\t| 'danger'\n\t\t| 'primary'\n\t\t| 'secondary'\n\t\t| 'current'\n\t\t| 'accent'\n\tsize?: 'sm' | 'md' | 'lg' | 'inherit'\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useRef } from "react";
|
|
4
|
+
import { twMerge } from "tailwind-merge";
|
|
5
|
+
import { FaSearch } from "react-icons/fa";
|
|
6
|
+
import { Input, Button } from "..";
|
|
7
|
+
var SearchInput = function (_a) {
|
|
8
|
+
var _b = _a.name, name = _b === void 0 ? "search" : _b, _c = _a.id, id = _c === void 0 ? "search" : _c, _d = _a.className, className = _d === void 0 ? "" : _d, _e = _a.label, label = _e === void 0 ? "Search" : _e, icon = _a.icon, onButtonSubmit = _a.onButtonSubmit, _f = _a.size, size = _f === void 0 ? "md" : _f, _g = _a.rounded, rounded = _g === void 0 ? "md" : _g, placeholder = _a.placeholder, _h = _a.inputStyles, inputStyles = _h === void 0 ? "" : _h, _j = _a.btnShape, btnShape = _j === void 0 ? "circle" : _j, _k = _a.btnBackground, btnBackground = _k === void 0 ? "dark" : _k, _l = _a.btnColor, btnColor = _l === void 0 ? "light" : _l, _m = _a.autocomplete, autocomplete = _m === void 0 ? "off" : _m, _o = _a.autocorrect, autocorrect = _o === void 0 ? "off" : _o, _p = _a.spellcheck, spellcheck = _p === void 0 ? false : _p, _q = _a.spacing, spacing = _q === void 0 ? "0" : _q;
|
|
9
|
+
var _r = useState(true), disabled = _r[0], setDisabled = _r[1];
|
|
10
|
+
var input = useRef(null);
|
|
11
|
+
var handleClick = function () {
|
|
12
|
+
var value = input.current.value;
|
|
13
|
+
onButtonSubmit(value);
|
|
14
|
+
};
|
|
15
|
+
var handleChange = function (e) {
|
|
16
|
+
var value = e.target.value;
|
|
17
|
+
value ? setDisabled(false) : setDisabled(true);
|
|
18
|
+
};
|
|
19
|
+
return (_jsxs("div", { className: twMerge("search-box flex font-semi-bold gap-".concat(spacing, " text-dark dark:text-light"), className), "data-testid": name, children: [_jsx(Input, { name: name, id: id, type: "search", ref: input, "data-testid": "input-".concat(name), className: twMerge("border-neutral", inputStyles), size: size, placeholder: placeholder, autocomplete: autocomplete, autocorrect: autocorrect, spellcheck: spellcheck, "aria-label": "Search", onChange: handleChange, rounded: rounded }), _jsxs(Button, { layout: btnShape, size: size, btnBackground: btnBackground, btnColor: btnColor, onClick: handleClick, disabled: disabled, title: "Submit", isBold: true, children: [icon ? _jsx(FaSearch, {}) : label, _jsx("span", { className: "sr-only", children: "Search" })] })] }));
|
|
20
|
+
};
|
|
21
|
+
export default SearchInput;
|
|
22
|
+
//# sourceMappingURL=SearchInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../../../src/ui/searchinput/SearchInput.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAInC,IAAM,WAAW,GAAG,UAAC,EAkBF;QAjBjB,YAAe,EAAf,IAAI,mBAAG,QAAQ,KAAA,EACf,UAAa,EAAb,EAAE,mBAAG,QAAQ,KAAA,EACb,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,aAAgB,EAAhB,KAAK,mBAAG,QAAQ,KAAA,EAChB,IAAI,UAAA,EACJ,cAAc,oBAAA,EACd,YAAW,EAAX,IAAI,mBAAG,IAAI,KAAA,EACX,eAAc,EAAd,OAAO,mBAAG,IAAI,KAAA,EACd,WAAW,iBAAA,EACX,mBAAgB,EAAhB,WAAW,mBAAG,EAAE,KAAA,EAChB,gBAAmB,EAAnB,QAAQ,mBAAG,QAAQ,KAAA,EACnB,qBAAsB,EAAtB,aAAa,mBAAG,MAAM,KAAA,EACtB,gBAAkB,EAAlB,QAAQ,mBAAG,OAAO,KAAA,EAClB,oBAAoB,EAApB,YAAY,mBAAG,KAAK,KAAA,EACpB,mBAAmB,EAAnB,WAAW,mBAAG,KAAK,KAAA,EACnB,kBAAkB,EAAlB,UAAU,mBAAG,KAAK,KAAA,EAClB,eAAa,EAAb,OAAO,mBAAG,GAAG,KAAA;IAEP,IAAA,KAA0B,QAAQ,CAAC,IAAI,CAAC,EAAvC,QAAQ,QAAA,EAAE,WAAW,QAAkB,CAAC;IAC/C,IAAM,KAAK,GAAG,MAAM,CAAmB,IAAK,CAAC,CAAC;IAE9C,IAAM,WAAW,GAAG;QAClB,IAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAClC,cAAc,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,IAAM,YAAY,GAAG,UAAC,CAAsC;QAC1D,IAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7B,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,OAAO,CACL,eACE,SAAS,EAAE,OAAO,CAChB,6CAAsC,OAAO,+BAA4B,EACzE,SAAS,CACV,iBACY,IAAI,aAEjB,KAAC,KAAK,IACJ,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,QAAQ,EACb,GAAG,EAAE,KAAK,iBACG,gBAAS,IAAI,CAAE,EAC5B,SAAS,EAAE,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC,EACjD,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,gBACX,QAAQ,EACnB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,OAAO,GAChB,EACF,MAAC,MAAM,IACL,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAC,QAAQ,EACd,MAAM,EAAE,IAAI,aAEX,IAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,KAAG,CAAC,CAAC,CAAC,KAAK,EAC5B,eAAM,SAAS,EAAC,SAAS,uBAAc,IAChC,IACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["\"use client\";\n\nimport React, { useState, useRef } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { FaSearch } from \"react-icons/fa\";\n\nimport { Input, Button } from \"..\";\n\nimport { SearchInputProps } from \"./types\";\n\nconst SearchInput = ({\n name = \"search\",\n id = \"search\",\n className = \"\",\n label = \"Search\",\n icon,\n onButtonSubmit,\n size = \"md\",\n rounded = \"md\",\n placeholder,\n inputStyles = \"\",\n btnShape = \"circle\",\n btnBackground = \"dark\",\n btnColor = \"light\",\n autocomplete = \"off\",\n autocorrect = \"off\",\n spellcheck = false,\n spacing = \"0\",\n}: SearchInputProps) => {\n const [disabled, setDisabled] = useState(true);\n const input = useRef<HTMLInputElement>(null!);\n\n const handleClick = () => {\n const value = input.current.value;\n onButtonSubmit(value);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n value ? setDisabled(false) : setDisabled(true);\n };\n\n return (\n <div\n className={twMerge(\n `search-box flex font-semi-bold gap-${spacing} text-dark dark:text-light`,\n className\n )}\n data-testid={name}\n >\n <Input\n name={name}\n id={id}\n type=\"search\"\n ref={input}\n data-testid={`input-${name}`}\n className={twMerge(`border-neutral`, inputStyles)}\n size={size}\n placeholder={placeholder}\n autocomplete={autocomplete}\n autocorrect={autocorrect}\n spellcheck={spellcheck}\n aria-label=\"Search\"\n onChange={handleChange}\n rounded={rounded}\n />\n <Button\n layout={btnShape}\n size={size}\n btnBackground={btnBackground}\n btnColor={btnColor}\n onClick={handleClick}\n disabled={disabled}\n title=\"Submit\"\n isBold={true}\n >\n {icon ? <FaSearch /> : label}\n <span className=\"sr-only\">Search</span>\n </Button>\n </div>\n );\n};\n\nexport default SearchInput;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/searchinput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA","sourcesContent":["export { default as SearchInput } from './SearchInput'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/searchinput/types/index.ts"],"names":[],"mappings":"","sourcesContent":["export interface SearchInputProps extends React.HTMLAttributes<HTMLDivElement> {\n\tname?: string\n\tid?: string\n\tlabel?: string\n\ticon?: boolean\n\tclassName?: string\n\tstyle?: React.CSSProperties\n\tonButtonSubmit: (value: string) => void\n\tsize?: 'sm' | 'md' | 'lg' | 'xl'\n\tplaceholder?: string\n\tinputStyles?: string\n\tbtnShape?: 'default' | 'square' | 'circle' | 'rounded'\n\tbtnBackground?: 'dark' | 'light' | 'primary' | 'secondary' | 'transparent'\n\tbtnColor?: 'dark' | 'light' | 'current'\n\tautocomplete?: 'off' | 'on'\n\tautocorrect?: 'on' | 'off'\n\tspellcheck?: boolean\n\tspacing?: '0' | '1' | '2'\n\trounded?: 'none' | 'md' | 'lg' | 'full'\n}\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useEffect, useMemo } from "react";
|
|
4
|
+
import { twMerge } from "tailwind-merge";
|
|
5
|
+
var sizes = {
|
|
6
|
+
sm: "text-sm",
|
|
7
|
+
md: "text-base",
|
|
8
|
+
lg: "text-lg",
|
|
9
|
+
xl: "text-xl",
|
|
10
|
+
};
|
|
11
|
+
var Select = function (_a) {
|
|
12
|
+
var _b = _a.className, className = _b === void 0 ? "" : _b, rows = _a.rows, _c = _a.dropdownSize, dropdownSize = _c === void 0 ? "md" : _c, onChange = _a.onChange, placeholder = _a.placeholder, _d = _a.name, name = _d === void 0 ? "select" : _d, disabled = _a.disabled, options = _a.options, children = _a.children, _e = _a.defaultValue, defaultValue = _e === void 0 ? "" : _e, _f = _a.rounded, rounded = _f === void 0 ? "none" : _f, nocaret = _a.nocaret, style = _a.style;
|
|
13
|
+
var _g = useState(), value = _g[0], setValue = _g[1];
|
|
14
|
+
useEffect(function () {
|
|
15
|
+
setValue(defaultValue);
|
|
16
|
+
}, [defaultValue]);
|
|
17
|
+
var handleChange = function (event) {
|
|
18
|
+
var value = event.target.value;
|
|
19
|
+
setValue(value);
|
|
20
|
+
if (onChange)
|
|
21
|
+
onChange(event);
|
|
22
|
+
};
|
|
23
|
+
var sizeClasses = useMemo(function () { return sizes[dropdownSize]; }, [dropdownSize]);
|
|
24
|
+
var renderOptions = function () {
|
|
25
|
+
return (Array.isArray(options) ? options : []).map(function (option) {
|
|
26
|
+
var optionValue = typeof option === "string" || typeof option === "number" ? option : option.value;
|
|
27
|
+
var optionLabel = typeof option === "string" || typeof option === "number" ? option : option.label;
|
|
28
|
+
return (_jsx("option", { value: optionValue, children: optionLabel }, optionValue));
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
return (_jsxs("select", { name: name, onChange: handleChange, value: value, size: rows, disabled: disabled, className: twMerge("form-select select-dropdown cursor-pointer border-2 border-slate-300 dark:border-slate-500 dark:bg-dark dark:text-light color-scheme:light font-normal dark:[color-scheme:dark] ".concat(sizeClasses, " rounded-").concat(rounded, " ").concat(nocaret ? "bg-none pr-3" : "bg-right"), className), style: style, "aria-label": "select", children: ["children ? ", children, " :", placeholder && (_jsx("option", { value: "", disabled: true, children: placeholder })), renderOptions()] }));
|
|
32
|
+
};
|
|
33
|
+
export default Select;
|
|
34
|
+
//# sourceMappingURL=Select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/ui/select/Select.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAIzC,IAAM,KAAK,GAAG;IACZ,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;CACd,CAAC;AAEF,IAAM,MAAM,GAAG,UAAC,EAcF;QAbZ,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,IAAI,UAAA,EACJ,oBAAmB,EAAnB,YAAY,mBAAG,IAAI,KAAA,EACnB,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,YAAe,EAAf,IAAI,mBAAG,QAAQ,KAAA,EACf,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,oBAAiB,EAAjB,YAAY,mBAAG,EAAE,KAAA,EACjB,eAAgB,EAAhB,OAAO,mBAAG,MAAM,KAAA,EAChB,OAAO,aAAA,EACP,KAAK,WAAA;IAEC,IAAA,KAAoB,QAAQ,EAAmB,EAA9C,KAAK,QAAA,EAAE,QAAQ,QAA+B,CAAC;IAEtD,SAAS,CAAC;QACR,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,IAAM,YAAY,GAAG,UAAC,KAA2C;QAC/D,IAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,IAAI,QAAQ;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG,OAAO,CAAC,cAAM,OAAA,KAAK,CAAC,YAAY,CAAC,EAAnB,CAAmB,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEvE,IAAM,aAAa,GAAG;QACpB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,MAAM;YACxD,IAAM,WAAW,GACf,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACnF,IAAM,WAAW,GACf,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAEnF,OAAO,CACL,iBAA0B,KAAK,EAAE,WAAW,YACzC,WAAW,IADD,WAAW,CAEf,CACV,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACL,kBACE,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,CAChB,0LAAmL,WAAW,sBAAY,OAAO,eAC/M,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CACrC,EACF,SAAS,CACV,EACD,KAAK,EAAE,KAAK,gBACD,QAAQ,4BAEP,QAAQ,QACnB,WAAW,IAAI,CACd,iBAAQ,KAAK,EAAC,EAAE,EAAC,QAAQ,kBACtB,WAAW,GACL,CACV,EACA,aAAa,EAAE,IACT,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["\"use client\";\n\nimport React, { useState, useEffect, useMemo } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { SelectProps } from \"./types\";\n\nconst sizes = {\n sm: \"text-sm\",\n md: \"text-base\",\n lg: \"text-lg\",\n xl: \"text-xl\",\n};\n\nconst Select = ({\n className = \"\",\n rows,\n dropdownSize = \"md\",\n onChange,\n placeholder,\n name = \"select\",\n disabled,\n options,\n children,\n defaultValue = \"\",\n rounded = \"none\",\n nocaret,\n style,\n}: SelectProps) => {\n const [value, setValue] = useState<string | number>();\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n const handleChange = (event: React.ChangeEvent<HTMLSelectElement>) => {\n const value = event.target.value;\n setValue(value);\n if (onChange) onChange(event);\n };\n\n const sizeClasses = useMemo(() => sizes[dropdownSize], [dropdownSize]);\n\n const renderOptions = () => {\n return (Array.isArray(options) ? options : []).map((option) => {\n const optionValue =\n typeof option === \"string\" || typeof option === \"number\" ? option : option.value;\n const optionLabel =\n typeof option === \"string\" || typeof option === \"number\" ? option : option.label;\n\n return (\n <option key={optionValue} value={optionValue}>\n {optionLabel}\n </option>\n );\n });\n };\n\n return (\n <select\n name={name}\n onChange={handleChange}\n value={value}\n size={rows}\n disabled={disabled}\n className={twMerge(\n `form-select select-dropdown cursor-pointer border-2 border-slate-300 dark:border-slate-500 dark:bg-dark dark:text-light color-scheme:light font-normal dark:[color-scheme:dark] ${sizeClasses} rounded-${rounded} ${\n nocaret ? \"bg-none pr-3\" : \"bg-right\"\n }`,\n className\n )}\n style={style}\n aria-label=\"select\"\n >\n children ? {children} :\n {placeholder && (\n <option value=\"\" disabled>\n {placeholder}\n </option>\n )}\n {renderOptions()}\n </select>\n );\n};\n\nexport default Select;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA","sourcesContent":["export { default as Select } from './Select'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/select/types/index.ts"],"names":[],"mappings":"","sourcesContent":["export interface Option {\n\tvalue: string | number\n\tlabel: string\n}\n\nexport interface SelectProps extends React.SelectHTMLAttributes<HTMLSelectElement> {\n\toptions?: string[] | number[] | Option[]\n\tchildren?: React.ReactNode\n\tonChange?: (event: React.ChangeEvent<HTMLSelectElement>) => void\n\tname?: string\n\tplaceholder?: string\n\tdefaultValue?: string | number\n\tdisabled?: boolean\n\trequired?: boolean\n\tnocaret?: boolean\n\tclassName?: string\n\tstyle?: React.CSSProperties\n\tdropdownSize?: 'sm' | 'md' | 'lg' | 'xl'\n\trounded?: 'none' | 'md' | 'lg' | 'full'\n\trows?: number\n}\n"]}
|