native-document 1.0.164 → 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 +4 -1
  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
@@ -1,8 +1,29 @@
1
- import BaseComponent from "../BaseComponent";
2
- import DebugManager from "../../core/utils/debug-manager";
3
- import { HStack, VStack } from "../stacks/index";
4
- import {Div} from "../../core/elements/index";
5
-
1
+ import BaseComponent from '../BaseComponent';
2
+ import DebugManager from '../../core/utils/debug-manager';
3
+
4
+ /**
5
+ * Loading placeholder skeleton. Supports text, circle, rect, avatar, and image types, plus pulse/wave animations.
6
+ *
7
+ *
8
+ * @example
9
+ * // Single skeleton
10
+ * const skel = new Skeleton()
11
+ * .text(3)
12
+ * .wave()
13
+ * .width('100%');
14
+ *
15
+ * // Static factories
16
+ * const cardSkel = Skeleton.card('horizontal');
17
+ * const listSkel = Skeleton.list(5);
18
+ * const tableSkel = Skeleton.table(10, 4);
19
+ *
20
+ * Skeleton.use((description, instance) => {
21
+ * return Div({ class: \`skeleton skeleton--\${description.type}\` });
22
+ * });
23
+ *
24
+ * @constructor
25
+ * @param {GlobalAttributes} [props]
26
+ */
6
27
  export default function Skeleton(props = {}) {
7
28
  if (!(this instanceof Skeleton)) {
8
29
  return new Skeleton(props);
@@ -19,7 +40,7 @@ export default function Skeleton(props = {}) {
19
40
  height: null,
20
41
  loading: null,
21
42
  repeat: null,
22
- props
43
+ props,
23
44
  };
24
45
  }
25
46
 
@@ -27,10 +48,28 @@ BaseComponent.extends(Skeleton);
27
48
 
28
49
  Skeleton.defaultTemplate = null;
29
50
 
51
+ /**
52
+ * Registers the render template for Skeleton.
53
+ * @param {(description: {
54
+ * type: 'rect'|'circle'|'text'|'avatar'|'image',
55
+ * variant: 'pulse'|'wave',
56
+ * borderRadiusType: 'rounded'|'pill'|'smooth'|null,
57
+ * lines: number|null,
58
+ * width: string|number|null,
59
+ * height: string|number|null,
60
+ * loading: Observable<boolean>|boolean|null,
61
+ * repeat: number|null,
62
+ * props: GlobalAttributes,
63
+ * }, instance: Skeleton) => NdChild} template
64
+ */
30
65
  Skeleton.use = function(template) {
31
66
  Skeleton.defaultTemplate = template;
32
67
  };
33
68
 
69
+ /**
70
+ * @param {string} name
71
+ * @param {(s: Skeleton) => Skeleton} callback
72
+ */
34
73
  Skeleton.preset = function(name, callback) {
35
74
  if (Skeleton.prototype[name] || Skeleton[name]) {
36
75
  DebugManager.warn(`Warning: the ${name} method already exists in Skeleton.`);
@@ -39,122 +78,151 @@ Skeleton.preset = function(name, callback) {
39
78
  Skeleton[name] = (props) => callback(new Skeleton(props));
40
79
  };
41
80
 
81
+ /**
82
+ * @param {Record<string, (s: Skeleton) => Skeleton>} presets
83
+ */
42
84
  Skeleton.presets = function(presets) {
43
85
  for (const name in presets) {
44
86
  Skeleton.preset(name, presets[name]);
45
87
  }
46
88
  };
47
89
 
90
+ /**
91
+ * @param {string} type
92
+ * @returns {this}
93
+ */
48
94
  Skeleton.prototype.type = function(type) {
49
95
  this.$description.type = type;
50
96
  return this;
51
97
  };
98
+
99
+ /**
100
+ * @param {number} [lines]
101
+ * @returns {this}
102
+ */
52
103
  Skeleton.prototype.text = function(lines = 1) {
53
104
  this.$description.lines = lines;
54
105
  return this.type('text');
55
106
  };
107
+
108
+ /**
109
+ * @returns {this}
110
+ */
56
111
  Skeleton.prototype.circle = function() {
57
112
  return this.type('circle');
58
113
  };
114
+
115
+ /**
116
+ * @returns {this}
117
+ */
59
118
  Skeleton.prototype.rect = function() {
60
119
  return this.type('rect');
61
120
  };
121
+
122
+ /**
123
+ * @returns {this}
124
+ */
62
125
  Skeleton.prototype.avatar = function() {
63
126
  return this.type('avatar');
64
127
  };
128
+
129
+ /**
130
+ * @returns {this}
131
+ */
65
132
  Skeleton.prototype.image = function() {
66
133
  return this.type('image');
67
134
  };
68
135
 
136
+ /**
137
+ * @returns {this}
138
+ */
69
139
  Skeleton.prototype.rounded = function() {
70
140
  this.$description.borderRadiusType = 'rounded';
71
141
  return this;
72
142
  };
73
143
 
144
+ /**
145
+ * @returns {this}
146
+ */
74
147
  Skeleton.prototype.pill = function() {
75
148
  this.$description.borderRadiusType = 'pill';
76
149
  return this;
77
150
  };
78
151
 
152
+ /**
153
+ * @returns {this}
154
+ */
79
155
  Skeleton.prototype.smooth = function() {
80
156
  this.$description.borderRadiusType = 'smooth';
81
157
  return this;
82
158
  };
83
159
 
160
+ /**
161
+ * @param {number} width
162
+ * @returns {this}
163
+ */
84
164
  Skeleton.prototype.width = function(width) {
85
165
  this.$description.width = width;
86
166
  return this;
87
167
  };
168
+
169
+ /**
170
+ * @param {number} height
171
+ * @returns {this}
172
+ */
88
173
  Skeleton.prototype.height = function(height) {
89
174
  this.$description.height = height;
90
175
  return this;
91
176
  };
177
+
178
+ /**
179
+ * @param {number} width
180
+ * @param {number} height
181
+ * @returns {this}
182
+ */
92
183
  Skeleton.prototype.size = function(width, height) {
93
184
  this.width(width);
94
185
  this.height(height);
95
186
  return this;
96
187
  };
97
188
 
189
+ /**
190
+ * @param {string} name
191
+ * @returns {this}
192
+ */
98
193
  Skeleton.prototype.variant = function(name) {
99
194
  this.$description.variant = name;
100
195
  return this;
101
196
  };
197
+
198
+ /**
199
+ * @returns {this}
200
+ */
102
201
  Skeleton.prototype.wave = function() {
103
202
  return this.variant('wave');
104
203
  };
204
+
205
+ /**
206
+ * @returns {this}
207
+ */
105
208
  Skeleton.prototype.pulse = function() {
106
209
  return this.variant('pulse');
107
210
  };
108
211
 
212
+ /**
213
+ * @param {boolean|Observable<boolean>} isLoading
214
+ * @returns {this}
215
+ */
109
216
  Skeleton.prototype.loading = function(isLoading) {
110
217
  this.$description.loading = isLoading;
111
218
  return this;
112
219
  };
113
- Skeleton.prototype.show = function() {};
114
- Skeleton.prototype.hide = function() {};
115
220
 
221
+ /**
222
+ * @param {number} times
223
+ * @returns {this}
224
+ */
116
225
  Skeleton.prototype.repeat = function(times) {
117
226
  this.$description.repeat = times;
118
227
  return this;
119
228
  };
120
-
121
-
122
- Skeleton.card = function(type) {
123
- return VStack([
124
- Skeleton().type('image').height(200),
125
- VStack([
126
- Skeleton().text(1),
127
- Skeleton().text(2),
128
- ]).spacing('cozy')
129
- ], { class: 'skeleton-card '+type }).spacing('cozy');
130
- };
131
-
132
- Skeleton.list = function(items = 3) {
133
- return VStack(
134
- Array.from({length: items}, () =>
135
- HStack([
136
- Div({ class: 'skeleton-list-item-avatar' }, Skeleton().circle().size(40, 40)),
137
- Div({ class: 'skeleton-list-item-text' }, Skeleton().text(2)),
138
- ], { class: 'skeleton-list-item' }).spacing('comfortable').alignCenter()
139
- )
140
- ).spacing('comfortable');
141
- };
142
-
143
- Skeleton.table = function(rows = 5, cols = 4) {
144
- const buildRow = () =>
145
- HStack(
146
- Array.from({length: cols}, () =>
147
- Div({ class: 'skeleton-table-col' }, Skeleton().rect().height(16))
148
- ),
149
- { class: 'skeleton-table-row' }
150
- ).spacing('comfortable').alignCenter();
151
-
152
- return VStack([
153
- buildRow(),
154
- ...Array.from({length: rows}, () => buildRow())
155
- ]).spacing('cozy');
156
- };
157
-
158
- Skeleton.paragraph = function(lines = 3) {
159
- return Skeleton().text(lines);
160
- };
@@ -1,6 +1,6 @@
1
- import Skeleton from './Skeleton'
1
+ import Skeleton from './Skeleton';
2
2
 
3
3
 
4
4
  export {
5
- Skeleton
6
- }
5
+ Skeleton,
6
+ };
@@ -0,0 +1,55 @@
1
+ import type { ValidChild } from '../../../../types/elements';
2
+ import type { ObservableItem } from '../../../../types/observable';
3
+ import type { BaseComponent } from '../../BaseComponent';
4
+ import type { GlobalAttributes } from '../../../../types/globals';
5
+
6
+ export type SkeletonDescription = {
7
+ type: 'rect' | 'circle' | 'text' | 'avatar' | 'image';
8
+ variant: 'pulse' | 'wave';
9
+ borderRadiusType: 'rounded' | 'pill' | 'smooth' | null;
10
+ lines: number | null;
11
+ width: string | number | null;
12
+ height: string | number | null;
13
+ loading: ObservableItem<boolean> | boolean | null;
14
+ repeat: number | null;
15
+ props: GlobalAttributes;
16
+ };
17
+
18
+ export interface SkeletonInterface extends BaseComponent {
19
+ type(type: 'rect' | 'circle' | 'text' | 'avatar' | 'image'): this;
20
+ text(lines?: number): this;
21
+ circle(): this;
22
+ rect(): this;
23
+ avatar(): this;
24
+ image(): this;
25
+ rounded(): this;
26
+ pill(): this;
27
+ smooth(): this;
28
+ width(width: string | number): this;
29
+ height(height: string | number): this;
30
+ size(width: string | number, height: string | number): this;
31
+ variant(name: 'pulse' | 'wave'): this;
32
+ wave(): this;
33
+ pulse(): this;
34
+ loading(isLoading: boolean | ObservableItem<boolean>): this;
35
+ show(): this;
36
+ hide(): this;
37
+ repeat(times: number): this;
38
+ render(renderFn: (description: SkeletonDescription, instance: SkeletonInterface) => ValidChild): this;
39
+ }
40
+
41
+
42
+ export declare function Skeleton(props?: Record<string, unknown>): SkeletonInterface;
43
+ export declare namespace Skeleton {
44
+
45
+
46
+ function use(template: (description: SkeletonDescription, instance: SkeletonInterface) => ValidChild): void;
47
+ function preset(name: string, callback: (instance: SkeletonInterface) => SkeletonInterface): void;
48
+ function presets(presets: Record<string, (instance: SkeletonInterface) => SkeletonInterface>): void;
49
+ function card(type?: string): SkeletonInterface;
50
+ function list(items?: number): SkeletonInterface;
51
+ function table(rows?: number, cols?: number): SkeletonInterface;
52
+ function paragraph(lines?: number): SkeletonInterface;
53
+
54
+
55
+ }
@@ -1,5 +1,28 @@
1
- import Field from "../form/field/Field";
2
-
1
+ import Field from '../form/field/Field';
2
+
3
+ /**
4
+ * Range input slider. Supports single value, range mode (two handles), marks, tooltip, vertical orientation, and reactive binding.
5
+ *
6
+ *
7
+ * @example
8
+ * const slider = new Slider('volume')
9
+ * .min(0)
10
+ * .max(100)
11
+ * .step(5)
12
+ * .model(volumeObs)
13
+ * .showTooltip(true)
14
+ * .tooltipFormat((v) => \`\${v}%\`)
15
+ * .marks([0, 25, 50, 75, 100])
16
+ * .onChange((value) => console.log(value));
17
+ *
18
+ * Slider.use((description, instance) => {
19
+ * return Div({ class: 'slider' });
20
+ * });
21
+ *
22
+ * @constructor
23
+ * @param {string} name
24
+ * @param {GlobalAttributes} [props={}]
25
+ */
3
26
  export default function Slider(name, props = {}) {
4
27
  if(!(this instanceof Slider)) {
5
28
  return new Slider(props);
@@ -36,7 +59,7 @@ export default function Slider(name, props = {}) {
36
59
  snapToMarks: false,
37
60
  renderCursor: null,
38
61
  renderThumb: null,
39
- props
62
+ props,
40
63
  };
41
64
  }
42
65
 
@@ -45,164 +68,338 @@ Slider.prototype.constructor = Slider;
45
68
 
46
69
 
47
70
  Slider.defaultTemplate = null;
71
+
72
+ /**
73
+ * Registers the render template for Slider.
74
+ * @param {(description: {
75
+ * name: string,
76
+ * id: string|null,
77
+ * value: Observable<number>|null,
78
+ * defaultValue: number|null,
79
+ * valueStart: Observable<number>|null,
80
+ * valueEnd: Observable<number>|null,
81
+ * range: boolean,
82
+ * min: number,
83
+ * max: number,
84
+ * step: number,
85
+ * showValue: boolean|null,
86
+ * showTooltip: boolean|null,
87
+ * tooltipFormat: ((value: number) => string)|null,
88
+ * renderTooltip: ((value: number) => NdChild)|null,
89
+ * marks: number[]|Array<{ value: number, label?: NdChild }>|null,
90
+ * showMarks: boolean|null,
91
+ * variant: string|null,
92
+ * color: string|null,
93
+ * trackColor: string|null,
94
+ * fillColor: string|null,
95
+ * vertical: boolean,
96
+ * height: string|number|null,
97
+ * disabled: Observable<boolean>|boolean|null,
98
+ * readonly: Observable<boolean>|boolean|null,
99
+ * reverse: boolean,
100
+ * snapToMarks: boolean,
101
+ * renderCursor: ((value: number) => NdChild)|null,
102
+ * renderThumb: ((value: number) => NdChild)|null,
103
+ * props: GlobalAttributes,
104
+ * }, instance: Slider) => NdChild} template
105
+ */
48
106
  Slider.use = function(template) {
49
107
  Slider.defaultTemplate = template;
50
108
  };
51
109
 
110
+ /**
111
+ * @param {Observable<number>} observable
112
+ * @returns {this}
113
+ */
52
114
  Slider.prototype.model = function(observable) {
53
115
  this.$description.value = observable;
54
116
  return this;
55
117
  };
56
118
 
119
+ /**
120
+ * @param {Observable<number>} observable
121
+ * @returns {this}
122
+ */
57
123
  Slider.prototype.modelStart = function(observable) {
58
124
  this.$description.valueStart = observable;
59
125
  return this;
60
126
  };
61
127
 
128
+ /**
129
+ * @param {Observable<number>} observable
130
+ * @returns {this}
131
+ */
62
132
  Slider.prototype.modelEnd = function(observable) {
63
133
  this.$description.valueEnd = observable;
64
134
  return this;
65
135
  };
66
136
 
137
+ /**
138
+ * @param {number} value
139
+ * @returns {this}
140
+ */
67
141
  Slider.prototype.defaultValue = function(value) {
68
142
  this.$description.defaultValue = value;
69
143
  return this;
70
144
  };
71
145
 
146
+ /**
147
+ * @param {number} value
148
+ * @returns {this}
149
+ */
72
150
  Slider.prototype.setCurrentStep = function(value) {
73
151
  this.$description.value?.set(value);
74
152
  this.emit('change', value);
75
153
  return this;
76
154
  };
77
155
 
156
+ /**
157
+ * @param {*} [enabled]
158
+ * @returns {this}
159
+ */
78
160
  Slider.prototype.range = function(enabled = true) {
79
161
  this.$description.range = enabled;
80
162
  return this;
81
163
  };
82
164
 
165
+ /**
166
+ * @param {number} min
167
+ * @returns {this}
168
+ */
83
169
  Slider.prototype.min = function(min) {
84
170
  this.$description.min = min;
85
171
  return this;
86
172
  };
87
173
 
174
+ /**
175
+ * @param {number} max
176
+ * @returns {this}
177
+ */
88
178
  Slider.prototype.max = function(max) {
89
179
  this.$description.max = max;
90
180
  return this;
91
181
  };
92
182
 
183
+ /**
184
+ * @param {number} step
185
+ * @returns {this}
186
+ */
93
187
  Slider.prototype.step = function(step) {
94
188
  this.$description.step = step;
95
189
  return this;
96
190
  };
97
191
 
192
+ /**
193
+ * @param {*} [enabled]
194
+ * @returns {this}
195
+ */
98
196
  Slider.prototype.showValue = function(enabled = true) {
99
197
  this.$description.showValue = enabled;
100
198
  return this;
101
199
  };
102
200
 
201
+ /**
202
+ * @param {*} [enabled]
203
+ * @returns {this}
204
+ */
103
205
  Slider.prototype.showTooltip = function(enabled = true) {
104
206
  this.$description.showTooltip = enabled;
105
207
  return this;
106
208
  };
107
209
 
210
+ /**
211
+ * @param {(value: number) => string} formatFn
212
+ * @returns {this}
213
+ */
108
214
  Slider.prototype.tooltipFormat = function(formatFn) {
109
215
  this.$description.tooltipFormat = formatFn;
110
216
  return this;
111
217
  };
112
218
 
219
+ /**
220
+ * @param {(value: number) => NdChild} renderFn
221
+ * @returns {this}
222
+ */
113
223
  Slider.prototype.renderTooltip = function(renderFn) {
114
224
  this.$description.renderTooltip = renderFn;
115
225
  return this;
116
226
  };
117
227
 
228
+ /**
229
+ * @param {number[]|{ value: number, label?: NdChild }[]} marks
230
+ * @returns {this}
231
+ */
118
232
  Slider.prototype.marks = function(marks) {
119
233
  this.$description.marks = marks;
120
234
  return this;
121
235
  };
122
236
 
237
+ /**
238
+ * @param {*} [enabled]
239
+ * @returns {this}
240
+ */
123
241
  Slider.prototype.showMarks = function(enabled = true) {
124
242
  this.$description.showMarks = enabled;
125
243
  return this;
126
244
  };
127
245
 
246
+ /**
247
+ * @param {*} [enabled]
248
+ * @returns {this}
249
+ */
128
250
  Slider.prototype.snapToMarks = function(enabled = true) {
129
251
  this.$description.snapToMarks = enabled;
130
252
  return this;
131
253
  };
132
254
 
255
+ /**
256
+ * @param {string} name
257
+ * @returns {this}
258
+ */
133
259
  Slider.prototype.variant = function(name) {
134
260
  this.$description.variant = name;
135
261
  return this;
136
262
  };
137
263
 
138
- Slider.prototype.primary = function() { return this.variant('primary'); };
139
- Slider.prototype.secondary = function() { return this.variant('secondary'); };
140
- Slider.prototype.success = function() { return this.variant('success'); };
141
- Slider.prototype.warning = function() { return this.variant('warning'); };
142
- Slider.prototype.danger = function() { return this.variant('danger'); };
143
- Slider.prototype.info = function() { return this.variant('info'); };
264
+ Slider.prototype.primary = function() {
265
+ return this.variant('primary');
266
+ };
267
+
268
+ /**
269
+ * @returns {this}
270
+ */
271
+ Slider.prototype.secondary = function() {
272
+ return this.variant('secondary');
273
+ };
274
+
275
+ Slider.prototype.success = function() {
276
+ return this.variant('success');
277
+ };
278
+
279
+ Slider.prototype.warning = function() {
280
+ return this.variant('warning');
281
+ };
282
+
283
+ Slider.prototype.danger = function() {
284
+ return this.variant('danger');
285
+ };
144
286
 
287
+ Slider.prototype.info = function() {
288
+ return this.variant('info');
289
+ };
290
+
291
+ /**
292
+ * @param {string} color
293
+ * @returns {this}
294
+ */
145
295
  Slider.prototype.color = function(color) {
146
296
  this.$description.color = color;
147
297
  return this;
148
298
  };
149
299
 
300
+ /**
301
+ * @param {string} color
302
+ * @returns {this}
303
+ */
150
304
  Slider.prototype.trackColor = function(color) {
151
305
  this.$description.trackColor = color;
152
306
  return this;
153
307
  };
154
308
 
309
+ /**
310
+ * @param {string} color
311
+ * @returns {this}
312
+ */
155
313
  Slider.prototype.fillColor = function(color) {
156
314
  this.$description.fillColor = color;
157
315
  return this;
158
316
  };
159
317
 
160
-
318
+ /**
319
+ * @param {string} color
320
+ * @returns {this}
321
+ */
161
322
  Slider.prototype.fullColor = function(color) {
162
323
  this.color(color).fillColor(color);
163
324
  return this;
164
325
  };
165
326
 
327
+ /**
328
+ * @param {*} [enabled]
329
+ * @returns {this}
330
+ */
166
331
  Slider.prototype.vertical = function(enabled = true) {
167
332
  this.$description.vertical = enabled;
168
333
  return this;
169
334
  };
170
335
 
336
+ /**
337
+ * @param {number} height
338
+ * @returns {this}
339
+ */
171
340
  Slider.prototype.height = function(height) {
172
341
  this.$description.height = height;
173
342
  return this;
174
343
  };
175
344
 
345
+ /**
346
+ * @param {boolean|Observable<boolean>} [condition=true]
347
+ * @returns {this}
348
+ */
176
349
  Slider.prototype.disabled = function(condition = true) {
177
350
  this.$description.disabled = condition;
178
351
  return this;
179
352
  };
180
353
 
354
+ /**
355
+ * @param {boolean|Observable<boolean>} [condition=true]
356
+ * @returns {this}
357
+ */
181
358
  Slider.prototype.readonly = function(condition = true) {
182
359
  this.$description.readonly = condition;
183
360
  return this;
184
361
  };
185
362
 
363
+ /**
364
+ * @param {*} [enabled]
365
+ * @returns {this}
366
+ */
186
367
  Slider.prototype.reverse = function(enabled = true) {
187
368
  this.$description.reverse = enabled;
188
369
  return this;
189
370
  };
190
371
 
372
+ /**
373
+ * @param {(value: number) => NdChild} renderFn
374
+ * @returns {this}
375
+ */
191
376
  Slider.prototype.renderThumb = function(renderFn) {
192
377
  this.$description.renderThumb = renderFn;
193
378
  return this;
194
379
  };
195
380
 
381
+ /**
382
+ * @param {(value: number) => NdChild} renderFn
383
+ * @returns {this}
384
+ */
196
385
  Slider.prototype.renderCursor = function(renderFn) {
197
386
  this.$description.renderCursor = renderFn;
198
387
  return this;
199
388
  };
200
389
 
390
+ /**
391
+ * @param {(value: number) => void} handler
392
+ * @returns {this}
393
+ */
201
394
  Slider.prototype.onChange = function(handler) {
202
395
  this.on('change', handler);
203
396
  return this;
204
397
  };
205
398
 
399
+ /**
400
+ * @param {Function} handler
401
+ * @returns {this}
402
+ */
206
403
  Slider.prototype.onComplete = function(handler) {
207
404
  this.on('complete', handler);
208
405
  return this;