native-document 1.0.165 → 1.0.166

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 (398) hide show
  1. package/components.d.ts +2 -0
  2. package/devtools/widget.js +1 -1
  3. package/dist/native-document.components.min.js +11074 -2735
  4. package/dist/native-document.dev.js +2269 -392
  5. package/dist/native-document.dev.js.map +1 -1
  6. package/dist/native-document.min.js +1 -1
  7. package/eslint.config.js +28 -33
  8. package/i18n.js +1 -1
  9. package/i18n.ts +2 -0
  10. package/index.js +3 -0
  11. package/package.json +3 -2
  12. package/src/components/$traits/has-draggable/HasDraggable.d.ts +4 -0
  13. package/src/components/$traits/has-draggable/HasDraggable.js +13 -0
  14. package/src/components/$traits/has-items/HasItems.d.ts +9 -0
  15. package/src/components/$traits/has-items/HasItems.js +6 -6
  16. package/src/components/$traits/has-position/HasFullPosition.d.ts +14 -0
  17. package/src/components/$traits/has-position/HasFullPosition.js +44 -0
  18. package/src/components/$traits/has-position/HasPosition.d.ts +7 -0
  19. package/src/components/$traits/has-position/HasPosition.js +23 -1
  20. package/src/components/$traits/has-resizable/HasResizable.d.ts +13 -0
  21. package/src/components/$traits/has-resizable/HasResizable.js +9 -0
  22. package/src/components/$traits/has-validation/HasValidation.d.ts +17 -0
  23. package/src/components/$traits/has-validation/HasValidation.js +54 -7
  24. package/src/components/BaseComponent.d.ts +32 -0
  25. package/src/components/BaseComponent.js +65 -9
  26. package/src/components/accordion/Accordion.js +39 -14
  27. package/src/components/accordion/AccordionItem.js +45 -14
  28. package/src/components/accordion/index.js +2 -2
  29. package/src/components/accordion/types/Accordion.d.ts +47 -0
  30. package/src/components/accordion/types/AccordionItem.d.ts +48 -0
  31. package/src/components/alert/Alert.js +70 -38
  32. package/src/components/alert/index.js +2 -2
  33. package/src/components/alert/types/Alert.d.ts +62 -0
  34. package/src/components/avatar/Avatar.js +49 -12
  35. package/src/components/avatar/AvatarGroup.js +50 -2
  36. package/src/components/avatar/index.js +2 -2
  37. package/src/components/avatar/types/Avatar.d.ts +74 -0
  38. package/src/components/avatar/types/AvatarGroup.d.ts +32 -0
  39. package/src/components/badge/Badge.js +125 -5
  40. package/src/components/badge/index.js +2 -2
  41. package/src/components/badge/types/Badge.d.ts +51 -0
  42. package/src/components/breadcrumb/BreadCrumb.js +61 -5
  43. package/src/components/breadcrumb/index.js +2 -2
  44. package/src/components/breadcrumb/types/BreadCrumb.d.ts +42 -0
  45. package/src/components/button/Button.js +164 -9
  46. package/src/components/button/index.js +1 -1
  47. package/src/components/button/types/Button.d.ts +62 -0
  48. package/src/components/card/Card.js +128 -10
  49. package/src/components/card/index.js +3 -3
  50. package/src/components/card/types/Card.d.ts +42 -0
  51. package/src/components/context-menu/ContextMenu.js +49 -5
  52. package/src/components/context-menu/ContextMenuGroup.js +15 -2
  53. package/src/components/context-menu/ContextMenuItem.js +14 -2
  54. package/src/components/context-menu/index.js +5 -5
  55. package/src/components/context-menu/types/ContextMenu.d.ts +30 -0
  56. package/src/components/context-menu/types/ContextMenuGroup.d.ts +18 -0
  57. package/src/components/context-menu/types/ContextMenuItem.d.ts +18 -0
  58. package/src/components/divider/Divider.js +120 -4
  59. package/src/components/divider/index.js +3 -3
  60. package/src/components/divider/types/Divider.d.ts +55 -0
  61. package/src/components/dropdown/Dropdown.js +239 -16
  62. package/src/components/dropdown/DropdownDivider.js +22 -2
  63. package/src/components/dropdown/DropdownGroup.js +44 -5
  64. package/src/components/dropdown/DropdownItem.js +76 -3
  65. package/src/components/dropdown/DropdownTrigger.js +49 -20
  66. package/src/components/dropdown/helpers.js +1 -1
  67. package/src/components/dropdown/index.js +6 -6
  68. package/src/components/dropdown/types/Dropdown.d.ts +88 -0
  69. package/src/components/dropdown/types/DropdownDivider.d.ts +20 -0
  70. package/src/components/dropdown/types/DropdownGroup.d.ts +25 -0
  71. package/src/components/dropdown/types/DropdownItem.d.ts +41 -0
  72. package/src/components/dropdown/types/DropdownTrigger.d.ts +32 -0
  73. package/src/components/form/FormControl.js +156 -13
  74. package/src/components/form/field/Field.js +172 -9
  75. package/src/components/form/field/FieldCollection.js +116 -12
  76. package/src/components/form/field/types/AutocompleteField.js +92 -2
  77. package/src/components/form/field/types/CheckboxField.js +43 -2
  78. package/src/components/form/field/types/CheckboxGroupField.js +83 -6
  79. package/src/components/form/field/types/ColorField.js +56 -3
  80. package/src/components/form/field/types/DateField.js +155 -4
  81. package/src/components/form/field/types/EmailField.js +54 -4
  82. package/src/components/form/field/types/FileField.js +140 -6
  83. package/src/components/form/field/types/HiddenField.js +27 -1
  84. package/src/components/form/field/types/ImageField.js +82 -3
  85. package/src/components/form/field/types/NumberField.js +97 -4
  86. package/src/components/form/field/types/PasswordField.js +103 -7
  87. package/src/components/form/field/types/RadioField.js +75 -4
  88. package/src/components/form/field/types/RangeField.js +67 -1
  89. package/src/components/form/field/types/SearchField.js +41 -2
  90. package/src/components/form/field/types/SelectField.js +133 -4
  91. package/src/components/form/field/types/StringField.js +91 -2
  92. package/src/components/form/field/types/TelField.js +55 -4
  93. package/src/components/form/field/types/TextAreaField.js +76 -2
  94. package/src/components/form/field/types/TimeField.js +120 -5
  95. package/src/components/form/field/types/UrlField.js +59 -4
  96. package/src/components/form/field/types/file-field-mode/FileAvatarMode.js +83 -4
  97. package/src/components/form/field/types/file-field-mode/FileDropzoneMode.js +61 -3
  98. package/src/components/form/field/types/file-field-mode/FileItemPreview.js +79 -3
  99. package/src/components/form/field/types/file-field-mode/FileNativeMode.js +24 -2
  100. package/src/components/form/field/types/file-field-mode/FileUploadButtonMode.js +64 -3
  101. package/src/components/form/field/types/file-field-mode/FileWallMode.js +56 -3
  102. package/src/components/form/index.js +28 -28
  103. package/src/components/form/types/Field.d.ts +73 -0
  104. package/src/components/form/types/FieldCollection.d.ts +53 -0
  105. package/src/components/form/types/FormControl.d.ts +64 -0
  106. package/src/components/form/types/fields/AutocompleteField.d.ts +48 -0
  107. package/src/components/form/types/fields/CheckboxField.d.ts +33 -0
  108. package/src/components/form/types/fields/CheckboxGroupField.d.ts +49 -0
  109. package/src/components/form/types/fields/ColorField.d.ts +37 -0
  110. package/src/components/form/types/fields/DateField.d.ts +70 -0
  111. package/src/components/form/types/fields/EmailField.d.ts +35 -0
  112. package/src/components/form/types/fields/FileAvatarMode.d.ts +46 -0
  113. package/src/components/form/types/fields/FileDropzoneMode.d.ts +28 -0
  114. package/src/components/form/types/fields/FileField.d.ts +56 -0
  115. package/src/components/form/types/fields/FileItemPreview.d.ts +35 -0
  116. package/src/components/form/types/fields/FileNativeMode.d.ts +21 -0
  117. package/src/components/form/types/fields/FileUploadButtonMode.d.ts +34 -0
  118. package/src/components/form/types/fields/FileWallMode.d.ts +32 -0
  119. package/src/components/form/types/fields/HiddenField.d.ts +26 -0
  120. package/src/components/form/types/fields/ImageField.d.ts +45 -0
  121. package/src/components/form/types/fields/NumberField.d.ts +48 -0
  122. package/src/components/form/types/fields/PasswordField.d.ts +46 -0
  123. package/src/components/form/types/fields/RadioField.d.ts +48 -0
  124. package/src/components/form/types/fields/RangeField.d.ts +44 -0
  125. package/src/components/form/types/fields/SearchField.d.ts +34 -0
  126. package/src/components/form/types/fields/SelectField.d.ts +71 -0
  127. package/src/components/form/types/fields/StringField.d.ts +48 -0
  128. package/src/components/form/types/fields/TelField.d.ts +37 -0
  129. package/src/components/form/types/fields/TextAreaField.d.ts +44 -0
  130. package/src/components/form/types/fields/TimeField.d.ts +51 -0
  131. package/src/components/form/types/fields/UrlField.d.ts +35 -0
  132. package/src/components/form/validation/Validation.js +54 -54
  133. package/src/components/index.d.ts +160 -0
  134. package/src/components/list/List.js +99 -15
  135. package/src/components/list/ListGroup.js +58 -8
  136. package/src/components/list/ListItem.js +79 -18
  137. package/src/components/list/index.js +5 -5
  138. package/src/components/list/types/List.d.ts +43 -0
  139. package/src/components/list/types/ListGroup.d.ts +37 -0
  140. package/src/components/list/types/ListItem.d.ts +42 -0
  141. package/src/components/menu/HasMenuItem.js +55 -6
  142. package/src/components/menu/Menu.js +113 -22
  143. package/src/components/menu/MenuDivider.js +18 -2
  144. package/src/components/menu/MenuGroup.js +61 -6
  145. package/src/components/menu/MenuItem.js +95 -11
  146. package/src/components/menu/MenuLink.js +27 -2
  147. package/src/components/menu/index.js +6 -6
  148. package/src/components/menu/types/Menu.d.ts +60 -0
  149. package/src/components/menu/types/MenuDivider.d.ts +19 -0
  150. package/src/components/menu/types/MenuGroup.d.ts +44 -0
  151. package/src/components/menu/types/MenuItem.d.ts +46 -0
  152. package/src/components/menu/types/MenuLink.d.ts +16 -0
  153. package/src/components/modal/Modal.js +258 -17
  154. package/src/components/modal/index.js +3 -3
  155. package/src/components/modal/types/Modal.d.ts +94 -0
  156. package/src/components/pagination/Pagination.js +155 -7
  157. package/src/components/pagination/index.js +3 -3
  158. package/src/components/pagination/types/Pagination.d.ts +68 -0
  159. package/src/components/popover/Popover.js +198 -11
  160. package/src/components/popover/PopoverFooter.js +33 -9
  161. package/src/components/popover/PopoverHeader.js +33 -8
  162. package/src/components/popover/index.js +4 -4
  163. package/src/components/popover/types/Popover.d.ts +83 -0
  164. package/src/components/popover/types/PopoverFooter.d.ts +24 -0
  165. package/src/components/popover/types/PopoverHeader.d.ts +26 -0
  166. package/src/components/progress/Progress.js +182 -13
  167. package/src/components/progress/index.js +3 -3
  168. package/src/components/progress/types/Progress.d.ts +77 -0
  169. package/src/components/skeleton/Skeleton.js +117 -49
  170. package/src/components/skeleton/index.js +3 -3
  171. package/src/components/skeleton/types/Skeleton.d.ts +55 -0
  172. package/src/components/slider/Slider.js +207 -10
  173. package/src/components/slider/index.js +2 -2
  174. package/src/components/slider/types/Slider.d.ts +82 -0
  175. package/src/components/spacer/Spacer.js +11 -2
  176. package/src/components/spacer/index.js +2 -2
  177. package/src/components/spacer/types/Spacer.d.ts +19 -0
  178. package/src/components/spinner/Spinner.js +180 -9
  179. package/src/components/spinner/index.js +3 -3
  180. package/src/components/spinner/types/Spinner.d.ts +71 -0
  181. package/src/components/splitter/Splitter.js +76 -13
  182. package/src/components/splitter/SplitterGutter.js +67 -5
  183. package/src/components/splitter/SplitterPanel.js +69 -2
  184. package/src/components/splitter/index.js +5 -5
  185. package/src/components/splitter/types/Splitter.d.ts +38 -0
  186. package/src/components/splitter/types/SplitterGutter.d.ts +38 -0
  187. package/src/components/splitter/types/SplitterPanel.d.ts +41 -0
  188. package/src/components/stacks/AbsoluteStack.js +23 -3
  189. package/src/components/stacks/FixedStack.js +23 -3
  190. package/src/components/stacks/HStack.js +24 -3
  191. package/src/components/stacks/PositionStack.js +111 -3
  192. package/src/components/stacks/RelativeStack.js +23 -3
  193. package/src/components/stacks/Stack.js +73 -2
  194. package/src/components/stacks/VStack.js +24 -4
  195. package/src/components/stacks/index.js +7 -7
  196. package/src/components/stacks/types/AbsoluteStack.d.ts +16 -0
  197. package/src/components/stacks/types/FixedStack.d.ts +16 -0
  198. package/src/components/stacks/types/HStack.d.ts +16 -0
  199. package/src/components/stacks/types/PositionStack.d.ts +54 -0
  200. package/src/components/stacks/types/RelativeStack.d.ts +17 -0
  201. package/src/components/stacks/types/Stack.d.ts +39 -0
  202. package/src/components/stacks/types/VStack.d.ts +16 -0
  203. package/src/components/stepper/Stepper.js +152 -12
  204. package/src/components/stepper/StepperStep.js +104 -3
  205. package/src/components/stepper/index.js +4 -4
  206. package/src/components/stepper/types/Stepper.d.ts +68 -0
  207. package/src/components/stepper/types/StepperStep.d.ts +54 -0
  208. package/src/components/switch/Switch.js +143 -6
  209. package/src/components/switch/index.js +1 -1
  210. package/src/components/switch/types/Switch.d.ts +55 -0
  211. package/src/components/table/Column.js +105 -6
  212. package/src/components/table/ColumnGroup.js +48 -3
  213. package/src/components/table/DataTable.js +256 -19
  214. package/src/components/table/SimpleTable.js +58 -4
  215. package/src/components/table/index.js +2 -2
  216. package/src/components/table/types/Column.d.ts +49 -0
  217. package/src/components/table/types/ColumnGroup.d.ts +28 -0
  218. package/src/components/table/types/DataTable.d.ts +97 -0
  219. package/src/components/table/types/SimpleTable.d.ts +40 -0
  220. package/src/components/tabs/Tabs.js +192 -5
  221. package/src/components/tabs/index.js +3 -3
  222. package/src/components/tabs/types/Tabs.d.ts +78 -0
  223. package/src/components/toast/Toast.js +133 -5
  224. package/src/components/toast/index.js +3 -3
  225. package/src/components/toast/types/Toast.d.ts +57 -0
  226. package/src/components/toast/types/ToastError.d.ts +7 -0
  227. package/src/components/toast/types/ToastInfo.d.ts +7 -0
  228. package/src/components/toast/types/ToastSuccess.d.ts +7 -0
  229. package/src/components/toast/types/ToastWarning.d.ts +7 -0
  230. package/src/components/tooltip/Tooltip.js +157 -13
  231. package/src/components/tooltip/index.js +2 -2
  232. package/src/components/tooltip/prototypes.js +1 -1
  233. package/src/components/tooltip/types/Tooltip.d.ts +65 -0
  234. package/src/core/data/MemoryManager.js +2 -2
  235. package/src/core/data/Observable.js +15 -18
  236. package/src/core/data/ObservableArray.js +118 -46
  237. package/src/core/data/ObservableChecker.js +2 -2
  238. package/src/core/data/ObservableItem.js +135 -21
  239. package/src/core/data/ObservableObject.js +126 -35
  240. package/src/core/data/ObservableResource.js +113 -3
  241. package/src/core/data/Store.js +142 -26
  242. package/src/core/data/observable-helpers/observable.is-to.js +196 -1
  243. package/src/core/data/observable-helpers/observable.prototypes.js +33 -8
  244. package/src/core/elements/anchor/anchor-with-sentinel.js +23 -2
  245. package/src/core/elements/anchor/anchor.js +16 -7
  246. package/src/core/elements/anchor/one-child-anchor-overwriting.js +2 -2
  247. package/src/core/elements/content-formatter.js +1 -1
  248. package/src/core/elements/control/for-each-array.js +9 -9
  249. package/src/core/elements/control/for-each.js +14 -14
  250. package/src/core/elements/control/show-if.js +11 -11
  251. package/src/core/elements/control/show-when.js +5 -5
  252. package/src/core/elements/control/switch.js +14 -14
  253. package/src/core/elements/description-list.js +1 -1
  254. package/src/core/elements/form.js +2 -2
  255. package/src/core/elements/fragment.js +1 -1
  256. package/src/core/elements/html5-semantics.js +1 -1
  257. package/src/core/elements/img.js +3 -3
  258. package/src/core/elements/interactive.js +1 -1
  259. package/src/core/elements/list.js +1 -1
  260. package/src/core/elements/medias.js +1 -1
  261. package/src/core/elements/meta-data.js +1 -1
  262. package/src/core/elements/svg.js +1 -1
  263. package/src/core/elements/table.js +1 -1
  264. package/src/core/errors/ArgTypesError.js +1 -1
  265. package/src/core/utils/HasEventEmitter.js +36 -2
  266. package/src/core/utils/args-types.js +9 -9
  267. package/src/core/utils/cache.js +1 -1
  268. package/src/core/utils/callback-handler.js +29 -0
  269. package/src/core/utils/debug-manager.js +6 -6
  270. package/src/core/utils/events.js +139 -139
  271. package/src/core/utils/filters/date.js +84 -3
  272. package/src/core/utils/filters/standard.js +136 -11
  273. package/src/core/utils/filters/strings.js +34 -2
  274. package/src/core/utils/filters/utils.js +40 -4
  275. package/src/core/utils/formatters.js +4 -4
  276. package/src/core/utils/helpers.js +39 -7
  277. package/src/core/utils/localstorage.js +11 -11
  278. package/src/core/utils/memoize.js +56 -3
  279. package/src/core/utils/plugins-manager.js +3 -3
  280. package/src/core/utils/property-accumulator.js +6 -6
  281. package/src/core/utils/prototypes.js +26 -1
  282. package/src/core/utils/shortcut-manager.js +2 -2
  283. package/src/core/utils/validator.js +8 -8
  284. package/src/core/wrappers/AttributesWrapper.js +32 -22
  285. package/src/core/wrappers/DocumentObserver.js +3 -3
  286. package/src/core/wrappers/ElementCreator.js +5 -5
  287. package/src/core/wrappers/HtmlElementWrapper.js +38 -12
  288. package/src/core/wrappers/NDElement.js +328 -22
  289. package/src/core/wrappers/NdPrototype.js +60 -16
  290. package/src/core/wrappers/SingletonView.js +50 -2
  291. package/src/core/wrappers/SvgElementWrapper.js +1 -1
  292. package/src/core/wrappers/constants.js +35 -2
  293. package/src/core/wrappers/prototypes/attributes-extensions.js +7 -7
  294. package/src/core/wrappers/prototypes/nd-element-extensions.js +72 -6
  295. package/src/core/wrappers/prototypes/nd-element.transition.extensions.js +42 -2
  296. package/src/core/wrappers/template-cloner/NodeCloner.js +53 -8
  297. package/src/core/wrappers/template-cloner/TemplateCloner.js +75 -6
  298. package/src/core/wrappers/template-cloner/attributes-hydrator.js +58 -2
  299. package/src/core/wrappers/template-cloner/utils.js +42 -6
  300. package/src/fetch/NativeFetch.js +3 -3
  301. package/src/i18n/bin/scan.js +6 -6
  302. package/src/i18n/index.d.ts +2 -0
  303. package/src/i18n/service/I18nService.d.ts +27 -0
  304. package/src/i18n/service/I18nService.js +5 -5
  305. package/src/i18n/service/functions.d.ts +22 -0
  306. package/src/i18n/service/functions.js +2 -2
  307. package/src/router/Route.js +3 -3
  308. package/src/router/RouteGroupHelper.js +2 -2
  309. package/src/router/Router.js +15 -15
  310. package/src/router/RouterComponent.js +33 -7
  311. package/src/router/link.js +4 -4
  312. package/src/router/modes/HashRouter.js +2 -2
  313. package/src/router/modes/HistoryRouter.js +2 -2
  314. package/src/router/modes/MemoryRouter.js +1 -1
  315. package/src/ui/components/accordion/AccordionItemRender.js +3 -3
  316. package/src/ui/components/accordion/AccordionRender.js +1 -1
  317. package/src/ui/components/alert/AlertRender.js +10 -10
  318. package/src/ui/components/avatar/avata-group/AvatarGroupRender.js +1 -1
  319. package/src/ui/components/avatar/avatar/AvatarRender.js +1 -1
  320. package/src/ui/components/breadcrumb/BreadcrumbRender.js +2 -2
  321. package/src/ui/components/button/ButtonRender.js +1 -1
  322. package/src/ui/components/contextmenu/ContextmenuRender.js +5 -5
  323. package/src/ui/components/dropdown/DropdownRender.js +8 -8
  324. package/src/ui/components/dropdown/group/DropdownGroupRender.js +2 -2
  325. package/src/ui/components/dropdown/item/DropdownItemRender.js +1 -1
  326. package/src/ui/components/form/FieldCollectionRender.js +2 -2
  327. package/src/ui/components/form/FormControlRender.js +5 -5
  328. package/src/ui/components/form/fields/AutocompleteFieldRender.js +3 -3
  329. package/src/ui/components/form/fields/CheckboxFieldRender.js +1 -1
  330. package/src/ui/components/form/fields/CheckboxGroupFieldRender.js +1 -1
  331. package/src/ui/components/form/fields/DateFieldRender.js +7 -7
  332. package/src/ui/components/form/fields/EmailFieldRender.js +1 -1
  333. package/src/ui/components/form/fields/FieldRender.js +4 -4
  334. package/src/ui/components/form/fields/FileFieldRender.js +1 -1
  335. package/src/ui/components/form/fields/PasswordFieldRender.js +2 -2
  336. package/src/ui/components/form/fields/RadioFieldRender.js +1 -1
  337. package/src/ui/components/form/fields/RangeFieldRender.js +1 -1
  338. package/src/ui/components/form/fields/SelectFieldRender.js +2 -2
  339. package/src/ui/components/form/fields/SliderFieldRender.js +6 -6
  340. package/src/ui/components/form/fields/StringFieldRender.js +1 -1
  341. package/src/ui/components/form/fields/TelFieldRender.js +1 -1
  342. package/src/ui/components/form/fields/TextAreaFieldRender.js +1 -1
  343. package/src/ui/components/form/fields/TimeFieldRender.js +3 -3
  344. package/src/ui/components/form/fields/UrlFieldRender.js +1 -1
  345. package/src/ui/components/form/file-upload-mode/FileAvatarModeRender.js +1 -1
  346. package/src/ui/components/form/file-upload-mode/FileDropzoneModeRender.js +2 -2
  347. package/src/ui/components/form/file-upload-mode/FileUploadButtonModeRender.js +2 -2
  348. package/src/ui/components/form/file-upload-mode/FileWallModeRender.js +1 -1
  349. package/src/ui/components/form/helpers.js +8 -8
  350. package/src/ui/components/form/index.js +27 -27
  351. package/src/ui/components/menu/MenuDividerRender.js +1 -1
  352. package/src/ui/components/menu/MenuGroupRender.js +3 -3
  353. package/src/ui/components/menu/MenuItemRender.js +2 -2
  354. package/src/ui/components/menu/MenuLinkRender.js +3 -3
  355. package/src/ui/components/menu/helpers.js +4 -4
  356. package/src/ui/components/modal/ModalRender.js +4 -4
  357. package/src/ui/components/pagination/PaginationRender.js +9 -9
  358. package/src/ui/components/popover/PopoverRender.js +7 -7
  359. package/src/ui/components/progress/ProgressRender.js +12 -12
  360. package/src/ui/components/skeleton/SkeletonRender.js +56 -0
  361. package/src/ui/components/splitter/SplitterGutterRender.js +1 -1
  362. package/src/ui/components/splitter/SplitterPanelRender.js +2 -2
  363. package/src/ui/components/stacks/PositionStackRender.js +1 -1
  364. package/src/ui/components/stacks/StackRender.js +1 -1
  365. package/src/ui/components/stacks/absolute-stack/AbsoluteStackRender.js +1 -1
  366. package/src/ui/components/stacks/fixed-stack/FixedStackRender.js +1 -1
  367. package/src/ui/components/stacks/h-stack/HStackRender.js +1 -1
  368. package/src/ui/components/stacks/index.js +5 -5
  369. package/src/ui/components/stacks/relative-stack/RelativeStackRender.js +1 -1
  370. package/src/ui/components/stacks/v-stack/VStackRender.js +1 -1
  371. package/src/ui/components/stepper/StepperRender.js +2 -2
  372. package/src/ui/components/stepper/StepperStepRender.js +4 -4
  373. package/src/ui/components/switch/SwitchRender.js +4 -4
  374. package/src/ui/components/table/data-table/DataTableRender.js +5 -5
  375. package/src/ui/components/table/data-table/bulk-actions.js +7 -7
  376. package/src/ui/components/table/data-table/pagination.js +6 -6
  377. package/src/ui/components/table/data-table/tables.js +25 -25
  378. package/src/ui/components/table/data-table/toolbar.js +3 -3
  379. package/src/ui/components/table/simple-table/SimpleTableRender.js +8 -8
  380. package/src/ui/components/tabs/TabsRender.js +11 -11
  381. package/src/ui/components/toast/ToastRender.js +3 -3
  382. package/src/ui/components/tooltip/TooltipRender.js +1 -1
  383. package/src/ui/index.js +36 -36
  384. package/types/elements.d.ts +163 -1037
  385. package/types/forms.d.ts +16 -20
  386. package/types/globals.d.ts +543 -0
  387. package/types/images.d.ts +2 -2
  388. package/types/observable-resource.d.ts +3 -0
  389. package/types/property-accumulator.d.ts +4 -4
  390. package/types/store.d.ts +26 -2
  391. package/types/validator.ts +3 -3
  392. package/ui.js +1 -0
  393. package/src/components/form/field/DefaultRender.js +0 -77
  394. package/src/components/form/field/FieldFactory.js +0 -107
  395. package/src/components/skeleton/SkeletonCard.js +0 -0
  396. package/src/components/skeleton/SkeletonList.js +0 -0
  397. package/src/components/skeleton/SkeletonParagraph.js +0 -0
  398. package/src/components/skeleton/SkeletonTable.js +0 -0
