@dxtmisha/wiki 0.24.3 → 0.39.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 (278) hide show
  1. package/package.json +8 -8
  2. package/src/classes/WikiStorybook.ts +92 -1
  3. package/src/classes/WikiStorybookItem.ts +79 -5
  4. package/src/classes/WikiStorybookProp.ts +109 -0
  5. package/src/library.ts +1 -0
  6. package/src/media/descriptions/wikiDescriptions.ts +32 -0
  7. package/src/media/descriptions/wikiDescriptionsAccordion.ts +204 -0
  8. package/src/media/descriptions/wikiDescriptionsActionSheet.ts +264 -0
  9. package/src/media/descriptions/wikiDescriptionsActions.ts +189 -0
  10. package/src/media/descriptions/wikiDescriptionsAnchor.ts +78 -0
  11. package/src/media/descriptions/wikiDescriptionsArrow.ts +214 -0
  12. package/src/media/descriptions/wikiDescriptionsBadge.ts +43 -0
  13. package/src/media/descriptions/wikiDescriptionsBars.ts +33 -0
  14. package/src/media/descriptions/wikiDescriptionsBlock.ts +159 -0
  15. package/src/media/descriptions/wikiDescriptionsButton.ts +32 -1
  16. package/src/media/descriptions/wikiDescriptionsCell.ts +26 -1
  17. package/src/media/descriptions/wikiDescriptionsChip.ts +42 -0
  18. package/src/media/descriptions/wikiDescriptionsChipGroup.ts +199 -0
  19. package/src/media/descriptions/wikiDescriptionsDialog.ts +226 -0
  20. package/src/media/descriptions/wikiDescriptionsField.ts +57 -2
  21. package/src/media/descriptions/wikiDescriptionsFieldCounter.ts +32 -0
  22. package/src/media/descriptions/wikiDescriptionsFieldLabel.ts +22 -0
  23. package/src/media/descriptions/wikiDescriptionsFieldMessage.ts +25 -0
  24. package/src/media/descriptions/wikiDescriptionsIcon.ts +46 -8
  25. package/src/media/descriptions/wikiDescriptionsImage.ts +91 -7
  26. package/src/media/descriptions/wikiDescriptionsInput.ts +313 -0
  27. package/src/media/descriptions/wikiDescriptionsList.ts +31 -0
  28. package/src/media/descriptions/wikiDescriptionsListGroup.ts +57 -0
  29. package/src/media/descriptions/wikiDescriptionsListItem.ts +42 -0
  30. package/src/media/descriptions/wikiDescriptionsListMenu.ts +41 -0
  31. package/src/media/descriptions/wikiDescriptionsMask.ts +42 -0
  32. package/src/media/descriptions/wikiDescriptionsMenu.ts +179 -0
  33. package/src/media/descriptions/wikiDescriptionsModal.ts +200 -0
  34. package/src/media/descriptions/wikiDescriptionsMotionTransform.ts +59 -6
  35. package/src/media/descriptions/wikiDescriptionsPage.ts +155 -0
  36. package/src/media/descriptions/wikiDescriptionsProgress.ts +39 -0
  37. package/src/media/descriptions/wikiDescriptionsRipple.ts +42 -3
  38. package/src/media/descriptions/wikiDescriptionsScrollbar.ts +48 -0
  39. package/src/media/descriptions/wikiDescriptionsSection.ts +152 -0
  40. package/src/media/descriptions/wikiDescriptionsSelect.ts +253 -0
  41. package/src/media/descriptions/wikiDescriptionsSelectValue.ts +107 -0
  42. package/src/media/descriptions/wikiDescriptionsSkeleton.ts +42 -1
  43. package/src/media/descriptions/wikiDescriptionsTextareaAutosize.ts +80 -0
  44. package/src/media/descriptions/wikiDescriptionsTooltip.ts +136 -0
  45. package/src/media/descriptions/wikiDescriptionsWindow.ts +60 -0
  46. package/src/media/functional/en/conversions.mdx +67 -0
  47. package/src/media/functional/en/dataUtils.mdx +25 -0
  48. package/src/media/functional/en/datetimeRef.mdx +1 -1
  49. package/src/media/functional/en/eventRef.mdx +1 -1
  50. package/src/media/functional/en/executionUtils.mdx +58 -0
  51. package/src/media/functional/en/geoFlagRef.mdx +1 -1
  52. package/src/media/functional/en/geoIntlRef.mdx +1 -1
  53. package/src/media/functional/en/geoRef.mdx +2 -2
  54. package/src/media/functional/en/meta.mdx +1206 -0
  55. package/src/media/functional/en/metaManager.mdx +376 -0
  56. package/src/media/functional/en/metaOg.mdx +694 -0
  57. package/src/media/functional/en/metaTwitter.mdx +853 -0
  58. package/src/media/functional/en/reactive.mdx +40 -0
  59. package/src/media/functional/en/refTypes.mdx +1 -1
  60. package/src/media/functional/en/useApiRef.mdx +5 -5
  61. package/src/media/functional/en/useMeta.mdx +431 -0
  62. package/src/media/functional/en/validationUtils.mdx +11 -0
  63. package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.en.mdx +25 -0
  64. package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.ru.mdx +25 -0
  65. package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.vi.mdx +25 -0
  66. package/src/media/functional/functional-basic/functions/isEnter/isEnter.en.mdx +30 -0
  67. package/src/media/functional/functional-basic/functions/isEnter/isEnter.ru.mdx +30 -0
  68. package/src/media/functional/functional-basic/functions/isEnter/isEnter.vi.mdx +30 -0
  69. package/src/media/functional/ru/conversions.mdx +67 -0
  70. package/src/media/functional/ru/dataUtils.mdx +25 -0
  71. package/src/media/functional/ru/datetimeRef.mdx +2 -2
  72. package/src/media/functional/ru/eventRef.mdx +1 -1
  73. package/src/media/functional/ru/executionUtils.mdx +58 -0
  74. package/src/media/functional/ru/geoFlagRef.mdx +1 -1
  75. package/src/media/functional/ru/geoIntl.mdx +2 -2
  76. package/src/media/functional/ru/geoIntlRef.mdx +1 -1
  77. package/src/media/functional/ru/geoRef.mdx +2 -2
  78. package/src/media/functional/ru/listTypes.mdx +1 -1
  79. package/src/media/functional/ru/meta.mdx +1330 -0
  80. package/src/media/functional/ru/metaManager.mdx +376 -0
  81. package/src/media/functional/ru/metaOg.mdx +694 -0
  82. package/src/media/functional/ru/metaTwitter.mdx +853 -0
  83. package/src/media/functional/ru/reactive.mdx +40 -0
  84. package/src/media/functional/ru/refTypes.mdx +2 -2
  85. package/src/media/functional/ru/useApiRef.mdx +5 -5
  86. package/src/media/functional/ru/useMeta.mdx +431 -0
  87. package/src/media/functional/ru/validationUtils.mdx +11 -0
  88. package/src/media/mdx/Accordion/accordion.en.mdx +59 -0
  89. package/src/media/mdx/Accordion/accordion.ru.mdx +59 -0
  90. package/src/media/mdx/Accordion/slots.en.mdx +6 -0
  91. package/src/media/mdx/Accordion/slots.ru.mdx +6 -0
  92. package/src/media/mdx/Accordion/wikiMdxAccordion.ts +25 -0
  93. package/src/media/mdx/ActionSheet/actionSheet.en.mdx +61 -0
  94. package/src/media/mdx/ActionSheet/actionSheet.ru.mdx +61 -0
  95. package/src/media/mdx/ActionSheet/touchClose.en.mdx +21 -0
  96. package/src/media/mdx/ActionSheet/touchClose.ru.mdx +21 -0
  97. package/src/media/mdx/ActionSheet/wikiMdxActionSheet.ts +25 -0
  98. package/src/media/mdx/Actions/actions.en.mdx +48 -0
  99. package/src/media/mdx/Actions/actions.ru.mdx +48 -0
  100. package/src/media/mdx/Actions/flexible.en.mdx +19 -0
  101. package/src/media/mdx/Actions/flexible.ru.mdx +19 -0
  102. package/src/media/mdx/Actions/list.en.mdx +50 -0
  103. package/src/media/mdx/Actions/list.ru.mdx +50 -0
  104. package/src/media/mdx/Actions/wikiMdxActions.ts +31 -0
  105. package/src/media/mdx/Anchor/anchor.en.mdx +34 -0
  106. package/src/media/mdx/Anchor/anchor.ru.mdx +34 -0
  107. package/src/media/mdx/Anchor/expose.go.en.mdx +6 -0
  108. package/src/media/mdx/Anchor/expose.go.ru.mdx +6 -0
  109. package/src/media/mdx/Anchor/hide.en.mdx +28 -0
  110. package/src/media/mdx/Anchor/hide.ru.mdx +28 -0
  111. package/src/media/mdx/Anchor/isCopy.en.mdx +23 -0
  112. package/src/media/mdx/Anchor/isCopy.ru.mdx +23 -0
  113. package/src/media/mdx/Anchor/scroll.en.mdx +34 -0
  114. package/src/media/mdx/Anchor/scroll.ru.mdx +35 -0
  115. package/src/media/mdx/Anchor/wikiMdxAnchor.ts +43 -0
  116. package/src/media/mdx/Arrow/arrow.en.mdx +33 -0
  117. package/src/media/mdx/Arrow/arrow.ru.mdx +33 -0
  118. package/src/media/mdx/Arrow/wikiMdxArrow.ts +19 -0
  119. package/src/media/mdx/Block/block.en.mdx +42 -0
  120. package/src/media/mdx/Block/block.ru.mdx +42 -0
  121. package/src/media/mdx/Block/wikiMdxBlock.ts +19 -0
  122. package/src/media/mdx/ChipGroup/chipGroup.en.mdx +51 -0
  123. package/src/media/mdx/ChipGroup/chipGroup.ru.mdx +51 -0
  124. package/src/media/mdx/ChipGroup/selected.en.mdx +50 -0
  125. package/src/media/mdx/ChipGroup/selected.ru.mdx +50 -0
  126. package/src/media/mdx/ChipGroup/wikiMdxChipGroup.ts +25 -0
  127. package/src/media/mdx/Dialog/buttons.en.mdx +45 -0
  128. package/src/media/mdx/Dialog/buttons.ru.mdx +45 -0
  129. package/src/media/mdx/Dialog/dialog.en.mdx +66 -0
  130. package/src/media/mdx/Dialog/dialog.ru.mdx +65 -0
  131. package/src/media/mdx/Dialog/events.en.mdx +63 -0
  132. package/src/media/mdx/Dialog/events.ru.mdx +63 -0
  133. package/src/media/mdx/Dialog/states.en.mdx +58 -0
  134. package/src/media/mdx/Dialog/states.ru.mdx +57 -0
  135. package/src/media/mdx/Dialog/wikiMdxDialog.ts +37 -0
  136. package/src/media/mdx/Field/arrows.en.mdx +22 -6
  137. package/src/media/mdx/Field/arrows.ru.mdx +22 -6
  138. package/src/media/mdx/Field/slots.en.mdx +0 -13
  139. package/src/media/mdx/Field/slots.ru.mdx +0 -13
  140. package/src/media/mdx/Image/flag.en.mdx +23 -0
  141. package/src/media/mdx/Image/flag.ru.mdx +23 -0
  142. package/src/media/mdx/Image/image.en.mdx +26 -21
  143. package/src/media/mdx/Image/image.ru.mdx +26 -22
  144. package/src/media/mdx/Image/img-tag.en.mdx +105 -0
  145. package/src/media/mdx/Image/img-tag.ru.mdx +105 -0
  146. package/src/media/mdx/Image/wikiMdxImage.ts +12 -0
  147. package/src/media/mdx/Input/currency.en.mdx +38 -0
  148. package/src/media/mdx/Input/currency.ru.mdx +38 -0
  149. package/src/media/mdx/Input/date.en.mdx +53 -0
  150. package/src/media/mdx/Input/date.ru.mdx +53 -0
  151. package/src/media/mdx/Input/input.en.mdx +143 -0
  152. package/src/media/mdx/Input/input.ru.mdx +71 -0
  153. package/src/media/mdx/Input/mask.en.mdx +30 -0
  154. package/src/media/mdx/Input/mask.ru.mdx +30 -0
  155. package/src/media/mdx/Input/number.en.mdx +41 -0
  156. package/src/media/mdx/Input/number.ru.mdx +41 -0
  157. package/src/media/mdx/Input/type.en.mdx +26 -0
  158. package/src/media/mdx/Input/type.ru.mdx +26 -0
  159. package/src/media/mdx/Input/wikiMdxInput.ts +49 -0
  160. package/src/media/mdx/Menu/event.updateValue.en.mdx +29 -0
  161. package/src/media/mdx/Menu/event.updateValue.ru.mdx +30 -0
  162. package/src/media/mdx/Menu/expose.navigation.en.mdx +12 -0
  163. package/src/media/mdx/Menu/expose.navigation.ru.mdx +12 -0
  164. package/src/media/mdx/Menu/navigation.en.mdx +56 -0
  165. package/src/media/mdx/Menu/navigation.ru.mdx +56 -0
  166. package/src/media/mdx/Menu/slots.control.en.mdx +65 -0
  167. package/src/media/mdx/Menu/slots.control.ru.mdx +65 -0
  168. package/src/media/mdx/Menu/slots.en.mdx +2 -24
  169. package/src/media/mdx/Menu/slots.ru.mdx +2 -24
  170. package/src/media/mdx/Menu/wikiMdxMenu.ts +27 -3
  171. package/src/media/mdx/Modal/differences.en.mdx +130 -0
  172. package/src/media/mdx/Modal/differences.ru.mdx +65 -0
  173. package/src/media/mdx/Modal/modal.en.mdx +63 -0
  174. package/src/media/mdx/Modal/modal.ru.mdx +63 -0
  175. package/src/media/mdx/Modal/wikiMdxModal.ts +25 -0
  176. package/src/media/mdx/MotionTransform/expose.motionTransformElement.en.mdx +13 -0
  177. package/src/media/mdx/MotionTransform/expose.motionTransformElement.ru.mdx +14 -0
  178. package/src/media/mdx/MotionTransform/wikiMdxMotionTransform.ts +6 -0
  179. package/src/media/mdx/Page/page.en.mdx +38 -0
  180. package/src/media/mdx/Page/page.ru.mdx +38 -0
  181. package/src/media/mdx/Page/wikiMdxPage.ts +19 -0
  182. package/src/media/mdx/Section/section.en.mdx +38 -0
  183. package/src/media/mdx/Section/section.ru.mdx +38 -0
  184. package/src/media/mdx/Section/wikiMdxSection.ts +19 -0
  185. package/src/media/mdx/Select/select.en.mdx +69 -0
  186. package/src/media/mdx/Select/select.ru.mdx +69 -0
  187. package/src/media/mdx/Select/wikiMdxSelect.ts +19 -0
  188. package/src/media/mdx/SelectValue/selectValue.en.mdx +64 -0
  189. package/src/media/mdx/SelectValue/selectValue.ru.mdx +64 -0
  190. package/src/media/mdx/SelectValue/wikiMdxSelectValue.ts +19 -0
  191. package/src/media/mdx/TextareaAutosize/textarea-autosize.en.mdx +65 -0
  192. package/src/media/mdx/TextareaAutosize/textarea-autosize.ru.mdx +65 -0
  193. package/src/media/mdx/TextareaAutosize/wikiMdxTextareaAutosize.ts +19 -0
  194. package/src/media/mdx/Tooltip/event.tooltip.en.mdx +7 -0
  195. package/src/media/mdx/Tooltip/event.tooltip.ru.mdx +8 -0
  196. package/src/media/mdx/Tooltip/slot.control.en.mdx +14 -0
  197. package/src/media/mdx/Tooltip/slot.control.ru.mdx +14 -0
  198. package/src/media/mdx/Tooltip/tooltip.en.mdx +34 -0
  199. package/src/media/mdx/Tooltip/tooltip.ru.mdx +34 -0
  200. package/src/media/mdx/Tooltip/wikiMdxTooltip.ts +31 -0
  201. package/src/media/mdx/Window/classes.ru.mdx +1 -1
  202. package/src/media/mdx/event/events.actions.en.mdx +44 -0
  203. package/src/media/mdx/event/events.actions.ru.mdx +44 -0
  204. package/src/media/mdx/event/events.inputStandard.en.mdx +6 -0
  205. package/src/media/mdx/event/events.inputStandard.ru.mdx +6 -0
  206. package/src/media/mdx/event/wikiMdxEvent.ts +20 -8
  207. package/src/media/mdx/expose/expose.clear.en.mdx +1 -1
  208. package/src/media/mdx/expose/expose.descriptionId.en.mdx +6 -0
  209. package/src/media/mdx/expose/expose.descriptionId.ru.mdx +6 -0
  210. package/src/media/mdx/expose/expose.id.en.mdx +6 -0
  211. package/src/media/mdx/expose/expose.id.ru.mdx +6 -0
  212. package/src/media/mdx/expose/expose.labelId.en.mdx +6 -0
  213. package/src/media/mdx/expose/expose.labelId.ru.mdx +6 -0
  214. package/src/media/mdx/expose/wikiMdxExpose.ts +18 -0
  215. package/src/media/mdx/slot/body.en.mdx +6 -0
  216. package/src/media/mdx/slot/body.ru.mdx +6 -0
  217. package/src/media/mdx/slot/headline.en.mdx +7 -0
  218. package/src/media/mdx/slot/headline.ru.mdx +6 -0
  219. package/src/media/mdx/slot/leading.en.mdx +7 -0
  220. package/src/media/mdx/slot/leading.ru.mdx +7 -0
  221. package/src/media/mdx/slot/secondary.en.mdx +5 -0
  222. package/src/media/mdx/slot/secondary.ru.mdx +5 -0
  223. package/src/media/mdx/slot/trailing.en.mdx +7 -0
  224. package/src/media/mdx/slot/trailing.ru.mdx +7 -0
  225. package/src/media/mdx/slot/wikiMdxSlot.ts +30 -0
  226. package/src/media/mdx/style/isSkeleton.en.mdx +2 -2
  227. package/src/media/mdx/style/isSkeleton.ru.mdx +2 -2
  228. package/src/media/mdx/value/v-model-selected.en.mdx +28 -0
  229. package/src/media/mdx/value/v-model-selected.ru.mdx +28 -0
  230. package/src/media/mdx/value/v-model.en.mdx +26 -0
  231. package/src/media/mdx/value/v-model.ru.mdx +26 -0
  232. package/src/media/mdx/value/wikiMdxValue.ts +24 -3
  233. package/src/media/mdx/wikiMdx.ts +33 -1
  234. package/src/media/props/wiki.ts +44 -0
  235. package/src/media/props/wikiActions.ts +43 -0
  236. package/src/media/props/wikiActionsInclude.ts +62 -0
  237. package/src/media/props/wikiAnchor.ts +85 -0
  238. package/src/media/props/wikiAria.ts +123 -0
  239. package/src/media/props/wikiArrow.ts +24 -0
  240. package/src/media/props/wikiArrowInclude.ts +45 -0
  241. package/src/media/props/wikiAttributes.ts +143 -0
  242. package/src/media/props/wikiBadge.ts +7 -4
  243. package/src/media/props/wikiBars.ts +7 -6
  244. package/src/media/props/wikiBarsInclude.ts +82 -0
  245. package/src/media/props/wikiButton.ts +8 -4
  246. package/src/media/props/wikiChip.ts +4 -2
  247. package/src/media/props/wikiChipGroup.ts +39 -0
  248. package/src/media/props/wikiDialog.ts +33 -0
  249. package/src/media/props/wikiField.ts +18 -31
  250. package/src/media/props/wikiFieldCounterInclude.ts +87 -0
  251. package/src/media/props/wikiForm.ts +267 -0
  252. package/src/media/props/wikiHook.ts +20 -0
  253. package/src/media/props/wikiIcon.ts +19 -6
  254. package/src/media/props/wikiIconInclude.ts +322 -0
  255. package/src/media/props/wikiImage.ts +97 -20
  256. package/src/media/props/wikiInformation.ts +164 -0
  257. package/src/media/props/wikiInput.ts +34 -0
  258. package/src/media/props/wikiList.ts +10 -4
  259. package/src/media/props/wikiListItem.ts +23 -2
  260. package/src/media/props/wikiMask.ts +2 -12
  261. package/src/media/props/wikiMaskInclude.ts +54 -0
  262. package/src/media/props/wikiMenu.ts +1 -11
  263. package/src/media/props/wikiMotionTransform.ts +7 -13
  264. package/src/media/props/wikiOption.ts +356 -0
  265. package/src/media/props/wikiProgress.ts +8 -5
  266. package/src/media/props/wikiScrollbar.ts +6 -6
  267. package/src/media/props/wikiSelect.ts +68 -0
  268. package/src/media/props/wikiSelectValue.ts +30 -0
  269. package/src/media/props/wikiStatus.ts +34 -57
  270. package/src/media/props/wikiStyle.ts +85 -406
  271. package/src/media/props/wikiTechnical.ts +141 -1
  272. package/src/media/props/wikiText.ts +167 -0
  273. package/src/media/props/wikiTooltip.ts +53 -0
  274. package/src/media/props/wikiValue.ts +22 -276
  275. package/src/media/props/wikiWindow.ts +24 -45
  276. package/src/shims-mdx.d.ts +5 -0
  277. package/src/styles/storybookStyle.scss +3 -1
  278. package/src/types/storybookTypes.ts +48 -4
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dxtmisha/wiki",
3
3
  "private": false,
