@dynamic-framework/ui-react 2.8.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/dynamic-ui.css +5 -22
- package/dist/css/dynamic-ui.min.css +2 -2
- package/dist/esm/components/DAlert/DAlert.js +16 -0
- package/dist/esm/components/DAlert/DAlert.js.map +1 -0
- package/dist/esm/components/DAlert/index.js +6 -0
- package/dist/esm/components/DAlert/index.js.map +1 -0
- package/dist/esm/components/DAvatar/DAvatar.js +23 -0
- package/dist/esm/components/DAvatar/DAvatar.js.map +1 -0
- package/dist/esm/components/DAvatar/index.js +6 -0
- package/dist/esm/components/DAvatar/index.js.map +1 -0
- package/dist/esm/components/DBadge/DBadge.js +31 -0
- package/dist/esm/components/DBadge/DBadge.js.map +1 -0
- package/dist/esm/components/DBadge/index.js +6 -0
- package/dist/esm/components/DBadge/index.js.map +1 -0
- package/dist/esm/components/DBox/DBox.js +9 -0
- package/dist/esm/components/DBox/DBox.js.map +1 -0
- package/dist/esm/components/DBox/index.js +6 -0
- package/dist/esm/components/DBox/index.js.map +1 -0
- package/dist/esm/components/DBoxFile/DBoxFile.js +26 -0
- package/dist/esm/components/DBoxFile/DBoxFile.js.map +1 -0
- package/dist/esm/components/DBoxFile/index.js +6 -0
- package/dist/esm/components/DBoxFile/index.js.map +1 -0
- package/dist/esm/components/DBoxFile/useDBoxFile.js +236 -0
- package/dist/esm/components/DBoxFile/useDBoxFile.js.map +1 -0
- package/dist/esm/components/DBoxFile/utils.js +127 -0
- package/dist/esm/components/DBoxFile/utils.js.map +1 -0
- package/dist/esm/components/DButton/DButton.js +84 -0
- package/dist/esm/components/DButton/DButton.js.map +1 -0
- package/dist/esm/components/DButton/index.js +6 -0
- package/dist/esm/components/DButton/index.js.map +1 -0
- package/dist/esm/components/DButtonIcon/DButtonIcon.js +52 -0
- package/dist/esm/components/DButtonIcon/DButtonIcon.js.map +1 -0
- package/dist/esm/components/DButtonIcon/index.js +6 -0
- package/dist/esm/components/DButtonIcon/index.js.map +1 -0
- package/dist/esm/components/DButtonIcon/warnMissingAccessibleName.js +40 -0
- package/dist/esm/components/DButtonIcon/warnMissingAccessibleName.js.map +1 -0
- package/dist/esm/components/DCard/DCard.js +17 -0
- package/dist/esm/components/DCard/DCard.js.map +1 -0
- package/dist/esm/components/DCard/components/DCardBody.js +9 -0
- package/dist/esm/components/DCard/components/DCardBody.js.map +1 -0
- package/dist/esm/components/DCard/components/DCardFooter.js +9 -0
- package/dist/esm/components/DCard/components/DCardFooter.js.map +1 -0
- package/dist/esm/components/DCard/components/DCardHeader.js +9 -0
- package/dist/esm/components/DCard/components/DCardHeader.js.map +1 -0
- package/dist/esm/components/DCard/index.js +9 -0
- package/dist/esm/components/DCard/index.js.map +1 -0
- package/dist/esm/components/DCarousel/DCarousel.js +39 -0
- package/dist/esm/components/DCarousel/DCarousel.js.map +1 -0
- package/dist/esm/components/DCarousel/components/DCarouselSlide.js +12 -0
- package/dist/esm/components/DCarousel/components/DCarouselSlide.js.map +1 -0
- package/dist/esm/components/DCarousel/index.js +7 -0
- package/dist/esm/components/DCarousel/index.js.map +1 -0
- package/dist/esm/components/DChip/DChip.js +18 -0
- package/dist/esm/components/DChip/DChip.js.map +1 -0
- package/dist/esm/components/DChip/index.js +6 -0
- package/dist/esm/components/DChip/index.js.map +1 -0
- package/dist/esm/components/DCollapse/DCollapse.js +30 -0
- package/dist/esm/components/DCollapse/DCollapse.js.map +1 -0
- package/dist/esm/components/DCollapse/index.js +6 -0
- package/dist/esm/components/DCollapse/index.js.map +1 -0
- package/dist/esm/components/DConfirmModal/DConfirmModalContainer.js +59 -0
- package/dist/esm/components/DConfirmModal/DConfirmModalContainer.js.map +1 -0
- package/dist/esm/components/DConfirmModal/DConfirmModalUI.js +39 -0
- package/dist/esm/components/DConfirmModal/DConfirmModalUI.js.map +1 -0
- package/dist/esm/components/DConfirmModal/confirmModalStore.js +38 -0
- package/dist/esm/components/DConfirmModal/confirmModalStore.js.map +1 -0
- package/dist/esm/components/DCreditCard/DCreditCard.js +15 -0
- package/dist/esm/components/DCreditCard/DCreditCard.js.map +1 -0
- package/dist/esm/components/DCreditCard/index.js +6 -0
- package/dist/esm/components/DCreditCard/index.js.map +1 -0
- package/dist/esm/components/DCurrencyText/DCurrencyText.js +10 -0
- package/dist/esm/components/DCurrencyText/DCurrencyText.js.map +1 -0
- package/dist/esm/components/DCurrencyText/index.js +6 -0
- package/dist/esm/components/DCurrencyText/index.js.map +1 -0
- package/dist/esm/components/DDataStateWrapper/DDataStateWrapper.js +35 -0
- package/dist/esm/components/DDataStateWrapper/DDataStateWrapper.js.map +1 -0
- package/dist/esm/components/DDataStateWrapper/components/EmptyState.js +10 -0
- package/dist/esm/components/DDataStateWrapper/components/EmptyState.js.map +1 -0
- package/dist/esm/components/DDataStateWrapper/components/ErrorState.js +10 -0
- package/dist/esm/components/DDataStateWrapper/components/ErrorState.js.map +1 -0
- package/dist/esm/components/DDataStateWrapper/components/LoadingState.js +8 -0
- package/dist/esm/components/DDataStateWrapper/components/LoadingState.js.map +1 -0
- package/dist/esm/components/DDataStateWrapper/index.js +9 -0
- package/dist/esm/components/DDataStateWrapper/index.js.map +1 -0
- package/dist/esm/components/DDatePicker/DDatePicker.js +54 -0
- package/dist/esm/components/DDatePicker/DDatePicker.js.map +1 -0
- package/dist/esm/components/DDatePicker/components/DDatePickerHeaderSelector.js +50 -0
- package/dist/esm/components/DDatePicker/components/DDatePickerHeaderSelector.js.map +1 -0
- package/dist/esm/components/DDatePicker/components/DDatePickerInput.js +16 -0
- package/dist/esm/components/DDatePicker/components/DDatePickerInput.js.map +1 -0
- package/dist/esm/components/DDatePicker/components/DDatePickerTime.js +11 -0
- package/dist/esm/components/DDatePicker/components/DDatePickerTime.js.map +1 -0
- package/dist/esm/components/DDatePicker/index.js +6 -0
- package/dist/esm/components/DDatePicker/index.js.map +1 -0
- package/dist/esm/components/DDropdown/DDropdown.js +315 -0
- package/dist/esm/components/DDropdown/DDropdown.js.map +1 -0
- package/dist/esm/components/DDropdown/index.js +6 -0
- package/dist/esm/components/DDropdown/index.js.map +1 -0
- package/dist/esm/components/DErrorBoundary/DErrorBoundary.js +22 -0
- package/dist/esm/components/DErrorBoundary/DErrorBoundary.js.map +1 -0
- package/dist/esm/components/DErrorBoundary/components/DefaultErrorBoundary.js +10 -0
- package/dist/esm/components/DErrorBoundary/components/DefaultErrorBoundary.js.map +1 -0
- package/dist/esm/components/DErrorBoundary/index.js +7 -0
- package/dist/esm/components/DErrorBoundary/index.js.map +1 -0
- package/dist/esm/components/DIcon/DIcon.js +21 -0
- package/dist/esm/components/DIcon/DIcon.js.map +1 -0
- package/dist/esm/components/DIcon/index.js +6 -0
- package/dist/esm/components/DIcon/index.js.map +1 -0
- package/dist/esm/components/DIconBase/DIconBase.js +146 -0
- package/dist/esm/components/DIconBase/DIconBase.js.map +1 -0
- package/dist/esm/components/DIconBase/index.js +6 -0
- package/dist/esm/components/DIconBase/index.js.map +1 -0
- package/dist/esm/components/DIconBase/resolveIconFromRegistry.js +20 -0
- package/dist/esm/components/DIconBase/resolveIconFromRegistry.js.map +1 -0
- package/dist/esm/components/DIconBase/warnUnknownIcon.js +59 -0
- package/dist/esm/components/DIconBase/warnUnknownIcon.js.map +1 -0
- package/dist/esm/components/DInput/DInput.js +83 -0
- package/dist/esm/components/DInput/DInput.js.map +1 -0
- package/dist/esm/components/DInput/index.js +6 -0
- package/dist/esm/components/DInput/index.js.map +1 -0
- package/dist/esm/components/DInputCheck/DInputCheck.js +57 -0
- package/dist/esm/components/DInputCheck/DInputCheck.js.map +1 -0
- package/dist/esm/components/DInputCheck/index.js +6 -0
- package/dist/esm/components/DInputCheck/index.js.map +1 -0
- package/dist/esm/components/DInputCounter/DInputCounter.js +49 -0
- package/dist/esm/components/DInputCounter/DInputCounter.js.map +1 -0
- package/dist/esm/components/DInputCounter/index.js +6 -0
- package/dist/esm/components/DInputCounter/index.js.map +1 -0
- package/dist/esm/components/DInputCurrency/DInputCurrency.js +20 -0
- package/dist/esm/components/DInputCurrency/DInputCurrency.js.map +1 -0
- package/dist/esm/components/DInputCurrency/index.js +6 -0
- package/dist/esm/components/DInputCurrency/index.js.map +1 -0
- package/dist/esm/components/DInputMask/DInputMask.js +13 -0
- package/dist/esm/components/DInputMask/DInputMask.js.map +1 -0
- package/dist/esm/components/DInputMask/index.js +6 -0
- package/dist/esm/components/DInputMask/index.js.map +1 -0
- package/dist/esm/components/DInputPassword/DInputPassword.js +24 -0
- package/dist/esm/components/DInputPassword/DInputPassword.js.map +1 -0
- package/dist/esm/components/DInputPassword/index.js +6 -0
- package/dist/esm/components/DInputPassword/index.js.map +1 -0
- package/dist/esm/components/DInputPhone/DInputPhone.js +96 -0
- package/dist/esm/components/DInputPhone/DInputPhone.js.map +1 -0
- package/dist/esm/components/DInputPhone/index.js +6 -0
- package/dist/esm/components/DInputPhone/index.js.map +1 -0
- package/dist/esm/components/DInputPin/DInputPin.js +86 -0
- package/dist/esm/components/DInputPin/DInputPin.js.map +1 -0
- package/dist/esm/components/DInputPin/index.js +6 -0
- package/dist/esm/components/DInputPin/index.js.map +1 -0
- package/dist/esm/components/DInputRange/DInputRange.js +46 -0
- package/dist/esm/components/DInputRange/DInputRange.js.map +1 -0
- package/dist/esm/components/DInputRange/index.js +6 -0
- package/dist/esm/components/DInputRange/index.js.map +1 -0
- package/dist/esm/components/DInputSearch/DInputSearch.js +57 -0
- package/dist/esm/components/DInputSearch/DInputSearch.js.map +1 -0
- package/dist/esm/components/DInputSearch/index.js +6 -0
- package/dist/esm/components/DInputSearch/index.js.map +1 -0
- package/dist/esm/components/DInputSelect/DInputSelect.js +90 -0
- package/dist/esm/components/DInputSelect/DInputSelect.js.map +1 -0
- package/dist/esm/components/DInputSelect/index.js +6 -0
- package/dist/esm/components/DInputSelect/index.js.map +1 -0
- package/dist/esm/components/DInputSwitch/DInputSwitch.js +32 -0
- package/dist/esm/components/DInputSwitch/DInputSwitch.js.map +1 -0
- package/dist/esm/components/DInputSwitch/index.js +6 -0
- package/dist/esm/components/DInputSwitch/index.js.map +1 -0
- package/dist/esm/components/DLayout/DLayout.js +22 -0
- package/dist/esm/components/DLayout/DLayout.js.map +1 -0
- package/dist/esm/components/DLayout/components/DLayoutPane.js +16 -0
- package/dist/esm/components/DLayout/components/DLayoutPane.js.map +1 -0
- package/dist/esm/components/DLayout/index.js +7 -0
- package/dist/esm/components/DLayout/index.js.map +1 -0
- package/dist/esm/components/DListGroup/DListGroup.js +31 -0
- package/dist/esm/components/DListGroup/DListGroup.js.map +1 -0
- package/dist/esm/components/DListGroup/components/DListGroupItem.js +41 -0
- package/dist/esm/components/DListGroup/components/DListGroupItem.js.map +1 -0
- package/dist/esm/components/DListGroup/index.js +7 -0
- package/dist/esm/components/DListGroup/index.js.map +1 -0
- package/dist/esm/components/DModal/DModal.js +37 -0
- package/dist/esm/components/DModal/DModal.js.map +1 -0
- package/dist/esm/components/DModal/components/DModalBody.js +9 -0
- package/dist/esm/components/DModal/components/DModalBody.js.map +1 -0
- package/dist/esm/components/DModal/components/DModalFooter.js +14 -0
- package/dist/esm/components/DModal/components/DModalFooter.js.map +1 -0
- package/dist/esm/components/DModal/components/DModalHeader.js +15 -0
- package/dist/esm/components/DModal/components/DModalHeader.js.map +1 -0
- package/dist/esm/components/DModal/index.js +9 -0
- package/dist/esm/components/DModal/index.js.map +1 -0
- package/dist/esm/components/DOffcanvas/DOffcanvas.js +82 -0
- package/dist/esm/components/DOffcanvas/DOffcanvas.js.map +1 -0
- package/dist/esm/components/DOffcanvas/components/DOffcanvasBody.js +9 -0
- package/dist/esm/components/DOffcanvas/components/DOffcanvasBody.js.map +1 -0
- package/dist/esm/components/DOffcanvas/components/DOffcanvasFooter.js +14 -0
- package/dist/esm/components/DOffcanvas/components/DOffcanvasFooter.js.map +1 -0
- package/dist/esm/components/DOffcanvas/components/DOffcanvasHeader.js +15 -0
- package/dist/esm/components/DOffcanvas/components/DOffcanvasHeader.js.map +1 -0
- package/dist/esm/components/DOffcanvas/index.js +9 -0
- package/dist/esm/components/DOffcanvas/index.js.map +1 -0
- package/dist/esm/components/DOtp/DOtp.js +26 -0
- package/dist/esm/components/DOtp/DOtp.js.map +1 -0
- package/dist/esm/components/DOtp/components/OtpCountdown.js +12 -0
- package/dist/esm/components/DOtp/components/OtpCountdown.js.map +1 -0
- package/dist/esm/components/DOtp/index.js +6 -0
- package/dist/esm/components/DOtp/index.js.map +1 -0
- package/dist/esm/components/DPaginator/DPaginator.js +12 -0
- package/dist/esm/components/DPaginator/DPaginator.js.map +1 -0
- package/dist/esm/components/DPaginator/index.js +6 -0
- package/dist/esm/components/DPaginator/index.js.map +1 -0
- package/dist/esm/components/DPasswordStrengthMeter/DPasswordStrengthMeter.js +27 -0
- package/dist/esm/components/DPasswordStrengthMeter/DPasswordStrengthMeter.js.map +1 -0
- package/dist/esm/components/DPasswordStrengthMeter/PasswordCheckItem.js +10 -0
- package/dist/esm/components/DPasswordStrengthMeter/PasswordCheckItem.js.map +1 -0
- package/dist/esm/components/DPasswordStrengthMeter/PasswordCheckList.js +41 -0
- package/dist/esm/components/DPasswordStrengthMeter/PasswordCheckList.js.map +1 -0
- package/dist/esm/components/DPasswordStrengthMeter/PasswordStrength.js +23 -0
- package/dist/esm/components/DPasswordStrengthMeter/PasswordStrength.js.map +1 -0
- package/dist/esm/components/DPasswordStrengthMeter/index.js +6 -0
- package/dist/esm/components/DPasswordStrengthMeter/index.js.map +1 -0
- package/dist/esm/components/DPopover/DPopover.js +49 -0
- package/dist/esm/components/DPopover/DPopover.js.map +1 -0
- package/dist/esm/components/DPopover/index.js +6 -0
- package/dist/esm/components/DPopover/index.js.map +1 -0
- package/dist/esm/components/DProgress/DProgress.js +16 -0
- package/dist/esm/components/DProgress/DProgress.js.map +1 -0
- package/dist/esm/components/DProgress/index.js +6 -0
- package/dist/esm/components/DProgress/index.js.map +1 -0
- package/dist/esm/components/DSelect/DSelect.js +60 -0
- package/dist/esm/components/DSelect/DSelect.js.map +1 -0
- package/dist/esm/components/DSelect/components/DSelectClearIndicator.js +12 -0
- package/dist/esm/components/DSelect/components/DSelectClearIndicator.js.map +1 -0
- package/dist/esm/components/DSelect/components/DSelectDropdownIndicator.js +12 -0
- package/dist/esm/components/DSelect/components/DSelectDropdownIndicator.js.map +1 -0
- package/dist/esm/components/DSelect/components/DSelectLoadingIndicator.js +12 -0
- package/dist/esm/components/DSelect/components/DSelectLoadingIndicator.js.map +1 -0
- package/dist/esm/components/DSelect/components/DSelectMultiValueRemove.js +12 -0
- package/dist/esm/components/DSelect/components/DSelectMultiValueRemove.js.map +1 -0
- package/dist/esm/components/DSelect/components/DSelectOptionCheck.js +14 -0
- package/dist/esm/components/DSelect/components/DSelectOptionCheck.js.map +1 -0
- package/dist/esm/components/DSelect/components/DSelectOptionEmoji.js +14 -0
- package/dist/esm/components/DSelect/components/DSelectOptionEmoji.js.map +1 -0
- package/dist/esm/components/DSelect/components/DSelectOptionIcon.js +15 -0
- package/dist/esm/components/DSelect/components/DSelectOptionIcon.js.map +1 -0
- package/dist/esm/components/DSelect/components/DSelectPlaceholder.js +14 -0
- package/dist/esm/components/DSelect/components/DSelectPlaceholder.js.map +1 -0
- package/dist/esm/components/DSelect/components/DSelectSingleValueEmoji.js +15 -0
- package/dist/esm/components/DSelect/components/DSelectSingleValueEmoji.js.map +1 -0
- package/dist/esm/components/DSelect/components/DSelectSingleValueEmojiText.js +15 -0
- package/dist/esm/components/DSelect/components/DSelectSingleValueEmojiText.js.map +1 -0
- package/dist/esm/components/DSelect/components/DSelectSingleValueIconText.js +16 -0
- package/dist/esm/components/DSelect/components/DSelectSingleValueIconText.js.map +1 -0
- package/dist/esm/components/DSelect/index.js +6 -0
- package/dist/esm/components/DSelect/index.js.map +1 -0
- package/dist/esm/components/DStepper/DStepper.js +13 -0
- package/dist/esm/components/DStepper/DStepper.js.map +1 -0
- package/dist/esm/components/DStepper/index.js +6 -0
- package/dist/esm/components/DStepper/index.js.map +1 -0
- package/dist/esm/components/DStepperDesktop/DStepperDesktop.js +27 -0
- package/dist/esm/components/DStepperDesktop/DStepperDesktop.js.map +1 -0
- package/dist/esm/components/DStepperDesktop/index.js +6 -0
- package/dist/esm/components/DStepperDesktop/index.js.map +1 -0
- package/dist/esm/components/DStepperMobile/DStepperMobile.js +37 -0
- package/dist/esm/components/DStepperMobile/DStepperMobile.js.map +1 -0
- package/dist/esm/components/DStepperMobile/index.js +6 -0
- package/dist/esm/components/DStepperMobile/index.js.map +1 -0
- package/dist/esm/components/DTabs/DTabs.js +117 -0
- package/dist/esm/components/DTabs/DTabs.js.map +1 -0
- package/dist/esm/components/DTabs/TabContext.js +13 -0
- package/dist/esm/components/DTabs/TabContext.js.map +1 -0
- package/dist/esm/components/DTabs/components/DTabContent.js +14 -0
- package/dist/esm/components/DTabs/components/DTabContent.js.map +1 -0
- package/dist/esm/components/DTabs/index.js +8 -0
- package/dist/esm/components/DTabs/index.js.map +1 -0
- package/dist/esm/components/DTimeline/DTimeline.js +12 -0
- package/dist/esm/components/DTimeline/DTimeline.js.map +1 -0
- package/dist/esm/components/DTimeline/index.js +6 -0
- package/dist/esm/components/DTimeline/index.js.map +1 -0
- package/dist/esm/components/DToast/DToast.js +15 -0
- package/dist/esm/components/DToast/DToast.js.map +1 -0
- package/dist/esm/components/DToast/components/DToastBody.js +9 -0
- package/dist/esm/components/DToast/components/DToastBody.js.map +1 -0
- package/dist/esm/components/DToast/components/DToastHeader.js +9 -0
- package/dist/esm/components/DToast/components/DToastHeader.js.map +1 -0
- package/dist/esm/components/DToast/index.js +8 -0
- package/dist/esm/components/DToast/index.js.map +1 -0
- package/dist/esm/components/DToastContainer/DToastContainer.js +9 -0
- package/dist/esm/components/DToastContainer/DToastContainer.js.map +1 -0
- package/dist/esm/components/DToastContainer/index.js +7 -0
- package/dist/esm/components/DToastContainer/index.js.map +1 -0
- package/dist/esm/components/DToastContainer/useDToast.js +58 -0
- package/dist/esm/components/DToastContainer/useDToast.js.map +1 -0
- package/dist/esm/components/DTooltip/DTooltip.js +51 -0
- package/dist/esm/components/DTooltip/DTooltip.js.map +1 -0
- package/dist/esm/components/DTooltip/index.js +6 -0
- package/dist/esm/components/DTooltip/index.js.map +1 -0
- package/dist/esm/components/DVoucher/DVoucher.js +55 -0
- package/dist/esm/components/DVoucher/DVoucher.js.map +1 -0
- package/dist/esm/components/DVoucher/hooks/useScreenshot.js +30 -0
- package/dist/esm/components/DVoucher/hooks/useScreenshot.js.map +1 -0
- package/dist/esm/components/DVoucher/hooks/useScreenshotDownload.js +30 -0
- package/dist/esm/components/DVoucher/hooks/useScreenshotDownload.js.map +1 -0
- package/dist/esm/components/DVoucher/hooks/useScreenshotWebShare.js +27 -0
- package/dist/esm/components/DVoucher/hooks/useScreenshotWebShare.js.map +1 -0
- package/dist/esm/components/DVoucher/index.js +9 -0
- package/dist/esm/components/DVoucher/index.js.map +1 -0
- package/dist/esm/components/config.js +14 -0
- package/dist/esm/components/config.js.map +1 -0
- package/dist/esm/contexts/DContext.js +124 -0
- package/dist/esm/contexts/DContext.js.map +1 -0
- package/dist/esm/contexts/DPortalContext.js +128 -0
- package/dist/esm/contexts/DPortalContext.js.map +1 -0
- package/dist/esm/hooks/useConfirmModal.js +63 -0
- package/dist/esm/hooks/useConfirmModal.js.map +1 -0
- package/dist/esm/hooks/useCountdown.js +45 -0
- package/dist/esm/hooks/useCountdown.js.map +1 -0
- package/dist/esm/hooks/useDisableBodyScrollEffect.js +52 -0
- package/dist/esm/hooks/useDisableBodyScrollEffect.js.map +1 -0
- package/dist/esm/hooks/useDisableInputWheel.js +17 -0
- package/dist/esm/hooks/useDisableInputWheel.js.map +1 -0
- package/dist/esm/hooks/useFormatCurrency.js +16 -0
- package/dist/esm/hooks/useFormatCurrency.js.map +1 -0
- package/dist/esm/hooks/useInputCurrency.js +76 -0
- package/dist/esm/hooks/useInputCurrency.js.map +1 -0
- package/dist/esm/hooks/useItemSelection.js +35 -0
- package/dist/esm/hooks/useItemSelection.js.map +1 -0
- package/dist/esm/hooks/useMediaBreakpointUp.js +30 -0
- package/dist/esm/hooks/useMediaBreakpointUp.js.map +1 -0
- package/dist/esm/hooks/useMediaQuery.js +11 -0
- package/dist/esm/hooks/useMediaQuery.js.map +1 -0
- package/dist/esm/hooks/useOtp.js +107 -0
- package/dist/esm/hooks/useOtp.js.map +1 -0
- package/dist/esm/hooks/usePortal.js +26 -0
- package/dist/esm/hooks/usePortal.js.map +1 -0
- package/dist/esm/hooks/useProvidedRefOrCreate.js +24 -0
- package/dist/esm/hooks/useProvidedRefOrCreate.js.map +1 -0
- package/dist/esm/hooks/useResponsiveProp.js +50 -0
- package/dist/esm/hooks/useResponsiveProp.js.map +1 -0
- package/dist/esm/hooks/useStackState.js +40 -0
- package/dist/esm/hooks/useStackState.js.map +1 -0
- package/dist/esm/icons/coreIcons.js +55 -0
- package/dist/esm/icons/coreIcons.js.map +1 -0
- package/dist/esm/index.js +98 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/utils/attr-accept.js +38 -0
- package/dist/esm/utils/attr-accept.js.map +1 -0
- package/dist/esm/utils/buildUrl.js +57 -0
- package/dist/esm/utils/buildUrl.js.map +1 -0
- package/dist/esm/utils/changeQueryString.js +19 -0
- package/dist/esm/utils/changeQueryString.js.map +1 -0
- package/dist/esm/utils/configureI18n.js +20 -0
- package/dist/esm/utils/configureI18n.js.map +1 -0
- package/dist/esm/utils/formatCurrency.js +8 -0
- package/dist/esm/utils/formatCurrency.js.map +1 -0
- package/dist/esm/utils/getCssVariable.js +7 -0
- package/dist/esm/utils/getCssVariable.js.map +1 -0
- package/dist/esm/utils/getKeyboardFocusableElements.js +11 -0
- package/dist/esm/utils/getKeyboardFocusableElements.js.map +1 -0
- package/dist/esm/utils/getQueryString.js +8 -0
- package/dist/esm/utils/getQueryString.js.map +1 -0
- package/dist/esm/utils/mediaQuery.js +13 -0
- package/dist/esm/utils/mediaQuery.js.map +1 -0
- package/dist/esm/utils/sanitizeHref.js +67 -0
- package/dist/esm/utils/sanitizeHref.js.map +1 -0
- package/dist/esm/utils/validatePhoneNumber.js +14 -0
- package/dist/esm/utils/validatePhoneNumber.js.map +1 -0
- package/dist/icons-core.json +33 -0
- package/dist/index.esm.js +463 -55
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +465 -54
- package/dist/index.js.map +1 -1
- package/dist/types/components/DButtonIcon/warnMissingAccessibleName.d.ts +18 -0
- package/dist/types/components/DIcon/DIcon.d.ts +8 -0
- package/dist/types/components/DIconBase/DIconBase.d.ts +43 -1
- package/dist/types/components/DIconBase/resolveIconFromRegistry.d.ts +14 -0
- package/dist/types/components/DIconBase/warnUnknownIcon.d.ts +13 -0
- package/dist/types/components/DInputCheck/DInputCheck.d.ts +1 -0
- package/dist/types/components/DInputRange/DInputRange.d.ts +1 -1
- package/dist/types/components/DInputSwitch/DInputSwitch.d.ts +2 -1
- package/dist/types/components/DModal/components/DModalHeader.d.ts +5 -1
- package/dist/types/components/DOffcanvas/components/DOffcanvasHeader.d.ts +5 -1
- package/dist/types/components/DTooltip/DTooltip.d.ts +38 -3
- package/dist/types/components/config.d.ts +10 -0
- package/dist/types/icons/coreIcons.d.ts +24 -0
- package/dist/types/icons/index.d.ts +2 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/utils/buildUrl.d.ts +32 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/sanitizeHref.d.ts +37 -0
- package/package.json +12 -9
- package/src/style/_shame.scss +1 -5
- package/src/style/abstracts/variables/_+import.scss +1 -0
- package/src/style/abstracts/variables/_box.scss +7 -0
- package/src/style/abstracts/variables/_forms.scss +1 -3
- package/src/style/abstracts/variables/_shadow.scss +12 -1
- package/src/style/base/_+import.scss +0 -1
- package/src/style/base/_form-check.scss +4 -2
- package/src/style/components/_d-box.scss +5 -5
- package/dist/types/components/DVoucher/hooks/useScreenshotDownload.spec.d.ts +0 -1
- package/dist/types/components/DVoucher/hooks/useScreenshotWebShare.spec.d.ts +0 -1
- package/dist/types/hooks/tests/useCountdown.spec.d.ts +0 -1
- package/dist/types/hooks/tests/useDisableBodyScrollEffect.spec.d.ts +0 -1
- package/dist/types/hooks/tests/useDisableInputWheel.spec.d.ts +0 -1
- package/dist/types/hooks/tests/useFormatCurrency.spec.d.ts +0 -1
- package/dist/types/hooks/tests/useInputCurrency.spec.d.ts +0 -1
- package/dist/types/hooks/tests/useItemSelection.spec.d.ts +0 -1
- package/dist/types/hooks/tests/useMediaBreakpointUp.spec.d.ts +0 -1
- package/dist/types/hooks/tests/useMediaQuery.spec.d.ts +0 -1
- package/dist/types/hooks/tests/usePortal.spec.d.ts +0 -1
- package/dist/types/hooks/tests/useProvidedRefOrCreate.spec.d.ts +0 -1
- package/dist/types/hooks/tests/useStackState.spec.d.ts +0 -1
- package/dist/types/utils/tests/attr-accept.spec.d.ts +0 -1
- package/dist/types/utils/tests/changeQueryString.spec.d.ts +0 -1
- package/dist/types/utils/tests/configureI18n.spec.d.ts +0 -1
- package/dist/types/utils/tests/formatCurrency.spec.d.ts +0 -1
- package/dist/types/utils/tests/getCssVariable.spec.d.ts +0 -1
- package/dist/types/utils/tests/getKeyboardFocusableElements.spec.d.ts +0 -1
- package/dist/types/utils/tests/getQueryString.spec.d.ts +0 -1
- package/dist/types/utils/tests/mediaQuery.spec.d.ts +0 -1
- package/dist/types/utils/tests/validatePhoneNumber.spec.d.ts +0 -1
- package/src/style/base/_form-text.scss +0 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../dist-transpiled/components/DBoxFile/utils.js"],"sourcesContent":["import attrAccept from '../../utils/attr-accept';\nexport const isIeOrEdge = (userAgent = window.navigator.userAgent) => ((userAgent.indexOf('MSIE') !== -1 || userAgent.indexOf('Trident/') !== -1)\n || userAgent.indexOf('Edge/') !== -1);\nexport const ErrorCodes = {\n FileInvalidType: 'file-invalid-type',\n FileTooLarge: 'file-too-large',\n FileTooSmall: 'file-too-small',\n TooManyFiles: 'too-many-files',\n FailedFetch: 'failed-fetch-file',\n};\n// Check if v is a MIME type string.\nexport function isMIMEType(v) {\n return (v === 'audio/*'\n || v === 'video/*'\n || v === 'image/*'\n || v === 'text/*'\n || v === 'application/*'\n || /\\w+\\/[-+.\\w]+/g.test(v));\n}\n// Check if v is a file extension.\nexport function isExt(v) {\n return /^.*\\.[\\w]+$/.test(v);\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n// Convert the `{accept}` dropzone prop to an array of MIME types/extensions.\nexport function acceptPropAsAcceptAttr(accept) {\n return (Object.entries(accept)\n .reduce((a, [mimeType, ext]) => [...a, mimeType, ...ext], [])\n .filter((v) => isMIMEType(v) || isExt(v))\n .join(','));\n}\nexport function fileAccepted(file, accept) {\n const isAcceptable = file.type === 'application/x-moz-file' || attrAccept(file, accept);\n if (!isAcceptable) {\n return [\n false,\n {\n code: ErrorCodes.FileInvalidType,\n message: 'File has an unsupported file type',\n },\n ];\n }\n return [true, null];\n}\nexport function fileMatchSize(file, minSize, maxSize) {\n if (isDefined(file.size)) {\n if (isDefined(minSize) && file.size < minSize) {\n return [\n false,\n {\n code: ErrorCodes.FileTooSmall,\n message: `File \"${file.name}\" is too small. Minimum size is ${minSize} bytes.`,\n },\n ];\n }\n if (isDefined(maxSize) && file.size > maxSize) {\n return [\n false, {\n code: ErrorCodes.FileTooLarge,\n message: `File \"${file.name}\" is too large. Maximum size is ${maxSize} bytes.`,\n },\n ];\n }\n }\n return [true, null];\n}\nexport async function urlToFile(url) {\n var _a;\n try {\n const res = await fetch(url);\n if (!res.ok) {\n return [\n null,\n {\n code: ErrorCodes.FailedFetch,\n message: `Failed to fetch file from ${url} (HTTP ${res.status})`,\n },\n ];\n }\n const blob = await res.blob();\n const filename = ((_a = url.split('/').pop()) === null || _a === void 0 ? void 0 : _a.split('?')[0]) || 'file';\n const file = new File([blob], filename, { type: blob.type });\n return [file, null];\n }\n catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error';\n const isCorsError = errorMessage.includes('CORS') || errorMessage.includes('Failed to fetch');\n return [\n null,\n {\n code: ErrorCodes.FailedFetch,\n message: `Failed to fetch file from ${url}${isCorsError ? ' (CORS error - file may not be accessible from this domain)' : ` (${errorMessage})`}`,\n },\n ];\n }\n}\nexport async function urlsToFiles(urls) {\n const results = await Promise.all(urls.map(urlToFile));\n let acceptedFiles = [];\n let errors = [];\n results.forEach(([file, error]) => {\n if (file) {\n acceptedFiles = [...acceptedFiles, file];\n }\n if (error) {\n errors = [...errors, error];\n }\n });\n return [acceptedFiles, errors];\n}\nexport const DEFAULT_PROPS = {\n disabled: false,\n maxSize: Infinity,\n minSize: 0,\n multiple: false,\n maxFiles: Infinity,\n noClick: false,\n noKeyboard: false,\n noDrag: false,\n autoFocus: false,\n};\n//# sourceMappingURL=utils.js.map"],"names":[],"mappings":";;AACY,MAAC,UAAU,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE;AAChJ,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE;AAC5B,MAAC,UAAU,GAAG;AAC1B,IAAI,eAAe,EAAE,mBAAmB;AACxC,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,WAAW,EAAE,mBAAmB;AACpC;AACA;AACO,SAAS,UAAU,CAAC,CAAC,EAAE;AAC9B,IAAI,QAAQ,CAAC,KAAK;AAClB,WAAW,CAAC,KAAK;AACjB,WAAW,CAAC,KAAK;AACjB,WAAW,CAAC,KAAK;AACjB,WAAW,CAAC,KAAK;AACjB,WAAW,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC;AACA;AACO,SAAS,KAAK,CAAC,CAAC,EAAE;AACzB,IAAI,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC;AACA,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;AAChD;AACA;AACO,SAAS,sBAAsB,CAAC,MAAM,EAAE;AAC/C,IAAI,QAAQ,MAAM,CAAC,OAAO,CAAC,MAAM;AACjC,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE;AACpE,SAAS,MAAM,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;AAChD,SAAS,IAAI,CAAC,GAAG,CAAC;AAClB;AACO,SAAS,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE;AAC3C,IAAI,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,KAAK,wBAAwB,IAAI,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;AAC3F,IAAI,IAAI,CAAC,YAAY,EAAE;AACvB,QAAQ,OAAO;AACf,YAAY,KAAK;AACjB,YAAY;AACZ,gBAAgB,IAAI,EAAE,UAAU,CAAC,eAAe;AAChD,gBAAgB,OAAO,EAAE,mCAAmC;AAC5D,aAAa;AACb,SAAS;AACT,IAAI;AACJ,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;AACvB;AACO,SAAS,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;AACtD,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC9B,QAAQ,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE;AACvD,YAAY,OAAO;AACnB,gBAAgB,KAAK;AACrB,gBAAgB;AAChB,oBAAoB,IAAI,EAAE,UAAU,CAAC,YAAY;AACjD,oBAAoB,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,gCAAgC,EAAE,OAAO,CAAC,OAAO,CAAC;AAClG,iBAAiB;AACjB,aAAa;AACb,QAAQ;AACR,QAAQ,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE;AACvD,YAAY,OAAO;AACnB,gBAAgB,KAAK,EAAE;AACvB,oBAAoB,IAAI,EAAE,UAAU,CAAC,YAAY;AACjD,oBAAoB,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,gCAAgC,EAAE,OAAO,CAAC,OAAO,CAAC;AAClG,iBAAiB;AACjB,aAAa;AACb,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;AACvB;AACO,eAAe,SAAS,CAAC,GAAG,EAAE;AACrC,IAAI,IAAI,EAAE;AACV,IAAI,IAAI;AACR,QAAQ,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;AACpC,QAAQ,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;AACrB,YAAY,OAAO;AACnB,gBAAgB,IAAI;AACpB,gBAAgB;AAChB,oBAAoB,IAAI,EAAE,UAAU,CAAC,WAAW;AAChD,oBAAoB,OAAO,EAAE,CAAC,0BAA0B,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACpF,iBAAiB;AACjB,aAAa;AACb,QAAQ;AACR,QAAQ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE;AACrC,QAAQ,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM;AACtH,QAAQ,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;AACpE,QAAQ,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;AAC3B,IAAI;AACJ,IAAI,OAAO,KAAK,EAAE;AAClB,QAAQ,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,eAAe;AACrF,QAAQ,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC;AACrG,QAAQ,OAAO;AACf,YAAY,IAAI;AAChB,YAAY;AACZ,gBAAgB,IAAI,EAAE,UAAU,CAAC,WAAW;AAC5C,gBAAgB,OAAO,EAAE,CAAC,0BAA0B,EAAE,GAAG,CAAC,EAAE,WAAW,GAAG,6DAA6D,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAChK,aAAa;AACb,SAAS;AACT,IAAI;AACJ;AACO,eAAe,WAAW,CAAC,IAAI,EAAE;AACxC,IAAI,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC1D,IAAI,IAAI,aAAa,GAAG,EAAE;AAC1B,IAAI,IAAI,MAAM,GAAG,EAAE;AACnB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK;AACvC,QAAQ,IAAI,IAAI,EAAE;AAClB,YAAY,aAAa,GAAG,CAAC,GAAG,aAAa,EAAE,IAAI,CAAC;AACpD,QAAQ;AACR,QAAQ,IAAI,KAAK,EAAE;AACnB,YAAY,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC;AACvC,QAAQ;AACR,IAAI,CAAC,CAAC;AACN,IAAI,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC;AAClC;AACY,MAAC,aAAa,GAAG;AAC7B,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,OAAO,EAAE,QAAQ;AACrB,IAAI,OAAO,EAAE,CAAC;AACd,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,SAAS,EAAE,KAAK;AACpB;;;;"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { __rest } from 'tslib';
|
|
2
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef, useMemo, useState, useRef, useCallback, useEffect } from 'react';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import DIcon from '../DIcon/DIcon.js';
|
|
6
|
+
import { useResponsiveProp } from '../../hooks/useResponsiveProp.js';
|
|
7
|
+
import { useDContext } from '../../contexts/DContext.js';
|
|
8
|
+
|
|
9
|
+
const DButton = forwardRef((props, ref) => {
|
|
10
|
+
const { color = 'primary', size, variant = 'solid', text, children, iconStart, iconStartFamilyClass, iconStartFamilyPrefix, iconStartMaterialStyle, iconEnd, iconEndFamilyClass, iconEndFamilyPrefix, iconEndMaterialStyle, loading = false, loadingText, loadingAriaLabel, disabled = false, className, style, dataAttributes, onClick, type = 'button', target, rel, href, 'aria-label': ariaLabelProp } = props, rest = __rest(props, ["color", "size", "variant", "text", "children", "iconStart", "iconStartFamilyClass", "iconStartFamilyPrefix", "iconStartMaterialStyle", "iconEnd", "iconEndFamilyClass", "iconEndFamilyPrefix", "iconEndMaterialStyle", "loading", "loadingText", "loadingAriaLabel", "disabled", "className", "style", "dataAttributes", "onClick", "type", "target", "rel", "href", 'aria-label']);
|
|
11
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, } = useDContext();
|
|
12
|
+
// Responsive size resolution using useResponsiveProp
|
|
13
|
+
const { responsivePropValue } = useResponsiveProp(true);
|
|
14
|
+
const resolvedSize = useMemo(() => {
|
|
15
|
+
if (!size)
|
|
16
|
+
return undefined;
|
|
17
|
+
if (typeof size === 'string')
|
|
18
|
+
return size;
|
|
19
|
+
return responsivePropValue(size);
|
|
20
|
+
}, [responsivePropValue, size]);
|
|
21
|
+
const [buttonWidth, setButtonWidth] = useState();
|
|
22
|
+
const buttonRef = useRef(null);
|
|
23
|
+
const isDisabled = useMemo(() => disabled || loading, [disabled, loading]);
|
|
24
|
+
const content = useMemo(() => children || text, [children, text]);
|
|
25
|
+
const classes = useMemo(() => {
|
|
26
|
+
const variantClass = variant === 'solid'
|
|
27
|
+
? `btn-${color}`
|
|
28
|
+
: `btn-${variant}-${color}`;
|
|
29
|
+
return {
|
|
30
|
+
btn: true,
|
|
31
|
+
[variantClass]: true,
|
|
32
|
+
[`btn-${resolvedSize}`]: !!resolvedSize,
|
|
33
|
+
loading,
|
|
34
|
+
};
|
|
35
|
+
}, [variant, color, loading, resolvedSize]);
|
|
36
|
+
const ariaLabel = useMemo(() => (loading
|
|
37
|
+
? loadingAriaLabel || ariaLabelProp || text
|
|
38
|
+
: ariaLabelProp || text), [loading, loadingAriaLabel, text, ariaLabelProp]);
|
|
39
|
+
const handleClick = useCallback((event) => {
|
|
40
|
+
if (disabled || loading) {
|
|
41
|
+
event.preventDefault();
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
|
45
|
+
}, [disabled, loading, onClick]);
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
if (!loading && buttonRef.current) {
|
|
48
|
+
const width = buttonRef.current.offsetWidth;
|
|
49
|
+
if (width > 0)
|
|
50
|
+
setButtonWidth(width);
|
|
51
|
+
}
|
|
52
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
53
|
+
}, [content, iconEnd, iconStart]);
|
|
54
|
+
if (href) {
|
|
55
|
+
return (jsxs("a", Object.assign({ href: href, target: target, rel: rel, ref: (node) => {
|
|
56
|
+
buttonRef.current = node;
|
|
57
|
+
if (typeof ref === 'function')
|
|
58
|
+
ref(node);
|
|
59
|
+
// eslint-disable-next-line max-len
|
|
60
|
+
// eslint-disable-next-line no-param-reassign, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access
|
|
61
|
+
else if (ref)
|
|
62
|
+
ref.current = node;
|
|
63
|
+
}, className: classNames(classes, className), style: Object.assign(Object.assign({}, style), (loading && buttonWidth
|
|
64
|
+
? { minWidth: `${buttonWidth}px` }
|
|
65
|
+
: undefined)), "aria-label": ariaLabel, "aria-busy": loading, "aria-disabled": isDisabled, onClick: handleClick }, dataAttributes, { children: [loading && (jsxs("span", { className: "btn-loading", children: [jsx("span", { className: "spinner-border spinner-border-sm", "aria-hidden": "true" }), loadingText && jsx("span", { role: "status", children: loadingText })] })), !loading && (jsxs(Fragment, { children: [iconStart && (jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass !== null && iconStartFamilyClass !== void 0 ? iconStartFamilyClass : familyClass, familyPrefix: iconStartFamilyPrefix !== null && iconStartFamilyPrefix !== void 0 ? iconStartFamilyPrefix : familyPrefix, materialStyle: iconStartMaterialStyle !== null && iconStartMaterialStyle !== void 0 ? iconStartMaterialStyle : materialStyle })), content, iconEnd && (jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass !== null && iconEndFamilyClass !== void 0 ? iconEndFamilyClass : familyClass, familyPrefix: iconEndFamilyPrefix !== null && iconEndFamilyPrefix !== void 0 ? iconEndFamilyPrefix : familyPrefix, materialStyle: iconEndMaterialStyle !== null && iconEndMaterialStyle !== void 0 ? iconEndMaterialStyle : materialStyle }))] }))] })));
|
|
66
|
+
}
|
|
67
|
+
return (jsxs("button", Object.assign({ ref: (node) => {
|
|
68
|
+
buttonRef.current = node;
|
|
69
|
+
if (typeof ref === 'function')
|
|
70
|
+
ref(node);
|
|
71
|
+
// eslint-disable-next-line max-len
|
|
72
|
+
// eslint-disable-next-line no-param-reassign, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access
|
|
73
|
+
else if (ref)
|
|
74
|
+
ref.current = node;
|
|
75
|
+
},
|
|
76
|
+
// eslint-disable-next-line react/button-has-type
|
|
77
|
+
type: type, className: classNames(classes, className), style: Object.assign(Object.assign({}, style), (loading && buttonWidth
|
|
78
|
+
? { minWidth: `${buttonWidth}px` }
|
|
79
|
+
: undefined)), disabled: isDisabled, "aria-label": ariaLabel, "aria-busy": loading, "aria-disabled": isDisabled, onClick: handleClick }, dataAttributes, rest, { children: [loading && (jsxs("span", { className: "btn-loading", children: [jsx("span", { className: "spinner-border spinner-border-sm", "aria-hidden": "true" }), loadingText && jsx("span", { role: "status", children: loadingText })] })), !loading && (jsxs(Fragment, { children: [iconStart && (jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass !== null && iconStartFamilyClass !== void 0 ? iconStartFamilyClass : familyClass, familyPrefix: iconStartFamilyPrefix !== null && iconStartFamilyPrefix !== void 0 ? iconStartFamilyPrefix : familyPrefix, materialStyle: iconStartMaterialStyle !== null && iconStartMaterialStyle !== void 0 ? iconStartMaterialStyle : materialStyle })), content, iconEnd && (jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass !== null && iconEndFamilyClass !== void 0 ? iconEndFamilyClass : familyClass, familyPrefix: iconEndFamilyPrefix !== null && iconEndFamilyPrefix !== void 0 ? iconEndFamilyPrefix : familyPrefix, materialStyle: iconEndMaterialStyle !== null && iconEndMaterialStyle !== void 0 ? iconEndMaterialStyle : materialStyle }))] }))] })));
|
|
80
|
+
});
|
|
81
|
+
DButton.displayName = 'DButton';
|
|
82
|
+
|
|
83
|
+
export { DButton as default };
|
|
84
|
+
//# sourceMappingURL=DButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DButton.js","sources":["../../../../dist-transpiled/components/DButton/DButton.js"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useMemo, useCallback, useRef, useState, useEffect, } from 'react';\nimport classNames from 'classnames';\nimport DIcon from '../DIcon';\nimport { useResponsiveProp } from '../../hooks/useResponsiveProp';\nimport { useDContext } from '../../contexts';\nconst DButton = forwardRef((props, ref) => {\n const { color = 'primary', size, variant = 'solid', text, children, iconStart, iconStartFamilyClass, iconStartFamilyPrefix, iconStartMaterialStyle, iconEnd, iconEndFamilyClass, iconEndFamilyPrefix, iconEndMaterialStyle, loading = false, loadingText, loadingAriaLabel, disabled = false, className, style, dataAttributes, onClick, type = 'button', target, rel, href, 'aria-label': ariaLabelProp } = props, rest = __rest(props, [\"color\", \"size\", \"variant\", \"text\", \"children\", \"iconStart\", \"iconStartFamilyClass\", \"iconStartFamilyPrefix\", \"iconStartMaterialStyle\", \"iconEnd\", \"iconEndFamilyClass\", \"iconEndFamilyPrefix\", \"iconEndMaterialStyle\", \"loading\", \"loadingText\", \"loadingAriaLabel\", \"disabled\", \"className\", \"style\", \"dataAttributes\", \"onClick\", \"type\", \"target\", \"rel\", \"href\", 'aria-label']);\n const { icon: { familyClass, familyPrefix, materialStyle, }, } = useDContext();\n // Responsive size resolution using useResponsiveProp\n const { responsivePropValue } = useResponsiveProp(true);\n const resolvedSize = useMemo(() => {\n if (!size)\n return undefined;\n if (typeof size === 'string')\n return size;\n return responsivePropValue(size);\n }, [responsivePropValue, size]);\n const [buttonWidth, setButtonWidth] = useState();\n const buttonRef = useRef(null);\n const isDisabled = useMemo(() => disabled || loading, [disabled, loading]);\n const content = useMemo(() => children || text, [children, text]);\n const classes = useMemo(() => {\n const variantClass = variant === 'solid'\n ? `btn-${color}`\n : `btn-${variant}-${color}`;\n return {\n btn: true,\n [variantClass]: true,\n [`btn-${resolvedSize}`]: !!resolvedSize,\n loading,\n };\n }, [variant, color, loading, resolvedSize]);\n const ariaLabel = useMemo(() => (loading\n ? loadingAriaLabel || ariaLabelProp || text\n : ariaLabelProp || text), [loading, loadingAriaLabel, text, ariaLabelProp]);\n const handleClick = useCallback((event) => {\n if (disabled || loading) {\n event.preventDefault();\n return;\n }\n onClick === null || onClick === void 0 ? void 0 : onClick(event);\n }, [disabled, loading, onClick]);\n useEffect(() => {\n if (!loading && buttonRef.current) {\n const width = buttonRef.current.offsetWidth;\n if (width > 0)\n setButtonWidth(width);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [content, iconEnd, iconStart]);\n if (href) {\n return (_jsxs(\"a\", Object.assign({ href: href, target: target, rel: rel, ref: (node) => {\n buttonRef.current = node;\n if (typeof ref === 'function')\n ref(node);\n // eslint-disable-next-line max-len\n // eslint-disable-next-line no-param-reassign, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n else if (ref)\n ref.current = node;\n }, className: classNames(classes, className), style: Object.assign(Object.assign({}, style), (loading && buttonWidth\n ? { minWidth: `${buttonWidth}px` }\n : undefined)), \"aria-label\": ariaLabel, \"aria-busy\": loading, \"aria-disabled\": isDisabled, onClick: handleClick }, dataAttributes, { children: [loading && (_jsxs(\"span\", { className: \"btn-loading\", children: [_jsx(\"span\", { className: \"spinner-border spinner-border-sm\", \"aria-hidden\": \"true\" }), loadingText && _jsx(\"span\", { role: \"status\", children: loadingText })] })), !loading && (_jsxs(_Fragment, { children: [iconStart && (_jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass !== null && iconStartFamilyClass !== void 0 ? iconStartFamilyClass : familyClass, familyPrefix: iconStartFamilyPrefix !== null && iconStartFamilyPrefix !== void 0 ? iconStartFamilyPrefix : familyPrefix, materialStyle: iconStartMaterialStyle !== null && iconStartMaterialStyle !== void 0 ? iconStartMaterialStyle : materialStyle })), content, iconEnd && (_jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass !== null && iconEndFamilyClass !== void 0 ? iconEndFamilyClass : familyClass, familyPrefix: iconEndFamilyPrefix !== null && iconEndFamilyPrefix !== void 0 ? iconEndFamilyPrefix : familyPrefix, materialStyle: iconEndMaterialStyle !== null && iconEndMaterialStyle !== void 0 ? iconEndMaterialStyle : materialStyle }))] }))] })));\n }\n return (_jsxs(\"button\", Object.assign({ ref: (node) => {\n buttonRef.current = node;\n if (typeof ref === 'function')\n ref(node);\n // eslint-disable-next-line max-len\n // eslint-disable-next-line no-param-reassign, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n else if (ref)\n ref.current = node;\n }, \n // eslint-disable-next-line react/button-has-type\n type: type, className: classNames(classes, className), style: Object.assign(Object.assign({}, style), (loading && buttonWidth\n ? { minWidth: `${buttonWidth}px` }\n : undefined)), disabled: isDisabled, \"aria-label\": ariaLabel, \"aria-busy\": loading, \"aria-disabled\": isDisabled, onClick: handleClick }, dataAttributes, rest, { children: [loading && (_jsxs(\"span\", { className: \"btn-loading\", children: [_jsx(\"span\", { className: \"spinner-border spinner-border-sm\", \"aria-hidden\": \"true\" }), loadingText && _jsx(\"span\", { role: \"status\", children: loadingText })] })), !loading && (_jsxs(_Fragment, { children: [iconStart && (_jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass !== null && iconStartFamilyClass !== void 0 ? iconStartFamilyClass : familyClass, familyPrefix: iconStartFamilyPrefix !== null && iconStartFamilyPrefix !== void 0 ? iconStartFamilyPrefix : familyPrefix, materialStyle: iconStartMaterialStyle !== null && iconStartMaterialStyle !== void 0 ? iconStartMaterialStyle : materialStyle })), content, iconEnd && (_jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass !== null && iconEndFamilyClass !== void 0 ? iconEndFamilyClass : familyClass, familyPrefix: iconEndFamilyPrefix !== null && iconEndFamilyPrefix !== void 0 ? iconEndFamilyPrefix : familyPrefix, materialStyle: iconEndMaterialStyle !== null && iconEndMaterialStyle !== void 0 ? iconEndMaterialStyle : materialStyle }))] }))] })));\n});\nDButton.displayName = 'DButton';\nexport default DButton;\n//# sourceMappingURL=DButton.js.map"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { __rest } from 'tslib';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useMemo, useCallback } from 'react';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import DIcon from '../DIcon/DIcon.js';
|
|
6
|
+
import warnMissingAccessibleName from './warnMissingAccessibleName.js';
|
|
7
|
+
import { useDContext } from '../../contexts/DContext.js';
|
|
8
|
+
|
|
9
|
+
function DButtonIcon(_a) {
|
|
10
|
+
var { id, icon, size, className, variant, state, loadingAriaLabel, iconMaterialStyle, disabled = false, color = 'primary', loading = false, href, target, rel, stopPropagationEnabled = true, style, iconFamilyClass, iconFamilyPrefix, dataAttributes, onClick, 'aria-label': ariaLabelProp } = _a, rest = __rest(_a, ["id", "icon", "size", "className", "variant", "state", "loadingAriaLabel", "iconMaterialStyle", "disabled", "color", "loading", "href", "target", "rel", "stopPropagationEnabled", "style", "iconFamilyClass", "iconFamilyPrefix", "dataAttributes", "onClick", 'aria-label']);
|
|
11
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, } = useDContext();
|
|
12
|
+
const generateClasses = useMemo(() => {
|
|
13
|
+
const variantClass = !variant || variant === 'solid'
|
|
14
|
+
? `btn-${color}`
|
|
15
|
+
: `btn-${variant}-${color}`;
|
|
16
|
+
return Object.assign(Object.assign(Object.assign({ 'btn d-button-icon': true, [variantClass]: true }, size && { [`btn-${size}`]: true }), (state && state !== 'disabled') && { [state]: true }), { loading });
|
|
17
|
+
}, [variant, color, size, state, loading]);
|
|
18
|
+
const isDisabled = useMemo(() => (state === 'disabled' || loading || disabled), [state, loading, disabled]);
|
|
19
|
+
const clickHandler = useCallback((event) => {
|
|
20
|
+
if (stopPropagationEnabled) {
|
|
21
|
+
event.stopPropagation();
|
|
22
|
+
}
|
|
23
|
+
if (isDisabled) {
|
|
24
|
+
event.preventDefault();
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
|
28
|
+
}, [stopPropagationEnabled, onClick, isDisabled]);
|
|
29
|
+
const ariaLabel = useMemo(() => (loading
|
|
30
|
+
? loadingAriaLabel || ariaLabelProp
|
|
31
|
+
: ariaLabelProp), [loading, loadingAriaLabel, ariaLabelProp]);
|
|
32
|
+
/**
|
|
33
|
+
* `aria-labelledby` and `title` also name a control, but they travel in `rest`,
|
|
34
|
+
* which only the button branch spreads — an anchor drops them, so there the
|
|
35
|
+
* button really is unnamed and the warning still applies.
|
|
36
|
+
*/
|
|
37
|
+
const hasAccessibleName = useMemo(() => !!ariaLabel || (!href && (!!rest['aria-labelledby'] || !!rest.title)), [ariaLabel, href, rest]);
|
|
38
|
+
if (process.env.NODE_ENV !== 'production' && !hasAccessibleName) {
|
|
39
|
+
warnMissingAccessibleName(icon, href ? 'link' : 'button');
|
|
40
|
+
}
|
|
41
|
+
if (href) {
|
|
42
|
+
return (jsx("a", Object.assign({ id: id, href: href, target: target, rel: rel, className: classNames(generateClasses, className), style: style, onClick: clickHandler, "aria-label": ariaLabel, "aria-disabled": isDisabled }, dataAttributes, { children: loading
|
|
43
|
+
? (jsx("span", { className: "spinner-border spinner-border-sm", role: "status", "aria-hidden": "true", children: jsx("span", { className: "visually-hidden", children: "Loading..." }) }))
|
|
44
|
+
: (jsx(DIcon, { icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })) })));
|
|
45
|
+
}
|
|
46
|
+
return (jsx("button", Object.assign({ className: classNames(generateClasses, className), style: style, disabled: state === 'disabled' || loading, onClick: clickHandler, "aria-label": ariaLabel }, dataAttributes, rest, { children: loading
|
|
47
|
+
? (jsx("span", { className: "spinner-border spinner-border-sm", role: "status", "aria-hidden": "true", children: jsx("span", { className: "visually-hidden", children: "Loading..." }) }))
|
|
48
|
+
: (jsx(DIcon, { icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })) })));
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export { DButtonIcon as default };
|
|
52
|
+
//# sourceMappingURL=DButtonIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DButtonIcon.js","sources":["../../../../dist-transpiled/components/DButtonIcon/DButtonIcon.js"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable react/button-has-type */\nimport { useMemo, useCallback } from 'react';\nimport classNames from 'classnames';\nimport DIcon from '../DIcon';\nimport { useDContext } from '../../contexts';\nimport warnMissingAccessibleName from './warnMissingAccessibleName';\nexport default function DButtonIcon(_a) {\n var { id, icon, size, className, variant, state, loadingAriaLabel, iconMaterialStyle, disabled = false, color = 'primary', loading = false, href, target, rel, stopPropagationEnabled = true, style, iconFamilyClass, iconFamilyPrefix, dataAttributes, onClick, 'aria-label': ariaLabelProp } = _a, rest = __rest(_a, [\"id\", \"icon\", \"size\", \"className\", \"variant\", \"state\", \"loadingAriaLabel\", \"iconMaterialStyle\", \"disabled\", \"color\", \"loading\", \"href\", \"target\", \"rel\", \"stopPropagationEnabled\", \"style\", \"iconFamilyClass\", \"iconFamilyPrefix\", \"dataAttributes\", \"onClick\", 'aria-label']);\n const { icon: { familyClass, familyPrefix, materialStyle, }, } = useDContext();\n const generateClasses = useMemo(() => {\n const variantClass = !variant || variant === 'solid'\n ? `btn-${color}`\n : `btn-${variant}-${color}`;\n return Object.assign(Object.assign(Object.assign({ 'btn d-button-icon': true, [variantClass]: true }, size && { [`btn-${size}`]: true }), (state && state !== 'disabled') && { [state]: true }), { loading });\n }, [variant, color, size, state, loading]);\n const isDisabled = useMemo(() => (state === 'disabled' || loading || disabled), [state, loading, disabled]);\n const clickHandler = useCallback((event) => {\n if (stopPropagationEnabled) {\n event.stopPropagation();\n }\n if (isDisabled) {\n event.preventDefault();\n return;\n }\n onClick === null || onClick === void 0 ? void 0 : onClick(event);\n }, [stopPropagationEnabled, onClick, isDisabled]);\n const ariaLabel = useMemo(() => (loading\n ? loadingAriaLabel || ariaLabelProp\n : ariaLabelProp), [loading, loadingAriaLabel, ariaLabelProp]);\n /**\n * `aria-labelledby` and `title` also name a control, but they travel in `rest`,\n * which only the button branch spreads — an anchor drops them, so there the\n * button really is unnamed and the warning still applies.\n */\n const hasAccessibleName = useMemo(() => !!ariaLabel || (!href && (!!rest['aria-labelledby'] || !!rest.title)), [ariaLabel, href, rest]);\n if (process.env.NODE_ENV !== 'production' && !hasAccessibleName) {\n warnMissingAccessibleName(icon, href ? 'link' : 'button');\n }\n if (href) {\n return (_jsx(\"a\", Object.assign({ id: id, href: href, target: target, rel: rel, className: classNames(generateClasses, className), style: style, onClick: clickHandler, \"aria-label\": ariaLabel, \"aria-disabled\": isDisabled }, dataAttributes, { children: loading\n ? (_jsx(\"span\", { className: \"spinner-border spinner-border-sm\", role: \"status\", \"aria-hidden\": \"true\", children: _jsx(\"span\", { className: \"visually-hidden\", children: \"Loading...\" }) }))\n : (_jsx(DIcon, { icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })) })));\n }\n return (_jsx(\"button\", Object.assign({ className: classNames(generateClasses, className), style: style, disabled: state === 'disabled' || loading, onClick: clickHandler, \"aria-label\": ariaLabel }, dataAttributes, rest, { children: loading\n ? (_jsx(\"span\", { className: \"spinner-border spinner-border-sm\", role: \"status\", \"aria-hidden\": \"true\", children: _jsx(\"span\", { className: \"visually-hidden\", children: \"Loading...\" }) }))\n : (_jsx(DIcon, { icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })) })));\n}\n//# sourceMappingURL=DButtonIcon.js.map"],"names":["_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Controls already reported, keyed by kind and icon, so the same unlabelled one
|
|
3
|
+
* only warns once per page load however often it re-renders or however many
|
|
4
|
+
* instances exist.
|
|
5
|
+
*/
|
|
6
|
+
const warnedControls = new Set();
|
|
7
|
+
/**
|
|
8
|
+
* Warns, once per icon and only outside production builds, that an icon-only
|
|
9
|
+
* button has no accessible name.
|
|
10
|
+
*
|
|
11
|
+
* The control has no text to fall back on and its icon is hidden from the
|
|
12
|
+
* accessibility tree, so the name has to be given explicitly. `aria-label` is
|
|
13
|
+
* the direct way; on a button `aria-labelledby` and `title` count too, since
|
|
14
|
+
* `rest` reaches the DOM there, while an anchor drops them — hence `kind`, so
|
|
15
|
+
* the advice matches what the element can actually receive.
|
|
16
|
+
*
|
|
17
|
+
* A legacy icon-font icon used to leak its ligature as the name by accident —
|
|
18
|
+
* never a good one, being unlocalised and often meaningless ("more_vert") — and
|
|
19
|
+
* no longer does, so the omission is now visible instead of silent.
|
|
20
|
+
*
|
|
21
|
+
* The `process.env.NODE_ENV` guard is what bundlers constant-fold, so the whole
|
|
22
|
+
* call — and this module — drops out of a consumer's production bundle.
|
|
23
|
+
*/
|
|
24
|
+
function warnMissingAccessibleName(icon, kind) {
|
|
25
|
+
const key = `${kind}:${icon}`;
|
|
26
|
+
if (warnedControls.has(key))
|
|
27
|
+
return;
|
|
28
|
+
warnedControls.add(key);
|
|
29
|
+
const alternatives = kind === 'button'
|
|
30
|
+
? 'On a button, aria-labelledby or title work too. '
|
|
31
|
+
: 'A link renders from the href branch, which does not forward aria-labelledby or title, so aria-label is the only option. ';
|
|
32
|
+
// eslint-disable-next-line no-console
|
|
33
|
+
console.warn(`[Dynamic UI] DButtonIcon: the "${icon}" ${kind} has no accessible name. `
|
|
34
|
+
+ 'Pass aria-label, since an icon-only control has no text to fall back on '
|
|
35
|
+
+ `and its icon is hidden from the accessibility tree. ${alternatives}`
|
|
36
|
+
+ 'It never appears in production builds.');
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { warnMissingAccessibleName as default };
|
|
40
|
+
//# sourceMappingURL=warnMissingAccessibleName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warnMissingAccessibleName.js","sources":["../../../../dist-transpiled/components/DButtonIcon/warnMissingAccessibleName.js"],"sourcesContent":["/**\n * Controls already reported, keyed by kind and icon, so the same unlabelled one\n * only warns once per page load however often it re-renders or however many\n * instances exist.\n */\nconst warnedControls = new Set();\n/**\n * Warns, once per icon and only outside production builds, that an icon-only\n * button has no accessible name.\n *\n * The control has no text to fall back on and its icon is hidden from the\n * accessibility tree, so the name has to be given explicitly. `aria-label` is\n * the direct way; on a button `aria-labelledby` and `title` count too, since\n * `rest` reaches the DOM there, while an anchor drops them — hence `kind`, so\n * the advice matches what the element can actually receive.\n *\n * A legacy icon-font icon used to leak its ligature as the name by accident —\n * never a good one, being unlocalised and often meaningless (\"more_vert\") — and\n * no longer does, so the omission is now visible instead of silent.\n *\n * The `process.env.NODE_ENV` guard is what bundlers constant-fold, so the whole\n * call — and this module — drops out of a consumer's production bundle.\n */\nexport default function warnMissingAccessibleName(icon, kind) {\n const key = `${kind}:${icon}`;\n if (warnedControls.has(key))\n return;\n warnedControls.add(key);\n const alternatives = kind === 'button'\n ? 'On a button, aria-labelledby or title work too. '\n : 'A link renders from the href branch, which does not forward aria-labelledby or title, so aria-label is the only option. ';\n // eslint-disable-next-line no-console\n console.warn(`[Dynamic UI] DButtonIcon: the \"${icon}\" ${kind} has no accessible name. `\n + 'Pass aria-label, since an icon-only control has no text to fall back on '\n + `and its icon is hidden from the accessibility tree. ${alternatives}`\n + 'It never appears in production builds.');\n}\n//# sourceMappingURL=warnMissingAccessibleName.js.map"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE;AAC9D,IAAI,MAAM,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACjC,IAAI,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;AAC/B,QAAQ;AACR,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;AAC3B,IAAI,MAAM,YAAY,GAAG,IAAI,KAAK;AAClC,UAAU;AACV,UAAU,0HAA0H;AACpI;AACA,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,+BAA+B,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,yBAAyB;AAC1F,UAAU;AACV,UAAU,CAAC,oDAAoD,EAAE,YAAY,CAAC;AAC9E,UAAU,wCAAwC,CAAC;AACnD;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import DCardHeader from './components/DCardHeader.js';
|
|
4
|
+
import DCardBody from './components/DCardBody.js';
|
|
5
|
+
import DCardFooter from './components/DCardFooter.js';
|
|
6
|
+
|
|
7
|
+
function DCard({ className, style, children, dataAttributes, }) {
|
|
8
|
+
return (jsx("div", Object.assign({ style: style, className: classNames('card', className) }, dataAttributes, { children: children })));
|
|
9
|
+
}
|
|
10
|
+
var DCard$1 = Object.assign(DCard, {
|
|
11
|
+
Header: DCardHeader,
|
|
12
|
+
Body: DCardBody,
|
|
13
|
+
Footer: DCardFooter,
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export { DCard$1 as default };
|
|
17
|
+
//# sourceMappingURL=DCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DCard.js","sources":["../../../../dist-transpiled/components/DCard/DCard.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport DCardHeader from './components/DCardHeader';\nimport DCardBody from './components/DCardBody';\nimport DCardFooter from './components/DCardFooter';\nfunction DCard({ className, style, children, dataAttributes, }) {\n return (_jsx(\"div\", Object.assign({ style: style, className: classNames('card', className) }, dataAttributes, { children: children })));\n}\nexport default Object.assign(DCard, {\n Header: DCardHeader,\n Body: DCardBody,\n Footer: DCardFooter,\n});\n//# sourceMappingURL=DCard.js.map"],"names":["_jsx"],"mappings":";;;;;;AAKA,SAAS,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,GAAG,EAAE;AAChE,IAAI,QAAQA,GAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC1I;AACA,cAAe,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;AACpC,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,MAAM,EAAE,WAAW;AACvB,CAAC,CAAC;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
|
|
4
|
+
function DCardBody({ className, style, children, }) {
|
|
5
|
+
return (jsx("div", { className: classNames('card-body', className), style: style, children: children }));
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export { DCardBody as default };
|
|
9
|
+
//# sourceMappingURL=DCardBody.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DCardBody.js","sources":["../../../../../dist-transpiled/components/DCard/components/DCardBody.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nexport default function DCardBody({ className, style, children, }) {\n return (_jsx(\"div\", { className: classNames('card-body', className), style: style, children: children }));\n}\n//# sourceMappingURL=DCardBody.js.map"],"names":["_jsx"],"mappings":";;;AAEe,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,GAAG,EAAE;AACnE,IAAI,QAAQA,GAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC5G;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
|
|
4
|
+
function DCardFooter({ className, style, children, }) {
|
|
5
|
+
return (jsx("div", { className: classNames('card-footer', className), style: style, children: children }));
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export { DCardFooter as default };
|
|
9
|
+
//# sourceMappingURL=DCardFooter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DCardFooter.js","sources":["../../../../../dist-transpiled/components/DCard/components/DCardFooter.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nexport default function DCardFooter({ className, style, children, }) {\n return (_jsx(\"div\", { className: classNames('card-footer', className), style: style, children: children }));\n}\n//# sourceMappingURL=DCardFooter.js.map"],"names":["_jsx"],"mappings":";;;AAEe,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,GAAG,EAAE;AACrE,IAAI,QAAQA,GAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC9G;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
|
|
4
|
+
function DCardHeader({ className, style, children, }) {
|
|
5
|
+
return (jsx("div", { className: classNames('card-header', className), style: style, children: children }));
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export { DCardHeader as default };
|
|
9
|
+
//# sourceMappingURL=DCardHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DCardHeader.js","sources":["../../../../../dist-transpiled/components/DCard/components/DCardHeader.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nexport default function DCardHeader({ className, style, children, }) {\n return (_jsx(\"div\", { className: classNames('card-header', className), style: style, children: children }));\n}\n//# sourceMappingURL=DCardHeader.js.map"],"names":["_jsx"],"mappings":";;;AAEe,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,GAAG,EAAE;AACrE,IAAI,QAAQA,GAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC9G;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import DCard from './DCard.js';
|
|
2
|
+
export { default as DCardHeader } from './components/DCardHeader.js';
|
|
3
|
+
export { default as DCardBody } from './components/DCardBody.js';
|
|
4
|
+
export { default as DCardFooter } from './components/DCardFooter.js';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
export { DCard as default };
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { __rest } from 'tslib';
|
|
2
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
|
+
import { Splide, SplideTrack } from '@splidejs/react-splide';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import { forwardRef } from 'react';
|
|
6
|
+
import DIcon from '../DIcon/DIcon.js';
|
|
7
|
+
import DCarouselSlide from './components/DCarouselSlide.js';
|
|
8
|
+
|
|
9
|
+
const DEFAULT_ARROW_PATH = 'm15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z';
|
|
10
|
+
function DefaultArrowIcon() {
|
|
11
|
+
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 40 40", width: 40, height: 40, focusable: "false", "aria-hidden": "true", children: jsx("path", { d: DEFAULT_ARROW_PATH }) }));
|
|
12
|
+
}
|
|
13
|
+
function DCarousel(_a, ref) {
|
|
14
|
+
var { children, className, style, options, dataAttributes, iconArrowLeft, iconArrowRight, hasTrack: propsHasTrack } = _a, props = __rest(_a, ["children", "className", "style", "options", "dataAttributes", "iconArrowLeft", "iconArrowRight", "hasTrack"]);
|
|
15
|
+
// Explicit `options.arrows === false` always wins, even when icon props are set.
|
|
16
|
+
const hasCustomArrows = Boolean((iconArrowLeft || iconArrowRight) && (options === null || options === void 0 ? void 0 : options.arrows) !== false);
|
|
17
|
+
return (jsx(Splide, Object.assign({ className: classNames('d-carousel', className), style: style, ref: ref, options: Object.assign(Object.assign({}, options), { classes: {
|
|
18
|
+
// Arrows
|
|
19
|
+
arrows: 'splide__arrows d-carousel-arrows',
|
|
20
|
+
arrow: 'splide__arrow d-carousel-arrow',
|
|
21
|
+
prev: 'splide__arrow--prev d-carousel-arrow-prev',
|
|
22
|
+
next: 'splide__arrow--next d-carousel-arrow-next',
|
|
23
|
+
// Paginator
|
|
24
|
+
pagination: 'splide__pagination d-carousel-pagination',
|
|
25
|
+
page: 'splide__pagination__page d-carousel-pagination-page',
|
|
26
|
+
} }) }, dataAttributes, props, {
|
|
27
|
+
// Rendering our own arrows requires taking over the track wrapper, so this
|
|
28
|
+
// must be applied after `...props` to prevent a consumer-provided `hasTrack`
|
|
29
|
+
// from re-enabling Splide's automatic track when custom arrows are active.
|
|
30
|
+
hasTrack: hasCustomArrows ? false : propsHasTrack, children: hasCustomArrows ? (jsxs(Fragment, { children: [jsx(SplideTrack, { children: children }), jsxs("div", { className: "splide__arrows d-carousel-arrows", children: [jsx("button", { type: "button", className: "splide__arrow splide__arrow--prev d-carousel-arrow d-carousel-arrow-prev", children: iconArrowLeft ? jsx(DIcon, Object.assign({}, iconArrowLeft)) : jsx(DefaultArrowIcon, {}) }), jsx("button", { type: "button", className: "splide__arrow splide__arrow--next d-carousel-arrow d-carousel-arrow-next", children: iconArrowRight ? jsx(DIcon, Object.assign({}, iconArrowRight)) : jsx(DefaultArrowIcon, {}) })] })] })) : children })));
|
|
31
|
+
}
|
|
32
|
+
const ForwardedDCarousel = forwardRef(DCarousel);
|
|
33
|
+
ForwardedDCarousel.displayName = 'DCarousel';
|
|
34
|
+
var DCarousel$1 = Object.assign(ForwardedDCarousel, {
|
|
35
|
+
Slide: DCarouselSlide,
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
export { DCarousel$1 as default };
|
|
39
|
+
//# sourceMappingURL=DCarousel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DCarousel.js","sources":["../../../../dist-transpiled/components/DCarousel/DCarousel.js"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { Splide, SplideTrack } from '@splidejs/react-splide';\nimport classNames from 'classnames';\nimport { forwardRef } from 'react';\nimport DIcon from '../DIcon';\nimport DCarouselSlide from './components/DCarouselSlide';\nconst DEFAULT_ARROW_PATH = 'm15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z';\nfunction DefaultArrowIcon() {\n return (_jsx(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 40 40\", width: 40, height: 40, focusable: \"false\", \"aria-hidden\": \"true\", children: _jsx(\"path\", { d: DEFAULT_ARROW_PATH }) }));\n}\nfunction DCarousel(_a, ref) {\n var { children, className, style, options, dataAttributes, iconArrowLeft, iconArrowRight, hasTrack: propsHasTrack } = _a, props = __rest(_a, [\"children\", \"className\", \"style\", \"options\", \"dataAttributes\", \"iconArrowLeft\", \"iconArrowRight\", \"hasTrack\"]);\n // Explicit `options.arrows === false` always wins, even when icon props are set.\n const hasCustomArrows = Boolean((iconArrowLeft || iconArrowRight) && (options === null || options === void 0 ? void 0 : options.arrows) !== false);\n return (_jsx(Splide, Object.assign({ className: classNames('d-carousel', className), style: style, ref: ref, options: Object.assign(Object.assign({}, options), { classes: {\n // Arrows\n arrows: 'splide__arrows d-carousel-arrows',\n arrow: 'splide__arrow d-carousel-arrow',\n prev: 'splide__arrow--prev d-carousel-arrow-prev',\n next: 'splide__arrow--next d-carousel-arrow-next',\n // Paginator\n pagination: 'splide__pagination d-carousel-pagination',\n page: 'splide__pagination__page d-carousel-pagination-page',\n } }) }, dataAttributes, props, { \n // Rendering our own arrows requires taking over the track wrapper, so this\n // must be applied after `...props` to prevent a consumer-provided `hasTrack`\n // from re-enabling Splide's automatic track when custom arrows are active.\n hasTrack: hasCustomArrows ? false : propsHasTrack, children: hasCustomArrows ? (_jsxs(_Fragment, { children: [_jsx(SplideTrack, { children: children }), _jsxs(\"div\", { className: \"splide__arrows d-carousel-arrows\", children: [_jsx(\"button\", { type: \"button\", className: \"splide__arrow splide__arrow--prev d-carousel-arrow d-carousel-arrow-prev\", children: iconArrowLeft ? _jsx(DIcon, Object.assign({}, iconArrowLeft)) : _jsx(DefaultArrowIcon, {}) }), _jsx(\"button\", { type: \"button\", className: \"splide__arrow splide__arrow--next d-carousel-arrow d-carousel-arrow-next\", children: iconArrowRight ? _jsx(DIcon, Object.assign({}, iconArrowRight)) : _jsx(DefaultArrowIcon, {}) })] })] })) : children })));\n}\nconst ForwardedDCarousel = forwardRef(DCarousel);\nForwardedDCarousel.displayName = 'DCarousel';\nexport default Object.assign(ForwardedDCarousel, {\n Slide: DCarouselSlide,\n});\n//# sourceMappingURL=DCarousel.js.map"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { __rest } from 'tslib';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { SplideSlide } from '@splidejs/react-splide';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
|
|
6
|
+
function DCarouselSlide(_a) {
|
|
7
|
+
var { className } = _a, props = __rest(_a, ["className"]);
|
|
8
|
+
return (jsx(SplideSlide, Object.assign({ className: classNames('d-carousel-slide', className) }, props)));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { DCarouselSlide as default };
|
|
12
|
+
//# sourceMappingURL=DCarouselSlide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DCarouselSlide.js","sources":["../../../../../dist-transpiled/components/DCarousel/components/DCarouselSlide.js"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { SplideSlide } from '@splidejs/react-splide';\nimport classNames from 'classnames';\nexport default function DCarouselSlide(_a) {\n var { className } = _a, props = __rest(_a, [\"className\"]);\n return (_jsx(SplideSlide, Object.assign({ className: classNames('d-carousel-slide', className) }, props)));\n}\n//# sourceMappingURL=DCarouselSlide.js.map"],"names":["_jsx"],"mappings":";;;;;AAIe,SAAS,cAAc,CAAC,EAAE,EAAE;AAC3C,IAAI,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;AAC7D,IAAI,QAAQA,GAAI,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC7G;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import DIcon from '../DIcon/DIcon.js';
|
|
5
|
+
import { useDContext } from '../../contexts/DContext.js';
|
|
6
|
+
|
|
7
|
+
function DChip({ color = 'primary', text, icon, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, iconClose: iconCloseProp, iconCloseFamilyClass, iconCloseFamilyPrefix, iconCloseMaterialStyle, showClose = false, closeAriaLabel = 'close', className, style, dataAttributes, onClose, }) {
|
|
8
|
+
const generateClasses = useMemo(() => ({
|
|
9
|
+
'd-chip': true,
|
|
10
|
+
[`d-chip-${color}`]: !!color,
|
|
11
|
+
}), [color]);
|
|
12
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, iconMap: { xLg, }, } = useDContext();
|
|
13
|
+
const iconClose = useMemo(() => iconCloseProp || xLg, [iconCloseProp, xLg]);
|
|
14
|
+
return (jsxs("span", Object.assign({ className: classNames(generateClasses, className), style: style }, dataAttributes, { children: [icon && (jsx("div", { className: "d-chip-icon-container", children: jsx(DIcon, { icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle }) })), jsx("span", { children: text }), showClose && (jsx("button", { type: "button", className: "d-chip-icon-container", onClick: onClose, "aria-label": closeAriaLabel, children: jsx(DIcon, { icon: iconClose, familyClass: iconCloseFamilyClass !== null && iconCloseFamilyClass !== void 0 ? iconCloseFamilyClass : familyClass, familyPrefix: iconCloseFamilyPrefix !== null && iconCloseFamilyPrefix !== void 0 ? iconCloseFamilyPrefix : familyPrefix, materialStyle: iconCloseMaterialStyle !== null && iconCloseMaterialStyle !== void 0 ? iconCloseMaterialStyle : materialStyle }) }))] })));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { DChip as default };
|
|
18
|
+
//# sourceMappingURL=DChip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DChip.js","sources":["../../../../dist-transpiled/components/DChip/DChip.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useMemo } from 'react';\nimport classNames from 'classnames';\nimport DIcon from '../DIcon';\nimport { useDContext } from '../../contexts';\nexport default function DChip({ color = 'primary', text, icon, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, iconClose: iconCloseProp, iconCloseFamilyClass, iconCloseFamilyPrefix, iconCloseMaterialStyle, showClose = false, closeAriaLabel = 'close', className, style, dataAttributes, onClose, }) {\n const generateClasses = useMemo(() => ({\n 'd-chip': true,\n [`d-chip-${color}`]: !!color,\n }), [color]);\n const { icon: { familyClass, familyPrefix, materialStyle, }, iconMap: { xLg, }, } = useDContext();\n const iconClose = useMemo(() => iconCloseProp || xLg, [iconCloseProp, xLg]);\n return (_jsxs(\"span\", Object.assign({ className: classNames(generateClasses, className), style: style }, dataAttributes, { children: [icon && (_jsx(\"div\", { className: \"d-chip-icon-container\", children: _jsx(DIcon, { icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle }) })), _jsx(\"span\", { children: text }), showClose && (_jsx(\"button\", { type: \"button\", className: \"d-chip-icon-container\", onClick: onClose, \"aria-label\": closeAriaLabel, children: _jsx(DIcon, { icon: iconClose, familyClass: iconCloseFamilyClass !== null && iconCloseFamilyClass !== void 0 ? iconCloseFamilyClass : familyClass, familyPrefix: iconCloseFamilyPrefix !== null && iconCloseFamilyPrefix !== void 0 ? iconCloseFamilyPrefix : familyPrefix, materialStyle: iconCloseMaterialStyle !== null && iconCloseMaterialStyle !== void 0 ? iconCloseMaterialStyle : materialStyle }) }))] })));\n}\n//# sourceMappingURL=DChip.js.map"],"names":["_jsxs","_jsx"],"mappings":";;;;;;AAKe,SAAS,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,SAAS,GAAG,KAAK,EAAE,cAAc,GAAG,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,GAAG,EAAE;AAC/S,IAAI,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO;AAC3C,QAAQ,QAAQ,EAAE,IAAI;AACtB,QAAQ,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK;AACpC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAChB,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,WAAW,EAAE;AACrG,IAAI,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,aAAa,IAAI,GAAG,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AAC/E,IAAI,QAAQA,IAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,KAAKC,GAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE,QAAQ,EAAEA,GAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,MAAM,GAAG,eAAe,GAAG,WAAW,EAAE,YAAY,EAAE,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,GAAG,YAAY,EAAE,aAAa,EAAE,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,MAAM,GAAG,iBAAiB,GAAG,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEA,GAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,KAAKA,GAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAEA,GAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,KAAK,IAAI,IAAI,oBAAoB,KAAK,MAAM,GAAG,oBAAoB,GAAG,WAAW,EAAE,YAAY,EAAE,qBAAqB,KAAK,IAAI,IAAI,qBAAqB,KAAK,MAAM,GAAG,qBAAqB,GAAG,YAAY,EAAE,aAAa,EAAE,sBAAsB,KAAK,IAAI,IAAI,sBAAsB,KAAK,MAAM,GAAG,sBAAsB,GAAG,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjnC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import { useState, useEffect, useMemo } from 'react';
|
|
4
|
+
import DIcon from '../DIcon/DIcon.js';
|
|
5
|
+
import { useDContext } from '../../contexts/DContext.js';
|
|
6
|
+
|
|
7
|
+
function DCollapse({ id, className, style, Component, defaultCollapsed = true, onChange, children, iconOpen: iconOpenProp, iconClose: iconCloseProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, dataAttributes, }) {
|
|
8
|
+
const [collapsed, setCollapsed] = useState(defaultCollapsed);
|
|
9
|
+
const onChangeCollapse = () => {
|
|
10
|
+
setCollapsed((prev) => {
|
|
11
|
+
const next = !prev;
|
|
12
|
+
if (onChange) {
|
|
13
|
+
onChange(next);
|
|
14
|
+
}
|
|
15
|
+
return next;
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
setCollapsed(defaultCollapsed);
|
|
20
|
+
}, [defaultCollapsed]);
|
|
21
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, iconMap: { chevronDown, chevronUp, }, } = useDContext();
|
|
22
|
+
const iconOpen = useMemo(() => iconOpenProp || chevronDown, [chevronDown, iconOpenProp]);
|
|
23
|
+
const iconClose = useMemo(() => iconCloseProp || chevronUp, [chevronUp, iconCloseProp]);
|
|
24
|
+
return (jsxs("div", Object.assign({ id: id, className: classNames('collapse-container', className), style: style }, dataAttributes, { children: [jsxs("button", { className: "collapse-button", type: "button", onClick: onChangeCollapse, children: [jsx("div", { className: "flex-grow-1", children: Component }), jsx(DIcon, { className: "collapse-icon", color: "primary", size: "1.25rem", icon: collapsed ? iconOpen : iconClose, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })] }), jsx("div", { className: classNames('collapse-body-wrapper', {
|
|
25
|
+
show: !collapsed,
|
|
26
|
+
}), children: jsx("div", { className: "collapse-body", children: children }) })] })));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { DCollapse as default };
|
|
30
|
+
//# sourceMappingURL=DCollapse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DCollapse.js","sources":["../../../../dist-transpiled/components/DCollapse/DCollapse.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport { useMemo, useState, useEffect, } from 'react';\nimport DIcon from '../DIcon';\nimport { useDContext } from '../../contexts';\nexport default function DCollapse({ id, className, style, Component, defaultCollapsed = true, onChange, children, iconOpen: iconOpenProp, iconClose: iconCloseProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, dataAttributes, }) {\n const [collapsed, setCollapsed] = useState(defaultCollapsed);\n const onChangeCollapse = () => {\n setCollapsed((prev) => {\n const next = !prev;\n if (onChange) {\n onChange(next);\n }\n return next;\n });\n };\n useEffect(() => {\n setCollapsed(defaultCollapsed);\n }, [defaultCollapsed]);\n const { icon: { familyClass, familyPrefix, materialStyle, }, iconMap: { chevronDown, chevronUp, }, } = useDContext();\n const iconOpen = useMemo(() => iconOpenProp || chevronDown, [chevronDown, iconOpenProp]);\n const iconClose = useMemo(() => iconCloseProp || chevronUp, [chevronUp, iconCloseProp]);\n return (_jsxs(\"div\", Object.assign({ id: id, className: classNames('collapse-container', className), style: style }, dataAttributes, { children: [_jsxs(\"button\", { className: \"collapse-button\", type: \"button\", onClick: onChangeCollapse, children: [_jsx(\"div\", { className: \"flex-grow-1\", children: Component }), _jsx(DIcon, { className: \"collapse-icon\", color: \"primary\", size: \"1.25rem\", icon: collapsed ? iconOpen : iconClose, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })] }), _jsx(\"div\", { className: classNames('collapse-body-wrapper', {\n show: !collapsed,\n }), children: _jsx(\"div\", { className: \"collapse-body\", children: children }) })] })));\n}\n//# sourceMappingURL=DCollapse.js.map"],"names":["_jsxs","_jsx"],"mappings":";;;;;;AAKe,SAAS,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,GAAG,EAAE;AAC7O,IAAI,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC;AAChE,IAAI,MAAM,gBAAgB,GAAG,MAAM;AACnC,QAAQ,YAAY,CAAC,CAAC,IAAI,KAAK;AAC/B,YAAY,MAAM,IAAI,GAAG,CAAC,IAAI;AAC9B,YAAY,IAAI,QAAQ,EAAE;AAC1B,gBAAgB,QAAQ,CAAC,IAAI,CAAC;AAC9B,YAAY;AACZ,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC,CAAC;AACV,IAAI,CAAC;AACL,IAAI,SAAS,CAAC,MAAM;AACpB,QAAQ,YAAY,CAAC,gBAAgB,CAAC;AACtC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;AAC1B,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,GAAG,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,SAAS,GAAG,GAAG,GAAG,WAAW,EAAE;AACxH,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,YAAY,IAAI,WAAW,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAC5F,IAAI,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,aAAa,IAAI,SAAS,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAC3F,IAAI,QAAQA,IAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAACA,IAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAACC,GAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAEA,GAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,EAAE,WAAW,EAAE,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,MAAM,GAAG,eAAe,GAAG,WAAW,EAAE,YAAY,EAAE,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,GAAG,YAAY,EAAE,aAAa,EAAE,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,MAAM,GAAG,iBAAiB,GAAG,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAEA,GAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,uBAAuB,EAAE;AACnzB,oBAAoB,IAAI,EAAE,CAAC,SAAS;AACpC,iBAAiB,CAAC,EAAE,QAAQ,EAAEA,GAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACrG;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|