@@ -0,0 +1,39 @@
1
+ import type { ValidChild } from '../../../../types/elements';
2
+ import type { BaseComponent } from '../../BaseComponent';
3
+ import type { GlobalAttributes } from '../../../../types/globals';
4
+
5
+ export type StackDescription = {
6
+ orientation: 'horizontal' | 'vertical';
7
+ content: ValidChild;
8
+ spacing: string | number | null;
9
+ alignment: string;
10
+ justifyContent: string;
11
+ wrap: boolean;
12
+ grow: boolean;
13
+ shrink: boolean;
14
+ reverse: boolean;
15
+ props: GlobalAttributes;
16
+ };
17
+
18
+ export interface StackInterface extends BaseComponent {
19
+ wrap(enabled?: boolean): this;
20
+ grow(enabled?: boolean): this;
21
+ reverse(enabled?: boolean): this;
22
+ shrink(enabled?: boolean): this;
23
+ spacing(value: string | number): this;
24
+ alignLeading(): this;
25
+ alignCenter(): this;
26
+ alignTrailing(): this;
27
+ alignStretch(): this;
28
+ justifyStart(): this;
29
+ justifyCenter(): this;
30
+ justifyEnd(): this;
31
+ justifyBetween(): this;
32
+ justifyAround(): this;
33
+ center(): this;
34
+
35
+ render(renderFn: (description: StackDescription, instance: StackInterface) => ValidChild): this;
36
+ }
37
+
38
+
39
+ export declare function Stack(content: ValidChild, props?: Record<string, unknown>): StackInterface;
@@ -0,0 +1,16 @@
1
+ import type { ValidChild } from '../../../../types/elements';
2
+ import type {StackDescription, StackInterface} from './Stack';
3
+
4
+ export interface VStackInterface extends StackInterface {}
5
+
6
+
7
+ export declare function VStack(content: ValidChild, props?: Record<string, unknown>): VStackInterface;
8
+ export declare namespace VStack {
9
+
10
+
11
+ function use(template: (description: StackDescription, instance: VStackInterface) => ValidChild): void;
12
+ function preset(name: string, callback: (instance: VStackInterface) => VStackInterface): void;
13
+ function presets(presets: Record<string, (instance: VStackInterface) => VStackInterface>): void;
14
+
15
+
16
+ }
@@ -1,9 +1,30 @@
1
- import BaseComponent from "../BaseComponent";
2
- import HasEventEmitter from "../../core/utils/HasEventEmitter";
3
- import { $ } from "../../core/data/Observable";
4
- import DebugManager from "../../core/utils/debug-manager";
5
- import StepperStep from "./StepperStep";
6
-
1
+ import BaseComponent from '../BaseComponent';
2
+ import HasEventEmitter from '../../core/utils/HasEventEmitter';
3
+ import { $ } from '../../core/data/Observable';
4
+ import DebugManager from '../../core/utils/debug-manager';
5
+ import StepperStep from './StepperStep';
6
+
7
+ /**
8
+ * Multi-step wizard. Supports linear/non-linear modes, horizontal/vertical orientation, editable steps, and step indicator rendering.
9
+ *
10
+ *
11
+ * @example
12
+ * const stepper = new Stepper()
13
+ * .horizontal()
14
+ * .linear()
15
+ * .step(new StepperStep(Span('Account')).content(AccountForm()))
16
+ * .step(new StepperStep(Span('Profile')).content(ProfileForm()))
17
+ * .step(new StepperStep(Span('Confirm')).content(ConfirmForm()))
18
+ * .onComplete(() => finalize())
19
+ * .onStepChange((index) => console.log(\`step \${index}\`));
20
+ *
21
+ * Stepper.use((description, instance) => {
22
+ * return Div({ class: 'stepper' });
23
+ * });
24
+ *
25
+ * @constructor
26
+ * @param {GlobalAttributes} [props]
27
+ */
7
28
  export default function Stepper(props = {}) {
8
29
  if(!(this instanceof Stepper)) {
9
30
  return new Stepper(props);
@@ -27,7 +48,7 @@ export default function Stepper(props = {}) {
27
48
  renderContent: null,
28
49
  render: null,
29
50
  position: 'bottom',
30
- props
51
+ props,
31
52
  };
32
53
 
33
54
  this.$element = null;
@@ -38,10 +59,35 @@ BaseComponent.use(Stepper, HasEventEmitter);
38
59
 
39
60
  Stepper.defaultTemplate = null;
40
61
 
62
+ /**
63
+ * Registers the render template for Stepper.
64
+ * @param {(description: {
65
+ * steps: ObservableArray<StepperStep>,
66
+ * visibleSteps: ObservableArray<StepperStep>,
67
+ * currentStep: Observable<number>,
68
+ * orientation: 'horizontal'|'vertical',
69
+ * linear: boolean,
70
+ * alternativeLabel: boolean,
71
+ * editable: Observable<boolean>,
72
+ * showNumbers: boolean,
73
+ * showConnector: boolean,
74
+ * data: *|null,
75
+ * renderStepIndicator: ((step: StepperStep, index: number) => NdChild)|null,
76
+ * renderStepIndicatorConnector: ((desc: *) => NdChild)|null,
77
+ * renderContent: ((step: StepperStep) => NdChild)|null,
78
+ * render: ((desc: *, instance: Stepper) => NdChild)|null,
79
+ * position: 'top'|'bottom'|'leading'|'trailing',
80
+ * props: GlobalAttributes,
81
+ * }, instance: Stepper) => NdChild} template
82
+ */
41
83
  Stepper.use = function(template) {
42
84
  Stepper.defaultTemplate = template;
43
85
  };
44
86
 
87
+ /**
88
+ * @param {string} name
89
+ * @param {(s: Stepper) => Stepper} callback
90
+ */
45
91
  Stepper.preset = function(name, callback) {
46
92
  if (Stepper.prototype[name] || Stepper[name]) {
47
93
  DebugManager.warn(`Warning: the ${name} method already exist in Stepper.`);
@@ -50,6 +96,9 @@ Stepper.preset = function(name, callback) {
50
96
  Stepper[name] = (props) => callback(new Stepper(props));
51
97
  };
52
98
 
99
+ /**
100
+ * @param {Record<string, (s: Stepper) => Stepper>} presets
101
+ */
53
102
  Stepper.presets = function(presets) {
54
103
  for (const name in presets) {
55
104
  Stepper.preset(name, presets[name]);
@@ -82,7 +131,7 @@ Stepper.prototype.$build = function() {
82
131
  for (let i = 0; i < visibleSteps.length; i++) {
83
132
  const itemStep = visibleSteps.get(i);
84
133
  if (steps.indexOf(itemStep) < originalIndex) {
85
- stepBefore = itemStep
134
+ stepBefore = itemStep;
86
135
  continue;
87
136
  }
88
137
  break;
@@ -103,6 +152,10 @@ Stepper.prototype.$build = function() {
103
152
  return this.$originalBuild();
104
153
  };
105
154
 
155
+ /**
156
+ * @param {StepperStep|((step: StepperStep, stepper: Stepper) => void)} step
157
+ * @returns {this}
158
+ */
106
159
  Stepper.prototype.step = function(step) {
107
160
  let finalStep = null;
108
161
  if(typeof step === 'function') {
@@ -119,62 +172,104 @@ Stepper.prototype.step = function(step) {
119
172
  return this;
120
173
  };
121
174
 
175
+ /**
176
+ * @returns {this}
177
+ */
122
178
  Stepper.prototype.clear = function() {
123
179
  this.$description.steps.clear();
124
180
  this.$description.visibleSteps.clear();
125
181
  return this;
126
182
  };
127
183
 
184
+ /**
185
+ * @param {number} [step]
186
+ * @returns {number|this}
187
+ */
128
188
  Stepper.prototype.currentStep = function(step) {
129
189
  return this.$description.currentStep.val();
130
190
  };
131
191
 
192
+ /**
193
+ * @param {string} orientation
194
+ * @returns {this}
195
+ */
132
196
  Stepper.prototype.orientation = function(orientation) {
133
197
  this.$description.orientation = orientation;
134
198
  return this;
135
199
  };
136
200
 
201
+ /**
202
+ * @returns {this}
203
+ */
137
204
  Stepper.prototype.horizontal = function() {
138
205
  this.$description.orientation = 'horizontal';
139
206
  return this;
140
207
  };
141
208
 
209
+ /**
210
+ * @returns {this}
211
+ */
142
212
  Stepper.prototype.vertical = function() {
143
213
  this.$description.orientation = 'vertical';
144
214
  return this;
145
215
  };
146
216
 
217
+ /**
218
+ * @returns {this}
219
+ */
147
220
  Stepper.prototype.linear = function() {
148
221
  this.$description.linear = true;
149
222
  return this;
150
223
  };
151
224
 
225
+ /**
226
+ * @returns {this}
227
+ */
152
228
  Stepper.prototype.nonLinear = function() {
153
229
  this.$description.linear = false;
154
230
  return this;
155
231
  };
156
232
 
233
+ /**
234
+ * @param {*} [editable]
235
+ * @returns {this}
236
+ */
157
237
  Stepper.prototype.editable = function(editable = true) {
158
238
  this.$description.editable.set(editable);
159
239
  return this;
160
240
  };
161
241
 
242
+ /**
243
+ * @param {*} [alternative]
244
+ * @returns {this}
245
+ */
162
246
  Stepper.prototype.alternativeLabel = function(alternative = true) {
163
247
  this.$description.alternativeLabel = alternative;
164
248
  return this;
165
249
  };
166
250
 
251
+ /**
252
+ * @param {NdChild} [show]
253
+ * @returns {this}
254
+ */
167
255
  Stepper.prototype.showNumbers = function(show = true) {
168
256
  this.$description.showNumbers = show;
169
257
  return this;
170
258
  };
171
259
 
260
+ /**
261
+ * @param {NdChild} [show]
262
+ * @returns {this}
263
+ */
172
264
  Stepper.prototype.showConnector = function(show = true) {
173
265
  this.$description.showConnector = show;
174
266
  return this;
175
267
  };
176
268
 
177
-
269
+ /**
270
+ * @param {*} data
271
+ * @returns {this}
272
+ */
178
273
  Stepper.prototype.data = function(data) {
179
274
  this.$description.data = data;
180
275
  return this;
@@ -200,6 +295,9 @@ Stepper.prototype.next = async function() {
200
295
  return this.goToStep(currentIdx + 1);
201
296
  };
202
297
 
298
+ /**
299
+ * @returns {this}
300
+ */
203
301
  Stepper.prototype.previous = function() {
204
302
  const currentIdx = this.$description.currentStep.val();
205
303
  return this.goToStep(currentIdx - 1);
@@ -254,66 +352,108 @@ Stepper.prototype.reset = function() {
254
352
  return this;
255
353
  };
256
354
 
355
+ /**
356
+ * @param {Function} handler
357
+ * @returns {this}
358
+ */
257
359
  Stepper.prototype.onStepChange = function(handler) {
258
360
  this.on('stepChange', handler);
259
361
  return this;
260
362
  };
261
363
 
364
+ /**
365
+ * @param {Function} handler
366
+ * @returns {this}
367
+ */
262
368
  Stepper.prototype.onNext = function(handler) {
263
369
  this.on('next', handler);
264
370
  return this;
265
371
  };
266
372
 
373
+ /**
374
+ * @param {Function} handler
375
+ * @returns {this}
376
+ */
267
377
  Stepper.prototype.onPrevious = function(handler) {
268
378
  this.on('previous', handler);
269
379
  return this;
270
380
  };
271
381
 
382
+ /**
383
+ * @param {Function} handler
384
+ * @returns {this}
385
+ */
272
386
  Stepper.prototype.onComplete = function(handler) {
273
387
  this.on('complete', handler);
274
388
  return this;
275
389
  };
276
390
 
391
+ /**
392
+ * @param {Function} handler
393
+ * @returns {this}
394
+ */
277
395
  Stepper.prototype.onReset = function(handler) {
278
396
  this.on('reset', handler);
279
397
  return this;
280
398
  };
281
399
 
400
+ /**
401
+ * @param {(step: StepperStep, index: number) => NdChild} renderFn
402
+ * @returns {this}
403
+ */
282
404
  Stepper.prototype.renderStepIndicator = function(renderFn) {
283
405
  this.$description.renderStepIndicator = renderFn;
284
406
  return this;
285
407
  };
286
408
 
409
+ /**
410
+ * @param {(desc: *, instance: *) => NdChild} renderFn
411
+ * @returns {this}
412
+ */
287
413
  Stepper.prototype.renderStepIndicatorConnector = function(renderFn) {
288
414
  this.$description.renderStepIndicatorConnector = renderFn;
289
415
  return this;
290
416
  };
291
417
 
418
+ /**
419
+ * @param {(step: StepperStep) => NdChild} renderFn
420
+ * @returns {this}
421
+ */
292
422
  Stepper.prototype.renderContent = function(renderFn) {
293
423
  this.$description.renderContent = renderFn;
294
424
  return this;
295
425
  };
296
426
 
297
-
427
+ /**
428
+ * @returns {this}
429
+ */
298
430
  Stepper.prototype.navigationAtLeading = function() {
299
431
  this.$description.position = 'leading';
300
432
  this.vertical();
301
433
  return this;
302
434
  };
303
435
 
436
+ /**
437
+ * @returns {this}
438
+ */
304
439
  Stepper.prototype.navigationAtBottom = function() {
305
440
  this.$description.position = 'bottom';
306
441
  this.horizontal();
307
442
  return this;
308
443
  };
309
444
 
310
-
445
+ /**
446
+ * @returns {this}
447
+ */
311
448
  Stepper.prototype.navigationAtTop = function() {
312
449
  this.$description.position = 'top';
313
- this.horizontal()
450
+ this.horizontal();
314
451
  return this;
315
452
  };
316
453
 
454
+ /**
455
+ * @returns {this}
456
+ */
317
457
  Stepper.prototype.navigationAtTrailing = function() {
318
458
  this.$description.position = 'trailing';
319
459
  this.vertical();
@@ -1,8 +1,26 @@
1
- import BaseComponent from "../BaseComponent";
1
+ import BaseComponent from '../BaseComponent';
2
2
  import { $ } from '../../core/data/Observable';
3
3
 
4
4
  const NO_VALIDATION = () => true;
5
5
 
6
+ /**
7
+ * A single step inside a Stepper. Manages label, description, icon, status (pending/completed/error), optional flag, and async validation.
8
+ *
9
+ *
10
+ * @example
11
+ * const step = new StepperStep(Span('Payment'))
12
+ * .description(Span('Enter payment details'))
13
+ * .content(PaymentForm())
14
+ * .optional(false)
15
+ * .validator(async (step) => {
16
+ * return await validatePayment();
17
+ * })
18
+ * .onComplete(() => console.log('step done'));
19
+ *
20
+ * @constructor
21
+ * @param {NdChild} label
22
+ * @param {GlobalAttributes} [props={}]
23
+ */
6
24
  export default function StepperStep(label, props = {}) {
7
25
  if(!(this instanceof StepperStep)) {
8
26
  return new StepperStep(label, props);
@@ -27,7 +45,7 @@ export default function StepperStep(label, props = {}) {
27
45
  key: null,
28
46
  index: $(0),
29
47
  isVisible: $(true),
30
- props
48
+ props,
31
49
  };
32
50
  }
33
51
 
@@ -35,6 +53,26 @@ BaseComponent.extends(StepperStep);
35
53
 
36
54
  StepperStep.defaultTemplate = null;
37
55
 
56
+ /**
57
+ * Registers the render template for StepperStep.
58
+ * @param {(description: {
59
+ * icon: NdChild|null,
60
+ * label: NdChild,
61
+ * description: NdChild|null,
62
+ * content: NdChild|null,
63
+ * status: Observable<'pending'|'completed'|'error'>,
64
+ * optional: Observable<boolean>,
65
+ * disabled: Observable<boolean>,
66
+ * completed: Observable<boolean>,
67
+ * error: Observable<boolean>,
68
+ * data: *|null,
69
+ * render: ((desc: *, instance: StepperStep) => NdChild)|null,
70
+ * key: string|null,
71
+ * index: Observable<number>,
72
+ * isVisible: Observable<boolean>,
73
+ * props: GlobalAttributes,
74
+ * }, instance: StepperStep) => NdChild} template
75
+ */
38
76
  StepperStep.use = function(template) {
39
77
  StepperStep.defaultTemplate = template;
40
78
  };
@@ -48,42 +86,72 @@ StepperStep.prototype.$setIndex = function(index) {
48
86
  return this;
49
87
  };
50
88
 
51
-
89
+ /**
90
+ * @param {NdChild} icon
91
+ * @returns {this}
92
+ */
52
93
  StepperStep.prototype.icon = function(icon) {
53
94
  this.$description.icon = icon;
54
95
  return this;
55
96
  };
56
97
 
98
+ /**
99
+ * @param {NdChild} label
100
+ * @returns {this}
101
+ */
57
102
  StepperStep.prototype.label = function(label) {
58
103
  this.$description.label = label;
59
104
  return this;
60
105
  };
61
106
 
107
+ /**
108
+ * @param {NdChild} description
109
+ * @returns {this}
110
+ */
62
111
  StepperStep.prototype.description = function(description) {
63
112
  this.$description.description = description;
64
113
  return this;
65
114
  };
66
115
 
116
+ /**
117
+ * @param {NdChild} content
118
+ * @returns {this}
119
+ */
67
120
  StepperStep.prototype.content = function(content) {
68
121
  this.$description.content = content;
69
122
  return this;
70
123
  };
71
124
 
125
+ /**
126
+ * @param {'pending'|'completed'|'error'} status
127
+ * @returns {this}
128
+ */
72
129
  StepperStep.prototype.status = function(status) {
73
130
  this.$description.status.set(status);
74
131
  return this;
75
132
  };
76
133
 
134
+ /**
135
+ * @param {*} [optional]
136
+ * @returns {this}
137
+ */
77
138
  StepperStep.prototype.optional = function(optional = true) {
78
139
  this.$description.optional.set(optional);
79
140
  return this;
80
141
  };
81
142
 
143
+ /**
144
+ * @param {boolean|Observable<boolean>} [disabled]
145
+ * @returns {this}
146
+ */
82
147
  StepperStep.prototype.disabled = function(disabled = true) {
83
148
  this.$description.disabled.set(disabled);
84
149
  return this;
85
150
  };
86
151
 
152
+ /**
153
+ * @param {'pending'|'completed'|'error'} status
154
+ */
87
155
  StepperStep.prototype.updateStatus = function(status) {
88
156
  const isCompleted = status === 'completed';
89
157
  const isError = status === 'error';
@@ -94,42 +162,75 @@ StepperStep.prototype.updateStatus = function(status) {
94
162
  return this;
95
163
  };
96
164
 
165
+ /**
166
+ * @param {*} [completed]
167
+ * @returns {this}
168
+ */
97
169
  StepperStep.prototype.completed = function(completed = true) {
98
170
  return this.updateStatus(completed ? 'completed' : 'pending');
99
171
  };
100
172
 
173
+ /**
174
+ * @param {*} [error]
175
+ * @returns {this}
176
+ */
101
177
  StepperStep.prototype.error = function(error = true) {
102
178
  return this.updateStatus(error ? 'error' : 'pending');
103
179
  };
104
180
 
181
+ /**
182
+ * @returns {this}
183
+ */
105
184
  StepperStep.prototype.reset = function() {
106
185
  return this.updateStatus('pending');
107
186
  };
108
187
 
188
+ /**
189
+ * @param {*} data
190
+ * @returns {this}
191
+ */
109
192
  StepperStep.prototype.data = function(data) {
110
193
  this.$description.data = data;
111
194
  return this;
112
195
  };
113
196
 
197
+ /**
198
+ * @param {string} key
199
+ * @returns {this}
200
+ */
114
201
  StepperStep.prototype.key = function(key) {
115
202
  this.$description.key = key;
116
203
  return this;
117
204
  };
118
205
 
206
+ /**
207
+ * @returns {string}
208
+ */
119
209
  StepperStep.prototype.getKey = function() {
120
210
  return this.$description.key;
121
211
  };
122
212
 
213
+ /**
214
+ * @param {Observable<boolean>|boolean|(() => Observable<boolean>)} condition
215
+ * @returns {this}
216
+ */
123
217
  StepperStep.prototype.visibility = function(condition) {
124
218
  this.$description.visibility = (typeof condition === 'function' ? condition() : condition);
125
219
  return this;
126
220
  };
127
221
 
222
+ /**
223
+ * @param {(step: StepperStep) => boolean|Promise<boolean>} validatorFn
224
+ * @returns {this}
225
+ */
128
226
  StepperStep.prototype.validator = function(validatorFn) {
129
227
  this.$description.validator = validatorFn;
130
228
  return this;
131
229
  };
132
230
 
231
+ /**
232
+ * @returns {boolean}
233
+ */
133
234
  StepperStep.prototype.validate = function() {
134
235
  if (this.$description.validator) {
135
236
  const isValid = this.$description.validator(this);
@@ -1,8 +1,8 @@
1
- import Stepper from "./Stepper";
2
- import StepperStep from "./StepperStep";
1
+ import Stepper from './Stepper';
2
+ import StepperStep from './StepperStep';
3
3
 
4
4
 
5
5
  export {
6
6
  Stepper,
7
- StepperStep
8
- }
7
+ StepperStep,
8
+ };
@@ -0,0 +1,68 @@
1
+ import type { ValidChild } from '../../../../types/elements';
2
+ import type { ObservableItem } from '../../../../types/observable';
3
+ import type { BaseComponent } from '../../BaseComponent';
4
+ import type { StepperStepInterface } from './StepperStep';
5
+ import type { GlobalAttributes } from '../../../../types/globals';
6
+
7
+ export type StepperDescription = {
8
+ steps: ObservableItem<StepperStepInterface[]>;
9
+ visibleSteps: ObservableItem<StepperStepInterface[]>;
10
+ currentStep: ObservableItem<number>;
11
+ orientation: 'horizontal' | 'vertical';
12
+ linear: boolean;
13
+ alternativeLabel: boolean;
14
+ editable: ObservableItem<boolean>;
15
+ showNumbers: boolean;
16
+ showConnector: boolean;
17
+ data: unknown | null;
18
+ renderStepIndicator: ((step: StepperStepInterface, index: number) => ValidChild) | null;
19
+ renderStepIndicatorConnector: ((desc: unknown) => ValidChild) | null;
20
+ renderContent: ((step: StepperStepInterface) => ValidChild) | null;
21
+ render: ((desc: StepperDescription, instance: StepperInterface) => ValidChild) | null;
22
+ position: 'top' | 'bottom' | 'leading' | 'trailing';
23
+ props: GlobalAttributes;
24
+ };
25
+
26
+ export interface StepperInterface extends BaseComponent {
27
+ step(step: StepperStepInterface | ((step: StepperStepInterface, stepper: StepperInterface) => void)): this;
28
+ clear(): this;
29
+ currentStep(step?: number): number | this;
30
+ orientation(orientation: 'horizontal' | 'vertical'): this;
31
+ horizontal(): this;
32
+ vertical(): this;
33
+ linear(): this;
34
+ nonLinear(): this;
35
+ editable(editable?: boolean): this;
36
+ alternativeLabel(alternative?: boolean): this;
37
+ showNumbers(show?: boolean): this;
38
+ showConnector(show?: boolean): this;
39
+ data(data: unknown): this;
40
+ previous(): this;
41
+ reset(): this;
42
+ onStepChange(handler: (index: number) => void): this;
43
+ onNext(handler: () => void): this;
44
+ onPrevious(handler: () => void): this;
45
+ onComplete(handler: () => void): this;
46
+ onReset(handler: () => void): this;
47
+ renderStepIndicator(renderFn: (step: StepperStepInterface, index: number) => ValidChild): this;
48
+ renderStepIndicatorConnector(renderFn: (desc: unknown) => ValidChild): this;
49
+ renderContent(renderFn: (step: StepperStepInterface) => ValidChild): this;
50
+ navigationAtLeading(): this;
51
+ navigationAtBottom(): this;
52
+ navigationAtTop(): this;
53
+ navigationAtTrailing(): this;
54
+
55
+ render(renderFn: (description: StepperDescription, instance: StepperInterface) => ValidChild): this;
56
+ }
57
+
58
+
59
+ export declare function Stepper(props?: Record<string, unknown>): StepperInterface;
60
+ export declare namespace Stepper {
61
+
62
+
63
+ function use(template: (description: StepperDescription, instance: StepperInterface) => ValidChild): void;
64
+ function preset(name: string, callback: (instance: StepperInterface) => StepperInterface): void;
65
+ function presets(presets: Record<string, (instance: StepperInterface) => StepperInterface>): void;
66
+
67
+
68
+ }