@central-design-system/components 2.33.0 → 3.0.0-alpha.1

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 (334) hide show
  1. package/dist/cds.css +1 -111
  2. package/dist/cds.d.ts +48 -0
  3. package/dist/cds.es.js +5454 -0
  4. package/dist/cds.umd.js +1 -0
  5. package/dist/components/CdsBadge/CdsBadge.vue.d.ts +32 -0
  6. package/dist/components/CdsButton/CdsButton.vue.d.ts +140 -0
  7. package/dist/components/CdsCheckbox/CdsCheckbox.vue.d.ts +222 -0
  8. package/dist/components/CdsCheckbox/CdsCheckboxGroup.vue.d.ts +205 -0
  9. package/dist/components/CdsDrawer/CdsDrawer.vue.d.ts +179 -0
  10. package/dist/components/CdsForm/CdsForm.vue.d.ts +99 -0
  11. package/dist/components/CdsGrid/CdsCol.vue.d.ts +73 -0
  12. package/dist/components/CdsGrid/CdsGrid.vue.d.ts +55 -0
  13. package/dist/components/CdsGrid/CdsRow.vue.d.ts +37 -0
  14. package/dist/components/CdsGrid/composable/column.d.ts +84 -0
  15. package/dist/components/CdsGrid/composable/grid.d.ts +24 -0
  16. package/dist/components/CdsGrid/composable/index.d.ts +4 -0
  17. package/dist/components/CdsGrid/composable/subgrid.d.ts +20 -0
  18. package/dist/components/CdsGrid/composable/wide.d.ts +12 -0
  19. package/dist/components/CdsGrid/mode/CSSGrid.d.ts +5 -0
  20. package/dist/components/CdsGrid/mode/FlexGrid.d.ts +5 -0
  21. package/dist/components/CdsGrid/types.d.ts +27 -0
  22. package/dist/components/CdsIcon/CdsIcon.vue.d.ts +44 -0
  23. package/dist/components/CdsIcon/index.d.ts +1 -0
  24. package/dist/components/CdsInput/CdsInput.vue.d.ts +219 -0
  25. package/dist/components/CdsInput/CdsInputCounter.vue.d.ts +39 -0
  26. package/dist/components/CdsInput/CdsInputDescription.vue.d.ts +26 -0
  27. package/dist/components/CdsInput/CdsInputLabel.vue.d.ts +32 -0
  28. package/dist/components/CdsInput/CdsInputMessages.vue.d.ts +221 -0
  29. package/dist/components/CdsInput/index.d.ts +5 -0
  30. package/dist/components/CdsLink/CdsLink.vue.d.ts +50 -0
  31. package/dist/components/CdsList/CdsList.vue.d.ts +158 -0
  32. package/dist/components/CdsList/CdsListGroup.vue.d.ts +125 -0
  33. package/dist/components/CdsList/CdsListItem.vue.d.ts +178 -0
  34. package/dist/components/CdsList/composable/depth.d.ts +3 -0
  35. package/dist/components/CdsList/composable/focus.d.ts +12 -0
  36. package/dist/components/CdsList/composable/index.d.ts +3 -0
  37. package/dist/components/CdsList/composable/list.d.ts +19 -0
  38. package/dist/components/CdsList/index.d.ts +3 -0
  39. package/dist/components/CdsLoader/CdsLoader.vue.d.ts +62 -0
  40. package/dist/components/CdsLoader/index.d.ts +1 -0
  41. package/dist/components/CdsMenu/CdsMenu.vue.d.ts +592 -0
  42. package/dist/components/CdsMenu/shared.d.ts +10 -0
  43. package/dist/components/CdsOverlay/CdsOverlay.vue.d.ts +324 -0
  44. package/dist/components/CdsOverlay/composable/activator.d.ts +81 -0
  45. package/dist/components/CdsOverlay/composable/index.d.ts +6 -0
  46. package/dist/components/CdsOverlay/composable/locationStrategies.d.ts +75 -0
  47. package/dist/components/CdsOverlay/composable/scrim.d.ts +8 -0
  48. package/dist/components/CdsOverlay/composable/scrollStrategies.d.ts +33 -0
  49. package/dist/components/CdsOverlay/composable/stack.d.ts +9 -0
  50. package/dist/components/CdsOverlay/composable/teleport.d.ts +6 -0
  51. package/dist/components/CdsOverlay/utils/index.d.ts +2 -0
  52. package/dist/components/CdsOverlay/utils/point.d.ts +20 -0
  53. package/dist/components/CdsOverlay/utils/requestNewFrame.d.ts +5 -0
  54. package/dist/components/CdsRadioButton/CdsRadio.vue.d.ts +201 -0
  55. package/dist/components/CdsRadioButton/CdsRadioButton.vue.d.ts +200 -0
  56. package/dist/components/CdsSelect/CdsSelect.vue.d.ts +664 -0
  57. package/dist/components/CdsSidebar/CdsSidebar.vue.d.ts +61 -0
  58. package/dist/components/CdsStages/CdsStages.vue.d.ts +102 -0
  59. package/dist/components/CdsStatus/CdsStatus.vue.d.ts +46 -0
  60. package/dist/components/CdsTag/CdsTag.vue.d.ts +96 -0
  61. package/dist/components/CdsTextArea/CdsTextArea.vue.d.ts +681 -0
  62. package/dist/components/CdsTextInput/CdsTextInput.vue.d.ts +600 -0
  63. package/dist/components/index.d.ts +35 -0
  64. package/dist/composable/appearance.d.ts +24 -0
  65. package/dist/composable/color.d.ts +21 -0
  66. package/dist/composable/dark.d.ts +19 -0
  67. package/dist/composable/delay.d.ts +29 -0
  68. package/dist/composable/dimensions.d.ts +47 -0
  69. package/dist/composable/direction.d.ts +24 -0
  70. package/dist/composable/disabled.d.ts +19 -0
  71. package/dist/composable/field.d.ts +138 -0
  72. package/dist/composable/focus.d.ts +22 -0
  73. package/dist/composable/form.d.ts +126 -0
  74. package/dist/composable/hidration.d.ts +1 -0
  75. package/dist/composable/icon.d.ts +57 -0
  76. package/dist/composable/index.d.ts +29 -0
  77. package/dist/composable/input.d.ts +97 -0
  78. package/dist/composable/items.d.ts +79 -0
  79. package/dist/composable/lazy.d.ts +11 -0
  80. package/dist/composable/link.d.ts +35 -0
  81. package/dist/composable/loading.d.ts +20 -0
  82. package/dist/composable/nested/nested.d.ts +85 -0
  83. package/dist/composable/nested/openStrategies.d.ts +25 -0
  84. package/dist/composable/nested/selectStrategies.d.ts +21 -0
  85. package/dist/composable/overlay.d.ts +99 -0
  86. package/dist/composable/proxyModel.d.ts +8 -0
  87. package/dist/composable/render.d.ts +2 -0
  88. package/dist/composable/scopeId.d.ts +5 -0
  89. package/dist/composable/size.d.ts +24 -0
  90. package/dist/composable/status.d.ts +21 -0
  91. package/dist/composable/tag.d.ts +16 -0
  92. package/dist/composable/text.d.ts +17 -0
  93. package/dist/composable/toggleScope.d.ts +2 -0
  94. package/dist/composable/transition.d.ts +22 -0
  95. package/dist/composable/validation.d.ts +136 -0
  96. package/dist/directives/click-outside/index.d.ts +14 -0
  97. package/dist/directives/index.d.ts +1 -0
  98. package/dist/globals.d.ts +16 -0
  99. package/dist/plugins/index.d.ts +2 -0
  100. package/dist/shims-vue.d.ts +24 -0
  101. package/dist/transitions/createTransition.d.ts +38 -0
  102. package/dist/transitions/expandTransition.d.ts +19 -0
  103. package/dist/transitions/index.d.ts +104 -0
  104. package/dist/types/CdsOptions.d.ts +3 -0
  105. package/dist/utils/anchor.d.ts +23 -0
  106. package/dist/utils/animation.d.ts +6 -0
  107. package/dist/utils/box.d.ts +26 -0
  108. package/dist/utils/changeCase/lowerCase.d.ts +8 -0
  109. package/dist/utils/changeCase/noCase.d.ts +10 -0
  110. package/dist/utils/changeCase/paramCase.d.ts +3 -0
  111. package/dist/utils/changeCase/pascalCase.d.ts +5 -0
  112. package/dist/utils/dom.d.ts +6 -0
  113. package/dist/utils/getCurrentInstance.d.ts +13 -0
  114. package/dist/utils/getScrollParent.d.ts +3 -0
  115. package/dist/utils/globals.d.ts +4 -0
  116. package/dist/utils/helpers.d.ts +73 -0
  117. package/dist/utils/index.d.ts +13 -0
  118. package/dist/utils/propsFactory.d.ts +52 -0
  119. package/nuxt.js +13 -0
  120. package/package.json +37 -80
  121. package/src/scss/index.scss +10 -0
  122. package/{dist/mixins/scss → src/scss/mixins}/layout/_convert.scss +4 -2
  123. package/src/scss/mixins/layout/_shadow.scss +4 -0
  124. package/src/scss/mixins/layout/exports/_mini-unit.module.scss +5 -0
  125. package/src/scss/mixins/layout/exports/_spacing-all.module.scss +3 -0
  126. package/src/scss/mixins/layout/exports/_spacing-fluid.module.scss +8 -0
  127. package/src/scss/mixins/layout/exports/_spacing-layout.module.scss +11 -0
  128. package/src/scss/mixins/layout/exports/_spacing.module.scss +16 -0
  129. package/{dist/mixins/scss → src/scss/mixins}/layout/index.scss +1 -2
  130. package/{dist/mixins/scss → src/scss/mixins}/typo.scss +0 -67
  131. package/src/scss/modules/_reset.scss +113 -0
  132. package/src/scss/modules/_transition.scss +54 -0
  133. package/src/scss/modules/_typography.scss +36 -0
  134. package/src/scss/modules/_variables.scss +9 -0
  135. package/src/scss/modules/grid/_aspect-ratio.scss +62 -0
  136. package/src/scss/modules/grid/_breakpoint.scss +195 -0
  137. package/src/scss/modules/grid/_config.scss +88 -0
  138. package/src/scss/modules/grid/_css-grid.scss +445 -0
  139. package/src/scss/modules/grid/_flex-grid.scss +39 -0
  140. package/src/scss/modules/grid/_mixins.scss +307 -0
  141. package/src/scss/modules/grid/exports/_config.module.scss +9 -0
  142. package/src/scss/modules/grid/index.scss +5 -0
  143. package/src/scss/themes/b2b/tokens-map.scss +139 -0
  144. package/src/scss/themes/b2b/tokens.json +2190 -0
  145. package/src/scss/themes/cds/tokens-map.scss +138 -0
  146. package/src/scss/themes/cds/tokens.json +2184 -0
  147. package/{dist/tokens → src/scss/themes}/cds/variables.css +0 -3
  148. package/src/scss/themes/index.ts +43 -0
  149. package/src/scss/utility/display.scss +13 -0
  150. package/src/scss/utility/flexbox.scss +37 -0
  151. package/src/scss/utility/generatedFiles/generatedStyles.json +1 -0
  152. package/src/scss/utility/generatedFiles/generatedStyles.scss +300 -0
  153. package/src/scss/utility/index.scss +7 -0
  154. package/src/scss/utility/layout.scss +11 -0
  155. package/src/scss/utility/lists.scss +76 -0
  156. package/src/scss/utility/spacing.scss +89 -0
  157. package/src/scss/utility/typography.scss +16 -0
  158. package/src/scss/utility/variables.scss +116 -0
  159. package/README.md +0 -87
  160. package/build/utils/postInstall.js +0 -20
  161. package/build/utils/print.js +0 -38
  162. package/dist/CdsAccordion/index.js +0 -8
  163. package/dist/CdsAccordion/styles.css +0 -11
  164. package/dist/CdsBadge/index.js +0 -8
  165. package/dist/CdsBadge/styles.css +0 -9
  166. package/dist/CdsBreadcrumbs/index.js +0 -8
  167. package/dist/CdsBreadcrumbs/styles.css +0 -11
  168. package/dist/CdsButton/index.js +0 -8
  169. package/dist/CdsButton/styles.css +0 -11
  170. package/dist/CdsCheckbox/index.js +0 -8
  171. package/dist/CdsCheckbox/styles.css +0 -15
  172. package/dist/CdsCombobox/index.js +0 -8
  173. package/dist/CdsCombobox/styles.css +0 -15
  174. package/dist/CdsContainer/index.js +0 -8
  175. package/dist/CdsContainer/styles.css +0 -11
  176. package/dist/CdsContentSwitcher/index.js +0 -8
  177. package/dist/CdsContentSwitcher/styles.css +0 -15
  178. package/dist/CdsDataTable/index.js +0 -8
  179. package/dist/CdsDataTable/styles.css +0 -21
  180. package/dist/CdsDatePicker/index.js +0 -24
  181. package/dist/CdsDatePicker/styles.css +0 -15
  182. package/dist/CdsDrawer/index.js +0 -8
  183. package/dist/CdsDrawer/styles.css +0 -17
  184. package/dist/CdsDropdown/index.js +0 -8
  185. package/dist/CdsDropdown/styles.css +0 -15
  186. package/dist/CdsEmptyState/index.js +0 -8
  187. package/dist/CdsEmptyState/styles.css +0 -9
  188. package/dist/CdsFooter/index.js +0 -8
  189. package/dist/CdsFooter/styles.css +0 -17
  190. package/dist/CdsForm/index.js +0 -8
  191. package/dist/CdsForm/styles.css +0 -15
  192. package/dist/CdsGrid/index.js +0 -8
  193. package/dist/CdsGrid/styles.css +0 -9
  194. package/dist/CdsHeader/index.js +0 -8
  195. package/dist/CdsHeader/styles.css +0 -11
  196. package/dist/CdsIcon/index.js +0 -8
  197. package/dist/CdsIcon/styles.css +0 -9
  198. package/dist/CdsImage/index.js +0 -8
  199. package/dist/CdsImage/styles.css +0 -9
  200. package/dist/CdsInput/index.js +0 -8
  201. package/dist/CdsInput/styles.css +0 -13
  202. package/dist/CdsLink/index.js +0 -8
  203. package/dist/CdsLink/styles.css +0 -9
  204. package/dist/CdsList/index.js +0 -8
  205. package/dist/CdsList/styles.css +0 -9
  206. package/dist/CdsLoading/index.js +0 -8
  207. package/dist/CdsLoading/styles.css +0 -9
  208. package/dist/CdsModal/index.js +0 -8
  209. package/dist/CdsModal/styles.css +0 -15
  210. package/dist/CdsMultiselect/index.js +0 -8
  211. package/dist/CdsMultiselect/styles.css +0 -17
  212. package/dist/CdsNotification/index.js +0 -8
  213. package/dist/CdsNotification/styles.css +0 -21
  214. package/dist/CdsOverflowMenu/index.js +0 -8
  215. package/dist/CdsOverflowMenu/styles.css +0 -21
  216. package/dist/CdsPagination/index.js +0 -8
  217. package/dist/CdsPagination/styles.css +0 -13
  218. package/dist/CdsRadioButton/index.js +0 -8
  219. package/dist/CdsRadioButton/styles.css +0 -15
  220. package/dist/CdsSearch/index.js +0 -8
  221. package/dist/CdsSearch/styles.css +0 -19
  222. package/dist/CdsSelect/index.js +0 -8
  223. package/dist/CdsSelect/styles.css +0 -15
  224. package/dist/CdsSidebar/index.js +0 -8
  225. package/dist/CdsSidebar/styles.css +0 -15
  226. package/dist/CdsSkeleton/index.js +0 -8
  227. package/dist/CdsSkeleton/styles.css +0 -9
  228. package/dist/CdsStages/index.js +0 -8
  229. package/dist/CdsStages/styles.css +0 -9
  230. package/dist/CdsStatus/index.js +0 -8
  231. package/dist/CdsStatus/styles.css +0 -15
  232. package/dist/CdsSteps/index.js +0 -8
  233. package/dist/CdsSteps/styles.css +0 -19
  234. package/dist/CdsTable/index.js +0 -16
  235. package/dist/CdsTable/styles.css +0 -21
  236. package/dist/CdsTabs/index.js +0 -8
  237. package/dist/CdsTabs/styles.css +0 -9
  238. package/dist/CdsTag/index.js +0 -8
  239. package/dist/CdsTag/styles.css +0 -11
  240. package/dist/CdsTextArea/index.js +0 -8
  241. package/dist/CdsTextArea/styles.css +0 -17
  242. package/dist/CdsTextInput/index.js +0 -8
  243. package/dist/CdsTextInput/styles.css +0 -15
  244. package/dist/CdsToggle/index.js +0 -8
  245. package/dist/CdsToggle/styles.css +0 -9
  246. package/dist/CdsTooltip/index.js +0 -8
  247. package/dist/CdsTooltip/styles.css +0 -13
  248. package/dist/CdsUploader/index.js +0 -14
  249. package/dist/CdsUploader/styles.css +0 -25
  250. package/dist/cds.js +0 -38
  251. package/dist/cds.min.css +0 -7
  252. package/dist/cds.min.js +0 -38
  253. package/dist/index.html +0 -60
  254. package/dist/mixins/scss/layout/_breakpoint.scss +0 -237
  255. package/dist/mixins/scss/layout/_key-height.scss +0 -90
  256. package/dist/mixins/scss/layout/_spacing-export.scss +0 -34
  257. package/dist/mixins/scss/layout/_utilities.scss +0 -33
  258. package/dist/types/CdsAccordion.ts +0 -4
  259. package/dist/types/CdsAccordionItem.ts +0 -10
  260. package/dist/types/CdsBreadcrumbs.ts +0 -11
  261. package/dist/types/CdsBreadcrumbsItem.ts +0 -12
  262. package/dist/types/CdsButton.ts +0 -30
  263. package/dist/types/CdsCheckbox.ts +0 -20
  264. package/dist/types/CdsCheckboxGroup.ts +0 -14
  265. package/dist/types/CdsCol.ts +0 -38
  266. package/dist/types/CdsCombobox.ts +0 -42
  267. package/dist/types/CdsContainer.ts +0 -32
  268. package/dist/types/CdsContentSwitcher.ts +0 -4
  269. package/dist/types/CdsContentSwitcherButton.ts +0 -21
  270. package/dist/types/CdsDataTable.ts +0 -48
  271. package/dist/types/CdsDatePicker.ts +0 -40
  272. package/dist/types/CdsDrawer.ts +0 -25
  273. package/dist/types/CdsDrawerGroup.ts +0 -8
  274. package/dist/types/CdsDrawerItem.ts +0 -12
  275. package/dist/types/CdsDrawerLabel.ts +0 -4
  276. package/dist/types/CdsDropdown.ts +0 -14
  277. package/dist/types/CdsEmptyState.ts +0 -10
  278. package/dist/types/CdsFooter.ts +0 -17
  279. package/dist/types/CdsFooterService.ts +0 -16
  280. package/dist/types/CdsForm.ts +0 -4
  281. package/dist/types/CdsFormGroup.ts +0 -8
  282. package/dist/types/CdsFormItem.ts +0 -4
  283. package/dist/types/CdsGrid.ts +0 -16
  284. package/dist/types/CdsHeader.ts +0 -27
  285. package/dist/types/CdsHeaderService.ts +0 -4
  286. package/dist/types/CdsIcon.ts +0 -6
  287. package/dist/types/CdsLink.ts +0 -22
  288. package/dist/types/CdsList.ts +0 -6
  289. package/dist/types/CdsLoading.ts +0 -14
  290. package/dist/types/CdsModal.ts +0 -17
  291. package/dist/types/CdsMultiselect.ts +0 -33
  292. package/dist/types/CdsNotification.ts +0 -22
  293. package/dist/types/CdsOverflowMenu.ts +0 -16
  294. package/dist/types/CdsPagination.ts +0 -12
  295. package/dist/types/CdsRadioButton.ts +0 -29
  296. package/dist/types/CdsRow.ts +0 -18
  297. package/dist/types/CdsSearch.ts +0 -24
  298. package/dist/types/CdsSelect.ts +0 -37
  299. package/dist/types/CdsSkeleton.ts +0 -14
  300. package/dist/types/CdsStages.ts +0 -10
  301. package/dist/types/CdsStatus.ts +0 -22
  302. package/dist/types/CdsSteps.ts +0 -22
  303. package/dist/types/CdsStepsItem.ts +0 -12
  304. package/dist/types/CdsTable.ts +0 -46
  305. package/dist/types/CdsTabs.ts +0 -19
  306. package/dist/types/CdsTabsItem.ts +0 -18
  307. package/dist/types/CdsTag.ts +0 -20
  308. package/dist/types/CdsTextArea.ts +0 -26
  309. package/dist/types/CdsTextInput.ts +0 -32
  310. package/dist/types/CdsToggle.ts +0 -18
  311. package/dist/types/CdsTooltip.ts +0 -18
  312. package/dist/types/CdsTooltipDefinition.ts +0 -16
  313. package/dist/types/CdsTooltipInteractive.ts +0 -11
  314. package/dist/types/CdsUploader.ts +0 -44
  315. package/dist/types/Sidebar.ts +0 -17
  316. package/dist/types/types.ts +0 -2
  317. package/dist/utils/convertRemToPx.js +0 -9
  318. package/dist/utils/deepFind.js +0 -14
  319. package/dist/utils/expiringStorage.js +0 -28
  320. package/dist/utils/helpers.js +0 -33
  321. package/dist/utils/index.js +0 -1
  322. package/dist/utils/isCorrectTag.js +0 -5
  323. package/dist/utils/isRightProps.js +0 -5
  324. package/dist/utils/memoize.js +0 -8
  325. package/dist/utils/suffixPropName.js +0 -12
  326. package/dist/utils/test/deepFind.test.js +0 -18
  327. package/dist/utils/test/isCorrectTag.test.js +0 -9
  328. package/dist/utils/test/isCorrectTagDataSet.js +0 -51
  329. package/dist/utils/validationProps.js +0 -7
  330. /package/{dist/mixins/scss → src/scss/mixins}/layout/_layout.scss +0 -0
  331. /package/{dist/mixins/scss → src/scss/mixins}/layout/_mini-unit.scss +0 -0
  332. /package/{dist/mixins/scss → src/scss/mixins}/layout/_spacing.scss +0 -0
  333. /package/{dist/mixins/scss → src/scss/mixins}/motion.scss +0 -0
  334. /package/{dist/tokens → src/scss/themes}/b2b/variables.css +0 -0