4
- "version": "0.24.3",
4
+ "version": "0.39.1",
5
5
  "type": "module",
6
6
  "description": "Wiki documentation and storybook utilities for DXT UI design system",
7
7
  "keywords": [
@@ -43,15 +43,15 @@
43
43
  "./package.json": "./package.json"
44
44
  },
45
45
  "engines": {
46
- "node": ">=18.0.0"
46
+ "node": ">=20.0.0"
47
47
  },
48
48
  "peerDependencies": {
49
- "@dxtmisha/functional": ">=1.0.0",
50
- "@dxtmisha/media": ">=0.3.0",
51
- "@storybook/addon-docs": ">=9.0.0",
52
- "@mdx-js/react": ">=2.0.0",
53
- "react": ">=17.0.0",
54
- "vue": ">=3.0.0"
49
+ "@dxtmisha/functional": "*",
50
+ "@dxtmisha/media": "*",
51
+ "@storybook/addon-docs": "*",
52
+ "@mdx-js/react": "*",
53
+ "react": "*",
54
+ "vue": "*"
55
55
  },
56
56
  "dependencies": {}
57
57
  }
@@ -1,12 +1,14 @@
1
- import { Geo, isObjectNotArray, toCamelCase } from '@dxtmisha/functional'
1
+ import { forEach, Geo, isObjectNotArray, toCamelCase } from '@dxtmisha/functional'
2
2
 
