@arkyn/components 3.0.1-beta.17 → 3.0.1-beta.170
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/README.md +41 -0
- package/package.json +458 -20
- package/styles.d.ts +3 -0
- package/dist/bundle.js +0 -4292
- package/dist/bundle.umd.cjs +0 -30
- package/dist/documentation/src/app.d.ts +0 -3
- package/dist/documentation/src/app.d.ts.map +0 -1
- package/dist/documentation/src/app.js +0 -55
- package/dist/documentation/src/components/examples.alert.d.ts +0 -3
- package/dist/documentation/src/components/examples.alert.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.alert.js +0 -7
- package/dist/documentation/src/components/examples.audioPlayer.d.ts +0 -3
- package/dist/documentation/src/components/examples.audioPlayer.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.audioPlayer.js +0 -8
- package/dist/documentation/src/components/examples.badge.d.ts +0 -3
- package/dist/documentation/src/components/examples.badge.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.badge.js +0 -9
- package/dist/documentation/src/components/examples.button.d.ts +0 -3
- package/dist/documentation/src/components/examples.button.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.button.js +0 -9
- package/dist/documentation/src/components/examples.cardTab.d.ts +0 -3
- package/dist/documentation/src/components/examples.cardTab.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.cardTab.js +0 -7
- package/dist/documentation/src/components/examples.checkbox.d.ts +0 -3
- package/dist/documentation/src/components/examples.checkbox.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.checkbox.js +0 -13
- package/dist/documentation/src/components/examples.currencyInput.d.ts +0 -3
- package/dist/documentation/src/components/examples.currencyInput.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.currencyInput.js +0 -9
- package/dist/documentation/src/components/examples.divider.d.ts +0 -3
- package/dist/documentation/src/components/examples.divider.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.divider.js +0 -7
- package/dist/documentation/src/components/examples.drawer.d.ts +0 -3
- package/dist/documentation/src/components/examples.drawer.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.drawer.js +0 -11
- package/dist/documentation/src/components/examples.iconButton.d.ts +0 -3
- package/dist/documentation/src/components/examples.iconButton.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.iconButton.js +0 -9
- package/dist/documentation/src/components/examples.input.d.ts +0 -3
- package/dist/documentation/src/components/examples.input.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.input.js +0 -9
- package/dist/documentation/src/components/examples.maskedInput.d.ts +0 -3
- package/dist/documentation/src/components/examples.maskedInput.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.maskedInput.js +0 -9
- package/dist/documentation/src/components/examples.modal.d.ts +0 -3
- package/dist/documentation/src/components/examples.modal.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.modal.js +0 -10
- package/dist/documentation/src/components/examples.multiSelect.d.ts +0 -3
- package/dist/documentation/src/components/examples.multiSelect.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.multiSelect.js +0 -92
- package/dist/documentation/src/components/examples.phoneInput.d.ts +0 -3
- package/dist/documentation/src/components/examples.phoneInput.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.phoneInput.js +0 -26
- package/dist/documentation/src/components/examples.radio.d.ts +0 -3
- package/dist/documentation/src/components/examples.radio.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.radio.js +0 -11
- package/dist/documentation/src/components/examples.slider.d.ts +0 -3
- package/dist/documentation/src/components/examples.slider.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.slider.js +0 -10
- package/dist/documentation/src/components/examples.switch.d.ts +0 -3
- package/dist/documentation/src/components/examples.switch.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.switch.js +0 -20
- package/dist/documentation/src/components/examples.tab.d.ts +0 -3
- package/dist/documentation/src/components/examples.tab.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.tab.js +0 -7
- package/dist/documentation/src/components/examples.texarea.d.ts +0 -3
- package/dist/documentation/src/components/examples.texarea.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.texarea.js +0 -34
- package/dist/documentation/src/components/examples.tooltip.d.ts +0 -3
- package/dist/documentation/src/components/examples.tooltip.d.ts.map +0 -1
- package/dist/documentation/src/components/examples.tooltip.js +0 -8
- package/dist/documentation/src/main.d.ts +0 -3
- package/dist/documentation/src/main.d.ts.map +0 -1
- package/dist/documentation/src/main.js +0 -7
- package/dist/documentation/src/ui/box.d.ts +0 -8
- package/dist/documentation/src/ui/box.d.ts.map +0 -1
- package/dist/documentation/src/ui/box.js +0 -5
- package/dist/documentation/src/ui/row.d.ts +0 -7
- package/dist/documentation/src/ui/row.d.ts.map +0 -1
- package/dist/documentation/src/ui/row.js +0 -5
- package/dist/documentation/vite.config.d.ts +0 -3
- package/dist/documentation/vite.config.d.ts.map +0 -1
- package/dist/documentation/vite.config.js +0 -12
- package/dist/src/components/alert/alertContainer/index.d.ts +0 -44
- package/dist/src/components/alert/alertContainer/index.d.ts.map +0 -1
- package/dist/src/components/alert/alertContainer/index.js +0 -71
- package/dist/src/components/alert/alertContent/index.d.ts +0 -45
- package/dist/src/components/alert/alertContent/index.d.ts.map +0 -1
- package/dist/src/components/alert/alertContent/index.js +0 -47
- package/dist/src/components/alert/alertDescription/index.d.ts +0 -49
- package/dist/src/components/alert/alertDescription/index.d.ts.map +0 -1
- package/dist/src/components/alert/alertDescription/index.js +0 -51
- package/dist/src/components/alert/alertIcon/index.d.ts +0 -52
- package/dist/src/components/alert/alertIcon/index.d.ts.map +0 -1
- package/dist/src/components/alert/alertIcon/index.js +0 -66
- package/dist/src/components/alert/alertTitle/index.d.ts +0 -46
- package/dist/src/components/alert/alertTitle/index.d.ts.map +0 -1
- package/dist/src/components/alert/alertTitle/index.js +0 -48
- package/dist/src/components/audioPlayer/index.d.ts +0 -60
- package/dist/src/components/audioPlayer/index.d.ts.map +0 -1
- package/dist/src/components/audioPlayer/index.js +0 -130
- package/dist/src/components/badge/index.d.ts +0 -51
- package/dist/src/components/badge/index.d.ts.map +0 -1
- package/dist/src/components/badge/index.js +0 -49
- package/dist/src/components/button/index.d.ts +0 -60
- package/dist/src/components/button/index.d.ts.map +0 -1
- package/dist/src/components/button/index.js +0 -61
- package/dist/src/components/cardTab/cardTabButton/index.d.ts +0 -72
- package/dist/src/components/cardTab/cardTabButton/index.d.ts.map +0 -1
- package/dist/src/components/cardTab/cardTabButton/index.js +0 -80
- package/dist/src/components/cardTab/cardTabContainer/index.d.ts +0 -83
- package/dist/src/components/cardTab/cardTabContainer/index.d.ts.map +0 -1
- package/dist/src/components/cardTab/cardTabContainer/index.js +0 -88
- package/dist/src/components/cardTab/cardTabContext.d.ts +0 -16
- package/dist/src/components/cardTab/cardTabContext.d.ts.map +0 -1
- package/dist/src/components/cardTab/cardTabContext.js +0 -10
- package/dist/src/components/checkbox/index.d.ts +0 -73
- package/dist/src/components/checkbox/index.d.ts.map +0 -1
- package/dist/src/components/checkbox/index.js +0 -86
- package/dist/src/components/currencyInput/index.d.ts +0 -98
- package/dist/src/components/currencyInput/index.d.ts.map +0 -1
- package/dist/src/components/currencyInput/index.js +0 -140
- package/dist/src/components/divider/index.d.ts +0 -45
- package/dist/src/components/divider/index.d.ts.map +0 -1
- package/dist/src/components/divider/index.js +0 -45
- package/dist/src/components/drawer/drawerContainer/index.d.ts +0 -71
- package/dist/src/components/drawer/drawerContainer/index.d.ts.map +0 -1
- package/dist/src/components/drawer/drawerContainer/index.js +0 -75
- package/dist/src/components/drawer/drawerContext.d.ts +0 -12
- package/dist/src/components/drawer/drawerContext.d.ts.map +0 -1
- package/dist/src/components/drawer/drawerContext.js +0 -10
- package/dist/src/components/drawer/drawerHeader/index.d.ts +0 -55
- package/dist/src/components/drawer/drawerHeader/index.d.ts.map +0 -1
- package/dist/src/components/drawer/drawerHeader/index.js +0 -58
- package/dist/src/components/fieldError/index.d.ts +0 -29
- package/dist/src/components/fieldError/index.d.ts.map +0 -1
- package/dist/src/components/fieldError/index.js +0 -33
- package/dist/src/components/fieldLabel/index.d.ts +0 -38
- package/dist/src/components/fieldLabel/index.d.ts.map +0 -1
- package/dist/src/components/fieldLabel/index.js +0 -39
- package/dist/src/components/fieldWrapper/index.d.ts +0 -41
- package/dist/src/components/fieldWrapper/index.d.ts.map +0 -1
- package/dist/src/components/fieldWrapper/index.js +0 -41
- package/dist/src/components/iconButton/index.d.ts +0 -44
- package/dist/src/components/iconButton/index.d.ts.map +0 -1
- package/dist/src/components/iconButton/index.js +0 -41
- package/dist/src/components/input/index.d.ts +0 -81
- package/dist/src/components/input/index.d.ts.map +0 -1
- package/dist/src/components/input/index.js +0 -112
- package/dist/src/components/maskedInput/index.d.ts +0 -103
- package/dist/src/components/maskedInput/index.d.ts.map +0 -1
- package/dist/src/components/maskedInput/index.js +0 -130
- package/dist/src/components/modal/modalContainer/index.d.ts +0 -78
- package/dist/src/components/modal/modalContainer/index.d.ts.map +0 -1
- package/dist/src/components/modal/modalContainer/index.js +0 -82
- package/dist/src/components/modal/modalContext.d.ts +0 -12
- package/dist/src/components/modal/modalContext.d.ts.map +0 -1
- package/dist/src/components/modal/modalContext.js +0 -10
- package/dist/src/components/modal/modalFooter/index.d.ts +0 -72
- package/dist/src/components/modal/modalFooter/index.d.ts.map +0 -1
- package/dist/src/components/modal/modalFooter/index.js +0 -72
- package/dist/src/components/modal/modalHeader/index.d.ts +0 -66
- package/dist/src/components/modal/modalHeader/index.d.ts.map +0 -1
- package/dist/src/components/modal/modalHeader/index.js +0 -69
- package/dist/src/components/multiSelect/index.d.ts +0 -125
- package/dist/src/components/multiSelect/index.d.ts.map +0 -1
- package/dist/src/components/multiSelect/index.js +0 -169
- package/dist/src/components/multiSelect/multiSelectChevron/index.d.ts +0 -11
- package/dist/src/components/multiSelect/multiSelectChevron/index.d.ts.map +0 -1
- package/dist/src/components/multiSelect/multiSelectChevron/index.js +0 -13
- package/dist/src/components/multiSelect/multiSelectContainer/index.d.ts +0 -19
- package/dist/src/components/multiSelect/multiSelectContainer/index.d.ts.map +0 -1
- package/dist/src/components/multiSelect/multiSelectContainer/index.js +0 -11
- package/dist/src/components/multiSelect/multiSelectContent/index.d.ts +0 -9
- package/dist/src/components/multiSelect/multiSelectContent/index.d.ts.map +0 -1
- package/dist/src/components/multiSelect/multiSelectContent/index.js +0 -8
- package/dist/src/components/multiSelect/multiSelectMark/index.d.ts +0 -10
- package/dist/src/components/multiSelect/multiSelectMark/index.d.ts.map +0 -1
- package/dist/src/components/multiSelect/multiSelectMark/index.js +0 -11
- package/dist/src/components/multiSelect/multiSelectOption/index.d.ts +0 -11
- package/dist/src/components/multiSelect/multiSelectOption/index.d.ts.map +0 -1
- package/dist/src/components/multiSelect/multiSelectOption/index.js +0 -10
- package/dist/src/components/multiSelect/multiSelectOptionsContainer/index.d.ts +0 -12
- package/dist/src/components/multiSelect/multiSelectOptionsContainer/index.d.ts.map +0 -1
- package/dist/src/components/multiSelect/multiSelectOptionsContainer/index.js +0 -44
- package/dist/src/components/multiSelect/multiSelectOverlay/index.d.ts +0 -8
- package/dist/src/components/multiSelect/multiSelectOverlay/index.d.ts.map +0 -1
- package/dist/src/components/multiSelect/multiSelectOverlay/index.js +0 -9
- package/dist/src/components/multiSelect/multiSelectSpinner/index.d.ts +0 -8
- package/dist/src/components/multiSelect/multiSelectSpinner/index.d.ts.map +0 -1
- package/dist/src/components/multiSelect/multiSelectSpinner/index.js +0 -10
- package/dist/src/components/phoneInput/index.d.ts +0 -127
- package/dist/src/components/phoneInput/index.d.ts.map +0 -1
- package/dist/src/components/phoneInput/index.js +0 -202
- package/dist/src/components/phoneInput/phoneInputContainer/index.d.ts +0 -18
- package/dist/src/components/phoneInput/phoneInputContainer/index.d.ts.map +0 -1
- package/dist/src/components/phoneInput/phoneInputContainer/index.js +0 -11
- package/dist/src/components/phoneInput/phoneInputCountriesOverlay/index.d.ts +0 -8
- package/dist/src/components/phoneInput/phoneInputCountriesOverlay/index.d.ts.map +0 -1
- package/dist/src/components/phoneInput/phoneInputCountriesOverlay/index.js +0 -9
- package/dist/src/components/phoneInput/phoneInputCountryOption/index.d.ts +0 -18
- package/dist/src/components/phoneInput/phoneInputCountryOption/index.d.ts.map +0 -1
- package/dist/src/components/phoneInput/phoneInputCountryOption/index.js +0 -10
- package/dist/src/components/phoneInput/phoneInputCountryOptionsContainer/index.d.ts +0 -12
- package/dist/src/components/phoneInput/phoneInputCountryOptionsContainer/index.d.ts.map +0 -1
- package/dist/src/components/phoneInput/phoneInputCountryOptionsContainer/index.js +0 -40
- package/dist/src/components/phoneInput/phoneInputCountrySelector/index.d.ts +0 -17
- package/dist/src/components/phoneInput/phoneInputCountrySelector/index.d.ts.map +0 -1
- package/dist/src/components/phoneInput/phoneInputCountrySelector/index.js +0 -9
- package/dist/src/components/phoneInput/phoneInputMask/index.d.ts +0 -21
- package/dist/src/components/phoneInput/phoneInputMask/index.d.ts.map +0 -1
- package/dist/src/components/phoneInput/phoneInputMask/index.js +0 -34
- package/dist/src/components/radio/radioBox/index.d.ts +0 -85
- package/dist/src/components/radio/radioBox/index.d.ts.map +0 -1
- package/dist/src/components/radio/radioBox/index.js +0 -90
- package/dist/src/components/radio/radioContext.d.ts +0 -18
- package/dist/src/components/radio/radioContext.d.ts.map +0 -1
- package/dist/src/components/radio/radioContext.js +0 -11
- package/dist/src/components/radio/radioGroup/index.d.ts +0 -92
- package/dist/src/components/radio/radioGroup/index.d.ts.map +0 -1
- package/dist/src/components/radio/radioGroup/index.js +0 -100
- package/dist/src/components/slider/index.d.ts +0 -57
- package/dist/src/components/slider/index.d.ts.map +0 -1
- package/dist/src/components/slider/index.js +0 -97
- package/dist/src/components/switch/index.d.ts +0 -94
- package/dist/src/components/switch/index.d.ts.map +0 -1
- package/dist/src/components/switch/index.js +0 -99
- package/dist/src/components/tab/tabButton/index.d.ts +0 -72
- package/dist/src/components/tab/tabButton/index.d.ts.map +0 -1
- package/dist/src/components/tab/tabButton/index.js +0 -80
- package/dist/src/components/tab/tabContainer/index.d.ts +0 -83
- package/dist/src/components/tab/tabContainer/index.d.ts.map +0 -1
- package/dist/src/components/tab/tabContainer/index.js +0 -88
- package/dist/src/components/tab/tabContext.d.ts +0 -16
- package/dist/src/components/tab/tabContext.d.ts.map +0 -1
- package/dist/src/components/tab/tabContext.js +0 -10
- package/dist/src/components/textarea/index.d.ts +0 -103
- package/dist/src/components/textarea/index.d.ts.map +0 -1
- package/dist/src/components/textarea/index.js +0 -127
- package/dist/src/components/tooltip/index.d.ts +0 -80
- package/dist/src/components/tooltip/index.d.ts.map +0 -1
- package/dist/src/components/tooltip/index.js +0 -135
- package/dist/src/hooks/useForm.d.ts +0 -52
- package/dist/src/hooks/useForm.d.ts.map +0 -1
- package/dist/src/hooks/useForm.js +0 -52
- package/dist/src/hooks/useScopedParams.d.ts +0 -89
- package/dist/src/hooks/useScopedParams.d.ts.map +0 -1
- package/dist/src/hooks/useScopedParams.js +0 -107
- package/dist/src/hooks/useScrollLock.d.ts +0 -39
- package/dist/src/hooks/useScrollLock.d.ts.map +0 -1
- package/dist/src/hooks/useScrollLock.js +0 -49
- package/dist/src/hooks/useSlider.d.ts +0 -31
- package/dist/src/hooks/useSlider.d.ts.map +0 -1
- package/dist/src/hooks/useSlider.js +0 -49
- package/dist/src/index.d.ts +0 -40
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -42
- package/dist/src/providers/formProvider.d.ts +0 -76
- package/dist/src/providers/formProvider.d.ts.map +0 -1
- package/dist/src/providers/formProvider.js +0 -69
- package/dist/src/services/iconRenderer.d.ts +0 -10
- package/dist/src/services/iconRenderer.d.ts.map +0 -1
- package/dist/src/services/iconRenderer.js +0 -13
- package/dist/src/services/maskCurrencyValues.d.ts +0 -4
- package/dist/src/services/maskCurrencyValues.d.ts.map +0 -1
- package/dist/src/services/maskCurrencyValues.js +0 -23
- package/dist/src/utils/phoneInputUtilities.d.ts +0 -1722
- package/dist/src/utils/phoneInputUtilities.d.ts.map +0 -1
- package/dist/src/utils/phoneInputUtilities.js +0 -99
- package/dist/style.css +0 -1
- package/dist/vite.config.d.ts +0 -3
- package/dist/vite.config.d.ts.map +0 -1
- package/dist/vite.config.js +0 -24
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -4
- package/documentation/css/reset.css +0 -38
- package/documentation/css/variables.css +0 -41
- package/documentation/index.html +0 -13
- package/documentation/src/app.tsx +0 -93
- package/documentation/src/components/examples.alert.tsx +0 -49
- package/documentation/src/components/examples.audioPlayer.tsx +0 -16
- package/documentation/src/components/examples.badge.tsx +0 -38
- package/documentation/src/components/examples.button.tsx +0 -66
- package/documentation/src/components/examples.cardTab.tsx +0 -36
- package/documentation/src/components/examples.checkbox.tsx +0 -94
- package/documentation/src/components/examples.currencyInput.tsx +0 -263
- package/documentation/src/components/examples.divider.tsx +0 -12
- package/documentation/src/components/examples.drawer.tsx +0 -43
- package/documentation/src/components/examples.iconButton.tsx +0 -78
- package/documentation/src/components/examples.input.tsx +0 -256
- package/documentation/src/components/examples.maskedInput.tsx +0 -274
- package/documentation/src/components/examples.modal.tsx +0 -31
- package/documentation/src/components/examples.multiSelect.tsx +0 -320
- package/documentation/src/components/examples.phoneInput.tsx +0 -262
- package/documentation/src/components/examples.radio.tsx +0 -149
- package/documentation/src/components/examples.slider.tsx +0 -28
- package/documentation/src/components/examples.switch.tsx +0 -180
- package/documentation/src/components/examples.tab.tsx +0 -36
- package/documentation/src/components/examples.texarea.tsx +0 -188
- package/documentation/src/components/examples.tooltip.tsx +0 -45
- package/documentation/src/main.tsx +0 -12
- package/documentation/src/ui/box.tsx +0 -17
- package/documentation/src/ui/row.tsx +0 -11
- package/documentation/vite.config.ts +0 -13
- package/src/components/alert/alertContainer/index.tsx +0 -87
- package/src/components/alert/alertContainer/styles.css +0 -33
- package/src/components/alert/alertContent/index.tsx +0 -53
- package/src/components/alert/alertContent/styles.css +0 -5
- package/src/components/alert/alertDescription/index.tsx +0 -57
- package/src/components/alert/alertDescription/styles.css +0 -7
- package/src/components/alert/alertIcon/index.tsx +0 -79
- package/src/components/alert/alertIcon/styles.css +0 -23
- package/src/components/alert/alertTitle/index.tsx +0 -54
- package/src/components/alert/alertTitle/styles.css +0 -7
- package/src/components/audioPlayer/index.tsx +0 -187
- package/src/components/audioPlayer/styles.css +0 -50
- package/src/components/badge/index.tsx +0 -80
- package/src/components/badge/styles.css +0 -145
- package/src/components/button/index.tsx +0 -104
- package/src/components/button/styles.css +0 -208
- package/src/components/cardTab/cardTabButton/index.tsx +0 -114
- package/src/components/cardTab/cardTabButton/styles.css +0 -30
- package/src/components/cardTab/cardTabContainer/index.tsx +0 -121
- package/src/components/cardTab/cardTabContainer/styles.css +0 -9
- package/src/components/cardTab/cardTabContext.tsx +0 -30
- package/src/components/checkbox/index.tsx +0 -158
- package/src/components/checkbox/styles.css +0 -78
- package/src/components/currencyInput/index.tsx +0 -312
- package/src/components/currencyInput/style.css +0 -226
- package/src/components/divider/index.tsx +0 -58
- package/src/components/divider/styles.css +0 -17
- package/src/components/drawer/drawerContainer/index.tsx +0 -123
- package/src/components/drawer/drawerContainer/styles.css +0 -46
- package/src/components/drawer/drawerContext.tsx +0 -26
- package/src/components/drawer/drawerHeader/index.tsx +0 -88
- package/src/components/drawer/drawerHeader/styles.css +0 -38
- package/src/components/fieldError/index.tsx +0 -43
- package/src/components/fieldError/styles.css +0 -6
- package/src/components/fieldLabel/index.tsx +0 -52
- package/src/components/fieldLabel/styles.css +0 -15
- package/src/components/fieldWrapper/index.tsx +0 -54
- package/src/components/fieldWrapper/styles.css +0 -7
- package/src/components/iconButton/index.tsx +0 -83
- package/src/components/iconButton/styles.css +0 -166
- package/src/components/input/index.tsx +0 -233
- package/src/components/input/style.css +0 -226
- package/src/components/maskedInput/index.tsx +0 -260
- package/src/components/maskedInput/style.css +0 -226
- package/src/components/modal/modalContainer/index.tsx +0 -127
- package/src/components/modal/modalContainer/styles.css +0 -37
- package/src/components/modal/modalContext.tsx +0 -26
- package/src/components/modal/modalFooter/index.tsx +0 -80
- package/src/components/modal/modalFooter/styles.css +0 -27
- package/src/components/modal/modalHeader/index.tsx +0 -99
- package/src/components/modal/modalHeader/styles.css +0 -38
- package/src/components/multiSelect/index.tsx +0 -319
- package/src/components/multiSelect/multiSelectChevron/index.tsx +0 -26
- package/src/components/multiSelect/multiSelectChevron/styles.css +0 -7
- package/src/components/multiSelect/multiSelectContainer/index.tsx +0 -51
- package/src/components/multiSelect/multiSelectContainer/styles.css +0 -134
- package/src/components/multiSelect/multiSelectContent/index.tsx +0 -15
- package/src/components/multiSelect/multiSelectContent/styles.css +0 -24
- package/src/components/multiSelect/multiSelectMark/index.tsx +0 -32
- package/src/components/multiSelect/multiSelectMark/styles.css +0 -44
- package/src/components/multiSelect/multiSelectOption/index.tsx +0 -25
- package/src/components/multiSelect/multiSelectOption/styles.css +0 -37
- package/src/components/multiSelect/multiSelectOptionsContainer/index.tsx +0 -81
- package/src/components/multiSelect/multiSelectOptionsContainer/styles.css +0 -45
- package/src/components/multiSelect/multiSelectOverlay/index.tsx +0 -14
- package/src/components/multiSelect/multiSelectOverlay/styles.css +0 -8
- package/src/components/multiSelect/multiSelectSpinner/index.tsx +0 -22
- package/src/components/multiSelect/multiSelectSpinner/styles.css +0 -12
- package/src/components/phoneInput/index.tsx +0 -332
- package/src/components/phoneInput/phoneInputContainer/index.tsx +0 -46
- package/src/components/phoneInput/phoneInputContainer/styles.css +0 -59
- package/src/components/phoneInput/phoneInputCountriesOverlay/index.tsx +0 -16
- package/src/components/phoneInput/phoneInputCountriesOverlay/styles.css +0 -8
- package/src/components/phoneInput/phoneInputCountryOption/index.tsx +0 -35
- package/src/components/phoneInput/phoneInputCountryOption/styles.css +0 -50
- package/src/components/phoneInput/phoneInputCountryOptionsContainer/index.tsx +0 -77
- package/src/components/phoneInput/phoneInputCountryOptionsContainer/styles.css +0 -59
- package/src/components/phoneInput/phoneInputCountrySelector/index.tsx +0 -37
- package/src/components/phoneInput/phoneInputCountrySelector/styles.css +0 -26
- package/src/components/phoneInput/phoneInputMask/index.tsx +0 -105
- package/src/components/phoneInput/phoneInputMask/style.css +0 -36
- package/src/components/radio/radioBox/index.tsx +0 -124
- package/src/components/radio/radioBox/styles.css +0 -95
- package/src/components/radio/radioContext.tsx +0 -34
- package/src/components/radio/radioGroup/index.tsx +0 -150
- package/src/components/radio/radioGroup/styles.css +0 -5
- package/src/components/slider/index.tsx +0 -132
- package/src/components/slider/styles.css +0 -45
- package/src/components/switch/index.tsx +0 -156
- package/src/components/switch/styles.css +0 -90
- package/src/components/tab/tabButton/index.tsx +0 -114
- package/src/components/tab/tabButton/styles.css +0 -41
- package/src/components/tab/tabContainer/index.tsx +0 -121
- package/src/components/tab/tabContainer/styles.css +0 -11
- package/src/components/tab/tabContext.tsx +0 -28
- package/src/components/textarea/index.tsx +0 -193
- package/src/components/textarea/styles.css +0 -93
- package/src/components/tooltip/index.tsx +0 -172
- package/src/components/tooltip/styles.css +0 -112
- package/src/hooks/useForm.ts +0 -55
- package/src/hooks/useScopedParams.ts +0 -111
- package/src/hooks/useScrollLock.ts +0 -52
- package/src/hooks/useSlider.ts +0 -52
- package/src/index.ts +0 -44
- package/src/providers/formProvider.tsx +0 -88
- package/src/services/iconRenderer.tsx +0 -23
- package/src/services/maskCurrencyValues.ts +0 -54
- package/src/utils/phoneInputUtilities.ts +0 -138
- package/tsconfig.json +0 -35
- package/variables.css +0 -41
- package/vite.config.ts +0 -24
- package/vitest.config.ts +0 -5
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { createContext, HTMLAttributes, ReactNode, useContext } from "react";
|
|
2
|
-
import { AlertTitle } from "../alertTitle";
|
|
3
|
-
import "./styles.css";
|
|
4
|
-
|
|
5
|
-
type AlertContainerProps = {
|
|
6
|
-
schema: "success" | "danger" | "warning" | "info";
|
|
7
|
-
} & HTMLAttributes<HTMLDivElement>;
|
|
8
|
-
|
|
9
|
-
const AlertContainerContext = createContext({} as AlertContainerProps);
|
|
10
|
-
|
|
11
|
-
function useAlertContainer() {
|
|
12
|
-
return useContext(AlertContainerContext);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* AlertContainer component - used to display alert messages with different schemas
|
|
17
|
-
*
|
|
18
|
-
* @param props - AlertContainer component properties
|
|
19
|
-
* @param props.schema - Alert color scheme and semantic meaning: "success" | "danger" | "warning" | "info"
|
|
20
|
-
*
|
|
21
|
-
* **...Other valid HTML properties for div**
|
|
22
|
-
*
|
|
23
|
-
* @returns AlertContainer JSX element with context provider
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```tsx
|
|
27
|
-
* // Basic alert
|
|
28
|
-
* <AlertContainer schema="info">
|
|
29
|
-
* Alert message content
|
|
30
|
-
* </AlertContainer>
|
|
31
|
-
*
|
|
32
|
-
* // Success alert
|
|
33
|
-
* <AlertContainer schema="success">
|
|
34
|
-
* Operation completed successfully!
|
|
35
|
-
* </AlertContainer>
|
|
36
|
-
*
|
|
37
|
-
* // Alert with title
|
|
38
|
-
* <AlertContainer schema="warning">
|
|
39
|
-
* <AlertTitle>Warning</AlertTitle>
|
|
40
|
-
* Please check your input data.
|
|
41
|
-
* </AlertContainer>
|
|
42
|
-
*
|
|
43
|
-
* // Danger alert
|
|
44
|
-
* <AlertContainer schema="danger">
|
|
45
|
-
* <AlertTitle>Error</AlertTitle>
|
|
46
|
-
* Something went wrong. Please try again.
|
|
47
|
-
* </AlertContainer>
|
|
48
|
-
* ```
|
|
49
|
-
*/
|
|
50
|
-
|
|
51
|
-
function AlertContainer(props: AlertContainerProps) {
|
|
52
|
-
const { schema, children, className: baseClassName, ...rest } = props;
|
|
53
|
-
|
|
54
|
-
const hasAlertTitle = (children: ReactNode): boolean => {
|
|
55
|
-
let found = false;
|
|
56
|
-
const searchForAlertTitle = (nodes: ReactNode) => {
|
|
57
|
-
if (Array.isArray(nodes)) {
|
|
58
|
-
nodes.forEach(searchForAlertTitle);
|
|
59
|
-
} else if (nodes && typeof nodes === "object" && "type" in nodes) {
|
|
60
|
-
if (nodes.type === AlertTitle) {
|
|
61
|
-
found = true;
|
|
62
|
-
} else if (nodes.props && nodes.props.children) {
|
|
63
|
-
searchForAlertTitle(nodes.props.children);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
searchForAlertTitle(children);
|
|
68
|
-
return found;
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
const shouldAlignCenter = !hasAlertTitle(children);
|
|
72
|
-
const finalClassName = shouldAlignCenter
|
|
73
|
-
? "nonExistsAlertTitle"
|
|
74
|
-
: "existsAlertTitle";
|
|
75
|
-
|
|
76
|
-
const className = `arkynAlertContainer ${schema} ${finalClassName} ${baseClassName}`;
|
|
77
|
-
|
|
78
|
-
return (
|
|
79
|
-
<AlertContainerContext.Provider value={props}>
|
|
80
|
-
<div className={className.trim()} {...rest}>
|
|
81
|
-
{children}
|
|
82
|
-
</div>
|
|
83
|
-
</AlertContainerContext.Provider>
|
|
84
|
-
);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
export { AlertContainer, useAlertContainer };
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
.arkynAlertContainer {
|
|
2
|
-
display: flex;
|
|
3
|
-
align-items: start;
|
|
4
|
-
gap: 16px;
|
|
5
|
-
padding: 16px;
|
|
6
|
-
|
|
7
|
-
border: 1px solid transparent;
|
|
8
|
-
border-radius: 6px;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.arkynAlertContainer.nonExistsAlertTitle {
|
|
12
|
-
align-items: center;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.arkynAlertContainer.danger {
|
|
16
|
-
background: rgba(var(--spotlight-danger), 0.1);
|
|
17
|
-
border-color: rgba(var(--spotlight-danger), 0.4);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.arkynAlertContainer.success {
|
|
21
|
-
background: rgba(var(--spotlight-success), 0.1);
|
|
22
|
-
border-color: rgba(var(--spotlight-success), 0.4);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.arkynAlertContainer.info {
|
|
26
|
-
background: rgba(var(--spotlight-info), 0.1);
|
|
27
|
-
border-color: rgba(var(--spotlight-info), 0.4);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.arkynAlertContainer.warning {
|
|
31
|
-
background: rgba(var(--spotlight-warning), 0.1);
|
|
32
|
-
border-color: rgba(var(--spotlight-warning), 0.4);
|
|
33
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { HTMLAttributes } from "react";
|
|
2
|
-
import "./styles.css";
|
|
3
|
-
|
|
4
|
-
type AlertContentProps = HTMLAttributes<HTMLDivElement>;
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* AlertContent component - used to wrap and style the main content area of alerts
|
|
8
|
-
*
|
|
9
|
-
* @param props - AlertContent component properties
|
|
10
|
-
*
|
|
11
|
-
* **...Other valid HTML properties for div**
|
|
12
|
-
*
|
|
13
|
-
* @returns AlertContent JSX element
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```tsx
|
|
17
|
-
* // Basic alert content
|
|
18
|
-
* <AlertContainer schema="info">
|
|
19
|
-
* <AlertContent>
|
|
20
|
-
* This is the main alert message content.
|
|
21
|
-
* </AlertContent>
|
|
22
|
-
* </AlertContainer>
|
|
23
|
-
*
|
|
24
|
-
* // Alert with title and content
|
|
25
|
-
* <AlertContainer schema="success">
|
|
26
|
-
* <AlertContent>
|
|
27
|
-
* <AlertTitle>Success</AlertTitle>
|
|
28
|
-
* Your operation has been completed successfully.
|
|
29
|
-
* </AlertContent>
|
|
30
|
-
* </AlertContainer>
|
|
31
|
-
*
|
|
32
|
-
* // Multiple content sections
|
|
33
|
-
* <AlertContainer schema="warning">
|
|
34
|
-
* <AlertContent>
|
|
35
|
-
* <AlertTitle>Warning</AlertTitle>
|
|
36
|
-
* <p>Please review the following items:</p>
|
|
37
|
-
* <ul>
|
|
38
|
-
* <li>Check your input data</li>
|
|
39
|
-
* <li>Verify permissions</li>
|
|
40
|
-
* </ul>
|
|
41
|
-
* </AlertContent>
|
|
42
|
-
* </AlertContainer>
|
|
43
|
-
* ```
|
|
44
|
-
*/
|
|
45
|
-
|
|
46
|
-
function AlertContent(props: AlertContentProps) {
|
|
47
|
-
const { className: baseClassName, ...rest } = props;
|
|
48
|
-
const className = `arkynAlertContent ${baseClassName}`;
|
|
49
|
-
|
|
50
|
-
return <div className={className.trim()} {...rest} />;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export { AlertContent };
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { HTMLAttributes } from "react";
|
|
2
|
-
import "./styles.css";
|
|
3
|
-
|
|
4
|
-
type AlertDescriptionProps = HTMLAttributes<HTMLDivElement>;
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* AlertDescription component - used to display additional descriptive text in alerts
|
|
8
|
-
*
|
|
9
|
-
* @param props - AlertDescription component properties
|
|
10
|
-
*
|
|
11
|
-
* **...Other valid HTML properties for div**
|
|
12
|
-
*
|
|
13
|
-
* @returns AlertDescription JSX element
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```tsx
|
|
17
|
-
* // Basic alert with description
|
|
18
|
-
* <AlertContainer schema="info">
|
|
19
|
-
* <AlertContent>
|
|
20
|
-
* <AlertTitle>Information</AlertTitle>
|
|
21
|
-
* <AlertDescription>
|
|
22
|
-
* This is additional information to help you understand the context.
|
|
23
|
-
* </AlertDescription>
|
|
24
|
-
* </AlertContent>
|
|
25
|
-
* </AlertContainer>
|
|
26
|
-
*
|
|
27
|
-
* // Success alert with description
|
|
28
|
-
* <AlertContainer schema="success">
|
|
29
|
-
* <AlertContent>
|
|
30
|
-
* <AlertTitle>Upload Complete</AlertTitle>
|
|
31
|
-
* <AlertDescription>
|
|
32
|
-
* Your file has been successfully uploaded and processed.
|
|
33
|
-
* </AlertDescription>
|
|
34
|
-
* </AlertContent>
|
|
35
|
-
* </AlertContainer>
|
|
36
|
-
*
|
|
37
|
-
* // Warning with detailed description
|
|
38
|
-
* <AlertContainer schema="warning">
|
|
39
|
-
* <AlertContent>
|
|
40
|
-
* <AlertTitle>Storage Limit</AlertTitle>
|
|
41
|
-
* <AlertDescription>
|
|
42
|
-
* You have used 90% of your storage quota. Consider upgrading your plan
|
|
43
|
-
* or removing unused files.
|
|
44
|
-
* </AlertDescription>
|
|
45
|
-
* </AlertContent>
|
|
46
|
-
* </AlertContainer>
|
|
47
|
-
* ```
|
|
48
|
-
*/
|
|
49
|
-
|
|
50
|
-
function AlertDescription(props: AlertDescriptionProps) {
|
|
51
|
-
const { className: baseClassName, ...rest } = props;
|
|
52
|
-
const className = `arkynAlertDescription ${baseClassName}`;
|
|
53
|
-
|
|
54
|
-
return <div className={className.trim()} {...rest} />;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export { AlertDescription };
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AlertTriangle,
|
|
3
|
-
CheckCircle2,
|
|
4
|
-
Info,
|
|
5
|
-
LucideProps,
|
|
6
|
-
XCircle,
|
|
7
|
-
} from "lucide-react";
|
|
8
|
-
|
|
9
|
-
import { useAlertContainer } from "../alertContainer";
|
|
10
|
-
import "./styles.css";
|
|
11
|
-
|
|
12
|
-
type AlertIconProps = LucideProps;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* AlertIcon component - automatically displays the appropriate icon based on the alert schema
|
|
16
|
-
*
|
|
17
|
-
* @param props - AlertIcon component properties
|
|
18
|
-
*
|
|
19
|
-
* **...Other valid Lucide icon properties**
|
|
20
|
-
*
|
|
21
|
-
* @returns AlertIcon JSX element with schema-specific icon
|
|
22
|
-
*
|
|
23
|
-
* @description
|
|
24
|
-
* This component automatically selects and renders the appropriate icon based on the
|
|
25
|
-
* AlertContainer's schema context:
|
|
26
|
-
* - success: CheckCircle2 icon
|
|
27
|
-
* - danger: XCircle icon
|
|
28
|
-
* - warning: AlertTriangle icon
|
|
29
|
-
* - info: Info icon
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* ```tsx
|
|
33
|
-
* // Basic usage - icon automatically matches container schema
|
|
34
|
-
* <AlertContainer schema="success">
|
|
35
|
-
* <AlertIcon />
|
|
36
|
-
* <AlertContent>
|
|
37
|
-
* <AlertTitle>Success</AlertTitle>
|
|
38
|
-
* <AlertDescription>Operation completed successfully.</AlertDescription>
|
|
39
|
-
* </AlertContent>
|
|
40
|
-
* </AlertContainer>
|
|
41
|
-
*
|
|
42
|
-
* // Warning alert with icon
|
|
43
|
-
* <AlertContainer schema="warning">
|
|
44
|
-
* <AlertIcon />
|
|
45
|
-
* <AlertContent>
|
|
46
|
-
* Please review your input before proceeding.
|
|
47
|
-
* </AlertContent>
|
|
48
|
-
* </AlertContainer>
|
|
49
|
-
*
|
|
50
|
-
* // Custom icon size
|
|
51
|
-
* <AlertContainer schema="danger">
|
|
52
|
-
* <AlertIcon size={24} />
|
|
53
|
-
* <AlertContent>
|
|
54
|
-
* <AlertTitle>Error</AlertTitle>
|
|
55
|
-
* <AlertDescription>Something went wrong.</AlertDescription>
|
|
56
|
-
* </AlertContent>
|
|
57
|
-
* </AlertContainer>
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
60
|
-
|
|
61
|
-
function AlertIcon(props: AlertIconProps) {
|
|
62
|
-
const { className: baseClassName, ...rest } = props;
|
|
63
|
-
const { schema } = useAlertContainer();
|
|
64
|
-
|
|
65
|
-
const className = `arkynAlertIcon ${schema} ${baseClassName}`;
|
|
66
|
-
|
|
67
|
-
switch (schema) {
|
|
68
|
-
case "success":
|
|
69
|
-
return <CheckCircle2 className={className} {...rest} />;
|
|
70
|
-
case "danger":
|
|
71
|
-
return <XCircle className={className} {...rest} />;
|
|
72
|
-
case "warning":
|
|
73
|
-
return <AlertTriangle className={className} {...rest} />;
|
|
74
|
-
case "info":
|
|
75
|
-
return <Info className={className} {...rest} />;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export { AlertIcon };
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
.arkynAlertIcon {
|
|
2
|
-
min-width: 28px;
|
|
3
|
-
min-height: 28px;
|
|
4
|
-
|
|
5
|
-
max-width: 28px;
|
|
6
|
-
max-height: 28px;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.arkynAlertIcon.danger {
|
|
10
|
-
color: rgba(var(--spotlight-danger), 1);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.arkynAlertIcon.success {
|
|
14
|
-
color: rgba(var(--spotlight-success), 1);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.arkynAlertIcon.info {
|
|
18
|
-
color: rgba(var(--spotlight-info), 1);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.arkynAlertIcon.warning {
|
|
22
|
-
color: rgba(var(--spotlight-warning), 1);
|
|
23
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { HTMLAttributes } from "react";
|
|
2
|
-
import "./styles.css";
|
|
3
|
-
|
|
4
|
-
type AlertTitleProps = HTMLAttributes<HTMLDivElement>;
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* AlertTitle component - used to display the main title/heading of alerts
|
|
8
|
-
*
|
|
9
|
-
* @param props - AlertTitle component properties
|
|
10
|
-
*
|
|
11
|
-
* **...Other valid HTML properties for div**
|
|
12
|
-
*
|
|
13
|
-
* @returns AlertTitle JSX element
|
|
14
|
-
*
|
|
15
|
-
* @description
|
|
16
|
-
* This component affects the layout of the AlertContainer. When present, the container
|
|
17
|
-
* content will be aligned differently compared to alerts without a title.
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```tsx
|
|
21
|
-
* // Basic alert with title
|
|
22
|
-
* <AlertContainer schema="info">
|
|
23
|
-
* <AlertTitle>Information</AlertTitle>
|
|
24
|
-
* <AlertDescription>This is important information.</AlertDescription>
|
|
25
|
-
* </AlertContainer>
|
|
26
|
-
*
|
|
27
|
-
* // Success alert with title and icon
|
|
28
|
-
* <AlertContainer schema="success">
|
|
29
|
-
* <AlertIcon />
|
|
30
|
-
* <AlertTitle>Success!</AlertTitle>
|
|
31
|
-
* <AlertDescription>Your operation was completed.</AlertDescription>
|
|
32
|
-
* </AlertContainer>
|
|
33
|
-
*
|
|
34
|
-
* // Error alert with custom styling
|
|
35
|
-
* <AlertContainer schema="danger">
|
|
36
|
-
* <AlertIcon />
|
|
37
|
-
* <AlertTitle className="custom-title">
|
|
38
|
-
* Critical Error
|
|
39
|
-
* </AlertTitle>
|
|
40
|
-
* <AlertDescription>
|
|
41
|
-
* Please contact support immediately.
|
|
42
|
-
* </AlertDescription>
|
|
43
|
-
* </AlertContainer>
|
|
44
|
-
* ```
|
|
45
|
-
*/
|
|
46
|
-
|
|
47
|
-
function AlertTitle(props: AlertTitleProps) {
|
|
48
|
-
const { className: baseClassName, ...rest } = props;
|
|
49
|
-
const className = `arkynAlertTitle ${baseClassName}`;
|
|
50
|
-
|
|
51
|
-
return <div className={className.trim()} {...rest} />;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export { AlertTitle };
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
import { Pause, Play } from "lucide-react";
|
|
2
|
-
import { AudioHTMLAttributes, useEffect, useRef, useState } from "react";
|
|
3
|
-
|
|
4
|
-
import { useSlider } from "../../hooks/useSlider";
|
|
5
|
-
import { Slider } from "../slider";
|
|
6
|
-
import "./styles.css";
|
|
7
|
-
|
|
8
|
-
type AudioInformationProps = {
|
|
9
|
-
currentTime: number;
|
|
10
|
-
totalTime: number;
|
|
11
|
-
formattedCurrentTime: string;
|
|
12
|
-
formattedTotalTime: string;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
type AudioPlayerProps = Omit<
|
|
16
|
-
AudioHTMLAttributes<HTMLAudioElement>,
|
|
17
|
-
"onEnded" | "src"
|
|
18
|
-
> & {
|
|
19
|
-
src: string;
|
|
20
|
-
disabled?: boolean;
|
|
21
|
-
onPlayAudio?: (props: AudioInformationProps) => void;
|
|
22
|
-
onPauseAudio?: (props: AudioInformationProps) => void;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* AudioPlayer component - used to play audio files with playback controls
|
|
27
|
-
*
|
|
28
|
-
* @param props - AudioPlayer component properties
|
|
29
|
-
* @param props.src - Audio source URL (required)
|
|
30
|
-
* @param props.disabled - Whether the audio player is disabled. Default: false
|
|
31
|
-
* @param props.onPlayAudio - Callback function called when audio starts playing
|
|
32
|
-
* @param props.onPauseAudio - Callback function called when audio is paused
|
|
33
|
-
*
|
|
34
|
-
* **...Other valid HTML audio properties**
|
|
35
|
-
*
|
|
36
|
-
* @returns AudioPlayer JSX element
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```tsx
|
|
40
|
-
* // Basic audio player
|
|
41
|
-
* <AudioPlayer src="/audio/sample.mp3" />
|
|
42
|
-
*
|
|
43
|
-
* // Audio player with callbacks
|
|
44
|
-
* <AudioPlayer
|
|
45
|
-
* src="/audio/sample.mp3"
|
|
46
|
-
* onPlayAudio={(info) => console.log('Playing:', info)}
|
|
47
|
-
* onPauseAudio={(info) => console.log('Paused:', info)}
|
|
48
|
-
* />
|
|
49
|
-
*
|
|
50
|
-
* // Disabled audio player
|
|
51
|
-
* <AudioPlayer
|
|
52
|
-
* src="/audio/sample.mp3"
|
|
53
|
-
* disabled
|
|
54
|
-
* />
|
|
55
|
-
*
|
|
56
|
-
* // Audio player with additional HTML audio attributes
|
|
57
|
-
* <AudioPlayer
|
|
58
|
-
* src="/audio/sample.mp3"
|
|
59
|
-
* loop
|
|
60
|
-
* preload="metadata"
|
|
61
|
-
* onPlayAudio={(info) => {
|
|
62
|
-
* console.log(`Current: ${info.formattedCurrentTime}`);
|
|
63
|
-
* console.log(`Total: ${info.formattedTotalTime}`);
|
|
64
|
-
* }}
|
|
65
|
-
* />
|
|
66
|
-
* ```
|
|
67
|
-
*/
|
|
68
|
-
|
|
69
|
-
function AudioPlayer(props: AudioPlayerProps) {
|
|
70
|
-
const { onPlayAudio, onPauseAudio, disabled, ...rest } = props;
|
|
71
|
-
|
|
72
|
-
const [sliderValue, setSliderValue] = useSlider(0);
|
|
73
|
-
const [isPlaying, setIsPlaying] = useState(false);
|
|
74
|
-
const [isDragging, setIsDragging] = useState(false);
|
|
75
|
-
|
|
76
|
-
const audioReference = useRef<HTMLAudioElement>(null);
|
|
77
|
-
|
|
78
|
-
const currentTime = audioReference.current?.currentTime;
|
|
79
|
-
const totalTime = audioReference.current?.duration;
|
|
80
|
-
|
|
81
|
-
const formattedCurrentTime = formatTime(currentTime);
|
|
82
|
-
const formattedTotalTime = formatTime(totalTime);
|
|
83
|
-
|
|
84
|
-
const audioInformation: AudioInformationProps = {
|
|
85
|
-
totalTime,
|
|
86
|
-
currentTime,
|
|
87
|
-
formattedCurrentTime,
|
|
88
|
-
formattedTotalTime,
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
function formatTime(time?: number) {
|
|
92
|
-
if (!time) return "00:00";
|
|
93
|
-
|
|
94
|
-
const minutes = Math.floor(time / 60);
|
|
95
|
-
const seconds = Math.floor(time % 60);
|
|
96
|
-
|
|
97
|
-
const formattedMinutes = String(minutes).padStart(2, "0");
|
|
98
|
-
const formattedSeconds = String(seconds).padStart(2, "0");
|
|
99
|
-
|
|
100
|
-
return `${formattedMinutes}:${formattedSeconds}`;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
function handlePlayAudio() {
|
|
104
|
-
const audioElement = audioReference.current;
|
|
105
|
-
if (!audioElement) return;
|
|
106
|
-
if (props.onPlayAudio) props.onPlayAudio(audioInformation);
|
|
107
|
-
audioElement.play();
|
|
108
|
-
setIsPlaying(true);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
function handlePauseAudio() {
|
|
112
|
-
const audioElement = audioReference.current;
|
|
113
|
-
if (!audioElement) return;
|
|
114
|
-
if (props.onPauseAudio) props.onPauseAudio(audioInformation);
|
|
115
|
-
audioElement.pause();
|
|
116
|
-
setIsPlaying(false);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
function handleToggleAudio() {
|
|
120
|
-
if (isPlaying) handlePauseAudio();
|
|
121
|
-
else handlePlayAudio();
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
function handleSliderChange(value: number) {
|
|
125
|
-
const audioElement = audioReference.current;
|
|
126
|
-
if (!audioElement) return;
|
|
127
|
-
|
|
128
|
-
const totalTime = audioElement.duration;
|
|
129
|
-
const currentTime = (value / 100) * totalTime;
|
|
130
|
-
|
|
131
|
-
audioElement.currentTime = currentTime;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
if (isDragging || !isPlaying) {
|
|
135
|
-
audioReference.current?.pause();
|
|
136
|
-
} else if (isPlaying) {
|
|
137
|
-
audioReference.current?.play();
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
useEffect(() => {
|
|
141
|
-
const audioElement = audioReference.current;
|
|
142
|
-
if (!audioElement) return;
|
|
143
|
-
|
|
144
|
-
const handleTimeUpdate = () => {
|
|
145
|
-
const totalTime = audioElement.duration;
|
|
146
|
-
const currentTime = audioElement.currentTime;
|
|
147
|
-
|
|
148
|
-
const value = (currentTime / totalTime) * 100;
|
|
149
|
-
setSliderValue(value);
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
audioElement.addEventListener("timeupdate", handleTimeUpdate);
|
|
153
|
-
|
|
154
|
-
return () => {
|
|
155
|
-
audioElement.removeEventListener("timeupdate", handleTimeUpdate);
|
|
156
|
-
};
|
|
157
|
-
}, []);
|
|
158
|
-
|
|
159
|
-
return (
|
|
160
|
-
<div className="arkynAudioPlayer">
|
|
161
|
-
<audio
|
|
162
|
-
{...rest}
|
|
163
|
-
ref={audioReference}
|
|
164
|
-
src={props.src}
|
|
165
|
-
onEnded={handlePauseAudio}
|
|
166
|
-
/>
|
|
167
|
-
|
|
168
|
-
<button type="button" disabled={disabled} onClick={handleToggleAudio}>
|
|
169
|
-
{isPlaying && <Pause />}
|
|
170
|
-
{!isPlaying && <Play />}
|
|
171
|
-
</button>
|
|
172
|
-
|
|
173
|
-
<p>{formattedCurrentTime}</p>
|
|
174
|
-
|
|
175
|
-
<Slider
|
|
176
|
-
value={sliderValue}
|
|
177
|
-
onChange={handleSliderChange}
|
|
178
|
-
onDragging={setIsDragging}
|
|
179
|
-
disabled={disabled}
|
|
180
|
-
/>
|
|
181
|
-
|
|
182
|
-
<p>{formattedTotalTime}</p>
|
|
183
|
-
</div>
|
|
184
|
-
);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
export { AudioPlayer };
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
.arkynAudioPlayer {
|
|
2
|
-
display: flex;
|
|
3
|
-
align-items: center;
|
|
4
|
-
gap: 8px;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
.arkynAudioPlayer button {
|
|
8
|
-
display: flex;
|
|
9
|
-
align-items: center;
|
|
10
|
-
justify-content: center;
|
|
11
|
-
|
|
12
|
-
border: none;
|
|
13
|
-
border-radius: 50%;
|
|
14
|
-
|
|
15
|
-
min-height: 40px;
|
|
16
|
-
min-width: 40px;
|
|
17
|
-
max-height: 40px;
|
|
18
|
-
max-width: 40px;
|
|
19
|
-
|
|
20
|
-
background-color: rgba(var(--spotlight-primary), 1);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.arkynAudioPlayer button:hover:not(:disabled) {
|
|
24
|
-
cursor: pointer;
|
|
25
|
-
background-color: rgba(var(--spotlight-primary), 0.8);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.arkynAudioPlayer button:disabled {
|
|
29
|
-
cursor: not-allowed;
|
|
30
|
-
opacity: 0.2;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.arkynAudioPlayer button svg {
|
|
34
|
-
fill: #fff;
|
|
35
|
-
stroke: #fff;
|
|
36
|
-
|
|
37
|
-
min-height: 20px;
|
|
38
|
-
min-width: 20px;
|
|
39
|
-
max-height: 20px;
|
|
40
|
-
max-width: 20px;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.arkynAudioPlayer p {
|
|
44
|
-
font-size: 12px;
|
|
45
|
-
font-weight: 400;
|
|
46
|
-
line-height: 12px;
|
|
47
|
-
text-align: left;
|
|
48
|
-
color: var(--text-body);
|
|
49
|
-
user-select: none;
|
|
50
|
-
}
|