@@ -0,0 +1,324 @@
1
+ import type { PropType } from 'vue';
2
+ export declare const componentName = "CdsOverlay";
3
+ declare const _sfc_main: import("vue").DefineComponent<{
4
+ transition: {
5
+ type: PropType<string | boolean | (import("vue").TransitionProps & {
6
+ component?: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
7
+ })>;
8
+ default: string;
9
+ validator: (value: unknown) => boolean;
10
+ };
11
+ scrollStrategy: {
12
+ type: PropType<"none" | "close" | "block" | "reposition" | ((data: import("./composable").IScrollStrategyData, props: import("./composable").IScrollStrategyProps, scope: import("vue").EffectScope) => void)>;
13
+ default: string;
14
+ validator: (value: any) => boolean;
15
+ };
16
+ locationStrategy: {
17
+ type: PropType<"static" | "connected" | ((data: import("./composable").ILocationStrategyData, props: import("./composable").ILocationStrategyProps, contentStyles: import("vue").Ref<Record<string, string>>) => {
18
+ updateLocation: (event: Event) => void;
19
+ } | undefined)>;
20
+ default: string;
21
+ validator: (value: any) => boolean;
22
+ };
23
+ location: {
24
+ type: PropType<import('../../utils').TAnchor>;
25
+ default: string;
26
+ };
27
+ origin: {
28
+ type: PropType<import('../../utils').TAnchor | "auto" | "overlap">;
29
+ default: string;
30
+ };
31
+ offset: {
32
+ type: PropType<string | number | number[]>;
33
+ default: null;
34
+ };
35
+ height: {
36
+ type: PropType<string | number>;
37
+ default: string;
38
+ };
39
+ maxHeight: {
40
+ type: PropType<string | number>;
41
+ default: string;
42
+ };
43
+ maxWidth: {
44
+ type: PropType<string | number>;
45
+ default: string;
46
+ };
47
+ minHeight: {
48
+ type: PropType<string | number>;
49
+ default: string;
50
+ };
51
+ minWidth: {
52
+ type: PropType<string | number>;
53
+ default: string;
54
+ };
55
+ width: {
56
+ type: PropType<string | number>;
57
+ default: string;
58
+ };
59
+ closeDelay: {
60
+ type: PropType<string | number>;
61
+ default: null;
62
+ };
63
+ openDelay: {
64
+ type: PropType<string | number>;
65
+ default: null;
66
+ };
67
+ activator: {
68
+ type: PropType<string | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | Element>;
69
+ default: null; /**
70
+ * Событие после исчезновения оверлея
71
+ */
72
+ };
73
+ activatorProps: {
74
+ type: PropType<Record<string, any>>;
75
+ default: () => {};
76
+ };
77
+ openOnClick: {
78
+ type: PropType<boolean | undefined>;
79
+ default: undefined;
80
+ };
81
+ openOnHover: {
82
+ type: PropType<boolean>;
83
+ default: boolean;
84
+ };
85
+ openOnFocus: {
86
+ type: PropType<boolean | undefined>;
87
+ default: undefined;
88
+ };
89
+ closeOnContentClick: {
90
+ type: PropType<boolean>;
91
+ default: boolean;
92
+ };
93
+ attach: {
94
+ type: PropType<string | boolean | Element>;
95
+ default: boolean;
96
+ };
97
+ contained: {
98
+ type: PropType<boolean>;
99
+ default: boolean;
100
+ };
101
+ eager: {
102
+ type: PropType<boolean>;
103
+ default: boolean;
104
+ };
105
+ disabled: {
106
+ type: PropType<boolean>;
107
+ default: boolean;
108
+ };
109
+ persistent: {
110
+ type: PropType<boolean>;
111
+ default: boolean;
112
+ };
113
+ scrim: {
114
+ type: PropType<string | boolean>;
115
+ default: boolean;
116
+ };
117
+ modelValue: {
118
+ type: PropType<boolean>;
119
+ default: boolean;
120
+ };
121
+ zIndex: {
122
+ type: PropType<string | number>;
123
+ default: number;
124
+ };
125
+ contentClasses: {
126
+ type: PropType<string | string[] | Record<string, boolean>>;
127
+ default: null;
128
+ };
129
+ contentProps: {
130
+ type: PropType<Record<string, unknown>>;
131
+ default: () => {};
132
+ };
133
+ /**
134
+ * Применяет position: absolute к содержимому оверлея
135
+ */
136
+ absolute: {
137
+ type: PropType<boolean>;
138
+ default: boolean;
139
+ };
140
+ }, {
141
+ activatorEl: import("vue").Ref<HTMLElement | undefined>;
142
+ contentEl: import("vue").Ref<HTMLElement | undefined>;
143
+ globalTop: Readonly<import("vue").Ref<boolean>>;
144
+ localTop: import("vue").ComputedRef<boolean>;
145
+ updateLocation: import("vue").Ref<((event: Event) => void) | undefined>;
146
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "click:outside" | "afterLeave")[], "update:modelValue" | "click:outside" | "afterLeave", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
147
+ transition: {
148
+ type: PropType<string | boolean | (import("vue").TransitionProps & {
149
+ component?: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
150
+ })>;
151
+ default: string;
152
+ validator: (value: unknown) => boolean;
153
+ };
154
+ scrollStrategy: {
155
+ type: PropType<"none" | "close" | "block" | "reposition" | ((data: import("./composable").IScrollStrategyData, props: import("./composable").IScrollStrategyProps, scope: import("vue").EffectScope) => void)>;
156
+ default: string;
157
+ validator: (value: any) => boolean;
158
+ };
159
+ locationStrategy: {
160
+ type: PropType<"static" | "connected" | ((data: import("./composable").ILocationStrategyData, props: import("./composable").ILocationStrategyProps, contentStyles: import("vue").Ref<Record<string, string>>) => {
161
+ updateLocation: (event: Event) => void;
162
+ } | undefined)>;
163
+ default: string;
164
+ validator: (value: any) => boolean;
165
+ };
166
+ location: {
167
+ type: PropType<import('../../utils').TAnchor>;
168
+ default: string;
169
+ };
170
+ origin: {
171
+ type: PropType<import('../../utils').TAnchor | "auto" | "overlap">;
172
+ default: string;
173
+ };
174
+ offset: {
175
+ type: PropType<string | number | number[]>;
176
+ default: null;
177
+ };
178
+ height: {
179
+ type: PropType<string | number>;
180
+ default: string;
181
+ };
182
+ maxHeight: {
183
+ type: PropType<string | number>;
184
+ default: string;
185
+ };
186
+ maxWidth: {
187
+ type: PropType<string | number>;
188
+ default: string;
189
+ };
190
+ minHeight: {
191
+ type: PropType<string | number>;
192
+ default: string;
193
+ };
194
+ minWidth: {
195
+ type: PropType<string | number>;
196
+ default: string;
197
+ };
198
+ width: {
199
+ type: PropType<string | number>;
200
+ default: string;
201
+ };
202
+ closeDelay: {
203
+ type: PropType<string | number>;
204
+ default: null;
205
+ };
206
+ openDelay: {
207
+ type: PropType<string | number>;
208
+ default: null;
209
+ };
210
+ activator: {
211
+ type: PropType<string | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | Element>;
212
+ default: null; /**
213
+ * Событие после исчезновения оверлея
214
+ */
215
+ };
216
+ activatorProps: {
217
+ type: PropType<Record<string, any>>;
218
+ default: () => {};
219
+ };
220
+ openOnClick: {
221
+ type: PropType<boolean | undefined>;
222
+ default: undefined;
223
+ };
224
+ openOnHover: {
225
+ type: PropType<boolean>;
226
+ default: boolean;
227
+ };
228
+ openOnFocus: {
229
+ type: PropType<boolean | undefined>;
230
+ default: undefined;
231
+ };
232
+ closeOnContentClick: {
233
+ type: PropType<boolean>;
234
+ default: boolean;
235
+ };
236
+ attach: {
237
+ type: PropType<string | boolean | Element>;
238
+ default: boolean;
239
+ };
240
+ contained: {
241
+ type: PropType<boolean>;
242
+ default: boolean;
243
+ };
244
+ eager: {
245
+ type: PropType<boolean>;
246
+ default: boolean;
247
+ };
248
+ disabled: {
249
+ type: PropType<boolean>;
250
+ default: boolean;
251
+ };
252
+ persistent: {
253
+ type: PropType<boolean>;
254
+ default: boolean;
255
+ };
256
+ scrim: {
257
+ type: PropType<string | boolean>;
258
+ default: boolean;
259
+ };
260
+ modelValue: {
261
+ type: PropType<boolean>;
262
+ default: boolean;
263
+ };
264
+ zIndex: {
265
+ type: PropType<string | number>;
266
+ default: number;
267
+ };
268
+ contentClasses: {
269
+ type: PropType<string | string[] | Record<string, boolean>>;
270
+ default: null;
271
+ };
272
+ contentProps: {
273
+ type: PropType<Record<string, unknown>>;
274
+ default: () => {};
275
+ };
276
+ /**
277
+ * Применяет position: absolute к содержимому оверлея
278
+ */
279
+ absolute: {
280
+ type: PropType<boolean>;
281
+ default: boolean;
282
+ };
283
+ }>> & {
284
+ onAfterLeave?: ((...args: any[]) => any) | undefined;
285
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
286
+ "onClick:outside"?: ((...args: any[]) => any) | undefined;
287
+ }, {
288
+ location: import('../../utils').TAnchor;
289
+ disabled: boolean;
290
+ transition: string | boolean | (import("vue").TransitionProps & {
291
+ component?: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
292
+ });
293
+ origin: import('../../utils').TAnchor | "auto" | "overlap";
294
+ modelValue: boolean;
295
+ activatorProps: Record<string, any>;
296
+ attach: string | boolean | Element;
297
+ contained: boolean;
298
+ eager: boolean;
299
+ persistent: boolean;
300
+ scrim: string | boolean;
301
+ zIndex: string | number;
302
+ contentClasses: string | string[] | Record<string, boolean>;
303
+ contentProps: Record<string, unknown>;
304
+ activator: string | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | Element;
305
+ openOnClick: boolean | undefined;
306
+ openOnHover: boolean;
307
+ openOnFocus: boolean | undefined;
308
+ closeOnContentClick: boolean;
309
+ closeDelay: string | number;
310
+ openDelay: string | number;
311
+ locationStrategy: "static" | "connected" | ((data: import("./composable").ILocationStrategyData, props: import("./composable").ILocationStrategyProps, contentStyles: import("vue").Ref<Record<string, string>>) => {
312
+ updateLocation: (event: Event) => void;
313
+ } | undefined);
314
+ offset: string | number | number[];
315
+ scrollStrategy: "none" | "close" | "block" | "reposition" | ((data: import("./composable").IScrollStrategyData, props: import("./composable").IScrollStrategyProps, scope: import("vue").EffectScope) => void);
316
+ height: string | number;
317
+ maxHeight: string | number;
318
+ maxWidth: string | number;
319
+ minHeight: string | number;
320
+ minWidth: string | number;
321
+ width: string | number;
322
+ absolute: boolean;
323
+ }>;
324
+ export default _sfc_main;
@@ -0,0 +1,81 @@
1
+ import { ComputedRef } from 'vue';
2
+ import type { ComponentPublicInstance, PropType, Ref } from 'vue';
3
+ import type { IDelayProps } from '../../../composable';
4
+ export interface IActivatorProps extends IDelayProps {
5
+ activator: 'parent' | string | Element | ComponentPublicInstance;
6
+ activatorProps: Record<string, any>;
7
+ openOnClick: boolean | undefined;
8
+ openOnHover: boolean;
9
+ openOnFocus: boolean | undefined;
10
+ closeOnContentClick: boolean;
11
+ }
12
+ export interface IUseActivator {
13
+ activatorEl: Ref<HTMLElement | undefined>;
14
+ activatorRef: Ref<HTMLElement | undefined>;
15
+ activatorEvents: ComputedRef<Partial<TAvailableEvents>>;
16
+ contentEvents: ComputedRef<Partial<TAvailableEvents>>;
17
+ scrimEvents: ComputedRef<Partial<TAvailableEvents>>;
18
+ }
19
+ declare type TAvailableEvents = {
20
+ click: (event: MouseEvent) => void;
21
+ mouseenter: (event: MouseEvent) => void;
22
+ mouseleave: (event: MouseEvent) => void;
23
+ focus: (event: FocusEvent) => void;
24
+ blur: (event: FocusEvent) => void;
25
+ };
26
+ export declare const makeActivatorProps: <Defaults extends {
27
+ activator?: unknown;
28
+ activatorProps?: unknown;
29
+ openOnClick?: unknown;
30
+ openOnHover?: unknown;
31
+ openOnFocus?: unknown;
32
+ closeOnContentClick?: unknown;
33
+ } = {}>(defaults?: Defaults | undefined) => import('../../../utils').AppendDefault<{
34
+ /**
35
+ * Элемент, который будет активировать компонент
36
+ */
37
+ activator: {
38
+ type: PropType<string | ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | Element>;
39
+ default: null;
40
+ };
41
+ /**
42
+ * Свойства для элемента активатора
43
+ */
44
+ activatorProps: {
45
+ type: PropType<Record<string, any>>;
46
+ default: () => {};
47
+ };
48
+ /**
49
+ * Показать компонент по клику на активатор
50
+ */
51
+ openOnClick: {
52
+ type: PropType<boolean | undefined>;
53
+ default: undefined;
54
+ };
55
+ /**
56
+ * Показать компонент по наведению на активатор
57
+ */
58
+ openOnHover: {
59
+ type: PropType<boolean>;
60
+ default: boolean;
61
+ };
62
+ /**
63
+ * Показать компонент по фокусу на активатор
64
+ */
65
+ openOnFocus: {
66
+ type: PropType<boolean | undefined>;
67
+ default: undefined;
68
+ };
69
+ /**
70
+ * Скрыть компонент по клику на контент
71
+ */
72
+ closeOnContentClick: {
73
+ type: PropType<boolean>;
74
+ default: boolean;
75
+ };
76
+ }, Defaults>;
77
+ export declare function useActivator(props: IActivatorProps, { isActive, isTop }: {
78
+ isActive: Ref<boolean>;
79
+ isTop: Ref<boolean>;
80
+ }): IUseActivator;
81
+ export {};
@@ -0,0 +1,6 @@
1
+ export * from './teleport';
2
+ export * from './stack';
3
+ export * from './activator';
4
+ export * from './locationStrategies';
5
+ export * from './scrollStrategies';
6
+ export * from './scrim';
@@ -0,0 +1,75 @@
1
+ import { Box, TAnchor } from '../../../utils';
2
+ import type { PropType, Ref } from 'vue';
3
+ export interface ILocationStrategyData {
4
+ contentEl: Ref<HTMLElement | undefined>;
5
+ activatorEl: Ref<HTMLElement | undefined>;
6
+ isActive: Ref<boolean>;
7
+ }
8
+ declare type TLocationStrategyFn = (data: ILocationStrategyData, props: ILocationStrategyProps, contentStyles: Ref<Record<string, string>>) => undefined | {
9
+ updateLocation: (event: Event) => void;
10
+ };
11
+ declare const locationStrategies: {
12
+ static: typeof staticLocationStrategy;
13
+ connected: typeof connectedLocationStrategy;
14
+ };
15
+ export interface ILocationStrategyProps {
16
+ locationStrategy: keyof typeof locationStrategies | TLocationStrategyFn;
17
+ location: TAnchor;
18
+ origin: TAnchor | 'auto' | 'overlap';
19
+ offset?: number | string | number[];
20
+ maxHeight: number | string;
21
+ maxWidth: number | string;
22
+ minHeight: number | string;
23
+ minWidth: number | string;
24
+ }
25
+ export interface IUseLocationStrategies {
26
+ contentStyles: Ref<Record<string, string>>;
27
+ updateLocation: Ref<((event: Event) => void) | undefined>;
28
+ }
29
+ export declare const makeLocationStrategyProps: <Defaults extends {
30
+ locationStrategy?: unknown;
31
+ location?: unknown;
32
+ origin?: unknown;
33
+ offset?: unknown;
34
+ } = {}>(defaults?: Defaults | undefined) => import('../../../utils').AppendDefault<{
35
+ /**
36
+ * Стратегия позиционирования компонента
37
+ */
38
+ locationStrategy: {
39
+ type: PropType<"static" | "connected" | TLocationStrategyFn>;
40
+ default: string;
41
+ validator: (value: any) => boolean;
42
+ };
43
+ /**
44
+ * Выравнивание компонент по краям top, bottom, left, right. Можно комбинировать, например, top left
45
+ */
46
+ location: {
47
+ type: PropType<TAnchor>;
48
+ default: string;
49
+ };
50
+ origin: {
51
+ type: PropType<TAnchor | "auto" | "overlap">;
52
+ default: string;
53
+ };
54
+ /**
55
+ * Отступы компонента от активатора
56
+ */
57
+ offset: {
58
+ type: PropType<string | number | number[]>;
59
+ default: null;
60
+ };
61
+ }, Defaults>;
62
+ export declare function useLocationStrategies(props: ILocationStrategyProps, data: ILocationStrategyData): IUseLocationStrategies;
63
+ declare function staticLocationStrategy(): {
64
+ updateLocation: () => void;
65
+ };
66
+ declare function connectedLocationStrategy(data: ILocationStrategyData, props: ILocationStrategyProps, contentStyles: Ref<Record<string, string>>): {
67
+ updateLocation: () => {
68
+ available: {
69
+ x: number;
70
+ y: number;
71
+ };
72
+ contentBox: Box;
73
+ } | undefined;
74
+ };
75
+ export {};
@@ -0,0 +1,8 @@
1
+ interface IScrimProps {
2
+ [key: string]: unknown;
3
+ modelValue: boolean;
4
+ }
5
+ export declare function CdsScrim(props: IScrimProps): import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
6
+ [key: string]: any;
7
+ }>;
8
+ export {};
@@ -0,0 +1,33 @@
1
+ import type { EffectScope, PropType, Ref } from 'vue';
2
+ export interface IScrollStrategyData {
3
+ root: Ref<HTMLElement | undefined>;
4
+ contentEl: Ref<HTMLElement | undefined>;
5
+ activatorEl: Ref<HTMLElement | undefined>;
6
+ isActive: Ref<boolean>;
7
+ updateLocation: Ref<((event: Event) => void) | undefined>;
8
+ }
9
+ declare type TScrollStrategyFn = (data: IScrollStrategyData, props: IScrollStrategyProps, scope: EffectScope) => void;
10
+ declare const scrollStrategies: {
11
+ none: null;
12
+ close: typeof closeScrollStrategy;
13
+ block: typeof blockScrollStrategy;
14
+ reposition: typeof repositionScrollStrategy;
15
+ };
16
+ export interface IScrollStrategyProps {
17
+ scrollStrategy: keyof typeof scrollStrategies | TScrollStrategyFn;
18
+ contained: boolean | undefined;
19
+ }
20
+ export declare const makeScrollStrategyProps: <Defaults extends {
21
+ scrollStrategy?: unknown;
22
+ } = {}>(defaults?: Defaults | undefined) => import('../../../utils').AppendDefault<{
23
+ scrollStrategy: {
24
+ type: PropType<"none" | "close" | "block" | "reposition" | TScrollStrategyFn>;
25
+ default: string;
26
+ validator: (value: any) => boolean;
27
+ };
28
+ }, Defaults>;
29
+ export declare function useScrollStrategies(props: IScrollStrategyProps, data: IScrollStrategyData): void;
30
+ declare function closeScrollStrategy(data: IScrollStrategyData): void;
31
+ declare function blockScrollStrategy(data: IScrollStrategyData, props: IScrollStrategyProps): void;
32
+ declare function repositionScrollStrategy(data: IScrollStrategyData, props: IScrollStrategyProps, scope: EffectScope): void;
33
+ export {};
@@ -0,0 +1,9 @@
1
+ import type { ComputedRef, Ref } from 'vue';
2
+ export interface IUseStack {
3
+ globalTop: Readonly<Ref<boolean>>;
4
+ localTop: ComputedRef<boolean>;
5
+ stackStyles: ComputedRef<{
6
+ zIndex: number;
7
+ }>;
8
+ }
9
+ export declare function useStack(isActive: Readonly<Ref<boolean>>, zIndex: Readonly<Ref<string | number>>, disableGlobalStack?: boolean): IUseStack;
@@ -0,0 +1,6 @@
1
+ import { ComputedRef } from 'vue';
2
+ import type { Ref } from 'vue';
3
+ export interface IUseTeleport {
4
+ teleportTarget: ComputedRef<Element | undefined>;
5
+ }
6
+ export declare function useTeleport(target: Ref<boolean | string | Element>, overlayContainerClassName: string): IUseTeleport;
@@ -0,0 +1,2 @@
1
+ export * from './point';
2
+ export * from './requestNewFrame';
@@ -0,0 +1,20 @@
1
+ import { Box, ParsedAnchor } from '../../../utils';
2
+ declare type Point = {
3
+ x: number;
4
+ y: number;
5
+ };
6
+ declare class As<T extends string> {
7
+ private as;
8
+ }
9
+ declare type ElementPoint = Point & As<'element'>;
10
+ declare type ViewportPoint = Point & As<'viewport'>;
11
+ declare type Offset = Point & As<'offset'>;
12
+ /** Convert a point in local space to viewport space */
13
+ export declare function elementToViewport(point: ElementPoint, offset: Offset | Box): ViewportPoint;
14
+ /** Convert a point in viewport space to local space */
15
+ export declare function viewportToElement(point: ViewportPoint, offset: Offset | Box): ElementPoint;
16
+ /** Get the difference between two points */
17
+ export declare function getOffset<T extends Point>(a: T, b: T): Offset;
18
+ /** Convert an anchor object to a point in local space */
19
+ export declare function anchorToPoint(anchor: ParsedAnchor, box: Box): ViewportPoint;
20
+ export {};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Schedule a task to run in an animation frame on its own
3
+ * This is useful for heavy tasks that may cause jank if all ran together
4
+ */
5
+ export declare function requestNewFrame(cb: () => void): void;