3
3
  import { WikiStorybookItem } from './WikiStorybookItem'
4
+ import { WikiStorybookProp } from './WikiStorybookProp'
4
5
 
5
6
  import {
6
7
  type StorybookArgs,
7
8
  type StorybookArgsToDescription,
8
9
  type StorybookArgsToItem,
9
10
  type StorybookArgsToList,
11
+ type StorybookArgsToPossibilities,
10
12
  type StorybookComponentsDescription,
11
13
  type StorybookComponentsDescriptionItem,
12
14
  type StorybookComponentsDescriptionStory,
@@ -63,6 +65,23 @@ export class WikiStorybook {
63
65
  return this.initPropsWiki()
64
66
  }
65
67
 
68
+ /**
69
+ * Returns the wiki object for the component
70
+ *
71
+ * Возвращает объект wiki для компонента
72
+ * @return The wiki object for the component/ объект wiki для компонента
73
+ */
74
+ getWikiObject(): WikiStorybookProp[] {
75
+ return forEach(
76
+ this.getWiki(),
77
+ (item, name) => {
78
+ if (item) {
79
+ return new WikiStorybookProp(name, item)
80
+ }
81
+ }
82
+ ) as WikiStorybookProp[]
83
+ }
84
+
66
85
  /**
67
86
  * Returns the description of the component from the wiki
68
87
  *
@@ -73,6 +92,16 @@ export class WikiStorybook {
73
92
  return this.toDescriptionText(this.getDescriptionItem()?.description)
74
93
  }
75
94
 
95
+ /**
96
+ * Returns the possibilities of the component from the wiki
97
+ *
98
+ * Возвращает возможности компонента из wiki
99
+ * @return A list of possibilities for the component/ список возможностей для компонента
100
+ */
101
+ getPossibilities(): string[] {
102
+ return this.toPossibilitiesText(this.getDescriptionItem()?.possibilities)
103
+ }
104
+
76
105
  /**
77
106
  * Returns the values of the wiki items
78
107
  *
@@ -89,6 +118,28 @@ export class WikiStorybook {
89
118
  return values
90
119
  }
91
120
 
121
+ /**
122
+ * Returns the filtered values of the wiki items
123
+ *
124
+ * Возвращает отфильтрованные значения элементов wiki
125
+ * @return A list of objects containing the filtered values of the wiki items/
126
+ * список объектов, содержащих отфильтрованные значения элементов wiki
127
+ */
128
+ getFilteredValues(): Record<string, any> {
129
+ const values: Record<string, any> = {}
130
+
131
+ forEach(
132
+ this.getValues(),
133
+ (value, key) => {
134
+ if (value !== undefined) {
135
+ values[key] = value
136
+ }
137
+ }
138
+ )
139
+
140
+ return values
141
+ }
142
+
92
143
  /**
93
144
  * Returns a Storybook item by its ID
94
145
  *
@@ -120,6 +171,24 @@ export class WikiStorybook {
120
171
  )
121
172
  }
122
173
 
174
+ /**
175
+ * Returns the AI render of the component
176
+ *
177
+ * Возвращает AI рендер компонента
178
+ */
179
+ getAiRender(): string | undefined {
180
+ return this.getDescriptionItem()?.ai?.render
181
+ }
182
+
183
+ /**
184
+ * Returns the AI description of the component
185
+ *
186
+ * Возвращает AI описание компонента
187
+ */
188
+ getAiDescription(): string | undefined {
189
+ return this.getDescriptionItem()?.ai?.description
190
+ }
191
+
123
192
  /**
124
193
  * Returns a wiki item by its name
125
194
  *
@@ -196,6 +265,28 @@ export class WikiStorybook {
196
265
  return ''
197
266
  }
198
267
 
268
+ /**
269
+ * Converts the possibilities to text format
270
+ *
271
+ * Преобразует возможности в текстовый формат
272
+ * @param possibilities - The possibilities to convert/ возможности для преобразования
273
+ */
274
+ private toPossibilitiesText(possibilities?: StorybookArgsToPossibilities): string[] {
275
+ if (possibilities) {
276
+ const language = Geo.getLanguage()
277
+
278
+ if (isObjectNotArray(possibilities)) {
279
+ return possibilities?.[language]
280
+ ?? Object.values(possibilities)?.[0]
281
+ ?? []
282
+ }
283
+
284
+ return possibilities
285
+ }
286
+
287
+ return []
288
+ }
289
+
199
290
  /**
200
291
  * Initializes the list of wiki items for the component
201
292
  *
@@ -26,6 +26,15 @@ export class WikiStorybookItem {
26
26
  ) {
27
27
  }
28
28
 
29
+ /**
30
+ * Checks if the item is a demo item.
31
+ *
32
+ * Проверяет, является ли элемент демонстрационным.
33
+ */
34
+ isDemo(): boolean {
35
+ return this.item.isDemo === true
36
+ }
37
+
29
38
  /**
30
39
  * Returns the name of the item in the wiki
31
40
  *
@@ -64,8 +73,34 @@ export class WikiStorybookItem {
64
73
  return 3000
65
74
  case StorybookCategory.value:
66
75
  return 5000
76
+ case StorybookCategory.information:
77
+ return 5100
78
+ case StorybookCategory.actions:
79
+ return 5200
80
+ case StorybookCategory.icon:
81
+ return 5200
82
+ case StorybookCategory.bars:
83
+ return 5200
84
+ case StorybookCategory.counter:
85
+ return 5200
86
+ case StorybookCategory.mask:
87
+ return 5200
88
+ case StorybookCategory.form:
89
+ return 6000
90
+ case StorybookCategory.arrow:
91
+ return 6900
92
+ case StorybookCategory.hook:
93
+ return 7000
67
94
  case StorybookCategory.style:
68
95
  return 9000
96
+ case StorybookCategory.option:
97
+ return 9100
98
+ case StorybookCategory.attributes:
99
+ return 9700
100
+ case StorybookCategory.text:
101
+ return 9800
102
+ case StorybookCategory.aria:
103
+ return 9900
69
104
  default:
70
105
  return 9999
71
106
  }
@@ -93,6 +128,40 @@ export class WikiStorybookItem {
93
128
  }
94
129
  }
95
130
 
131
+ /**
132
+ * Returns the demo property if the item is a demo item.
133
+ *
134
+ * Возвращает свойство demo, если элемент является демонстрационным.
135
+ */
136
+ private getDemo(): { isDemo?: boolean, demo?: any, demoOptions?: Record<string, any> } {
137
+ if (this.isDemo()) {
138
+ return {
139
+ isDemo: true,
140
+ demo: this.getDemoValue(),
141
+ demoOptions: this.item.demoOptions
142
+ }
143
+ }
144
+
145
+ return {}
146
+ }
147
+
148
+ /**
149
+ * Returns the demo value.
150
+ *
151
+ * Возвращает демонстрационное значение.
152
+ */
153
+ private getDemoValue(): any {
154
+ if (this.item.demo) {
155
+ return this.item.demo
156
+ }
157
+
158
+ if (this.item.type === StorybookControl.boolean) {
159
+ return true
160
+ }
161
+
162
+ return undefined
163
+ }
164
+
96
165
  /**
97
166
  * Returns the category type of a property
98
167
  *
@@ -223,7 +292,8 @@ export class WikiStorybookItem {
223
292
  ...this.getDefaultValue(),
224
293
  ...this.getType()
225
294
  },
226
- ...this.getDescription()
295
+ ...this.getDescription(),
296
+ ...this.getDemo()
227
297
  }
228
298
  }
229
299
 
@@ -252,7 +322,8 @@ export class WikiStorybookItem {
252
322
  return {
253
323
  control,
254
324
  table,
255
- ...this.getDescription()
325
+ ...this.getDescription(),
326
+ ...this.getDemo()
256
327
  }
257
328
  }
258
329
 
@@ -268,7 +339,8 @@ export class WikiStorybookItem {
268
339
  ...this.getCategory(),
269
340
  ...this.getType()
270
341
  },
271
- ...this.getDescription()
342
+ ...this.getDescription(),
343
+ ...this.getDemo()
272
344
  }
273
345
  }
274
346
 
@@ -286,7 +358,8 @@ export class WikiStorybookItem {
286
358
  ...this.getDefaultValue(),
287
359
  ...this.getType()
288
360
  },
289
- ...this.getDescription()
361
+ ...this.getDescription(),
362
+ ...this.getDemo()
290
363
  }
291
364
  }
292
365
 
@@ -303,7 +376,8 @@ export class WikiStorybookItem {
303
376
  ...this.getDefaultValue(),
304
377
  ...this.getType()
305
378
  },
306
- ...this.getDescription()
379
+ ...this.getDescription(),
380
+ ...this.getDemo()
307
381
  }
308
382
  }
309
383
  }
@@ -0,0 +1,109 @@
1
+ import { isString, toKebabCase } from '@dxtmisha/functional-basic'
2
+ import { type StorybookArgsItem, StorybookControl } from '../types/storybookTypes'
3
+
4
+ /**
5
+ * Class for working with a single Storybook property.
6
+ *
7
+ * Класс для работы с одним свойством Storybook.
8
+ */
9
+ export class WikiStorybookProp {
10
+ /**
11
+ * Constructor
12
+ * @param name property name / имя свойства
13
+ * @param item property configuration / конфигурация свойства
14
+ */
15
+ constructor(
16
+ public readonly name: string,
17
+ protected readonly item: StorybookArgsItem
18
+ ) {
19
+ }
20
+
21
+ /**
22
+ * Checks if the item is a demo item.
23
+ *
24
+ * Проверяет, является ли элемент демонстрационным.
25
+ */
26
+ isDemo(): boolean {
27
+ return this.item.isDemo === true
28
+ }
29
+
30
+ /**
31
+ * Returns the property configuration.
32
+ *
33
+ * Возвращает конфигурацию свойства.
34
+ */
35
+ get(): StorybookArgsItem {
36
+ return this.item
37
+ }
38
+
39
+ /**
40
+ * Returns the property name.
41
+ *
42
+ * Возвращает имя свойства.
43
+ */
44
+ getName(): string {
45
+ return toKebabCase(this.name)
46
+ }
47
+
48
+ /**
49
+ * Returns the default value of the property.
50
+ *
51
+ * Возвращает значение по умолчанию для свойства.
52
+ */
53
+ getDefaultValue(): any {
54
+ return this.item?.table?.defaultValue?.summary
55
+ }
56
+
57
+ /**
58
+ * Returns the property type.
59
+ *
60
+ * Возвращает тип свойства.
61
+ */
62
+ getType(): string {
63
+ if (this.item?.table?.type?.summary) {
64
+ return this.item.table.type.summary
65
+ }
66
+
67
+ if (isString(this.item.control)) {
68
+ return this.item.control
69
+ }
70
+
71
+ return this.item.control?.type ?? StorybookControl.string
72
+ }
73
+
74
+ /**
75
+ * Returns the property description.
76
+ *
77
+ * Возвращает описание свойства.
78
+ */
79
+ getDescription(): string {
80
+ return this.item.description ?? ''
81
+ }
82
+
83
+ /**
84
+ * Returns the property options.
85
+ *
86
+ * Возвращает опции свойства.
87
+ */
88
+ getOptions(): StorybookArgsItem['options'] {
89
+ return this.item.options
90
+ }
91
+
92
+ /**
93
+ * Returns the demo data.
94
+ *
95
+ * Возвращает демонстрационные данные.
96
+ */
97
+ getDemo(): any {
98
+ return this.item.demo
99
+ }
100
+
101
+ /**
102
+ * Returns the additional demo data.
103
+ *
104
+ * Возвращает дополнительные демонстрационные данные.
105
+ */
106
+ getDemoOptions(): Record<string, any> {
107
+ return this.item.demoOptions ?? {}
108
+ }
109
+ }
package/src/library.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  export * from './classes/WikiStorybook'
3
3
  export * from './classes/WikiStorybookDescriptions'
4
4
  export * from './classes/WikiStorybookItem'
5
+ export * from './classes/WikiStorybookProp'
5
6
 
6
7
  // Types
7
8
  export * from './types/storybookTypes'
@@ -1,40 +1,65 @@
1
1
  import type { StorybookComponentsDescription } from '../../types/storybookTypes'
2
2
 
3
+ import { wikiDescriptionsAccordion } from './wikiDescriptionsAccordion'
4
+ import { wikiDescriptionsActions } from './wikiDescriptionsActions'
5
+ import { wikiDescriptionsActionSheet } from './wikiDescriptionsActionSheet'
6
+ import { wikiDescriptionsAnchor } from './wikiDescriptionsAnchor'
7
+ import { wikiDescriptionsArrow } from './wikiDescriptionsArrow'
3
8
  import { wikiDescriptionsBadge } from './wikiDescriptionsBadge'
4
9
  import { wikiDescriptionsBars } from './wikiDescriptionsBars'
10
+ import { wikiDescriptionsBlock } from './wikiDescriptionsBlock'
5
11
  import { wikiDescriptionsButton } from './wikiDescriptionsButton'
6
12
  import { wikiDescriptionsCell } from './wikiDescriptionsCell'
7
13
  import { wikiDescriptionsChip } from './wikiDescriptionsChip'
14
+ import { wikiDescriptionsChipGroup } from './wikiDescriptionsChipGroup'
15
+ import { wikiDescriptionsDialog } from './wikiDescriptionsDialog'
8
16
  import { wikiDescriptionsField } from './wikiDescriptionsField'
9
17
  import { wikiDescriptionsFieldCounter } from './wikiDescriptionsFieldCounter'
10
18
  import { wikiDescriptionsFieldLabel } from './wikiDescriptionsFieldLabel'
11
19
  import { wikiDescriptionsFieldMessage } from './wikiDescriptionsFieldMessage'
12
20
  import { wikiDescriptionsIcon } from './wikiDescriptionsIcon'
13
21
  import { wikiDescriptionsImage } from './wikiDescriptionsImage'
22
+ import { wikiDescriptionsInput } from './wikiDescriptionsInput'
14
23
  import { wikiDescriptionsList } from './wikiDescriptionsList'
15
24
  import { wikiDescriptionsListGroup } from './wikiDescriptionsListGroup'
16
25
  import { wikiDescriptionsListItem } from './wikiDescriptionsListItem'
17
26
  import { wikiDescriptionsListMenu } from './wikiDescriptionsListMenu'
18
27
  import { wikiDescriptionsMask } from './wikiDescriptionsMask'
19
28
  import { wikiDescriptionsMenu } from './wikiDescriptionsMenu'
29
+ import { wikiDescriptionsModal } from './wikiDescriptionsModal'
20
30
  import { wikiDescriptionsMotionTransform } from './wikiDescriptionsMotionTransform'
31
+ import { wikiDescriptionsPage } from './wikiDescriptionsPage'
21
32
  import { wikiDescriptionsProgress } from './wikiDescriptionsProgress'
22
33
  import { wikiDescriptionsRipple } from './wikiDescriptionsRipple'
23
34
  import { wikiDescriptionsScrollbar } from './wikiDescriptionsScrollbar'
35
+ import { wikiDescriptionsSection } from './wikiDescriptionsSection'
36
+ import { wikiDescriptionsSelect } from './wikiDescriptionsSelect'
37
+ import { wikiDescriptionsSelectValue } from './wikiDescriptionsSelectValue'
24
38
  import { wikiDescriptionsSkeleton } from './wikiDescriptionsSkeleton'
39
+ import { wikiDescriptionsTextareaAutosize } from './wikiDescriptionsTextareaAutosize'
40
+ import { wikiDescriptionsTooltip } from './wikiDescriptionsTooltip'
25
41
  import { wikiDescriptionsWindow } from './wikiDescriptionsWindow'
26
42
 
27
43
  export const wikiDescriptions: StorybookComponentsDescription = [
44
+ wikiDescriptionsAccordion,
45
+ wikiDescriptionsActions,
46
+ wikiDescriptionsActionSheet,
47
+ wikiDescriptionsAnchor,
48
+ wikiDescriptionsArrow,
28
49
  wikiDescriptionsBadge,
29
50
  wikiDescriptionsBars,
51
+ wikiDescriptionsBlock,
30
52
  wikiDescriptionsButton,
31
53
  wikiDescriptionsCell,
32
54
  wikiDescriptionsChip,
55
+ wikiDescriptionsChipGroup,
56
+ wikiDescriptionsDialog,
33
57
  wikiDescriptionsField,
34
58
  wikiDescriptionsFieldCounter,
35
59
  wikiDescriptionsFieldLabel,
36
60
  wikiDescriptionsFieldMessage,
37
61
  wikiDescriptionsIcon,
62
+ wikiDescriptionsInput,
38
63
  wikiDescriptionsImage,
39
64
  wikiDescriptionsList,
40
65
  wikiDescriptionsListGroup,
@@ -42,10 +67,17 @@ export const wikiDescriptions: StorybookComponentsDescription = [
42
67
  wikiDescriptionsListMenu,
43
68
  wikiDescriptionsMask,
44
69
  wikiDescriptionsMenu,
70
+ wikiDescriptionsModal,
45
71
  wikiDescriptionsMotionTransform,
72
+ wikiDescriptionsPage,
46
73
  wikiDescriptionsProgress,
47
74
  wikiDescriptionsRipple,
48
75
  wikiDescriptionsScrollbar,
76
+ wikiDescriptionsSection,
77
+ wikiDescriptionsSelect,
78
+ wikiDescriptionsSelectValue,
49
79
  wikiDescriptionsSkeleton,
80
+ wikiDescriptionsTextareaAutosize,
81
+ wikiDescriptionsTooltip,
50
82
  wikiDescriptionsWindow
51
83
  ]