@feugene/granularity 0.29.0 → 0.30.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.
Files changed (121) hide show
  1. package/README.md +9 -6
  2. package/dist/chunks/{config-_jO3q1Le.js → config-3bQeQvqd.js} +1 -1
  3. package/dist/chunks/{config-_jO3q1Le.js.map → config-3bQeQvqd.js.map} +1 -1
  4. package/dist/chunks/{config-Dpk-eVkS.js → config-DUbbGcfw.js} +12 -1
  5. package/dist/chunks/config-DUbbGcfw.js.map +1 -0
  6. package/dist/chunks/{grIconStyles-B6BRqUld.js → grIconStyles-BwBrJY1E.js} +8 -5
  7. package/dist/chunks/grIconStyles-BwBrJY1E.js.map +1 -0
  8. package/dist/chunks/grSelectStyles-Cdtd10eY.js.map +1 -1
  9. package/dist/chunks/{granular-provider-Dds_519x.js → granular-provider-CHFaw3wU.js} +2 -2
  10. package/dist/chunks/{granular-provider-Dds_519x.js.map → granular-provider-CHFaw3wU.js.map} +1 -1
  11. package/dist/chunks/renamedProp-BwcN-SJg.js +33 -0
  12. package/dist/chunks/renamedProp-BwcN-SJg.js.map +1 -0
  13. package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-BwhUTqmG.js → GrAutocomplete-X6RlmiJQ.js} +3 -3
  14. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-X6RlmiJQ.js.map +1 -0
  15. package/dist/components/GrAutocomplete/index.js +1 -1
  16. package/dist/components/GrAutocomplete/styles.css +1 -1
  17. package/dist/components/GrBadge/chunks/{GrBadge-BM3f9PME.js → GrBadge-BsoocpF-.js} +4 -2
  18. package/dist/components/GrBadge/chunks/GrBadge-BsoocpF-.js.map +1 -0
  19. package/dist/components/GrBadge/index.js +1 -1
  20. package/dist/components/GrBadge/styles.css +1 -1
  21. package/dist/components/GrBreadcrumbs/chunks/{GrBreadcrumbs-BKOvl8W1.js → GrBreadcrumbs-DRDNan_n.js} +1 -1
  22. package/dist/components/GrBreadcrumbs/chunks/{GrBreadcrumbs-BKOvl8W1.js.map → GrBreadcrumbs-DRDNan_n.js.map} +1 -1
  23. package/dist/components/GrBreadcrumbs/index.js +1 -1
  24. package/dist/components/GrCard/chunks/{GrCard-DR3ehBt8.js → GrCard-BttXz1pQ.js} +19 -6
  25. package/dist/components/GrCard/chunks/GrCard-BttXz1pQ.js.map +1 -0
  26. package/dist/components/GrCard/index.js +2 -2
  27. package/dist/components/GrChip/chunks/{GrChip-Df4orxRH.js → GrChip-C0vU69tf.js} +3 -1
  28. package/dist/components/GrChip/chunks/GrChip-C0vU69tf.js.map +1 -0
  29. package/dist/components/GrChip/index.js +1 -1
  30. package/dist/components/GrCollapse/chunks/{GrCollapse-CytiA2Sx.js → GrCollapse-BlW6ybdL.js} +2 -2
  31. package/dist/components/GrCollapse/chunks/{GrCollapse-CytiA2Sx.js.map → GrCollapse-BlW6ybdL.js.map} +1 -1
  32. package/dist/components/GrCollapse/index.js +1 -1
  33. package/dist/components/GrContextMenu/chunks/{GrContextMenu-BNQDbAsY.js → GrContextMenu-_FKwQvuQ.js} +1 -1
  34. package/dist/components/GrContextMenu/chunks/{GrContextMenu-BNQDbAsY.js.map → GrContextMenu-_FKwQvuQ.js.map} +1 -1
  35. package/dist/components/GrContextMenu/index.js +1 -1
  36. package/dist/components/GrDataTable/chunks/{GrDataTable-DU00V44y.js → GrDataTable-C8a9_nCg.js} +1 -1
  37. package/dist/components/GrDataTable/chunks/{GrDataTable-DU00V44y.js.map → GrDataTable-C8a9_nCg.js.map} +1 -1
  38. package/dist/components/GrDataTable/index.js +1 -1
  39. package/dist/components/GrDrawer/chunks/{GrDrawer-BCreL-eq.js → GrDrawer-B7PiAcbU.js} +1 -1
  40. package/dist/components/GrDrawer/chunks/{GrDrawer-BCreL-eq.js.map → GrDrawer-B7PiAcbU.js.map} +1 -1
  41. package/dist/components/GrDrawer/index.js +1 -1
  42. package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-Cg7qHV9J.js → GrDropdownMenu-GOzuAXsi.js} +1 -1
  43. package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-Cg7qHV9J.js.map → GrDropdownMenu-GOzuAXsi.js.map} +1 -1
  44. package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenuList-RW5IBvmu.js → GrDropdownMenuList-B33ZzwfB.js} +13 -3
  45. package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenuList-RW5IBvmu.js.map → GrDropdownMenuList-B33ZzwfB.js.map} +1 -1
  46. package/dist/components/GrDropdownMenu/index.js +2 -2
  47. package/dist/components/GrEmptyState/chunks/{GrEmptyState-D4T5pzXA.js → GrEmptyState-RqsWvgI9.js} +1 -1
  48. package/dist/components/GrEmptyState/chunks/{GrEmptyState-D4T5pzXA.js.map → GrEmptyState-RqsWvgI9.js.map} +1 -1
  49. package/dist/components/GrEmptyState/index.js +1 -1
  50. package/dist/components/GrFileUpload/chunks/{GrFileUpload-FjbaYGjL.js → GrFileUpload-NsHkRRIa.js} +1 -1
  51. package/dist/components/GrFileUpload/chunks/{GrFileUpload-FjbaYGjL.js.map → GrFileUpload-NsHkRRIa.js.map} +1 -1
  52. package/dist/components/GrFileUpload/index.js +1 -1
  53. package/dist/components/GrFormFile/chunks/{GrFormFile-ChdKlN83.js → GrFormFile-CYtXU9HV.js} +1 -1
  54. package/dist/components/GrFormFile/chunks/{GrFormFile-ChdKlN83.js.map → GrFormFile-CYtXU9HV.js.map} +1 -1
  55. package/dist/components/GrFormFile/index.js +1 -1
  56. package/dist/components/GrIcon/chunks/{GrIcon-Bn1XEriL.js → GrIcon-Dmf0c9ba.js} +1 -1
  57. package/dist/components/GrIcon/chunks/{GrIcon-Bn1XEriL.js.map → GrIcon-Dmf0c9ba.js.map} +1 -1
  58. package/dist/components/GrIcon/index.js +2 -2
  59. package/dist/components/GrImageViewer/chunks/{GrImageViewer-COUcpOgR.js → GrImageViewer-CyVN6Zpc.js} +1 -1
  60. package/dist/components/GrImageViewer/chunks/{GrImageViewer-COUcpOgR.js.map → GrImageViewer-CyVN6Zpc.js.map} +1 -1
  61. package/dist/components/GrImageViewer/index.js +1 -1
  62. package/dist/components/GrInputTag/chunks/{GrInputTag-LP3smqOv.js → GrInputTag-Cj4A9Xgs.js} +2 -2
  63. package/dist/components/GrInputTag/chunks/{GrInputTag-LP3smqOv.js.map → GrInputTag-Cj4A9Xgs.js.map} +1 -1
  64. package/dist/components/GrInputTag/index.js +1 -1
  65. package/dist/components/GrLink/chunks/{GrLink-DAGCFYO7.js → GrLink-DYXw3W9w.js} +1 -1
  66. package/dist/components/GrLink/chunks/{GrLink-DAGCFYO7.js.map → GrLink-DYXw3W9w.js.map} +1 -1
  67. package/dist/components/GrLink/index.js +1 -1
  68. package/dist/components/GrList/chunks/{GrList-DrXrKU37.js → GrList-DmT4qzLO.js} +1 -1
  69. package/dist/components/GrList/chunks/{GrList-DrXrKU37.js.map → GrList-DmT4qzLO.js.map} +1 -1
  70. package/dist/components/GrList/index.js +1 -1
  71. package/dist/components/GrLoading/chunks/{GrLoading-DDD8WAIH.js → GrLoading-CMD3Ri9P.js} +1 -1
  72. package/dist/components/GrLoading/chunks/{GrLoading-DDD8WAIH.js.map → GrLoading-CMD3Ri9P.js.map} +1 -1
  73. package/dist/components/GrLoading/index.js +1 -1
  74. package/dist/components/GrNavbar/chunks/{GrNavbar-DhswlYyh.js → GrNavbar-C5EjMKaC.js} +1 -1
  75. package/dist/components/GrNavbar/chunks/{GrNavbar-DhswlYyh.js.map → GrNavbar-C5EjMKaC.js.map} +1 -1
  76. package/dist/components/GrNavbar/index.js +1 -1
  77. package/dist/components/GrNumberInput/chunks/{GrNumberInput-Daud9Jdm.js → GrNumberInput-DQ59YICu.js} +1 -1
  78. package/dist/components/GrNumberInput/chunks/{GrNumberInput-Daud9Jdm.js.map → GrNumberInput-DQ59YICu.js.map} +1 -1
  79. package/dist/components/GrNumberInput/index.js +1 -1
  80. package/dist/components/GrPagination/chunks/{GrPagination-kQhWlfs-.js → GrPagination-kYCx6PAS.js} +1 -1
  81. package/dist/components/GrPagination/chunks/{GrPagination-kQhWlfs-.js.map → GrPagination-kYCx6PAS.js.map} +1 -1
  82. package/dist/components/GrPagination/index.js +1 -1
  83. package/dist/components/GrSelect/chunks/{GrSelect-D-KU9Lx_.js → GrSelect-CBp0twbF.js} +6 -6
  84. package/dist/components/GrSelect/chunks/GrSelect-CBp0twbF.js.map +1 -0
  85. package/dist/components/GrSelect/index.js +1 -1
  86. package/dist/components/GrSelect/styles.css +1 -1
  87. package/dist/components/GrSidebar/chunks/{GrSidebar-DxPhIiWs.js → GrSidebar-B8EQIlfW.js} +1 -1
  88. package/dist/components/GrSidebar/chunks/{GrSidebar-DxPhIiWs.js.map → GrSidebar-B8EQIlfW.js.map} +1 -1
  89. package/dist/components/GrSidebar/index.js +1 -1
  90. package/dist/components/GrSortableList/chunks/{GrSortableList-DGs3Pi2J.js → GrSortableList-HyKX--rO.js} +1 -1
  91. package/dist/components/GrSortableList/chunks/{GrSortableList-DGs3Pi2J.js.map → GrSortableList-HyKX--rO.js.map} +1 -1
  92. package/dist/components/GrSortableList/index.js +1 -1
  93. package/dist/components/GrToaster/chunks/{GrToaster-CUi3ldJ0.js → GrToaster-Dp7-4B8k.js} +1 -1
  94. package/dist/components/GrToaster/chunks/{GrToaster-CUi3ldJ0.js.map → GrToaster-Dp7-4B8k.js.map} +1 -1
  95. package/dist/components/GrToaster/index.js +1 -1
  96. package/dist/components/GrTooltip/chunks/{GrTooltip-BKFjqu0E.js → GrTooltip-uYETdbCD.js} +1 -1
  97. package/dist/components/GrTooltip/chunks/{GrTooltip-BKFjqu0E.js.map → GrTooltip-uYETdbCD.js.map} +1 -1
  98. package/dist/components/GrTooltip/index.js +1 -1
  99. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-B1GdEn5K.js → GrTreeSelect-CymO68Cv.js} +1 -1
  100. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-CymO68Cv.js.map +1 -0
  101. package/dist/components/GrTreeSelect/index.js +1 -1
  102. package/dist/directives/loading.js +1 -1
  103. package/dist/granular-provider-node.js +1 -1
  104. package/dist/granular-provider.js +1 -1
  105. package/dist/index.js +31 -31
  106. package/dist/types/components/GrCard/GrCard.vue.d.ts +8 -0
  107. package/dist/types/components/GrCard/grCardStyles.d.ts +9 -0
  108. package/dist/types/components/GrDropdownMenu/menuModel.d.ts +20 -2
  109. package/dist/types/components/GrIcon/grIconStyles.d.ts +7 -4
  110. package/dist/types/components/GrSelect/grSelectStyles.d.ts +12 -0
  111. package/dist/types/components/shared/renamedProp.d.ts +19 -0
  112. package/dist/web-types.json +5 -1
  113. package/package.json +2 -2
  114. package/dist/chunks/config-Dpk-eVkS.js.map +0 -1
  115. package/dist/chunks/grIconStyles-B6BRqUld.js.map +0 -1
  116. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-BwhUTqmG.js.map +0 -1
  117. package/dist/components/GrBadge/chunks/GrBadge-BM3f9PME.js.map +0 -1
  118. package/dist/components/GrCard/chunks/GrCard-DR3ehBt8.js.map +0 -1
  119. package/dist/components/GrChip/chunks/GrChip-Df4orxRH.js.map +0 -1
  120. package/dist/components/GrSelect/chunks/GrSelect-D-KU9Lx_.js.map +0 -1
  121. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-B1GdEn5K.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"GrEmptyState-D4T5pzXA.js","names":["$slots"],"sources":["../../../../src/components/GrEmptyState/GrEmptyState.vue","../../../../src/components/GrEmptyState/GrEmptyState.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport IconInbox from '~icons/lucide/inbox'\n\nimport GrIcon from '../GrIcon/GrIcon.vue'\nimport { useGrComponentProp, useGrComponentSize } from '../GrConfigProvider/context'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\n\nimport {\n actionsBaseClass,\n actionsBySize,\n descriptionBaseClass,\n descriptionBySize,\n grEmptyStateRootClass,\n iconBoxBaseClass,\n iconBoxBySize,\n iconSizeBySize,\n titleBaseClass,\n titleBySize,\n type GrEmptyStateHeadingLevel,\n type GrEmptyStateSize,\n type GrEmptyStateVariant,\n} from './grEmptyStateStyles'\n\nexport type {\n GrEmptyStateHeadingLevel,\n GrEmptyStateSize,\n GrEmptyStateVariant,\n} from './grEmptyStateStyles'\n\n/**\n * GrEmptyState — карточка пустого состояния: иконка, заголовок, описание и\n * слот действий.\n *\n * Заголовок — настоящий heading: без него пустое состояние не находится\n * навигацией по заголовкам, а именно оно и объясняет, почему на экране ничего\n * нет.\n */\nexport interface GrEmptyStateProps {\n /** Заголовок. Не задан — берётся из локали; слот `#title` сильнее обоих. */\n title?: string\n description?: string\n size?: GrEmptyStateSize\n /** `ghost` снимает рамку и фон: карточка внутри карточки рисует вторую рамку. */\n variant?: GrEmptyStateVariant\n headingLevel?: GrEmptyStateHeadingLevel\n}\n\nconst props = withDefaults(defineProps<GrEmptyStateProps>(), {\n title: undefined,\n description: undefined,\n size: undefined,\n variant: undefined,\n headingLevel: undefined,\n})\n\nconst slots = defineSlots<{\n /** Иконка вместо встроенной. */\n icon?: () => unknown\n /** Заголовок разметкой: ссылка, выделение, счётчик. */\n title?: () => unknown\n description?: () => unknown\n /** Действия под текстом: центрируются. */\n default?: () => unknown\n}>()\n\nconst { t } = useGranularityTranslations()\n\nconst resolvedSize = useGrComponentSize(() => props.size, { component: 'GrEmptyState' })\nconst resolvedVariant = useGrComponentProp('GrEmptyState', 'variant', () => props.variant, 'outlined')\nconst headingLevel = useGrComponentProp('GrEmptyState', 'headingLevel', () => props.headingLevel, 3)\n\nconst headingTag = computed(() => `h${headingLevel.value}`)\nconst resolvedTitle = computed(() => props.title ?? t('gr.emptyState.title', 'Nothing here yet'))\nconst hasDescription = computed(() => Boolean(props.description) || Boolean(slots.description))\n</script>\n\n<template>\n <div\n data-gr-empty-state\n :class=\"grEmptyStateRootClass({ variant: resolvedVariant, size: resolvedSize })\"\n >\n <div class=\"flex justify-center\">\n <div data-gr-empty-state-icon :class=\"[iconBoxBaseClass, iconBoxBySize[resolvedSize]]\">\n <slot name=\"icon\">\n <GrIcon :size=\"iconSizeBySize[resolvedSize]\">\n <IconInbox aria-hidden=\"true\" />\n </GrIcon>\n </slot>\n </div>\n </div>\n\n <component\n :is=\"headingTag\"\n data-gr-empty-state-title\n :class=\"[titleBaseClass, titleBySize[resolvedSize]]\"\n >\n <slot name=\"title\">\n {{ resolvedTitle }}\n </slot>\n </component>\n\n <div\n v-if=\"hasDescription\"\n data-gr-empty-state-description\n :class=\"[descriptionBaseClass, descriptionBySize[resolvedSize]]\"\n >\n <slot name=\"description\">\n {{ description }}\n </slot>\n </div>\n\n <div\n v-if=\"$slots.default\"\n data-gr-empty-state-actions\n :class=\"[actionsBaseClass, actionsBySize[resolvedSize]]\"\n >\n <slot />\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport IconInbox from '~icons/lucide/inbox'\n\nimport GrIcon from '../GrIcon/GrIcon.vue'\nimport { useGrComponentProp, useGrComponentSize } from '../GrConfigProvider/context'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\n\nimport {\n actionsBaseClass,\n actionsBySize,\n descriptionBaseClass,\n descriptionBySize,\n grEmptyStateRootClass,\n iconBoxBaseClass,\n iconBoxBySize,\n iconSizeBySize,\n titleBaseClass,\n titleBySize,\n type GrEmptyStateHeadingLevel,\n type GrEmptyStateSize,\n type GrEmptyStateVariant,\n} from './grEmptyStateStyles'\n\nexport type {\n GrEmptyStateHeadingLevel,\n GrEmptyStateSize,\n GrEmptyStateVariant,\n} from './grEmptyStateStyles'\n\n/**\n * GrEmptyState — карточка пустого состояния: иконка, заголовок, описание и\n * слот действий.\n *\n * Заголовок — настоящий heading: без него пустое состояние не находится\n * навигацией по заголовкам, а именно оно и объясняет, почему на экране ничего\n * нет.\n */\nexport interface GrEmptyStateProps {\n /** Заголовок. Не задан — берётся из локали; слот `#title` сильнее обоих. */\n title?: string\n description?: string\n size?: GrEmptyStateSize\n /** `ghost` снимает рамку и фон: карточка внутри карточки рисует вторую рамку. */\n variant?: GrEmptyStateVariant\n headingLevel?: GrEmptyStateHeadingLevel\n}\n\nconst props = withDefaults(defineProps<GrEmptyStateProps>(), {\n title: undefined,\n description: undefined,\n size: undefined,\n variant: undefined,\n headingLevel: undefined,\n})\n\nconst slots = defineSlots<{\n /** Иконка вместо встроенной. */\n icon?: () => unknown\n /** Заголовок разметкой: ссылка, выделение, счётчик. */\n title?: () => unknown\n description?: () => unknown\n /** Действия под текстом: центрируются. */\n default?: () => unknown\n}>()\n\nconst { t } = useGranularityTranslations()\n\nconst resolvedSize = useGrComponentSize(() => props.size, { component: 'GrEmptyState' })\nconst resolvedVariant = useGrComponentProp('GrEmptyState', 'variant', () => props.variant, 'outlined')\nconst headingLevel = useGrComponentProp('GrEmptyState', 'headingLevel', () => props.headingLevel, 3)\n\nconst headingTag = computed(() => `h${headingLevel.value}`)\nconst resolvedTitle = computed(() => props.title ?? t('gr.emptyState.title', 'Nothing here yet'))\nconst hasDescription = computed(() => Boolean(props.description) || Boolean(slots.description))\n</script>\n\n<template>\n <div\n data-gr-empty-state\n :class=\"grEmptyStateRootClass({ variant: resolvedVariant, size: resolvedSize })\"\n >\n <div class=\"flex justify-center\">\n <div data-gr-empty-state-icon :class=\"[iconBoxBaseClass, iconBoxBySize[resolvedSize]]\">\n <slot name=\"icon\">\n <GrIcon :size=\"iconSizeBySize[resolvedSize]\">\n <IconInbox aria-hidden=\"true\" />\n </GrIcon>\n </slot>\n </div>\n </div>\n\n <component\n :is=\"headingTag\"\n data-gr-empty-state-title\n :class=\"[titleBaseClass, titleBySize[resolvedSize]]\"\n >\n <slot name=\"title\">\n {{ resolvedTitle }}\n </slot>\n </component>\n\n <div\n v-if=\"hasDescription\"\n data-gr-empty-state-description\n :class=\"[descriptionBaseClass, descriptionBySize[resolvedSize]]\"\n >\n <slot name=\"description\">\n {{ description }}\n </slot>\n </div>\n\n <div\n v-if=\"$slots.default\"\n data-gr-empty-state-actions\n :class=\"[actionsBaseClass, actionsBySize[resolvedSize]]\"\n >\n <slot />\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiDA,MAAM,QAAQ;EAQd,MAAM,QAAQ,SAAA;EAUd,MAAM,EAAE,MAAM,2BAA2B;EAEzC,MAAM,eAAe,yBAAyB,MAAM,MAAM,EAAE,WAAW,eAAe,CAAC;EACvF,MAAM,kBAAkB,mBAAmB,gBAAgB,iBAAiB,MAAM,SAAS,UAAU;EACrG,MAAM,eAAe,mBAAmB,gBAAgB,sBAAsB,MAAM,cAAc,CAAC;EAEnG,MAAM,aAAa,eAAe,IAAI,aAAa,OAAO;EAC1D,MAAM,gBAAgB,eAAe,MAAM,SAAS,EAAE,uBAAuB,kBAAkB,CAAC;EAChG,MAAM,iBAAiB,eAAe,QAAQ,MAAM,WAAW,KAAK,QAAQ,MAAM,WAAW,CAAC;;uBAI5F,mBAyCM,OAAA;IAxCJ,uBAAA;IACC,OAAK,eAAE,MAAA,qBAAA,CAAqB,CAAA;KAAA,SAAY,MAAA,eAAA;KAAe,MAAQ,MAAA,YAAA;IAAY,CAAA,CAAA;;IAE5E,mBAQM,OARN,YAQM,CAPJ,mBAMM,OAAA;KAND,4BAAA;KAA0B,OAAK,eAAA,CAAG,MAAA,gBAAA,GAAkB,MAAA,aAAA,CAAa,CAAC,MAAA,YAAA,EAAY,CAAA;QACjF,WAIO,KAAA,QAAA,QAAA,CAAA,SAAA,CAHL,YAES,gBAAA,EAFA,MAAM,MAAA,cAAA,CAAc,CAAC,MAAA,YAAA,GAAA,GAAA;4BACI,CAAhC,YAAgC,MAAA,aAAA,GAAA,EAArB,eAAY,OAAM,CAAA,CAAA,CAAA;;;kBAMrC,YAQY,wBAPL,WAAA,KAAU,GAAA;KACf,6BAAA;KACC,OAAK,eAAA,CAAG,MAAA,cAAA,GAAgB,MAAA,WAAA,CAAW,CAAC,MAAA,YAAA,EAAY,CAAA;;4BAI1C,CAFP,WAEO,KAAA,QAAA,SAAA,CAAA,SAAA,CAAA,gBAAA,gBADF,cAAA,KAAa,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;IAKZ,eAAA,SAAA,UAAA,GADR,mBAQM,OAAA;;KANJ,mCAAA;KACC,OAAK,eAAA,CAAG,MAAA,oBAAA,GAAsB,MAAA,iBAAA,CAAiB,CAAC,MAAA,YAAA,EAAY,CAAA;QAE7D,WAEO,KAAA,QAAA,eAAA,CAAA,SAAA,CAAA,gBAAA,gBADF,QAAA,WAAW,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;IAKVA,KAAAA,OAAO,WAAA,UAAA,GADf,mBAMM,OAAA;;KAJJ,+BAAA;KACC,OAAK,eAAA,CAAG,MAAA,gBAAA,GAAkB,MAAA,aAAA,CAAa,CAAC,MAAA,YAAA,EAAY,CAAA;QAErD,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA"}
