@feugene/granularity 0.11.0 → 0.12.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/GrTree.css +1 -1
- package/dist/chunks/config-1uSYl98Y2.js.map +1 -0
- package/dist/chunks/config-BIRO0vDJ.js.map +1 -0
- package/dist/chunks/config-BWiPnygb.js +5 -0
- package/dist/chunks/config-BWiPnygb.js.map +1 -0
- package/dist/chunks/config-BXtAmU3s2.js.map +1 -0
- package/dist/chunks/config-CGHLoBlH.js.map +1 -0
- package/dist/chunks/config-CrG1XiE72.js.map +1 -0
- package/dist/chunks/config-DUcu1D682.js.map +1 -0
- package/dist/chunks/config-Dlm49Jp5.js +5 -0
- package/dist/chunks/config-Dlm49Jp5.js.map +1 -0
- package/dist/chunks/config-DnvPqu4g2.js.map +1 -0
- package/dist/chunks/config-DpqOnJiz.js.map +1 -0
- package/dist/chunks/config-JpHA4Xx02.js.map +1 -0
- package/dist/chunks/config-LGrZIdaZ.js.map +1 -0
- package/dist/chunks/config-eXB87DOi2.js +9 -0
- package/dist/chunks/config-eXB87DOi2.js.map +1 -0
- package/dist/chunks/context-DdNIxa1w.js +9 -0
- package/dist/chunks/context-DdNIxa1w.js.map +1 -0
- package/dist/chunks/{en-BdtiS2d3.js → en-CfkDa4GX.js} +8 -2
- package/dist/chunks/{en-BdtiS2d3.js.map → en-CfkDa4GX.js.map} +1 -1
- package/dist/chunks/{es-DBhctWg-.js → es-CgaLnFYx.js} +3 -3
- package/dist/chunks/{es-DBhctWg-.js.map → es-CgaLnFYx.js.map} +1 -1
- package/dist/chunks/{es-BGRMZbe9.js → es-FkgECuCm.js} +8 -2
- package/dist/chunks/{es-BGRMZbe9.js.map → es-FkgECuCm.js.map} +1 -1
- package/dist/chunks/grModalEscStack-BXk-9mv7.js +43 -0
- package/dist/chunks/grModalEscStack-BXk-9mv7.js.map +1 -0
- package/dist/chunks/{ru-BFCnOiML.js → ru-Bl8CxpEa.js} +8 -2
- package/dist/chunks/{ru-BFCnOiML.js.map → ru-Bl8CxpEa.js.map} +1 -1
- package/dist/chunks/{shared-ChvcQgDl.js → shared-B6Ay2081.js} +17 -11
- package/dist/chunks/shared-B6Ay2081.js.map +1 -0
- package/dist/chunks/{transition-TLFw4KBn.js → useScrollLock-K7kaP2Ud.js} +52 -1
- package/dist/chunks/useScrollLock-K7kaP2Ud.js.map +1 -0
- package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-BWYKCsHd.js → GrConfirmDialog-D8CkOtqv.js} +1 -1
- package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-BWYKCsHd.js.map → GrConfirmDialog-D8CkOtqv.js.map} +1 -1
- package/dist/components/GrConfirmDialog/index.js +2 -2
- package/dist/components/GrDataTable/chunks/{GrDataTable-ptbARmJ3.js → GrDataTable-Ds5OeGat.js} +42 -16
- package/dist/components/GrDataTable/chunks/GrDataTable-Ds5OeGat.js.map +1 -0
- package/dist/components/GrDataTable/index.js +1 -1
- package/dist/components/GrDialog/chunks/{GrDialog-5DAS-1Lb.js → GrDialog-Ctucxju9.js} +2 -2
- package/dist/components/GrDialog/chunks/{GrDialog-5DAS-1Lb.js.map → GrDialog-Ctucxju9.js.map} +1 -1
- package/dist/components/GrDialog/index.js +1 -1
- package/dist/components/GrDialogService/chunks/{GrDialogService-DY_fmaMu.js → GrDialogService-CU1Fbonc.js} +2 -2
- package/dist/components/GrDialogService/chunks/{GrDialogService-DY_fmaMu.js.map → GrDialogService-CU1Fbonc.js.map} +1 -1
- package/dist/components/GrDialogService/index.js +1 -1
- package/dist/components/GrDivider/chunks/GrDivider-5bcE-BB4.js +54 -0
- package/dist/components/GrDivider/chunks/GrDivider-5bcE-BB4.js.map +1 -0
- package/dist/components/GrDivider/index.js +3 -0
- package/dist/components/GrDrawer/chunks/{GrDrawer-D1kzsjXN.js → GrDrawer-SLGKCY2A.js} +37 -13
- package/dist/components/GrDrawer/chunks/GrDrawer-SLGKCY2A.js.map +1 -0
- package/dist/components/GrDrawer/index.js +2 -2
- package/dist/components/GrDropdown/chunks/{GrDropdown-BXb5Cxxf.js → GrDropdown-BnDMYP8v.js} +90 -4
- package/dist/components/GrDropdown/chunks/GrDropdown-BnDMYP8v.js.map +1 -0
- package/dist/components/GrDropdown/index.js +1 -1
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-DFEJLPcV.js → GrDropdownMenu--g9Vofcq.js} +1 -1
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-DFEJLPcV.js.map → GrDropdownMenu--g9Vofcq.js.map} +1 -1
- package/dist/components/GrDropdownMenu/index.js +1 -1
- package/dist/components/GrFormField/chunks/GrFormField-DnfMHx_U.js +73 -0
- package/dist/components/GrFormField/chunks/GrFormField-DnfMHx_U.js.map +1 -0
- package/dist/components/GrFormField/index.js +3 -2
- package/dist/components/GrImageViewer/chunks/{GrImageViewer-OCUIrNh2.js → GrImageViewer-Dla9IBkd.js} +311 -222
- package/dist/components/GrImageViewer/chunks/GrImageViewer-Dla9IBkd.js.map +1 -0
- package/dist/components/GrImageViewer/index.js +1 -1
- package/dist/components/GrInput/chunks/GrInput-B8dd3JaA.js +334 -0
- package/dist/components/GrInput/chunks/GrInput-B8dd3JaA.js.map +1 -0
- package/dist/components/GrInput/index.js +1 -1
- package/dist/components/GrKbd/chunks/GrKbd-BEoYxWhE.js +22 -0
- package/dist/components/GrKbd/chunks/GrKbd-BEoYxWhE.js.map +1 -0
- package/dist/components/GrKbd/index.js +3 -0
- package/dist/components/GrModal/chunks/{GrModal-BkjW9jZS.js → GrModal-C0GZrHN3.js} +3 -56
- package/dist/components/GrModal/chunks/GrModal-C0GZrHN3.js.map +1 -0
- package/dist/components/GrModal/index.js +1 -1
- package/dist/components/GrNumberInput/chunks/{GrNumberInput-CldPIWQx.js → GrNumberInput-DxCEvL7V.js} +93 -11
- package/dist/components/GrNumberInput/chunks/GrNumberInput-DxCEvL7V.js.map +1 -0
- package/dist/components/GrNumberInput/index.js +1 -1
- package/dist/components/GrPagination/chunks/{GrPagination-Bu9wv6it.js → GrPagination-mlyfLjQY.js} +1 -1
- package/dist/components/GrPagination/chunks/{GrPagination-Bu9wv6it.js.map → GrPagination-mlyfLjQY.js.map} +1 -1
- package/dist/components/GrPagination/index.js +2 -2
- package/dist/components/GrProgressBar/index.js +1 -1
- package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-TmWXbpEP.js → GrPromptDialog-C-_BMNuY.js} +3 -3
- package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-TmWXbpEP.js.map → GrPromptDialog-C-_BMNuY.js.map} +1 -1
- package/dist/components/GrPromptDialog/index.js +1 -1
- package/dist/components/GrRadio/chunks/{GrRadio-CPTixXaY.js → GrRadio-Dr-pvs_9.js} +1 -1
- package/dist/components/GrRadio/chunks/{GrRadio-CPTixXaY.js.map → GrRadio-Dr-pvs_9.js.map} +1 -1
- package/dist/components/GrRadio/index.js +2 -2
- package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-vKZCbkCp.js → GrRadioGroup-nOdvfV_g.js} +1 -1
- package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-vKZCbkCp.js.map → GrRadioGroup-nOdvfV_g.js.map} +1 -1
- package/dist/components/GrRadioGroup/index.js +1 -1
- package/dist/components/GrSelect/chunks/{GrSelect-RShK21lK.js → GrSelect-BVCmitqa.js} +147 -27
- package/dist/components/GrSelect/chunks/GrSelect-BVCmitqa.js.map +1 -0
- package/dist/components/GrSelect/index.js +1 -1
- package/dist/components/GrSidebar/index.js +1 -1
- package/dist/components/GrTabPanels/chunks/GrTabPanels-DbKybwe-.js +68 -0
- package/dist/components/GrTabPanels/chunks/GrTabPanels-DbKybwe-.js.map +1 -0
- package/dist/components/GrTabPanels/index.js +3 -0
- package/dist/components/GrTabs/chunks/{GrTabs-Z-FDJUr_.js → GrTabs-DsLwWoRz.js} +6 -1
- package/dist/components/GrTabs/chunks/GrTabs-DsLwWoRz.js.map +1 -0
- package/dist/components/GrTabs/index.js +1 -1
- package/dist/components/GrTextarea/chunks/{GrTextarea-D56YxhKq.js → GrTextarea-CKukGlNl.js} +15 -5
- package/dist/components/GrTextarea/chunks/GrTextarea-CKukGlNl.js.map +1 -0
- package/dist/components/GrTextarea/index.js +2 -2
- package/dist/components/GrToaster/chunks/{GrToaster-eI8YvnIo.js → GrToaster-L2cu6cSR.js} +1 -1
- package/dist/components/GrToaster/chunks/{GrToaster-eI8YvnIo.js.map → GrToaster-L2cu6cSR.js.map} +1 -1
- package/dist/components/GrToaster/index.js +2 -2
- package/dist/components/GrTree/chunks/{GrTree-D3ODe2dB.js → GrTree-B2_yW6g1.js} +107 -8
- package/dist/components/GrTree/chunks/GrTree-B2_yW6g1.js.map +1 -0
- package/dist/components/GrTree/index.js +2 -2
- package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-B2xBKs5Q.js → GrTreeSelect-0aM62xyu.js} +3 -3
- package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-B2xBKs5Q.js.map → GrTreeSelect-0aM62xyu.js.map} +1 -1
- package/dist/components/GrTreeSelect/index.js +2 -2
- package/dist/granular-provider-node.js +2 -2
- package/dist/granular-provider.js +1 -1
- package/dist/i18n/all.js +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/index.js +40 -33
- package/dist/index.js.map +1 -1
- package/dist/styles/base.css +30 -8
- package/dist/styles/preflight.css +5 -1
- package/dist/types/src/components/GrDataTable/GrDataTable.vue.d.ts +28 -4
- package/dist/types/src/components/GrDivider/GrDivider.vue.d.ts +58 -0
- package/dist/types/src/components/GrDivider/config.d.ts +1 -0
- package/dist/types/src/components/GrDivider/index.d.ts +4 -0
- package/dist/types/src/components/GrDrawer/GrDrawer.vue.d.ts +4 -4
- package/dist/types/src/components/GrDropdown/GrDropdown.vue.d.ts +7 -0
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +6 -0
- package/dist/types/src/components/GrFormField/GrFormField.vue.d.ts +15 -2
- package/dist/types/src/components/GrFormField/context.d.ts +20 -0
- package/dist/types/src/components/GrFormField/index.d.ts +1 -0
- package/dist/types/src/components/GrImageViewer/GrImageViewer.vue.d.ts +4 -0
- package/dist/types/src/components/GrImageViewer/composables/useViewerKeyboard.d.ts +20 -0
- package/dist/types/src/components/GrImageViewer/composables/useWheelGesture.d.ts +16 -0
- package/dist/types/src/components/GrImageViewer/composables/useZoomPan.d.ts +50 -0
- package/dist/types/src/components/GrInput/GrInput.vue.d.ts +41 -2
- package/dist/types/src/components/GrKbd/GrKbd.vue.d.ts +46 -0
- package/dist/types/src/components/GrKbd/config.d.ts +1 -0
- package/dist/types/src/components/GrKbd/index.d.ts +4 -0
- package/dist/types/src/components/GrNumberInput/GrNumberInput.vue.d.ts +16 -0
- package/dist/types/src/components/GrSelect/GrSelect.vue.d.ts +2 -2
- package/dist/types/src/components/GrTabPanels/GrTabPanel.vue.d.ts +46 -0
- package/dist/types/src/components/GrTabPanels/GrTabPanels.vue.d.ts +51 -0
- package/dist/types/src/components/GrTabPanels/config.d.ts +5 -0
- package/dist/types/src/components/GrTabPanels/context.d.ts +9 -0
- package/dist/types/src/components/GrTabPanels/index.d.ts +6 -0
- package/dist/types/src/components/GrTabs/GrTabs.vue.d.ts +6 -0
- package/dist/types/src/components/GrTree/grTreeInteractionContext.d.ts +2 -0
- package/dist/types/src/composables/internal/useScrollLock.d.ts +24 -0
- package/dist/types/src/granular-provider/shared.d.ts +3 -0
- package/dist/types/src/i18n/messages/en.d.ts +10 -0
- package/dist/types/src/i18n/messages/es.d.ts +10 -0
- package/dist/types/src/i18n/messages/ru.d.ts +10 -0
- package/dist/types/src/index.d.ts +3 -0
- package/dist/web-types.json +275 -26
- package/package.json +13 -1
- package/dist/chunks/config-1uSYl98Y.js.map +0 -1
- package/dist/chunks/config-BIRO0vDJ2.js.map +0 -1
- package/dist/chunks/config-BXtAmU3s.js.map +0 -1
- package/dist/chunks/config-CGHLoBlH2.js.map +0 -1
- package/dist/chunks/config-CrG1XiE7.js.map +0 -1
- package/dist/chunks/config-DUcu1D68.js.map +0 -1
- package/dist/chunks/config-DnvPqu4g.js.map +0 -1
- package/dist/chunks/config-DpqOnJiz2.js.map +0 -1
- package/dist/chunks/config-JpHA4Xx0.js.map +0 -1
- package/dist/chunks/config-LGrZIdaZ2.js.map +0 -1
- package/dist/chunks/shared-ChvcQgDl.js.map +0 -1
- package/dist/chunks/transition-TLFw4KBn.js.map +0 -1
- package/dist/components/GrDataTable/chunks/GrDataTable-ptbARmJ3.js.map +0 -1
- package/dist/components/GrDrawer/chunks/GrDrawer-D1kzsjXN.js.map +0 -1
- package/dist/components/GrDropdown/chunks/GrDropdown-BXb5Cxxf.js.map +0 -1
- package/dist/components/GrFormField/chunks/GrFormField-BujNQrw8.js +0 -35
- package/dist/components/GrFormField/chunks/GrFormField-BujNQrw8.js.map +0 -1
- package/dist/components/GrImageViewer/chunks/GrImageViewer-OCUIrNh2.js.map +0 -1
- package/dist/components/GrInput/chunks/GrInput-C8pOJgCi.js +0 -188
- package/dist/components/GrInput/chunks/GrInput-C8pOJgCi.js.map +0 -1
- package/dist/components/GrModal/chunks/GrModal-BkjW9jZS.js.map +0 -1
- package/dist/components/GrNumberInput/chunks/GrNumberInput-CldPIWQx.js.map +0 -1
- package/dist/components/GrSelect/chunks/GrSelect-RShK21lK.js.map +0 -1
- package/dist/components/GrTabs/chunks/GrTabs-Z-FDJUr_.js.map +0 -1
- package/dist/components/GrTextarea/chunks/GrTextarea-D56YxhKq.js.map +0 -1
- package/dist/components/GrTree/chunks/GrTree-D3ODe2dB.js.map +0 -1
- /package/dist/chunks/{config-1uSYl98Y.js → config-1uSYl98Y2.js} +0 -0
- /package/dist/chunks/{config-BIRO0vDJ2.js → config-BIRO0vDJ.js} +0 -0
- /package/dist/chunks/{config-BXtAmU3s.js → config-BXtAmU3s2.js} +0 -0
- /package/dist/chunks/{config-CGHLoBlH2.js → config-CGHLoBlH.js} +0 -0
- /package/dist/chunks/{config-CrG1XiE7.js → config-CrG1XiE72.js} +0 -0
- /package/dist/chunks/{config-DUcu1D68.js → config-DUcu1D682.js} +0 -0
- /package/dist/chunks/{config-DnvPqu4g.js → config-DnvPqu4g2.js} +0 -0
- /package/dist/chunks/{config-DpqOnJiz2.js → config-DpqOnJiz.js} +0 -0
- /package/dist/chunks/{config-JpHA4Xx0.js → config-JpHA4Xx02.js} +0 -0
- /package/dist/chunks/{config-LGrZIdaZ2.js → config-LGrZIdaZ.js} +0 -0
|
@@ -1703,4 +1703,55 @@ var Se = defineComponent({
|
|
|
1703
1703
|
}
|
|
1704
1704
|
});
|
|
1705
1705
|
//#endregion
|
|
1706
|
-
|
|
1706
|
+
//#region src/composables/internal/useScrollLock.ts
|
|
1707
|
+
var lockCount = 0;
|
|
1708
|
+
var saved = null;
|
|
1709
|
+
function getScrollbarWidth() {
|
|
1710
|
+
return window.innerWidth - document.documentElement.clientWidth;
|
|
1711
|
+
}
|
|
1712
|
+
function applyLock() {
|
|
1713
|
+
const body = document.body;
|
|
1714
|
+
saved = {
|
|
1715
|
+
overflow: body.style.overflow,
|
|
1716
|
+
paddingRight: body.style.paddingRight
|
|
1717
|
+
};
|
|
1718
|
+
const scrollbarWidth = getScrollbarWidth();
|
|
1719
|
+
body.style.overflow = "hidden";
|
|
1720
|
+
if (scrollbarWidth > 0) {
|
|
1721
|
+
const currentPadding = Number.parseFloat(getComputedStyle(body).paddingRight) || 0;
|
|
1722
|
+
body.style.paddingRight = `${currentPadding + scrollbarWidth}px`;
|
|
1723
|
+
}
|
|
1724
|
+
}
|
|
1725
|
+
function releaseLock() {
|
|
1726
|
+
if (!saved) return;
|
|
1727
|
+
document.body.style.overflow = saved.overflow;
|
|
1728
|
+
document.body.style.paddingRight = saved.paddingRight;
|
|
1729
|
+
saved = null;
|
|
1730
|
+
}
|
|
1731
|
+
/**
|
|
1732
|
+
* Возвращает пару `lock`/`unlock`, идемпотентную **в пределах одного инстанса**
|
|
1733
|
+
* (повторный `lock()` без `unlock()` не увеличивает глобальный счётчик дважды).
|
|
1734
|
+
* Глобальный счётчик разделяется всеми оверлеями.
|
|
1735
|
+
*/
|
|
1736
|
+
function useScrollLock() {
|
|
1737
|
+
const isClient = typeof window !== "undefined";
|
|
1738
|
+
let held = false;
|
|
1739
|
+
function lock() {
|
|
1740
|
+
if (!isClient || held) return;
|
|
1741
|
+
held = true;
|
|
1742
|
+
lockCount += 1;
|
|
1743
|
+
if (lockCount === 1) applyLock();
|
|
1744
|
+
}
|
|
1745
|
+
function unlock() {
|
|
1746
|
+
if (!isClient || !held) return;
|
|
1747
|
+
held = false;
|
|
1748
|
+
lockCount = Math.max(0, lockCount - 1);
|
|
1749
|
+
if (lockCount === 0) releaseLock();
|
|
1750
|
+
}
|
|
1751
|
+
return {
|
|
1752
|
+
lock,
|
|
1753
|
+
unlock
|
|
1754
|
+
};
|
|
1755
|
+
}
|
|
1756
|
+
//#endregion
|
|
1757
|
+
export { Je as a, Ge as i, Se as n, Ve as o, he as r, Ye as s, useScrollLock as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollLock-K7kaP2Ud.js","names":["t","o","n","n","o","i","e","o","u","i","d","n","s","c","i","t","o","c","N","T","F","E","h","w","f","M","y","S","H","t","i","n","u","r","w","i","w","s","p","C","d","E","i","M","N","A","y","w","h","T","O","k","x","u","f","a","p","n","i","s","l","p","t","t","t","d","E","i","d","a","t","c","A","I","E","n","L","x","h","$","z","_","y","v","N","b","P","p","R","j","D","k","G","W","C","g","S","M","q","m","n","o","a","w","u","m","l","m","i","s","c","d","l","p","d","v","u","p","s","a","m","h","N","s","E","T","m","c","d","s","a","u","l","c","p","u","f","R","l","c","R","p","j","x","y","h","v","D","b","C","C","m","p","w","S","s","H","K","d","j","D","B","y","I","O","h","E","G","Te","Y","O","s","q","b","y","o","De","I","E","he","k","Ce","me","h","j","ye","G","z","Pe","se","Se","ge","fe","v","F","J","be","P","C","V","$","pe","Oe","g","p","L","l","f","F","m","z","T","O","de","K","h","u","S","se","k","w","ie","x","$","J","G","C","B","ue","q","fe","ae","oe","ve"],"sources":["../../../../node_modules/@headlessui/vue/dist/utils/micro-task.js","../../../../node_modules/@headlessui/vue/dist/utils/disposables.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-id.js","../../../../node_modules/@headlessui/vue/dist/utils/dom.js","../../../../node_modules/@headlessui/vue/dist/utils/match.js","../../../../node_modules/@headlessui/vue/dist/utils/env.js","../../../../node_modules/@headlessui/vue/dist/utils/owner.js","../../../../node_modules/@headlessui/vue/dist/utils/focus-management.js","../../../../node_modules/@headlessui/vue/dist/utils/platform.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-document-event.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-window-event.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-outside-click.js","../../../../node_modules/@headlessui/vue/dist/utils/render.js","../../../../node_modules/@headlessui/vue/dist/internal/hidden.js","../../../../node_modules/@headlessui/vue/dist/internal/open-closed.js","../../../../node_modules/@headlessui/vue/dist/keyboard.js","../../../../node_modules/@headlessui/vue/dist/utils/document-ready.js","../../../../node_modules/@headlessui/vue/dist/utils/active-element-history.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-event-listener.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-tab-direction.js","../../../../node_modules/@headlessui/vue/dist/components/focus-trap/focus-trap.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-store.js","../../../../node_modules/@headlessui/vue/dist/utils/store.js","../../../../node_modules/@headlessui/vue/dist/hooks/document-overflow/adjust-scrollbar-padding.js","../../../../node_modules/@headlessui/vue/dist/hooks/document-overflow/handle-ios-locking.js","../../../../node_modules/@headlessui/vue/dist/hooks/document-overflow/prevent-scroll.js","../../../../node_modules/@headlessui/vue/dist/hooks/document-overflow/overflow-store.js","../../../../node_modules/@headlessui/vue/dist/hooks/document-overflow/use-document-overflow.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-inert.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-root-containers.js","../../../../node_modules/@headlessui/vue/dist/internal/portal-force-root.js","../../../../node_modules/@headlessui/vue/dist/internal/stack-context.js","../../../../node_modules/@headlessui/vue/dist/components/description/description.js","../../../../node_modules/@headlessui/vue/dist/components/portal/portal.js","../../../../node_modules/@headlessui/vue/dist/components/dialog/dialog.js","../../../../node_modules/@headlessui/vue/dist/utils/once.js","../../../../node_modules/@headlessui/vue/dist/components/transitions/utils/transition.js","../../../../node_modules/@headlessui/vue/dist/components/transitions/transition.js","../../src/composables/internal/useScrollLock.ts"],"sourcesContent":["function t(e){typeof queueMicrotask==\"function\"?queueMicrotask(e):Promise.resolve().then(e).catch(o=>setTimeout(()=>{throw o}))}export{t as microTask};\n","import{microTask as n}from'./micro-task.js';function o(){let a=[],s={addEventListener(e,t,r,i){return e.addEventListener(t,r,i),s.add(()=>e.removeEventListener(t,r,i))},requestAnimationFrame(...e){let t=requestAnimationFrame(...e);s.add(()=>cancelAnimationFrame(t))},nextFrame(...e){s.requestAnimationFrame(()=>{s.requestAnimationFrame(...e)})},setTimeout(...e){let t=setTimeout(...e);s.add(()=>clearTimeout(t))},microTask(...e){let t={current:!0};return n(()=>{t.current&&e[0]()}),s.add(()=>{t.current=!1})},style(e,t,r){let i=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:r}),this.add(()=>{Object.assign(e.style,{[t]:i})})},group(e){let t=o();return e(t),this.add(()=>t.dispose())},add(e){return a.push(e),()=>{let t=a.indexOf(e);if(t>=0)for(let r of a.splice(t,1))r()}},dispose(){for(let e of a.splice(0))e()}};return s}export{o as disposables};\n","var r;import*as e from\"vue\";let n=Symbol(\"headlessui.useid\"),o=0;const i=(r=e.useId)!=null?r:function(){return e.inject(n,()=>`${++o}`)()};function s(t){e.provide(n,t)}export{s as provideUseId,i as useId};\n","function o(e){var l;if(e==null||e.value==null)return null;let n=(l=e.value.$el)!=null?l:e.value;return n instanceof Node?n:null}export{o as dom};\n","function u(r,n,...a){if(r in n){let e=n[r];return typeof e==\"function\"?e(...a):e}let t=new Error(`Tried to handle \"${r}\" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map(e=>`\"${e}\"`).join(\", \")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,u),t}export{u as match};\n","var i=Object.defineProperty;var d=(t,e,r)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var n=(t,e,r)=>(d(t,typeof e!=\"symbol\"?e+\"\":e,r),r);class s{constructor(){n(this,\"current\",this.detect());n(this,\"currentId\",0)}set(e){this.current!==e&&(this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===\"server\"}get isClient(){return this.current===\"client\"}detect(){return typeof window==\"undefined\"||typeof document==\"undefined\"?\"server\":\"client\"}}let c=new s;export{c as env};\n","import{dom as o}from'./dom.js';import{env as t}from'./env.js';function i(r){if(t.isServer)return null;if(r instanceof Node)return r.ownerDocument;if(r!=null&&r.hasOwnProperty(\"value\")){let n=o(r);if(n)return n.ownerDocument}return document}export{i as getOwnerDocument};\n","import{nextTick as b}from\"vue\";import{match as M}from'./match.js';import{getOwnerDocument as f}from'./owner.js';let c=[\"[contentEditable=true]\",\"[tabindex]\",\"a[href]\",\"area[href]\",\"button:not([disabled])\",\"iframe\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].map(e=>`${e}:not([tabindex='-1'])`).join(\",\");var N=(n=>(n[n.First=1]=\"First\",n[n.Previous=2]=\"Previous\",n[n.Next=4]=\"Next\",n[n.Last=8]=\"Last\",n[n.WrapAround=16]=\"WrapAround\",n[n.NoScroll=32]=\"NoScroll\",n))(N||{}),T=(o=>(o[o.Error=0]=\"Error\",o[o.Overflow=1]=\"Overflow\",o[o.Success=2]=\"Success\",o[o.Underflow=3]=\"Underflow\",o))(T||{}),F=(t=>(t[t.Previous=-1]=\"Previous\",t[t.Next=1]=\"Next\",t))(F||{});function E(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(c)).sort((r,t)=>Math.sign((r.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}var h=(t=>(t[t.Strict=0]=\"Strict\",t[t.Loose=1]=\"Loose\",t))(h||{});function w(e,r=0){var t;return e===((t=f(e))==null?void 0:t.body)?!1:M(r,{[0](){return e.matches(c)},[1](){let l=e;for(;l!==null;){if(l.matches(c))return!0;l=l.parentElement}return!1}})}function _(e){let r=f(e);b(()=>{r&&!w(r.activeElement,0)&&S(e)})}var y=(t=>(t[t.Keyboard=0]=\"Keyboard\",t[t.Mouse=1]=\"Mouse\",t))(y||{});typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"keydown\",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0),document.addEventListener(\"click\",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0));function S(e){e==null||e.focus({preventScroll:!0})}let H=[\"textarea\",\"input\"].join(\",\");function I(e){var r,t;return(t=(r=e==null?void 0:e.matches)==null?void 0:r.call(e,H))!=null?t:!1}function O(e,r=t=>t){return e.slice().sort((t,l)=>{let o=r(t),i=r(l);if(o===null||i===null)return 0;let n=o.compareDocumentPosition(i);return n&Node.DOCUMENT_POSITION_FOLLOWING?-1:n&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function v(e,r){return P(E(),r,{relativeTo:e})}function P(e,r,{sorted:t=!0,relativeTo:l=null,skipElements:o=[]}={}){var m;let i=(m=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e==null?void 0:e.ownerDocument)!=null?m:document,n=Array.isArray(e)?t?O(e):e:E(e);o.length>0&&n.length>1&&(n=n.filter(s=>!o.includes(s))),l=l!=null?l:i.activeElement;let x=(()=>{if(r&5)return 1;if(r&10)return-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),p=(()=>{if(r&1)return 0;if(r&2)return Math.max(0,n.indexOf(l))-1;if(r&4)return Math.max(0,n.indexOf(l))+1;if(r&8)return n.length-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),L=r&32?{preventScroll:!0}:{},a=0,d=n.length,u;do{if(a>=d||a+d<=0)return 0;let s=p+a;if(r&16)s=(s+d)%d;else{if(s<0)return 3;if(s>=d)return 1}u=n[s],u==null||u.focus(L),a+=x}while(u!==i.activeElement);return r&6&&I(u)&&u.select(),2}export{N as Focus,T as FocusResult,h as FocusableMode,S as focusElement,v as focusFrom,P as focusIn,E as getFocusableElements,w as isFocusableElement,_ as restoreFocusIfNecessary,O as sortByDomNode};\n","function t(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function i(){return/Android/gi.test(window.navigator.userAgent)}function n(){return t()||i()}export{i as isAndroid,t as isIOS,n as isMobile};\n","import{watchEffect as r}from\"vue\";import{env as m}from'../utils/env.js';function u(e,t,n){m.isServer||r(o=>{document.addEventListener(e,t,n),o(()=>document.removeEventListener(e,t,n))})}export{u as useDocumentEvent};\n","import{watchEffect as i}from\"vue\";import{env as r}from'../utils/env.js';function w(e,n,t){r.isServer||i(o=>{window.addEventListener(e,n,t),o(()=>window.removeEventListener(e,n,t))})}export{w as useWindowEvent};\n","import{computed as s,ref as E}from\"vue\";import{dom as p}from'../utils/dom.js';import{FocusableMode as d,isFocusableElement as C}from'../utils/focus-management.js';import{isMobile as T}from'../utils/platform.js';import{useDocumentEvent as i}from'./use-document-event.js';import{useWindowEvent as M}from'./use-window-event.js';function w(f,m,l=s(()=>!0)){function a(e,r){if(!l.value||e.defaultPrevented)return;let t=r(e);if(t===null||!t.getRootNode().contains(t))return;let c=function o(n){return typeof n==\"function\"?o(n()):Array.isArray(n)||n instanceof Set?n:[n]}(f);for(let o of c){if(o===null)continue;let n=o instanceof HTMLElement?o:p(o);if(n!=null&&n.contains(t)||e.composed&&e.composedPath().includes(n))return}return!C(t,d.Loose)&&t.tabIndex!==-1&&e.preventDefault(),m(e,t)}let u=E(null);i(\"pointerdown\",e=>{var r,t;l.value&&(u.value=((t=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:t[0])||e.target)},!0),i(\"mousedown\",e=>{var r,t;l.value&&(u.value=((t=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:t[0])||e.target)},!0),i(\"click\",e=>{T()||u.value&&(a(e,()=>u.value),u.value=null)},!0),i(\"touchend\",e=>a(e,()=>e.target instanceof HTMLElement?e.target:null),!0),M(\"blur\",e=>a(e,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}export{w as useOutsideClick};\n","import{cloneVNode as O,Fragment as x,h as k}from\"vue\";import{match as w}from'./match.js';var N=(o=>(o[o.None=0]=\"None\",o[o.RenderStrategy=1]=\"RenderStrategy\",o[o.Static=2]=\"Static\",o))(N||{}),S=(e=>(e[e.Unmount=0]=\"Unmount\",e[e.Hidden=1]=\"Hidden\",e))(S||{});function A({visible:r=!0,features:t=0,ourProps:e,theirProps:o,...i}){var a;let n=j(o,e),l=Object.assign(i,{props:n});if(r||t&2&&n.static)return y(l);if(t&1){let d=(a=n.unmount)==null||a?0:1;return w(d,{[0](){return null},[1](){return y({...i,props:{...n,hidden:!0,style:{display:\"none\"}}})}})}return y(l)}function y({props:r,attrs:t,slots:e,slot:o,name:i}){var m,h;let{as:n,...l}=T(r,[\"unmount\",\"static\"]),a=(m=e.default)==null?void 0:m.call(e,o),d={};if(o){let u=!1,c=[];for(let[p,f]of Object.entries(o))typeof f==\"boolean\"&&(u=!0),f===!0&&c.push(p);u&&(d[\"data-headlessui-state\"]=c.join(\" \"))}if(n===\"template\"){if(a=b(a!=null?a:[]),Object.keys(l).length>0||Object.keys(t).length>0){let[u,...c]=a!=null?a:[];if(!v(u)||c.length>0)throw new Error(['Passing props on \"template\"!',\"\",`The current component <${i} /> is rendering a \"template\".`,\"However we need to passthrough the following props:\",Object.keys(l).concat(Object.keys(t)).map(s=>s.trim()).filter((s,g,R)=>R.indexOf(s)===g).sort((s,g)=>s.localeCompare(g)).map(s=>` - ${s}`).join(`\n`),\"\",\"You can apply a few solutions:\",['Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"template\".',\"Render a single element as the child so that we can forward the props onto that element.\"].map(s=>` - ${s}`).join(`\n`)].join(`\n`));let p=j((h=u.props)!=null?h:{},l,d),f=O(u,p,!0);for(let s in p)s.startsWith(\"on\")&&(f.props||(f.props={}),f.props[s]=p[s]);return f}return Array.isArray(a)&&a.length===1?a[0]:a}return k(n,Object.assign({},l,d),{default:()=>a})}function b(r){return r.flatMap(t=>t.type===x?b(t.children):[t])}function j(...r){var o;if(r.length===0)return{};if(r.length===1)return r[0];let t={},e={};for(let i of r)for(let n in i)n.startsWith(\"on\")&&typeof i[n]==\"function\"?((o=e[n])!=null||(e[n]=[]),e[n].push(i[n])):t[n]=i[n];if(t.disabled||t[\"aria-disabled\"])return Object.assign(t,Object.fromEntries(Object.keys(e).map(i=>[i,void 0])));for(let i in e)Object.assign(t,{[i](n,...l){let a=e[i];for(let d of a){if(n instanceof Event&&n.defaultPrevented)return;d(n,...l)}}});return t}function E(r){let t=Object.assign({},r);for(let e in t)t[e]===void 0&&delete t[e];return t}function T(r,t=[]){let e=Object.assign({},r);for(let o of t)o in e&&delete e[o];return e}function v(r){return r==null?!1:typeof r.type==\"string\"||typeof r.type==\"object\"||typeof r.type==\"function\"}export{N as Features,S as RenderStrategy,E as compact,T as omit,A as render};\n","import{defineComponent as a}from\"vue\";import{render as p}from'../utils/render.js';var u=(e=>(e[e.None=1]=\"None\",e[e.Focusable=2]=\"Focusable\",e[e.Hidden=4]=\"Hidden\",e))(u||{});let f=a({name:\"Hidden\",props:{as:{type:[Object,String],default:\"div\"},features:{type:Number,default:1}},setup(t,{slots:n,attrs:i}){return()=>{var r;let{features:e,...d}=t,o={\"aria-hidden\":(e&2)===2?!0:(r=d[\"aria-hidden\"])!=null?r:void 0,hidden:(e&4)===4?!0:void 0,style:{position:\"fixed\",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\",...(e&4)===4&&(e&2)!==2&&{display:\"none\"}}};return p({ourProps:o,theirProps:d,slot:{},attrs:i,slots:n,name:\"Hidden\"})}}});export{u as Features,f as Hidden};\n","import{inject as p,provide as r}from\"vue\";let n=Symbol(\"Context\");var i=(e=>(e[e.Open=1]=\"Open\",e[e.Closed=2]=\"Closed\",e[e.Closing=4]=\"Closing\",e[e.Opening=8]=\"Opening\",e))(i||{});function s(){return l()!==null}function l(){return p(n,null)}function t(o){r(n,o)}export{i as State,s as hasOpenClosed,l as useOpenClosed,t as useOpenClosedProvider};\n","var o=(r=>(r.Space=\" \",r.Enter=\"Enter\",r.Escape=\"Escape\",r.Backspace=\"Backspace\",r.Delete=\"Delete\",r.ArrowLeft=\"ArrowLeft\",r.ArrowUp=\"ArrowUp\",r.ArrowRight=\"ArrowRight\",r.ArrowDown=\"ArrowDown\",r.Home=\"Home\",r.End=\"End\",r.PageUp=\"PageUp\",r.PageDown=\"PageDown\",r.Tab=\"Tab\",r))(o||{});export{o as Keys};\n","function t(n){function e(){document.readyState!==\"loading\"&&(n(),document.removeEventListener(\"DOMContentLoaded\",e))}typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"DOMContentLoaded\",e),e())}export{t as onDocumentReady};\n","import{onDocumentReady as d}from'./document-ready.js';let t=[];d(()=>{function e(n){n.target instanceof HTMLElement&&n.target!==document.body&&t[0]!==n.target&&(t.unshift(n.target),t=t.filter(r=>r!=null&&r.isConnected),t.splice(10))}window.addEventListener(\"click\",e,{capture:!0}),window.addEventListener(\"mousedown\",e,{capture:!0}),window.addEventListener(\"focus\",e,{capture:!0}),document.body.addEventListener(\"click\",e,{capture:!0}),document.body.addEventListener(\"mousedown\",e,{capture:!0}),document.body.addEventListener(\"focus\",e,{capture:!0})});export{t as history};\n","import{watchEffect as i}from\"vue\";import{env as a}from'../utils/env.js';function E(n,e,o,r){a.isServer||i(t=>{n=n!=null?n:window,n.addEventListener(e,o,r),t(()=>n.removeEventListener(e,o,r))})}export{E as useEventListener};\n","import{ref as a}from\"vue\";import{useWindowEvent as t}from'./use-window-event.js';var d=(r=>(r[r.Forwards=0]=\"Forwards\",r[r.Backwards=1]=\"Backwards\",r))(d||{});function n(){let o=a(0);return t(\"keydown\",e=>{e.key===\"Tab\"&&(o.value=e.shiftKey?1:0)}),o}export{d as Direction,n as useTabDirection};\n","import{computed as L,defineComponent as I,Fragment as j,h as R,onMounted as M,onUnmounted as h,ref as E,watch as g,watchEffect as K}from\"vue\";import{useEventListener as U}from'../../hooks/use-event-listener.js';import{Direction as y,useTabDirection as _}from'../../hooks/use-tab-direction.js';import{Features as k,Hidden as D}from'../../internal/hidden.js';import{history as C}from'../../utils/active-element-history.js';import{dom as c}from'../../utils/dom.js';import{Focus as v,focusElement as p,focusIn as b,FocusResult as q}from'../../utils/focus-management.js';import{match as P}from'../../utils/match.js';import{microTask as S}from'../../utils/micro-task.js';import{getOwnerDocument as x}from'../../utils/owner.js';import{render as G}from'../../utils/render.js';function B(t){if(!t)return new Set;if(typeof t==\"function\")return new Set(t());let n=new Set;for(let r of t.value){let l=c(r);l instanceof HTMLElement&&n.add(l)}return n}var A=(e=>(e[e.None=1]=\"None\",e[e.InitialFocus=2]=\"InitialFocus\",e[e.TabLock=4]=\"TabLock\",e[e.FocusLock=8]=\"FocusLock\",e[e.RestoreFocus=16]=\"RestoreFocus\",e[e.All=30]=\"All\",e))(A||{});let ue=Object.assign(I({name:\"FocusTrap\",props:{as:{type:[Object,String],default:\"div\"},initialFocus:{type:Object,default:null},features:{type:Number,default:30},containers:{type:[Object,Function],default:E(new Set)}},inheritAttrs:!1,setup(t,{attrs:n,slots:r,expose:l}){let o=E(null);l({el:o,$el:o});let i=L(()=>x(o)),e=E(!1);M(()=>e.value=!0),h(()=>e.value=!1),$({ownerDocument:i},L(()=>e.value&&Boolean(t.features&16)));let m=z({ownerDocument:i,container:o,initialFocus:L(()=>t.initialFocus)},L(()=>e.value&&Boolean(t.features&2)));J({ownerDocument:i,container:o,containers:t.containers,previousActiveElement:m},L(()=>e.value&&Boolean(t.features&8)));let f=_();function a(u){let T=c(o);if(!T)return;(w=>w())(()=>{P(f.value,{[y.Forwards]:()=>{b(T,v.First,{skipElements:[u.relatedTarget]})},[y.Backwards]:()=>{b(T,v.Last,{skipElements:[u.relatedTarget]})}})})}let s=E(!1);function F(u){u.key===\"Tab\"&&(s.value=!0,requestAnimationFrame(()=>{s.value=!1}))}function H(u){if(!e.value)return;let T=B(t.containers);c(o)instanceof HTMLElement&&T.add(c(o));let d=u.relatedTarget;d instanceof HTMLElement&&d.dataset.headlessuiFocusGuard!==\"true\"&&(N(T,d)||(s.value?b(c(o),P(f.value,{[y.Forwards]:()=>v.Next,[y.Backwards]:()=>v.Previous})|v.WrapAround,{relativeTo:u.target}):u.target instanceof HTMLElement&&p(u.target)))}return()=>{let u={},T={ref:o,onKeydown:F,onFocusout:H},{features:d,initialFocus:w,containers:Q,...O}=t;return R(j,[Boolean(d&4)&&R(D,{as:\"button\",type:\"button\",\"data-headlessui-focus-guard\":!0,onFocus:a,features:k.Focusable}),G({ourProps:T,theirProps:{...n,...O},slot:u,attrs:n,slots:r,name:\"FocusTrap\"}),Boolean(d&4)&&R(D,{as:\"button\",type:\"button\",\"data-headlessui-focus-guard\":!0,onFocus:a,features:k.Focusable})])}}}),{features:A});function W(t){let n=E(C.slice());return g([t],([r],[l])=>{l===!0&&r===!1?S(()=>{n.value.splice(0)}):l===!1&&r===!0&&(n.value=C.slice())},{flush:\"post\"}),()=>{var r;return(r=n.value.find(l=>l!=null&&l.isConnected))!=null?r:null}}function $({ownerDocument:t},n){let r=W(n);M(()=>{K(()=>{var l,o;n.value||((l=t.value)==null?void 0:l.activeElement)===((o=t.value)==null?void 0:o.body)&&p(r())},{flush:\"post\"})}),h(()=>{n.value&&p(r())})}function z({ownerDocument:t,container:n,initialFocus:r},l){let o=E(null),i=E(!1);return M(()=>i.value=!0),h(()=>i.value=!1),M(()=>{g([n,r,l],(e,m)=>{if(e.every((a,s)=>(m==null?void 0:m[s])===a)||!l.value)return;let f=c(n);f&&S(()=>{var F,H;if(!i.value)return;let a=c(r),s=(F=t.value)==null?void 0:F.activeElement;if(a){if(a===s){o.value=s;return}}else if(f.contains(s)){o.value=s;return}a?p(a):b(f,v.First|v.NoScroll)===q.Error&&console.warn(\"There are no focusable elements inside the <FocusTrap />\"),o.value=(H=t.value)==null?void 0:H.activeElement})},{immediate:!0,flush:\"post\"})}),o}function J({ownerDocument:t,container:n,containers:r,previousActiveElement:l},o){var i;U((i=t.value)==null?void 0:i.defaultView,\"focus\",e=>{if(!o.value)return;let m=B(r);c(n)instanceof HTMLElement&&m.add(c(n));let f=l.value;if(!f)return;let a=e.target;a&&a instanceof HTMLElement?N(m,a)?(l.value=a,p(a)):(e.preventDefault(),e.stopPropagation(),p(f)):p(l.value)},!0)}function N(t,n){for(let r of t)if(r.contains(n))return!0;return!1}export{ue as FocusTrap};\n","import{onUnmounted as o,shallowRef as n}from\"vue\";function m(t){let e=n(t.getSnapshot());return o(t.subscribe(()=>{e.value=t.getSnapshot()})),e}export{m as useStore};\n","function a(o,r){let t=o(),n=new Set;return{getSnapshot(){return t},subscribe(e){return n.add(e),()=>n.delete(e)},dispatch(e,...s){let i=r[e].call(t,...s);i&&(t=i,n.forEach(c=>c()))}}}export{a as createStore};\n","function c(){let o;return{before({doc:e}){var l;let n=e.documentElement;o=((l=e.defaultView)!=null?l:window).innerWidth-n.clientWidth},after({doc:e,d:n}){let t=e.documentElement,l=t.clientWidth-t.offsetWidth,r=o-l;n.style(t,\"paddingRight\",`${r}px`)}}}export{c as adjustScrollbarPadding};\n","import{disposables as m}from'../../utils/disposables.js';import{isIOS as u}from'../../utils/platform.js';function w(){return u()?{before({doc:r,d:n,meta:c}){function a(o){return c.containers.flatMap(l=>l()).some(l=>l.contains(o))}n.microTask(()=>{var s;if(window.getComputedStyle(r.documentElement).scrollBehavior!==\"auto\"){let t=m();t.style(r.documentElement,\"scrollBehavior\",\"auto\"),n.add(()=>n.microTask(()=>t.dispose()))}let o=(s=window.scrollY)!=null?s:window.pageYOffset,l=null;n.addEventListener(r,\"click\",t=>{if(t.target instanceof HTMLElement)try{let e=t.target.closest(\"a\");if(!e)return;let{hash:f}=new URL(e.href),i=r.querySelector(f);i&&!a(i)&&(l=i)}catch{}},!0),n.addEventListener(r,\"touchstart\",t=>{if(t.target instanceof HTMLElement)if(a(t.target)){let e=t.target;for(;e.parentElement&&a(e.parentElement);)e=e.parentElement;n.style(e,\"overscrollBehavior\",\"contain\")}else n.style(t.target,\"touchAction\",\"none\")}),n.addEventListener(r,\"touchmove\",t=>{if(t.target instanceof HTMLElement){if(t.target.tagName===\"INPUT\")return;if(a(t.target)){let e=t.target;for(;e.parentElement&&e.dataset.headlessuiPortal!==\"\"&&!(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth);)e=e.parentElement;e.dataset.headlessuiPortal===\"\"&&t.preventDefault()}else t.preventDefault()}},{passive:!1}),n.add(()=>{var e;let t=(e=window.scrollY)!=null?e:window.pageYOffset;o!==t&&window.scrollTo(0,o),l&&l.isConnected&&(l.scrollIntoView({block:\"nearest\"}),l=null)})})}}:{}}export{w as handleIOSLocking};\n","function l(){return{before({doc:e,d:o}){o.style(e.documentElement,\"overflow\",\"hidden\")}}}export{l as preventScroll};\n","import{disposables as s}from'../../utils/disposables.js';import{createStore as i}from'../../utils/store.js';import{adjustScrollbarPadding as l}from'./adjust-scrollbar-padding.js';import{handleIOSLocking as d}from'./handle-ios-locking.js';import{preventScroll as p}from'./prevent-scroll.js';function m(e){let n={};for(let t of e)Object.assign(n,t(n));return n}let a=i(()=>new Map,{PUSH(e,n){var o;let t=(o=this.get(e))!=null?o:{doc:e,count:0,d:s(),meta:new Set};return t.count++,t.meta.add(n),this.set(e,t),this},POP(e,n){let t=this.get(e);return t&&(t.count--,t.meta.delete(n)),this},SCROLL_PREVENT({doc:e,d:n,meta:t}){let o={doc:e,d:n,meta:m(t)},c=[d(),l(),p()];c.forEach(({before:r})=>r==null?void 0:r(o)),c.forEach(({after:r})=>r==null?void 0:r(o))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});a.subscribe(()=>{let e=a.getSnapshot(),n=new Map;for(let[t]of e)n.set(t,t.documentElement.style.overflow);for(let t of e.values()){let o=n.get(t.doc)===\"hidden\",c=t.count!==0;(c&&!o||!c&&o)&&a.dispatch(t.count>0?\"SCROLL_PREVENT\":\"SCROLL_ALLOW\",t),t.count===0&&a.dispatch(\"TEARDOWN\",t)}});export{a as overflows};\n","import{computed as p,watch as s}from\"vue\";import{useStore as v}from'../../hooks/use-store.js';import{overflows as u}from'./overflow-store.js';function d(t,a,n){let i=v(u),l=p(()=>{let e=t.value?i.value.get(t.value):void 0;return e?e.count>0:!1});return s([t,a],([e,m],[r],o)=>{if(!e||!m)return;u.dispatch(\"PUSH\",e,n);let f=!1;o(()=>{f||(u.dispatch(\"POP\",r!=null?r:e,n),f=!0)})},{immediate:!0}),l}export{d as useDocumentOverflowLockedEffect};\n","import{ref as m,watchEffect as s}from\"vue\";import{dom as h}from'../utils/dom.js';let i=new Map,t=new Map;function E(d,f=m(!0)){s(o=>{var a;if(!f.value)return;let e=h(d);if(!e)return;o(function(){var u;if(!e)return;let r=(u=t.get(e))!=null?u:1;if(r===1?t.delete(e):t.set(e,r-1),r!==1)return;let n=i.get(e);n&&(n[\"aria-hidden\"]===null?e.removeAttribute(\"aria-hidden\"):e.setAttribute(\"aria-hidden\",n[\"aria-hidden\"]),e.inert=n.inert,i.delete(e))});let l=(a=t.get(e))!=null?a:0;t.set(e,l+1),l===0&&(i.set(e,{\"aria-hidden\":e.getAttribute(\"aria-hidden\"),inert:e.inert}),e.setAttribute(\"aria-hidden\",\"true\"),e.inert=!0)})}export{E as useInert};\n","import{h as m,ref as s}from\"vue\";import{Features as d,Hidden as c}from'../internal/hidden.js';import{dom as T}from'../utils/dom.js';import{getOwnerDocument as E}from'../utils/owner.js';function N({defaultContainers:o=[],portals:i,mainTreeNodeRef:H}={}){let t=s(null),r=E(t);function u(){var l,f,a;let n=[];for(let e of o)e!==null&&(e instanceof HTMLElement?n.push(e):\"value\"in e&&e.value instanceof HTMLElement&&n.push(e.value));if(i!=null&&i.value)for(let e of i.value)n.push(e);for(let e of(l=r==null?void 0:r.querySelectorAll(\"html > *, body > *\"))!=null?l:[])e!==document.body&&e!==document.head&&e instanceof HTMLElement&&e.id!==\"headlessui-portal-root\"&&(e.contains(T(t))||e.contains((a=(f=T(t))==null?void 0:f.getRootNode())==null?void 0:a.host)||n.some(M=>e.contains(M))||n.push(e));return n}return{resolveContainers:u,contains(n){return u().some(l=>l.contains(n))},mainTreeNodeRef:t,MainTreeNode(){return H!=null?null:m(c,{features:d.Hidden,ref:t})}}}function v(){let o=s(null);return{mainTreeNodeRef:o,MainTreeNode(){return m(c,{features:d.Hidden,ref:o})}}}export{v as useMainTreeNode,N as useRootContainers};\n","import{defineComponent as l,inject as a,provide as c}from\"vue\";import{render as p}from'../utils/render.js';let e=Symbol(\"ForcePortalRootContext\");function s(){return a(e,!1)}let u=l({name:\"ForcePortalRoot\",props:{as:{type:[Object,String],default:\"template\"},force:{type:Boolean,default:!1}},setup(o,{slots:t,attrs:r}){return c(e,o.force),()=>{let{force:f,...n}=o;return p({theirProps:n,ourProps:{},slot:{},slots:t,attrs:r,name:\"ForcePortalRoot\"})}}});export{u as ForcePortalRoot,s as usePortalRoot};\n","import{inject as f,onMounted as m,onUnmounted as l,provide as c,watch as p}from\"vue\";let u=Symbol(\"StackContext\");var s=(e=>(e[e.Add=0]=\"Add\",e[e.Remove=1]=\"Remove\",e))(s||{});function y(){return f(u,()=>{})}function R({type:o,enabled:r,element:e,onUpdate:i}){let a=y();function t(...n){i==null||i(...n),a(...n)}m(()=>{p(r,(n,d)=>{n?t(0,o,e):d===!0&&t(1,o,e)},{immediate:!0,flush:\"sync\"})}),l(()=>{r.value&&t(1,o,e)}),c(u,t)}export{s as StackMessage,y as useStackContext,R as useStackProvider};\n","import{computed as x,defineComponent as y,inject as R,onMounted as v,onUnmounted as D,provide as j,ref as p,unref as C}from\"vue\";import{useId as h}from'../../hooks/use-id.js';import{render as b}from'../../utils/render.js';let u=Symbol(\"DescriptionContext\");function w(){let t=R(u,null);if(t===null)throw new Error(\"Missing parent\");return t}function k({slot:t=p({}),name:o=\"Description\",props:s={}}={}){let e=p([]);function r(n){return e.value.push(n),()=>{let i=e.value.indexOf(n);i!==-1&&e.value.splice(i,1)}}return j(u,{register:r,slot:t,name:o,props:s}),x(()=>e.value.length>0?e.value.join(\" \"):void 0)}let K=y({name:\"Description\",props:{as:{type:[Object,String],default:\"p\"},id:{type:String,default:null}},setup(t,{attrs:o,slots:s}){var n;let e=(n=t.id)!=null?n:`headlessui-description-${h()}`,r=w();return v(()=>D(r.register(e))),()=>{let{name:i=\"Description\",slot:l=p({}),props:d={}}=r,{...c}=t,f={...Object.entries(d).reduce((a,[g,m])=>Object.assign(a,{[g]:C(m)}),{}),id:e};return b({ourProps:f,theirProps:c,slot:l.value,attrs:o,slots:s,name:i})}}});export{K as Description,k as useDescriptions};\n","import{computed as w,defineComponent as m,getCurrentInstance as j,h as I,inject as s,onMounted as R,onUnmounted as y,provide as E,reactive as G,ref as p,Teleport as O,watch as D,watchEffect as K}from\"vue\";import{usePortalRoot as S}from'../../internal/portal-force-root.js';import{dom as B}from'../../utils/dom.js';import{getOwnerDocument as C}from'../../utils/owner.js';import{render as h}from'../../utils/render.js';function x(e){let t=C(e);if(!t){if(e===null)return null;throw new Error(`[Headless UI]: Cannot find ownerDocument for contextElement: ${e}`)}let l=t.getElementById(\"headlessui-portal-root\");if(l)return l;let r=t.createElement(\"div\");return r.setAttribute(\"id\",\"headlessui-portal-root\"),t.body.appendChild(r)}const f=new WeakMap;function U(e){var t;return(t=f.get(e))!=null?t:0}function M(e,t){let l=t(U(e));return l<=0?f.delete(e):f.set(e,l),l}let $=m({name:\"Portal\",props:{as:{type:[Object,String],default:\"div\"}},setup(e,{slots:t,attrs:l}){let r=p(null),i=w(()=>C(r)),o=S(),u=s(H,null),n=p(o===!0||u==null?x(r.value):u.resolveTarget());n.value&&M(n.value,a=>a+1);let c=p(!1);R(()=>{c.value=!0}),K(()=>{o||u!=null&&(n.value=u.resolveTarget())});let v=s(d,null),g=!1,b=j();return D(r,()=>{if(g||!v)return;let a=B(r);a&&(y(v.register(a),b),g=!0)}),y(()=>{var P,T;let a=(P=i.value)==null?void 0:P.getElementById(\"headlessui-portal-root\");!a||n.value!==a||M(n.value,L=>L-1)||n.value.children.length>0||(T=n.value.parentElement)==null||T.removeChild(n.value)}),()=>{if(!c.value||n.value===null)return null;let a={ref:r,\"data-headlessui-portal\":\"\"};return I(O,{to:n.value},h({ourProps:a,theirProps:e,slot:{},attrs:l,slots:t,name:\"Portal\"}))}}}),d=Symbol(\"PortalParentContext\");function q(){let e=s(d,null),t=p([]);function l(o){return t.value.push(o),e&&e.register(o),()=>r(o)}function r(o){let u=t.value.indexOf(o);u!==-1&&t.value.splice(u,1),e&&e.unregister(o)}let i={register:l,unregister:r,portals:t};return[t,m({name:\"PortalWrapper\",setup(o,{slots:u}){return E(d,i),()=>{var n;return(n=u.default)==null?void 0:n.call(u)}}})]}let H=Symbol(\"PortalGroupContext\"),z=m({name:\"PortalGroup\",props:{as:{type:[Object,String],default:\"template\"},target:{type:Object,default:null}},setup(e,{attrs:t,slots:l}){let r=G({resolveTarget(){return e.target}});return E(H,r),()=>{let{target:i,...o}=e;return h({theirProps:o,ourProps:{},slot:{},attrs:t,slots:l,name:\"PortalGroup\"})}}});export{$ as Portal,z as PortalGroup,q as useNestedPortals};\n","import{computed as o,defineComponent as O,h as v,inject as Y,nextTick as se,onMounted as $,onUnmounted as pe,provide as de,ref as y,watchEffect as fe}from\"vue\";import{FocusTrap as P}from'../../components/focus-trap/focus-trap.js';import{useDocumentOverflowLockedEffect as ge}from'../../hooks/document-overflow/use-document-overflow.js';import{useEventListener as ce}from'../../hooks/use-event-listener.js';import{useId as b}from'../../hooks/use-id.js';import{useInert as _}from'../../hooks/use-inert.js';import{useOutsideClick as ve}from'../../hooks/use-outside-click.js';import{useRootContainers as me}from'../../hooks/use-root-containers.js';import{State as I,useOpenClosed as De}from'../../internal/open-closed.js';import{ForcePortalRoot as F}from'../../internal/portal-force-root.js';import{StackMessage as z,useStackProvider as ye}from'../../internal/stack-context.js';import{Keys as Se}from'../../keyboard.js';import{dom as j}from'../../utils/dom.js';import{match as G}from'../../utils/match.js';import{getOwnerDocument as he}from'../../utils/owner.js';import{Features as V,render as C}from'../../utils/render.js';import{Description as Oe,useDescriptions as Pe}from'../description/description.js';import{Portal as J,PortalGroup as be,useNestedPortals as Ce}from'../portal/portal.js';var Te=(l=>(l[l.Open=0]=\"Open\",l[l.Closed=1]=\"Closed\",l))(Te||{});let H=Symbol(\"DialogContext\");function T(t){let i=Y(H,null);if(i===null){let l=new Error(`<${t} /> is missing a parent <Dialog /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(l,T),l}return i}let A=\"DC8F892D-2EBD-447C-A4C8-A03058436FF4\",Ye=O({name:\"Dialog\",inheritAttrs:!1,props:{as:{type:[Object,String],default:\"div\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},open:{type:[Boolean,String],default:A},initialFocus:{type:Object,default:null},id:{type:String,default:null},role:{type:String,default:\"dialog\"}},emits:{close:t=>!0},setup(t,{emit:i,attrs:l,slots:p,expose:s}){var q,W;let n=(q=t.id)!=null?q:`headlessui-dialog-${b()}`,u=y(!1);$(()=>{u.value=!0});let r=!1,g=o(()=>t.role===\"dialog\"||t.role===\"alertdialog\"?t.role:(r||(r=!0,console.warn(`Invalid role [${g}] passed to <Dialog />. Only \\`dialog\\` and and \\`alertdialog\\` are supported. Using \\`dialog\\` instead.`)),\"dialog\")),D=y(0),S=De(),R=o(()=>t.open===A&&S!==null?(S.value&I.Open)===I.Open:t.open),m=y(null),E=o(()=>he(m));if(s({el:m,$el:m}),!(t.open!==A||S!==null))throw new Error(\"You forgot to provide an `open` prop to the `Dialog`.\");if(typeof R.value!=\"boolean\")throw new Error(`You provided an \\`open\\` prop to the \\`Dialog\\`, but the value is not a boolean. Received: ${R.value===A?void 0:t.open}`);let c=o(()=>u.value&&R.value?0:1),k=o(()=>c.value===0),w=o(()=>D.value>1),N=Y(H,null)!==null,[Q,X]=Ce(),{resolveContainers:B,mainTreeNodeRef:K,MainTreeNode:Z}=me({portals:Q,defaultContainers:[o(()=>{var e;return(e=h.panelRef.value)!=null?e:m.value})]}),ee=o(()=>w.value?\"parent\":\"leaf\"),U=o(()=>S!==null?(S.value&I.Closing)===I.Closing:!1),te=o(()=>N||U.value?!1:k.value),le=o(()=>{var e,a,d;return(d=Array.from((a=(e=E.value)==null?void 0:e.querySelectorAll(\"body > *\"))!=null?a:[]).find(f=>f.id===\"headlessui-portal-root\"?!1:f.contains(j(K))&&f instanceof HTMLElement))!=null?d:null});_(le,te);let ae=o(()=>w.value?!0:k.value),oe=o(()=>{var e,a,d;return(d=Array.from((a=(e=E.value)==null?void 0:e.querySelectorAll(\"[data-headlessui-portal]\"))!=null?a:[]).find(f=>f.contains(j(K))&&f instanceof HTMLElement))!=null?d:null});_(oe,ae),ye({type:\"Dialog\",enabled:o(()=>c.value===0),element:m,onUpdate:(e,a)=>{if(a===\"Dialog\")return G(e,{[z.Add]:()=>D.value+=1,[z.Remove]:()=>D.value-=1})}});let re=Pe({name:\"DialogDescription\",slot:o(()=>({open:R.value}))}),M=y(null),h={titleId:M,panelRef:y(null),dialogState:c,setTitleId(e){M.value!==e&&(M.value=e)},close(){i(\"close\",!1)}};de(H,h);let ne=o(()=>!(!k.value||w.value));ve(B,(e,a)=>{e.preventDefault(),h.close(),se(()=>a==null?void 0:a.focus())},ne);let ie=o(()=>!(w.value||c.value!==0));ce((W=E.value)==null?void 0:W.defaultView,\"keydown\",e=>{ie.value&&(e.defaultPrevented||e.key===Se.Escape&&(e.preventDefault(),e.stopPropagation(),h.close()))});let ue=o(()=>!(U.value||c.value!==0||N));return ge(E,ue,e=>{var a;return{containers:[...(a=e.containers)!=null?a:[],B]}}),fe(e=>{if(c.value!==0)return;let a=j(m);if(!a)return;let d=new ResizeObserver(f=>{for(let L of f){let x=L.target.getBoundingClientRect();x.x===0&&x.y===0&&x.width===0&&x.height===0&&h.close()}});d.observe(a),e(()=>d.disconnect())}),()=>{let{open:e,initialFocus:a,...d}=t,f={...l,ref:m,id:n,role:g.value,\"aria-modal\":c.value===0?!0:void 0,\"aria-labelledby\":M.value,\"aria-describedby\":re.value},L={open:c.value===0};return v(F,{force:!0},()=>[v(J,()=>v(be,{target:m.value},()=>v(F,{force:!1},()=>v(P,{initialFocus:a,containers:B,features:k.value?G(ee.value,{parent:P.features.RestoreFocus,leaf:P.features.All&~P.features.FocusLock}):P.features.None},()=>v(X,{},()=>C({ourProps:f,theirProps:{...d,...l},slot:L,attrs:l,slots:p,visible:c.value===0,features:V.RenderStrategy|V.Static,name:\"Dialog\"})))))),v(Z)])}}}),_e=O({name:\"DialogOverlay\",props:{as:{type:[Object,String],default:\"div\"},id:{type:String,default:null}},setup(t,{attrs:i,slots:l}){var u;let p=(u=t.id)!=null?u:`headlessui-dialog-overlay-${b()}`,s=T(\"DialogOverlay\");function n(r){r.target===r.currentTarget&&(r.preventDefault(),r.stopPropagation(),s.close())}return()=>{let{...r}=t;return C({ourProps:{id:p,\"aria-hidden\":!0,onClick:n},theirProps:r,slot:{open:s.dialogState.value===0},attrs:i,slots:l,name:\"DialogOverlay\"})}}}),ze=O({name:\"DialogBackdrop\",props:{as:{type:[Object,String],default:\"div\"},id:{type:String,default:null}},inheritAttrs:!1,setup(t,{attrs:i,slots:l,expose:p}){var r;let s=(r=t.id)!=null?r:`headlessui-dialog-backdrop-${b()}`,n=T(\"DialogBackdrop\"),u=y(null);return p({el:u,$el:u}),$(()=>{if(n.panelRef.value===null)throw new Error(\"A <DialogBackdrop /> component is being used, but a <DialogPanel /> component is missing.\")}),()=>{let{...g}=t,D={id:s,ref:u,\"aria-hidden\":!0};return v(F,{force:!0},()=>v(J,()=>C({ourProps:D,theirProps:{...i,...g},slot:{open:n.dialogState.value===0},attrs:i,slots:l,name:\"DialogBackdrop\"})))}}}),Ge=O({name:\"DialogPanel\",props:{as:{type:[Object,String],default:\"div\"},id:{type:String,default:null}},setup(t,{attrs:i,slots:l,expose:p}){var r;let s=(r=t.id)!=null?r:`headlessui-dialog-panel-${b()}`,n=T(\"DialogPanel\");p({el:n.panelRef,$el:n.panelRef});function u(g){g.stopPropagation()}return()=>{let{...g}=t,D={id:s,ref:n.panelRef,onClick:u};return C({ourProps:D,theirProps:g,slot:{open:n.dialogState.value===0},attrs:i,slots:l,name:\"DialogPanel\"})}}}),Ve=O({name:\"DialogTitle\",props:{as:{type:[Object,String],default:\"h2\"},id:{type:String,default:null}},setup(t,{attrs:i,slots:l}){var n;let p=(n=t.id)!=null?n:`headlessui-dialog-title-${b()}`,s=T(\"DialogTitle\");return $(()=>{s.setTitleId(p),pe(()=>s.setTitleId(null))}),()=>{let{...u}=t;return C({ourProps:{id:p},theirProps:u,slot:{open:s.dialogState.value===0},attrs:i,slots:l,name:\"DialogTitle\"})}}}),Je=Oe;export{Ye as Dialog,ze as DialogBackdrop,Je as DialogDescription,_e as DialogOverlay,Ge as DialogPanel,Ve as DialogTitle};\n","function l(r){let e={called:!1};return(...t)=>{if(!e.called)return e.called=!0,r(...t)}}export{l as once};\n","import{disposables as p}from'../../../utils/disposables.js';import{once as f}from'../../../utils/once.js';function m(e,...t){e&&t.length>0&&e.classList.add(...t)}function d(e,...t){e&&t.length>0&&e.classList.remove(...t)}var g=(i=>(i.Finished=\"finished\",i.Cancelled=\"cancelled\",i))(g||{});function F(e,t){let i=p();if(!e)return i.dispose;let{transitionDuration:n,transitionDelay:a}=getComputedStyle(e),[l,s]=[n,a].map(o=>{let[u=0]=o.split(\",\").filter(Boolean).map(r=>r.includes(\"ms\")?parseFloat(r):parseFloat(r)*1e3).sort((r,c)=>c-r);return u});return l!==0?i.setTimeout(()=>t(\"finished\"),l+s):t(\"finished\"),i.add(()=>t(\"cancelled\")),i.dispose}function L(e,t,i,n,a,l){let s=p(),o=l!==void 0?f(l):()=>{};return d(e,...a),m(e,...t,...i),s.nextFrame(()=>{d(e,...i),m(e,...n),s.add(F(e,u=>(d(e,...n,...t),m(e,...a),o(u))))}),s.add(()=>d(e,...t,...i,...n,...a)),s.add(()=>o(\"cancelled\")),s.dispose}export{g as Reason,L as transition};\n","import{computed as w,defineComponent as K,h as k,inject as F,normalizeClass as ae,onMounted as C,onUnmounted as z,provide as B,ref as m,watch as le,watchEffect as x}from\"vue\";import{useId as ie}from'../../hooks/use-id.js';import{hasOpenClosed as se,State as u,useOpenClosed as oe,useOpenClosedProvider as ue}from'../../internal/open-closed.js';import{dom as $}from'../../utils/dom.js';import{env as fe}from'../../utils/env.js';import{match as O}from'../../utils/match.js';import{Features as de,omit as ve,render as q,RenderStrategy as T}from'../../utils/render.js';import{Reason as G,transition as J}from'./utils/transition.js';function g(e=\"\"){return e.split(/\\s+/).filter(t=>t.length>1)}let R=Symbol(\"TransitionContext\");var pe=(a=>(a.Visible=\"visible\",a.Hidden=\"hidden\",a))(pe||{});function me(){return F(R,null)!==null}function Te(){let e=F(R,null);if(e===null)throw new Error(\"A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.\");return e}function ge(){let e=F(N,null);if(e===null)throw new Error(\"A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.\");return e}let N=Symbol(\"NestingContext\");function L(e){return\"children\"in e?L(e.children):e.value.filter(({state:t})=>t===\"visible\").length>0}function Q(e){let t=m([]),a=m(!1);C(()=>a.value=!0),z(()=>a.value=!1);function s(n,r=T.Hidden){let l=t.value.findIndex(({id:f})=>f===n);l!==-1&&(O(r,{[T.Unmount](){t.value.splice(l,1)},[T.Hidden](){t.value[l].state=\"hidden\"}}),!L(t)&&a.value&&(e==null||e()))}function h(n){let r=t.value.find(({id:l})=>l===n);return r?r.state!==\"visible\"&&(r.state=\"visible\"):t.value.push({id:n,state:\"visible\"}),()=>s(n,T.Unmount)}return{children:t,register:h,unregister:s}}let W=de.RenderStrategy,he=K({props:{as:{type:[Object,String],default:\"div\"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:\"\"},enterFrom:{type:[String],default:\"\"},enterTo:{type:[String],default:\"\"},entered:{type:[String],default:\"\"},leave:{type:[String],default:\"\"},leaveFrom:{type:[String],default:\"\"},leaveTo:{type:[String],default:\"\"}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s,expose:h}){let n=m(0);function r(){n.value|=u.Opening,t(\"beforeEnter\")}function l(){n.value&=~u.Opening,t(\"afterEnter\")}function f(){n.value|=u.Closing,t(\"beforeLeave\")}function S(){n.value&=~u.Closing,t(\"afterLeave\")}if(!me()&&se())return()=>k(Se,{...e,onBeforeEnter:r,onAfterEnter:l,onBeforeLeave:f,onAfterLeave:S},s);let d=m(null),y=w(()=>e.unmount?T.Unmount:T.Hidden);h({el:d,$el:d});let{show:v,appear:A}=Te(),{register:D,unregister:H}=ge(),i=m(v.value?\"visible\":\"hidden\"),I={value:!0},c=ie(),b={value:!1},P=Q(()=>{!b.value&&i.value!==\"hidden\"&&(i.value=\"hidden\",H(c),S())});C(()=>{let o=D(c);z(o)}),x(()=>{if(y.value===T.Hidden&&c){if(v.value&&i.value!==\"visible\"){i.value=\"visible\";return}O(i.value,{[\"hidden\"]:()=>H(c),[\"visible\"]:()=>D(c)})}});let j=g(e.enter),M=g(e.enterFrom),X=g(e.enterTo),_=g(e.entered),Y=g(e.leave),Z=g(e.leaveFrom),ee=g(e.leaveTo);C(()=>{x(()=>{if(i.value===\"visible\"){let o=$(d);if(o instanceof Comment&&o.data===\"\")throw new Error(\"Did you forget to passthrough the `ref` to the actual DOM node?\")}})});function te(o){let E=I.value&&!A.value,p=$(d);!p||!(p instanceof HTMLElement)||E||(b.value=!0,v.value&&r(),v.value||f(),o(v.value?J(p,j,M,X,_,V=>{b.value=!1,V===G.Finished&&l()}):J(p,Y,Z,ee,_,V=>{b.value=!1,V===G.Finished&&(L(P)||(i.value=\"hidden\",H(c),S()))})))}return C(()=>{le([v],(o,E,p)=>{te(p),I.value=!1},{immediate:!0})}),B(N,P),ue(w(()=>O(i.value,{[\"visible\"]:u.Open,[\"hidden\"]:u.Closed})|n.value)),()=>{let{appear:o,show:E,enter:p,enterFrom:V,enterTo:Ce,entered:ye,leave:be,leaveFrom:Ee,leaveTo:Ve,...U}=e,ne={ref:d},re={...U,...A.value&&v.value&&fe.isServer?{class:ae([a.class,U.class,...j,...M])}:{}};return q({theirProps:re,ourProps:ne,slot:{},slots:s,attrs:a,features:W,visible:i.value===\"visible\",name:\"TransitionChild\"})}}}),ce=he,Se=K({inheritAttrs:!1,props:{as:{type:[Object,String],default:\"div\"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:\"\"},enterFrom:{type:[String],default:\"\"},enterTo:{type:[String],default:\"\"},entered:{type:[String],default:\"\"},leave:{type:[String],default:\"\"},leaveFrom:{type:[String],default:\"\"},leaveTo:{type:[String],default:\"\"}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s}){let h=oe(),n=w(()=>e.show===null&&h!==null?(h.value&u.Open)===u.Open:e.show);x(()=>{if(![!0,!1].includes(n.value))throw new Error('A <Transition /> is used but it is missing a `:show=\"true | false\"` prop.')});let r=m(n.value?\"visible\":\"hidden\"),l=Q(()=>{r.value=\"hidden\"}),f=m(!0),S={show:n,appear:w(()=>e.appear||!f.value)};return C(()=>{x(()=>{f.value=!1,n.value?r.value=\"visible\":L(l)||(r.value=\"hidden\")})}),B(N,l),B(R,S),()=>{let d=ve(e,[\"show\",\"appear\",\"unmount\",\"onBeforeEnter\",\"onBeforeLeave\",\"onAfterEnter\",\"onAfterLeave\"]),y={unmount:e.unmount};return q({ourProps:{...y,as:\"template\"},theirProps:{},slot:{},slots:{...s,default:()=>[k(ce,{onBeforeEnter:()=>t(\"beforeEnter\"),onAfterEnter:()=>t(\"afterEnter\"),onBeforeLeave:()=>t(\"beforeLeave\"),onAfterLeave:()=>t(\"afterLeave\"),...a,...y,...d},s.default)]},attrs:{},features:W,visible:r.value===\"visible\",name:\"Transition\"})}}});export{he as TransitionChild,Se as TransitionRoot};\n","/**\n * useScrollLock — общий **reference-counted** lock скролла `<body>` для оверлеев\n * (GrModal, GrDrawer, GrImageViewer).\n *\n * Зачем счётчик: раньше каждый оверлей хранил `savedBodyOverflow` per-instance и\n * восстанавливал `overflow` при СВОЁМ закрытии. Если открыты A, затем B, и первым\n * закрывают A — body получал `overflow: ''` при ещё открытой B (баг LIFO).\n * Здесь состояние `<body>` сохраняется один раз (при переходе счётчика 0→1) и\n * восстанавливается только когда закрыт последний оверлей (счётчик 1→0).\n *\n * Плюс компенсация ширины скроллбара: при `overflow: hidden` скроллбар исчезает и\n * контент дёргается вправо — добавляем `padding-right` на его ширину.\n */\n\ninterface SavedBodyStyle {\n overflow: string\n paddingRight: string\n}\n\nlet lockCount = 0\nlet saved: SavedBodyStyle | null = null\n\nfunction getScrollbarWidth(): number {\n return window.innerWidth - document.documentElement.clientWidth\n}\n\nfunction applyLock(): void {\n const body = document.body\n saved = { overflow: body.style.overflow, paddingRight: body.style.paddingRight }\n\n // Ширину скроллбара считаем ДО `overflow: hidden` (после — `clientWidth` меняется).\n const scrollbarWidth = getScrollbarWidth()\n\n body.style.overflow = 'hidden'\n if (scrollbarWidth > 0) {\n const currentPadding = Number.parseFloat(getComputedStyle(body).paddingRight) || 0\n body.style.paddingRight = `${currentPadding + scrollbarWidth}px`\n }\n}\n\nfunction releaseLock(): void {\n if (!saved) return\n document.body.style.overflow = saved.overflow\n document.body.style.paddingRight = saved.paddingRight\n saved = null\n}\n\n/**\n * Возвращает пару `lock`/`unlock`, идемпотентную **в пределах одного инстанса**\n * (повторный `lock()` без `unlock()` не увеличивает глобальный счётчик дважды).\n * Глобальный счётчик разделяется всеми оверлеями.\n */\nexport function useScrollLock() {\n const isClient = typeof window !== 'undefined'\n let held = false\n\n function lock(): void {\n if (!isClient || held) return\n held = true\n lockCount += 1\n if (lockCount === 1) applyLock()\n }\n\n function unlock(): void {\n if (!isClient || !held) return\n held = false\n lockCount = Math.max(0, lockCount - 1)\n if (lockCount === 0) releaseLock()\n }\n\n return { lock, unlock }\n}\n\n/** Тестовая/служебная очистка глобального состояния. */\nexport function resetScrollLock(): void {\n lockCount = 0\n if (typeof document !== 'undefined') releaseLock()\n saved = null\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as useGranularityTranslations } from "../../../chunks/granularityI18n-DoV7Ca2m.js";
|
|
2
2
|
import { t as GrButton_default } from "../../GrButton/chunks/GrButton-BlffdeJr.js";
|
|
3
|
-
import { t as GrDialog_default } from "../../GrDialog/chunks/GrDialog-
|
|
3
|
+
import { t as GrDialog_default } from "../../GrDialog/chunks/GrDialog-Ctucxju9.js";
|
|
4
4
|
import { t as GrResponseErrorBanner_default } from "../../GrResponseErrorBanner/chunks/GrResponseErrorBanner-Cdu9ekK9.js";
|
|
5
5
|
import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, renderSlot, toDisplayString, withCtx } from "vue";
|
|
6
6
|
//#region src/components/GrConfirmDialog/GrConfirmDialog.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GrConfirmDialog-BWYKCsHd.js","names":[],"sources":["../../../../src/components/GrConfirmDialog/GrConfirmDialog.vue","../../../../src/components/GrConfirmDialog/GrConfirmDialog.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * GrConfirmDialog — GR-примитив диалога подтверждения поверх `GrDialog`.\n *\n * Синхронизирован с `GrDialog`/`GrPromptDialog` по набору проп-проксирования:\n * `size`, `closeOnBackdrop`, `closeOnEsc`, `showHeader`, `showCloseButton`,\n * `headerConfig`, `footerConfig`, `bodyConfig`, `closeLabel`.\n *\n * Клик по «Confirm»/«Cancel» эмитит одноимённое событие и закрывает диалог\n * через `update:modelValue`.\n */\nimport { computed } from 'vue'\n\nimport GrButton from '../GrButton/GrButton.vue'\nimport GrDialog from '../GrDialog/GrDialog.vue'\nimport GrResponseErrorBanner from '../GrResponseErrorBanner/GrResponseErrorBanner.vue'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport type { GrButtonSize, GrButtonTone, GrButtonVariant } from '../GrButton'\nimport type { GrDialogSectionConfig, GrDialogSize } from '../GrDialog'\nimport type { ResponseErrorInfo } from '../GrResponseErrorBanner'\n\nexport interface GrConfirmDialogProps {\n modelValue: boolean\n title?: string\n description?: string\n closeOnBackdrop?: boolean\n closeOnEsc?: boolean\n showHeader?: boolean\n showCloseButton?: boolean\n size?: GrDialogSize\n headerConfig?: GrDialogSectionConfig\n footerConfig?: GrDialogSectionConfig\n bodyConfig?: GrDialogSectionConfig\n /** A11y-лейбл кнопки закрытия (i18n). */\n closeLabel?: string\n buttonSize?: GrButtonSize\n confirmText?: string\n cancelText?: string\n confirmVariant?: GrButtonVariant\n confirmTone?: GrButtonTone\n /**\n * Структура ошибки ответа сервера для показа в теле диалога\n * (через `GrResponseErrorBanner`). Используется императивным\n * `useDialogService` для async-`onConfirm`. `null` — блок скрыт.\n */\n error?: ResponseErrorInfo | null\n /** Состояние загрузки кнопки Confirm (async-`onConfirm` in-flight). */\n confirmLoading?: boolean\n /** Принудительно дизейблит кнопку Confirm. */\n confirmDisabled?: boolean\n /**\n * Закрывать ли диалог автоматически по клику Confirm. По умолчанию `true`\n * (историческое поведение). `false` — отдаёт управление закрытием наружу\n * (нужно `useDialogService`, который ждёт результат async-`onConfirm`).\n */\n closeOnConfirm?: boolean\n}\n\nconst props = withDefaults(defineProps<GrConfirmDialogProps>(), {\n title: undefined,\n description: undefined,\n closeOnBackdrop: true,\n closeOnEsc: true,\n showHeader: true,\n showCloseButton: true,\n size: 'md',\n headerConfig: undefined,\n footerConfig: undefined,\n bodyConfig: undefined,\n closeLabel: undefined,\n buttonSize: undefined,\n confirmText: undefined,\n cancelText: undefined,\n confirmVariant: 'primary',\n confirmTone: 'primary',\n error: null,\n confirmLoading: false,\n confirmDisabled: false,\n closeOnConfirm: true,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n (e: 'confirm'): void\n (e: 'cancel'): void\n}>()\n\n// Дефолты берём из общего i18n-блока пакета (fallback — англ.), а не хардкодим.\nconst { t } = useGranularityTranslations()\nconst resolvedTitle = computed(() => props.title ?? t('gr.dialog.confirm.title', 'Confirm'))\nconst resolvedCloseLabel = computed(() => props.closeLabel ?? t('gr.common.close', 'Close'))\nconst resolvedConfirmText = computed(() => props.confirmText ?? t('gr.common.confirm', 'Confirm'))\nconst resolvedCancelText = computed(() => props.cancelText ?? t('gr.common.cancel', 'Cancel'))\n\nconst open = computed({\n get: () => props.modelValue,\n set: (value: boolean) => emit('update:modelValue', value),\n})\n\nfunction onCancel(): void {\n emit('cancel')\n emit('update:modelValue', false)\n}\n\nfunction onConfirm(): void {\n emit('confirm')\n if (props.closeOnConfirm)\n emit('update:modelValue', false)\n}\n</script>\n\n<template>\n <GrDialog\n v-model=\"open\"\n :title=\"resolvedTitle\"\n :size=\"size\"\n :close-on-backdrop=\"closeOnBackdrop\"\n :close-on-esc=\"closeOnEsc\"\n :show-header=\"showHeader\"\n :show-close-button=\"showCloseButton\"\n :header-config=\"headerConfig\"\n :footer-config=\"footerConfig\"\n :body-config=\"bodyConfig\"\n :close-label=\"resolvedCloseLabel\"\n >\n <div class=\"grid gap-4\">\n <slot>\n <div v-if=\"description\" class=\"text-[14px] text-[var(--muted-fg)]\">\n {{ description }}\n </div>\n </slot>\n\n <slot name=\"error\" :error=\"error\">\n <GrResponseErrorBanner v-if=\"error\" :error=\"error\" :can-dismiss=\"false\" />\n </slot>\n </div>\n\n <template #footer>\n <slot name=\"footer\">\n <div class=\"flex items-center justify-end gap-3\">\n <GrButton data-testid=\"gr-confirm-cancel\" variant=\"outline\" :size=\"buttonSize\" @click=\"onCancel\">\n {{ resolvedCancelText }}\n </GrButton>\n <GrButton\n data-testid=\"gr-confirm-confirm\"\n :variant=\"confirmVariant\"\n :tone=\"confirmTone\"\n :size=\"buttonSize\"\n :loading=\"confirmLoading\"\n :disabled=\"confirmDisabled\"\n @click=\"onConfirm\"\n >\n {{ resolvedConfirmText }}\n </GrButton>\n </div>\n </slot>\n </template>\n </GrDialog>\n</template>\n","<script setup lang=\"ts\">\n/**\n * GrConfirmDialog — GR-примитив диалога подтверждения поверх `GrDialog`.\n *\n * Синхронизирован с `GrDialog`/`GrPromptDialog` по набору проп-проксирования:\n * `size`, `closeOnBackdrop`, `closeOnEsc`, `showHeader`, `showCloseButton`,\n * `headerConfig`, `footerConfig`, `bodyConfig`, `closeLabel`.\n *\n * Клик по «Confirm»/«Cancel» эмитит одноимённое событие и закрывает диалог\n * через `update:modelValue`.\n */\nimport { computed } from 'vue'\n\nimport GrButton from '../GrButton/GrButton.vue'\nimport GrDialog from '../GrDialog/GrDialog.vue'\nimport GrResponseErrorBanner from '../GrResponseErrorBanner/GrResponseErrorBanner.vue'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport type { GrButtonSize, GrButtonTone, GrButtonVariant } from '../GrButton'\nimport type { GrDialogSectionConfig, GrDialogSize } from '../GrDialog'\nimport type { ResponseErrorInfo } from '../GrResponseErrorBanner'\n\nexport interface GrConfirmDialogProps {\n modelValue: boolean\n title?: string\n description?: string\n closeOnBackdrop?: boolean\n closeOnEsc?: boolean\n showHeader?: boolean\n showCloseButton?: boolean\n size?: GrDialogSize\n headerConfig?: GrDialogSectionConfig\n footerConfig?: GrDialogSectionConfig\n bodyConfig?: GrDialogSectionConfig\n /** A11y-лейбл кнопки закрытия (i18n). */\n closeLabel?: string\n buttonSize?: GrButtonSize\n confirmText?: string\n cancelText?: string\n confirmVariant?: GrButtonVariant\n confirmTone?: GrButtonTone\n /**\n * Структура ошибки ответа сервера для показа в теле диалога\n * (через `GrResponseErrorBanner`). Используется императивным\n * `useDialogService` для async-`onConfirm`. `null` — блок скрыт.\n */\n error?: ResponseErrorInfo | null\n /** Состояние загрузки кнопки Confirm (async-`onConfirm` in-flight). */\n confirmLoading?: boolean\n /** Принудительно дизейблит кнопку Confirm. */\n confirmDisabled?: boolean\n /**\n * Закрывать ли диалог автоматически по клику Confirm. По умолчанию `true`\n * (историческое поведение). `false` — отдаёт управление закрытием наружу\n * (нужно `useDialogService`, который ждёт результат async-`onConfirm`).\n */\n closeOnConfirm?: boolean\n}\n\nconst props = withDefaults(defineProps<GrConfirmDialogProps>(), {\n title: undefined,\n description: undefined,\n closeOnBackdrop: true,\n closeOnEsc: true,\n showHeader: true,\n showCloseButton: true,\n size: 'md',\n headerConfig: undefined,\n footerConfig: undefined,\n bodyConfig: undefined,\n closeLabel: undefined,\n buttonSize: undefined,\n confirmText: undefined,\n cancelText: undefined,\n confirmVariant: 'primary',\n confirmTone: 'primary',\n error: null,\n confirmLoading: false,\n confirmDisabled: false,\n closeOnConfirm: true,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n (e: 'confirm'): void\n (e: 'cancel'): void\n}>()\n\n// Дефолты берём из общего i18n-блока пакета (fallback — англ.), а не хардкодим.\nconst { t } = useGranularityTranslations()\nconst resolvedTitle = computed(() => props.title ?? t('gr.dialog.confirm.title', 'Confirm'))\nconst resolvedCloseLabel = computed(() => props.closeLabel ?? t('gr.common.close', 'Close'))\nconst resolvedConfirmText = computed(() => props.confirmText ?? t('gr.common.confirm', 'Confirm'))\nconst resolvedCancelText = computed(() => props.cancelText ?? t('gr.common.cancel', 'Cancel'))\n\nconst open = computed({\n get: () => props.modelValue,\n set: (value: boolean) => emit('update:modelValue', value),\n})\n\nfunction onCancel(): void {\n emit('cancel')\n emit('update:modelValue', false)\n}\n\nfunction onConfirm(): void {\n emit('confirm')\n if (props.closeOnConfirm)\n emit('update:modelValue', false)\n}\n</script>\n\n<template>\n <GrDialog\n v-model=\"open\"\n :title=\"resolvedTitle\"\n :size=\"size\"\n :close-on-backdrop=\"closeOnBackdrop\"\n :close-on-esc=\"closeOnEsc\"\n :show-header=\"showHeader\"\n :show-close-button=\"showCloseButton\"\n :header-config=\"headerConfig\"\n :footer-config=\"footerConfig\"\n :body-config=\"bodyConfig\"\n :close-label=\"resolvedCloseLabel\"\n >\n <div class=\"grid gap-4\">\n <slot>\n <div v-if=\"description\" class=\"text-[14px] text-[var(--muted-fg)]\">\n {{ description }}\n </div>\n </slot>\n\n <slot name=\"error\" :error=\"error\">\n <GrResponseErrorBanner v-if=\"error\" :error=\"error\" :can-dismiss=\"false\" />\n </slot>\n </div>\n\n <template #footer>\n <slot name=\"footer\">\n <div class=\"flex items-center justify-end gap-3\">\n <GrButton data-testid=\"gr-confirm-cancel\" variant=\"outline\" :size=\"buttonSize\" @click=\"onCancel\">\n {{ resolvedCancelText }}\n </GrButton>\n <GrButton\n data-testid=\"gr-confirm-confirm\"\n :variant=\"confirmVariant\"\n :tone=\"confirmTone\"\n :size=\"buttonSize\"\n :loading=\"confirmLoading\"\n :disabled=\"confirmDisabled\"\n @click=\"onConfirm\"\n >\n {{ resolvedConfirmText }}\n </GrButton>\n </div>\n </slot>\n </template>\n </GrDialog>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0DA,MAAM,QAAQ;EAuBd,MAAM,OAAO;EAOb,MAAM,EAAE,MAAM,2BAA2B;EACzC,MAAM,gBAAgB,eAAe,MAAM,SAAS,EAAE,2BAA2B,SAAS,CAAC;EAC3F,MAAM,qBAAqB,eAAe,MAAM,cAAc,EAAE,mBAAmB,OAAO,CAAC;EAC3F,MAAM,sBAAsB,eAAe,MAAM,eAAe,EAAE,qBAAqB,SAAS,CAAC;EACjG,MAAM,qBAAqB,eAAe,MAAM,cAAc,EAAE,oBAAoB,QAAQ,CAAC;EAE7F,MAAM,OAAO,SAAS;GACpB,WAAW,MAAM;GACjB,MAAM,UAAmB,KAAK,qBAAqB,KAAK;EAC1D,CAAC;EAED,SAAS,WAAiB;GACxB,KAAK,QAAQ;GACb,KAAK,qBAAqB,KAAK;EACjC;EAEA,SAAS,YAAkB;GACzB,KAAK,SAAS;GACd,IAAI,MAAM,gBACR,KAAK,qBAAqB,KAAK;EACnC;;uBAIE,YA6CW,kBAAA;gBA5CA,KAAA;sEAAI,QAAA;IACZ,OAAO,cAAA;IACP,MAAM,QAAA;IACN,qBAAmB,QAAA;IACnB,gBAAc,QAAA;IACd,eAAa,QAAA;IACb,qBAAmB,QAAA;IACnB,iBAAe,QAAA;IACf,iBAAe,QAAA;IACf,eAAa,QAAA;IACb,eAAa,mBAAA;;IAcH,QAAM,cAkBR,CAjBP,WAiBO,KAAA,QAAA,UAAA,CAAA,SAAA,CAhBL,mBAeM,OAfN,YAeM,CAdJ,YAEW,kBAAA;KAFD,eAAY;KAAoB,SAAQ;KAAW,MAAM,QAAA;KAAa,SAAO;;4BAC7D,CAAA,gBAAA,gBAArB,mBAAA,KAAkB,GAAA,CAAA,CAAA,CAAA;;qBAEvB,YAUW,kBAAA;KATT,eAAY;KACX,SAAS,QAAA;KACT,MAAM,QAAA;KACN,MAAM,QAAA;KACN,SAAS,QAAA;KACT,UAAU,QAAA;KACV,SAAO;;4BAEiB,CAAA,gBAAA,gBAAtB,oBAAA,KAAmB,GAAA,CAAA,CAAA,CAAA;;;;;;;;;2BAjBxB,CAVN,mBAUM,OAVN,YAUM,CATJ,WAIO,KAAA,QAAA,WAAA,CAAA,SAAA,CAHM,QAAA,eAAA,UAAA,GAAX,mBAEM,OAFN,YAEM,gBADD,QAAA,WAAW,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA,CAAA,CAAA,GAIlB,WAEO,KAAA,QAAA,SAAA,EAFa,OAAO,QAAA,MAAK,SAEzB,CADwB,QAAA,SAAA,UAAA,GAA7B,YAA0E,+BAAA;;KAArC,OAAO,QAAA;KAAQ,eAAa"}
|
|
1
|
+
{"version":3,"file":"GrConfirmDialog-D8CkOtqv.js","names":[],"sources":["../../../../src/components/GrConfirmDialog/GrConfirmDialog.vue","../../../../src/components/GrConfirmDialog/GrConfirmDialog.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * GrConfirmDialog — GR-примитив диалога подтверждения поверх `GrDialog`.\n *\n * Синхронизирован с `GrDialog`/`GrPromptDialog` по набору проп-проксирования:\n * `size`, `closeOnBackdrop`, `closeOnEsc`, `showHeader`, `showCloseButton`,\n * `headerConfig`, `footerConfig`, `bodyConfig`, `closeLabel`.\n *\n * Клик по «Confirm»/«Cancel» эмитит одноимённое событие и закрывает диалог\n * через `update:modelValue`.\n */\nimport { computed } from 'vue'\n\nimport GrButton from '../GrButton/GrButton.vue'\nimport GrDialog from '../GrDialog/GrDialog.vue'\nimport GrResponseErrorBanner from '../GrResponseErrorBanner/GrResponseErrorBanner.vue'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport type { GrButtonSize, GrButtonTone, GrButtonVariant } from '../GrButton'\nimport type { GrDialogSectionConfig, GrDialogSize } from '../GrDialog'\nimport type { ResponseErrorInfo } from '../GrResponseErrorBanner'\n\nexport interface GrConfirmDialogProps {\n modelValue: boolean\n title?: string\n description?: string\n closeOnBackdrop?: boolean\n closeOnEsc?: boolean\n showHeader?: boolean\n showCloseButton?: boolean\n size?: GrDialogSize\n headerConfig?: GrDialogSectionConfig\n footerConfig?: GrDialogSectionConfig\n bodyConfig?: GrDialogSectionConfig\n /** A11y-лейбл кнопки закрытия (i18n). */\n closeLabel?: string\n buttonSize?: GrButtonSize\n confirmText?: string\n cancelText?: string\n confirmVariant?: GrButtonVariant\n confirmTone?: GrButtonTone\n /**\n * Структура ошибки ответа сервера для показа в теле диалога\n * (через `GrResponseErrorBanner`). Используется императивным\n * `useDialogService` для async-`onConfirm`. `null` — блок скрыт.\n */\n error?: ResponseErrorInfo | null\n /** Состояние загрузки кнопки Confirm (async-`onConfirm` in-flight). */\n confirmLoading?: boolean\n /** Принудительно дизейблит кнопку Confirm. */\n confirmDisabled?: boolean\n /**\n * Закрывать ли диалог автоматически по клику Confirm. По умолчанию `true`\n * (историческое поведение). `false` — отдаёт управление закрытием наружу\n * (нужно `useDialogService`, который ждёт результат async-`onConfirm`).\n */\n closeOnConfirm?: boolean\n}\n\nconst props = withDefaults(defineProps<GrConfirmDialogProps>(), {\n title: undefined,\n description: undefined,\n closeOnBackdrop: true,\n closeOnEsc: true,\n showHeader: true,\n showCloseButton: true,\n size: 'md',\n headerConfig: undefined,\n footerConfig: undefined,\n bodyConfig: undefined,\n closeLabel: undefined,\n buttonSize: undefined,\n confirmText: undefined,\n cancelText: undefined,\n confirmVariant: 'primary',\n confirmTone: 'primary',\n error: null,\n confirmLoading: false,\n confirmDisabled: false,\n closeOnConfirm: true,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n (e: 'confirm'): void\n (e: 'cancel'): void\n}>()\n\n// Дефолты берём из общего i18n-блока пакета (fallback — англ.), а не хардкодим.\nconst { t } = useGranularityTranslations()\nconst resolvedTitle = computed(() => props.title ?? t('gr.dialog.confirm.title', 'Confirm'))\nconst resolvedCloseLabel = computed(() => props.closeLabel ?? t('gr.common.close', 'Close'))\nconst resolvedConfirmText = computed(() => props.confirmText ?? t('gr.common.confirm', 'Confirm'))\nconst resolvedCancelText = computed(() => props.cancelText ?? t('gr.common.cancel', 'Cancel'))\n\nconst open = computed({\n get: () => props.modelValue,\n set: (value: boolean) => emit('update:modelValue', value),\n})\n\nfunction onCancel(): void {\n emit('cancel')\n emit('update:modelValue', false)\n}\n\nfunction onConfirm(): void {\n emit('confirm')\n if (props.closeOnConfirm)\n emit('update:modelValue', false)\n}\n</script>\n\n<template>\n <GrDialog\n v-model=\"open\"\n :title=\"resolvedTitle\"\n :size=\"size\"\n :close-on-backdrop=\"closeOnBackdrop\"\n :close-on-esc=\"closeOnEsc\"\n :show-header=\"showHeader\"\n :show-close-button=\"showCloseButton\"\n :header-config=\"headerConfig\"\n :footer-config=\"footerConfig\"\n :body-config=\"bodyConfig\"\n :close-label=\"resolvedCloseLabel\"\n >\n <div class=\"grid gap-4\">\n <slot>\n <div v-if=\"description\" class=\"text-[14px] text-[var(--muted-fg)]\">\n {{ description }}\n </div>\n </slot>\n\n <slot name=\"error\" :error=\"error\">\n <GrResponseErrorBanner v-if=\"error\" :error=\"error\" :can-dismiss=\"false\" />\n </slot>\n </div>\n\n <template #footer>\n <slot name=\"footer\">\n <div class=\"flex items-center justify-end gap-3\">\n <GrButton data-testid=\"gr-confirm-cancel\" variant=\"outline\" :size=\"buttonSize\" @click=\"onCancel\">\n {{ resolvedCancelText }}\n </GrButton>\n <GrButton\n data-testid=\"gr-confirm-confirm\"\n :variant=\"confirmVariant\"\n :tone=\"confirmTone\"\n :size=\"buttonSize\"\n :loading=\"confirmLoading\"\n :disabled=\"confirmDisabled\"\n @click=\"onConfirm\"\n >\n {{ resolvedConfirmText }}\n </GrButton>\n </div>\n </slot>\n </template>\n </GrDialog>\n</template>\n","<script setup lang=\"ts\">\n/**\n * GrConfirmDialog — GR-примитив диалога подтверждения поверх `GrDialog`.\n *\n * Синхронизирован с `GrDialog`/`GrPromptDialog` по набору проп-проксирования:\n * `size`, `closeOnBackdrop`, `closeOnEsc`, `showHeader`, `showCloseButton`,\n * `headerConfig`, `footerConfig`, `bodyConfig`, `closeLabel`.\n *\n * Клик по «Confirm»/«Cancel» эмитит одноимённое событие и закрывает диалог\n * через `update:modelValue`.\n */\nimport { computed } from 'vue'\n\nimport GrButton from '../GrButton/GrButton.vue'\nimport GrDialog from '../GrDialog/GrDialog.vue'\nimport GrResponseErrorBanner from '../GrResponseErrorBanner/GrResponseErrorBanner.vue'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport type { GrButtonSize, GrButtonTone, GrButtonVariant } from '../GrButton'\nimport type { GrDialogSectionConfig, GrDialogSize } from '../GrDialog'\nimport type { ResponseErrorInfo } from '../GrResponseErrorBanner'\n\nexport interface GrConfirmDialogProps {\n modelValue: boolean\n title?: string\n description?: string\n closeOnBackdrop?: boolean\n closeOnEsc?: boolean\n showHeader?: boolean\n showCloseButton?: boolean\n size?: GrDialogSize\n headerConfig?: GrDialogSectionConfig\n footerConfig?: GrDialogSectionConfig\n bodyConfig?: GrDialogSectionConfig\n /** A11y-лейбл кнопки закрытия (i18n). */\n closeLabel?: string\n buttonSize?: GrButtonSize\n confirmText?: string\n cancelText?: string\n confirmVariant?: GrButtonVariant\n confirmTone?: GrButtonTone\n /**\n * Структура ошибки ответа сервера для показа в теле диалога\n * (через `GrResponseErrorBanner`). Используется императивным\n * `useDialogService` для async-`onConfirm`. `null` — блок скрыт.\n */\n error?: ResponseErrorInfo | null\n /** Состояние загрузки кнопки Confirm (async-`onConfirm` in-flight). */\n confirmLoading?: boolean\n /** Принудительно дизейблит кнопку Confirm. */\n confirmDisabled?: boolean\n /**\n * Закрывать ли диалог автоматически по клику Confirm. По умолчанию `true`\n * (историческое поведение). `false` — отдаёт управление закрытием наружу\n * (нужно `useDialogService`, который ждёт результат async-`onConfirm`).\n */\n closeOnConfirm?: boolean\n}\n\nconst props = withDefaults(defineProps<GrConfirmDialogProps>(), {\n title: undefined,\n description: undefined,\n closeOnBackdrop: true,\n closeOnEsc: true,\n showHeader: true,\n showCloseButton: true,\n size: 'md',\n headerConfig: undefined,\n footerConfig: undefined,\n bodyConfig: undefined,\n closeLabel: undefined,\n buttonSize: undefined,\n confirmText: undefined,\n cancelText: undefined,\n confirmVariant: 'primary',\n confirmTone: 'primary',\n error: null,\n confirmLoading: false,\n confirmDisabled: false,\n closeOnConfirm: true,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n (e: 'confirm'): void\n (e: 'cancel'): void\n}>()\n\n// Дефолты берём из общего i18n-блока пакета (fallback — англ.), а не хардкодим.\nconst { t } = useGranularityTranslations()\nconst resolvedTitle = computed(() => props.title ?? t('gr.dialog.confirm.title', 'Confirm'))\nconst resolvedCloseLabel = computed(() => props.closeLabel ?? t('gr.common.close', 'Close'))\nconst resolvedConfirmText = computed(() => props.confirmText ?? t('gr.common.confirm', 'Confirm'))\nconst resolvedCancelText = computed(() => props.cancelText ?? t('gr.common.cancel', 'Cancel'))\n\nconst open = computed({\n get: () => props.modelValue,\n set: (value: boolean) => emit('update:modelValue', value),\n})\n\nfunction onCancel(): void {\n emit('cancel')\n emit('update:modelValue', false)\n}\n\nfunction onConfirm(): void {\n emit('confirm')\n if (props.closeOnConfirm)\n emit('update:modelValue', false)\n}\n</script>\n\n<template>\n <GrDialog\n v-model=\"open\"\n :title=\"resolvedTitle\"\n :size=\"size\"\n :close-on-backdrop=\"closeOnBackdrop\"\n :close-on-esc=\"closeOnEsc\"\n :show-header=\"showHeader\"\n :show-close-button=\"showCloseButton\"\n :header-config=\"headerConfig\"\n :footer-config=\"footerConfig\"\n :body-config=\"bodyConfig\"\n :close-label=\"resolvedCloseLabel\"\n >\n <div class=\"grid gap-4\">\n <slot>\n <div v-if=\"description\" class=\"text-[14px] text-[var(--muted-fg)]\">\n {{ description }}\n </div>\n </slot>\n\n <slot name=\"error\" :error=\"error\">\n <GrResponseErrorBanner v-if=\"error\" :error=\"error\" :can-dismiss=\"false\" />\n </slot>\n </div>\n\n <template #footer>\n <slot name=\"footer\">\n <div class=\"flex items-center justify-end gap-3\">\n <GrButton data-testid=\"gr-confirm-cancel\" variant=\"outline\" :size=\"buttonSize\" @click=\"onCancel\">\n {{ resolvedCancelText }}\n </GrButton>\n <GrButton\n data-testid=\"gr-confirm-confirm\"\n :variant=\"confirmVariant\"\n :tone=\"confirmTone\"\n :size=\"buttonSize\"\n :loading=\"confirmLoading\"\n :disabled=\"confirmDisabled\"\n @click=\"onConfirm\"\n >\n {{ resolvedConfirmText }}\n </GrButton>\n </div>\n </slot>\n </template>\n </GrDialog>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0DA,MAAM,QAAQ;EAuBd,MAAM,OAAO;EAOb,MAAM,EAAE,MAAM,2BAA2B;EACzC,MAAM,gBAAgB,eAAe,MAAM,SAAS,EAAE,2BAA2B,SAAS,CAAC;EAC3F,MAAM,qBAAqB,eAAe,MAAM,cAAc,EAAE,mBAAmB,OAAO,CAAC;EAC3F,MAAM,sBAAsB,eAAe,MAAM,eAAe,EAAE,qBAAqB,SAAS,CAAC;EACjG,MAAM,qBAAqB,eAAe,MAAM,cAAc,EAAE,oBAAoB,QAAQ,CAAC;EAE7F,MAAM,OAAO,SAAS;GACpB,WAAW,MAAM;GACjB,MAAM,UAAmB,KAAK,qBAAqB,KAAK;EAC1D,CAAC;EAED,SAAS,WAAiB;GACxB,KAAK,QAAQ;GACb,KAAK,qBAAqB,KAAK;EACjC;EAEA,SAAS,YAAkB;GACzB,KAAK,SAAS;GACd,IAAI,MAAM,gBACR,KAAK,qBAAqB,KAAK;EACnC;;uBAIE,YA6CW,kBAAA;gBA5CA,KAAA;sEAAI,QAAA;IACZ,OAAO,cAAA;IACP,MAAM,QAAA;IACN,qBAAmB,QAAA;IACnB,gBAAc,QAAA;IACd,eAAa,QAAA;IACb,qBAAmB,QAAA;IACnB,iBAAe,QAAA;IACf,iBAAe,QAAA;IACf,eAAa,QAAA;IACb,eAAa,mBAAA;;IAcH,QAAM,cAkBR,CAjBP,WAiBO,KAAA,QAAA,UAAA,CAAA,SAAA,CAhBL,mBAeM,OAfN,YAeM,CAdJ,YAEW,kBAAA;KAFD,eAAY;KAAoB,SAAQ;KAAW,MAAM,QAAA;KAAa,SAAO;;4BAC7D,CAAA,gBAAA,gBAArB,mBAAA,KAAkB,GAAA,CAAA,CAAA,CAAA;;qBAEvB,YAUW,kBAAA;KATT,eAAY;KACX,SAAS,QAAA;KACT,MAAM,QAAA;KACN,MAAM,QAAA;KACN,SAAS,QAAA;KACT,UAAU,QAAA;KACV,SAAO;;4BAEiB,CAAA,gBAAA,gBAAtB,oBAAA,KAAmB,GAAA,CAAA,CAAA,CAAA;;;;;;;;;2BAjBxB,CAVN,mBAUM,OAVN,YAUM,CATJ,WAIO,KAAA,QAAA,WAAA,CAAA,SAAA,CAHM,QAAA,eAAA,UAAA,GAAX,mBAEM,OAFN,YAEM,gBADD,QAAA,WAAW,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA,CAAA,CAAA,GAIlB,WAEO,KAAA,QAAA,SAAA,EAFa,OAAO,QAAA,MAAK,SAEzB,CADwB,QAAA,SAAA,UAAA,GAA7B,YAA0E,+BAAA;;KAArC,OAAO,QAAA;KAAQ,eAAa"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { t as GrConfirmDialog_default } from "./chunks/GrConfirmDialog-
|
|
2
|
-
import { t as grConfirmDialogConfig } from "../../chunks/config-
|
|
1
|
+
import { t as GrConfirmDialog_default } from "./chunks/GrConfirmDialog-D8CkOtqv.js";
|
|
2
|
+
import { t as grConfirmDialogConfig } from "../../chunks/config-BXtAmU3s2.js";
|
|
3
3
|
export { GrConfirmDialog_default as GrConfirmDialog, GrConfirmDialog_default as default, grConfirmDialogConfig };
|
package/dist/components/GrDataTable/chunks/{GrDataTable-ptbARmJ3.js → GrDataTable-Ds5OeGat.js}
RENAMED
|
@@ -51,21 +51,48 @@ var GrDataTable_default = /* @__PURE__ */ defineComponent({
|
|
|
51
51
|
},
|
|
52
52
|
initialSortKey: { default: void 0 },
|
|
53
53
|
initialSortDir: { default: "asc" },
|
|
54
|
+
sortKey: { default: void 0 },
|
|
55
|
+
sortDir: { default: void 0 },
|
|
56
|
+
externalSort: {
|
|
57
|
+
type: Boolean,
|
|
58
|
+
default: false
|
|
59
|
+
},
|
|
54
60
|
density: { default: "regular" },
|
|
55
61
|
caption: { default: void 0 },
|
|
56
62
|
ariaLabel: { default: void 0 },
|
|
57
63
|
ariaLabelledby: { default: void 0 },
|
|
58
64
|
regionLabel: { default: void 0 }
|
|
59
65
|
},
|
|
60
|
-
|
|
66
|
+
emits: [
|
|
67
|
+
"update:sortKey",
|
|
68
|
+
"update:sortDir",
|
|
69
|
+
"sort-change"
|
|
70
|
+
],
|
|
71
|
+
setup(__props, { emit: __emit }) {
|
|
61
72
|
const props = __props;
|
|
62
|
-
const
|
|
63
|
-
const
|
|
73
|
+
const emit = __emit;
|
|
74
|
+
const internalSortKey = ref(props.initialSortKey ?? "");
|
|
75
|
+
const internalSortDir = ref(props.initialSortDir);
|
|
76
|
+
const isSortKeyControlled = computed(() => props.sortKey !== void 0);
|
|
77
|
+
const isSortDirControlled = computed(() => props.sortDir !== void 0);
|
|
78
|
+
const currentSortKey = computed(() => props.sortKey ?? internalSortKey.value);
|
|
79
|
+
const currentSortDir = computed(() => props.sortDir ?? internalSortDir.value);
|
|
80
|
+
function applySort(key, dir) {
|
|
81
|
+
if (!isSortKeyControlled.value) internalSortKey.value = key;
|
|
82
|
+
if (!isSortDirControlled.value) internalSortDir.value = dir;
|
|
83
|
+
emit("update:sortKey", key);
|
|
84
|
+
emit("update:sortDir", dir);
|
|
85
|
+
emit("sort-change", {
|
|
86
|
+
key,
|
|
87
|
+
dir
|
|
88
|
+
});
|
|
89
|
+
}
|
|
64
90
|
const sortedRows = computed(() => {
|
|
65
91
|
const items = [...props.rows];
|
|
66
|
-
if (
|
|
67
|
-
const key =
|
|
68
|
-
|
|
92
|
+
if (props.externalSort) return items;
|
|
93
|
+
const key = currentSortKey.value;
|
|
94
|
+
if (!key) return items;
|
|
95
|
+
const dir = currentSortDir.value;
|
|
69
96
|
items.sort((a, b) => {
|
|
70
97
|
const av = a[key];
|
|
71
98
|
const bv = b[key];
|
|
@@ -78,12 +105,11 @@ var GrDataTable_default = /* @__PURE__ */ defineComponent({
|
|
|
78
105
|
});
|
|
79
106
|
function toggleSort(col) {
|
|
80
107
|
if (!col.sortable) return;
|
|
81
|
-
if (
|
|
82
|
-
|
|
83
|
-
sortDir.value = "asc";
|
|
108
|
+
if (currentSortKey.value !== col.key) {
|
|
109
|
+
applySort(col.key, "asc");
|
|
84
110
|
return;
|
|
85
111
|
}
|
|
86
|
-
|
|
112
|
+
applySort(col.key, currentSortDir.value === "asc" ? "desc" : "asc");
|
|
87
113
|
}
|
|
88
114
|
function cellAlign(col) {
|
|
89
115
|
if (col.align === "right") return "text-right";
|
|
@@ -99,12 +125,12 @@ var GrDataTable_default = /* @__PURE__ */ defineComponent({
|
|
|
99
125
|
}
|
|
100
126
|
function ariaSortFor(col) {
|
|
101
127
|
if (!col.sortable) return void 0;
|
|
102
|
-
if (
|
|
103
|
-
return
|
|
128
|
+
if (currentSortKey.value !== col.key) return "none";
|
|
129
|
+
return currentSortDir.value === "asc" ? "ascending" : "descending";
|
|
104
130
|
}
|
|
105
131
|
function sortButtonLabel(col) {
|
|
106
|
-
if (
|
|
107
|
-
return
|
|
132
|
+
if (currentSortKey.value !== col.key) return `Sort by ${col.label}`;
|
|
133
|
+
return currentSortDir.value === "asc" ? `Sorted by ${col.label} ascending, activate to sort descending` : `Sorted by ${col.label} descending, activate to sort ascending`;
|
|
108
134
|
}
|
|
109
135
|
const tableProps = computed(() => ({
|
|
110
136
|
density: props.density,
|
|
@@ -131,14 +157,14 @@ var GrDataTable_default = /* @__PURE__ */ defineComponent({
|
|
|
131
157
|
class: "inline-flex items-center gap-2 text-[var(--muted-fg)] hover:text-[var(--fg)] transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] rounded",
|
|
132
158
|
"aria-label": sortButtonLabel(col),
|
|
133
159
|
onClick: ($event) => toggleSort(col)
|
|
134
|
-
}, [createElementVNode("span", null, toDisplayString(col.label), 1), createElementVNode("span", _hoisted_5, [
|
|
160
|
+
}, [createElementVNode("span", null, toDisplayString(col.label), 1), createElementVNode("span", _hoisted_5, [currentSortKey.value === col.key && currentSortDir.value === "asc" ? (openBlock(), createBlock(GrIcon_default, {
|
|
135
161
|
key: 0,
|
|
136
162
|
size: "sm",
|
|
137
163
|
"aria-hidden": "true"
|
|
138
164
|
}, {
|
|
139
165
|
default: withCtx(() => [createVNode(unref(arrow_up_default))]),
|
|
140
166
|
_: 1
|
|
141
|
-
})) :
|
|
167
|
+
})) : currentSortKey.value === col.key && currentSortDir.value === "desc" ? (openBlock(), createBlock(GrIcon_default, {
|
|
142
168
|
key: 1,
|
|
143
169
|
size: "sm",
|
|
144
170
|
"aria-hidden": "true"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrDataTable-Ds5OeGat.js","names":["$slots"],"sources":["../../../../src/components/GrDataTable/GrDataTable.vue","../../../../src/components/GrDataTable/GrDataTable.vue"],"sourcesContent":["\n<script setup lang=\"ts\" generic=\"TRow extends Record<string, unknown> = Record<string, unknown>\">\nimport { computed, ref } from 'vue'\n\nimport GrTable from '../GrTable/GrTable.vue'\nimport type { GrTableDensity } from '../GrTable'\nimport GrIcon from '../GrIcon/GrIcon.vue'\n\nimport IconArrowUp from '~icons/lucide/arrow-up'\nimport IconArrowDown from '~icons/lucide/arrow-down'\n\nexport type GrDataColumn = {\n key: string\n label: string\n sortable?: boolean\n align?: 'left' | 'center' | 'right'\n}\n\nexport type GrDataTableRowKey<TRow extends Record<string, unknown> = Record<string, unknown>> =\n | string\n | ((row: TRow) => string | number)\n\nexport interface GrDataTableProps<TRow extends Record<string, unknown> = Record<string, unknown>> {\n rows: TRow[]\n columns: GrDataColumn[]\n /** Ключ строки или функция-резолвер. По умолчанию — поле `'id'`. */\n rowKey?: GrDataTableRowKey<TRow>\n /** Ключ колонки для начальной сортировки (uncontrolled-режим). */\n initialSortKey?: string\n /** Направление начальной сортировки (uncontrolled-режим). */\n initialSortDir?: 'asc' | 'desc'\n /** Контролируемый ключ сортировки: `v-model:sortKey`. Задаёт controlled-режим. */\n sortKey?: string\n /** Контролируемое направление сортировки: `v-model:sortDir`. */\n sortDir?: 'asc' | 'desc'\n /**\n * Внешняя сортировка (например серверная): компонент НЕ сортирует `rows`\n * сам, а только сообщает о смене через `update:sortKey`/`update:sortDir`/\n * `sort-change`. `rows` при этом должны приходить уже отсортированными.\n */\n externalSort?: boolean\n // Прокси к GrTable:\n density?: GrTableDensity\n caption?: string\n ariaLabel?: string\n ariaLabelledby?: string\n regionLabel?: string\n}\n\n/**\n * `GrDataTable` — data-таблица поверх `GrTable` с сортировкой по клику\n * на заголовок и scoped-слотами ячеек (`#cell-<key>`), `#caption`, `#foot`, `#empty`.\n *\n * Сортировка: если оба значения в колонке — числа (или парсятся как числа), сравнение\n * идёт численное; иначе — локальное строковое `localeCompare` с `sensitivity: 'base'`.\n */\nconst props = withDefaults(defineProps<GrDataTableProps<TRow>>(), {\n rowKey: 'id' as never,\n initialSortKey: undefined,\n initialSortDir: 'asc',\n sortKey: undefined,\n sortDir: undefined,\n externalSort: false,\n density: 'regular',\n caption: undefined,\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n regionLabel: undefined,\n})\n\nconst emit = defineEmits<{\n (e: 'update:sortKey', value: string): void\n (e: 'update:sortDir', value: 'asc' | 'desc'): void\n (e: 'sort-change', value: { key: string, dir: 'asc' | 'desc' }): void\n}>()\n\n// Uncontrolled-состояние; в controlled-режиме перекрывается пропами `sortKey`/`sortDir`.\nconst internalSortKey = ref<string>(props.initialSortKey ?? '')\nconst internalSortDir = ref<'asc' | 'desc'>(props.initialSortDir)\n\nconst isSortKeyControlled = computed(() => props.sortKey !== undefined)\nconst isSortDirControlled = computed(() => props.sortDir !== undefined)\n\nconst currentSortKey = computed(() => props.sortKey ?? internalSortKey.value)\nconst currentSortDir = computed<'asc' | 'desc'>(() => props.sortDir ?? internalSortDir.value)\n\nfunction applySort(key: string, dir: 'asc' | 'desc'): void {\n if (!isSortKeyControlled.value)\n internalSortKey.value = key\n if (!isSortDirControlled.value)\n internalSortDir.value = dir\n\n emit('update:sortKey', key)\n emit('update:sortDir', dir)\n emit('sort-change', { key, dir })\n}\n\nconst sortedRows = computed(() => {\n const items = [...props.rows]\n // Внешняя сортировка: `rows` уже отсортированы потребителем — не трогаем.\n if (props.externalSort)\n return items\n\n const key = currentSortKey.value\n if (!key)\n return items\n\n const dir = currentSortDir.value\n\n items.sort((a, b) => {\n const av = (a as Record<string, unknown>)[key]\n const bv = (b as Record<string, unknown>)[key]\n\n const aNum = typeof av === 'number' ? av : Number(av)\n const bNum = typeof bv === 'number' ? bv : Number(bv)\n const bothNumbers = Number.isFinite(aNum) && Number.isFinite(bNum)\n\n const res = bothNumbers\n ? aNum - bNum\n : String(av ?? '').localeCompare(String(bv ?? ''), undefined, { sensitivity: 'base' })\n\n return dir === 'asc' ? res : -res\n })\n\n return items\n})\n\nfunction toggleSort(col: GrDataColumn): void {\n if (!col.sortable)\n return\n\n if (currentSortKey.value !== col.key) {\n applySort(col.key, 'asc')\n return\n }\n\n applySort(col.key, currentSortDir.value === 'asc' ? 'desc' : 'asc')\n}\n\nfunction cellAlign(col: GrDataColumn): string {\n if (col.align === 'right')\n return 'text-right'\n if (col.align === 'center')\n return 'text-center'\n return 'text-left'\n}\n\nfunction rowKeyValue(row: TRow): string | number {\n const rk = props.rowKey\n if (typeof rk === 'function')\n return rk(row)\n const v = (row as Record<string, unknown>)[rk as string]\n if (typeof v === 'string' || typeof v === 'number')\n return v\n return String(v ?? '')\n}\n\nfunction ariaSortFor(col: GrDataColumn): 'ascending' | 'descending' | 'none' | undefined {\n if (!col.sortable)\n return undefined\n if (currentSortKey.value !== col.key)\n return 'none'\n return currentSortDir.value === 'asc' ? 'ascending' : 'descending'\n}\n\nfunction sortButtonLabel(col: GrDataColumn): string {\n if (currentSortKey.value !== col.key)\n return `Sort by ${col.label}`\n return currentSortDir.value === 'asc'\n ? `Sorted by ${col.label} ascending, activate to sort descending`\n : `Sorted by ${col.label} descending, activate to sort ascending`\n}\n\nconst tableProps = computed(() => ({\n density: props.density,\n caption: props.caption,\n ariaLabel: props.ariaLabel,\n ariaLabelledby: props.ariaLabelledby,\n regionLabel: props.regionLabel,\n}))\n\nconst isEmpty = computed(() => sortedRows.value.length === 0)\n\nfunction cellValue(row: TRow, key: string): unknown {\n return (row as Record<string, unknown>)[key]\n}\n</script>\n\n<template>\n <GrTable v-bind=\"tableProps\" data-gr-datatable>\n <template v-if=\"$slots.caption\" #caption>\n <slot name=\"caption\" />\n </template>\n\n <template #head>\n <tr data-gr-datatable-header>\n <th\n v-for=\"col in columns\"\n :key=\"col.key\"\n class=\"font-700 text-xs px-4 py-3\"\n :class=\"cellAlign(col)\"\n :aria-sort=\"ariaSortFor(col)\"\n scope=\"col\"\n >\n <div class=\"inline-flex items-center gap-2\">\n <button\n v-if=\"col.sortable\"\n type=\"button\"\n class=\"inline-flex items-center gap-2 text-[var(--muted-fg)] hover:text-[var(--fg)] transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] rounded\"\n :aria-label=\"sortButtonLabel(col)\"\n @click=\"toggleSort(col)\"\n >\n <span>{{ col.label }}</span>\n <span class=\"inline-flex\">\n <GrIcon v-if=\"currentSortKey === col.key && currentSortDir === 'asc'\" size=\"sm\" aria-hidden=\"true\">\n <IconArrowUp />\n </GrIcon>\n <GrIcon v-else-if=\"currentSortKey === col.key && currentSortDir === 'desc'\" size=\"sm\" aria-hidden=\"true\">\n <IconArrowDown />\n </GrIcon>\n </span>\n </button>\n <span v-else class=\"text-[var(--muted-fg)]\">{{ col.label }}</span>\n </div>\n </th>\n </tr>\n </template>\n\n <template v-if=\"isEmpty\">\n <tr data-gr-datatable-empty>\n <td :colspan=\"columns.length\" class=\"px-4 py-6 text-center text-[var(--muted-fg)]\">\n <slot name=\"empty\">\nНет данных\n</slot>\n </td>\n </tr>\n </template>\n <tr\n v-for=\"row in sortedRows\"\n v-else\n :key=\"rowKeyValue(row)\"\n class=\"border-t border-[var(--brd)]\"\n data-gr-datatable-row\n >\n <td\n v-for=\"col in columns\"\n :key=\"col.key\"\n class=\"px-4 py-3\"\n :class=\"cellAlign(col)\"\n >\n <slot :name=\"`cell-${col.key}`\" :row=\"row\">\n <span>{{ cellValue(row, col.key) }}</span>\n </slot>\n </td>\n </tr>\n\n <template v-if=\"$slots.foot\" #foot>\n <slot name=\"foot\" />\n </template>\n </GrTable>\n</template>\n","\n<script setup lang=\"ts\" generic=\"TRow extends Record<string, unknown> = Record<string, unknown>\">\nimport { computed, ref } from 'vue'\n\nimport GrTable from '../GrTable/GrTable.vue'\nimport type { GrTableDensity } from '../GrTable'\nimport GrIcon from '../GrIcon/GrIcon.vue'\n\nimport IconArrowUp from '~icons/lucide/arrow-up'\nimport IconArrowDown from '~icons/lucide/arrow-down'\n\nexport type GrDataColumn = {\n key: string\n label: string\n sortable?: boolean\n align?: 'left' | 'center' | 'right'\n}\n\nexport type GrDataTableRowKey<TRow extends Record<string, unknown> = Record<string, unknown>> =\n | string\n | ((row: TRow) => string | number)\n\nexport interface GrDataTableProps<TRow extends Record<string, unknown> = Record<string, unknown>> {\n rows: TRow[]\n columns: GrDataColumn[]\n /** Ключ строки или функция-резолвер. По умолчанию — поле `'id'`. */\n rowKey?: GrDataTableRowKey<TRow>\n /** Ключ колонки для начальной сортировки (uncontrolled-режим). */\n initialSortKey?: string\n /** Направление начальной сортировки (uncontrolled-режим). */\n initialSortDir?: 'asc' | 'desc'\n /** Контролируемый ключ сортировки: `v-model:sortKey`. Задаёт controlled-режим. */\n sortKey?: string\n /** Контролируемое направление сортировки: `v-model:sortDir`. */\n sortDir?: 'asc' | 'desc'\n /**\n * Внешняя сортировка (например серверная): компонент НЕ сортирует `rows`\n * сам, а только сообщает о смене через `update:sortKey`/`update:sortDir`/\n * `sort-change`. `rows` при этом должны приходить уже отсортированными.\n */\n externalSort?: boolean\n // Прокси к GrTable:\n density?: GrTableDensity\n caption?: string\n ariaLabel?: string\n ariaLabelledby?: string\n regionLabel?: string\n}\n\n/**\n * `GrDataTable` — data-таблица поверх `GrTable` с сортировкой по клику\n * на заголовок и scoped-слотами ячеек (`#cell-<key>`), `#caption`, `#foot`, `#empty`.\n *\n * Сортировка: если оба значения в колонке — числа (или парсятся как числа), сравнение\n * идёт численное; иначе — локальное строковое `localeCompare` с `sensitivity: 'base'`.\n */\nconst props = withDefaults(defineProps<GrDataTableProps<TRow>>(), {\n rowKey: 'id' as never,\n initialSortKey: undefined,\n initialSortDir: 'asc',\n sortKey: undefined,\n sortDir: undefined,\n externalSort: false,\n density: 'regular',\n caption: undefined,\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n regionLabel: undefined,\n})\n\nconst emit = defineEmits<{\n (e: 'update:sortKey', value: string): void\n (e: 'update:sortDir', value: 'asc' | 'desc'): void\n (e: 'sort-change', value: { key: string, dir: 'asc' | 'desc' }): void\n}>()\n\n// Uncontrolled-состояние; в controlled-режиме перекрывается пропами `sortKey`/`sortDir`.\nconst internalSortKey = ref<string>(props.initialSortKey ?? '')\nconst internalSortDir = ref<'asc' | 'desc'>(props.initialSortDir)\n\nconst isSortKeyControlled = computed(() => props.sortKey !== undefined)\nconst isSortDirControlled = computed(() => props.sortDir !== undefined)\n\nconst currentSortKey = computed(() => props.sortKey ?? internalSortKey.value)\nconst currentSortDir = computed<'asc' | 'desc'>(() => props.sortDir ?? internalSortDir.value)\n\nfunction applySort(key: string, dir: 'asc' | 'desc'): void {\n if (!isSortKeyControlled.value)\n internalSortKey.value = key\n if (!isSortDirControlled.value)\n internalSortDir.value = dir\n\n emit('update:sortKey', key)\n emit('update:sortDir', dir)\n emit('sort-change', { key, dir })\n}\n\nconst sortedRows = computed(() => {\n const items = [...props.rows]\n // Внешняя сортировка: `rows` уже отсортированы потребителем — не трогаем.\n if (props.externalSort)\n return items\n\n const key = currentSortKey.value\n if (!key)\n return items\n\n const dir = currentSortDir.value\n\n items.sort((a, b) => {\n const av = (a as Record<string, unknown>)[key]\n const bv = (b as Record<string, unknown>)[key]\n\n const aNum = typeof av === 'number' ? av : Number(av)\n const bNum = typeof bv === 'number' ? bv : Number(bv)\n const bothNumbers = Number.isFinite(aNum) && Number.isFinite(bNum)\n\n const res = bothNumbers\n ? aNum - bNum\n : String(av ?? '').localeCompare(String(bv ?? ''), undefined, { sensitivity: 'base' })\n\n return dir === 'asc' ? res : -res\n })\n\n return items\n})\n\nfunction toggleSort(col: GrDataColumn): void {\n if (!col.sortable)\n return\n\n if (currentSortKey.value !== col.key) {\n applySort(col.key, 'asc')\n return\n }\n\n applySort(col.key, currentSortDir.value === 'asc' ? 'desc' : 'asc')\n}\n\nfunction cellAlign(col: GrDataColumn): string {\n if (col.align === 'right')\n return 'text-right'\n if (col.align === 'center')\n return 'text-center'\n return 'text-left'\n}\n\nfunction rowKeyValue(row: TRow): string | number {\n const rk = props.rowKey\n if (typeof rk === 'function')\n return rk(row)\n const v = (row as Record<string, unknown>)[rk as string]\n if (typeof v === 'string' || typeof v === 'number')\n return v\n return String(v ?? '')\n}\n\nfunction ariaSortFor(col: GrDataColumn): 'ascending' | 'descending' | 'none' | undefined {\n if (!col.sortable)\n return undefined\n if (currentSortKey.value !== col.key)\n return 'none'\n return currentSortDir.value === 'asc' ? 'ascending' : 'descending'\n}\n\nfunction sortButtonLabel(col: GrDataColumn): string {\n if (currentSortKey.value !== col.key)\n return `Sort by ${col.label}`\n return currentSortDir.value === 'asc'\n ? `Sorted by ${col.label} ascending, activate to sort descending`\n : `Sorted by ${col.label} descending, activate to sort ascending`\n}\n\nconst tableProps = computed(() => ({\n density: props.density,\n caption: props.caption,\n ariaLabel: props.ariaLabel,\n ariaLabelledby: props.ariaLabelledby,\n regionLabel: props.regionLabel,\n}))\n\nconst isEmpty = computed(() => sortedRows.value.length === 0)\n\nfunction cellValue(row: TRow, key: string): unknown {\n return (row as Record<string, unknown>)[key]\n}\n</script>\n\n<template>\n <GrTable v-bind=\"tableProps\" data-gr-datatable>\n <template v-if=\"$slots.caption\" #caption>\n <slot name=\"caption\" />\n </template>\n\n <template #head>\n <tr data-gr-datatable-header>\n <th\n v-for=\"col in columns\"\n :key=\"col.key\"\n class=\"font-700 text-xs px-4 py-3\"\n :class=\"cellAlign(col)\"\n :aria-sort=\"ariaSortFor(col)\"\n scope=\"col\"\n >\n <div class=\"inline-flex items-center gap-2\">\n <button\n v-if=\"col.sortable\"\n type=\"button\"\n class=\"inline-flex items-center gap-2 text-[var(--muted-fg)] hover:text-[var(--fg)] transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] rounded\"\n :aria-label=\"sortButtonLabel(col)\"\n @click=\"toggleSort(col)\"\n >\n <span>{{ col.label }}</span>\n <span class=\"inline-flex\">\n <GrIcon v-if=\"currentSortKey === col.key && currentSortDir === 'asc'\" size=\"sm\" aria-hidden=\"true\">\n <IconArrowUp />\n </GrIcon>\n <GrIcon v-else-if=\"currentSortKey === col.key && currentSortDir === 'desc'\" size=\"sm\" aria-hidden=\"true\">\n <IconArrowDown />\n </GrIcon>\n </span>\n </button>\n <span v-else class=\"text-[var(--muted-fg)]\">{{ col.label }}</span>\n </div>\n </th>\n </tr>\n </template>\n\n <template v-if=\"isEmpty\">\n <tr data-gr-datatable-empty>\n <td :colspan=\"columns.length\" class=\"px-4 py-6 text-center text-[var(--muted-fg)]\">\n <slot name=\"empty\">\nНет данных\n</slot>\n </td>\n </tr>\n </template>\n <tr\n v-for=\"row in sortedRows\"\n v-else\n :key=\"rowKeyValue(row)\"\n class=\"border-t border-[var(--brd)]\"\n data-gr-datatable-row\n >\n <td\n v-for=\"col in columns\"\n :key=\"col.key\"\n class=\"px-4 py-3\"\n :class=\"cellAlign(col)\"\n >\n <slot :name=\"`cell-${col.key}`\" :row=\"row\">\n <span>{{ cellValue(row, col.key) }}</span>\n </slot>\n </td>\n </tr>\n\n <template v-if=\"$slots.foot\" #foot>\n <slot name=\"foot\" />\n </template>\n </GrTable>\n</template>\n"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { t as GrDataTable_default } from "./chunks/GrDataTable-
|
|
1
|
+
import { t as GrDataTable_default } from "./chunks/GrDataTable-Ds5OeGat.js";
|
|
2
2
|
import { t as grDataTableConfig } from "../../chunks/config-U4m9PSql.js";
|
|
3
3
|
export { GrDataTable_default as GrDataTable, GrDataTable_default as default, grDataTableConfig };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as x_default } from "../../../chunks/x-2KXnqxiD.js";
|
|
2
2
|
import { t as useGranularityTranslations } from "../../../chunks/granularityI18n-DoV7Ca2m.js";
|
|
3
3
|
import { t as GrButton_default } from "../../GrButton/chunks/GrButton-BlffdeJr.js";
|
|
4
|
-
import {
|
|
5
|
-
import { t as GrModal_default } from "../../GrModal/chunks/GrModal-
|
|
4
|
+
import { o as Ve } from "../../../chunks/useScrollLock-K7kaP2Ud.js";
|
|
5
|
+
import { t as GrModal_default } from "../../GrModal/chunks/GrModal-C0GZrHN3.js";
|
|
6
6
|
import { a as resolveGrDialogTitle, i as resolveGrDialogSectionConfig, n as DEFAULT_GR_DIALOG_FOOTER_CONFIG, r as DEFAULT_GR_DIALOG_HEADER_CONFIG, t as DEFAULT_GR_DIALOG_BODY_CONFIG } from "../../../chunks/dialogShared-CxW62PQE.js";
|
|
7
7
|
import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, guardReactiveProps, mergeProps, normalizeClass, normalizeProps, openBlock, renderSlot, toDisplayString, unref, useAttrs, useSlots, withCtx } from "vue";
|
|
8
8
|
//#endregion
|