maz-ui 4.0.0-beta.3 → 4.0.0-beta.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/assets/MazAccordion.DUQCf8vy.css +1 -0
- package/dist/assets/{MazAnimatedCounter.CTG-PC5W.css → MazAnimatedCounter.DkZNPRLp.css} +1 -1
- package/dist/assets/MazAnimatedText.DDqCxrFX.css +1 -0
- package/dist/assets/MazBackdrop.BnhcmjbP.css +1 -0
- package/dist/assets/{MazBadge.DN8tdE8_.css → MazBadge.ChI2DaTU.css} +1 -1
- package/dist/assets/MazBtn.BYOKMl_2.css +1 -0
- package/dist/assets/MazCard.D0ksni8A.css +1 -0
- package/dist/assets/{MazCardSpotlight.Dy-wuLQq.css → MazCardSpotlight.IbPp_y0j.css} +1 -1
- package/dist/assets/MazCarousel.D4zTkRsG.css +1 -0
- package/dist/assets/MazCheckbox.aH1IKnrR.css +1 -0
- package/dist/assets/MazChecklist.BzF5KtZ3.css +1 -0
- package/dist/assets/MazDatePicker.BUVI9tfN.css +1 -0
- package/dist/assets/MazDropzone.C2SunLAI.css +1 -0
- package/dist/assets/MazInput.BPhjbYZG.css +1 -0
- package/dist/assets/MazInputCode.FA2z4HQd.css +1 -0
- package/dist/assets/MazInputPhoneNumber.DQKElfIM.css +1 -0
- package/dist/assets/MazInputTags.KNTpDHof.css +1 -0
- package/dist/assets/MazLazyImg.NlPRN3Nk.css +1 -0
- package/dist/assets/MazLink.CFscNMFr.css +1 -0
- package/dist/assets/MazPickerCalendar.e-eF8E7m.css +1 -0
- package/dist/assets/MazPickerCalendarMonth.BRoEh_ad.css +1 -0
- package/dist/assets/{MazPickerCalendarSwitcher.uni8vJJv.css → MazPickerCalendarSwitcher.CI9Vw1sJ.css} +1 -1
- package/dist/assets/{MazPickerContainer.k3DGjyHC.css → MazPickerContainer.DmHuaFqE.css} +1 -1
- package/dist/assets/{MazPickerHeader.ZYCJY5bX.css → MazPickerHeader.C4W93yMD.css} +1 -1
- package/dist/assets/MazPickerMonthSwitcher.D9lfVzYo.css +1 -0
- package/dist/assets/{MazPickerYearSwitcher.Dl30Dwor.css → MazPickerYearSwitcher.CFiH13QC.css} +1 -1
- package/dist/assets/MazPopover.B3kR2Gsa.css +1 -0
- package/dist/assets/MazPullToRefresh.BQ64UvzA.css +1 -0
- package/dist/assets/MazRadio.aTHM-mpx.css +1 -0
- package/dist/assets/MazRadioButtons.DN_rAzT9.css +1 -0
- package/dist/assets/MazReadingProgressBar.CwBVXE3g.css +1 -0
- package/dist/assets/MazSelect.DuRAHZGW.css +1 -0
- package/dist/assets/{MazSelectCountry.D2Qudf0K.css → MazSelectCountry.EW8fKXFX.css} +1 -1
- package/dist/assets/{MazSlider.D5SgmZLH.css → MazSlider.y4qpnD0N.css} +1 -1
- package/dist/assets/MazSpinner.CsiFJ1DS.css +1 -0
- package/dist/assets/MazStepper.BD2gDGAX.css +1 -0
- package/dist/assets/MazSwitch.Bxmh2iFj.css +1 -0
- package/dist/assets/{MazTable.B1tkeUfE.css → MazTable.DMlQdImb.css} +1 -1
- package/dist/assets/MazTableRow.DgBXpK9J.css +1 -0
- package/dist/assets/{MazTabsBar.B9N_jdqU.css → MazTabsBar.gcS2Fc-B.css} +1 -1
- package/dist/assets/{MazTabsContentItem.CHfy19ZF.css → MazTabsContentItem.C84SDmj0.css} +1 -1
- package/dist/assets/MazTextarea.li9dWBax.css +1 -0
- package/dist/assets/{PhoneInput.CyWO76iq.css → PhoneInput.DCWA_-gC.css} +1 -1
- package/dist/assets/{fullscreen-img.pvt6196l.css → fullscreen-img.Bkuz1GOX.css} +1 -1
- package/dist/assets/{toast.kunueRvo.css → toast.DH9mbkvs.css} +1 -1
- package/dist/chunks/{MazDatePicker.CT5yJhSN.js → MazDatePicker.bKFpslPf.js} +54 -44
- package/dist/chunks/{MazDialogPromise.vue_vue_type_script_setup_true_lang.BQvDEofz.js → MazDialogConfirm.vue_vue_type_script_setup_true_lang.Grn2kB3x.js} +78 -18
- package/dist/chunks/{MazDropdown.vue_vue_type_style_index_0_lang.abk1IbMX.js → MazDropdown.vue_vue_type_style_index_0_lang.X8ygqBUZ.js} +22 -27
- package/dist/chunks/{MazInputPhoneNumber.Uwhn1Q9j.js → MazInputPhoneNumber.BVHi0OiN.js} +28 -18
- package/dist/chunks/{MazInputPrice.vue_vue_type_script_setup_true_lang.GMKzSu7R.js → MazInputPrice.vue_vue_type_script_setup_true_lang.BA6TDX-T.js} +31 -1
- package/dist/chunks/{MazPickerCalendar.RS6ZMdDK.js → MazPickerCalendar.lLfvUtrb.js} +8 -8
- package/dist/chunks/{MazPickerCalendarMonth.hQBSVkc9.js → MazPickerCalendarMonth.Djzgo1tF.js} +9 -9
- package/dist/chunks/{MazPickerCalendarSwitcher.Cp2ux3E4.js → MazPickerCalendarSwitcher.Bf24kKw6.js} +3 -3
- package/dist/chunks/{MazPickerContainer.DnfB3Dqg.js → MazPickerContainer.7hYHiOaa.js} +4 -6
- package/dist/chunks/{MazPickerHeader.Dlz2yJ1D.js → MazPickerHeader.B00RAQPS.js} +3 -3
- package/dist/chunks/{MazPickerMonthSwitcher.BpfCGGxQ.js → MazPickerMonthSwitcher.B2ZgNJWy.js} +5 -6
- package/dist/chunks/{MazPickerTime.EuWWNfid.js → MazPickerTime.Bd4khA2e.js} +1 -1
- package/dist/chunks/{MazPickerYearSwitcher.D4aO09D3.js → MazPickerYearSwitcher.BIy9xGIw.js} +8 -27
- package/dist/chunks/{MazSwitch.vue_vue_type_style_index_0_lang.DnCjlD6D.js → MazSwitch.vue_vue_type_style_index_0_lang.CU43Y1ky.js} +2 -2
- package/dist/chunks/{MazTable.vue_vue_type_script_setup_true_lang.bm7ng8fK.js → MazTable.vue_vue_type_script_setup_true_lang.BcTw9Tyh.js} +3 -3
- package/dist/chunks/{PhoneInput.CPjyZ8Sq.js → PhoneInput.D9vRIgS6.js} +21 -27
- package/dist/chunks/{utils.BBuYjMbK.js → dom-events.Bbe7wDQl.js} +221 -115
- package/dist/chunks/{en.BzBlrE0C.js → en.Q_4-KljL.js} +12 -0
- package/dist/chunks/{fullscreen-img.directive.CyOHexcO.js → fullscreen-img.directive.Be383en8.js} +2 -2
- package/dist/chunks/{lazy-img.directive.D5zCo3Zi.js → lazy-img.directive.BLFnGqQa.js} +1 -1
- package/dist/chunks/pascalCase.GdDKKQ-O.js +19 -0
- package/dist/chunks/types.D0Bp_UhS.js +6 -0
- package/dist/chunks/useStringMatching.BBezu-6J.js +134 -0
- package/dist/chunks/{useTranslations.BXuww4ux.js → useTranslations.D5aoYwD7.js} +1 -1
- package/dist/chunks/vClickOutside.DIOiluy0.js +107 -0
- package/dist/components/MazAccordion.js +2 -2
- package/dist/components/MazAnimatedCounter.js +3 -3
- package/dist/components/MazAnimatedText.js +2 -2
- package/dist/components/MazBackdrop.js +3 -3
- package/dist/components/MazBadge.js +5 -4
- package/dist/components/MazBtn.js +9 -7
- package/dist/components/MazCard.js +2 -2
- package/dist/components/MazCardSpotlight.js +4 -4
- package/dist/components/MazCarousel.js +12 -9
- package/dist/components/MazCheckbox.js +10 -12
- package/dist/components/MazChecklist.js +4 -5
- package/dist/components/MazDatePicker.js +1 -1
- package/dist/components/MazDialogConfirm.js +6 -0
- package/dist/components/MazDropdown.js +1 -1
- package/dist/components/MazDropzone.js +5 -5
- package/dist/components/MazGallery.js +2 -2
- package/dist/components/MazInput.js +21 -16
- package/dist/components/MazInputCode.js +2 -2
- package/dist/components/MazInputPhoneNumber.js +1 -1
- package/dist/components/MazInputPrice.js +1 -1
- package/dist/components/MazInputTags.js +2 -2
- package/dist/components/MazLazyImg.js +9 -9
- package/dist/components/MazLink.js +9 -5
- package/dist/components/MazPagination.js +1 -1
- package/dist/components/MazPopover.js +124 -162
- package/dist/components/MazPullToRefresh.js +8 -3
- package/dist/components/MazRadio.js +8 -16
- package/dist/components/MazRadioButtons.js +8 -7
- package/dist/components/MazReadingProgressBar.js +10 -3
- package/dist/components/MazSelect.js +31 -18
- package/dist/components/MazSelectCountry.js +18 -11
- package/dist/components/MazSlider.js +2 -2
- package/dist/components/MazSpinner.js +3 -4
- package/dist/components/MazStepper.js +2 -2
- package/dist/components/MazSwitch.js +1 -1
- package/dist/components/MazTable.js +3 -3
- package/dist/components/MazTableCell.js +1 -1
- package/dist/components/MazTableRow.js +3 -3
- package/dist/components/MazTableTitle.js +1 -1
- package/dist/components/MazTabsBar.js +6 -6
- package/dist/components/MazTabsContentItem.js +6 -7
- package/dist/components/MazTextarea.js +24 -3
- package/dist/components/index.js +8 -8
- package/dist/composables/index.js +4 -2
- package/dist/composables/useAos.js +1 -1
- package/dist/composables/useDialog.js +1 -1
- package/dist/composables/useDisplayNames.js +17 -13
- package/dist/composables/useDropzone.js +7 -7
- package/dist/composables/useFormField.js +15 -19
- package/dist/composables/useFormValidator.js +58 -29
- package/dist/composables/useIdleTimeout.js +108 -1
- package/dist/composables/useInjectStrict.js +2 -2
- package/dist/composables/useInstanceUniqId.js +3 -2
- package/dist/composables/useStringMatching.js +3 -40
- package/dist/composables/useSwipe.js +77 -1
- package/dist/composables/useToast.js +1 -1
- package/dist/composables/useUserVisibility.js +47 -1
- package/dist/composables/useWait.js +1 -1
- package/dist/composables/useWindowSize.js +1 -1
- package/dist/css/main.css +1 -1
- package/dist/directives/index.js +7 -7
- package/dist/directives/vClickOutside.js +4 -102
- package/dist/directives/vFullscreenImg.js +1 -1
- package/dist/directives/vLazyImg.js +2 -2
- package/dist/directives/vTooltip.js +97 -62
- package/dist/index.js +1 -114
- package/dist/plugins/dialog.js +3 -3
- package/dist/plugins/maz-ui.js +235 -195
- package/dist/plugins/toast.js +13 -14
- package/dist/resolvers/MazComponentsResolver.js +1 -1
- package/dist/resolvers/MazDirectivesResolver.js +1 -1
- package/dist/resolvers/MazModulesResolver.js +6 -2
- package/dist/tailwindcss/tailwind.config.js +5 -2
- package/dist/tailwindcss/variables/design-tokens.js +3 -0
- package/dist/types/components/MazAccordion.vue.d.ts +15 -2
- package/dist/types/components/MazBtn.vue.d.ts +1 -0
- package/dist/types/components/MazCard.vue.d.ts +1 -1
- package/dist/types/components/MazCarousel.vue.d.ts +4 -1
- package/dist/types/components/MazCheckbox.vue.d.ts +0 -6
- package/dist/types/components/MazChecklist.vue.d.ts +1 -1
- package/dist/types/components/MazDatePicker/utils.d.ts +5 -4
- package/dist/types/components/MazDatePicker.vue.d.ts +39 -51
- package/dist/types/components/MazDialogConfirm/useMazDialogConfirm.d.ts +47 -0
- package/dist/types/components/{MazDialogPromise.vue.d.ts → MazDialogConfirm.vue.d.ts} +43 -10
- package/dist/types/components/MazDropdown.vue.d.ts +12 -12
- package/dist/types/components/MazInput.vue.d.ts +7 -0
- package/dist/types/components/MazInputNumber.vue.d.ts +4 -4
- package/dist/types/components/MazInputPhoneNumber/PhoneInput.vue.d.ts +1 -1
- package/dist/types/components/MazInputPhoneNumber/useLibphonenumber.d.ts +3 -3
- package/dist/types/components/MazInputPhoneNumber/useMazInputPhoneNumber.d.ts +8 -2
- package/dist/types/components/MazInputPhoneNumber.vue.d.ts +45 -23
- package/dist/types/components/MazInputPrice.vue.d.ts +3 -3
- package/dist/types/components/MazInputTags.vue.d.ts +1 -1
- package/dist/types/components/MazLazyImg.vue.d.ts +8 -8
- package/dist/types/components/MazLink.vue.d.ts +11 -0
- package/dist/types/components/MazPopover.vue.d.ts +26 -20
- package/dist/types/components/MazRadioButtons.vue.d.ts +9 -9
- package/dist/types/components/MazReadingProgressBar.vue.d.ts +1 -1
- package/dist/types/components/MazSelect.vue.d.ts +11 -4
- package/dist/types/components/MazSelectCountry.vue.d.ts +15 -6
- package/dist/types/components/MazStepper.vue.d.ts +13 -2
- package/dist/types/components/MazTable.vue.d.ts +63 -2
- package/dist/types/components/index.d.ts +4 -4
- package/dist/types/components/types.d.ts +1 -0
- package/dist/types/composables/index.d.ts +2 -1
- package/dist/types/composables/useDisplayNames.d.ts +3 -8
- package/dist/types/composables/useDropzone.d.ts +3 -3
- package/dist/types/composables/useFormField.d.ts +16 -56
- package/dist/types/composables/useFormValidator/config.d.ts +2 -2
- package/dist/types/composables/useFormValidator/dom-events.d.ts +19 -0
- package/dist/types/composables/useFormValidator/state-management.d.ts +72 -0
- package/dist/types/composables/useFormValidator/types.d.ts +20 -32
- package/dist/types/composables/useFormValidator/validation.d.ts +37 -0
- package/dist/types/composables/useFormValidator.d.ts +16 -10
- package/dist/types/composables/useIdleTimeout.d.ts +1 -1
- package/dist/types/composables/useInjectStrict.d.ts +1 -1
- package/dist/types/composables/useSwipe.d.ts +1 -1
- package/dist/types/composables/useUserVisibility.d.ts +1 -1
- package/dist/types/directives/vClickOutside.d.ts +11 -18
- package/dist/types/directives/vFullscreenImg/MazFullscreenImg.vue.d.ts +2 -2
- package/dist/types/directives/vFullscreenImg/fullscreen-img.directive.d.ts +3 -5
- package/dist/types/directives/vFullscreenImg.d.ts +9 -4
- package/dist/types/directives/vLazyImg/lazy-img.directive.d.ts +3 -5
- package/dist/types/directives/vLazyImg.d.ts +11 -6
- package/dist/types/directives/vTooltip.d.ts +14 -14
- package/dist/types/directives/vZoomImg/zoom-img.directive.d.ts +2 -0
- package/dist/types/directives/vZoomImg.d.ts +9 -5
- package/dist/types/index.d.ts +1 -1
- package/dist/types/plugins/aos.d.ts +30 -4
- package/dist/types/plugins/dialog/DialogHandler.d.ts +2 -2
- package/dist/types/plugins/dialog.d.ts +2 -4
- package/dist/types/plugins/maz-ui.d.ts +2 -63
- package/dist/types/plugins/toast.d.ts +2 -4
- package/dist/types/plugins/wait.d.ts +2 -3
- package/dist/types/tailwindcss/tailwind.config.d.ts +5 -0
- package/dist/types/tailwindcss/variables/design-tokens.d.ts +3 -0
- package/package.json +38 -37
- package/dist/assets/MazAccordion.esK3rR4p.css +0 -1
- package/dist/assets/MazAnimatedText.BrOwWuqf.css +0 -1
- package/dist/assets/MazBackdrop.DNpnLh63.css +0 -1
- package/dist/assets/MazBtn.BnRxVlqS.css +0 -1
- package/dist/assets/MazCard.C6nDaeIC.css +0 -1
- package/dist/assets/MazCarousel.BaqN4hLP.css +0 -1
- package/dist/assets/MazCheckbox.C_qIngLy.css +0 -1
- package/dist/assets/MazChecklist.CWK_Gl-t.css +0 -1
- package/dist/assets/MazDatePicker.V5JwKPrQ.css +0 -1
- package/dist/assets/MazDropzone.DafxQwbq.css +0 -1
- package/dist/assets/MazInput.DW2KOJHY.css +0 -1
- package/dist/assets/MazInputCode.CG6EJBEk.css +0 -1
- package/dist/assets/MazInputPhoneNumber.vpA2mrZn.css +0 -1
- package/dist/assets/MazInputTags.B_s9J3sw.css +0 -1
- package/dist/assets/MazLazyImg.BNaVtpfX.css +0 -1
- package/dist/assets/MazLink.CCfbrUs0.css +0 -1
- package/dist/assets/MazPickerCalendar.CHpWIzhL.css +0 -1
- package/dist/assets/MazPickerCalendarMonth.zkrPVHDv.css +0 -1
- package/dist/assets/MazPickerMonthSwitcher.168v7Hs1.css +0 -1
- package/dist/assets/MazPopover.Bth9NWia.css +0 -1
- package/dist/assets/MazPullToRefresh.DABqbGtK.css +0 -1
- package/dist/assets/MazRadio.DKMFWwy_.css +0 -1
- package/dist/assets/MazRadioButtons.BA4rjgK9.css +0 -1
- package/dist/assets/MazReadingProgressBar.n1Is8_Y3.css +0 -1
- package/dist/assets/MazSelect.DZZpDg8z.css +0 -1
- package/dist/assets/MazSpinner.CP85N7RJ.css +0 -1
- package/dist/assets/MazStepper.DYMde9uq.css +0 -1
- package/dist/assets/MazSwitch.Z1ZMm7tx.css +0 -1
- package/dist/assets/MazTableRow.B78Bd4Kv.css +0 -1
- package/dist/assets/MazTextarea.Dz11mUeK.css +0 -1
- package/dist/chunks/TextareaAutogrow.C22LQx0k.js +0 -25
- package/dist/chunks/debounceCallback.B69vn57Q.js +0 -7
- package/dist/chunks/formatCurrency.C8NzW9Ii.js +0 -34
- package/dist/chunks/formatDate.DZ_OzdnV.js +0 -21
- package/dist/chunks/getCountryFlagUrl.dQjriBXx.js +0 -9
- package/dist/chunks/idleTimeout.-ICpdeGV.js +0 -111
- package/dist/chunks/isServer.BokzeB-Q.js +0 -6
- package/dist/chunks/isStandaloneMode.BpUpOTbA.js +0 -10
- package/dist/chunks/normalizeString.CFe2M8S_.js +0 -69
- package/dist/chunks/pascalCase.D_nuQ66I.js +0 -11
- package/dist/chunks/swipeHandler.8emelhOL.js +0 -80
- package/dist/chunks/throttle.DN8ARw0a.js +0 -11
- package/dist/chunks/throttleId.7PhWZjcS.js +0 -62
- package/dist/chunks/userVisibility.BbQSJASv.js +0 -50
- package/dist/chunks/x-mark.CTalOvvY.js +0 -23
- package/dist/components/MazDialogPromise.js +0 -6
- package/dist/types/components/MazDialogPromise/useMazDialogPromise.d.ts +0 -54
- package/dist/types/components/MazInputPhoneNumber/types.d.ts +0 -22
- package/dist/types/composables/useFormValidator/utils.d.ts +0 -116
- package/dist/chunks/{pristine.ylgbwjxO.js → pristine.CxBZzgUG.js} +4 -4
package/dist/plugins/maz-ui.js
CHANGED
|
@@ -14,26 +14,26 @@ function formatHSL(h, s, l) {
|
|
|
14
14
|
return `${roundedH} ${roundedS}% ${roundedL}%`;
|
|
15
15
|
}
|
|
16
16
|
const LUMINOSITY_OFFSETS = {
|
|
17
|
-
50:
|
|
18
|
-
// Base +
|
|
19
|
-
100:
|
|
20
|
-
// Base +
|
|
21
|
-
200:
|
|
22
|
-
// Base +
|
|
23
|
-
300:
|
|
24
|
-
// Base + 20% = light-medium
|
|
25
|
-
400: 10,
|
|
17
|
+
50: 37.5,
|
|
18
|
+
// Base + 50% = very light
|
|
19
|
+
100: 30,
|
|
20
|
+
// Base + 35% = light
|
|
21
|
+
200: 22.5,
|
|
22
|
+
// Base + 20% = moderately light
|
|
23
|
+
300: 15,
|
|
26
24
|
// Base + 10% = slightly lighter
|
|
25
|
+
400: 7.5,
|
|
26
|
+
// Base + 5% = slightly lighter
|
|
27
27
|
500: 0,
|
|
28
28
|
// Base (original color)
|
|
29
|
-
600: -
|
|
30
|
-
// Base -
|
|
31
|
-
700: -
|
|
32
|
-
// Base -
|
|
33
|
-
800: -
|
|
34
|
-
// Base -
|
|
35
|
-
900: -
|
|
36
|
-
// Base -
|
|
29
|
+
600: -7.5,
|
|
30
|
+
// Base - 5% = slightly darker
|
|
31
|
+
700: -15,
|
|
32
|
+
// Base - 15% = dark
|
|
33
|
+
800: -22.5,
|
|
34
|
+
// Base - 20% = very dark
|
|
35
|
+
900: -30
|
|
36
|
+
// Base - 25% = extremely dark
|
|
37
37
|
};
|
|
38
38
|
function calculateSaturationMultiplier(baseVariant, targetVariant, baseSaturation) {
|
|
39
39
|
if (targetVariant === baseVariant)
|
|
@@ -95,58 +95,80 @@ const DEFAULT_CRITICAL_COLORS = [
|
|
|
95
95
|
"base-font-size",
|
|
96
96
|
"border-width"
|
|
97
97
|
], scaleColors = ["primary", "secondary", "accent", "destructive", "success", "warning", "info", "contrast", "background", "foreground", "border", "muted", "overlay", "shadow"];
|
|
98
|
-
function generateCriticalCSS(preset, options = {
|
|
98
|
+
function generateCriticalCSS(preset, options = {
|
|
99
|
+
mode: "both",
|
|
100
|
+
darkSelectorStrategy: "class"
|
|
101
|
+
}) {
|
|
99
102
|
const {
|
|
100
103
|
criticalColors = DEFAULT_CRITICAL_COLORS,
|
|
101
104
|
criticalFoundation = DEFAULT_CRITICAL_FOUNDATION,
|
|
102
|
-
mode
|
|
103
|
-
darkSelectorStrategy
|
|
105
|
+
mode,
|
|
106
|
+
darkSelectorStrategy,
|
|
104
107
|
prefix = "maz"
|
|
105
|
-
} = options,
|
|
108
|
+
} = options, foundationCritical = extractCriticalFoundation(preset.foundation, criticalFoundation);
|
|
106
109
|
let css = `@layer maz-ui-theme {
|
|
107
110
|
`;
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
111
|
+
if (mode === "light" || mode === "both") {
|
|
112
|
+
const lightCritical = extractCriticalVariables(preset.colors.light, criticalColors);
|
|
113
|
+
css += generateVariablesBlock({
|
|
114
|
+
selector: ":root",
|
|
115
|
+
colors: lightCritical,
|
|
116
|
+
foundation: foundationCritical,
|
|
117
|
+
prefix
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
if (mode === "dark" || mode === "both") {
|
|
121
|
+
const darkCritical = extractCriticalVariables(preset.colors.dark, criticalColors);
|
|
122
|
+
css += generateVariablesBlock({
|
|
123
|
+
selector: darkSelectorStrategy === "media" ? ":root" : ".dark",
|
|
124
|
+
mediaQuery: darkSelectorStrategy === "media" ? "@media (prefers-color-scheme: dark)" : void 0,
|
|
125
|
+
colors: darkCritical,
|
|
126
|
+
foundation: foundationCritical,
|
|
127
|
+
prefix
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
return css += `}
|
|
120
131
|
`, css;
|
|
121
132
|
}
|
|
122
|
-
function generateFullCSS(preset, options = {
|
|
133
|
+
function generateFullCSS(preset, options = {
|
|
134
|
+
mode: "both",
|
|
135
|
+
darkSelectorStrategy: "class"
|
|
136
|
+
}) {
|
|
123
137
|
const {
|
|
124
138
|
excludeCritical = DEFAULT_CRITICAL_COLORS,
|
|
125
|
-
mode
|
|
126
|
-
darkSelectorStrategy
|
|
139
|
+
mode,
|
|
140
|
+
darkSelectorStrategy,
|
|
127
141
|
prefix = "maz",
|
|
128
142
|
includeColorScales = !0
|
|
129
|
-
} = options,
|
|
143
|
+
} = options, foundation = excludeFoundationVariables(preset.foundation, DEFAULT_CRITICAL_FOUNDATION);
|
|
130
144
|
let css = `@layer maz-ui-theme {
|
|
131
145
|
`;
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
146
|
+
if (mode === "light" || mode === "both") {
|
|
147
|
+
const lightColors = excludeVariables(preset.colors.light, excludeCritical);
|
|
148
|
+
css += generateVariablesBlock({
|
|
149
|
+
selector: ":root",
|
|
150
|
+
colors: lightColors,
|
|
151
|
+
foundation,
|
|
152
|
+
prefix,
|
|
153
|
+
includeScales: includeColorScales,
|
|
154
|
+
preset
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
if (mode === "dark" || mode === "both") {
|
|
158
|
+
const darkColors = excludeVariables(preset.colors.dark, excludeCritical);
|
|
159
|
+
css += generateVariablesBlock({
|
|
160
|
+
selector: darkSelectorStrategy === "media" ? ":root" : ".dark",
|
|
161
|
+
mediaQuery: darkSelectorStrategy === "media" ? "@media (prefers-color-scheme: dark)" : void 0,
|
|
162
|
+
colors: darkColors,
|
|
163
|
+
foundation: mode === "dark" ? foundation : void 0,
|
|
164
|
+
// Appearance only if dark mode only
|
|
165
|
+
prefix,
|
|
166
|
+
includeScales: includeColorScales,
|
|
167
|
+
preset,
|
|
168
|
+
isDark: !0
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
return css += `}
|
|
150
172
|
`, css;
|
|
151
173
|
}
|
|
152
174
|
function extractCriticalVariables(colors, criticalKeys) {
|
|
@@ -214,7 +236,8 @@ function generateAllColorScales(colors, prefix) {
|
|
|
214
236
|
}
|
|
215
237
|
}), colorScales;
|
|
216
238
|
}
|
|
217
|
-
|
|
239
|
+
var CSS_IDS = /* @__PURE__ */ ((CSS_IDS2) => (CSS_IDS2.FULL = "maz-theme-full", CSS_IDS2.CRITICAL = "maz-theme-critical", CSS_IDS2))(CSS_IDS || {});
|
|
240
|
+
function injectCSS(id, css) {
|
|
218
241
|
if (typeof document > "u")
|
|
219
242
|
return;
|
|
220
243
|
let styleElement = document.getElementById(id);
|
|
@@ -235,7 +258,7 @@ async function getPreset(preset) {
|
|
|
235
258
|
return ocean;
|
|
236
259
|
}
|
|
237
260
|
if (preset === "pristine") {
|
|
238
|
-
const { pristine } = await import("../chunks/pristine.
|
|
261
|
+
const { pristine } = await import("../chunks/pristine.CxBZzgUG.js");
|
|
239
262
|
return pristine;
|
|
240
263
|
}
|
|
241
264
|
if (preset === "obsidian") {
|
|
@@ -244,14 +267,33 @@ async function getPreset(preset) {
|
|
|
244
267
|
}
|
|
245
268
|
throw new TypeError(`[@maz-ui/themes] Preset ${preset} not found`);
|
|
246
269
|
}
|
|
270
|
+
function mergePresets(base, overrides) {
|
|
271
|
+
return {
|
|
272
|
+
name: overrides.name || base.name,
|
|
273
|
+
foundation: {
|
|
274
|
+
...base.foundation,
|
|
275
|
+
...overrides.foundation
|
|
276
|
+
},
|
|
277
|
+
colors: {
|
|
278
|
+
light: mergeColors(base.colors.light, overrides.colors?.light),
|
|
279
|
+
dark: mergeColors(base.colors.dark, overrides.colors?.dark)
|
|
280
|
+
}
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
function mergeColors(base, overrides) {
|
|
284
|
+
return overrides ? {
|
|
285
|
+
...base,
|
|
286
|
+
...overrides
|
|
287
|
+
} : base;
|
|
288
|
+
}
|
|
247
289
|
function getColorMode(colorMode) {
|
|
248
290
|
if (colorMode && ["light", "dark"].includes(colorMode))
|
|
249
291
|
return colorMode;
|
|
250
292
|
const savedMode = getCookie("maz-color-mode");
|
|
251
|
-
return savedMode && ["light", "dark"].includes(savedMode) ? savedMode :
|
|
293
|
+
return savedMode && ["light", "dark"].includes(savedMode) ? savedMode : "auto";
|
|
252
294
|
}
|
|
253
|
-
function
|
|
254
|
-
return typeof window < "u" && typeof
|
|
295
|
+
function isSystemPrefersDark() {
|
|
296
|
+
return typeof globalThis.window < "u" && typeof globalThis.matchMedia == "function" && globalThis.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
255
297
|
}
|
|
256
298
|
function applyDarkMode(darkModeStrategy, isDark) {
|
|
257
299
|
typeof document > "u" || darkModeStrategy !== "class" || (isDark ? document.documentElement.classList.add("dark") : document.documentElement.classList.remove("dark"));
|
|
@@ -260,18 +302,18 @@ function injectThemeCSS(finalPreset, config) {
|
|
|
260
302
|
if (typeof document > "u")
|
|
261
303
|
return;
|
|
262
304
|
const cssOptions = {
|
|
263
|
-
mode:
|
|
264
|
-
|
|
305
|
+
mode: config.mode,
|
|
306
|
+
darkSelectorStrategy: config.darkModeStrategy
|
|
265
307
|
};
|
|
266
308
|
if (config.injectCriticalCSS) {
|
|
267
309
|
const criticalCSS = generateCriticalCSS(finalPreset, cssOptions);
|
|
268
|
-
injectCSS(
|
|
310
|
+
injectCSS(CSS_IDS.CRITICAL, criticalCSS);
|
|
269
311
|
}
|
|
270
312
|
if (!config.injectFullCSS)
|
|
271
313
|
return;
|
|
272
314
|
const fullCSS = generateFullCSS(finalPreset, cssOptions);
|
|
273
|
-
config.strategy === "runtime" ? injectCSS(
|
|
274
|
-
injectCSS(
|
|
315
|
+
config.strategy === "runtime" ? injectCSS(CSS_IDS.FULL, fullCSS) : config.strategy === "hybrid" && requestIdleCallback(() => {
|
|
316
|
+
injectCSS(CSS_IDS.FULL, fullCSS);
|
|
275
317
|
}, { timeout: 100 });
|
|
276
318
|
}
|
|
277
319
|
function injectThemeState(app, themeState) {
|
|
@@ -282,185 +324,183 @@ const MazUiTheme = {
|
|
|
282
324
|
const config = {
|
|
283
325
|
preset: "maz-ui",
|
|
284
326
|
strategy: "runtime",
|
|
327
|
+
overrides: {},
|
|
285
328
|
darkModeStrategy: "class",
|
|
286
|
-
colorMode: "auto",
|
|
287
|
-
prefix: "maz",
|
|
329
|
+
colorMode: (options.mode !== "both" ? options.mode : options.colorMode) ?? "auto",
|
|
288
330
|
injectCriticalCSS: !0,
|
|
289
331
|
injectFullCSS: !0,
|
|
332
|
+
mode: "both",
|
|
290
333
|
...options
|
|
291
|
-
}, colorMode = getColorMode(config.colorMode), isDark = colorMode === "auto" ?
|
|
334
|
+
}, colorMode = config.mode !== "both" ? config.mode : getColorMode(config.colorMode), isDark = colorMode === "auto" && config.mode === "both" ? isSystemPrefersDark() : colorMode === "dark" || config.mode === "dark", themeState = reactive({
|
|
292
335
|
// @ts-expect-error - empty currentPreset to avoid error
|
|
293
336
|
currentPreset: {},
|
|
337
|
+
mode: config.mode,
|
|
294
338
|
colorMode,
|
|
295
339
|
isDark,
|
|
296
340
|
strategy: config.strategy,
|
|
297
341
|
darkModeStrategy: config.darkModeStrategy
|
|
298
342
|
});
|
|
299
|
-
applyDarkMode(config.darkModeStrategy,
|
|
300
|
-
const preset = await getPreset(config.preset), finalPreset = config.overrides ?
|
|
301
|
-
...preset,
|
|
302
|
-
foundation: {
|
|
303
|
-
...preset.foundation,
|
|
304
|
-
...config.overrides.foundation
|
|
305
|
-
},
|
|
306
|
-
colors: {
|
|
307
|
-
light: { ...preset.colors.light, ...config.overrides.colors?.light },
|
|
308
|
-
dark: { ...preset.colors.dark, ...config.overrides.colors?.dark }
|
|
309
|
-
}
|
|
310
|
-
} : preset;
|
|
343
|
+
applyDarkMode(config.darkModeStrategy, isDark), injectThemeState(app, themeState);
|
|
344
|
+
const preset = await getPreset(config.preset), finalPreset = Object.keys(config.overrides).length > 0 ? mergePresets(preset, config.overrides) : preset;
|
|
311
345
|
themeState.currentPreset = finalPreset, config.strategy !== "buildtime" && injectThemeCSS(finalPreset, config);
|
|
312
346
|
}
|
|
313
|
-
},
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
es: () => import("../chunks/es.BV1TlfTw.js"),
|
|
317
|
-
|
|
318
|
-
it: () => import("../chunks/it.Be9xhI4P.js"),
|
|
319
|
-
|
|
320
|
-
"
|
|
321
|
-
|
|
322
|
-
}
|
|
323
|
-
|
|
347
|
+
}, defaultLocalesLoaders = {
|
|
348
|
+
"./locales/de.ts": () => import("../chunks/de.B15Maq8Z.js").then((m) => ({ default: m.default })),
|
|
349
|
+
"./locales/en.ts": () => import("../chunks/en.Q_4-KljL.js").then((m) => ({ default: m.default })),
|
|
350
|
+
"./locales/es.ts": () => import("../chunks/es.BV1TlfTw.js").then((m) => ({ default: m.default })),
|
|
351
|
+
"./locales/fr.ts": () => import("../chunks/fr.BVPG-7Dk.js").then((m) => ({ default: m.default })),
|
|
352
|
+
"./locales/it.ts": () => import("../chunks/it.Be9xhI4P.js").then((m) => ({ default: m.default })),
|
|
353
|
+
"./locales/ja.ts": () => import("../chunks/ja.CWU7KYEA.js").then((m) => ({ default: m.default })),
|
|
354
|
+
"./locales/pt.ts": () => import("../chunks/pt.CfaFSxVt.js").then((m) => ({ default: m.default })),
|
|
355
|
+
"./locales/zh-CN.ts": () => import("../chunks/zh-CN.CCkuvk-E.js").then((m) => ({ default: m.default }))
|
|
356
|
+
}, defaultMessagesCache = /* @__PURE__ */ new Map(), globalState = reactive({
|
|
357
|
+
loadedLocales: /* @__PURE__ */ new Set(),
|
|
358
|
+
messages: {},
|
|
359
|
+
userMessages: {},
|
|
360
|
+
loadingPromises: /* @__PURE__ */ new Map()
|
|
361
|
+
});
|
|
362
|
+
function getMessage(obj, path) {
|
|
324
363
|
return path.split(".").reduce((current, key) => current?.[key], obj);
|
|
325
364
|
}
|
|
326
|
-
function
|
|
365
|
+
function setMessage(obj, path, value) {
|
|
327
366
|
const keys = path.split("."), lastKey = keys.pop(), target = keys.reduce((current, key) => ((!current[key] || typeof current[key] != "object") && (current[key] = {}), current[key]), obj);
|
|
328
367
|
target[lastKey] = value;
|
|
329
368
|
}
|
|
330
|
-
function
|
|
369
|
+
function isFlattenedObject(obj) {
|
|
331
370
|
return !obj || typeof obj != "object" ? !1 : Object.keys(obj).some((key) => key.includes("."));
|
|
332
371
|
}
|
|
333
372
|
function flattenToNested(flatObj) {
|
|
334
|
-
if (!
|
|
373
|
+
if (!isFlattenedObject(flatObj))
|
|
335
374
|
return flatObj;
|
|
336
375
|
const nested = {};
|
|
337
376
|
for (const [key, value] of Object.entries(flatObj))
|
|
338
|
-
key.includes(".") ?
|
|
377
|
+
key.includes(".") ? setMessage(nested, key, value) : nested[key] = value;
|
|
339
378
|
return nested;
|
|
340
379
|
}
|
|
341
|
-
function
|
|
380
|
+
function mergeMessages(target, source) {
|
|
342
381
|
const normalizedSource = flattenToNested(source), result = { ...flattenToNested(target) };
|
|
343
382
|
for (const key in normalizedSource)
|
|
344
|
-
normalizedSource[key] && typeof normalizedSource[key] == "object" ? result[key] =
|
|
383
|
+
normalizedSource[key] && typeof normalizedSource[key] == "object" ? result[key] = mergeMessages(result[key] || {}, normalizedSource[key]) : result[key] = normalizedSource[key];
|
|
345
384
|
return result;
|
|
346
385
|
}
|
|
347
386
|
function interpolate(message, variables) {
|
|
348
387
|
return variables ? message.replace(/\{(\w+)\}/g, (match, key) => variables[key] !== void 0 ? String(variables[key]) : match) : message;
|
|
349
388
|
}
|
|
350
|
-
async function
|
|
389
|
+
async function loadDefaultMessages(locale) {
|
|
390
|
+
if (defaultMessagesCache.has(locale))
|
|
391
|
+
return defaultMessagesCache.get(locale);
|
|
392
|
+
const loaderPath = `./locales/${locale}.ts`, loader = defaultLocalesLoaders[loaderPath];
|
|
393
|
+
if (!loader)
|
|
394
|
+
return {};
|
|
395
|
+
try {
|
|
396
|
+
const messages = (await loader()).default;
|
|
397
|
+
return defaultMessagesCache.set(locale, messages), messages;
|
|
398
|
+
} catch (error) {
|
|
399
|
+
return console.error(`Failed to load default messages for locale "${locale}":`, error), {};
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
function loadLocale(targetLocale) {
|
|
403
|
+
if (globalState.loadedLocales.has(targetLocale))
|
|
404
|
+
return Promise.resolve();
|
|
405
|
+
if (globalState.loadingPromises.has(targetLocale))
|
|
406
|
+
return globalState.loadingPromises.get(targetLocale);
|
|
407
|
+
const loadingPromise = (async () => {
|
|
408
|
+
try {
|
|
409
|
+
const localeDefaultMessages = await loadDefaultMessages(targetLocale);
|
|
410
|
+
let localeUserMessages = {};
|
|
411
|
+
const userLoader = globalState.userMessages[targetLocale];
|
|
412
|
+
if (userLoader)
|
|
413
|
+
if (typeof userLoader == "function")
|
|
414
|
+
try {
|
|
415
|
+
const userMessages = await userLoader();
|
|
416
|
+
localeUserMessages = "default" in userMessages ? userMessages.default : userMessages;
|
|
417
|
+
} catch (error) {
|
|
418
|
+
console.error(`Failed to load user translations for locale "${targetLocale}":`, error), localeUserMessages = {};
|
|
419
|
+
}
|
|
420
|
+
else
|
|
421
|
+
localeUserMessages = userLoader;
|
|
422
|
+
globalState.messages[targetLocale] = mergeMessages(localeDefaultMessages, localeUserMessages), globalState.loadedLocales.add(targetLocale);
|
|
423
|
+
} catch (error) {
|
|
424
|
+
console.error(`Failed to load translations for locale "${targetLocale}":`, error), globalState.messages[targetLocale] = {}, globalState.loadedLocales.add(targetLocale);
|
|
425
|
+
} finally {
|
|
426
|
+
globalState.loadingPromises.delete(targetLocale);
|
|
427
|
+
}
|
|
428
|
+
})();
|
|
429
|
+
return globalState.loadingPromises.set(targetLocale, loadingPromise), loadingPromise;
|
|
430
|
+
}
|
|
431
|
+
function createMazTranslations(options = {}) {
|
|
351
432
|
const {
|
|
352
433
|
locale: initialLocale = "en",
|
|
353
434
|
fallbackLocale = "en",
|
|
354
435
|
preloadFallback = !0,
|
|
355
436
|
messages = {}
|
|
356
|
-
} = options, locale = ref(initialLocale)
|
|
437
|
+
} = options, locale = ref(initialLocale);
|
|
357
438
|
for (const [loc, msgs] of Object.entries(messages))
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
const userLoader = userMessageLoaders.value[targetLocale];
|
|
369
|
-
userLoader && (typeof userLoader == "function" ? userMessages = await userLoader() : userMessages = userLoader), messagesRef.value[targetLocale] = merge(defaultMessages, userMessages), loadedLocales.value.add(targetLocale);
|
|
370
|
-
} catch (error) {
|
|
371
|
-
console.error(`Failed to load translations for locale "${targetLocale}":`, error), messagesRef.value[targetLocale] = {}, loadedLocales.value.add(targetLocale);
|
|
372
|
-
} finally {
|
|
373
|
-
loadingPromises.value.delete(targetLocale);
|
|
374
|
-
}
|
|
375
|
-
})();
|
|
376
|
-
return loadingPromises.value.set(targetLocale, loadingPromise), loadingPromise;
|
|
377
|
-
}
|
|
378
|
-
const localePromises = [];
|
|
379
|
-
return localePromises.push(loadLocaleMessages(initialLocale)), preloadFallback && fallbackLocale !== initialLocale && localePromises.push(loadLocaleMessages(fallbackLocale)), await Promise.all(localePromises), { locale, t: (key, variables) => {
|
|
380
|
-
let message = get(messagesRef.value[locale.value], key);
|
|
381
|
-
if (!message && locale.value !== fallbackLocale) {
|
|
382
|
-
if (!loadedLocales.value.has(fallbackLocale))
|
|
383
|
-
return loadLocaleMessages(fallbackLocale)?.catch(console.error), console.warn(`Fallback locale "${fallbackLocale}" not loaded yet for key "${key}", loading...`), key;
|
|
384
|
-
message = get(messagesRef.value[fallbackLocale], key);
|
|
439
|
+
globalState.userMessages[loc] = msgs, msgs && typeof msgs == "object" && (globalState.messages[loc] = { ...globalState.messages[loc], ...msgs });
|
|
440
|
+
setTimeout(() => {
|
|
441
|
+
loadLocale(initialLocale).catch(console.error), preloadFallback && fallbackLocale !== initialLocale && loadLocale(fallbackLocale).catch(console.error);
|
|
442
|
+
}, 0);
|
|
443
|
+
function t(key, variables) {
|
|
444
|
+
let message = getMessage(globalState.messages[locale.value], key);
|
|
445
|
+
if (!message && fallbackLocale && locale.value !== fallbackLocale) {
|
|
446
|
+
if (!globalState.loadedLocales.has(fallbackLocale))
|
|
447
|
+
return loadLocale(fallbackLocale).catch(console.error), key;
|
|
448
|
+
message = getMessage(globalState.messages[fallbackLocale], key);
|
|
385
449
|
}
|
|
386
450
|
if (!message && fallbackLocale !== "en" && locale.value !== "en") {
|
|
387
|
-
if (!loadedLocales.
|
|
388
|
-
return
|
|
389
|
-
message =
|
|
451
|
+
if (!globalState.loadedLocales.has("en"))
|
|
452
|
+
return loadLocale("en").catch(console.error), key;
|
|
453
|
+
message = getMessage(globalState.messages.en, key);
|
|
390
454
|
}
|
|
391
|
-
return message ? interpolate(String(message), variables) : (console.warn(`Translation
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
|
|
455
|
+
return message ? interpolate(String(message), variables) : (console.warn(`[@maz-ui/translations] Translation not found for key: ${key}`), key);
|
|
456
|
+
}
|
|
457
|
+
async function setLocale(newLocale) {
|
|
458
|
+
globalState.loadedLocales.has(newLocale) || await loadLocale(newLocale), locale.value = newLocale;
|
|
459
|
+
}
|
|
460
|
+
function isLocaleLoaded(localeToCheck) {
|
|
461
|
+
return globalState.loadedLocales.has(localeToCheck);
|
|
462
|
+
}
|
|
463
|
+
function isLocaleLoading(localeToCheck) {
|
|
464
|
+
return globalState.loadingPromises.has(localeToCheck);
|
|
465
|
+
}
|
|
466
|
+
function getAvailableLocales() {
|
|
467
|
+
const locales = /* @__PURE__ */ new Set();
|
|
468
|
+
for (const [path, loader] of Object.entries(defaultLocalesLoaders))
|
|
469
|
+
loader && typeof loader == "function" && locales.add(path.replace("./locales/", "").replace(".ts", ""));
|
|
470
|
+
for (const path of Object.keys(globalState.userMessages))
|
|
471
|
+
locales.add(path);
|
|
472
|
+
return Array.from(locales);
|
|
473
|
+
}
|
|
474
|
+
function getMessages() {
|
|
475
|
+
return globalState.messages;
|
|
476
|
+
}
|
|
477
|
+
function getLoadedLocales() {
|
|
478
|
+
return Object.keys(globalState.messages);
|
|
479
|
+
}
|
|
480
|
+
function setLocaleMessage(targetLocale, messages2) {
|
|
481
|
+
globalState.messages[targetLocale] || (globalState.messages[targetLocale] = {}), globalState.messages[targetLocale] = mergeMessages(globalState.messages[targetLocale], messages2), globalState.loadedLocales.add(targetLocale);
|
|
482
|
+
}
|
|
483
|
+
return {
|
|
484
|
+
locale,
|
|
485
|
+
t,
|
|
486
|
+
setLocale,
|
|
487
|
+
isLocaleLoaded,
|
|
488
|
+
isLocaleLoading,
|
|
489
|
+
getAvailableLocales,
|
|
490
|
+
setLocaleMessage,
|
|
491
|
+
getMessages,
|
|
492
|
+
getLoadedLocales
|
|
493
|
+
};
|
|
395
494
|
}
|
|
396
495
|
const MazTranslations = {
|
|
397
|
-
|
|
398
|
-
const i18n =
|
|
496
|
+
install(app, options = {}) {
|
|
497
|
+
const i18n = createMazTranslations(options);
|
|
399
498
|
return app.config.globalProperties.$mazTranslations = i18n, app.provide("mazTranslations", i18n), i18n;
|
|
400
499
|
}
|
|
401
500
|
}, MazUi = {
|
|
402
|
-
|
|
403
|
-
async install(app, options = {}) {
|
|
501
|
+
install(app, options = {}) {
|
|
404
502
|
const { theme, translations } = options;
|
|
405
503
|
app.use(MazUiTheme, theme), app.use(MazTranslations, translations);
|
|
406
|
-
const pluginPromises = [];
|
|
407
|
-
if (options.plugins?.dialog) {
|
|
408
|
-
const dialogOptions = typeof options.plugins.dialog == "boolean" ? void 0 : options.plugins.dialog;
|
|
409
|
-
pluginPromises.push(
|
|
410
|
-
import("./dialog.js").then(({ DialogPlugin }) => {
|
|
411
|
-
app.use(DialogPlugin, dialogOptions);
|
|
412
|
-
})
|
|
413
|
-
);
|
|
414
|
-
}
|
|
415
|
-
if (options.plugins?.toast) {
|
|
416
|
-
const toastOptions = typeof options.plugins.toast == "boolean" ? void 0 : options.plugins.toast;
|
|
417
|
-
pluginPromises.push(
|
|
418
|
-
import("./toast.js").then(({ ToastPlugin }) => {
|
|
419
|
-
app.use(ToastPlugin, toastOptions);
|
|
420
|
-
})
|
|
421
|
-
);
|
|
422
|
-
}
|
|
423
|
-
if (options.plugins?.wait && pluginPromises.push(
|
|
424
|
-
import("./wait.js").then(({ WaitPlugin }) => {
|
|
425
|
-
app.use(WaitPlugin);
|
|
426
|
-
})
|
|
427
|
-
), options.plugins?.aos) {
|
|
428
|
-
const aosOptions = typeof options.plugins.aos == "boolean" ? void 0 : options.plugins.aos;
|
|
429
|
-
pluginPromises.push(
|
|
430
|
-
import("./aos.js").then(({ AosPlugin }) => {
|
|
431
|
-
app.use(AosPlugin, aosOptions);
|
|
432
|
-
})
|
|
433
|
-
);
|
|
434
|
-
}
|
|
435
|
-
if (options.directives?.vTooltip) {
|
|
436
|
-
const vTooltipOptions = typeof options.directives.vTooltip == "boolean" ? void 0 : options.directives.vTooltip;
|
|
437
|
-
pluginPromises.push(
|
|
438
|
-
import("../directives/vTooltip.js").then(({ vTooltipInstall }) => {
|
|
439
|
-
app.use(vTooltipInstall, vTooltipOptions);
|
|
440
|
-
})
|
|
441
|
-
);
|
|
442
|
-
}
|
|
443
|
-
if (options.directives?.vLazyImg) {
|
|
444
|
-
const vLazyImgOptions = typeof options.directives.vLazyImg == "boolean" ? void 0 : options.directives.vLazyImg;
|
|
445
|
-
pluginPromises.push(
|
|
446
|
-
import("../directives/vLazyImg.js").then(({ vLazyImgInstall }) => {
|
|
447
|
-
app.use(vLazyImgInstall, vLazyImgOptions);
|
|
448
|
-
})
|
|
449
|
-
);
|
|
450
|
-
}
|
|
451
|
-
options.directives?.vClickOutside && pluginPromises.push(
|
|
452
|
-
import("../directives/vClickOutside.js").then(({ vClickOutsideInstall }) => {
|
|
453
|
-
app.use(vClickOutsideInstall);
|
|
454
|
-
})
|
|
455
|
-
), options.directives?.vFullscreenImg && pluginPromises.push(
|
|
456
|
-
import("../directives/vFullscreenImg.js").then(({ vFullscreenImgInstall }) => {
|
|
457
|
-
app.use(vFullscreenImgInstall);
|
|
458
|
-
})
|
|
459
|
-
), options.directives?.vZoomImg && pluginPromises.push(
|
|
460
|
-
import("../directives/vZoomImg.js").then(({ vZoomImgInstall }) => {
|
|
461
|
-
app.use(vZoomImgInstall);
|
|
462
|
-
})
|
|
463
|
-
), await Promise.all(pluginPromises);
|
|
464
504
|
}
|
|
465
505
|
};
|
|
466
506
|
export {
|
package/dist/plugins/toast.js
CHANGED
|
@@ -3,7 +3,7 @@ import { defineComponent, defineAsyncComponent, ref, computed, watch, onMounted,
|
|
|
3
3
|
import { MazExclamationCircle, MazCheckCircle, MazInformationCircle, MazExclamationTriangle, MazXMark, MazArrowTopRightOnSquare, MazLinkIcon } from "@maz-ui/icons";
|
|
4
4
|
import { useTimer } from "../composables/useTimer.js";
|
|
5
5
|
import { _ as _export_sfc } from "../chunks/_plugin-vue_export-helper.B--vMWp3.js";
|
|
6
|
-
import '../assets/toast.
|
|
6
|
+
import '../assets/toast.DH9mbkvs.css';const _hoisted_1 = ["textContent", "innerHTML"], _hoisted_2 = {
|
|
7
7
|
key: 1,
|
|
8
8
|
class: "m-toast__progress-bar"
|
|
9
9
|
}, _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -78,7 +78,7 @@ import '../assets/toast.kunueRvo.css';const _hoisted_1 = ["textContent", "innerH
|
|
|
78
78
|
case "warning":
|
|
79
79
|
return "maz-bg-warning-700";
|
|
80
80
|
default:
|
|
81
|
-
return "maz-bg-contrast-
|
|
81
|
+
return "maz-bg-contrast-foreground";
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
watch(
|
|
@@ -115,8 +115,7 @@ import '../assets/toast.kunueRvo.css';const _hoisted_1 = ["textContent", "innerH
|
|
|
115
115
|
container && !container?.hasChildNodes() && container.remove();
|
|
116
116
|
}
|
|
117
117
|
function getButtonRightIcon(button) {
|
|
118
|
-
|
|
119
|
-
return button.target === "_blank" ? MazArrowTopRightOnSquare : MazLinkIcon;
|
|
118
|
+
return !button.to && !button.href ? button.rightIcon : button.target === "_blank" ? MazArrowTopRightOnSquare : MazLinkIcon;
|
|
120
119
|
}
|
|
121
120
|
return __expose({
|
|
122
121
|
/**
|
|
@@ -148,8 +147,8 @@ import '../assets/toast.kunueRvo.css';const _hoisted_1 = ["textContent", "innerH
|
|
|
148
147
|
class: "m-toast__button",
|
|
149
148
|
onMouseover: _cache[0] || (_cache[0] = ($event) => toggleTimer(!0)),
|
|
150
149
|
onMouseleave: _cache[1] || (_cache[1] = ($event) => toggleTimer(!1)),
|
|
151
|
-
|
|
152
|
-
|
|
150
|
+
onTouchstartPassive: _cache[2] || (_cache[2] = ($event) => toggleTimer(!0)),
|
|
151
|
+
onTouchendPassive: _cache[3] || (_cache[3] = ($event) => toggleTimer(!1)),
|
|
153
152
|
onClick: _cache[4] || (_cache[4] = withModifiers(($event) => click($event), ["stop"]))
|
|
154
153
|
}, [
|
|
155
154
|
iconComponent.value ? (openBlock(), createBlock(resolveDynamicComponent(iconComponent.value), {
|
|
@@ -161,13 +160,13 @@ import '../assets/toast.kunueRvo.css';const _hoisted_1 = ["textContent", "innerH
|
|
|
161
160
|
textContent: toDisplayString(_ctx.html ? void 0 : _ctx.message),
|
|
162
161
|
innerHTML: _ctx.html ? _ctx.message : void 0
|
|
163
162
|
}, null, 8, _hoisted_1),
|
|
164
|
-
(openBlock(!0), createElementBlock(Fragment, null, renderList(internalButtons.value, (
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
},
|
|
168
|
-
loading: isActionLoading.value ||
|
|
169
|
-
"right-icon": getButtonRightIcon(
|
|
170
|
-
onClick: withModifiers(($event) => onButtonClick(
|
|
163
|
+
(openBlock(!0), createElementBlock(Fragment, null, renderList(internalButtons.value, (toastButton, index) => (openBlock(), createBlock(unref(MazBtn), mergeProps({ key: index }, { ref_for: !0 }, {
|
|
164
|
+
...toastButton,
|
|
165
|
+
onClick: void 0
|
|
166
|
+
}, {
|
|
167
|
+
loading: isActionLoading.value || toastButton.loading,
|
|
168
|
+
"right-icon": getButtonRightIcon(toastButton),
|
|
169
|
+
onClick: withModifiers(($event) => onButtonClick(toastButton, $event), ["stop"])
|
|
171
170
|
}), null, 16, ["loading", "right-icon", "onClick"]))), 128)),
|
|
172
171
|
typeof _ctx.timeout == "number" && _ctx.timeout > 0 && !_ctx.persistent ? (openBlock(), createElementBlock("div", _hoisted_2, [
|
|
173
172
|
createElementVNode("div", {
|
|
@@ -191,7 +190,7 @@ import '../assets/toast.kunueRvo.css';const _hoisted_1 = ["textContent", "innerH
|
|
|
191
190
|
_: 1
|
|
192
191
|
}, 8, ["name"]));
|
|
193
192
|
}
|
|
194
|
-
}), MazToast = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
193
|
+
}), MazToast = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-dbba0109"]]), DEFAULT_OPTIONS = {
|
|
195
194
|
position: "bottom-right",
|
|
196
195
|
timeout: 1e4,
|
|
197
196
|
persistent: !1
|
|
@@ -4,7 +4,7 @@ function MazDirectivesResolver(options) {
|
|
|
4
4
|
type: "directive",
|
|
5
5
|
resolve: (name) => {
|
|
6
6
|
const { devMode = !1, prefix = "" } = options || {};
|
|
7
|
-
return { from: devMode ? "maz-ui/src/directives/index.ts" : "maz-ui/directives", as: `v${capitalize(prefix)}${name.replace(/^v/, "")}`, name: `v${name}` };
|
|
7
|
+
return { from: devMode ? "maz-ui/src/directives/index.ts" : "maz-ui/directives", as: `v${capitalize(prefix)}${capitalize(name.replace(/^v/, ""))}`, name: `v${name}` };
|
|
8
8
|
}
|
|
9
9
|
};
|
|
10
10
|
}
|