1
+ {"version":3,"file":"GrEmptyState-RqsWvgI9.js","names":["$slots"],"sources":["../../../../src/components/GrEmptyState/GrEmptyState.vue","../../../../src/components/GrEmptyState/GrEmptyState.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport IconInbox from '~icons/lucide/inbox'\n\nimport GrIcon from '../GrIcon/GrIcon.vue'\nimport { useGrComponentProp, useGrComponentSize } from '../GrConfigProvider/context'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\n\nimport {\n actionsBaseClass,\n actionsBySize,\n descriptionBaseClass,\n descriptionBySize,\n grEmptyStateRootClass,\n iconBoxBaseClass,\n iconBoxBySize,\n iconSizeBySize,\n titleBaseClass,\n titleBySize,\n type GrEmptyStateHeadingLevel,\n type GrEmptyStateSize,\n type GrEmptyStateVariant,\n} from './grEmptyStateStyles'\n\nexport type {\n GrEmptyStateHeadingLevel,\n GrEmptyStateSize,\n GrEmptyStateVariant,\n} from './grEmptyStateStyles'\n\n/**\n * GrEmptyState — карточка пустого состояния: иконка, заголовок, описание и\n * слот действий.\n *\n * Заголовок — настоящий heading: без него пустое состояние не находится\n * навигацией по заголовкам, а именно оно и объясняет, почему на экране ничего\n * нет.\n */\nexport interface GrEmptyStateProps {\n /** Заголовок. Не задан — берётся из локали; слот `#title` сильнее обоих. */\n title?: string\n description?: string\n size?: GrEmptyStateSize\n /** `ghost` снимает рамку и фон: карточка внутри карточки рисует вторую рамку. */\n variant?: GrEmptyStateVariant\n headingLevel?: GrEmptyStateHeadingLevel\n}\n\nconst props = withDefaults(defineProps<GrEmptyStateProps>(), {\n title: undefined,\n description: undefined,\n size: undefined,\n variant: undefined,\n headingLevel: undefined,\n})\n\nconst slots = defineSlots<{\n /** Иконка вместо встроенной. */\n icon?: () => unknown\n /** Заголовок разметкой: ссылка, выделение, счётчик. */\n title?: () => unknown\n description?: () => unknown\n /** Действия под текстом: центрируются. */\n default?: () => unknown\n}>()\n\nconst { t } = useGranularityTranslations()\n\nconst resolvedSize = useGrComponentSize(() => props.size, { component: 'GrEmptyState' })\nconst resolvedVariant = useGrComponentProp('GrEmptyState', 'variant', () => props.variant, 'outlined')\nconst headingLevel = useGrComponentProp('GrEmptyState', 'headingLevel', () => props.headingLevel, 3)\n\nconst headingTag = computed(() => `h${headingLevel.value}`)\nconst resolvedTitle = computed(() => props.title ?? t('gr.emptyState.title', 'Nothing here yet'))\nconst hasDescription = computed(() => Boolean(props.description) || Boolean(slots.description))\n</script>\n\n<template>\n <div\n data-gr-empty-state\n :class=\"grEmptyStateRootClass({ variant: resolvedVariant, size: resolvedSize })\"\n >\n <div class=\"flex justify-center\">\n <div data-gr-empty-state-icon :class=\"[iconBoxBaseClass, iconBoxBySize[resolvedSize]]\">\n <slot name=\"icon\">\n <GrIcon :size=\"iconSizeBySize[resolvedSize]\">\n <IconInbox aria-hidden=\"true\" />\n </GrIcon>\n </slot>\n </div>\n </div>\n\n <component\n :is=\"headingTag\"\n data-gr-empty-state-title\n :class=\"[titleBaseClass, titleBySize[resolvedSize]]\"\n >\n <slot name=\"title\">\n {{ resolvedTitle }}\n </slot>\n </component>\n\n <div\n v-if=\"hasDescription\"\n data-gr-empty-state-description\n :class=\"[descriptionBaseClass, descriptionBySize[resolvedSize]]\"\n >\n <slot name=\"description\">\n {{ description }}\n </slot>\n </div>\n\n <div\n v-if=\"$slots.default\"\n data-gr-empty-state-actions\n :class=\"[actionsBaseClass, actionsBySize[resolvedSize]]\"\n >\n <slot />\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport IconInbox from '~icons/lucide/inbox'\n\nimport GrIcon from '../GrIcon/GrIcon.vue'\nimport { useGrComponentProp, useGrComponentSize } from '../GrConfigProvider/context'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\n\nimport {\n actionsBaseClass,\n actionsBySize,\n descriptionBaseClass,\n descriptionBySize,\n grEmptyStateRootClass,\n iconBoxBaseClass,\n iconBoxBySize,\n iconSizeBySize,\n titleBaseClass,\n titleBySize,\n type GrEmptyStateHeadingLevel,\n type GrEmptyStateSize,\n type GrEmptyStateVariant,\n} from './grEmptyStateStyles'\n\nexport type {\n GrEmptyStateHeadingLevel,\n GrEmptyStateSize,\n GrEmptyStateVariant,\n} from './grEmptyStateStyles'\n\n/**\n * GrEmptyState — карточка пустого состояния: иконка, заголовок, описание и\n * слот действий.\n *\n * Заголовок — настоящий heading: без него пустое состояние не находится\n * навигацией по заголовкам, а именно оно и объясняет, почему на экране ничего\n * нет.\n */\nexport interface GrEmptyStateProps {\n /** Заголовок. Не задан — берётся из локали; слот `#title` сильнее обоих. */\n title?: string\n description?: string\n size?: GrEmptyStateSize\n /** `ghost` снимает рамку и фон: карточка внутри карточки рисует вторую рамку. */\n variant?: GrEmptyStateVariant\n headingLevel?: GrEmptyStateHeadingLevel\n}\n\nconst props = withDefaults(defineProps<GrEmptyStateProps>(), {\n title: undefined,\n description: undefined,\n size: undefined,\n variant: undefined,\n headingLevel: undefined,\n})\n\nconst slots = defineSlots<{\n /** Иконка вместо встроенной. */\n icon?: () => unknown\n /** Заголовок разметкой: ссылка, выделение, счётчик. */\n title?: () => unknown\n description?: () => unknown\n /** Действия под текстом: центрируются. */\n default?: () => unknown\n}>()\n\nconst { t } = useGranularityTranslations()\n\nconst resolvedSize = useGrComponentSize(() => props.size, { component: 'GrEmptyState' })\nconst resolvedVariant = useGrComponentProp('GrEmptyState', 'variant', () => props.variant, 'outlined')\nconst headingLevel = useGrComponentProp('GrEmptyState', 'headingLevel', () => props.headingLevel, 3)\n\nconst headingTag = computed(() => `h${headingLevel.value}`)\nconst resolvedTitle = computed(() => props.title ?? t('gr.emptyState.title', 'Nothing here yet'))\nconst hasDescription = computed(() => Boolean(props.description) || Boolean(slots.description))\n</script>\n\n<template>\n <div\n data-gr-empty-state\n :class=\"grEmptyStateRootClass({ variant: resolvedVariant, size: resolvedSize })\"\n >\n <div class=\"flex justify-center\">\n <div data-gr-empty-state-icon :class=\"[iconBoxBaseClass, iconBoxBySize[resolvedSize]]\">\n <slot name=\"icon\">\n <GrIcon :size=\"iconSizeBySize[resolvedSize]\">\n <IconInbox aria-hidden=\"true\" />\n </GrIcon>\n </slot>\n </div>\n </div>\n\n <component\n :is=\"headingTag\"\n data-gr-empty-state-title\n :class=\"[titleBaseClass, titleBySize[resolvedSize]]\"\n >\n <slot name=\"title\">\n {{ resolvedTitle }}\n </slot>\n </component>\n\n <div\n v-if=\"hasDescription\"\n data-gr-empty-state-description\n :class=\"[descriptionBaseClass, descriptionBySize[resolvedSize]]\"\n >\n <slot name=\"description\">\n {{ description }}\n </slot>\n </div>\n\n <div\n v-if=\"$slots.default\"\n data-gr-empty-state-actions\n :class=\"[actionsBaseClass, actionsBySize[resolvedSize]]\"\n >\n <slot />\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiDA,MAAM,QAAQ;EAQd,MAAM,QAAQ,SAAA;EAUd,MAAM,EAAE,MAAM,2BAA2B;EAEzC,MAAM,eAAe,yBAAyB,MAAM,MAAM,EAAE,WAAW,eAAe,CAAC;EACvF,MAAM,kBAAkB,mBAAmB,gBAAgB,iBAAiB,MAAM,SAAS,UAAU;EACrG,MAAM,eAAe,mBAAmB,gBAAgB,sBAAsB,MAAM,cAAc,CAAC;EAEnG,MAAM,aAAa,eAAe,IAAI,aAAa,OAAO;EAC1D,MAAM,gBAAgB,eAAe,MAAM,SAAS,EAAE,uBAAuB,kBAAkB,CAAC;EAChG,MAAM,iBAAiB,eAAe,QAAQ,MAAM,WAAW,KAAK,QAAQ,MAAM,WAAW,CAAC;;uBAI5F,mBAyCM,OAAA;IAxCJ,uBAAA;IACC,OAAK,eAAE,MAAA,qBAAA,CAAqB,CAAA;KAAA,SAAY,MAAA,eAAA;KAAe,MAAQ,MAAA,YAAA;IAAY,CAAA,CAAA;;IAE5E,mBAQM,OARN,YAQM,CAPJ,mBAMM,OAAA;KAND,4BAAA;KAA0B,OAAK,eAAA,CAAG,MAAA,gBAAA,GAAkB,MAAA,aAAA,CAAa,CAAC,MAAA,YAAA,EAAY,CAAA;QACjF,WAIO,KAAA,QAAA,QAAA,CAAA,SAAA,CAHL,YAES,gBAAA,EAFA,MAAM,MAAA,cAAA,CAAc,CAAC,MAAA,YAAA,GAAA,GAAA;4BACI,CAAhC,YAAgC,MAAA,aAAA,GAAA,EAArB,eAAY,OAAM,CAAA,CAAA,CAAA;;;kBAMrC,YAQY,wBAPL,WAAA,KAAU,GAAA;KACf,6BAAA;KACC,OAAK,eAAA,CAAG,MAAA,cAAA,GAAgB,MAAA,WAAA,CAAW,CAAC,MAAA,YAAA,EAAY,CAAA;;4BAI1C,CAFP,WAEO,KAAA,QAAA,SAAA,CAAA,SAAA,CAAA,gBAAA,gBADF,cAAA,KAAa,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;IAKZ,eAAA,SAAA,UAAA,GADR,mBAQM,OAAA;;KANJ,mCAAA;KACC,OAAK,eAAA,CAAG,MAAA,oBAAA,GAAsB,MAAA,iBAAA,CAAiB,CAAC,MAAA,YAAA,EAAY,CAAA;QAE7D,WAEO,KAAA,QAAA,eAAA,CAAA,SAAA,CAAA,gBAAA,gBADF,QAAA,WAAW,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;IAKVA,KAAAA,OAAO,WAAA,UAAA,GADf,mBAMM,OAAA;;KAJJ,+BAAA;KACC,OAAK,eAAA,CAAG,MAAA,gBAAA,GAAkB,MAAA,aAAA,CAAa,CAAC,MAAA,YAAA,EAAY,CAAA;QAErD,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA"}
@@ -1,3 +1,3 @@
1
- import { t as GrEmptyState_default } from "./chunks/GrEmptyState-D4T5pzXA.js";
1
+ import { t as GrEmptyState_default } from "./chunks/GrEmptyState-RqsWvgI9.js";
2
2
  import { n as grEmptyStateSafelist, t as grEmptyStateConfig } from "../../chunks/config-CWtfxkM9.js";
3
3
  export { GrEmptyState_default as GrEmptyState, GrEmptyState_default as default, grEmptyStateConfig, grEmptyStateSafelist };
@@ -2,7 +2,7 @@ import { t as x_default } from "../../../chunks/x-2KXnqxiD.js";
2
2
  import { a as useGrComponentSize } from "../../../chunks/context-CTbuwcYs.js";
3
3
  import { n as useGranularityTranslations } from "../../../chunks/granularityI18n-BC5zsj_d.js";
4
4
  import { f as runFileValidators, o as acceptValidator, p as FileValidationError } from "../../../chunks/fileValidation-D5TFBhbv.js";
5
- import { t as GrIcon_default } from "../../GrIcon/chunks/GrIcon-Bn1XEriL.js";
5
+ import { t as GrIcon_default } from "../../GrIcon/chunks/GrIcon-Dmf0c9ba.js";
6
6
  import { n as useGrFormFieldContext } from "../../../chunks/context-DdNIxa1w.js";
7
7
  import { useGrFormControl } from "../../../composables/useGrFormControl.js";
8
8
  import { t as useFocusWithin } from "../../../chunks/useFocusWithin-BwHE0rzm.js";