@arkyn/components 3.0.1-beta.200 → 3.0.1-beta.204
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/LICENSE.txt +184 -1
- package/README.md +14 -1
- package/dist/components/alert/alertContainer/index.d.ts.map +1 -1
- package/dist/components/cardTab/cardTabContext.d.ts.map +1 -1
- package/dist/components/drawer/drawerContext.d.ts.map +1 -1
- package/dist/components/modal/modalContext.d.ts.map +1 -1
- package/dist/components/tab/tabContext.d.ts.map +1 -1
- package/dist/index.js +85 -62
- package/dist/index.js.map +1 -0
- package/dist/modules/components/alert/alertContainer/index.js +17 -15
- package/dist/modules/components/alert/alertContainer/index.js.map +1 -0
- package/dist/modules/components/alert/alertContainer/styles.css +3 -0
- package/dist/modules/components/alert/alertContent/index.js +2 -0
- package/dist/modules/components/alert/alertContent/index.js.map +1 -0
- package/dist/modules/components/alert/alertContent/styles.css +1 -0
- package/dist/modules/components/alert/alertDescription/index.js +2 -0
- package/dist/modules/components/alert/alertDescription/index.js.map +1 -0
- package/dist/modules/components/alert/alertDescription/styles.css +1 -0
- package/dist/modules/components/alert/alertIcon/index.js +2 -0
- package/dist/modules/components/alert/alertIcon/index.js.map +1 -0
- package/dist/modules/components/alert/alertIcon/styles.css +7 -0
- package/dist/modules/components/alert/alertTitle/index.js +2 -0
- package/dist/modules/components/alert/alertTitle/index.js.map +1 -0
- package/dist/modules/components/alert/alertTitle/styles.css +1 -0
- package/dist/modules/components/audioPlayer/index.js +2 -0
- package/dist/modules/components/audioPlayer/index.js.map +1 -0
- package/dist/modules/components/audioPlayer/styles.css +3 -0
- package/dist/modules/components/audioUpload/hasFileContent/index.js +2 -0
- package/dist/modules/components/audioUpload/hasFileContent/index.js.map +1 -0
- package/dist/modules/components/audioUpload/hasFileContent/styles.css +1 -0
- package/dist/modules/components/audioUpload/index.js +2 -0
- package/dist/modules/components/audioUpload/index.js.map +1 -0
- package/dist/modules/components/audioUpload/noFileContent/index.js +2 -0
- package/dist/modules/components/audioUpload/noFileContent/index.js.map +1 -0
- package/dist/modules/components/audioUpload/noFileContent/styles.css +1 -0
- package/dist/modules/components/audioUpload/styles.css +25 -0
- package/dist/modules/components/badge/index.js +2 -0
- package/dist/modules/components/badge/index.js.map +1 -0
- package/dist/modules/components/badge/styles.css +1 -0
- package/dist/modules/components/button/index.js +2 -0
- package/dist/modules/components/button/index.js.map +1 -0
- package/dist/modules/components/button/styles.css +1 -0
- package/dist/modules/components/calendar/_calendarProvider.js +2 -0
- package/dist/modules/components/calendar/_calendarProvider.js.map +1 -0
- package/dist/modules/components/calendar/_viewService.js +2 -0
- package/dist/modules/components/calendar/_viewService.js.map +1 -0
- package/dist/modules/components/calendar/calendarContainer/index.js +2 -0
- package/dist/modules/components/calendar/calendarContainer/index.js.map +1 -0
- package/dist/modules/components/calendar/calendarContainer/styles.css +1 -0
- package/dist/modules/components/calendar/calendarHeader/index.js +2 -0
- package/dist/modules/components/calendar/calendarHeader/index.js.map +1 -0
- package/dist/modules/components/calendar/calendarHeader/styles.css +1 -0
- package/dist/modules/components/calendar/calendarTableBody/index.js +2 -0
- package/dist/modules/components/calendar/calendarTableBody/index.js.map +1 -0
- package/dist/modules/components/calendar/calendarTableBody/styles.css +1 -0
- package/dist/modules/components/calendar/calendarTableContainer/index.js +2 -0
- package/dist/modules/components/calendar/calendarTableContainer/index.js.map +1 -0
- package/dist/modules/components/calendar/calendarTableContainer/styles.css +1 -0
- package/dist/modules/components/calendar/calendarTableHeader/index.js +2 -0
- package/dist/modules/components/calendar/calendarTableHeader/index.js.map +1 -0
- package/dist/modules/components/calendar/calendarTableHeader/styles.css +1 -0
- package/dist/modules/components/calendar/calendarTableTd/index.js +2 -0
- package/dist/modules/components/calendar/calendarTableTd/index.js.map +1 -0
- package/dist/modules/components/calendar/calendarTableTd/styles.css +1 -0
- package/dist/modules/components/calendar/index.js +2 -0
- package/dist/modules/components/calendar/index.js.map +1 -0
- package/dist/modules/components/calendar/styles.css +33 -0
- package/dist/modules/components/cardTab/cardTabButton/index.js +2 -0
- package/dist/modules/components/cardTab/cardTabButton/index.js.map +1 -0
- package/dist/modules/components/cardTab/cardTabButton/styles.css +1 -0
- package/dist/modules/components/cardTab/cardTabContainer/index.js +2 -0
- package/dist/modules/components/cardTab/cardTabContainer/index.js.map +1 -0
- package/dist/modules/components/cardTab/cardTabContainer/styles.css +1 -0
- package/dist/modules/components/cardTab/cardTabContext.js +20 -9
- package/dist/modules/components/cardTab/cardTabContext.js.map +1 -0
- package/dist/modules/components/checkbox/index.js +2 -0
- package/dist/modules/components/checkbox/index.js.map +1 -0
- package/dist/modules/components/checkbox/styles.css +7 -0
- package/dist/modules/components/clientOnly.js +2 -0
- package/dist/modules/components/clientOnly.js.map +1 -0
- package/dist/modules/components/currencyInput/index.js +2 -0
- package/dist/modules/components/currencyInput/index.js.map +1 -0
- package/dist/modules/components/currencyInput/style.css +1 -0
- package/dist/modules/components/currencyInput/styles.css +7 -0
- package/dist/modules/components/divider/index.js +2 -0
- package/dist/modules/components/divider/index.js.map +1 -0
- package/dist/modules/components/divider/styles.css +1 -0
- package/dist/modules/components/drawer/drawerContainer/index.js +2 -0
- package/dist/modules/components/drawer/drawerContainer/index.js.map +1 -0
- package/dist/modules/components/drawer/drawerContainer/styles.css +1 -0
- package/dist/modules/components/drawer/drawerContext.js +12 -9
- package/dist/modules/components/drawer/drawerContext.js.map +1 -0
- package/dist/modules/components/drawer/drawerHeader/index.js +2 -0
- package/dist/modules/components/drawer/drawerHeader/index.js.map +1 -0
- package/dist/modules/components/drawer/drawerHeader/styles.css +1 -0
- package/dist/modules/components/facebookPixel/facebookPixel.client.js +2 -0
- package/dist/modules/components/facebookPixel/facebookPixel.client.js.map +1 -0
- package/dist/modules/components/facebookPixel/index.js +2 -0
- package/dist/modules/components/facebookPixel/index.js.map +1 -0
- package/dist/modules/components/facebookPixel/pixel.js +2 -0
- package/dist/modules/components/facebookPixel/pixel.js.map +1 -0
- package/dist/modules/components/fieldError/index.js +2 -0
- package/dist/modules/components/fieldError/index.js.map +1 -0
- package/dist/modules/components/fieldError/styles.css +1 -0
- package/dist/modules/components/fieldLabel/index.js +2 -0
- package/dist/modules/components/fieldLabel/index.js.map +1 -0
- package/dist/modules/components/fieldLabel/styles.css +1 -0
- package/dist/modules/components/fieldWrapper/index.js +2 -0
- package/dist/modules/components/fieldWrapper/index.js.map +1 -0
- package/dist/modules/components/fieldWrapper/styles.css +1 -0
- package/dist/modules/components/fileUpload/hasFileContent/index.js +2 -0
- package/dist/modules/components/fileUpload/hasFileContent/index.js.map +1 -0
- package/dist/modules/components/fileUpload/hasFileContent/styles.css +1 -0
- package/dist/modules/components/fileUpload/index.js +2 -0
- package/dist/modules/components/fileUpload/index.js.map +1 -0
- package/dist/modules/components/fileUpload/noFileContent/index.js +2 -0
- package/dist/modules/components/fileUpload/noFileContent/index.js.map +1 -0
- package/dist/modules/components/fileUpload/noFileContent/styles.css +1 -0
- package/dist/modules/components/fileUpload/styles.css +19 -0
- package/dist/modules/components/fullCalendar/_fullCalendarProvider.js +2 -0
- package/dist/modules/components/fullCalendar/_fullCalendarProvider.js.map +1 -0
- package/dist/modules/components/fullCalendar/_viewService.js +2 -0
- package/dist/modules/components/fullCalendar/_viewService.js.map +1 -0
- package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarContainer/index.js +2 -0
- package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarContainer/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarContainer/styles.css +1 -0
- package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarEvent/index.js +2 -0
- package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarEvent/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarEvent/styles.css +1 -0
- package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarRow/index.js +2 -0
- package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarRow/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarRow/styles.css +1 -0
- package/dist/modules/components/fullCalendar/dayCalendar/index.js +2 -0
- package/dist/modules/components/fullCalendar/dayCalendar/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/fullCalendarContainer/index.js +2 -0
- package/dist/modules/components/fullCalendar/fullCalendarContainer/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/fullCalendarContainer/styles.css +1 -0
- package/dist/modules/components/fullCalendar/fullCalendarHeader/index.js +2 -0
- package/dist/modules/components/fullCalendar/fullCalendarHeader/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/fullCalendarHeader/styles.css +1 -0
- package/dist/modules/components/fullCalendar/index.js +2 -0
- package/dist/modules/components/fullCalendar/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/index.js +2 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarEvent/index.js +2 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarEvent/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarEvent/styles.css +1 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableBody/index.js +2 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableBody/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableBody/styles.css +1 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableContainer/index.js +2 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableContainer/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableContainer/styles.css +1 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableHeader/index.js +2 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableHeader/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableHeader/styles.css +1 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableTd/index.js +2 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableTd/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableTd/styles.css +1 -0
- package/dist/modules/components/fullCalendar/styles.css +35 -0
- package/dist/modules/components/fullCalendar/weekCalendar/index.js +2 -0
- package/dist/modules/components/fullCalendar/weekCalendar/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarEvent/index.js +2 -0
- package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarEvent/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarEvent/styles.css +1 -0
- package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableBody/index.js +2 -0
- package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableBody/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableBody/styles.css +1 -0
- package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableContainer/index.js +2 -0
- package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableContainer/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableContainer/styles.css +1 -0
- package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableHeader/index.js +2 -0
- package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableHeader/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableHeader/styles.css +1 -0
- package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableTd/index.js +2 -0
- package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableTd/index.js.map +1 -0
- package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableTd/styles.css +1 -0
- package/dist/modules/components/googleAnalytics/googleAnalytics.client.js +2 -0
- package/dist/modules/components/googleAnalytics/googleAnalytics.client.js.map +1 -0
- package/dist/modules/components/googleAnalytics/googleAnalytics.js +2 -0
- package/dist/modules/components/googleAnalytics/googleAnalytics.js.map +1 -0
- package/dist/modules/components/googleAnalytics/index.js +2 -0
- package/dist/modules/components/googleAnalytics/index.js.map +1 -0
- package/dist/modules/components/googleAnalytics/snippets/generateGAElements.js +2 -0
- package/dist/modules/components/googleAnalytics/snippets/generateGAElements.js.map +1 -0
- package/dist/modules/components/googleTagManager/googleTagManager.client.js +2 -0
- package/dist/modules/components/googleTagManager/googleTagManager.client.js.map +1 -0
- package/dist/modules/components/googleTagManager/googleTagManager.js +2 -0
- package/dist/modules/components/googleTagManager/googleTagManager.js.map +1 -0
- package/dist/modules/components/googleTagManager/index.js +2 -0
- package/dist/modules/components/googleTagManager/index.js.map +1 -0
- package/dist/modules/components/googleTagManager/snippets/appendToDataLayer.js +2 -0
- package/dist/modules/components/googleTagManager/snippets/appendToDataLayer.js.map +1 -0
- package/dist/modules/components/googleTagManager/snippets/generateGTMElements.js +2 -0
- package/dist/modules/components/googleTagManager/snippets/generateGTMElements.js.map +1 -0
- package/dist/modules/components/iconButton/index.js +2 -0
- package/dist/modules/components/iconButton/index.js.map +1 -0
- package/dist/modules/components/iconButton/styles.css +1 -0
- package/dist/modules/components/imageUpload/hasFileContent/index.js +2 -0
- package/dist/modules/components/imageUpload/hasFileContent/index.js.map +1 -0
- package/dist/modules/components/imageUpload/hasFileContent/styles.css +1 -0
- package/dist/modules/components/imageUpload/index.js +2 -0
- package/dist/modules/components/imageUpload/index.js.map +1 -0
- package/dist/modules/components/imageUpload/noFileContent/index.js +2 -0
- package/dist/modules/components/imageUpload/noFileContent/index.js.map +1 -0
- package/dist/modules/components/imageUpload/noFileContent/styles.css +1 -0
- package/dist/modules/components/imageUpload/styles.css +17 -0
- package/dist/modules/components/input/index.js +2 -0
- package/dist/modules/components/input/index.js.map +1 -0
- package/dist/modules/components/input/style.css +1 -0
- package/dist/modules/components/input/styles.css +7 -0
- package/dist/modules/components/mapView/index.js +2 -0
- package/dist/modules/components/mapView/index.js.map +1 -0
- package/dist/modules/components/mapView/mapView.client.js +2 -0
- package/dist/modules/components/mapView/mapView.client.js.map +1 -0
- package/dist/modules/components/mapView/mapbox.css +1 -0
- package/dist/modules/components/mapView/styles.css +1 -0
- package/dist/modules/components/maskedInput/index.js +2 -0
- package/dist/modules/components/maskedInput/index.js.map +1 -0
- package/dist/modules/components/maskedInput/style.css +1 -0
- package/dist/modules/components/maskedInput/styles.css +7 -0
- package/dist/modules/components/modal/modalContainer/index.js +2 -0
- package/dist/modules/components/modal/modalContainer/index.js.map +1 -0
- package/dist/modules/components/modal/modalContainer/styles.css +1 -0
- package/dist/modules/components/modal/modalContext.js +12 -9
- package/dist/modules/components/modal/modalContext.js.map +1 -0
- package/dist/modules/components/modal/modalFooter/index.js +2 -0
- package/dist/modules/components/modal/modalFooter/index.js.map +1 -0
- package/dist/modules/components/modal/modalFooter/styles.css +1 -0
- package/dist/modules/components/modal/modalHeader/index.js +2 -0
- package/dist/modules/components/modal/modalHeader/index.js.map +1 -0
- package/dist/modules/components/modal/modalHeader/styles.css +1 -0
- package/dist/modules/components/multiSelect/index.js +2 -0
- package/dist/modules/components/multiSelect/index.js.map +1 -0
- package/dist/modules/components/multiSelect/multiSelectChevron/index.js +2 -0
- package/dist/modules/components/multiSelect/multiSelectChevron/index.js.map +1 -0
- package/dist/modules/components/multiSelect/multiSelectChevron/styles.css +1 -0
- package/dist/modules/components/multiSelect/multiSelectContainer/index.js +2 -0
- package/dist/modules/components/multiSelect/multiSelectContainer/index.js.map +1 -0
- package/dist/modules/components/multiSelect/multiSelectContainer/styles.css +1 -0
- package/dist/modules/components/multiSelect/multiSelectContent/index.js +2 -0
- package/dist/modules/components/multiSelect/multiSelectContent/index.js.map +1 -0
- package/dist/modules/components/multiSelect/multiSelectContent/styles.css +1 -0
- package/dist/modules/components/multiSelect/multiSelectMark/index.js +2 -0
- package/dist/modules/components/multiSelect/multiSelectMark/index.js.map +1 -0
- package/dist/modules/components/multiSelect/multiSelectMark/styles.css +1 -0
- package/dist/modules/components/multiSelect/multiSelectOption/index.js +2 -0
- package/dist/modules/components/multiSelect/multiSelectOption/index.js.map +1 -0
- package/dist/modules/components/multiSelect/multiSelectOption/styles.css +1 -0
- package/dist/modules/components/multiSelect/multiSelectOptionsContainer/index.js +2 -0
- package/dist/modules/components/multiSelect/multiSelectOptionsContainer/index.js.map +1 -0
- package/dist/modules/components/multiSelect/multiSelectOptionsContainer/styles.css +1 -0
- package/dist/modules/components/multiSelect/multiSelectOverlay/index.js +2 -0
- package/dist/modules/components/multiSelect/multiSelectOverlay/index.js.map +1 -0
- package/dist/modules/components/multiSelect/multiSelectOverlay/styles.css +1 -0
- package/dist/modules/components/multiSelect/multiSelectSpinner/index.js +2 -0
- package/dist/modules/components/multiSelect/multiSelectSpinner/index.js.map +1 -0
- package/dist/modules/components/multiSelect/multiSelectSpinner/styles.css +1 -0
- package/dist/modules/components/multiSelect/styles.css +31 -0
- package/dist/modules/components/pagination/chevronButton/index.js +2 -0
- package/dist/modules/components/pagination/chevronButton/index.js.map +1 -0
- package/dist/modules/components/pagination/chevronButton/styles.css +1 -0
- package/dist/modules/components/pagination/currentButton/index.js +2 -0
- package/dist/modules/components/pagination/currentButton/index.js.map +1 -0
- package/dist/modules/components/pagination/currentButton/styles.css +1 -0
- package/dist/modules/components/pagination/index.js +2 -0
- package/dist/modules/components/pagination/index.js.map +1 -0
- package/dist/modules/components/pagination/pageButton/index.js +2 -0
- package/dist/modules/components/pagination/pageButton/index.js.map +1 -0
- package/dist/modules/components/pagination/pageButton/styles.css +1 -0
- package/dist/modules/components/pagination/paginationService.js +2 -0
- package/dist/modules/components/pagination/paginationService.js.map +1 -0
- package/dist/modules/components/pagination/spread/index.js +2 -0
- package/dist/modules/components/pagination/spread/index.js.map +1 -0
- package/dist/modules/components/pagination/spread/styles.css +1 -0
- package/dist/modules/components/pagination/styles.css +9 -0
- package/dist/modules/components/phoneInput/index.js +2 -0
- package/dist/modules/components/phoneInput/index.js.map +1 -0
- package/dist/modules/components/phoneInput/phoneInputContainer/index.js +2 -0
- package/dist/modules/components/phoneInput/phoneInputContainer/index.js.map +1 -0
- package/dist/modules/components/phoneInput/phoneInputContainer/styles.css +1 -0
- package/dist/modules/components/phoneInput/phoneInputCountriesOverlay/index.js +2 -0
- package/dist/modules/components/phoneInput/phoneInputCountriesOverlay/index.js.map +1 -0
- package/dist/modules/components/phoneInput/phoneInputCountriesOverlay/styles.css +1 -0
- package/dist/modules/components/phoneInput/phoneInputCountryOption/index.js +2 -0
- package/dist/modules/components/phoneInput/phoneInputCountryOption/index.js.map +1 -0
- package/dist/modules/components/phoneInput/phoneInputCountryOption/styles.css +1 -0
- package/dist/modules/components/phoneInput/phoneInputCountryOptionsContainer/index.js +2 -0
- package/dist/modules/components/phoneInput/phoneInputCountryOptionsContainer/index.js.map +1 -0
- package/dist/modules/components/phoneInput/phoneInputCountryOptionsContainer/styles.css +1 -0
- package/dist/modules/components/phoneInput/phoneInputCountrySelector/index.js +2 -0
- package/dist/modules/components/phoneInput/phoneInputCountrySelector/index.js.map +1 -0
- package/dist/modules/components/phoneInput/phoneInputCountrySelector/styles.css +1 -0
- package/dist/modules/components/phoneInput/phoneInputMask/index.js +2 -0
- package/dist/modules/components/phoneInput/phoneInputMask/index.js.map +1 -0
- package/dist/modules/components/phoneInput/phoneInputMask/style.css +1 -0
- package/dist/modules/components/phoneInput/styles.css +19 -0
- package/dist/modules/components/popover/index.js +2 -0
- package/dist/modules/components/popover/index.js.map +1 -0
- package/dist/modules/components/popover/styles.css +1 -0
- package/dist/modules/components/radio/radioBox/index.js +2 -0
- package/dist/modules/components/radio/radioBox/index.js.map +1 -0
- package/dist/modules/components/radio/radioBox/styles.css +1 -0
- package/dist/modules/components/radio/radioContext.js +2 -0
- package/dist/modules/components/radio/radioContext.js.map +1 -0
- package/dist/modules/components/radio/radioGroup/index.js +2 -0
- package/dist/modules/components/radio/radioGroup/index.js.map +1 -0
- package/dist/modules/components/radio/radioGroup/styles.css +7 -0
- package/dist/modules/components/richText/blockButton/index.js +2 -0
- package/dist/modules/components/richText/blockButton/index.js.map +1 -0
- package/dist/modules/components/richText/blockButton/styles.css +1 -0
- package/dist/modules/components/richText/element/index.js +2 -0
- package/dist/modules/components/richText/element/index.js.map +1 -0
- package/dist/modules/components/richText/element/styles.css +1 -0
- package/dist/modules/components/richText/index.js +2 -0
- package/dist/modules/components/richText/index.js.map +1 -0
- package/dist/modules/components/richText/insertImage/index.js +2 -0
- package/dist/modules/components/richText/insertImage/index.js.map +1 -0
- package/dist/modules/components/richText/insertImage/styles.css +1 -0
- package/dist/modules/components/richText/insertVideo/index.js +2 -0
- package/dist/modules/components/richText/insertVideo/index.js.map +1 -0
- package/dist/modules/components/richText/insertVideo/styles.css +1 -0
- package/dist/modules/components/richText/leaf/index.js +2 -0
- package/dist/modules/components/richText/leaf/index.js.map +1 -0
- package/dist/modules/components/richText/markButton/index.js +2 -0
- package/dist/modules/components/richText/markButton/index.js.map +1 -0
- package/dist/modules/components/richText/markButton/styles.css +1 -0
- package/dist/modules/components/richText/styles.css +67 -0
- package/dist/modules/components/richText/toolbar/index.js +2 -0
- package/dist/modules/components/richText/toolbar/index.js.map +1 -0
- package/dist/modules/components/richText/toolbar/styles.css +1 -0
- package/dist/modules/components/searchPlaces.js +2 -0
- package/dist/modules/components/searchPlaces.js.map +1 -0
- package/dist/modules/components/select/index.js +2 -0
- package/dist/modules/components/select/index.js.map +1 -0
- package/dist/modules/components/select/selectChevron/index.js +2 -0
- package/dist/modules/components/select/selectChevron/index.js.map +1 -0
- package/dist/modules/components/select/selectChevron/styles.css +1 -0
- package/dist/modules/components/select/selectContainer/index.js +2 -0
- package/dist/modules/components/select/selectContainer/index.js.map +1 -0
- package/dist/modules/components/select/selectContainer/styles.css +1 -0
- package/dist/modules/components/select/selectContent/index.js +2 -0
- package/dist/modules/components/select/selectContent/index.js.map +1 -0
- package/dist/modules/components/select/selectContent/styles.css +1 -0
- package/dist/modules/components/select/selectOption/index.js +2 -0
- package/dist/modules/components/select/selectOption/index.js.map +1 -0
- package/dist/modules/components/select/selectOption/styles.css +1 -0
- package/dist/modules/components/select/selectOptionsContainer/index.js +2 -0
- package/dist/modules/components/select/selectOptionsContainer/index.js.map +1 -0
- package/dist/modules/components/select/selectOptionsContainer/styles.css +1 -0
- package/dist/modules/components/select/selectOverlay/index.js +2 -0
- package/dist/modules/components/select/selectOverlay/index.js.map +1 -0
- package/dist/modules/components/select/selectOverlay/styles.css +1 -0
- package/dist/modules/components/select/selectSpinner/index.js +2 -0
- package/dist/modules/components/select/selectSpinner/index.js.map +1 -0
- package/dist/modules/components/select/selectSpinner/styles.css +1 -0
- package/dist/modules/components/select/styles.css +29 -0
- package/dist/modules/components/slider/index.js +2 -0
- package/dist/modules/components/slider/index.js.map +1 -0
- package/dist/modules/components/slider/styles.css +1 -0
- package/dist/modules/components/switch/index.js +2 -0
- package/dist/modules/components/switch/index.js.map +1 -0
- package/dist/modules/components/switch/styles.css +7 -0
- package/dist/modules/components/tab/tabButton/index.js +2 -0
- package/dist/modules/components/tab/tabButton/index.js.map +1 -0
- package/dist/modules/components/tab/tabButton/styles.css +1 -0
- package/dist/modules/components/tab/tabContainer/index.js +2 -0
- package/dist/modules/components/tab/tabContainer/index.js.map +1 -0
- package/dist/modules/components/tab/tabContainer/styles.css +1 -0
- package/dist/modules/components/tab/tabContext.js +20 -9
- package/dist/modules/components/tab/tabContext.js.map +1 -0
- package/dist/modules/components/table/tableBody/index.js +2 -0
- package/dist/modules/components/table/tableBody/index.js.map +1 -0
- package/dist/modules/components/table/tableBody/styles.css +1 -0
- package/dist/modules/components/table/tableCaption/index.js +2 -0
- package/dist/modules/components/table/tableCaption/index.js.map +1 -0
- package/dist/modules/components/table/tableCaption/styles.css +1 -0
- package/dist/modules/components/table/tableContainer/index.js +2 -0
- package/dist/modules/components/table/tableContainer/index.js.map +1 -0
- package/dist/modules/components/table/tableContainer/styles.css +1 -0
- package/dist/modules/components/table/tableFooter/index.js +2 -0
- package/dist/modules/components/table/tableFooter/index.js.map +1 -0
- package/dist/modules/components/table/tableFooter/styles.css +1 -0
- package/dist/modules/components/table/tableHeader/index.js +2 -0
- package/dist/modules/components/table/tableHeader/index.js.map +1 -0
- package/dist/modules/components/table/tableHeader/styles.css +1 -0
- package/dist/modules/components/textarea/index.js +2 -0
- package/dist/modules/components/textarea/index.js.map +1 -0
- package/dist/modules/components/textarea/styles.css +7 -0
- package/dist/modules/components/tooltip/index.js +2 -0
- package/dist/modules/components/tooltip/index.js.map +1 -0
- package/dist/modules/components/tooltip/styles.css +1 -0
- package/dist/modules/hooks/useAutomation.js +2 -0
- package/dist/modules/hooks/useAutomation.js.map +1 -0
- package/dist/modules/hooks/useDrawer.js +2 -0
- package/dist/modules/hooks/useDrawer.js.map +1 -0
- package/dist/modules/hooks/useForm.js +2 -0
- package/dist/modules/hooks/useForm.js.map +1 -0
- package/dist/modules/hooks/useHydrated.js +2 -0
- package/dist/modules/hooks/useHydrated.js.map +1 -0
- package/dist/modules/hooks/useModal.js +2 -0
- package/dist/modules/hooks/useModal.js.map +1 -0
- package/dist/modules/hooks/useScopedParams.js +2 -0
- package/dist/modules/hooks/useScopedParams.js.map +1 -0
- package/dist/modules/hooks/useScrollLock.js +2 -0
- package/dist/modules/hooks/useScrollLock.js.map +1 -0
- package/dist/modules/hooks/useSearchAutomation.js +2 -0
- package/dist/modules/hooks/useSearchAutomation.js.map +1 -0
- package/dist/modules/hooks/useSlider.js +2 -0
- package/dist/modules/hooks/useSlider.js.map +1 -0
- package/dist/modules/hooks/useToast.js +2 -0
- package/dist/modules/hooks/useToast.js.map +1 -0
- package/dist/modules/providers/drawerProvider.js +2 -0
- package/dist/modules/providers/drawerProvider.js.map +1 -0
- package/dist/modules/providers/formProvider.js +11 -9
- package/dist/modules/providers/formProvider.js.map +1 -0
- package/dist/modules/providers/modalProvider.js +2 -0
- package/dist/modules/providers/modalProvider.js.map +1 -0
- package/dist/modules/providers/placesProvider.js +2 -0
- package/dist/modules/providers/placesProvider.js.map +1 -0
- package/dist/modules/providers/toastProvider.js +41 -38
- package/dist/modules/providers/toastProvider.js.map +1 -0
- package/dist/modules/services/extractTextFromNode.js +2 -0
- package/dist/modules/services/extractTextFromNode.js.map +1 -0
- package/dist/modules/services/fieldTemplate.js +2 -0
- package/dist/modules/services/fieldTemplate.js.map +1 -0
- package/dist/modules/services/iconRenderer.js +2 -0
- package/dist/modules/services/iconRenderer.js.map +1 -0
- package/dist/modules/services/isBlockActive.js +2 -0
- package/dist/modules/services/isBlockActive.js.map +1 -0
- package/dist/modules/services/isMarkActive.js +2 -0
- package/dist/modules/services/isMarkActive.js.map +1 -0
- package/dist/modules/services/maskCurrencyValues.js +2 -0
- package/dist/modules/services/maskCurrencyValues.js.map +1 -0
- package/dist/modules/services/toHtml.js +2 -0
- package/dist/modules/services/toHtml.js.map +1 -0
- package/dist/modules/services/toRichTextValue.js +2 -0
- package/dist/modules/services/toRichTextValue.js.map +1 -0
- package/dist/modules/services/toggleBlock.js +2 -0
- package/dist/modules/services/toggleBlock.js.map +1 -0
- package/dist/modules/services/toggleMark.js +2 -0
- package/dist/modules/services/toggleMark.js.map +1 -0
- package/dist/modules/templates/badResponses.js +2 -0
- package/dist/modules/templates/badResponses.js.map +1 -0
- package/dist/modules/templates/richTextTemplates.js +2 -0
- package/dist/modules/templates/richTextTemplates.js.map +1 -0
- package/dist/modules/templates/successResponses.js +2 -0
- package/dist/modules/templates/successResponses.js.map +1 -0
- package/dist/modules/utils/phoneInputUtilities.js +2 -0
- package/dist/modules/utils/phoneInputUtilities.js.map +1 -0
- package/dist/modules/utils/richTextUtilities.js +2 -0
- package/dist/modules/utils/richTextUtilities.js.map +1 -0
- package/dist/providers/formProvider.d.ts.map +1 -1
- package/dist/providers/toastProvider.d.ts.map +1 -1
- package/dist/style.css +0 -1
- package/package.json +638 -10
- package/dist/components/__test__/alertContainer.spec.d.ts +0 -2
- package/dist/components/__test__/alertContainer.spec.d.ts.map +0 -1
- package/dist/components/__test__/alertContent.spec.d.ts +0 -2
- package/dist/components/__test__/alertContent.spec.d.ts.map +0 -1
- package/dist/components/__test__/alertDescription.spec.d.ts +0 -2
- package/dist/components/__test__/alertDescription.spec.d.ts.map +0 -1
- package/dist/components/__test__/alertIcon.spec.d.ts +0 -2
- package/dist/components/__test__/alertIcon.spec.d.ts.map +0 -1
- package/dist/components/__test__/alertTitle.spec.d.ts +0 -2
- package/dist/components/__test__/alertTitle.spec.d.ts.map +0 -1
- package/dist/components/__test__/audioPlayer.spec.d.ts +0 -2
- package/dist/components/__test__/audioPlayer.spec.d.ts.map +0 -1
- package/dist/components/__test__/audioUpload.spec.d.ts +0 -2
- package/dist/components/__test__/audioUpload.spec.d.ts.map +0 -1
- package/dist/components/__test__/badge.spec.d.ts +0 -2
- package/dist/components/__test__/badge.spec.d.ts.map +0 -1
- package/dist/components/__test__/button.spec.d.ts +0 -2
- package/dist/components/__test__/button.spec.d.ts.map +0 -1
- package/dist/components/__test__/calendar.spec.d.ts +0 -2
- package/dist/components/__test__/calendar.spec.d.ts.map +0 -1
- package/dist/components/__test__/cardTabButton.spec.d.ts +0 -2
- package/dist/components/__test__/cardTabButton.spec.d.ts.map +0 -1
- package/dist/components/__test__/cardTabContainer.spec.d.ts +0 -2
- package/dist/components/__test__/cardTabContainer.spec.d.ts.map +0 -1
- package/dist/components/__test__/checkbox.spec.d.ts +0 -2
- package/dist/components/__test__/checkbox.spec.d.ts.map +0 -1
- package/dist/components/__test__/clientOnly.spec.d.ts +0 -2
- package/dist/components/__test__/clientOnly.spec.d.ts.map +0 -1
- package/dist/components/__test__/currencyInput.spec.d.ts +0 -2
- package/dist/components/__test__/currencyInput.spec.d.ts.map +0 -1
- package/dist/components/__test__/divider.spec.d.ts +0 -2
- package/dist/components/__test__/divider.spec.d.ts.map +0 -1
- package/dist/components/__test__/drawerContainer.spec.d.ts +0 -2
- package/dist/components/__test__/drawerContainer.spec.d.ts.map +0 -1
- package/dist/components/__test__/drawerHeader.spec.d.ts +0 -2
- package/dist/components/__test__/drawerHeader.spec.d.ts.map +0 -1
- package/dist/components/__test__/facebookPixel.spec.d.ts +0 -2
- package/dist/components/__test__/facebookPixel.spec.d.ts.map +0 -1
- package/dist/components/__test__/fieldError.spec.d.ts +0 -2
- package/dist/components/__test__/fieldError.spec.d.ts.map +0 -1
- package/dist/components/__test__/fieldLabel.spec.d.ts +0 -2
- package/dist/components/__test__/fieldLabel.spec.d.ts.map +0 -1
- package/dist/components/__test__/fieldWrapper.spec.d.ts +0 -2
- package/dist/components/__test__/fieldWrapper.spec.d.ts.map +0 -1
- package/dist/components/__test__/fileUpload.spec.d.ts +0 -2
- package/dist/components/__test__/fileUpload.spec.d.ts.map +0 -1
- package/dist/components/__test__/fullCalendar.spec.d.ts +0 -2
- package/dist/components/__test__/fullCalendar.spec.d.ts.map +0 -1
- package/dist/components/__test__/googleAnalytics.spec.d.ts +0 -2
- package/dist/components/__test__/googleAnalytics.spec.d.ts.map +0 -1
- package/dist/components/__test__/googleTagManager.spec.d.ts +0 -2
- package/dist/components/__test__/googleTagManager.spec.d.ts.map +0 -1
- package/dist/components/__test__/iconButton.spec.d.ts +0 -2
- package/dist/components/__test__/iconButton.spec.d.ts.map +0 -1
- package/dist/components/__test__/imageUpload.spec.d.ts +0 -2
- package/dist/components/__test__/imageUpload.spec.d.ts.map +0 -1
- package/dist/components/__test__/input.spec.d.ts +0 -2
- package/dist/components/__test__/input.spec.d.ts.map +0 -1
- package/dist/components/__test__/mapView.spec.d.ts +0 -2
- package/dist/components/__test__/mapView.spec.d.ts.map +0 -1
- package/dist/components/__test__/maskedInput.spec.d.ts +0 -2
- package/dist/components/__test__/maskedInput.spec.d.ts.map +0 -1
- package/dist/components/__test__/modalContainer.spec.d.ts +0 -2
- package/dist/components/__test__/modalContainer.spec.d.ts.map +0 -1
- package/dist/components/__test__/modalFooter.spec.d.ts +0 -2
- package/dist/components/__test__/modalFooter.spec.d.ts.map +0 -1
- package/dist/components/__test__/modalHeader.spec.d.ts +0 -2
- package/dist/components/__test__/modalHeader.spec.d.ts.map +0 -1
- package/dist/components/__test__/multiSelect.spec.d.ts +0 -2
- package/dist/components/__test__/multiSelect.spec.d.ts.map +0 -1
- package/dist/components/__test__/pagination.spec.d.ts +0 -2
- package/dist/components/__test__/pagination.spec.d.ts.map +0 -1
- package/dist/components/__test__/phoneInput.spec.d.ts +0 -2
- package/dist/components/__test__/phoneInput.spec.d.ts.map +0 -1
- package/dist/components/__test__/popover.spec.d.ts +0 -2
- package/dist/components/__test__/popover.spec.d.ts.map +0 -1
- package/dist/components/__test__/radioBox.spec.d.ts +0 -2
- package/dist/components/__test__/radioBox.spec.d.ts.map +0 -1
- package/dist/components/__test__/radioGroup.spec.d.ts +0 -2
- package/dist/components/__test__/radioGroup.spec.d.ts.map +0 -1
- package/dist/components/__test__/richText.spec.d.ts +0 -2
- package/dist/components/__test__/richText.spec.d.ts.map +0 -1
- package/dist/components/__test__/select.spec.d.ts +0 -2
- package/dist/components/__test__/select.spec.d.ts.map +0 -1
- package/dist/components/__test__/slider.spec.d.ts +0 -2
- package/dist/components/__test__/slider.spec.d.ts.map +0 -1
- package/dist/components/__test__/switch.spec.d.ts +0 -2
- package/dist/components/__test__/switch.spec.d.ts.map +0 -1
- package/dist/components/__test__/tabButton.spec.d.ts +0 -2
- package/dist/components/__test__/tabButton.spec.d.ts.map +0 -1
- package/dist/components/__test__/tabContainer.spec.d.ts +0 -2
- package/dist/components/__test__/tabContainer.spec.d.ts.map +0 -1
- package/dist/components/__test__/tableBody.spec.d.ts +0 -2
- package/dist/components/__test__/tableBody.spec.d.ts.map +0 -1
- package/dist/components/__test__/tableCaption.spec.d.ts +0 -2
- package/dist/components/__test__/tableCaption.spec.d.ts.map +0 -1
- package/dist/components/__test__/tableContainer.spec.d.ts +0 -2
- package/dist/components/__test__/tableContainer.spec.d.ts.map +0 -1
- package/dist/components/__test__/tableFooter.spec.d.ts +0 -2
- package/dist/components/__test__/tableFooter.spec.d.ts.map +0 -1
- package/dist/components/__test__/tableHeader.spec.d.ts +0 -2
- package/dist/components/__test__/tableHeader.spec.d.ts.map +0 -1
- package/dist/components/__test__/textarea.spec.d.ts +0 -2
- package/dist/components/__test__/textarea.spec.d.ts.map +0 -1
- package/dist/components/__test__/tooltip.spec.d.ts +0 -2
- package/dist/components/__test__/tooltip.spec.d.ts.map +0 -1
- package/dist/hooks/__test__/useAutomation.spec.d.ts +0 -2
- package/dist/hooks/__test__/useAutomation.spec.d.ts.map +0 -1
- package/dist/hooks/__test__/useDrawer.spec.d.ts +0 -2
- package/dist/hooks/__test__/useDrawer.spec.d.ts.map +0 -1
- package/dist/hooks/__test__/useForm.spec.d.ts +0 -2
- package/dist/hooks/__test__/useForm.spec.d.ts.map +0 -1
- package/dist/hooks/__test__/useHydrated.spec.d.ts +0 -2
- package/dist/hooks/__test__/useHydrated.spec.d.ts.map +0 -1
- package/dist/hooks/__test__/useModal.spec.d.ts +0 -2
- package/dist/hooks/__test__/useModal.spec.d.ts.map +0 -1
- package/dist/hooks/__test__/useScopedParams.spec.d.ts +0 -2
- package/dist/hooks/__test__/useScopedParams.spec.d.ts.map +0 -1
- package/dist/hooks/__test__/useScrollLock.spec.d.ts +0 -2
- package/dist/hooks/__test__/useScrollLock.spec.d.ts.map +0 -1
- package/dist/hooks/__test__/useSearchAutomation.spec.d.ts +0 -2
- package/dist/hooks/__test__/useSearchAutomation.spec.d.ts.map +0 -1
- package/dist/hooks/__test__/useSlider.spec.d.ts +0 -2
- package/dist/hooks/__test__/useSlider.spec.d.ts.map +0 -1
- package/dist/hooks/__test__/useToast.spec.d.ts +0 -2
- package/dist/hooks/__test__/useToast.spec.d.ts.map +0 -1
- package/dist/modules/index.js +0 -72
- package/dist/modules/style.css +0 -2
- package/dist/providers/__test__/drawerProvider.spec.d.ts +0 -2
- package/dist/providers/__test__/drawerProvider.spec.d.ts.map +0 -1
- package/dist/providers/__test__/formProvider.spec.d.ts +0 -2
- package/dist/providers/__test__/formProvider.spec.d.ts.map +0 -1
- package/dist/providers/__test__/modalProvider.spec.d.ts +0 -2
- package/dist/providers/__test__/modalProvider.spec.d.ts.map +0 -1
- package/dist/providers/__test__/placesProvider.spec.d.ts +0 -2
- package/dist/providers/__test__/placesProvider.spec.d.ts.map +0 -1
- package/dist/providers/__test__/toastProvider.spec.d.ts +0 -2
- package/dist/providers/__test__/toastProvider.spec.d.ts.map +0 -1
- package/dist/services/__test__/extractTextFromNode.spec.d.ts +0 -2
- package/dist/services/__test__/extractTextFromNode.spec.d.ts.map +0 -1
- package/dist/services/__test__/isBlockActive.spec.d.ts +0 -2
- package/dist/services/__test__/isBlockActive.spec.d.ts.map +0 -1
- package/dist/services/__test__/isMarkActive.spec.d.ts +0 -2
- package/dist/services/__test__/isMarkActive.spec.d.ts.map +0 -1
- package/dist/services/__test__/maskCurrencyValues.spec.d.ts +0 -2
- package/dist/services/__test__/maskCurrencyValues.spec.d.ts.map +0 -1
- package/dist/services/__test__/toHtml.spec.d.ts +0 -2
- package/dist/services/__test__/toHtml.spec.d.ts.map +0 -1
- package/dist/services/__test__/toRichTextValue.spec.d.ts +0 -2
- package/dist/services/__test__/toRichTextValue.spec.d.ts.map +0 -1
- package/dist/services/__test__/toggleBlock.spec.d.ts +0 -2
- package/dist/services/__test__/toggleBlock.spec.d.ts.map +0 -1
- package/dist/services/__test__/toggleMark.spec.d.ts +0 -2
- package/dist/services/__test__/toggleMark.spec.d.ts.map +0 -1
- package/dist/templates/__test__/badResponses.spec.d.ts +0 -2
- package/dist/templates/__test__/badResponses.spec.d.ts.map +0 -1
- package/dist/templates/__test__/richTextTemplates.spec.d.ts +0 -2
- package/dist/templates/__test__/richTextTemplates.spec.d.ts.map +0 -1
- package/dist/templates/__test__/successResponses.spec.d.ts +0 -2
- package/dist/templates/__test__/successResponses.spec.d.ts.map +0 -1
- package/dist/utils/__test__/phoneInputUtilities.spec.d.ts +0 -2
- package/dist/utils/__test__/phoneInputUtilities.spec.d.ts.map +0 -1
- package/dist/utils/__test__/richTextUtilities.spec.d.ts +0 -2
- package/dist/utils/__test__/richTextUtilities.spec.d.ts.map +0 -1
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
import { AlertTitle as e } from "../alertTitle/index.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import { createContext as t, useContext as n } from "react";
|
|
4
|
-
import { jsx as
|
|
3
|
+
import { createContext as t, useContext as n, useMemo as r } from "react";
|
|
4
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
5
5
|
//#region src/components/alert/alertContainer/index.tsx
|
|
6
|
-
var
|
|
7
|
-
function
|
|
8
|
-
return n(
|
|
6
|
+
var a = t({});
|
|
7
|
+
function o() {
|
|
8
|
+
return n(a);
|
|
9
9
|
}
|
|
10
|
-
function
|
|
11
|
-
let { scheme: n, children:
|
|
10
|
+
function s(t) {
|
|
11
|
+
let { scheme: n, children: o, className: s, ...c } = t, l = `arkynAlertContainer ${n} ${((t) => {
|
|
12
12
|
let n = !1, r = (t) => {
|
|
13
13
|
Array.isArray(t) ? t.forEach(r) : t && typeof t == "object" && "type" in t && (t.type === e ? n = !0 : t.props && typeof t.props == "object" && t.props !== null && "children" in t.props && r(t.props.children));
|
|
14
14
|
};
|
|
15
15
|
return r(t), n;
|
|
16
|
-
})(
|
|
17
|
-
return /* @__PURE__ */
|
|
18
|
-
value:
|
|
19
|
-
children: /* @__PURE__ */
|
|
20
|
-
className:
|
|
21
|
-
...
|
|
22
|
-
children:
|
|
16
|
+
})(o) ? "existsAlertTitle" : "nonExistsAlertTitle"} ${s}`, u = r(() => ({ scheme: n }), [n]);
|
|
17
|
+
return /* @__PURE__ */ i(a.Provider, {
|
|
18
|
+
value: u,
|
|
19
|
+
children: /* @__PURE__ */ i("div", {
|
|
20
|
+
className: l.trim(),
|
|
21
|
+
...c,
|
|
22
|
+
children: o
|
|
23
23
|
})
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
//#endregion
|
|
27
|
-
export {
|
|
27
|
+
export { s as AlertContainer, o as useAlertContainer };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/alert/alertContainer/index.tsx"],"sourcesContent":["import {\n\tcreateContext,\n\ttype HTMLAttributes,\n\ttype JSX,\n\ttype ReactNode,\n\tuseContext,\n\tuseMemo,\n} from \"react\";\nimport { AlertTitle } from \"../alertTitle\";\nimport \"./styles.css\";\n\ntype AlertContainerProps = {\n\t/**\n\t * Visual style and semantic meaning.\n\t * - `success`: green — operation completed.\n\t * - `danger`: red — error or destructive action.\n\t * - `warning`: yellow — caution required.\n\t * - `info`: blue — informational message.\n\t */\n\tscheme: \"success\" | \"danger\" | \"warning\" | \"info\";\n} & HTMLAttributes<HTMLDivElement>;\n\nconst AlertContainerContext = createContext({} as AlertContainerProps);\n\n/** @internal Accesses the schema and HTML props of the enclosing `AlertContainer`. */\nfunction useAlertContainer(): AlertContainerProps {\n\treturn useContext(AlertContainerContext);\n}\n\n/**\n * AlertContainer — root wrapper for the Alert component set. Provides schema context to child components.\n *\n * Automatically detects whether an `AlertTitle` is present among children and adjusts layout:\n * centered when no title, left-aligned when a title is present.\n *\n * @param props.scheme - Visual style variant. Required.\n * @param props.children - Alert sub-components: `AlertIcon`, `AlertContent`, `AlertTitle`, `AlertDescription`.\n *\n * **...Other valid HTML properties for `<div>`**\n *\n * @returns AlertContainer JSX element.\n *\n * @example\n * ```tsx\n * // Inline alert — no title, centered layout\n * <AlertContainer scheme=\"success\">\n * <AlertIcon />\n * <AlertContent>Your subscription has been activated.</AlertContent>\n * </AlertContainer>\n *\n * // Full alert with title and description — left-aligned layout\n * <AlertContainer scheme=\"danger\">\n * <AlertIcon />\n * <AlertContent>\n * <AlertTitle>Payment failed</AlertTitle>\n * <AlertDescription>Please check your card details and try again.</AlertDescription>\n * </AlertContent>\n * </AlertContainer>\n * ```\n */\n\nfunction AlertContainer(props: AlertContainerProps): JSX.Element {\n\tconst { scheme, children, className: baseClassName, ...rest } = props;\n\n\tconst hasAlertTitle = (children: ReactNode): boolean => {\n\t\tlet found = false;\n\t\tconst searchForAlertTitle = (nodes: ReactNode) => {\n\t\t\tif (Array.isArray(nodes)) {\n\t\t\t\tnodes.forEach(searchForAlertTitle);\n\t\t\t} else if (nodes && typeof nodes === \"object\" && \"type\" in nodes) {\n\t\t\t\tif (nodes.type === AlertTitle) {\n\t\t\t\t\tfound = true;\n\t\t\t\t} else if (\n\t\t\t\t\tnodes.props &&\n\t\t\t\t\ttypeof nodes.props === \"object\" &&\n\t\t\t\t\tnodes.props !== null &&\n\t\t\t\t\t\"children\" in nodes.props\n\t\t\t\t) {\n\t\t\t\t\t// biome-ignore lint/suspicious/noExplicitAny: intentional\n\t\t\t\t\tsearchForAlertTitle((nodes.props as any).children);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tsearchForAlertTitle(children);\n\t\treturn found;\n\t};\n\n\tconst shouldAlignCenter = !hasAlertTitle(children);\n\tconst finalClassName = shouldAlignCenter\n\t\t? \"nonExistsAlertTitle\"\n\t\t: \"existsAlertTitle\";\n\n\tconst className = `arkynAlertContainer ${scheme} ${finalClassName} ${baseClassName}`;\n\n\tconst value = useMemo(() => ({ scheme }), [scheme]);\n\n\treturn (\n\t\t<AlertContainerContext.Provider value={value}>\n\t\t\t<div className={className.trim()} {...rest}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</AlertContainerContext.Provider>\n\t);\n}\n\nexport { AlertContainer, useAlertContainer };\n"],"mappings":";;;;;AAsBA,IAAM,IAAwB,EAAc,CAAC,CAAwB;AAGrE,SAAS,IAAyC;CACjD,OAAO,EAAW,CAAqB;AACxC;AAkCA,SAAS,EAAe,GAAyC;CAChE,IAAM,EAAE,WAAQ,aAAU,WAAW,GAAe,GAAG,MAAS,GA8B1D,IAAY,uBAAuB,EAAO,KA5BzB,MAAiC;EACvD,IAAI,IAAQ,IACN,KAAuB,MAAqB;GACjD,AAAI,MAAM,QAAQ,CAAK,IACtB,EAAM,QAAQ,CAAmB,IACvB,KAAS,OAAO,KAAU,YAAY,UAAU,MACtD,EAAM,SAAS,IAClB,IAAQ,KAER,EAAM,SACN,OAAO,EAAM,SAAU,YACvB,EAAM,UAAU,QAChB,cAAc,EAAM,SAGpB,EAAqB,EAAM,MAAc,QAAQ;EAGpD;EAEA,OADA,EAAoB,CAAQ,GACrB;CACR,EAE2B,CAAc,CAAQ,IAG9C,qBADA,sBAG+D,GAAG,KAE/D,IAAQ,SAAe,EAAE,UAAO,IAAI,CAAC,CAAM,CAAC;CAElD,OACC,kBAAC,EAAsB,UAAvB;EAAuC;YACtC,kBAAC,OAAD;GAAK,WAAW,EAAU,KAAK;GAAG,GAAI;GACpC;EACG,CAAA;CAC0B,CAAA;AAElC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
@layer arkyn{.arkynAlertContainer{border:1px solid #0000;border-radius:6px;align-items:start;gap:16px;padding:16px;display:flex}.arkynAlertContainer.nonExistsAlertTitle{align-items:center}.arkynAlertContainer.danger{background:rgb(var(--spotlight-danger-foreground));border-color:rgb(var(--spotlight-danger))}.arkynAlertContainer.success{background:rgb(var(--spotlight-success-foreground));border-color:rgb(var(--spotlight-success))}.arkynAlertContainer.info{background:rgb(var(--spotlight-info-foreground));border-color:rgb(var(--spotlight-info))}.arkynAlertContainer.warning{background:rgb(var(--spotlight-warning-foreground));border-color:rgb(var(--spotlight-warning))}}
|
|
2
|
+
|
|
3
|
+
@layer arkyn{.arkynAlertTitle{text-align:left;color:var(--text-heading);font-size:16px;font-weight:600;line-height:130%}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/alert/alertContent/index.tsx"],"sourcesContent":["import type { HTMLAttributes, JSX } from \"react\";\nimport \"./styles.css\";\n\ntype AlertContentProps = HTMLAttributes<HTMLDivElement>;\n\n/**\n * AlertContent — text/content area inside an `AlertContainer`. Wraps `AlertTitle` and `AlertDescription`.\n *\n * Accepts all standard `<div>` HTML attributes.\n *\n * @returns AlertContent JSX element.\n *\n * @example\n * ```tsx\n * <AlertContainer scheme=\"warning\">\n * <AlertIcon />\n * <AlertContent>\n * <AlertTitle>Session expiring</AlertTitle>\n * <AlertDescription>You will be logged out in 5 minutes.</AlertDescription>\n * </AlertContent>\n * </AlertContainer>\n * ```\n */\n\nfunction AlertContent(props: AlertContentProps): JSX.Element {\n\tconst { className: baseClassName, ...rest } = props;\n\tconst className = `arkynAlertContent ${baseClassName}`;\n\n\treturn <div className={className.trim()} {...rest} />;\n}\n\nexport { AlertContent };\n"],"mappings":";;;AAwBA,SAAS,EAAa,GAAuC;CAC5D,IAAM,EAAE,WAAW,GAAe,GAAG,MAAS;CAG9C,OAAO,kBAAC,OAAD;EAAK,WAAW,qBAFgB,IAEN,KAAK;EAAG,GAAI;CAAO,CAAA;AACrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer arkyn{.arkynAlertContent{flex-direction:column;gap:8px;display:flex}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/alert/alertDescription/index.tsx"],"sourcesContent":["import type { HTMLAttributes, JSX } from \"react\";\nimport \"./styles.css\";\n\ntype AlertDescriptionProps = HTMLAttributes<HTMLDivElement>;\n\n/**\n * AlertDescription — body text for an alert. Place inside `AlertContent`.\n *\n * Accepts all standard `<div>` HTML attributes.\n *\n * @returns AlertDescription JSX element.\n *\n * @example\n * ```tsx\n * <AlertContainer scheme=\"info\">\n * <AlertContent>\n * <AlertTitle>Maintenance scheduled</AlertTitle>\n * <AlertDescription>The service will be unavailable on Sunday from 2–4 AM UTC.</AlertDescription>\n * </AlertContent>\n * </AlertContainer>\n * ```\n */\n\nfunction AlertDescription(props: AlertDescriptionProps): JSX.Element {\n\tconst { className: baseClassName, ...rest } = props;\n\tconst className = `arkynAlertDescription ${baseClassName}`;\n\n\treturn <div className={className.trim()} {...rest} />;\n}\n\nexport { AlertDescription };\n"],"mappings":";;;AAuBA,SAAS,EAAiB,GAA2C;CACpE,IAAM,EAAE,WAAW,GAAe,GAAG,MAAS;CAG9C,OAAO,kBAAC,OAAD;EAAK,WAAW,yBAFoB,IAEV,KAAK;EAAG,GAAI;CAAO,CAAA;AACrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer arkyn{.arkynAlertDescription{text-align:left;color:var(--text-body);font-size:14px;font-weight:400;line-height:130%}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/alert/alertIcon/index.tsx"],"sourcesContent":["import {\n\tAlertTriangle,\n\tCheckCircle2,\n\tInfo,\n\ttype LucideProps,\n\tXCircle,\n} from \"lucide-react\";\n\nimport type { JSX } from \"react\";\nimport { useAlertContainer } from \"../alertContainer\";\nimport \"./styles.css\";\n\ntype AlertIconProps = LucideProps;\n\n/**\n * AlertIcon — renders a scheme-appropriate icon from `AlertContainer` context.\n *\n * - `success` → `CheckCircle2`\n * - `danger` → `XCircle`\n * - `warning` → `AlertTriangle`\n * - `info` → `Info`\n *\n * Must be placed inside an `AlertContainer`. Accepts all Lucide icon props.\n *\n * @returns The scheme-matched Lucide icon element.\n *\n * @example\n * ```tsx\n * <AlertContainer scheme=\"danger\">\n * <AlertIcon />\n * <AlertContent>\n * <AlertTitle>Payment failed</AlertTitle>\n * <AlertDescription>Please check your card details.</AlertDescription>\n * </AlertContent>\n * </AlertContainer>\n * ```\n */\nfunction AlertIcon(props: AlertIconProps): JSX.Element {\n\tconst { className: baseClassName, ...rest } = props;\n\tconst { scheme } = useAlertContainer();\n\n\tconst className = `arkynAlertIcon ${scheme} ${baseClassName}`;\n\n\tswitch (scheme) {\n\t\tcase \"success\":\n\t\t\treturn <CheckCircle2 className={className} {...rest} />;\n\t\tcase \"danger\":\n\t\t\treturn <XCircle className={className} {...rest} />;\n\t\tcase \"warning\":\n\t\t\treturn <AlertTriangle className={className} {...rest} />;\n\t\tcase \"info\":\n\t\t\treturn <Info className={className} {...rest} />;\n\t}\n}\n\nexport { AlertIcon };\n"],"mappings":";;;;;AAqCA,SAAS,EAAU,GAAoC;CACtD,IAAM,EAAE,WAAW,GAAe,GAAG,MAAS,GACxC,EAAE,cAAW,EAAkB,GAE/B,IAAY,kBAAkB,EAAO,GAAG;CAE9C,QAAQ,GAAR;EACC,KAAK,WACJ,OAAO,kBAAC,GAAD;GAAyB;GAAW,GAAI;EAAO,CAAA;EACvD,KAAK,UACJ,OAAO,kBAAC,GAAD;GAAoB;GAAW,GAAI;EAAO,CAAA;EAClD,KAAK,WACJ,OAAO,kBAAC,GAAD;GAA0B;GAAW,GAAI;EAAO,CAAA;EACxD,KAAK,QACJ,OAAO,kBAAC,GAAD;GAAiB;GAAW,GAAI;EAAO,CAAA;CAChD;AACD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
@layer arkyn{.arkynAlertIcon{min-width:28px;max-width:28px;min-height:28px;max-height:28px}.arkynAlertIcon.danger{color:rgb(var(--spotlight-danger))}.arkynAlertIcon.success{color:rgb(var(--spotlight-success))}.arkynAlertIcon.info{color:rgb(var(--spotlight-info))}.arkynAlertIcon.warning{color:rgb(var(--spotlight-warning))}}
|
|
2
|
+
|
|
3
|
+
@layer arkyn{.arkynAlertContainer{border:1px solid #0000;border-radius:6px;align-items:start;gap:16px;padding:16px;display:flex}.arkynAlertContainer.nonExistsAlertTitle{align-items:center}.arkynAlertContainer.danger{background:rgb(var(--spotlight-danger-foreground));border-color:rgb(var(--spotlight-danger))}.arkynAlertContainer.success{background:rgb(var(--spotlight-success-foreground));border-color:rgb(var(--spotlight-success))}.arkynAlertContainer.info{background:rgb(var(--spotlight-info-foreground));border-color:rgb(var(--spotlight-info))}.arkynAlertContainer.warning{background:rgb(var(--spotlight-warning-foreground));border-color:rgb(var(--spotlight-warning))}}
|
|
4
|
+
|
|
5
|
+
@layer arkyn{.arkynAlertTitle{text-align:left;color:var(--text-heading);font-size:16px;font-weight:600;line-height:130%}}
|
|
6
|
+
|
|
7
|
+
@layer arkyn{.arkynAlertTitle{text-align:left;color:var(--text-heading);font-size:16px;font-weight:600;line-height:130%}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/alert/alertTitle/index.tsx"],"sourcesContent":["import type { HTMLAttributes, JSX } from \"react\";\nimport \"./styles.css\";\n\ntype AlertTitleProps = HTMLAttributes<HTMLDivElement>;\n\n/**\n * AlertTitle — bold heading for an alert. Place inside `AlertContent`.\n *\n * Its presence is detected by `AlertContainer` to switch the layout from centered to left-aligned.\n * Accepts all standard `<div>` HTML attributes.\n *\n * @returns AlertTitle JSX element.\n *\n * @example\n * ```tsx\n * <AlertContainer scheme=\"danger\">\n * <AlertIcon />\n * <AlertContent>\n * <AlertTitle>Access denied</AlertTitle>\n * <AlertDescription>You don't have permission to view this page.</AlertDescription>\n * </AlertContent>\n * </AlertContainer>\n * ```\n */\nfunction AlertTitle(props: AlertTitleProps): JSX.Element {\n\tconst { className: baseClassName, ...rest } = props;\n\tconst className = `arkynAlertTitle ${baseClassName}`;\n\n\treturn <div className={className.trim()} {...rest} />;\n}\n\nexport { AlertTitle };\n"],"mappings":";;;AAwBA,SAAS,EAAW,GAAqC;CACxD,IAAM,EAAE,WAAW,GAAe,GAAG,MAAS;CAG9C,OAAO,kBAAC,OAAD;EAAK,WAAW,mBAFc,IAEJ,KAAK;EAAG,GAAI;CAAO,CAAA;AACrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer arkyn{.arkynAlertTitle{text-align:left;color:var(--text-heading);font-size:16px;font-weight:600;line-height:130%}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/audioPlayer/index.tsx"],"sourcesContent":["import { Pause, Play } from \"lucide-react\";\nimport {\n\ttype AudioHTMLAttributes,\n\ttype JSX,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} from \"react\";\n\nimport { useSlider } from \"../../hooks/useSlider\";\nimport { Slider } from \"../slider\";\nimport \"./styles.css\";\n\n/** Audio state snapshot passed to play/pause callbacks. */\ntype AudioInformationProps = {\n\t/** Current playback position in seconds. */\n\tcurrentTime: number;\n\t/** Total audio duration in seconds. */\n\ttotalTime: number;\n\t/** Current position formatted as `MM:SS`. */\n\tformattedCurrentTime: string;\n\t/** Total duration formatted as `MM:SS`. */\n\tformattedTotalTime: string;\n};\n\ntype AudioPlayerProps = Omit<\n\tAudioHTMLAttributes<HTMLAudioElement>,\n\t\"onEnded\" | \"src\"\n> & {\n\t/** Audio file URL. Required. */\n\tsrc: string;\n\t/** Disables the play/pause button and the progress slider. @default false */\n\tdisabled?: boolean;\n\t/** Callback fired when playback starts. Receives the current audio state. */\n\tonPlayAudio?: (props: AudioInformationProps) => void;\n\t/** Callback fired when playback is paused. Receives the current audio state. */\n\tonPauseAudio?: (props: AudioInformationProps) => void;\n};\n\n/**\n * AudioPlayer — play/pause controls, a scrubable progress bar, and elapsed/total time display.\n *\n * @param props.src - Audio file URL. Required.\n * @param props.disabled - Disables controls. Default: false\n * @param props.onPlayAudio - Callback fired when playback starts.\n * @param props.onPauseAudio - Callback fired when playback is paused.\n *\n * **...Other valid HTML properties for `<audio>` (except `onEnded` and `src`)**\n *\n * @returns AudioPlayer JSX element.\n *\n * @example\n * ```tsx\n * // Basic\n * <AudioPlayer src=\"/audio/episode.mp3\" />\n *\n * // With play/pause callbacks\n * <AudioPlayer\n * src=\"/audio/episode.mp3\"\n * onPlayAudio={(info) => console.log(\"Playing at\", info.formattedCurrentTime)}\n * onPauseAudio={(info) => console.log(\"Paused at\", info.formattedCurrentTime)}\n * />\n * ```\n */\nfunction AudioPlayer(props: AudioPlayerProps): JSX.Element {\n\tconst { onPlayAudio, onPauseAudio, disabled, style, ...rest } = props;\n\n\tconst [sliderValue, setSliderValue] = useSlider(0);\n\tconst [isPlaying, setIsPlaying] = useState(false);\n\tconst [isDragging, setIsDragging] = useState(false);\n\n\tconst audioReference = useRef<HTMLAudioElement>(null);\n\n\tconst currentTime = audioReference.current?.currentTime || 0;\n\tconst totalTime = audioReference.current?.duration || 0;\n\n\tconst formattedCurrentTime = formatTime(currentTime);\n\tconst formattedTotalTime = formatTime(totalTime);\n\n\tconst audioInformation: AudioInformationProps = {\n\t\ttotalTime,\n\t\tcurrentTime,\n\t\tformattedCurrentTime,\n\t\tformattedTotalTime,\n\t};\n\n\tfunction formatTime(time?: number): string {\n\t\tif (!time) return \"00:00\";\n\n\t\tconst minutes = Math.floor(time / 60);\n\t\tconst seconds = Math.floor(time % 60);\n\n\t\tconst formattedMinutes = String(minutes).padStart(2, \"0\");\n\t\tconst formattedSeconds = String(seconds).padStart(2, \"0\");\n\n\t\treturn `${formattedMinutes}:${formattedSeconds}`;\n\t}\n\n\tfunction handlePlayAudio(): void {\n\t\tconst audioElement = audioReference.current;\n\t\tif (!audioElement) return;\n\t\tif (props.onPlayAudio) props.onPlayAudio(audioInformation);\n\t\taudioElement.play();\n\t\tsetIsPlaying(true);\n\t}\n\n\tfunction handlePauseAudio(): void {\n\t\tconst audioElement = audioReference.current;\n\t\tif (!audioElement) return;\n\t\tif (props.onPauseAudio) props.onPauseAudio(audioInformation);\n\t\taudioElement.pause();\n\t\tsetIsPlaying(false);\n\t}\n\n\tfunction handleToggleAudio(): void {\n\t\tif (isPlaying) handlePauseAudio();\n\t\telse handlePlayAudio();\n\t}\n\n\tfunction handleSliderChange(value: number): void {\n\t\tconst audioElement = audioReference.current;\n\t\tif (!audioElement) return;\n\n\t\tconst totalTime = audioElement.duration;\n\t\tconst currentTime = (value / 100) * totalTime;\n\n\t\taudioElement.currentTime = currentTime;\n\t}\n\n\tif (isDragging || !isPlaying) {\n\t\taudioReference.current?.pause();\n\t} else if (isPlaying) {\n\t\taudioReference.current?.play();\n\t}\n\n\tuseEffect(() => {\n\t\tconst audioElement = audioReference.current;\n\t\tif (!audioElement) return;\n\n\t\tconst handleTimeUpdate = () => {\n\t\t\tconst totalTime = audioElement.duration;\n\t\t\tconst currentTime = audioElement.currentTime;\n\n\t\t\tconst value = (currentTime / totalTime) * 100;\n\t\t\tsetSliderValue(value);\n\t\t};\n\n\t\taudioElement.addEventListener(\"timeupdate\", handleTimeUpdate);\n\n\t\treturn () => {\n\t\t\taudioElement.removeEventListener(\"timeupdate\", handleTimeUpdate);\n\t\t};\n\t}, [setSliderValue]);\n\n\treturn (\n\t\t<div className=\"arkynAudioPlayer\" style={style}>\n\t\t\t<audio\n\t\t\t\t{...rest}\n\t\t\t\tref={audioReference}\n\t\t\t\tsrc={props.src || undefined}\n\t\t\t\tonEnded={handlePauseAudio}\n\t\t\t/>\n\n\t\t\t<button type=\"button\" disabled={disabled} onClick={handleToggleAudio}>\n\t\t\t\t{isPlaying && <Pause />}\n\t\t\t\t{!isPlaying && <Play />}\n\t\t\t</button>\n\n\t\t\t<p>{formattedCurrentTime}</p>\n\n\t\t\t<Slider\n\t\t\t\tvalue={sliderValue}\n\t\t\t\tonChange={handleSliderChange}\n\t\t\t\tonDragging={setIsDragging}\n\t\t\t\tdisabled={disabled}\n\t\t\t/>\n\n\t\t\t<p>{formattedTotalTime}</p>\n\t\t</div>\n\t);\n}\n\nexport { AudioPlayer };\n"],"mappings":";;;;;;;AAgEA,SAAS,EAAY,GAAsC;CAC1D,IAAM,EAAE,gBAAa,iBAAc,aAAU,UAAO,GAAG,MAAS,GAE1D,CAAC,GAAa,KAAkB,EAAU,CAAC,GAC3C,CAAC,GAAW,KAAgB,EAAS,EAAK,GAC1C,CAAC,GAAY,KAAiB,EAAS,EAAK,GAE5C,IAAiB,EAAyB,IAAI,GAE9C,IAAc,EAAe,SAAS,eAAe,GACrD,IAAY,EAAe,SAAS,YAAY,GAEhD,IAAuB,EAAW,CAAW,GAC7C,IAAqB,EAAW,CAAS,GAEzC,IAA0C;EAC/C;EACA;EACA;EACA;CACD;CAEA,SAAS,EAAW,GAAuB;EAC1C,IAAI,CAAC,GAAM,OAAO;EAElB,IAAM,IAAU,KAAK,MAAM,IAAO,EAAE,GAC9B,IAAU,KAAK,MAAM,IAAO,EAAE;EAKpC,OAAO,GAHkB,OAAO,CAAO,CAAC,CAAC,SAAS,GAAG,GAG3C,EAAiB,GAFF,OAAO,CAAO,CAAC,CAAC,SAAS,GAAG,GAEvB;CAC/B;CAEA,SAAS,IAAwB;EAChC,IAAM,IAAe,EAAe;EAC/B,MACD,EAAM,eAAa,EAAM,YAAY,CAAgB,GACzD,EAAa,KAAK,GAClB,EAAa,EAAI;CAClB;CAEA,SAAS,IAAyB;EACjC,IAAM,IAAe,EAAe;EAC/B,MACD,EAAM,gBAAc,EAAM,aAAa,CAAgB,GAC3D,EAAa,MAAM,GACnB,EAAa,EAAK;CACnB;CAEA,SAAS,IAA0B;EAClC,AAAI,IAAW,EAAiB,IAC3B,EAAgB;CACtB;CAEA,SAAS,EAAmB,GAAqB;EAChD,IAAM,IAAe,EAAe;EACpC,IAAI,CAAC,GAAc;EAEnB,IAAM,IAAY,EAAa;EAG/B,EAAa,cAFQ,IAAQ,MAAO;CAGrC;CA2BA,OAzBI,KAAc,CAAC,IAClB,EAAe,SAAS,MAAM,IACpB,KACV,EAAe,SAAS,KAAK,GAG9B,QAAgB;EACf,IAAM,IAAe,EAAe;EACpC,IAAI,CAAC,GAAc;EAEnB,IAAM,UAAyB;GAC9B,IAAM,IAAY,EAAa;GAI/B,EAHoB,EAAa,cAEJ,IAAa,GACtB;EACrB;EAIA,OAFA,EAAa,iBAAiB,cAAc,CAAgB,SAE/C;GACZ,EAAa,oBAAoB,cAAc,CAAgB;EAChE;CACD,GAAG,CAAC,CAAc,CAAC,GAGlB,kBAAC,OAAD;EAAK,WAAU;EAA0B;YAAzC;GACC,kBAAC,SAAD;IACC,GAAI;IACJ,KAAK;IACL,KAAK,EAAM,OAAO,KAAA;IAClB,SAAS;GACT,CAAA;GAED,kBAAC,UAAD;IAAQ,MAAK;IAAmB;IAAU,SAAS;cAAnD,CACE,KAAa,kBAAC,GAAD,CAAQ,CAAA,GACrB,CAAC,KAAa,kBAAC,GAAD,CAAO,CAAA,CACf;;GAER,kBAAC,KAAD,EAAA,UAAI,EAAwB,CAAA;GAE5B,kBAAC,GAAD;IACC,OAAO;IACP,UAAU;IACV,YAAY;IACF;GACV,CAAA;GAED,kBAAC,KAAD,EAAA,UAAI,EAAsB,CAAA;EACtB;;AAEP"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
@layer arkyn{.arkynAudioPlayer{align-items:center;gap:8px;min-width:280px;display:flex}.arkynAudioPlayer button{background-color:rgb(var(--spotlight-primary));border:none;border-radius:50%;justify-content:center;align-items:center;min-width:40px;max-width:40px;min-height:40px;max-height:40px;display:flex}.arkynAudioPlayer button:hover:not(:disabled){cursor:pointer;filter:brightness(.95);transition:all .3s}.arkynAudioPlayer button:disabled{cursor:not-allowed;opacity:.2}.arkynAudioPlayer button svg{fill:var(--white);stroke:var(--white);min-width:20px;max-width:20px;min-height:20px;max-height:20px}.arkynAudioPlayer p{text-align:left;color:var(--text-body);-webkit-user-select:none;user-select:none;font-size:12px;font-weight:400;line-height:12px}}
|
|
2
|
+
|
|
3
|
+
@layer arkyn{.arkynSliderTrack{border:1px solid var(--border);background:var(--input-background);cursor:pointer;border-radius:5px;width:100%;max-width:400px;height:6px;position:relative}.arkynSliderTrack.isDragging{cursor:grabbing}.arkynSliderTrack.isDisabled{cursor:not-allowed;opacity:.5}.arkynSliderFill{background:rgb(var(--spotlight-primary));border-radius:5px;height:100%}.arkynSliderThumb{background:rgb(var(--spotlight-primary));border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%)}.arkynSliderTrack.isEnabled .arkynSliderThumb{cursor:grab}.arkynSliderValue{margin-top:10px;font-size:18px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/audioUpload/hasFileContent/index.tsx"],"sourcesContent":["import { RefreshCw } from \"lucide-react\";\n\nimport { AudioPlayer } from \"../../audioPlayer\";\nimport { Button } from \"../../button\";\nimport { Divider } from \"../../divider\";\nimport { IconButton } from \"../../iconButton\";\nimport { Tooltip } from \"../../tooltip\";\n\nimport \"./styles.css\";\n\ntype HasFileContentProps = {\n\tfilePath: string;\n\tdisabled: boolean;\n\tacceptAudio: string;\n\tisLoading: boolean;\n\thandleSelectFile: (file: File) => void;\n\treSendAudio?: () => void;\n\tchangeAudioButtonText: string;\n};\n\nfunction HasFileContent(props: HasFileContentProps) {\n\tconst {\n\t\tfilePath,\n\t\tdisabled,\n\t\tacceptAudio,\n\t\thandleSelectFile,\n\t\tisLoading,\n\t\treSendAudio,\n\t\tchangeAudioButtonText,\n\t} = props;\n\n\tfunction handleClick() {\n\t\tif (disabled) return;\n\n\t\tconst input = document.createElement(\"input\");\n\n\t\tinput.type = \"file\";\n\t\tinput.accept = acceptAudio;\n\n\t\tinput.onchange = (event) => {\n\t\t\tconst file = (event.target as HTMLInputElement).files?.[0];\n\t\t\tif (file) handleSelectFile(file);\n\t\t};\n\n\t\tinput.click();\n\t}\n\n\treturn (\n\t\t<div className=\"arkynAudioUploadHasFileContentContainer\">\n\t\t\t<AudioPlayer src={filePath} />\n\t\t\t<Divider />\n\n\t\t\t<div className=\"arkynAudioUploadButtonsContainer\">\n\t\t\t\t{!!reSendAudio && (\n\t\t\t\t\t<Tooltip orientation=\"bottom\" text=\"Reenviar áudio\">\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"resend image\"\n\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\tscheme=\"danger\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\t\tonClick={reSendAudio}\n\t\t\t\t\t\t\ticon={RefreshCw}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\n\t\t\t\t<Button\n\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t>\n\t\t\t\t\t{changeAudioButtonText}\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport { HasFileContent };\n"],"mappings":";;;;;;;;;AAoBA,SAAS,EAAe,GAA4B;CACnD,IAAM,EACL,aACA,aACA,gBACA,qBACA,cACA,gBACA,6BACG;CAEJ,SAAS,IAAc;EACtB,IAAI,GAAU;EAEd,IAAM,IAAQ,SAAS,cAAc,OAAO;EAU5C,AARA,EAAM,OAAO,QACb,EAAM,SAAS,GAEf,EAAM,YAAY,MAAU;GAC3B,IAAM,IAAQ,EAAM,OAA4B,QAAQ;GACxD,AAAI,KAAM,EAAiB,CAAI;EAChC,GAEA,EAAM,MAAM;CACb;CAEA,OACC,kBAAC,OAAD;EAAK,WAAU;YAAf;GACC,kBAAC,GAAD,EAAa,KAAK,EAAW,CAAA;GAC7B,kBAAC,GAAD,CAAU,CAAA;GAEV,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,CAAC,CAAC,KACF,kBAAC,GAAD;KAAS,aAAY;KAAS,MAAK;eAClC,kBAAC,GAAD;MACC,MAAK;MACL,cAAW;MACX,SAAQ;MACR,QAAO;MACP,MAAK;MACM;MACX,SAAS;MACT,MAAM;MACI;KACV,CAAA;IACO,CAAA,GAGV,kBAAC,GAAD;KACY;KACX,SAAS;KACT,SAAQ;KACR,MAAK;KACL,MAAK;KACK;eAET;IACM,CAAA,CACJ;;EACD;;AAEP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer arkyn{.arkynAudioUploadHasFileContentContainer{flex-direction:column;gap:16px;padding:16px;display:flex}.arkynAudioUploadAudioPlayer{align-items:center;gap:8px;display:flex}.arkynAudioUploadAudioPlayer button{background-color:rgb(var(--spotlight-primary));border:none;border-radius:50%;justify-content:center;align-items:center;min-width:40px;max-width:40px;min-height:40px;max-height:40px;display:flex}.arkynAudioUploadAudioPlayer p{text-align:left;color:var(--text-body);-webkit-user-select:none;user-select:none;font-size:12px;font-weight:400;line-height:12px}.arkynAudioUploadButtonsContainer{justify-content:end;align-items:center;gap:8px;display:flex}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/audioUpload/index.tsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport { useForm } from \"../../hooks/useForm\";\nimport { FieldError } from \"../fieldError\";\nimport { FieldLabel } from \"../fieldLabel\";\nimport { FieldWrapper } from \"../fieldWrapper\";\n\nimport { HasFileContent } from \"./hasFileContent\";\nimport { NoFileContent } from \"./noFileContent\";\nimport \"./styles.css\";\n\ntype AudioUploadProps = {\n\t/** Field name for form submission (stores the uploaded audio URL). Required. */\n\tname: string;\n\t/** Server endpoint URL that receives the `multipart/form-data` upload request. Required. */\n\taction: string;\n\t/** Form-data field name used for the file. @default \"file\" */\n\tfileName?: string;\n\t/** HTTP method for the upload request. @default \"POST\" */\n\tmethod?: string;\n\t/** Accepted audio MIME types or extensions (e.g. `\"audio/mp3,audio/wav\"`). @default \"audio/*\" */\n\tacceptAudio?: string;\n\t/** Text displayed in the drag-and-drop zone. @default \"Ou arraste e solte um arquivo de áudio aqui\" */\n\tdropAudioText?: string;\n\t/** Label for the file-picker button before a file is selected. @default \"Selecionar arquivo de áudio\" */\n\tselectAudioButtonText?: string;\n\t/** Label for the file-picker button after a file is selected. @default \"Trocar arquivo de áudio\" */\n\tchangeAudioButtonText?: string;\n\t/** Callback fired after a successful upload. Receives the URL returned by the server. */\n\tonChange?: (url?: string) => void;\n\t/** Property name in the server response that contains the file URL. @default \"url\" */\n\tfileResponseName?: string;\n\t/** Optional label text displayed above the upload area. */\n\tlabel?: string;\n\t/** Displays an asterisk on the label to signal a required field. @default false */\n\tshowAsterisk?: boolean;\n\t/** Disables file selection and upload. @default false */\n\tdisabled?: boolean;\n\t/** Pre-populated audio URL (e.g. an existing recording). @default \"\" */\n\tdefaultValue?: string;\n};\n\n/**\n * AudioUpload — drag-and-drop audio file uploader with server upload and playback preview.\n *\n * Sends the file via `fetch` as `multipart/form-data` and stores the returned URL\n * in a hidden `<input>` for form submission.\n * Integrates with `useForm` to display validation errors by field name.\n *\n * @param props.name - Field name for form submission. Required.\n * @param props.action - Upload endpoint URL. Required.\n * @param props.fileName - Form-data field name for the file. Default: \"file\"\n * @param props.method - HTTP method. Default: \"POST\"\n * @param props.acceptAudio - Accepted MIME types / extensions. Default: \"audio/*\"\n * @param props.onChange - Callback fired after a successful upload — receives the audio URL.\n * @param props.fileResponseName - Server response property containing the URL. Default: \"url\"\n * @param props.label - Label text displayed above the upload area.\n * @param props.showAsterisk - Appends `*` to the label. Default: false\n * @param props.disabled - Disables file selection and upload. Default: false\n * @param props.defaultValue - Pre-populated audio URL.\n *\n * @returns AudioUpload JSX element wrapped in `FieldWrapper`.\n *\n * @example\n * ```tsx\n * // Basic\n * <AudioUpload name=\"audio\" action=\"/api/upload\" />\n *\n * // With label and custom texts\n * <AudioUpload\n * name=\"podcast\"\n * action=\"/api/upload/podcast\"\n * label=\"Podcast Episode\"\n * showAsterisk\n * selectAudioButtonText=\"Choose audio file\"\n * onChange={(url) => setPodcastUrl(url)}\n * />\n * ```\n */\n\nfunction AudioUpload(props: AudioUploadProps) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tfileName = \"file\",\n\t\tmethod = \"POST\",\n\t\tonChange,\n\t\tfileResponseName = \"url\",\n\t\tselectAudioButtonText = \"Selecionar arquivo de áudio\",\n\t\tdropAudioText = \"Ou arraste e solte um arquivo de áudio aqui\",\n\t\tchangeAudioButtonText = \"Trocar arquivo de áudio\",\n\t\tacceptAudio = \"audio/*\",\n\t\taction,\n\t\tdefaultValue = \"\",\n\t\tshowAsterisk = false,\n\t\tdisabled = false,\n\t} = props;\n\n\tconst { fieldErrors } = useForm();\n\tconst fieldError = fieldErrors?.[name];\n\n\tconst [value, setValue] = useState(defaultValue);\n\tconst [error, setError] = useState(\"\");\n\tconst [file, setFile] = useState<File | null>(null);\n\tconst [filePath, setFilePath] = useState(defaultValue);\n\tconst [isLoading, setIsLoading] = useState(false);\n\n\tasync function handleUploadAudio(file: File) {\n\t\tif (disabled) return;\n\n\t\tsetIsLoading(true);\n\t\tsetFile(file);\n\t\tsetError(\"\");\n\n\t\tconst formData = new FormData();\n\t\tformData.append(fileName, file);\n\n\t\tawait fetch(action, { method: method, body: formData })\n\t\t\t.then(async (response) => await response.json())\n\t\t\t.then((response) => {\n\t\t\t\tif (response?.error) setError(response.error);\n\t\t\t\telse setValue(response?.[fileResponseName]);\n\t\t\t\tonChange?.(response?.[fileResponseName]);\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tconsole.error(error);\n\t\t\t\tsetError(\"Erro ao enviar audio\");\n\t\t\t})\n\t\t\t.finally(() => setIsLoading(false));\n\t}\n\n\tfunction handleSelectFile(file: File) {\n\t\tif (disabled) return;\n\n\t\tif (file.type.indexOf(\"audio\") === -1) {\n\t\t\tsetError(\"O arquivo selecionado não é um arquivo de áudio\");\n\t\t\treturn;\n\t\t}\n\n\t\tsetFilePath(URL.createObjectURL(file));\n\t\thandleUploadAudio(file);\n\t}\n\n\tconst errorMessage = fieldError || error;\n\n\tconst hasErrorClassName = errorMessage ? \"hasError\" : \"noHasError\";\n\tconst hasImageClassName = filePath ? \"hasAudio\" : \"noHasAudio\";\n\tconst className = `arkynAudioUpload ${hasErrorClassName} ${hasImageClassName}`;\n\n\treturn (\n\t\t<FieldWrapper>\n\t\t\t{label && <FieldLabel showAsterisk={showAsterisk}>{label}</FieldLabel>}\n\n\t\t\t<div className={className}>\n\t\t\t\t<input type=\"hidden\" name={name} value={value || \"\"} />\n\n\t\t\t\t{!filePath && (\n\t\t\t\t\t<NoFileContent\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\tacceptAudio={acceptAudio}\n\t\t\t\t\t\tdropAudioText={dropAudioText}\n\t\t\t\t\t\thandleSelectFile={handleSelectFile}\n\t\t\t\t\t\tselectAudioButtonText={selectAudioButtonText}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{filePath && (\n\t\t\t\t\t<HasFileContent\n\t\t\t\t\t\tfilePath={filePath}\n\t\t\t\t\t\tacceptAudio={acceptAudio}\n\t\t\t\t\t\tchangeAudioButtonText={changeAudioButtonText}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\thandleSelectFile={handleSelectFile}\n\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\treSendAudio={\n\t\t\t\t\t\t\terrorMessage && file ? () => handleUploadAudio(file) : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{errorMessage && <FieldError>{errorMessage}</FieldError>}\n\t\t</FieldWrapper>\n\t);\n}\n\nexport { AudioUpload };\n"],"mappings":";;;;;;;;;;AAgFA,SAAS,EAAY,GAAyB;CAC7C,IAAM,EACL,SACA,UACA,cAAW,QACX,YAAS,QACT,aACA,sBAAmB,OACnB,2BAAwB,+BACxB,mBAAgB,+CAChB,2BAAwB,2BACxB,iBAAc,WACd,WACA,kBAAe,IACf,kBAAe,IACf,cAAW,OACR,GAEE,EAAE,mBAAgB,EAAQ,GAC1B,IAAa,IAAc,IAE3B,CAAC,GAAO,KAAY,EAAS,CAAY,GACzC,CAAC,GAAO,KAAY,EAAS,EAAE,GAC/B,CAAC,GAAM,KAAW,EAAsB,IAAI,GAC5C,CAAC,GAAU,KAAe,EAAS,CAAY,GAC/C,CAAC,GAAW,KAAgB,EAAS,EAAK;CAEhD,eAAe,EAAkB,GAAY;EAC5C,IAAI,GAAU;EAId,AAFA,EAAa,EAAI,GACjB,EAAQ,CAAI,GACZ,EAAS,EAAE;EAEX,IAAM,IAAW,IAAI,SAAS;EAG9B,AAFA,EAAS,OAAO,GAAU,CAAI,GAE9B,MAAM,MAAM,GAAQ;GAAU;GAAQ,MAAM;EAAS,CAAC,CAAC,CACrD,KAAK,OAAO,MAAa,MAAM,EAAS,KAAK,CAAC,CAAC,CAC/C,MAAM,MAAa;GAGnB,AAFI,GAAU,QAAO,EAAS,EAAS,KAAK,IACvC,EAAS,IAAW,EAAiB,GAC1C,IAAW,IAAW,EAAiB;EACxC,CAAC,CAAC,CACD,OAAO,MAAU;GAEjB,AADA,QAAQ,MAAM,CAAK,GACnB,EAAS,sBAAsB;EAChC,CAAC,CAAC,CACD,cAAc,EAAa,EAAK,CAAC;CACpC;CAEA,SAAS,EAAiB,GAAY;EACjC,QAEJ;OAAI,EAAK,KAAK,QAAQ,OAAO,MAAM,IAAI;IACtC,EAAS,iDAAiD;IAC1D;GACD;GAGA,AADA,EAAY,IAAI,gBAAgB,CAAI,CAAC,GACrC,EAAkB,CAAI;EAHtB;CAID;CAEA,IAAM,IAAe,KAAc;CAMnC,OACC,kBAAC,GAAD,EAAA,UAAA;EACE,KAAS,kBAAC,GAAD;GAA0B;aAAe;EAAkB,CAAA;EAErE,kBAAC,OAAD;GAAgB,WAAA,oBARQ,IAAe,aAAa,aAEE,GAD9B,IAAW,aAAa;aAOhD;IACC,kBAAC,SAAD;KAAO,MAAK;KAAe;KAAM,OAAO,KAAS;IAAK,CAAA;IAErD,CAAC,KACD,kBAAC,GAAD;KACW;KACC;KACE;KACE;KACG;KACK;IACvB,CAAA;IAGD,KACA,kBAAC,GAAD;KACW;KACG;KACU;KACb;KACQ;KACP;KACX,aACC,KAAgB,UAAa,EAAkB,CAAI,IAAI,KAAA;IAExD,CAAA;GAEE;;EAEJ,KAAgB,kBAAC,GAAD,EAAA,UAAa,EAAyB,CAAA;CAC1C,EAAA,CAAA;AAEhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/audioUpload/noFileContent/index.tsx"],"sourcesContent":["import type { DragEvent } from \"react\";\n\nimport { Button } from \"../../button\";\nimport \"./styles.css\";\n\ntype NoFileContentProps = {\n\tdisabled: boolean;\n\tacceptAudio: string;\n\tisLoading: boolean;\n\tselectAudioButtonText: string;\n\tdropAudioText: string;\n\thandleSelectFile: (file: File) => void;\n};\n\nfunction NoFileContent(props: NoFileContentProps) {\n\tconst {\n\t\tdropAudioText,\n\t\tisLoading,\n\t\tacceptAudio,\n\t\thandleSelectFile,\n\t\tselectAudioButtonText,\n\t\tdisabled,\n\t} = props;\n\n\tfunction handleDrop(event: DragEvent<HTMLDivElement>) {\n\t\tif (disabled) return;\n\n\t\tevent.preventDefault();\n\t\tconst file = event.dataTransfer.files[0];\n\t\tif (file) handleSelectFile(file);\n\t}\n\n\tfunction handleClick() {\n\t\tif (disabled) return;\n\n\t\tconst input = document.createElement(\"input\");\n\n\t\tinput.type = \"file\";\n\t\tinput.accept = acceptAudio;\n\n\t\tinput.onchange = (event) => {\n\t\t\tconst file = (event.target as HTMLInputElement).files?.[0];\n\t\t\tif (file) handleSelectFile(file);\n\t\t};\n\n\t\tinput.click();\n\t}\n\n\treturn (\n\t\t<div onDrop={handleDrop} className=\"arkynAudioUploadNoFileContent\">\n\t\t\t<Button\n\t\t\t\tisLoading={isLoading}\n\t\t\t\tonClick={handleClick}\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tdisabled={disabled}\n\t\t\t>\n\t\t\t\t{selectAudioButtonText}\n\t\t\t</Button>\n\n\t\t\t<p>{dropAudioText}</p>\n\t\t</div>\n\t);\n}\n\nexport { NoFileContent };\n"],"mappings":";;;;AAcA,SAAS,EAAc,GAA2B;CACjD,IAAM,EACL,kBACA,cACA,gBACA,qBACA,0BACA,gBACG;CAEJ,SAAS,EAAW,GAAkC;EACrD,IAAI,GAAU;EAEd,EAAM,eAAe;EACrB,IAAM,IAAO,EAAM,aAAa,MAAM;EACtC,AAAI,KAAM,EAAiB,CAAI;CAChC;CAEA,SAAS,IAAc;EACtB,IAAI,GAAU;EAEd,IAAM,IAAQ,SAAS,cAAc,OAAO;EAU5C,AARA,EAAM,OAAO,QACb,EAAM,SAAS,GAEf,EAAM,YAAY,MAAU;GAC3B,IAAM,IAAQ,EAAM,OAA4B,QAAQ;GACxD,AAAI,KAAM,EAAiB,CAAI;EAChC,GAEA,EAAM,MAAM;CACb;CAEA,OACC,kBAAC,OAAD;EAAK,QAAQ;EAAY,WAAU;YAAnC,CACC,kBAAC,GAAD;GACY;GACX,SAAS;GACT,SAAQ;GACR,MAAK;GACL,MAAK;GACK;aAET;EACM,CAAA,GAER,kBAAC,KAAD,EAAA,UAAI,EAAiB,CAAA,CACjB;;AAEP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer arkyn{.arkynAudioUploadNoFileContent{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex}.arkynAudioUploadNoFileContent>p{text-align:center;white-space:nowrap;color:var(--text-body);padding:0 24px;font-size:12px;font-weight:400;line-height:12px}}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
@layer arkyn{.arkynAudioUpload{border-width:1px;border-color:var(--border);background:var(--input-background);border-radius:8px;outline:1px solid #0000;width:100%;max-width:475px;height:137px}.arkynAudioUpload.hasAudio{border-style:solid}.arkynAudioUpload.noHasAudio{border-style:dashed}.arkynAudioUpload.hasError{border-color:rgb(var(--spotlight-danger));outline-color:rgb(var(--spotlight-danger))}}
|
|
2
|
+
|
|
3
|
+
@layer arkyn{.arkynFieldError{color:rgb(var(--spotlight-danger));font-size:12px;font-weight:600;line-height:12px}}
|
|
4
|
+
|
|
5
|
+
@layer arkyn{.arkynFieldLabel{color:var(--text-body);font-size:14px;font-weight:600;line-height:19.07px}.arkynFieldLabel.asteriskTrue:before{content:"* ";text-align:left;color:rgb(var(--spotlight-danger));font-size:12px;font-weight:600;line-height:16.34px}}
|
|
6
|
+
|
|
7
|
+
@layer arkyn{.arkynFieldWrapper{gap:6px;height:max-content;display:flex}.arkynFieldWrapper.horizontal{flex-direction:row;align-items:center}.arkynFieldWrapper.horizontalReverse{flex-direction:row-reverse;align-items:center;margin-right:auto}.arkynFieldWrapper.vertical{flex-direction:column;align-items:flex-start}}
|
|
8
|
+
|
|
9
|
+
@layer arkyn{.arkynAudioUploadHasFileContentContainer{flex-direction:column;gap:16px;padding:16px;display:flex}.arkynAudioUploadAudioPlayer{align-items:center;gap:8px;display:flex}.arkynAudioUploadAudioPlayer button{background-color:rgb(var(--spotlight-primary));border:none;border-radius:50%;justify-content:center;align-items:center;min-width:40px;max-width:40px;min-height:40px;max-height:40px;display:flex}.arkynAudioUploadAudioPlayer p{text-align:left;color:var(--text-body);-webkit-user-select:none;user-select:none;font-size:12px;font-weight:400;line-height:12px}.arkynAudioUploadButtonsContainer{justify-content:end;align-items:center;gap:8px;display:flex}}
|
|
10
|
+
|
|
11
|
+
@layer arkyn{.arkynAudioPlayer{align-items:center;gap:8px;min-width:280px;display:flex}.arkynAudioPlayer button{background-color:rgb(var(--spotlight-primary));border:none;border-radius:50%;justify-content:center;align-items:center;min-width:40px;max-width:40px;min-height:40px;max-height:40px;display:flex}.arkynAudioPlayer button:hover:not(:disabled){cursor:pointer;filter:brightness(.95);transition:all .3s}.arkynAudioPlayer button:disabled{cursor:not-allowed;opacity:.2}.arkynAudioPlayer button svg{fill:var(--white);stroke:var(--white);min-width:20px;max-width:20px;min-height:20px;max-height:20px}.arkynAudioPlayer p{text-align:left;color:var(--text-body);-webkit-user-select:none;user-select:none;font-size:12px;font-weight:400;line-height:12px}}
|
|
12
|
+
|
|
13
|
+
@layer arkyn{.arkynSliderTrack{border:1px solid var(--border);background:var(--input-background);cursor:pointer;border-radius:5px;width:100%;max-width:400px;height:6px;position:relative}.arkynSliderTrack.isDragging{cursor:grabbing}.arkynSliderTrack.isDisabled{cursor:not-allowed;opacity:.5}.arkynSliderFill{background:rgb(var(--spotlight-primary));border-radius:5px;height:100%}.arkynSliderThumb{background:rgb(var(--spotlight-primary));border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%)}.arkynSliderTrack.isEnabled .arkynSliderThumb{cursor:grab}.arkynSliderValue{margin-top:10px;font-size:18px}}
|
|
14
|
+
|
|
15
|
+
@layer arkyn{.arkynSliderTrack{border:1px solid var(--border);background:var(--input-background);cursor:pointer;border-radius:5px;width:100%;max-width:400px;height:6px;position:relative}.arkynSliderTrack.isDragging{cursor:grabbing}.arkynSliderTrack.isDisabled{cursor:not-allowed;opacity:.5}.arkynSliderFill{background:rgb(var(--spotlight-primary));border-radius:5px;height:100%}.arkynSliderThumb{background:rgb(var(--spotlight-primary));border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%)}.arkynSliderTrack.isEnabled .arkynSliderThumb{cursor:grab}.arkynSliderValue{margin-top:10px;font-size:18px}}
|
|
16
|
+
|
|
17
|
+
@layer arkyn{.arkynButton{background:0 0;border:1px solid #0000;outline:1px solid #0000;position:relative}.arkynButton:hover{cursor:pointer;filter:brightness(.95);transition:all .3s}html.dark .arkynButton:hover{cursor:pointer;filter:brightness(1.2)}.arkynButton:disabled{cursor:not-allowed;opacity:.5}.arkynButton .arkynButtonContent{white-space:nowrap;justify-content:center;align-items:center;display:flex}.arkynButton .arkynButtonSpinner{white-space:nowrap;opacity:0;justify-content:center;align-items:center;display:flex}.arkynButton.solid{color:var(--white)}.arkynButton.solid.primary{background-color:rgb(var(--spotlight-primary))}.arkynButton.solid.secondary{background-color:rgb(var(--spotlight-secondary))}.arkynButton.solid.danger{background-color:rgb(var(--spotlight-danger))}.arkynButton.solid.success{background-color:rgb(var(--spotlight-success))}.arkynButton.solid.warning{background-color:rgb(var(--spotlight-warning))}.arkynButton.solid.info{background-color:rgb(var(--spotlight-info))}.arkynButton.outline{background-color:var(--background-underground);border-color:var(--border)}.arkynButton.outline.primary{color:rgb(var(--spotlight-primary))}.arkynButton.outline.secondary{color:rgb(var(--spotlight-secondary))}.arkynButton.outline.danger{color:rgb(var(--spotlight-danger))}.arkynButton.outline.success{color:rgb(var(--spotlight-success))}.arkynButton.outline.warning{color:rgb(var(--spotlight-warning))}.arkynButton.outline.info{color:rgb(var(--spotlight-info))}.arkynButton.ghost.primary{color:rgb(var(--spotlight-primary));background-color:rgb(var(--spotlight-primary-foreground))}.arkynButton.ghost.secondary{color:rgb(var(--spotlight-secondary));background-color:rgb(var(--spotlight-secondary-foreground))}.arkynButton.ghost.danger{color:rgb(var(--spotlight-danger));background-color:rgb(var(--spotlight-danger-foreground))}.arkynButton.ghost.success{color:rgb(var(--spotlight-success));background-color:rgb(var(--spotlight-success-foreground))}.arkynButton.ghost.warning{color:rgb(var(--spotlight-warning));background-color:rgb(var(--spotlight-warning-foreground))}.arkynButton.ghost.info{color:rgb(var(--spotlight-info));background-color:rgb(var(--spotlight-info-foreground))}.arkynButton.invisible.primary{color:rgb(var(--spotlight-primary))}.arkynButton.invisible.secondary{color:rgb(var(--spotlight-secondary))}.arkynButton.invisible.danger{color:rgb(var(--spotlight-danger))}.arkynButton.invisible.success{color:rgb(var(--spotlight-success))}.arkynButton.invisible.warning{color:rgb(var(--spotlight-warning))}.arkynButton.invisible.info{color:rgb(var(--spotlight-info))}.arkynButton.lg{border-radius:8px;height:44px;padding:0 20px;font-size:14px;font-weight:600;line-height:14px}.arkynButton.lg .arkynButtonContent,.arkynButton.lg .arkynButtonSpinner{gap:16px}.arkynButton.md{border-radius:8px;gap:16px;height:40px;padding:0 16px;font-size:14px;font-weight:600;line-height:14px}.arkynButton.md .arkynButtonContent,.arkynButton.md .arkynButtonSpinner{gap:14px}.arkynButton.sm{border-radius:6px;height:32px;padding:0 16px;font-size:12px;font-weight:600;line-height:12px}.arkynButton.sm .arkynButtonContent,.arkynButton.sm .arkynButtonSpinner{gap:12px}.arkynButton.xs{border-radius:4px;height:24px;padding:0 16px;font-size:10px;font-weight:600;line-height:10px}.arkynButton.xs .arkynButtonContent,.arkynButton.xs .arkynButtonSpinner{gap:8px}.arkynButton .arkynButtonSpinner>svg{animation:2s linear infinite spin}.arkynButton.loadingTextFalse .arkynButtonSpinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.arkynButton.loadingTextTrue .arkynButtonSpinner{max-height:0}.arkynButton.loadingTrue .arkynButtonContent{opacity:0;max-height:0}.arkynButton.loadingTrue .arkynButtonSpinner{opacity:1;max-height:unset}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}
|
|
18
|
+
|
|
19
|
+
@layer arkyn{.arkynDivider{background-color:var(--border);flex:1;display:block}.arkynDivider.horizontal{width:100%;min-height:1px;max-height:1px}.arkynDivider.vertical{min-width:1px;max-width:1px;height:100%}}
|
|
20
|
+
|
|
21
|
+
@layer arkyn{.arkynIconButton{background:0 0;border:1px solid #0000;outline:1px solid #0000;position:relative}.arkynIconButton:hover{cursor:pointer;filter:brightness(.9);transition:all .15s ease-out}html.dark .arkynIconButton:hover{cursor:pointer;filter:brightness(1.2)}.arkynIconButton:disabled{cursor:not-allowed;opacity:.5}.arkynIconButtonContent{justify-content:center;align-items:center;display:flex}.arkynIconButton.solid{color:var(--white)}.arkynIconButton.solid.primary{background-color:rgb(var(--spotlight-primary))}.arkynIconButton.solid.secondary{background-color:rgb(var(--spotlight-secondary))}.arkynIconButton.solid.danger{background-color:rgb(var(--spotlight-danger))}.arkynIconButton.solid.success{background-color:rgb(var(--spotlight-success))}.arkynIconButton.solid.warning{background-color:rgb(var(--spotlight-warning))}.arkynIconButton.solid.info{background-color:rgb(var(--spotlight-info))}.arkynIconButton.outline{background-color:var(--background-underground);border-color:var(--border)}.arkynIconButton.outline.primary{color:rgb(var(--spotlight-primary))}.arkynIconButton.outline.secondary{color:rgb(var(--spotlight-secondary))}.arkynIconButton.outline.danger{color:rgb(var(--spotlight-danger))}.arkynIconButton.outline.success{color:rgb(var(--spotlight-success))}.arkynIconButton.outline.warning{color:rgb(var(--spotlight-warning))}.arkynIconButton.outline.info{color:rgb(var(--spotlight-info))}.arkynIconButton.ghost:hover{filter:brightness(.8)}.arkynIconButton.ghost.primary{color:rgb(var(--spotlight-primary));background-color:rgb(var(--spotlight-primary-foreground))}.arkynIconButton.ghost.secondary{color:rgb(var(--spotlight-secondary));background-color:rgb(var(--spotlight-secondary-foreground))}.arkynIconButton.ghost.danger{color:rgb(var(--spotlight-danger));background-color:rgb(var(--spotlight-danger-foreground))}.arkynIconButton.ghost.success{color:rgb(var(--spotlight-success));background-color:rgb(var(--spotlight-success-foreground))}.arkynIconButton.ghost.warning{color:rgb(var(--spotlight-warning));background-color:rgb(var(--spotlight-warning-foreground))}.arkynIconButton.ghost.info{color:rgb(var(--spotlight-info));background-color:rgb(var(--spotlight-info-foreground))}.arkynIconButton.invisible.primary{color:rgb(var(--spotlight-primary))}.arkynIconButton.invisible.secondary{color:rgb(var(--spotlight-secondary))}.arkynIconButton.invisible.danger{color:rgb(var(--spotlight-danger))}.arkynIconButton.invisible.success{color:rgb(var(--spotlight-success))}.arkynIconButton.invisible.warning{color:rgb(var(--spotlight-warning))}.arkynIconButton.invisible.info{color:rgb(var(--spotlight-info))}.arkynIconButton.lg{border-radius:6px;width:44px;height:44px}.arkynIconButton.md{border-radius:6px;width:40px;height:40px}.arkynIconButton.sm{border-radius:6px;width:32px;height:32px}.arkynIconButton.xs{border-radius:4px;width:24px;height:24px}.arkynIconButtonSpinner{opacity:0;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.arkynIconButtonSpinner>svg{animation:2s linear infinite spin}.arkynIconButton.loadingTrue .arkynIconButtonSpinner{opacity:1}.arkynIconButton.loadingTrue .arkynIconButtonContent{opacity:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}
|
|
22
|
+
|
|
23
|
+
@layer arkyn{.arkynTooltip{display:block;position:relative}.arkynTooltipText{visibility:hidden;opacity:0;white-space:nowrap;color:var(--tooltip-text);background-color:var(--tooltip-background);z-index:9999;border-radius:4px;justify-content:center;align-items:center;font-weight:400;transition:all .15s ease-out;display:flex;position:absolute;transform:translate(-50%,-50%)}.arkynTooltip.lg .arkynTooltipText{padding:8px 12px;font-size:14px;line-height:130%}.arkynTooltip.md .arkynTooltipText{padding:8px 12px;font-size:12px;line-height:130%}.arkynTooltip:hover .arkynTooltipText{opacity:1;visibility:visible}.arkynTooltip.top .arkynTooltipText{bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.arkynTooltip.top .arkynTooltipText:before{content:"";border-style:solid;border-color:var(--tooltip-background) transparent;border-width:6px 6px 0;position:absolute;top:100%;bottom:20px;left:50%;transform:translate(-50%)}.arkynTooltip.left .arkynTooltipText{top:50%;right:calc(100% + 10px);transform:translateY(-50%)}.arkynTooltip.left .arkynTooltipText:before{content:"";border-style:solid;border-color:transparent var(--tooltip-background);border-width:6px 0 6px 6px;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.arkynTooltip.right .arkynTooltipText{top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.arkynTooltip.right .arkynTooltipText:before{content:"";border-style:solid;border-color:transparent var(--tooltip-background);border-width:6px 6px 6px 0;position:absolute;top:50%;left:0;transform:translate(-100%,-50%)}.arkynTooltip.bottom .arkynTooltipText{top:calc(100% + 10px);left:50%;transform:translate(-50%)}.arkynTooltip.bottom .arkynTooltipText:before{content:"";border-style:solid;border-color:var(--tooltip-background) transparent;border-width:0 6px 6px;position:absolute;top:0;left:50%;transform:translate(-50%,-100%)}}
|
|
24
|
+
|
|
25
|
+
@layer arkyn{.arkynAudioUploadNoFileContent{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex}.arkynAudioUploadNoFileContent>p{text-align:center;white-space:nowrap;color:var(--text-body);padding:0 24px;font-size:12px;font-weight:400;line-height:12px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/badge/index.tsx"],"sourcesContent":["import type { LucideIcon } from \"lucide-react\";\nimport type { HTMLAttributes } from \"react\";\n\nimport { IconRenderer } from \"../../services/iconRenderer\";\nimport \"./styles.css\";\n\ntype BadgeProps = HTMLAttributes<HTMLDivElement> & {\n\t/**\n\t * Badge size.\n\t * @default \"lg\"\n\t */\n\tsize?: \"md\" | \"lg\";\n\t/**\n\t * Visual style variant.\n\t * - `solid`: filled background.\n\t * - `outline`: bordered, transparent background.\n\t * - `ghost`: no border, subtle background on hover.\n\t * @default \"ghost\"\n\t */\n\tvariant?: \"solid\" | \"outline\" | \"ghost\";\n\t/**\n\t * Color scheme applied to the badge.\n\t * @default \"primary\"\n\t */\n\tscheme?: \"primary\" | \"secondary\" | \"success\" | \"warning\" | \"danger\" | \"info\";\n\t/** Lucide icon rendered to the left of the label. */\n\tleftIcon?: LucideIcon;\n\t/** Lucide icon rendered to the right of the label. */\n\trightIcon?: LucideIcon;\n};\n\n/**\n * Badge — displays labels, statuses, and categorization tags.\n *\n * @param props.size - Badge size (`md` | `lg`). Default: \"lg\"\n * @param props.variant - Visual style variant. Default: \"ghost\"\n * @param props.scheme - Color scheme. Default: \"primary\"\n * @param props.leftIcon - Lucide icon rendered to the left of the label.\n * @param props.rightIcon - Lucide icon rendered to the right of the label.\n *\n * **...Other valid HTML properties for `<div>`**\n *\n * @returns Badge JSX element.\n *\n * @example\n * ```tsx\n * // Basic badge\n * <Badge>New</Badge>\n *\n * // With color scheme\n * <Badge scheme=\"success\">Approved</Badge>\n *\n * // With icon\n * <Badge leftIcon={CheckIcon} scheme=\"success\">Completed</Badge>\n *\n * // Custom size, variant and scheme\n * <Badge size=\"lg\" variant=\"solid\" scheme=\"warning\" rightIcon={AlertIcon}>\n * Warning\n * </Badge>\n * ```\n */\n\nfunction Badge(props: BadgeProps) {\n\tconst {\n\t\tvariant = \"ghost\",\n\t\tscheme = \"primary\",\n\t\tsize = \"lg\",\n\t\tleftIcon,\n\t\trightIcon,\n\t\tclassName: baseClassName = \"\",\n\t\tchildren,\n\t\t...rest\n\t} = props;\n\n\tconst iconSizes = { md: 12, lg: 14 };\n\tconst iconSize = iconSizes[size];\n\n\tconst className = `arkynBadge ${variant} ${scheme} ${size} ${baseClassName}`;\n\n\treturn (\n\t\t<div className={className.trim()} {...rest}>\n\t\t\t<IconRenderer iconSize={iconSize} icon={leftIcon} />\n\t\t\t<p>{children}</p>\n\t\t\t<IconRenderer iconSize={iconSize} icon={rightIcon} />\n\t\t</div>\n\t);\n}\n\nexport { Badge };\n"],"mappings":";;;;AA8DA,SAAS,EAAM,GAAmB;CACjC,IAAM,EACL,aAAU,SACV,YAAS,WACT,UAAO,MACP,aACA,cACA,WAAW,IAAgB,IAC3B,aACA,GAAG,MACA,GAGE,IAAW;EADG,IAAI;EAAI,IAAI;CACf,EAAU;CAI3B,OACC,kBAAC,OAAD;EAAK,WAAW,cAHe,EAAQ,GAAG,EAAO,GAAG,EAAK,GAAG,IAGlC,KAAK;EAAG,GAAI;YAAtC;GACC,kBAAC,GAAD;IAAwB;IAAU,MAAM;GAAW,CAAA;GACnD,kBAAC,KAAD,EAAI,YAAY,CAAA;GAChB,kBAAC,GAAD;IAAwB;IAAU,MAAM;GAAY,CAAA;EAChD;;AAEP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer arkyn{.arkynBadge{white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:4px;width:min-content;display:flex}.arkynBadge.lg{border-radius:12px;height:24px;padding:0 16px}.arkynBadge.lg p{font-size:12px;font-weight:400;line-height:12px}.arkynBadge.md{border-radius:10px;height:20px;padding:0 12px}.arkynBadge.md p{font-size:10px;font-weight:400;line-height:10px}.arkynBadge.solid{color:#fff}.arkynBadge.solid.primary{background-color:rgb(var(--spotlight-primary))}.arkynBadge.solid.secondary{background-color:rgb(var(--spotlight-secondary))}.arkynBadge.solid.danger{background-color:rgb(var(--spotlight-danger))}.arkynBadge.solid.success{background-color:rgb(var(--spotlight-success))}.arkynBadge.solid.warning{background-color:rgb(var(--spotlight-warning))}.arkynBadge.solid.info{background-color:rgb(var(--spotlight-info))}.arkynBadge.outline.primary{border-color:rgb(var(--spotlight-primary))}.arkynBadge.outline.primary p,.arkynBadge.outline.primary svg{color:rgb(var(--spotlight-primary))}.arkynBadge.outline.secondary{border-color:rgb(var(--spotlight-secondary))}.arkynBadge.outline.secondary p,.arkynBadge.outline.secondary svg{color:rgb(var(--spotlight-secondary))}.arkynBadge.outline.danger{border-color:rgb(var(--spotlight-danger))}.arkynBadge.outline.danger p,.arkynBadge.outline.danger svg{color:rgb(var(--spotlight-danger))}.arkynBadge.outline.success{border-color:rgb(var(--spotlight-success))}.arkynBadge.outline.success p,.arkynBadge.outline.success svg{color:rgb(var(--spotlight-success))}.arkynBadge.outline.warning{border-color:rgb(var(--spotlight-warning))}.arkynBadge.outline.warning p,.arkynBadge.outline.warning svg{color:rgb(var(--spotlight-warning))}.arkynBadge.outline.info{border-color:rgb(var(--spotlight-info))}.arkynBadge.outline.info p,.arkynBadge.outline.info svg{color:rgb(var(--spotlight-info))}.arkynBadge.ghost.primary{background-color:rgb(var(--spotlight-primary-foreground))}.arkynBadge.ghost.primary p,.arkynBadge.ghost.primary svg{color:rgb(var(--spotlight-primary))}.arkynBadge.ghost.secondary{background-color:rgb(var(--spotlight-secondary-foreground))}.arkynBadge.ghost.secondary p,.arkynBadge.ghost.secondary svg{color:rgb(var(--spotlight-secondary))}.arkynBadge.ghost.danger{background-color:rgb(var(--spotlight-danger-foreground))}.arkynBadge.ghost.danger p,.arkynBadge.ghost.danger svg{color:rgb(var(--spotlight-danger))}.arkynBadge.ghost.success{background-color:rgb(var(--spotlight-success-foreground))}.arkynBadge.ghost.success p,.arkynBadge.ghost.success svg{color:rgb(var(--spotlight-success))}.arkynBadge.ghost.warning{background-color:rgb(var(--spotlight-warning-foreground))}.arkynBadge.ghost.warning p,.arkynBadge.ghost.warning svg{color:rgb(var(--spotlight-warning))}.arkynBadge.ghost.info{background-color:rgb(var(--spotlight-info-foreground))}.arkynBadge.ghost.info p,.arkynBadge.ghost.info svg{color:rgb(var(--spotlight-info))}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/button/index.tsx"],"sourcesContent":["import { Loader2, type LucideIcon } from \"lucide-react\";\nimport type { ButtonHTMLAttributes } from \"react\";\n\nimport { IconRenderer } from \"../../services/iconRenderer\";\nimport \"./styles.css\";\n\ntype ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {\n\t/** Shows a spinner and disables the button during async operations. @default false */\n\tisLoading?: boolean;\n\t/** Text displayed beside the spinner when `isLoading` is true. */\n\tloadingText?: string;\n\t/**\n\t * Button size.\n\t * @default \"md\"\n\t */\n\tsize?: \"xs\" | \"sm\" | \"md\" | \"lg\";\n\t/**\n\t * Visual style variant.\n\t * - `solid`: filled background.\n\t * - `outline`: bordered, transparent background.\n\t * - `ghost`: no border, subtle hover.\n\t * - `invisible`: no visual styling.\n\t * @default \"solid\"\n\t */\n\tvariant?: \"solid\" | \"outline\" | \"ghost\" | \"invisible\";\n\t/**\n\t * Color scheme applied to the button.\n\t * @default \"primary\"\n\t */\n\tscheme?: \"primary\" | \"secondary\" | \"success\" | \"warning\" | \"danger\" | \"info\";\n\t/** Lucide icon rendered to the left of the label. */\n\tleftIcon?: LucideIcon;\n\t/** Lucide icon rendered to the right of the label. */\n\trightIcon?: LucideIcon;\n};\n\n/**\n * Button — used for user interactions and form submissions.\n *\n * @param props.isLoading - Shows a spinner and disables the button. Default: false\n * @param props.loadingText - Text displayed beside the spinner when loading.\n * @param props.size - Button size (`xs` | `sm` | `md` | `lg`). Default: \"md\"\n * @param props.variant - Visual style variant. Default: \"solid\"\n * @param props.scheme - Color scheme. Default: \"primary\"\n * @param props.leftIcon - Lucide icon rendered to the left of the label.\n * @param props.rightIcon - Lucide icon rendered to the right of the label.\n *\n * **...Other valid HTML properties for `<button>`**\n *\n * @returns Button JSX element.\n *\n * @example\n * ```tsx\n * // Basic button\n * <Button>Click me</Button>\n *\n * // With color scheme\n * <Button scheme=\"success\">Save</Button>\n *\n * // With loading state\n * <Button isLoading loadingText=\"Saving...\">Save</Button>\n *\n * // With icons\n * <Button leftIcon={SaveIcon} scheme=\"success\">Save</Button>\n *\n * // Custom size, variant and scheme\n * <Button size=\"lg\" variant=\"outline\" scheme=\"danger\" rightIcon={TrashIcon}>\n * Delete\n * </Button>\n * ```\n */\n\nfunction Button(props: ButtonProps) {\n\tconst {\n\t\tisLoading = false,\n\t\tscheme = \"primary\",\n\t\tvariant = \"solid\",\n\t\tloadingText,\n\t\tsize = \"md\",\n\t\tleftIcon,\n\t\trightIcon,\n\t\tdisabled,\n\t\tclassName: baseClassName = \"\",\n\t\tchildren,\n\t\t...rest\n\t} = props;\n\n\tconst iconSizes = { xs: 12, sm: 16, md: 20, lg: 24 };\n\tconst iconSize = iconSizes[size];\n\n\tconst loadingClass = isLoading ? \"loadingTrue\" : \"loadingFalse\";\n\tconst loadingTextClass = loadingText ? \"loadingTextTrue\" : \"loadingTextFalse\";\n\n\tconst className = `arkynButton ${loadingClass} ${variant} ${scheme} ${size} ${loadingTextClass} ${baseClassName}`;\n\n\treturn (\n\t\t<button className={className} disabled={disabled || isLoading} {...rest}>\n\t\t\t<div className=\"arkynButtonSpinner\">\n\t\t\t\t<Loader2 size={iconSize} strokeWidth={2.5} />\n\t\t\t\t{loadingText && loadingText}\n\t\t\t</div>\n\n\t\t\t<div className=\"arkynButtonContent\">\n\t\t\t\t<IconRenderer iconSize={iconSize} icon={leftIcon} />\n\t\t\t\t{children}\n\t\t\t\t<IconRenderer iconSize={iconSize} icon={rightIcon} />\n\t\t\t</div>\n\t\t</button>\n\t);\n}\n\nexport { Button };\n"],"mappings":";;;;;AAwEA,SAAS,EAAO,GAAoB;CACnC,IAAM,EACL,eAAY,IACZ,YAAS,WACT,aAAU,SACV,gBACA,UAAO,MACP,aACA,cACA,aACA,WAAW,IAAgB,IAC3B,aACA,GAAG,MACA,GAGE,IAAW;EADG,IAAI;EAAI,IAAI;EAAI,IAAI;EAAI,IAAI;CAC/B,EAAU;CAO3B,OACC,kBAAC,UAAD;EAAmB,WAAA,eANC,IAAY,gBAAgB,eAGH,GAAG,EAAQ,GAAG,EAAO,GAAG,EAAK,GAFlD,IAAc,oBAAoB,mBAEoC,GAAG;EAGnE,UAAU,KAAY;EAAW,GAAI;YAAnE,CACC,kBAAC,OAAD;GAAK,WAAU;aAAf,CACC,kBAAC,GAAD;IAAS,MAAM;IAAU,aAAa;GAAM,CAAA,GAC3C,KAAe,CACZ;MAEL,kBAAC,OAAD;GAAK,WAAU;aAAf;IACC,kBAAC,GAAD;KAAwB;KAAU,MAAM;IAAW,CAAA;IAClD;IACD,kBAAC,GAAD;KAAwB;KAAU,MAAM;IAAY,CAAA;GAChD;IACE;;AAEV"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer arkyn{.arkynButton{background:0 0;border:1px solid #0000;outline:1px solid #0000;position:relative}.arkynButton:hover{cursor:pointer;filter:brightness(.95);transition:all .3s}html.dark .arkynButton:hover{cursor:pointer;filter:brightness(1.2)}.arkynButton:disabled{cursor:not-allowed;opacity:.5}.arkynButton .arkynButtonContent{white-space:nowrap;justify-content:center;align-items:center;display:flex}.arkynButton .arkynButtonSpinner{white-space:nowrap;opacity:0;justify-content:center;align-items:center;display:flex}.arkynButton.solid{color:var(--white)}.arkynButton.solid.primary{background-color:rgb(var(--spotlight-primary))}.arkynButton.solid.secondary{background-color:rgb(var(--spotlight-secondary))}.arkynButton.solid.danger{background-color:rgb(var(--spotlight-danger))}.arkynButton.solid.success{background-color:rgb(var(--spotlight-success))}.arkynButton.solid.warning{background-color:rgb(var(--spotlight-warning))}.arkynButton.solid.info{background-color:rgb(var(--spotlight-info))}.arkynButton.outline{background-color:var(--background-underground);border-color:var(--border)}.arkynButton.outline.primary{color:rgb(var(--spotlight-primary))}.arkynButton.outline.secondary{color:rgb(var(--spotlight-secondary))}.arkynButton.outline.danger{color:rgb(var(--spotlight-danger))}.arkynButton.outline.success{color:rgb(var(--spotlight-success))}.arkynButton.outline.warning{color:rgb(var(--spotlight-warning))}.arkynButton.outline.info{color:rgb(var(--spotlight-info))}.arkynButton.ghost.primary{color:rgb(var(--spotlight-primary));background-color:rgb(var(--spotlight-primary-foreground))}.arkynButton.ghost.secondary{color:rgb(var(--spotlight-secondary));background-color:rgb(var(--spotlight-secondary-foreground))}.arkynButton.ghost.danger{color:rgb(var(--spotlight-danger));background-color:rgb(var(--spotlight-danger-foreground))}.arkynButton.ghost.success{color:rgb(var(--spotlight-success));background-color:rgb(var(--spotlight-success-foreground))}.arkynButton.ghost.warning{color:rgb(var(--spotlight-warning));background-color:rgb(var(--spotlight-warning-foreground))}.arkynButton.ghost.info{color:rgb(var(--spotlight-info));background-color:rgb(var(--spotlight-info-foreground))}.arkynButton.invisible.primary{color:rgb(var(--spotlight-primary))}.arkynButton.invisible.secondary{color:rgb(var(--spotlight-secondary))}.arkynButton.invisible.danger{color:rgb(var(--spotlight-danger))}.arkynButton.invisible.success{color:rgb(var(--spotlight-success))}.arkynButton.invisible.warning{color:rgb(var(--spotlight-warning))}.arkynButton.invisible.info{color:rgb(var(--spotlight-info))}.arkynButton.lg{border-radius:8px;height:44px;padding:0 20px;font-size:14px;font-weight:600;line-height:14px}.arkynButton.lg .arkynButtonContent,.arkynButton.lg .arkynButtonSpinner{gap:16px}.arkynButton.md{border-radius:8px;gap:16px;height:40px;padding:0 16px;font-size:14px;font-weight:600;line-height:14px}.arkynButton.md .arkynButtonContent,.arkynButton.md .arkynButtonSpinner{gap:14px}.arkynButton.sm{border-radius:6px;height:32px;padding:0 16px;font-size:12px;font-weight:600;line-height:12px}.arkynButton.sm .arkynButtonContent,.arkynButton.sm .arkynButtonSpinner{gap:12px}.arkynButton.xs{border-radius:4px;height:24px;padding:0 16px;font-size:10px;font-weight:600;line-height:10px}.arkynButton.xs .arkynButtonContent,.arkynButton.xs .arkynButtonSpinner{gap:8px}.arkynButton .arkynButtonSpinner>svg{animation:2s linear infinite spin}.arkynButton.loadingTextFalse .arkynButtonSpinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.arkynButton.loadingTextTrue .arkynButtonSpinner{max-height:0}.arkynButton.loadingTrue .arkynButtonContent{opacity:0;max-height:0}.arkynButton.loadingTrue .arkynButtonSpinner{opacity:1;max-height:unset}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_calendarProvider.js","names":[],"sources":["../../../../src/components/calendar/_calendarProvider.tsx"],"sourcesContent":["import { createContext, type ReactNode, useContext, useState } from \"react\";\nimport { type CalendarMatrix, ViewService } from \"./_viewService\";\n\ntype CalendarContextProps = {\n\tvalueDate: Date[];\n\tviewDate: Date;\n\tcurrentDate: string;\n\tcurrentDay: string;\n\tcurrentMonth: string;\n\tcurrentYear: string;\n\tlistWeek: string[];\n\tlistMonths: { label: string; value: string }[];\n\tlistYears: { label: string; value: string }[];\n\tlistMatrix: CalendarMatrix;\n\tchangeDay: (day: number, month: number, year: number) => void;\n\tchangeMonth: (month: number) => void;\n\tchangeYear: (year: number) => void;\n\tnextMonth: () => void;\n\tpreviousMonth: () => void;\n};\n\ntype SingleCalendarProviderProps = {\n\tchildren: ReactNode;\n\tcalendarType: \"single\";\n\tlanguage?: string;\n\tonChangeView?: (date: Date) => void;\n\tdefaultValue?: Date;\n\tonChange?: (date: Date) => void;\n\tvalue?: Date;\n\tviewValue?: Date;\n\tdefaultViewValue?: Date;\n};\n\ntype RangeCalendarProviderProps = {\n\tchildren: ReactNode;\n\tcalendarType: \"range\";\n\tlanguage?: string;\n\tonChangeView?: (date: Date) => void;\n\tdefaultValue?: [Date, Date];\n\tonChange?: (date: [Date, Date]) => void;\n\tvalue?: [Date, Date];\n\tviewValue?: Date;\n\tdefaultViewValue?: Date;\n};\n\ntype CalendarProviderProps =\n\t| SingleCalendarProviderProps\n\t| RangeCalendarProviderProps;\n\nconst CalendarContext = createContext({} as CalendarContextProps);\n\nfunction useCalendar() {\n\treturn useContext(CalendarContext);\n}\n\nfunction CalendarProvider(props: CalendarProviderProps) {\n\tconst {\n\t\tcalendarType,\n\t\tchildren,\n\t\tdefaultValue: rawDefaultValue,\n\t\tdefaultViewValue = new Date(),\n\t\tlanguage = \"pt-BR\",\n\t\tonChange,\n\t\tonChangeView,\n\t\tvalue,\n\t\tviewValue,\n\t} = props;\n\n\tconst defaultValue: [Date, Date] =\n\t\tcalendarType === \"single\"\n\t\t\t? [rawDefaultValue || new Date(), rawDefaultValue || new Date()]\n\t\t\t: rawDefaultValue || [new Date(), new Date()];\n\n\tconst [rawViewDate, rawSetViewDate] = useState(defaultViewValue);\n\tconst [rawValueDate, rawSetValueDate] = useState<[Date, Date]>(defaultValue);\n\n\tconst viewDate = viewValue || rawViewDate;\n\tconst valueDate: [Date, Date] = value\n\t\t? calendarType === \"single\"\n\t\t\t? [value, value]\n\t\t\t: value\n\t\t: rawValueDate;\n\n\tconst viewService = new ViewService();\n\n\tfunction setValueDate(value: [Date, Date]) {\n\t\tconst normalizedValue: [Date, Date] = [\n\t\t\tnew Date(value[0]),\n\t\t\tnew Date(value[1]),\n\t\t];\n\n\t\tif (onChange && calendarType === \"range\") {\n\t\t\tonChange(normalizedValue);\n\t\t}\n\n\t\tif (onChange && calendarType === \"single\") {\n\t\t\tonChange(normalizedValue[0]);\n\t\t}\n\n\t\trawSetValueDate(normalizedValue);\n\t}\n\n\tfunction setViewDate(date: Date) {\n\t\tif (onChangeView) onChangeView(date);\n\t\trawSetViewDate(date);\n\t}\n\n\treturn (\n\t\t<CalendarContext.Provider\n\t\t\tvalue={{\n\t\t\t\tvalueDate,\n\t\t\t\tviewDate,\n\t\t\t\tcurrentDate: viewDate.toLocaleDateString(language).slice(3),\n\t\t\t\tcurrentDay: viewService.currentDay(viewDate),\n\t\t\t\tcurrentMonth: viewService.currentMonth(viewDate),\n\t\t\t\tcurrentYear: viewService.currentYear(viewDate),\n\t\t\t\tlistWeek: viewService.listWeek(language),\n\t\t\t\tlistMonths: viewService.listMonths(viewDate, language),\n\t\t\t\tlistYears: viewService.listYears(100),\n\t\t\t\tlistMatrix: viewService.listMatrix(viewDate, valueDate),\n\t\t\t\tchangeDay: (day, month, year) =>\n\t\t\t\t\tviewService.changeDay(\n\t\t\t\t\t\tday,\n\t\t\t\t\t\tmonth,\n\t\t\t\t\t\tyear,\n\t\t\t\t\t\tcalendarType,\n\t\t\t\t\t\tvalueDate,\n\t\t\t\t\t\tsetValueDate,\n\t\t\t\t\t\tsetViewDate,\n\t\t\t\t\t),\n\t\t\t\tchangeMonth: (month) =>\n\t\t\t\t\tviewService.changeMonth(month, viewDate, setViewDate),\n\t\t\t\tchangeYear: (year) =>\n\t\t\t\t\tviewService.changeYear(year, viewDate, setViewDate),\n\t\t\t\tnextMonth: () => viewService.nextMonth(viewDate, setViewDate),\n\t\t\t\tpreviousMonth: () => viewService.previousMonth(viewDate, setViewDate),\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</CalendarContext.Provider>\n\t);\n}\n\nexport { CalendarProvider, useCalendar };\n"],"mappings":";;;;AAiDA,IAAM,IAAkB,EAAc,CAAC,CAAyB;AAEhE,SAAS,IAAc;CACtB,OAAO,EAAW,CAAe;AAClC;AAEA,SAAS,EAAiB,GAA8B;CACvD,IAAM,EACL,iBACA,aACA,cAAc,GACd,sCAAmB,IAAI,KAAK,GAC5B,cAAW,SACX,aACA,iBACA,UACA,iBACG,GAEE,IACL,MAAiB,WACd,CAAC,qBAAmB,IAAI,KAAK,GAAG,qBAAmB,IAAI,KAAK,CAAC,IAC7D,KAAmB,iBAAC,IAAI,KAAK,mBAAG,IAAI,KAAK,CAAC,GAExC,CAAC,GAAa,KAAkB,EAAS,CAAgB,GACzD,CAAC,GAAc,KAAmB,EAAuB,CAAY,GAErE,IAAW,KAAa,GACxB,IAA0B,IAC7B,MAAiB,WAChB,CAAC,GAAO,CAAK,IACb,IACD,GAEG,IAAc,IAAI,EAAY;CAEpC,SAAS,EAAa,GAAqB;EAC1C,IAAM,IAAgC,CACrC,IAAI,KAAK,EAAM,EAAE,GACjB,IAAI,KAAK,EAAM,EAAE,CAClB;EAUA,AARI,KAAY,MAAiB,WAChC,EAAS,CAAe,GAGrB,KAAY,MAAiB,YAChC,EAAS,EAAgB,EAAE,GAG5B,EAAgB,CAAe;CAChC;CAEA,SAAS,EAAY,GAAY;EAEhC,AADI,KAAc,EAAa,CAAI,GACnC,EAAe,CAAI;CACpB;CAEA,OACC,kBAAC,EAAgB,UAAjB;EACC,OAAO;GACN;GACA;GACA,aAAa,EAAS,mBAAmB,CAAQ,CAAC,CAAC,MAAM,CAAC;GAC1D,YAAY,EAAY,WAAW,CAAQ;GAC3C,cAAc,EAAY,aAAa,CAAQ;GAC/C,aAAa,EAAY,YAAY,CAAQ;GAC7C,UAAU,EAAY,SAAS,CAAQ;GACvC,YAAY,EAAY,WAAW,GAAU,CAAQ;GACrD,WAAW,EAAY,UAAU,GAAG;GACpC,YAAY,EAAY,WAAW,GAAU,CAAS;GACtD,YAAY,GAAK,GAAO,MACvB,EAAY,UACX,GACA,GACA,GACA,GACA,GACA,GACA,CACD;GACD,cAAc,MACb,EAAY,YAAY,GAAO,GAAU,CAAW;GACrD,aAAa,MACZ,EAAY,WAAW,GAAM,GAAU,CAAW;GACnD,iBAAiB,EAAY,UAAU,GAAU,CAAW;GAC5D,qBAAqB,EAAY,cAAc,GAAU,CAAW;EACrE;EAEC;CACwB,CAAA;AAE5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_viewService.js","names":[],"sources":["../../../../src/components/calendar/_viewService.ts"],"sourcesContent":["import { formatToCapitalizeFirstWordLetter } from \"@arkyn/shared\";\n\ntype CalendarCell = {\n\tday: number;\n\tmonth: number;\n\tyear: number;\n\tdayType: \"checkedDay\" | \"middleDay\" | \"uncheckedDay\";\n\tdayOwner: \"previous\" | \"current\" | \"next\";\n};\n\ntype CalendarMatrix = CalendarCell[][];\n\nclass ViewService {\n\tcurrentDay(viewDate: Date) {\n\t\treturn String(viewDate.getDate()).padStart(2, \"0\");\n\t}\n\n\tcurrentMonth(viewDate: Date) {\n\t\treturn String(viewDate.getMonth() + 1).padStart(2, \"0\");\n\t}\n\n\tcurrentYear(viewDate: Date) {\n\t\treturn String(viewDate.getFullYear());\n\t}\n\n\tcapitalize(text: string) {\n\t\treturn formatToCapitalizeFirstWordLetter(text);\n\t}\n\n\tparseDayType(\n\t\tday: number,\n\t\tmonth: number,\n\t\tyear: number,\n\t\tvalueDate: [Date, Date],\n\t): \"checkedDay\" | \"middleDay\" | \"uncheckedDay\" {\n\t\tconst firstDateDay = valueDate[0].getDate();\n\t\tconst firstDateMonth = valueDate[0].getMonth();\n\t\tconst firstDateYear = valueDate[0].getFullYear();\n\n\t\tconst secondDateDay = valueDate[1].getDate();\n\t\tconst secondDateMonth = valueDate[1].getMonth();\n\t\tconst secondDateYear = valueDate[1].getFullYear();\n\n\t\tconst firstDate = new Date(firstDateYear, firstDateMonth, firstDateDay);\n\t\tconst secondDate = new Date(secondDateYear, secondDateMonth, secondDateDay);\n\t\tconst currentDate = new Date(year, month, day);\n\n\t\tif (firstDate.getTime() === currentDate.getTime()) return \"checkedDay\";\n\t\tif (secondDate.getTime() === currentDate.getTime()) return \"checkedDay\";\n\t\tif (currentDate > firstDate && currentDate < secondDate) return \"middleDay\";\n\t\treturn \"uncheckedDay\";\n\t}\n\n\tlistWeek(language: string) {\n\t\tconst weekDays = [];\n\t\tconst firstSundayUtc = new Date(Date.UTC(2023, 0, 1));\n\n\t\tfor (let i = 0; i < 7; i++) {\n\t\t\tconst day = new Date(firstSundayUtc);\n\t\t\tday.setUTCDate(firstSundayUtc.getUTCDate() + i);\n\t\t\tconst dayName = day.toLocaleDateString(language, {\n\t\t\t\tweekday: \"short\",\n\t\t\t\ttimeZone: \"UTC\",\n\t\t\t});\n\t\t\tweekDays.push(dayName);\n\t\t}\n\n\t\treturn weekDays;\n\t}\n\n\tlistMonths(viewDate: Date, language: string) {\n\t\tconst monthsByNavigatorLanguage = new Intl.DateTimeFormat(language, {\n\t\t\tmonth: \"long\",\n\t\t});\n\n\t\treturn Array.from({ length: 12 }, (_, i) => {\n\t\t\tconst date = new Date(viewDate.getFullYear(), i, 1);\n\t\t\tconst label = monthsByNavigatorLanguage.format(date);\n\t\t\treturn {\n\t\t\t\tlabel: this.capitalize(label),\n\t\t\t\tvalue: String(i).padStart(2, \"0\"),\n\t\t\t};\n\t\t});\n\t}\n\n\tlistYears(lastYears: number) {\n\t\tconst currentYear = new Date().getFullYear();\n\n\t\treturn Array.from({ length: lastYears + 1 }, (_, i) => {\n\t\t\tconst year = currentYear - lastYears + i;\n\t\t\treturn { label: String(year), value: String(year) };\n\t\t}).reverse();\n\t}\n\n\tlistMatrix(viewDate: Date, valueDate: [Date, Date]) {\n\t\tconst year = viewDate.getFullYear();\n\t\tconst monthIndex = viewDate.getMonth();\n\n\t\tconst firstDayOfMonth = new Date(year, monthIndex, 1);\n\t\tconst firstWeekday = firstDayOfMonth.getDay();\n\n\t\tconst daysInCurrentMonth = new Date(year, monthIndex + 1, 0).getDate();\n\t\tconst daysInPreviousMonth = new Date(year, monthIndex, 0).getDate();\n\n\t\tconst totalCells = Math.ceil((firstWeekday + daysInCurrentMonth) / 7) * 7;\n\n\t\tconst weeks: CalendarMatrix = [];\n\t\tlet currentMonthDay = 1;\n\t\tlet nextMonthDay = 1;\n\n\t\tfor (let i = 0; i < totalCells; i++) {\n\t\t\tconst weekIndex = Math.floor(i / 7);\n\t\t\tif (!weeks[weekIndex]) weeks[weekIndex] = [];\n\n\t\t\tif (i < firstWeekday) {\n\t\t\t\tconst day = daysInPreviousMonth - (firstWeekday - i - 1);\n\t\t\t\tconst month = monthIndex === 0 ? 11 : monthIndex - 1;\n\t\t\t\tconst cellYear = monthIndex === 0 ? year - 1 : year;\n\n\t\t\t\tweeks[weekIndex].push({\n\t\t\t\t\tday,\n\t\t\t\t\tmonth,\n\t\t\t\t\tyear: cellYear,\n\t\t\t\t\tdayOwner: \"previous\",\n\t\t\t\t\tdayType: this.parseDayType(day, month, cellYear, valueDate),\n\t\t\t\t});\n\t\t\t} else if (currentMonthDay <= daysInCurrentMonth) {\n\t\t\t\tweeks[weekIndex].push({\n\t\t\t\t\tday: currentMonthDay,\n\t\t\t\t\tmonth: monthIndex,\n\t\t\t\t\tyear: year,\n\t\t\t\t\tdayOwner: \"current\",\n\t\t\t\t\tdayType: this.parseDayType(\n\t\t\t\t\t\tcurrentMonthDay,\n\t\t\t\t\t\tmonthIndex,\n\t\t\t\t\t\tyear,\n\t\t\t\t\t\tvalueDate,\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t\tcurrentMonthDay++;\n\t\t\t} else {\n\t\t\t\tconst month = monthIndex === 11 ? 0 : monthIndex + 1;\n\t\t\t\tconst cellYear = monthIndex === 11 ? year + 1 : year;\n\n\t\t\t\tweeks[weekIndex].push({\n\t\t\t\t\tday: nextMonthDay,\n\t\t\t\t\tmonth,\n\t\t\t\t\tyear: cellYear,\n\t\t\t\t\tdayOwner: \"next\",\n\t\t\t\t\tdayType: this.parseDayType(nextMonthDay, month, cellYear, valueDate),\n\t\t\t\t});\n\t\t\t\tnextMonthDay++;\n\t\t\t}\n\t\t}\n\n\t\treturn weeks;\n\t}\n\n\tchangeDay(\n\t\tday: number,\n\t\tmonth: number,\n\t\tyear: number,\n\t\tcalendarType: \"single\" | \"range\",\n\t\tvalueDate: [Date, Date],\n\t\tsetValueDate: (date: [Date, Date]) => void,\n\t\tsetViewDate: (date: Date) => void,\n\t) {\n\t\tconst normalizeDate = (date: Date) =>\n\t\t\tnew Date(date.getFullYear(), date.getMonth(), date.getDate());\n\n\t\tconst newDate = normalizeDate(new Date(year, month, day));\n\t\tsetViewDate(newDate);\n\n\t\tif (calendarType === \"single\") {\n\t\t\tsetValueDate([newDate, newDate]);\n\t\t\treturn;\n\t\t}\n\n\t\tconst startDate = normalizeDate(valueDate[0]);\n\t\tconst endDate = normalizeDate(valueDate[1]);\n\n\t\tconst newDateTime = newDate.getTime();\n\t\tconst startDateTime = startDate.getTime();\n\t\tconst endDateTime = endDate.getTime();\n\n\t\tif (newDateTime === startDateTime) {\n\t\t\tsetValueDate([newDate, newDate]);\n\t\t\treturn;\n\t\t}\n\n\t\tif (newDateTime === endDateTime) {\n\t\t\tsetValueDate([newDate, newDate]);\n\t\t\treturn;\n\t\t}\n\n\t\tif (newDate < startDate) {\n\t\t\tsetValueDate([newDate, endDate]);\n\t\t\treturn;\n\t\t}\n\n\t\tif (newDate > endDate) {\n\t\t\tsetValueDate([startDate, newDate]);\n\t\t\treturn;\n\t\t}\n\n\t\tconst distanceToStart = Math.abs(newDateTime - startDateTime);\n\t\tconst distanceToEnd = Math.abs(endDateTime - newDateTime);\n\n\t\tif (distanceToStart <= distanceToEnd) {\n\t\t\tsetValueDate([newDate, endDate]);\n\t\t\treturn;\n\t\t}\n\n\t\tsetValueDate([startDate, newDate]);\n\t}\n\n\tchangeMonth(\n\t\tmonth: number,\n\t\tviewDate: Date,\n\t\tsetViewDate: (date: Date) => void,\n\t) {\n\t\tconst nextViewDate = new Date(viewDate);\n\t\tnextViewDate.setMonth(month);\n\t\tsetViewDate(nextViewDate);\n\t}\n\n\tchangeYear(year: number, viewDate: Date, setViewDate: (date: Date) => void) {\n\t\tconst nextViewDate = new Date(viewDate);\n\t\tnextViewDate.setFullYear(year);\n\t\tsetViewDate(nextViewDate);\n\t}\n\n\tnextMonth(viewDate: Date, setViewDate: (date: Date) => void) {\n\t\tconst nextViewDate = new Date(viewDate);\n\t\tnextViewDate.setDate(1);\n\t\tnextViewDate.setMonth(nextViewDate.getMonth() + 1);\n\t\tsetViewDate(nextViewDate);\n\t}\n\n\tpreviousMonth(viewDate: Date, setViewDate: (date: Date) => void) {\n\t\tconst nextViewDate = new Date(viewDate);\n\t\tnextViewDate.setDate(1);\n\t\tnextViewDate.setMonth(nextViewDate.getMonth() - 1);\n\t\tsetViewDate(nextViewDate);\n\t}\n}\n\nexport { type CalendarMatrix, ViewService };\n"],"mappings":";;AAYA,IAAM,IAAN,MAAkB;CACjB,WAAW,GAAgB;EAC1B,OAAO,OAAO,EAAS,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG;CAClD;CAEA,aAAa,GAAgB;EAC5B,OAAO,OAAO,EAAS,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG;CACvD;CAEA,YAAY,GAAgB;EAC3B,OAAO,OAAO,EAAS,YAAY,CAAC;CACrC;CAEA,WAAW,GAAc;EACxB,OAAO,EAAkC,CAAI;CAC9C;CAEA,aACC,GACA,GACA,GACA,GAC8C;EAC9C,IAAM,IAAe,EAAU,EAAE,CAAC,QAAQ,GACpC,IAAiB,EAAU,EAAE,CAAC,SAAS,GACvC,IAAgB,EAAU,EAAE,CAAC,YAAY,GAEzC,IAAgB,EAAU,EAAE,CAAC,QAAQ,GACrC,IAAkB,EAAU,EAAE,CAAC,SAAS,GACxC,IAAiB,EAAU,EAAE,CAAC,YAAY,GAE1C,IAAY,IAAI,KAAK,GAAe,GAAgB,CAAY,GAChE,IAAa,IAAI,KAAK,GAAgB,GAAiB,CAAa,GACpE,IAAc,IAAI,KAAK,GAAM,GAAO,CAAG;EAK7C,OAHI,EAAU,QAAQ,MAAM,EAAY,QAAQ,KAC5C,EAAW,QAAQ,MAAM,EAAY,QAAQ,IAAU,eACvD,IAAc,KAAa,IAAc,IAAmB,cACzD;CACR;CAEA,SAAS,GAAkB;EAC1B,IAAM,IAAW,CAAC,GACZ,IAAiB,IAAI,KAAK,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC;EAEpD,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK;GAC3B,IAAM,IAAM,IAAI,KAAK,CAAc;GACnC,EAAI,WAAW,EAAe,WAAW,IAAI,CAAC;GAC9C,IAAM,IAAU,EAAI,mBAAmB,GAAU;IAChD,SAAS;IACT,UAAU;GACX,CAAC;GACD,EAAS,KAAK,CAAO;EACtB;EAEA,OAAO;CACR;CAEA,WAAW,GAAgB,GAAkB;EAC5C,IAAM,IAA4B,IAAI,KAAK,eAAe,GAAU,EACnE,OAAO,OACR,CAAC;EAED,OAAO,MAAM,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,MAAM;GAC3C,IAAM,IAAO,IAAI,KAAK,EAAS,YAAY,GAAG,GAAG,CAAC,GAC5C,IAAQ,EAA0B,OAAO,CAAI;GACnD,OAAO;IACN,OAAO,KAAK,WAAW,CAAK;IAC5B,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG;GACjC;EACD,CAAC;CACF;CAEA,UAAU,GAAmB;EAC5B,IAAM,qBAAc,IAAI,KAAK,EAAA,CAAE,YAAY;EAE3C,OAAO,MAAM,KAAK,EAAE,QAAQ,IAAY,EAAE,IAAI,GAAG,MAAM;GACtD,IAAM,IAAO,IAAc,IAAY;GACvC,OAAO;IAAE,OAAO,OAAO,CAAI;IAAG,OAAO,OAAO,CAAI;GAAE;EACnD,CAAC,CAAC,CAAC,QAAQ;CACZ;CAEA,WAAW,GAAgB,GAAyB;EACnD,IAAM,IAAO,EAAS,YAAY,GAC5B,IAAa,EAAS,SAAS,GAG/B,IAAe,IADO,KAAK,GAAM,GAAY,CAC9B,CAAA,CAAgB,OAAO,GAEtC,IAAqB,IAAI,KAAK,GAAM,IAAa,GAAG,CAAC,CAAC,CAAC,QAAQ,GAC/D,IAAsB,IAAI,KAAK,GAAM,GAAY,CAAC,CAAC,CAAC,QAAQ,GAE5D,IAAa,KAAK,MAAM,IAAe,KAAsB,CAAC,IAAI,GAElE,IAAwB,CAAC,GAC3B,IAAkB,GAClB,IAAe;EAEnB,KAAK,IAAI,IAAI,GAAG,IAAI,GAAY,KAAK;GACpC,IAAM,IAAY,KAAK,MAAM,IAAI,CAAC;GAGlC,IAFK,EAAM,OAAY,EAAM,KAAa,CAAC,IAEvC,IAAI,GAAc;IACrB,IAAM,IAAM,KAAuB,IAAe,IAAI,IAChD,IAAQ,MAAe,IAAI,KAAK,IAAa,GAC7C,IAAW,MAAe,IAAI,IAAO,IAAI;IAE/C,EAAM,EAAU,CAAC,KAAK;KACrB;KACA;KACA,MAAM;KACN,UAAU;KACV,SAAS,KAAK,aAAa,GAAK,GAAO,GAAU,CAAS;IAC3D,CAAC;GACF,OAAO,IAAI,KAAmB,GAa7B,AAZA,EAAM,EAAU,CAAC,KAAK;IACrB,KAAK;IACL,OAAO;IACD;IACN,UAAU;IACV,SAAS,KAAK,aACb,GACA,GACA,GACA,CACD;GACD,CAAC,GACD;QACM;IACN,IAAM,IAAQ,MAAe,KAAK,IAAI,IAAa,GAC7C,IAAW,MAAe,KAAK,IAAO,IAAI;IAShD,AAPA,EAAM,EAAU,CAAC,KAAK;KACrB,KAAK;KACL;KACA,MAAM;KACN,UAAU;KACV,SAAS,KAAK,aAAa,GAAc,GAAO,GAAU,CAAS;IACpE,CAAC,GACD;GACD;EACD;EAEA,OAAO;CACR;CAEA,UACC,GACA,GACA,GACA,GACA,GACA,GACA,GACC;EACD,IAAM,KAAiB,MACtB,IAAI,KAAK,EAAK,YAAY,GAAG,EAAK,SAAS,GAAG,EAAK,QAAQ,CAAC,GAEvD,IAAU,EAAc,IAAI,KAAK,GAAM,GAAO,CAAG,CAAC;EAGxD,IAFA,EAAY,CAAO,GAEf,MAAiB,UAAU;GAC9B,EAAa,CAAC,GAAS,CAAO,CAAC;GAC/B;EACD;EAEA,IAAM,IAAY,EAAc,EAAU,EAAE,GACtC,IAAU,EAAc,EAAU,EAAE,GAEpC,IAAc,EAAQ,QAAQ,GAC9B,IAAgB,EAAU,QAAQ,GAClC,IAAc,EAAQ,QAAQ;EAEpC,IAAI,MAAgB,GAAe;GAClC,EAAa,CAAC,GAAS,CAAO,CAAC;GAC/B;EACD;EAEA,IAAI,MAAgB,GAAa;GAChC,EAAa,CAAC,GAAS,CAAO,CAAC;GAC/B;EACD;EAEA,IAAI,IAAU,GAAW;GACxB,EAAa,CAAC,GAAS,CAAO,CAAC;GAC/B;EACD;EAEA,IAAI,IAAU,GAAS;GACtB,EAAa,CAAC,GAAW,CAAO,CAAC;GACjC;EACD;EAKA,IAHwB,KAAK,IAAI,IAAc,CAG3C,KAFkB,KAAK,IAAI,IAAc,CAEtB,GAAe;GACrC,EAAa,CAAC,GAAS,CAAO,CAAC;GAC/B;EACD;EAEA,EAAa,CAAC,GAAW,CAAO,CAAC;CAClC;CAEA,YACC,GACA,GACA,GACC;EACD,IAAM,IAAe,IAAI,KAAK,CAAQ;EAEtC,AADA,EAAa,SAAS,CAAK,GAC3B,EAAY,CAAY;CACzB;CAEA,WAAW,GAAc,GAAgB,GAAmC;EAC3E,IAAM,IAAe,IAAI,KAAK,CAAQ;EAEtC,AADA,EAAa,YAAY,CAAI,GAC7B,EAAY,CAAY;CACzB;CAEA,UAAU,GAAgB,GAAmC;EAC5D,IAAM,IAAe,IAAI,KAAK,CAAQ;EAGtC,AAFA,EAAa,QAAQ,CAAC,GACtB,EAAa,SAAS,EAAa,SAAS,IAAI,CAAC,GACjD,EAAY,CAAY;CACzB;CAEA,cAAc,GAAgB,GAAmC;EAChE,IAAM,IAAe,IAAI,KAAK,CAAQ;EAGtC,AAFA,EAAa,QAAQ,CAAC,GACtB,EAAa,SAAS,EAAa,SAAS,IAAI,CAAC,GACjD,EAAY,CAAY;CACzB;AACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/calendar/calendarContainer/index.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport \"./styles.css\";\n\ntype CalendarContainerProps = {\n\tchildren?: ReactNode;\n};\n\nfunction CalendarContainer({ children }: CalendarContainerProps) {\n\treturn <div className={`arkynCalendarContainer`}>{children}</div>;\n}\n\nexport { CalendarContainer };\n"],"mappings":";;;AAOA,SAAS,EAAkB,EAAE,eAAoC;CAChE,OAAO,kBAAC,OAAD;EAAK,WAAW;EAA2B;CAAc,CAAA;AACjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer arkyn{.arkynCalendarContainer{border:1px solid var(--border);background-color:var(--background-foreground);border-radius:8px;flex-direction:column;gap:32px;max-width:400px;padding:16px;display:flex}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/calendar/calendarHeader/index.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight } from \"lucide-react\";\n\nimport { Select } from \"../../select\";\nimport { useCalendar } from \"../_calendarProvider\";\nimport \"./styles.css\";\n\ntype CalendarHeaderProps = {\n\tbasicMode: boolean;\n};\n\nfunction CalendarHeader({ basicMode }: CalendarHeaderProps) {\n\tconst calendar = useCalendar();\n\n\tif (basicMode) {\n\t\treturn (\n\t\t\t<div className={`arkynCalendarHeader`}>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclassName=\"arkynCalendarButton\"\n\t\t\t\t\tonClick={() => calendar.previousMonth()}\n\t\t\t\t>\n\t\t\t\t\t<ChevronLeft />\n\t\t\t\t</button>\n\n\t\t\t\t<p>{calendar.currentDate}</p>\n\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclassName=\"arkynCalendarButton\"\n\t\t\t\t\tonClick={() => calendar.nextMonth()}\n\t\t\t\t>\n\t\t\t\t\t<ChevronRight />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={`arkynCalendarHeader`}>\n\t\t\t<div>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclassName=\"arkynCalendarButton\"\n\t\t\t\t\tonClick={() => calendar.previousMonth()}\n\t\t\t\t>\n\t\t\t\t\t<ChevronLeft />\n\t\t\t\t</button>\n\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclassName=\"arkynCalendarButton\"\n\t\t\t\t\tonClick={() => calendar.nextMonth()}\n\t\t\t\t>\n\t\t\t\t\t<ChevronRight />\n\t\t\t\t</button>\n\t\t\t</div>\n\n\t\t\t<div>\n\t\t\t\t<Select\n\t\t\t\t\tname=\"calendarMonth\"\n\t\t\t\t\tvariant=\"underline\"\n\t\t\t\t\tclassName=\"calendarMonthSelect\"\n\t\t\t\t\tvalue={calendar.currentMonth}\n\t\t\t\t\toptions={calendar.listMonths}\n\t\t\t\t\tonChange={(value) => calendar.changeMonth(+value)}\n\t\t\t\t/>\n\n\t\t\t\t<Select\n\t\t\t\t\tname=\"calendarYear\"\n\t\t\t\t\tvariant=\"underline\"\n\t\t\t\t\tclassName=\"calendarYearSelect\"\n\t\t\t\t\tvalue={calendar.currentYear}\n\t\t\t\t\toptions={calendar.listYears}\n\t\t\t\t\tonChange={(value) => calendar.changeYear(+value)}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport { CalendarHeader };\n"],"mappings":";;;;;;AAUA,SAAS,EAAe,EAAE,gBAAkC;CAC3D,IAAM,IAAW,EAAY;CA0B7B,OAxBI,IAEF,kBAAC,OAAD;EAAK,WAAW;YAAhB;GACC,kBAAC,UAAD;IACC,MAAK;IACL,WAAU;IACV,eAAe,EAAS,cAAc;cAEtC,kBAAC,GAAD,CAAc,CAAA;GACP,CAAA;GAER,kBAAC,KAAD,EAAA,UAAI,EAAS,YAAe,CAAA;GAE5B,kBAAC,UAAD;IACC,MAAK;IACL,WAAU;IACV,eAAe,EAAS,UAAU;cAElC,kBAAC,GAAD,CAAe,CAAA;GACR,CAAA;EACJ;MAKN,kBAAC,OAAD;EAAK,WAAW;YAAhB,CACC,kBAAC,OAAD,EAAA,UAAA,CACC,kBAAC,UAAD;GACC,MAAK;GACL,WAAU;GACV,eAAe,EAAS,cAAc;aAEtC,kBAAC,GAAD,CAAc,CAAA;EACP,CAAA,GAER,kBAAC,UAAD;GACC,MAAK;GACL,WAAU;GACV,eAAe,EAAS,UAAU;aAElC,kBAAC,GAAD,CAAe,CAAA;EACR,CAAA,CACJ,EAAA,CAAA,GAEL,kBAAC,OAAD,EAAA,UAAA,CACC,kBAAC,GAAD;GACC,MAAK;GACL,SAAQ;GACR,WAAU;GACV,OAAO,EAAS;GAChB,SAAS,EAAS;GAClB,WAAW,MAAU,EAAS,YAAY,CAAC,CAAK;EAChD,CAAA,GAED,kBAAC,GAAD;GACC,MAAK;GACL,SAAQ;GACR,WAAU;GACV,OAAO,EAAS;GAChB,SAAS,EAAS;GAClB,WAAW,MAAU,EAAS,WAAW,CAAC,CAAK;EAC/C,CAAA,CACG,EAAA,CAAA,CACD;;AAEP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer arkyn{.arkynCalendarHeader{justify-content:space-between;align-items:center;gap:16px;display:flex}.arkynCalendarHeader>p{color:var(--text-body);font-size:14px;font-weight:500}.arkynCalendarHeader .arkynCalendarButton{border:unset;background-color:unset;color:var(--text-muted);cursor:pointer;align-items:center;gap:4px;display:flex}.arkynCalendarHeader .arkynCalendarButton:hover svg{color:rgb(var(--spotlight-primary))}.arkynCalendarHeader>div{align-items:center;gap:12px;display:flex}.arkynCalendarHeader div .arkynSelectContainer{padding:unset;min-width:70px;min-height:24px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/calendar/calendarTableBody/index.tsx"],"sourcesContent":["import { useCalendar } from \"../_calendarProvider\";\nimport { CalendarTableTd } from \"../calendarTableTd\";\nimport \"./styles.css\";\n\nfunction CalendarTableBody() {\n\tconst calendar = useCalendar();\n\n\treturn (\n\t\t<tbody className=\"arkynCalendarTableBody\">\n\t\t\t{calendar.listMatrix.map((week, weekIndex) => (\n\t\t\t\t// biome-ignore lint/suspicious/noArrayIndexKey: week position is stable in monthly matrix\n\t\t\t\t<tr key={`week-${weekIndex}`}>\n\t\t\t\t\t{week.map((props, dayIndex) => (\n\t\t\t\t\t\t// biome-ignore lint/suspicious/noArrayIndexKey: day position is stable in week\n\t\t\t\t\t\t<CalendarTableTd key={`day-${weekIndex}-${dayIndex}`} {...props} />\n\t\t\t\t\t))}\n\t\t\t\t</tr>\n\t\t\t))}\n\t\t</tbody>\n\t);\n}\n\nexport { CalendarTableBody };\n"],"mappings":";;;;;AAIA,SAAS,IAAoB;CAG5B,OACC,kBAAC,SAAD;EAAO,WAAU;YAHD,EAId,CAAA,CAAS,WAAW,KAAK,GAAM,MAE/B,kBAAC,MAAD,EAAA,UACE,EAAK,KAAK,GAAO,MAEjB,kBAAC,GAAD,EAAsD,GAAI,EAAQ,GAA5C,OAAO,EAAU,GAAG,GAAwB,CAClE,EACE,GALK,QAAQ,GAKb,CACJ;CACK,CAAA;AAET"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer arkyn{.arkynCalendarTableBody{border-collapse:collapse;border-spacing:0}.arkynCalendarTableBody td p{text-align:center;padding:16px;font-size:14px}.arkynCalendarTableBody tr:first-child td{padding-top:8px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/calendar/calendarTableContainer/index.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport \"./styles.css\";\n\ntype CalendarTableContainerProps = {\n\tchildren: ReactNode;\n};\n\nfunction CalendarTableContainer({ children }: CalendarTableContainerProps) {\n\treturn <table className=\"arkynCalendarTableContainer\">{children}</table>;\n}\n\nexport { CalendarTableContainer };\n"],"mappings":";;;AAOA,SAAS,EAAuB,EAAE,eAAyC;CAC1E,OAAO,kBAAC,SAAD;EAAO,WAAU;EAA+B;CAAgB,CAAA;AACxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer arkyn{.arkynCalendarTableContainer{border-collapse:collapse;border-spacing:0}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/calendar/calendarTableHeader/index.tsx"],"sourcesContent":["import { formatToCapitalizeFirstWordLetter } from \"@arkyn/shared\";\nimport { useCalendar } from \"../_calendarProvider\";\nimport \"./styles.css\";\n\nfunction CalendarTableHeader() {\n\tconst { listWeek } = useCalendar();\n\n\treturn (\n\t\t<thead className=\"arkynCalendarTableHeader\">\n\t\t\t<tr>\n\t\t\t\t{listWeek.map((day) => (\n\t\t\t\t\t<th key={day}>{formatToCapitalizeFirstWordLetter(day)}</th>\n\t\t\t\t))}\n\t\t\t</tr>\n\t\t</thead>\n\t);\n}\n\nexport { CalendarTableHeader };\n"],"mappings":";;;;;AAIA,SAAS,IAAsB;CAC9B,IAAM,EAAE,gBAAa,EAAY;CAEjC,OACC,kBAAC,SAAD;EAAO,WAAU;YAChB,kBAAC,MAAD,EAAA,UACE,EAAS,KAAK,MACd,kBAAC,MAAD,EAAA,UAAe,EAAkC,CAAG,EAAM,GAAjD,CAAiD,CAC1D,EACE,CAAA;CACE,CAAA;AAET"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer arkyn{.arkynCalendarTableHeader th{color:var(--text-muted);padding-bottom:8px;font-size:14px;font-weight:500}.arkynCalendarTableHeader{border-bottom:1px solid var(--border)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/calendar/calendarTableTd/index.tsx"],"sourcesContent":["import { useCalendar } from \"../_calendarProvider\";\nimport \"./styles.css\";\n\ntype CalendarTableTdProps = {\n\tday: number;\n\tmonth: number;\n\tyear: number;\n\tdayType: \"checkedDay\" | \"middleDay\" | \"uncheckedDay\";\n\tdayOwner: \"previous\" | \"current\" | \"next\";\n};\n\nfunction CalendarTableTd(props: CalendarTableTdProps) {\n\tconst { day, month, year, dayOwner, dayType } = props;\n\tconst { changeDay } = useCalendar();\n\n\tfunction isToday() {\n\t\tconst today = new Date();\n\t\treturn (\n\t\t\tday === today.getDate() &&\n\t\t\tmonth === today.getMonth() &&\n\t\t\tyear === today.getFullYear()\n\t\t);\n\t}\n\n\treturn (\n\t\t<td\n\t\t\tonClick={() => changeDay(day, month, year)}\n\t\t\tclassName={`arkynCalendarTableTd ${dayOwner} ${dayType} ${isToday() ? \"today\" : \"\"}`}\n\t\t>\n\t\t\t<div className=\"textGroup\">\n\t\t\t\t<span />\n\t\t\t\t<p>{day}</p>\n\t\t\t</div>\n\t\t</td>\n\t);\n}\n\nexport { CalendarTableTd };\n"],"mappings":";;;;AAWA,SAAS,EAAgB,GAA6B;CACrD,IAAM,EAAE,QAAK,UAAO,SAAM,aAAU,eAAY,GAC1C,EAAE,iBAAc,EAAY;CAElC,SAAS,IAAU;EAClB,IAAM,oBAAQ,IAAI,KAAK;EACvB,OACC,MAAQ,EAAM,QAAQ,KACtB,MAAU,EAAM,SAAS,KACzB,MAAS,EAAM,YAAY;CAE7B;CAEA,OACC,kBAAC,MAAD;EACC,eAAe,EAAU,GAAK,GAAO,CAAI;EACzC,WAAW,wBAAwB,EAAS,GAAG,EAAQ,GAAG,EAAQ,IAAI,UAAU;YAEhF,kBAAC,OAAD;GAAK,WAAU;aAAf,CACC,kBAAC,QAAD,CAAO,CAAA,GACP,kBAAC,KAAD,EAAA,UAAI,EAAO,CAAA,CACP;;CACF,CAAA;AAEN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer arkyn{.arkynCalendarTableTd{-webkit-user-select:none;user-select:none;cursor:pointer}.arkynCalendarTableTd p{text-align:center;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;margin:auto;font-size:14px;display:flex}.arkynCalendarTableTd.previous p,.arkynCalendarTableTd.next p{color:var(--text-muted)}.arkynCalendarTableTd.current p{color:var(--text-body)}.arkynCalendarTableTd:hover p{color:rgb(var(--spotlight-primary))}.arkynCalendarTableTd.today:not(.checkedDay) p{color:var(--text-body);background-color:var(--background-underground);filter:brightness(.97);font-weight:500}.arkynCalendarTableTd .textGroup{width:40px;height:40px;margin:auto;position:relative}.arkynCalendarTableTd.checkedDay .textGroup span{content:" ";background-color:rgb(var(--spotlight-primary));z-index:2;border-radius:8px;position:absolute;inset:0}.arkynCalendarTableTd.checkedDay .textGroup p{color:var(--white);z-index:3;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.arkynCalendarTableTd.middleDay .textGroup span{content:" ";background-color:var(--background-underground);filter:brightness(.95);z-index:1;position:absolute;inset:0 -15px}.arkynCalendarTableTd:first-child.middleDay .textGroup span{border-top-left-radius:6px;border-bottom-left-radius:6px;left:0;right:-15px}.arkynCalendarTableTd:last-child.middleDay .textGroup span{border-top-right-radius:6px;border-bottom-right-radius:6px;left:-15px;right:0}.arkynCalendarTableTd.middleDay .textGroup p{color:var(--text-muted);z-index:2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.arkynCalendarTableTd.current.middleDay .textGroup p{color:var(--text-body)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/calendar/index.tsx"],"sourcesContent":["import { CalendarProvider } from \"./_calendarProvider\";\nimport { CalendarContainer } from \"./calendarContainer\";\nimport { CalendarHeader } from \"./calendarHeader\";\nimport { CalendarTableBody } from \"./calendarTableBody\";\nimport { CalendarTableContainer } from \"./calendarTableContainer\";\nimport { CalendarTableHeader } from \"./calendarTableHeader\";\n\n/**\n * Props for Calendar single-date selection mode.\n */\ntype SingleCalendarProps = {\n\t/** Sets single-date selection mode. */\n\ttype: \"single\";\n\t/**\n\t * Defines the visual/behavioral variant.\n\t * - `basic`: simplified header.\n\t * - `complete`: full navigation experience.\n\t *\n\t * @default \"complete\"\n\t */\n\tvariant?: \"basic\" | \"complete\";\n\t/** Currently selected date. */\n\tvalue?: Date;\n\t/** Initial selected date. */\n\tdefaultValue?: Date;\n\t/** Callback fired when the selected date changes. */\n\tonChange?: (date: Date) => void;\n\t/** Currently focused view date. */\n\tviewValue?: Date;\n\t/** Initial focused view date. */\n\tdefaultViewValue?: Date;\n\t/** Callback fired when the view (month/year) changes. */\n\tonChangeView?: (date: Date) => void;\n};\n\n/**\n * Props for Calendar range selection mode.\n */\ntype RangeCalendarProps = {\n\t/** Sets range selection mode. */\n\ttype: \"range\";\n\t/**\n\t * Defines the visual/behavioral variant.\n\t * - `basic`: simplified header.\n\t * - `complete`: full navigation experience.\n\t *\n\t * @default \"complete\"\n\t */\n\tvariant?: \"basic\" | \"complete\";\n\t/** Currently selected range in `[start, end]` format. */\n\tvalue?: [Date, Date];\n\t/** Initial selected range in `[start, end]` format. */\n\tdefaultValue?: [Date, Date];\n\t/** Callback fired when the selected range changes. */\n\tonChange?: (date: [Date, Date]) => void;\n\t/** Currently focused view date. */\n\tviewValue?: Date;\n\t/** Initial focused view date. */\n\tdefaultViewValue?: Date;\n\t/** Callback fired when the view (month/year) changes. */\n\tonChangeView?: (date: Date) => void;\n};\n\n/**\n * Discriminated union of Calendar props.\n */\ntype CalendarProps = SingleCalendarProps | RangeCalendarProps;\n\n/**\n * Reusable calendar component with support for two selection modes:\n * single date (`single`) and range (`range`).\n *\n * The component encapsulates calendar state and navigation rules through\n * `CalendarProvider`, exposing a simple API for forms, filters,\n * and scheduling flows.\n *\n * @param props Calendar properties (`single` or `range` mode).\n * @returns Calendar UI structure with header and date grid.\n *\n * @example\n * // Single-date selection\n * <Calendar\n * type=\"single\"\n * variant=\"complete\"\n * defaultValue={new Date()}\n * onChange={(date) => {\n * console.log(\"Selected date:\", date);\n * }}\n * onChangeView={(viewDate) => {\n * console.log(\"Current view:\", viewDate);\n * }}\n * />\n *\n * @example\n * // Range selection\n * <Calendar\n * type=\"range\"\n * variant=\"basic\"\n * defaultValue={[new Date(2026, 5, 1), new Date(2026, 5, 15)]}\n * onChange={([start, end]) => {\n * console.log(\"Range:\", start, end);\n * }}\n * onChangeView={(viewDate) => {\n * console.log(\"Focused month:\", viewDate);\n * }}\n * />\n */\nfunction Calendar(props: CalendarProps) {\n\tconst variant = props.variant || \"complete\";\n\n\tif (props.type === \"range\") {\n\t\treturn (\n\t\t\t<CalendarProvider\n\t\t\t\tvalue={props.value}\n\t\t\t\tviewValue={props.viewValue}\n\t\t\t\tdefaultViewValue={props.defaultViewValue}\n\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\tcalendarType=\"range\"\n\t\t\t\tonChange={props.onChange}\n\t\t\t\tonChangeView={props.onChangeView}\n\t\t\t>\n\t\t\t\t<CalendarContainer>\n\t\t\t\t\t<CalendarHeader basicMode={variant.includes(\"basic\")} />\n\t\t\t\t\t<CalendarTableContainer>\n\t\t\t\t\t\t<CalendarTableHeader />\n\t\t\t\t\t\t<CalendarTableBody />\n\t\t\t\t\t</CalendarTableContainer>\n\t\t\t\t</CalendarContainer>\n\t\t\t</CalendarProvider>\n\t\t);\n\t}\n\n\treturn (\n\t\t<CalendarProvider\n\t\t\tvalue={props.value}\n\t\t\tviewValue={props.viewValue}\n\t\t\tdefaultViewValue={props.defaultViewValue}\n\t\t\tdefaultValue={props.defaultValue}\n\t\t\tcalendarType=\"single\"\n\t\t\tonChange={props.onChange}\n\t\t\tonChangeView={props.onChangeView}\n\t\t>\n\t\t\t<CalendarContainer>\n\t\t\t\t<CalendarHeader basicMode={variant.includes(\"basic\")} />\n\t\t\t\t<CalendarTableContainer>\n\t\t\t\t\t<CalendarTableHeader />\n\t\t\t\t\t<CalendarTableBody />\n\t\t\t\t</CalendarTableContainer>\n\t\t\t</CalendarContainer>\n\t\t</CalendarProvider>\n\t);\n}\n\nexport { Calendar };\n"],"mappings":";;;;;;;;AA2GA,SAAS,EAAS,GAAsB;CACvC,IAAM,IAAU,EAAM,WAAW;CAwBjC,OAtBI,EAAM,SAAS,UAEjB,kBAAC,GAAD;EACC,OAAO,EAAM;EACb,WAAW,EAAM;EACjB,kBAAkB,EAAM;EACxB,cAAc,EAAM;EACpB,cAAa;EACb,UAAU,EAAM;EAChB,cAAc,EAAM;YAEpB,kBAAC,GAAD,EAAA,UAAA,CACC,kBAAC,GAAD,EAAgB,WAAW,EAAQ,SAAS,OAAO,EAAI,CAAA,GACvD,kBAAC,GAAD,EAAA,UAAA,CACC,kBAAC,GAAD,CAAsB,CAAA,GACtB,kBAAC,GAAD,CAAoB,CAAA,CACG,EAAA,CAAA,CACN,EAAA,CAAA;CACF,CAAA,IAKnB,kBAAC,GAAD;EACC,OAAO,EAAM;EACb,WAAW,EAAM;EACjB,kBAAkB,EAAM;EACxB,cAAc,EAAM;EACpB,cAAa;EACb,UAAU,EAAM;EAChB,cAAc,EAAM;YAEpB,kBAAC,GAAD,EAAA,UAAA,CACC,kBAAC,GAAD,EAAgB,WAAW,EAAQ,SAAS,OAAO,EAAI,CAAA,GACvD,kBAAC,GAAD,EAAA,UAAA,CACC,kBAAC,GAAD,CAAsB,CAAA,GACtB,kBAAC,GAAD,CAAoB,CAAA,CACG,EAAA,CAAA,CACN,EAAA,CAAA;CACF,CAAA;AAEpB"}
|