@feugene/granularity 0.32.0 → 0.34.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/chunks/{config-Dv_r92GL.js → config-2vrOFn2f.js} +2 -2
- package/dist/chunks/{config-Dv_r92GL.js.map → config-2vrOFn2f.js.map} +1 -1
- package/dist/chunks/{config-g8-JGZ_Y.js → config-BscVxZR3.js} +1 -1
- package/dist/chunks/{config-g8-JGZ_Y.js.map → config-BscVxZR3.js.map} +1 -1
- package/dist/chunks/{config-vYMJ3Cr1.js → config-CYthTVK2.js} +2 -2
- package/dist/chunks/config-CYthTVK2.js.map +1 -0
- package/dist/chunks/{config-CPSxM7XE.js → config-CsCUuukB.js} +1 -0
- package/dist/chunks/config-CsCUuukB.js.map +1 -0
- package/dist/chunks/{config-BTwYMQaz2.js → config-DBXCIb6r2.js} +4 -3
- package/dist/chunks/config-DBXCIb6r2.js.map +1 -0
- package/dist/chunks/{config-uzUuosv7.js → config-DGGaKf4R.js} +6 -5
- package/dist/chunks/config-DGGaKf4R.js.map +1 -0
- package/dist/chunks/{config-DnF472Ox.js → config-DOYz_SVK.js} +2 -2
- package/dist/chunks/{config-DnF472Ox.js.map → config-DOYz_SVK.js.map} +1 -1
- package/dist/chunks/{config-T3-DMXYm.js → config-DUNH02Fg.js} +2 -2
- package/dist/chunks/config-DUNH02Fg.js.map +1 -0
- package/dist/chunks/{generated-CSyPsWtM.js → generated-Buw6W7Te.js} +7 -0
- package/dist/chunks/{generated-CSyPsWtM.js.map → generated-Buw6W7Te.js.map} +1 -1
- package/dist/chunks/{grBadgeStyles-D8Mz73B5.js → grBadgeStyles-DV0DrAew.js} +17 -1
- package/dist/chunks/grBadgeStyles-DV0DrAew.js.map +1 -0
- package/dist/chunks/{grChipStyles-3JZApw03.js → grChipStyles-DcDyxAL0.js} +1 -1
- package/dist/chunks/{grChipStyles-3JZApw03.js.map → grChipStyles-DcDyxAL0.js.map} +1 -1
- package/dist/chunks/grDropdownStyles-DLToHWMX.js +5 -0
- package/dist/chunks/grDropdownStyles-DLToHWMX.js.map +1 -0
- package/dist/chunks/grPopoverStyles-DKwigt7b.js +91 -0
- package/dist/chunks/grPopoverStyles-DKwigt7b.js.map +1 -0
- package/dist/chunks/{grSelectStyles-Cdtd10eY.js → grSelectStyles-D9EQ-pgK.js} +2 -1
- package/dist/chunks/grSelectStyles-D9EQ-pgK.js.map +1 -0
- package/dist/chunks/{granular-provider-Da2CJO6j.js → granular-provider-3LUawDPh.js} +8 -8
- package/dist/chunks/{granular-provider-Da2CJO6j.js.map → granular-provider-3LUawDPh.js.map} +1 -1
- package/dist/chunks/{overlayTransition-0Fj5tQbq.js → overlayPanelSurface-BKeMhRx4.js} +24 -1
- package/dist/chunks/overlayPanelSurface-BKeMhRx4.js.map +1 -0
- package/dist/chunks/{safelist-CtiHPgrj.js → safelist-x8USecK8.js} +3 -1
- package/dist/chunks/safelist-x8USecK8.js.map +1 -0
- package/dist/chunks/{focusables-BkzK42SQ.js → useFocusTrap-D9bIPNF6.js} +123 -1
- package/dist/chunks/useFocusTrap-D9bIPNF6.js.map +1 -0
- package/dist/chunks/{useMenuItemsFocus-B6TldmGf.js → useMenuItemsFocus-B7Bl_aFA.js} +1 -1
- package/dist/chunks/{useMenuItemsFocus-B6TldmGf.js.map → useMenuItemsFocus-B7Bl_aFA.js.map} +1 -1
- package/dist/chunks/{useModalOverlay-D__CqLGn.js → useModalOverlay-BnAGZpcI.js} +1 -1
- package/dist/chunks/{useModalOverlay-D__CqLGn.js.map → useModalOverlay-BnAGZpcI.js.map} +1 -1
- package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-rYEY15UI.js → GrAutocomplete-BQsSE7sj.js} +4 -4
- package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-rYEY15UI.js.map → GrAutocomplete-BQsSE7sj.js.map} +1 -1
- package/dist/components/GrAutocomplete/index.js +2 -2
- package/dist/components/GrBadge/chunks/{GrBadge-D2MfThPz.js → GrBadge-DpUDXKbq.js} +9 -4
- package/dist/components/GrBadge/chunks/GrBadge-DpUDXKbq.js.map +1 -0
- package/dist/components/GrBadge/index.js +3 -3
- package/dist/components/GrBadge/styles.css +1 -1
- package/dist/components/GrChip/chunks/{GrChip-C0vU69tf.js → GrChip-BTivtwff.js} +1 -1
- package/dist/components/GrChip/chunks/{GrChip-C0vU69tf.js.map → GrChip-BTivtwff.js.map} +1 -1
- package/dist/components/GrChip/index.js +2 -2
- package/dist/components/GrColorPicker/chunks/{GrColorPicker-p2XH_8cE.js → GrColorPicker-D1Iis7jf.js} +2 -1
- package/dist/components/GrColorPicker/chunks/GrColorPicker-D1Iis7jf.js.map +1 -0
- package/dist/components/GrColorPicker/index.js +1 -1
- package/dist/components/GrCommandPalette/chunks/{GrCommandPalette-BXbh3q7O.js → GrCommandPalette-BZHUKlux.js} +1 -1
- package/dist/components/GrCommandPalette/chunks/{GrCommandPalette-BXbh3q7O.js.map → GrCommandPalette-BZHUKlux.js.map} +1 -1
- package/dist/components/GrCommandPalette/index.js +1 -1
- package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-CUP43q__.js → GrConfirmDialog-jRDs_E6C.js} +1 -1
- package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-CUP43q__.js.map → GrConfirmDialog-jRDs_E6C.js.map} +1 -1
- package/dist/components/GrConfirmDialog/index.js +1 -1
- package/dist/components/GrContextMenu/chunks/{GrContextMenu-ClkVjdcP.js → GrContextMenu-CWmgrzpi.js} +17 -3
- package/dist/components/GrContextMenu/chunks/GrContextMenu-CWmgrzpi.js.map +1 -0
- package/dist/components/GrContextMenu/index.js +2 -2
- package/dist/components/GrDataTable/chunks/{GrDataTable-CAGgRk27.js → GrDataTable-4JAgOQ-7.js} +1 -1
- package/dist/components/GrDataTable/chunks/{GrDataTable-CAGgRk27.js.map → GrDataTable-4JAgOQ-7.js.map} +1 -1
- package/dist/components/GrDataTable/index.js +1 -1
- package/dist/components/GrDialog/chunks/{GrDialog-BiMJ9_T4.js → GrDialog-C01Hhk6G.js} +1 -1
- package/dist/components/GrDialog/chunks/{GrDialog-BiMJ9_T4.js.map → GrDialog-C01Hhk6G.js.map} +1 -1
- package/dist/components/GrDialog/index.js +1 -1
- package/dist/components/GrDialogService/chunks/{GrDialogService-BxNK6crD.js → GrDialogService-CmsJNUmM.js} +7 -2
- package/dist/components/GrDialogService/chunks/{GrDialogService-BxNK6crD.js.map → GrDialogService-CmsJNUmM.js.map} +1 -1
- package/dist/components/GrDialogService/index.js +1 -1
- package/dist/components/GrDrawer/chunks/{GrDrawer-Ce2l3zaG.js → GrDrawer-xfoy-MCj.js} +1 -1
- package/dist/components/GrDrawer/chunks/{GrDrawer-Ce2l3zaG.js.map → GrDrawer-xfoy-MCj.js.map} +1 -1
- package/dist/components/GrDrawer/index.js +1 -1
- package/dist/components/GrDropdown/chunks/GrDropdown-CDkPkvIJ.js +180 -0
- package/dist/components/GrDropdown/chunks/GrDropdown-CDkPkvIJ.js.map +1 -0
- package/dist/components/GrDropdown/index.js +2 -2
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-GOzuAXsi.js → GrDropdownMenu-DQrZ_yPV.js} +1 -1
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-GOzuAXsi.js.map → GrDropdownMenu-DQrZ_yPV.js.map} +1 -1
- package/dist/components/GrDropdownMenu/index.js +1 -1
- package/dist/components/GrFileUpload/chunks/{GrFileUpload-NsHkRRIa.js → GrFileUpload-LL8RZvC0.js} +10 -0
- package/dist/components/GrFileUpload/chunks/GrFileUpload-LL8RZvC0.js.map +1 -0
- package/dist/components/GrFileUpload/index.js +1 -1
- package/dist/components/GrImageViewer/chunks/{GrImageViewer-CG4vUBg_.js → GrImageViewer--BU8yrfx.js} +1 -1
- package/dist/components/GrImageViewer/chunks/{GrImageViewer-CG4vUBg_.js.map → GrImageViewer--BU8yrfx.js.map} +1 -1
- package/dist/components/GrImageViewer/index.js +1 -1
- package/dist/components/GrInputTag/chunks/{GrInputTag-Cj4A9Xgs.js → GrInputTag-ByD9NugQ.js} +2 -2
- package/dist/components/GrInputTag/chunks/{GrInputTag-Cj4A9Xgs.js.map → GrInputTag-ByD9NugQ.js.map} +1 -1
- package/dist/components/GrInputTag/index.js +1 -1
- package/dist/components/GrModal/chunks/{GrModal-D0mf1SAx.js → GrModal-_JrDhon-.js} +1 -1
- package/dist/components/GrModal/chunks/{GrModal-D0mf1SAx.js.map → GrModal-_JrDhon-.js.map} +1 -1
- package/dist/components/GrModal/index.js +1 -1
- package/dist/components/GrPagination/chunks/{GrPagination-B_kAhoAV.js → GrPagination-gBoWVHk6.js} +1 -1
- package/dist/components/GrPagination/chunks/{GrPagination-B_kAhoAV.js.map → GrPagination-gBoWVHk6.js.map} +1 -1
- package/dist/components/GrPagination/index.js +1 -1
- package/dist/components/GrPopover/chunks/{GrPopover-faJanmGs.js → GrPopover-CzeXMcvh.js} +87 -13
- package/dist/components/GrPopover/chunks/GrPopover-CzeXMcvh.js.map +1 -0
- package/dist/components/GrPopover/index.js +2 -2
- package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-C6QGC7QJ.js → GrPromptDialog-CailXSqW.js} +1 -1
- package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-C6QGC7QJ.js.map → GrPromptDialog-CailXSqW.js.map} +1 -1
- package/dist/components/GrPromptDialog/index.js +1 -1
- package/dist/components/GrSelect/chunks/{GrSelect-gCeRFgQo.js → GrSelect-CZqV1Eg4.js} +4 -4
- package/dist/components/GrSelect/chunks/{GrSelect-gCeRFgQo.js.map → GrSelect-CZqV1Eg4.js.map} +1 -1
- package/dist/components/GrSelect/index.js +2 -2
- package/dist/components/GrTable/chunks/{GrTable-Zcdz2St_.js → GrTable-jhUTczjv.js} +12 -1
- package/dist/components/GrTable/chunks/GrTable-jhUTczjv.js.map +1 -0
- package/dist/components/GrTable/index.js +1 -1
- package/dist/components/GrTabs/chunks/{GrTabs-ugDnkk-2.js → GrTabs-UsO4j8zv.js} +5 -0
- package/dist/components/GrTabs/chunks/GrTabs-UsO4j8zv.js.map +1 -0
- package/dist/components/GrTabs/index.js +1 -1
- package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-BHwgGJcT.js → GrTreeSelect-DOXcpWq2.js} +2 -2
- package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-BHwgGJcT.js.map → GrTreeSelect-DOXcpWq2.js.map} +1 -1
- package/dist/components/GrTreeSelect/index.js +2 -2
- package/dist/composables/useFocusTrap.js +1 -123
- package/dist/granular-provider-node.js +1 -1
- package/dist/granular-provider.js +1 -1
- package/dist/index.js +34 -34
- package/dist/theme.js +1 -1
- package/dist/tokens.js +1 -1
- package/dist/types/components/GrAutocomplete/grAutocompleteStyles.d.ts +1 -1
- package/dist/types/components/GrBadge/GrBadge.vue.d.ts +11 -0
- package/dist/types/components/GrBadge/grBadgeStyles.d.ts +11 -0
- package/dist/types/components/GrDropdown/GrDropdown.vue.d.ts +5 -5
- package/dist/types/components/GrDropdown/grDropdownStyles.d.ts +8 -2
- package/dist/types/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +2 -2
- package/dist/types/components/GrPopover/GrPopover.vue.d.ts +54 -4
- package/dist/types/components/GrPopover/grPopoverStyles.d.ts +19 -11
- package/dist/types/components/GrSelect/grSelectStyles.d.ts +1 -1
- package/dist/types/components/GrTreeSelect/grTreeSelectStyles.d.ts +1 -1
- package/dist/types/components/shared/overlayOrigin.d.ts +22 -0
- package/dist/types/components/shared/overlayPanelSurface.d.ts +21 -0
- package/dist/web-types.json +44 -4
- package/package.json +3 -3
- package/dist/chunks/config-BTwYMQaz2.js.map +0 -1
- package/dist/chunks/config-CPSxM7XE.js.map +0 -1
- package/dist/chunks/config-T3-DMXYm.js.map +0 -1
- package/dist/chunks/config-uzUuosv7.js.map +0 -1
- package/dist/chunks/config-vYMJ3Cr1.js.map +0 -1
- package/dist/chunks/focusables-BkzK42SQ.js.map +0 -1
- package/dist/chunks/grBadgeStyles-D8Mz73B5.js.map +0 -1
- package/dist/chunks/grDropdownStyles-V7TRiCXn.js +0 -24
- package/dist/chunks/grDropdownStyles-V7TRiCXn.js.map +0 -1
- package/dist/chunks/grPopoverStyles-Djh5RNhn.js +0 -59
- package/dist/chunks/grPopoverStyles-Djh5RNhn.js.map +0 -1
- package/dist/chunks/grSelectStyles-Cdtd10eY.js.map +0 -1
- package/dist/chunks/overlayTransition-0Fj5tQbq.js.map +0 -1
- package/dist/chunks/safelist-CtiHPgrj.js.map +0 -1
- package/dist/components/GrBadge/chunks/GrBadge-D2MfThPz.js.map +0 -1
- package/dist/components/GrColorPicker/chunks/GrColorPicker-p2XH_8cE.js.map +0 -1
- package/dist/components/GrContextMenu/chunks/GrContextMenu-ClkVjdcP.js.map +0 -1
- package/dist/components/GrDropdown/chunks/GrDropdown-13Wt9eB_.js +0 -239
- package/dist/components/GrDropdown/chunks/GrDropdown-13Wt9eB_.js.map +0 -1
- package/dist/components/GrFileUpload/chunks/GrFileUpload-NsHkRRIa.js.map +0 -1
- package/dist/components/GrPopover/chunks/GrPopover-faJanmGs.js.map +0 -1
- package/dist/components/GrTable/chunks/GrTable-Zcdz2St_.js.map +0 -1
- package/dist/components/GrTabs/chunks/GrTabs-ugDnkk-2.js.map +0 -1
- package/dist/composables/useFocusTrap.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as splitClassTokens } from "./classTokens-8v2XC74x.js";
|
|
2
|
-
import { a as chipIconSizeClassBySize, c as chipRootClass, i as chipIconClass, l as chipSelectedClass, n as chipCloseClass, o as chipInteractiveClass, r as chipDisabledClass, s as chipLabelClass, t as chipCloseButtonClass, u as chipSizeClassBySize } from "./grChipStyles-
|
|
3
|
-
import { t as grBadgeSafelist } from "./safelist-
|
|
2
|
+
import { a as chipIconSizeClassBySize, c as chipRootClass, i as chipIconClass, l as chipSelectedClass, n as chipCloseClass, o as chipInteractiveClass, r as chipDisabledClass, s as chipLabelClass, t as chipCloseButtonClass, u as chipSizeClassBySize } from "./grChipStyles-DcDyxAL0.js";
|
|
3
|
+
import { t as grBadgeSafelist } from "./safelist-x8USecK8.js";
|
|
4
4
|
import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
|
|
5
5
|
//#region src/components/GrChip/safelist.ts
|
|
6
6
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-2vrOFn2f.js","names":[],"sources":["../../src/components/GrChip/safelist.ts","../../src/components/GrChip/config.ts"],"sourcesContent":["import { grBadgeSafelist } from '../GrBadge/safelist'\nimport { splitClassTokens } from '../shared/classTokens'\n\nimport {\n chipCloseButtonClass,\n chipCloseClass,\n chipDisabledClass,\n chipIconClass,\n chipIconSizeClassBySize,\n chipInteractiveClass,\n chipLabelClass,\n chipRootClass,\n chipSelectedClass,\n chipSizeClassBySize,\n} from './grChipStyles'\n\n/**\n * Тона и радиусы приходят из `grBadgeStyles.ts`, поэтому их safelist берётся\n * ссылкой, а не копией: копия разошлась бы с оригиналом молча. Ребро\n * `GrChip → GrBadge` объявлено в `config.ts` — без него пресет не подмешает\n * стили бейджа при гранулярной селекции, и чип придёт бесцветным.\n */\nexport const grChipSafelist = [...new Set([\n ...grBadgeSafelist,\n ...Object.values(chipSizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(chipIconSizeClassBySize).flatMap(splitClassTokens),\n ...splitClassTokens(chipRootClass),\n ...splitClassTokens(chipLabelClass),\n ...splitClassTokens(chipInteractiveClass),\n ...splitClassTokens(chipDisabledClass),\n ...splitClassTokens(chipSelectedClass),\n ...splitClassTokens(chipCloseClass),\n ...splitClassTokens(chipCloseButtonClass),\n ...splitClassTokens(chipIconClass),\n 'h-full',\n 'w-full',\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grChipSafelist } from './safelist'\n\nexport const grChipConfig = defineGranularComponent(import.meta.url, {\n name: 'GrChip',\n // `GrBadge` — импорт его класс-мап и safelist; `GrIcon` не рендерится,\n // крестик — прямой `~icons`-компонент, поэтому его в зависимостях нет.\n dependencies: ['GrBadge'],\n safelist: grChipSafelist,\n})\n"],"mappings":";;;;;;;;;;;AAsBA,IAAa,iBAAiB,CAAC,mBAAG,IAAI,IAAI;CACxC,GAAG;CACH,GAAG,OAAO,OAAO,mBAAmB,CAAC,CAAC,QAAQ,gBAAgB;CAC9D,GAAG,OAAO,OAAO,uBAAuB,CAAC,CAAC,QAAQ,gBAAgB;CAClE,GAAG,iBAAiB,aAAa;CACjC,GAAG,iBAAiB,cAAc;CAClC,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,iBAAiB;CACrC,GAAG,iBAAiB,iBAAiB;CACrC,GAAG,iBAAiB,cAAc;CAClC,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,aAAa;CACjC;CACA;AACF,CAAC,CAAC;;;AChCF,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK;CACnE,MAAM;CAGN,cAAc,CAAC,SAAS;CACxB,UAAU;AACZ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as grBadgeSafelist } from "./safelist-
|
|
1
|
+
import { t as grBadgeSafelist } from "./safelist-x8USecK8.js";
|
|
2
2
|
import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
|
|
3
3
|
//#region src/components/GrBadge/config.ts
|
|
4
4
|
var grBadgeConfig = defineGranularComponent(import.meta.url, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-BscVxZR3.js","names":[],"sources":["../../src/components/GrBadge/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grBadgeSafelist } from './safelist'\n\nexport const grBadgeConfig = defineGranularComponent(import.meta.url, {\n name: 'GrBadge',\n safelist: grBadgeSafelist,\n tokenDefinitionsRef: {\n light: { url: './themes/light.css', selector: ':root' },\n dark: { url: './themes/dark.css', as: '.dark, [data-theme=\"dark\"]' },\n },\n})\n"],"mappings":";;;AAIA,IAAa,gBAAgB,wBAAwB,OAAO,KAAK,KAAK;CACpE,MAAM;CACN,UAAU;CACV,qBAAqB;EACnB,OAAO;GAAE,KAAK;GAAsB,UAAU;EAAQ;EACtD,MAAM;GAAE,KAAK;GAAqB,IAAI;EAA6B;CACrE;AACF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as splitClassTokens, t as flattenTransitionTokens } from "./classTokens-8v2XC74x.js";
|
|
2
|
-
import {
|
|
2
|
+
import { n as panelPopTransition, t as overlayPanelSurfaceClass } from "./overlayPanelSurface-BKeMhRx4.js";
|
|
3
3
|
import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
|
|
4
4
|
//#region src/components/GrAutocomplete/grAutocompleteStyles.ts
|
|
5
5
|
/**
|
|
@@ -63,7 +63,7 @@ var autocompleteStateClass = "flex items-center justify-center gap-2 px-3 py-4 t
|
|
|
63
63
|
* (card + бордер + shadow-2 + скругление). Держим локальную копию строки,
|
|
64
64
|
* чтобы не тянуть зависимость от `GrSelect` (компоненты гранулярно независимы).
|
|
65
65
|
*/
|
|
66
|
-
var autocompletePanelClasses =
|
|
66
|
+
var autocompletePanelClasses = `${overlayPanelSurfaceClass} overflow-hidden`;
|
|
67
67
|
//#endregion
|
|
68
68
|
//#region src/components/GrAutocomplete/safelist.ts
|
|
69
69
|
var grAutocompleteSafelist = [.../* @__PURE__ */ new Set([
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-CYthTVK2.js","names":[],"sources":["../../src/components/GrAutocomplete/grAutocompleteStyles.ts","../../src/components/GrAutocomplete/safelist.ts","../../src/components/GrAutocomplete/config.ts"],"sourcesContent":["import type { GrComponentSize } from '../shared/sizes'\nimport { overlayPanelSurfaceClass } from '../shared/overlayPanelSurface'\n\nexport type GrAutocompleteSize = GrComponentSize\n/**\n * Тип значения опции — те же примитивы, что у `GrSelect`: значение должно\n * однозначно восстанавливаться из строкового представления.\n */\nexport type GrAutocompleteValue = string | number\n\n/** Опция автокомплита. Метка — строка, значение параметризуется. */\nexport type GrAutocompleteOption<TValue extends GrAutocompleteValue = string> = {\n value: TValue\n label: string\n disabled?: boolean\n}\nexport type GrAutocompleteModelValue<TValue extends GrAutocompleteValue = string> = TValue | TValue[]\n\n/**\n * Оболочка (визуально повторяет `GrInput`): бордер + focus-ring по `focus-within`,\n * т.к. фокус живёт на вложенном `<input role=\"combobox\">`. Flex-контейнер с\n * `flex-wrap` — чтобы chips в multiple-режиме переносились и коробка росла в высоту.\n */\nexport const autocompleteShellBase = 'relative flex w-full flex-wrap items-center gap-1 rounded-[var(--gr-radius-control)] border text-[var(--gr-fg)] transition-colors duration-[var(--gr-duration-fast)] focus-within:ring-2 focus-within:ring-[var(--gr-ring)]'\n\nexport const autocompleteShellEnabledClass = 'bg-[var(--gr-bg)]'\n\n/**\n * Заблокированная оболочка гасится фоном, а не `opacity` (как `GrInput`):\n * прозрачность разбавляет выверенные на AA токены текста и роняет контраст.\n * Фон взаимоисключающий с `autocompleteShellEnabledClass` — два `bg-*` одной\n * специфичности разрулил бы порядок в сгенерированном CSS, а не порядок в\n * списке классов.\n */\nexport const autocompleteShellDisabledClass = 'bg-[var(--gr-muted)] text-[var(--gr-muted-fg)] cursor-not-allowed'\n\n/**\n * Ошибка валидации красится своей ролью, а не декоративным тоном `danger`:\n * тема вправе развести вердикт валидации и подсветку по решению разработчика.\n */\nexport const invalidShellClass = 'border-[var(--gr-invalid-brd)] focus-within:ring-[var(--gr-invalid-ring)]'\n\n// Размеры совпадают с `GrInput`/`GrSelect` (h → min-h, чтобы multiple мог расти).\nexport const autocompleteSizeClassBySize: Record<GrAutocompleteSize, string> = {\n xs: 'min-h-7 px-2.5 py-1 text-[length:var(--gr-control-text-xs)] leading-[var(--gr-control-leading-xs)]',\n sm: 'min-h-8 px-3 py-1 text-[length:var(--gr-control-text-sm)] leading-[var(--gr-control-leading-sm)]',\n md: 'min-h-10 px-3 py-1.5 text-[length:var(--gr-control-text-md)] leading-[var(--gr-control-leading-md)]',\n lg: 'min-h-11 px-4 py-2 text-[length:var(--gr-control-text-lg)] leading-[var(--gr-control-leading-lg)]',\n}\n\nexport function autocompleteShellClass(options: {\n size: GrAutocompleteSize\n disabled: boolean\n invalid: boolean\n}): string {\n return [\n autocompleteShellBase,\n autocompleteSizeClassBySize[options.size],\n options.invalid ? invalidShellClass : 'border-[var(--gr-brd)]',\n options.disabled ? autocompleteShellDisabledClass : autocompleteShellEnabledClass,\n ]\n .filter(Boolean)\n .join(' ')\n}\n\n/** Общая подсветка наведения и активной опции. */\nconst autocompleteOptionHighlight = 'bg-[color-mix(in_srgb,var(--gr-muted)_30%,transparent)]'\n\nexport const autocompleteOptionBaseClass = 'w-full rounded-[var(--gr-radius-md)] px-3 py-2 text-left text-[length:var(--gr-text-sm)] leading-[var(--gr-leading-sm)]'\nexport const autocompleteOptionActiveClass = autocompleteOptionHighlight\nexport const autocompleteOptionEnabledClass = `hover:${autocompleteOptionHighlight}`\n/** Выключенная опция гасится токеном текста — по той же причине, что и оболочка. */\nexport const autocompleteOptionDisabledClass = 'cursor-not-allowed text-[var(--gr-muted-fg)]'\n\nexport function autocompleteOptionClass(options: { disabled: boolean, active: boolean }): string {\n return [\n autocompleteOptionBaseClass,\n options.disabled ? autocompleteOptionDisabledClass : autocompleteOptionEnabledClass,\n !options.disabled && options.active ? autocompleteOptionActiveClass : '',\n ]\n .filter(Boolean)\n .join(' ')\n}\n\n/**\n * Строка состояния панели: загрузка, «введите ещё N», «ничего не найдено».\n *\n * По центру и с двойным вертикальным воздухом — как у `GrSelect` и палитры команд.\n * Слева, как у опций, она стоять не может: опции лежат внутри listbox с его `p-1`,\n * а состояние — сиблинг, и текст расходился с опциями на 4px.\n */\nexport const autocompleteStateClass = 'flex items-center justify-center gap-2 px-3 py-4 text-center text-[length:var(--gr-text-sm)] leading-[var(--gr-leading-sm)] text-[var(--gr-muted-fg)]'\n\n/**\n * Панель списка опций — тот же «язык» поверхностей, что у `GrSelect`\n * (card + бордер + shadow-2 + скругление). Держим локальную копию строки,\n * чтобы не тянуть зависимость от `GrSelect` (компоненты гранулярно независимы).\n */\nexport const autocompletePanelClasses = `${overlayPanelSurfaceClass} overflow-hidden`\n","import { flattenTransitionTokens, splitClassTokens } from '../shared/classTokens'\nimport { panelPopTransition } from '../shared/overlayTransition'\nimport {\n autocompleteOptionActiveClass,\n autocompleteOptionBaseClass,\n autocompleteOptionDisabledClass,\n autocompleteOptionEnabledClass,\n autocompletePanelClasses,\n autocompleteShellBase,\n autocompleteShellDisabledClass,\n autocompleteShellEnabledClass,\n autocompleteSizeClassBySize,\n autocompleteStateClass,\n invalidShellClass,\n} from './grAutocompleteStyles'\n\n// Всё, что живёт в `grAutocompleteStyles.ts`: и вычисляемые мапы, и строковые\n// литералы оболочки, опций и панели (чип — это `GrBadge`, его safelist приезжает\n// зависимостью). Хелпер уезжает в общий\n// `dist/chunks/`, вне области скана компонента — гейт `src/__tests__/safelist.test.ts`.\nexport const grAutocompleteSafelist = [...new Set([\n ...Object.values(autocompleteSizeClassBySize).flatMap(splitClassTokens),\n ...splitClassTokens(autocompleteShellBase),\n ...splitClassTokens(autocompleteShellEnabledClass),\n ...splitClassTokens(autocompleteShellDisabledClass),\n ...splitClassTokens(autocompletePanelClasses),\n ...splitClassTokens(autocompleteOptionBaseClass),\n ...splitClassTokens(autocompleteOptionEnabledClass),\n ...splitClassTokens(autocompleteOptionActiveClass),\n ...splitClassTokens(autocompleteOptionDisabledClass),\n ...splitClassTokens(autocompleteStateClass),\n ...splitClassTokens(invalidShellClass),\n ...splitClassTokens('border-[var(--gr-brd)]'),\n // Набор перехода панели общий на пять компонентов и живёт безадресным\n // модулем в `shared/`: в `dist` он лежит в общем чанке, который пресет не\n // сканирует, поэтому объявить его обязан каждый потребитель.\n ...flattenTransitionTokens(panelPopTransition),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grAutocompleteSafelist } from './safelist'\n\nexport const grAutocompleteConfig = defineGranularComponent(import.meta.url, {\n name: 'GrAutocomplete',\n dependencies: ['GrChip'],\n safelist: grAutocompleteSafelist,\n})\n"],"mappings":";;;;;;;;;AAuBA,IAAa,wBAAwB;AAErC,IAAa,gCAAgC;;;;;;;;AAS7C,IAAa,iCAAiC;;;;;AAM9C,IAAa,oBAAoB;AAGjC,IAAa,8BAAkE;CAC7E,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,SAAgB,uBAAuB,SAI5B;CACT,OAAO;EACL;EACA,4BAA4B,QAAQ;EACpC,QAAQ,UAAU,oBAAoB;EACtC,QAAQ,WAAW,iCAAiC;CACtD,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;AACb;;AAGA,IAAM,8BAA8B;AAEpC,IAAa,8BAA8B;AAC3C,IAAa,gCAAgC;AAC7C,IAAa,iCAAiC,SAAS;;AAEvD,IAAa,kCAAkC;AAE/C,SAAgB,wBAAwB,SAAyD;CAC/F,OAAO;EACL;EACA,QAAQ,WAAW,kCAAkC;EACrD,CAAC,QAAQ,YAAY,QAAQ,SAAS,gCAAgC;CACxE,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;AACb;;;;;;;;AASA,IAAa,yBAAyB;;;;;;AAOtC,IAAa,2BAA2B,GAAG,yBAAyB;;;AC9EpE,IAAa,yBAAyB,CAAC,mBAAG,IAAI,IAAI;CAChD,GAAG,OAAO,OAAO,2BAA2B,CAAC,CAAC,QAAQ,gBAAgB;CACtE,GAAG,iBAAiB,qBAAqB;CACzC,GAAG,iBAAiB,6BAA6B;CACjD,GAAG,iBAAiB,8BAA8B;CAClD,GAAG,iBAAiB,wBAAwB;CAC5C,GAAG,iBAAiB,2BAA2B;CAC/C,GAAG,iBAAiB,8BAA8B;CAClD,GAAG,iBAAiB,6BAA6B;CACjD,GAAG,iBAAiB,+BAA+B;CACnD,GAAG,iBAAiB,sBAAsB;CAC1C,GAAG,iBAAiB,iBAAiB;CACrC,GAAG,iBAAiB,wBAAwB;CAI5C,GAAG,wBAAwB,kBAAkB;AAC/C,CAAC,CAAC;;;ACjCF,IAAa,uBAAuB,wBAAwB,OAAO,KAAK,KAAK;CAC3E,MAAM;CACN,cAAc,CAAC,QAAQ;CACvB,UAAU;AACZ,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { defineGranularComponent } from "@feugene/unocss-preset-granular/contrac
|
|
|
2
2
|
//#region src/components/GrContextMenu/config.ts
|
|
3
3
|
var grContextMenuConfig = defineGranularComponent(import.meta.url, {
|
|
4
4
|
name: "GrContextMenu",
|
|
5
|
+
safelist: ["[--gr-popover-max-width:100vw]"],
|
|
5
6
|
dependencies: ["GrPopover", "GrDropdownMenu"]
|
|
6
7
|
});
|
|
7
8
|
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-CsCUuukB.js","names":[],"sources":["../../src/components/GrContextMenu/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grContextMenuConfig = defineGranularComponent(import.meta.url, {\n name: 'GrContextMenu',\n // Хук снятия потолка ширины стоит в шаблоне литералом, но объявлен и здесь:\n // цена ошибки — меню, вылезающее за край панели, а цена строки — ноль.\n safelist: ['[--gr-popover-max-width:100vw]'],\n // Компонент рендерит и слой, и пункты: без обоих рёбер у потребителя,\n // выбравшего только контекстное меню, панель приедет без фона, а пункты — без цветов.\n dependencies: ['GrPopover', 'GrDropdownMenu'],\n})\n"],"mappings":";;AAEA,IAAa,sBAAsB,wBAAwB,OAAO,KAAK,KAAK;CAC1E,MAAM;CAGN,UAAU,CAAC,gCAAgC;CAG3C,cAAc,CAAC,aAAa,gBAAgB;AAC9C,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { n as splitClassTokens, t as flattenTransitionTokens } from "./classTokens-8v2XC74x.js";
|
|
2
|
-
import {
|
|
3
|
-
import { a as
|
|
2
|
+
import { n as panelPopTransition } from "./overlayPanelSurface-BKeMhRx4.js";
|
|
3
|
+
import { a as overlayOriginClassByPlacement, i as popoverPanelBaseClass, n as panelSizes, r as panelSizesFlush } from "./grPopoverStyles-DKwigt7b.js";
|
|
4
4
|
import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
|
|
5
5
|
//#region src/components/GrPopover/safelist.ts
|
|
6
6
|
var grPopoverSafelist = [.../* @__PURE__ */ new Set([
|
|
7
7
|
...Object.values(panelSizes).flatMap(splitClassTokens),
|
|
8
8
|
...Object.values(panelSizesFlush).flatMap(splitClassTokens),
|
|
9
|
-
...Object.values(
|
|
9
|
+
...Object.values(overlayOriginClassByPlacement).flatMap(splitClassTokens),
|
|
10
10
|
...splitClassTokens(popoverPanelBaseClass),
|
|
11
|
+
...splitClassTokens("inline-block max-w-full block w-full"),
|
|
11
12
|
...flattenTransitionTokens(panelPopTransition)
|
|
12
13
|
])];
|
|
13
14
|
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-DBXCIb6r2.js","names":[],"sources":["../../src/components/GrPopover/safelist.ts","../../src/components/GrPopover/config.ts"],"sourcesContent":["import { flattenTransitionTokens, splitClassTokens } from '../shared/classTokens'\nimport { panelPopTransition } from '../shared/overlayTransition'\nimport { overlayOriginClassByPlacement } from '../shared/overlayOrigin'\nimport { panelSizes, panelSizesFlush, popoverPanelBaseClass } from './grPopoverStyles'\n\nexport const grPopoverSafelist = [...new Set([\n ...Object.values(panelSizes).flatMap(splitClassTokens),\n ...Object.values(panelSizesFlush).flatMap(splitClassTokens),\n ...Object.values(overlayOriginClassByPlacement).flatMap(splitClassTokens),\n // Базовый класс живёт литералом в `grPopoverStyles.ts`, а такой хелпер на\n // сборке уезжает в общий чанк, которого скан не видит (см. gotchas.md §2).\n ...splitClassTokens(popoverPanelBaseClass),\n // Обёртка триггера: две взаимоисключающие раскладки. Обе объявлены, потому\n // что в разметке они приезжают тернарником, а не отдельными литералами.\n ...splitClassTokens('inline-block max-w-full block w-full'),\n // Набор перехода панели общий на пять компонентов и живёт безадресным\n // модулем в `shared/`: в `dist` он лежит в общем чанке, который пресет не\n // сканирует, поэтому объявить его обязан каждый потребитель.\n ...flattenTransitionTokens(panelPopTransition),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grPopoverSafelist } from './safelist'\n\nexport const grPopoverConfig = defineGranularComponent(import.meta.url, {\n name: 'GrPopover',\n safelist: grPopoverSafelist,\n})\n"],"mappings":";;;;;AAKA,IAAa,oBAAoB,CAAC,mBAAG,IAAI,IAAI;CAC3C,GAAG,OAAO,OAAO,UAAU,CAAC,CAAC,QAAQ,gBAAgB;CACrD,GAAG,OAAO,OAAO,eAAe,CAAC,CAAC,QAAQ,gBAAgB;CAC1D,GAAG,OAAO,OAAO,6BAA6B,CAAC,CAAC,QAAQ,gBAAgB;CAGxE,GAAG,iBAAiB,qBAAqB;CAGzC,GAAG,iBAAiB,sCAAsC;CAI1D,GAAG,wBAAwB,kBAAkB;AAC/C,CAAC,CAAC;;;ACfF,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK;CACtE,MAAM;CACN,UAAU;AACZ,CAAC"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { n as splitClassTokens, t as flattenTransitionTokens } from "./classTokens-8v2XC74x.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { n as panelPopTransition } from "./overlayPanelSurface-BKeMhRx4.js";
|
|
3
|
+
import { a as overlayOriginClassByPlacement } from "./grPopoverStyles-DKwigt7b.js";
|
|
4
4
|
import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
|
|
5
5
|
//#region src/components/GrDropdown/safelist.ts
|
|
6
6
|
var grDropdownSafelist = [.../* @__PURE__ */ new Set([
|
|
7
|
-
...Object.values(
|
|
8
|
-
...splitClassTokens(
|
|
7
|
+
...Object.values(overlayOriginClassByPlacement).flatMap(splitClassTokens),
|
|
8
|
+
...splitClassTokens("p-1"),
|
|
9
9
|
...flattenTransitionTokens(panelPopTransition)
|
|
10
10
|
])];
|
|
11
11
|
//#endregion
|
|
12
12
|
//#region src/components/GrDropdown/config.ts
|
|
13
13
|
var grDropdownConfig = defineGranularComponent(import.meta.url, {
|
|
14
14
|
name: "GrDropdown",
|
|
15
|
-
safelist: grDropdownSafelist
|
|
15
|
+
safelist: grDropdownSafelist,
|
|
16
|
+
dependencies: ["GrPopover"]
|
|
16
17
|
});
|
|
17
18
|
//#endregion
|
|
18
19
|
export { grDropdownSafelist as n, grDropdownConfig as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-DGGaKf4R.js","names":[],"sources":["../../src/components/GrDropdown/safelist.ts","../../src/components/GrDropdown/config.ts"],"sourcesContent":["import { flattenTransitionTokens, splitClassTokens } from '../shared/classTokens'\nimport { overlayOriginClassByPlacement } from '../shared/overlayOrigin'\nimport { panelPopTransition } from '../shared/overlayTransition'\nimport {\n dropdownContentBaseClass,\n} from './grDropdownStyles'\n\n// И динамические токены (`resolvedPlacement`), и литералы отделки панели:\n// `grDropdownStyles.ts` уезжает в общий `dist/chunks/`, вне области скана\n// компонента — гейт `src/__tests__/safelist.test.ts`.\nexport const grDropdownSafelist = [...new Set([\n ...Object.values(overlayOriginClassByPlacement).flatMap(splitClassTokens),\n ...splitClassTokens(dropdownContentBaseClass),\n // Набор перехода панели общий на пять компонентов и живёт безадресным\n // модулем в `shared/`: в `dist` он лежит в общем чанке, который пресет не\n // сканирует, поэтому объявить его обязан каждый потребитель.\n ...flattenTransitionTokens(panelPopTransition),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grDropdownSafelist } from './safelist'\n\nexport const grDropdownConfig = defineGranularComponent(import.meta.url, {\n name: 'GrDropdown',\n safelist: grDropdownSafelist,\n // Панель, слой и портал рисует `GrPopover`: без ребра графа потребитель,\n // выбравший одно меню, получил бы панель без поверхности и без фона.\n dependencies: ['GrPopover'],\n})\n"],"mappings":";;;;;AAUA,IAAa,qBAAqB,CAAC,mBAAG,IAAI,IAAI;CAC5C,GAAG,OAAO,OAAO,6BAA6B,CAAC,CAAC,QAAQ,gBAAgB;CACxE,GAAG,iBAAA,KAAyC;CAI5C,GAAG,wBAAwB,kBAAkB;AAC/C,CAAC,CAAC;;;ACbF,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK;CACvE,MAAM;CACN,UAAU;CAGV,cAAc,CAAC,WAAW;AAC5B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as splitClassTokens, t as flattenTransitionTokens } from "./classTokens-8v2XC74x.js";
|
|
2
|
-
import {
|
|
3
|
-
import { C as selectSizeClassBySize, S as selectOptionWidthClass, _ as selectOptionActiveClass, a as grSelectLinkNativeLabelDisabledClass, b as selectOptionEnabledClass, f as invalidBorderClass, g as selectLinkVariantClassByVariant, h as selectLinkSizeClassBySize, m as selectLinkNativeLabelVariantClassByVariant, n as defaultBaseClass, o as grSelectLinkNativeLabelFocusClass, p as linkBaseClass, r as grSelectLinkNativeLabelBaseClass, s as grSelectLinkNativeOverlayClass, t as borderClassByState, u as grSelectPanelClasses, v as selectOptionBaseClass, x as selectOptionLinkWidthClass, y as selectOptionDisabledClass } from "./grSelectStyles-
|
|
2
|
+
import { n as panelPopTransition } from "./overlayPanelSurface-BKeMhRx4.js";
|
|
3
|
+
import { C as selectSizeClassBySize, S as selectOptionWidthClass, _ as selectOptionActiveClass, a as grSelectLinkNativeLabelDisabledClass, b as selectOptionEnabledClass, f as invalidBorderClass, g as selectLinkVariantClassByVariant, h as selectLinkSizeClassBySize, m as selectLinkNativeLabelVariantClassByVariant, n as defaultBaseClass, o as grSelectLinkNativeLabelFocusClass, p as linkBaseClass, r as grSelectLinkNativeLabelBaseClass, s as grSelectLinkNativeOverlayClass, t as borderClassByState, u as grSelectPanelClasses, v as selectOptionBaseClass, x as selectOptionLinkWidthClass, y as selectOptionDisabledClass } from "./grSelectStyles-D9EQ-pgK.js";
|
|
4
4
|
import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
|
|
5
5
|
//#region src/components/GrSelect/safelist.ts
|
|
6
6
|
var grSelectSafelist = [.../* @__PURE__ */ new Set([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-DOYz_SVK.js","names":[],"sources":["../../src/components/GrSelect/safelist.ts","../../src/components/GrSelect/config.ts"],"sourcesContent":["import { flattenTransitionTokens, splitClassTokens } from '../shared/classTokens'\nimport { panelPopTransition } from '../shared/overlayTransition'\nimport {\n borderClassByState,\n defaultBaseClass,\n grSelectLinkNativeLabelBaseClass,\n grSelectLinkNativeLabelDisabledClass,\n grSelectLinkNativeLabelFocusClass,\n grSelectLinkNativeOverlayClass,\n grSelectPanelClasses,\n invalidBorderClass,\n linkBaseClass,\n selectOptionActiveClass,\n selectOptionBaseClass,\n selectOptionDisabledClass,\n selectOptionEnabledClass,\n selectOptionLinkWidthClass,\n selectOptionWidthClass,\n selectLinkNativeLabelVariantClassByVariant,\n selectLinkSizeClassBySize,\n selectLinkVariantClassByVariant,\n selectSizeClassBySize,\n} from './grSelectStyles'\n\n// Всё, что живёт в `grSelectStyles.ts`: и вычисляемые мапы, и строковые литералы\n// оболочки, link-режима, native-overlay и панели. Хелпер уезжает в общий\n// `dist/chunks/`, вне области скана компонента — гейт `src/__tests__/safelist.test.ts`.\nexport const grSelectSafelist = [...new Set([\n ...Object.values(borderClassByState).flatMap(splitClassTokens),\n ...splitClassTokens(invalidBorderClass),\n ...Object.values(selectSizeClassBySize).flatMap(splitClassTokens),\n ...splitClassTokens(defaultBaseClass),\n ...splitClassTokens(linkBaseClass),\n ...splitClassTokens(grSelectLinkNativeOverlayClass),\n ...splitClassTokens(grSelectLinkNativeLabelBaseClass),\n ...splitClassTokens(grSelectLinkNativeLabelDisabledClass),\n ...splitClassTokens(grSelectLinkNativeLabelFocusClass),\n ...splitClassTokens(grSelectPanelClasses),\n ...Object.values(selectLinkSizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(selectLinkVariantClassByVariant).flatMap(splitClassTokens),\n ...Object.values(selectLinkNativeLabelVariantClassByVariant).flatMap(splitClassTokens),\n ...splitClassTokens('no-underline underline underline-offset-4 hover:underline hover:underline-offset-4 peer-hover:underline peer-hover:underline-offset-4'),\n ...splitClassTokens('disabled:cursor-not-allowed disabled:text-[var(--gr-muted-fg)] disabled:no-underline'),\n ...splitClassTokens('disabled:cursor-not-allowed disabled:bg-[var(--gr-muted)] disabled:text-[var(--gr-muted-fg)]'),\n ...splitClassTokens(selectOptionBaseClass),\n ...splitClassTokens(selectOptionWidthClass),\n ...splitClassTokens(selectOptionLinkWidthClass),\n ...splitClassTokens(selectOptionEnabledClass),\n ...splitClassTokens(selectOptionActiveClass),\n ...splitClassTokens(selectOptionDisabledClass),\n ...splitClassTokens('appearance-none pr-9'),\n ...splitClassTokens('inline-flex items-center gap-1 text-left'),\n ...splitClassTokens('flex items-center justify-between text-left'),\n ...splitClassTokens('block min-w-full w-max whitespace-nowrap'),\n // Набор перехода панели общий на пять компонентов и живёт безадресным\n // модулем в `shared/`: в `dist` он лежит в общем чанке, который пресет не\n // сканирует, поэтому объявить его обязан каждый потребитель.\n ...flattenTransitionTokens(panelPopTransition),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grSelectSafelist } from './safelist'\n\nexport const grSelectConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSelect',\n dependencies: ['GrChip', 'GrInput'],\n safelist: grSelectSafelist,\n})\n"],"mappings":";;;;;AA2BA,IAAa,mBAAmB,CAAC,mBAAG,IAAI,IAAI;CAC1C,GAAG,OAAO,OAAO,kBAAkB,CAAC,CAAC,QAAQ,gBAAgB;CAC7D,GAAG,iBAAiB,kBAAkB;CACtC,GAAG,OAAO,OAAO,qBAAqB,CAAC,CAAC,QAAQ,gBAAgB;CAChE,GAAG,iBAAiB,gBAAgB;CACpC,GAAG,iBAAiB,aAAa;CACjC,GAAG,iBAAiB,8BAA8B;CAClD,GAAG,iBAAiB,gCAAgC;CACpD,GAAG,iBAAiB,oCAAoC;CACxD,GAAG,iBAAiB,iCAAiC;CACrD,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,OAAO,OAAO,yBAAyB,CAAC,CAAC,QAAQ,gBAAgB;CACpE,GAAG,OAAO,OAAO,+BAA+B,CAAC,CAAC,QAAQ,gBAAgB;CAC1E,GAAG,OAAO,OAAO,0CAA0C,CAAC,CAAC,QAAQ,gBAAgB;CACrF,GAAG,iBAAiB,uIAAuI;CAC3J,GAAG,iBAAiB,sFAAsF;CAC1G,GAAG,iBAAiB,8FAA8F;CAClH,GAAG,iBAAiB,qBAAqB;CACzC,GAAG,iBAAiB,sBAAsB;CAC1C,GAAG,iBAAiB,0BAA0B;CAC9C,GAAG,iBAAiB,wBAAwB;CAC5C,GAAG,iBAAiB,uBAAuB;CAC3C,GAAG,iBAAiB,yBAAyB;CAC7C,GAAG,iBAAiB,sBAAsB;CAC1C,GAAG,iBAAiB,0CAA0C;CAC9D,GAAG,iBAAiB,6CAA6C;CACjE,GAAG,iBAAiB,0CAA0C;CAI9D,GAAG,wBAAwB,kBAAkB;AAC/C,CAAC,CAAC;;;ACtDF,IAAa,iBAAiB,wBAAwB,OAAO,KAAK,KAAK;CACrE,MAAM;CACN,cAAc,CAAC,UAAU,SAAS;CAClC,UAAU;AACZ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as splitClassTokens, t as flattenTransitionTokens } from "./classTokens-8v2XC74x.js";
|
|
2
|
-
import {
|
|
2
|
+
import { n as panelPopTransition, t as overlayPanelSurfaceClass } from "./overlayPanelSurface-BKeMhRx4.js";
|
|
3
3
|
import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
|
|
4
4
|
//#region src/components/GrTreeSelect/grTreeSelectStyles.ts
|
|
5
5
|
var sizeClassBySize = {
|
|
@@ -47,7 +47,7 @@ function grTreeSelectClass(options) {
|
|
|
47
47
|
options.invalid ? invalidBorderClass : borderClassByState[options.state]
|
|
48
48
|
].join(" ");
|
|
49
49
|
}
|
|
50
|
-
var grTreeSelectPanelClass =
|
|
50
|
+
var grTreeSelectPanelClass = `${overlayPanelSurfaceClass} overflow-hidden`;
|
|
51
51
|
/**
|
|
52
52
|
* Строка состояния панели: загрузка и «нет данных». По центру и с двойным
|
|
53
53
|
* воздухом — тот же язык, что у `GrSelect`, `GrAutocomplete` и палитры команд.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-DUNH02Fg.js","names":[],"sources":["../../src/components/GrTreeSelect/grTreeSelectStyles.ts","../../src/components/GrTreeSelect/safelist.ts","../../src/components/GrTreeSelect/config.ts"],"sourcesContent":["import type { GrControlState } from '../shared/sizes'\nimport { overlayPanelSurfaceClass } from '../shared/overlayPanelSurface'\n\nimport type { GrInputSize } from '../GrInput'\n\nexport type GrTreeSelectState = GrControlState\n\nexport const sizeClassBySize: Record<GrInputSize, string> = {\n xs: 'h-7 px-2.5 text-[length:var(--gr-control-text-xs)] leading-[var(--gr-control-leading-xs)]',\n sm: 'h-8 px-3 text-[length:var(--gr-control-text-sm)] leading-[var(--gr-control-leading-sm)]',\n md: 'h-10 px-3 text-[length:var(--gr-control-text-md)] leading-[var(--gr-control-leading-md)]',\n lg: 'h-11 px-4 text-[length:var(--gr-control-text-lg)] leading-[var(--gr-control-leading-lg)]',\n}\n\n/**\n * Горизонтальный отступ из `sizeClassBySize`, но числом: аддоны задают паддинг\n * инлайн-стилем, а он перекрывает класс — значение нужно обеим формам, и\n * расходиться им нельзя.\n */\nexport const paddingX: Record<GrInputSize, string> = {\n xs: '10px',\n sm: '12px',\n md: '12px',\n lg: '16px',\n}\n\n/** Ширина зоны шеврона/крестика справа (`pr-9` в классе триггера). */\nexport const trailingZoneWidth = '2.25rem'\n\nexport const borderClassByState: Record<GrTreeSelectState, string> = {\n default: 'border-[var(--gr-brd)]',\n success: 'border-[var(--gr-success)] focus-visible:ring-[var(--gr-success)]',\n warning: 'border-[var(--gr-warning)] focus-visible:ring-[var(--gr-warning)]',\n danger: 'border-[var(--gr-danger)] focus-visible:ring-[var(--gr-danger)]',\n}\n\n/**\n * Ошибка валидации красится своей ролью, а не декоративным тоном `danger`:\n * `state=\"danger\"` — это подсветка по решению разработчика, `invalid` — вердикт\n * валидации, и тема вправе развести их по цвету.\n */\nexport const invalidBorderClass = 'border-[var(--gr-invalid-brd)] focus-visible:ring-[var(--gr-invalid-ring)]'\n\n/**\n * Disabled красится фоном и цветом текста, а не прозрачностью: `opacity`\n * разбавляет выверенные на AA токены и роняет контраст подписи.\n */\nexport const shellEnabledClass = 'bg-[var(--gr-bg)] text-[var(--gr-fg)]'\nexport const shellDisabledClass = 'bg-[var(--gr-muted)] text-[var(--gr-muted-fg)] cursor-not-allowed'\n\nexport function grTreeSelectClass(options: {\n size: GrInputSize\n state: GrTreeSelectState\n invalid: boolean\n disabled?: boolean\n}): string {\n return [\n sizeClassBySize[options.size],\n 'pr-9',\n options.disabled ? shellDisabledClass : shellEnabledClass,\n options.invalid ? invalidBorderClass : borderClassByState[options.state],\n ].join(' ')\n}\n\nexport const grTreeSelectPanelClass = `${overlayPanelSurfaceClass} overflow-hidden`\n\n/**\n * Строка состояния панели: загрузка и «нет данных». По центру и с двойным\n * воздухом — тот же язык, что у `GrSelect`, `GrAutocomplete` и палитры команд.\n * Слева она расходилась с содержимым дерева на паддинг скроллера.\n */\nexport const grTreeSelectStateClass = 'flex items-center justify-center gap-2 px-3 py-4 text-center text-[length:var(--gr-text-sm)] leading-[var(--gr-leading-sm)] text-[var(--gr-muted-fg)]'\n","import { flattenTransitionTokens, splitClassTokens } from '../shared/classTokens'\nimport { panelPopTransition } from '../shared/overlayTransition'\nimport {\n borderClassByState,\n grTreeSelectPanelClass,\n grTreeSelectStateClass,\n invalidBorderClass,\n shellDisabledClass,\n shellEnabledClass,\n sizeClassBySize,\n} from './grTreeSelectStyles'\n\nexport const grTreeSelectSafelist = [...new Set([\n ...Object.values(sizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(borderClassByState).flatMap(splitClassTokens),\n ...splitClassTokens(invalidBorderClass),\n 'pr-9',\n ...splitClassTokens(shellEnabledClass),\n ...splitClassTokens(shellDisabledClass),\n ...splitClassTokens(grTreeSelectPanelClass),\n ...splitClassTokens(grTreeSelectStateClass),\n // Набор перехода панели общий на пять компонентов и живёт безадресным\n // модулем в `shared/`: в `dist` он лежит в общем чанке, который пресет не\n // сканирует, поэтому объявить его обязан каждый потребитель.\n ...flattenTransitionTokens(panelPopTransition),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grTreeSelectSafelist } from './safelist'\n\nexport const grTreeSelectConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTreeSelect',\n safelist: grTreeSelectSafelist,\n dependencies: ['GrInput', 'GrTree'],\n})\n"],"mappings":";;;;AAOA,IAAa,kBAA+C;CAC1D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;;;;;AAOA,IAAa,WAAwC;CACnD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;AAGA,IAAa,oBAAoB;AAEjC,IAAa,qBAAwD;CACnE,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;AACV;;;;;;AAOA,IAAa,qBAAqB;;;;;AAMlC,IAAa,oBAAoB;AACjC,IAAa,qBAAqB;AAElC,SAAgB,kBAAkB,SAKvB;CACT,OAAO;EACL,gBAAgB,QAAQ;EACxB;EACA,QAAQ,WAAW,qBAAqB;EACxC,QAAQ,UAAU,qBAAqB,mBAAmB,QAAQ;CACpE,CAAC,CAAC,KAAK,GAAG;AACZ;AAEA,IAAa,yBAAyB,GAAG,yBAAyB;;;;;;AAOlE,IAAa,yBAAyB;;;AC3DtC,IAAa,uBAAuB,CAAC,mBAAG,IAAI,IAAI;CAC9C,GAAG,OAAO,OAAO,eAAe,CAAC,CAAC,QAAQ,gBAAgB;CAC1D,GAAG,OAAO,OAAO,kBAAkB,CAAC,CAAC,QAAQ,gBAAgB;CAC7D,GAAG,iBAAiB,kBAAkB;CACtC;CACA,GAAG,iBAAiB,iBAAiB;CACrC,GAAG,iBAAiB,kBAAkB;CACtC,GAAG,iBAAiB,sBAAsB;CAC1C,GAAG,iBAAiB,sBAAsB;CAI1C,GAAG,wBAAwB,kBAAkB;AAC/C,CAAC,CAAC;;;ACrBF,IAAa,qBAAqB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,UAAU;CACV,cAAc,CAAC,WAAW,QAAQ;AACpC,CAAC"}
|
|
@@ -2717,6 +2717,13 @@ var grComponentTokens = [
|
|
|
2717
2717
|
"default": "56px",
|
|
2718
2718
|
"description": "Высота шапки. Ею же считается отступ содержимого под прилипшей шапкой."
|
|
2719
2719
|
},
|
|
2720
|
+
{
|
|
2721
|
+
"owner": "GrPopover",
|
|
2722
|
+
"name": "--gr-popover-max-width",
|
|
2723
|
+
"kind": "hook",
|
|
2724
|
+
"default": "22rem",
|
|
2725
|
+
"description": "Потолок ширины панели. Содержимое шире прозы — тулбар, палитра, сетка — снимает потолок значением `100vw`. Шире вьюпорта панель не станет и тогда: этот предел — второй операнд `min()` и снаружи не отключается."
|
|
2726
|
+
},
|
|
2720
2727
|
{
|
|
2721
2728
|
"owner": "GrProgressBar",
|
|
2722
2729
|
"name": "--gr-progress-bg",
|