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
@@ -1,7 +1,30 @@
1
- import BaseComponent from "../BaseComponent";
2
- import HasEventEmitter from "../../core/utils/HasEventEmitter";
3
- import DebugManager from "../../core/utils/debug-manager";
4
-
1
+ import BaseComponent from '../BaseComponent';
2
+ import HasEventEmitter from '../../core/utils/HasEventEmitter';
3
+ import DebugManager from '../../core/utils/debug-manager';
4
+
5
+ /**
6
+ * Progress indicator supporting bar, circle, and line types. Supports indeterminate, striped/animated variants, and value formatting.
7
+ *
8
+ *
9
+ * @example
10
+ * const progress = new Progress()
11
+ * .type('bar')
12
+ * .value(progressObs)
13
+ * .max(100)
14
+ * .variant('primary')
15
+ * .showValue(true)
16
+ * .format((v) => \`\${v}%\`)
17
+ * .striped(true)
18
+ * .animated(true)
19
+ * .onComplete(() => console.log('done!'));
20
+ *
21
+ * Progress.use((description, instance) => {
22
+ * return Div({ class: 'progress' });
23
+ * });
24
+ *
25
+ * @constructor
26
+ * @param {GlobalAttributes} [props]
27
+ */
5
28
  export default function Progress(props = {}) {
6
29
  if (!(this instanceof Progress)) {
7
30
  return new Progress(props);
@@ -25,7 +48,7 @@ export default function Progress(props = {}) {
25
48
  striped: null,
26
49
  animated: null,
27
50
  borderRadiusType: null,
28
- props
51
+ props,
29
52
  };
30
53
  }
31
54
 
@@ -34,10 +57,34 @@ BaseComponent.use(Progress, HasEventEmitter);
34
57
 
35
58
  Progress.defaultTemplate = null;
36
59
 
60
+ /**
61
+ * Registers the render template for Progress.
62
+ * @param {(description: {
63
+ * value: number|Observable<number>|null,
64
+ * type: 'bar'|'circle'|'line'|string|null,
65
+ * variant: string|null,
66
+ * max: number,
67
+ * size: string|number|null,
68
+ * stroke: number|null,
69
+ * height: string|number|null,
70
+ * showValue: boolean|null,
71
+ * label: NdChild|null,
72
+ * format: ((value: number) => string)|null,
73
+ * indeterminate: boolean|null,
74
+ * striped: boolean|null,
75
+ * animated: boolean|null,
76
+ * borderRadiusType: string|null,
77
+ * props: GlobalAttributes,
78
+ * }, instance: Progress) => NdChild} template
79
+ */
37
80
  Progress.use = function(template) {
38
81
  Progress.defaultTemplate = template;
39
82
  };
40
83
 
84
+ /**
85
+ * @param {string} name
86
+ * @param {(p: Progress) => Progress} callback
87
+ */
41
88
  Progress.preset = function(name, callback) {
42
89
  if (Progress.prototype[name] || Progress[name]) {
43
90
  DebugManager.warn(`Warning: the ${name} method already exists in Progress.`);
@@ -46,12 +93,19 @@ Progress.preset = function(name, callback) {
46
93
  Progress[name] = (props) => callback(new Progress(props));
47
94
  };
48
95
 
96
+ /**
97
+ * @param {Record<string, (p: Progress) => Progress>} presets
98
+ */
49
99
  Progress.presets = function(presets) {
50
100
  for (const name in presets) {
51
101
  Progress.preset(name, presets[name]);
52
102
  }
53
103
  };
54
104
 
105
+ /**
106
+ * @param {Observable<number>} observable
107
+ * @returns {this}
108
+ */
55
109
  Progress.prototype.model = function(observable) {
56
110
  this.$description.value = observable;
57
111
  return this;
@@ -59,47 +113,81 @@ Progress.prototype.model = function(observable) {
59
113
 
60
114
  Progress.prototype.bind = Progress.prototype.model;
61
115
 
116
+ /**
117
+ * @param {number} step
118
+ */
62
119
  Progress.prototype.setCurrentStep = function(step) {
63
120
  this.$description.value?.set(step);
64
121
  this.emit('change', step);
65
122
  };
66
123
 
124
+ /**
125
+ * @param {number|Observable<number>} value
126
+ * @returns {this}
127
+ */
67
128
  Progress.prototype.value = function(value) {
68
129
  this.$description.value = BaseComponent.obs(value);
69
130
  return this;
70
131
  };
71
132
 
133
+ /**
134
+ * @param {*} newValue
135
+ * @returns {this}
136
+ */
72
137
  Progress.prototype.setValue = function(newValue) {
73
138
  this.setCurrentStep(newValue);
74
139
  return this;
75
140
  };
76
141
 
142
+ /**
143
+ * @returns {number}
144
+ */
77
145
  Progress.prototype.getCurrentValue = function() {
78
146
  return this.$description.value?.get();
79
- }
147
+ };
80
148
 
149
+ /**
150
+ * @param {number} max
151
+ * @returns {this}
152
+ */
81
153
  Progress.prototype.max = function(max) {
82
154
  this.$description.max = max;
83
155
  return this;
84
156
  };
85
157
 
158
+ /**
159
+ * @param {'bar'|'circle'|'line'|string} type
160
+ * @returns {this}
161
+ */
86
162
  Progress.prototype.type = function(type) {
87
163
  this.$description.type = type;
88
164
  return this;
89
165
  };
90
166
 
167
+ /**
168
+ * @returns {this}
169
+ */
91
170
  Progress.prototype.bar = function() {
92
171
  return this.type('bar');
93
172
  };
94
173
 
174
+ /**
175
+ * @returns {this}
176
+ */
95
177
  Progress.prototype.circle = function() {
96
178
  return this.type('circle');
97
179
  };
98
180
 
181
+ /**
182
+ * @returns {this}
183
+ */
99
184
  Progress.prototype.line = function() {
100
185
  return this.type('line');
101
186
  };
102
187
 
188
+ /**
189
+ * @returns {this}
190
+ */
103
191
  Progress.prototype.pill = function() {
104
192
  this.$description.borderRadiusType = 'pill';
105
193
  return this;
@@ -111,104 +199,172 @@ Progress.prototype.variant = function(name) {
111
199
  return this;
112
200
  };
113
201
 
202
+ /**
203
+ * @param {string} name
204
+ * @returns {this}
205
+ */
114
206
  Progress.prototype.primary = function() {
115
207
  return this.variant('primary');
116
208
  };
117
209
 
210
+ /**
211
+ * @returns {this}
212
+ */
118
213
  Progress.prototype.secondary = function() {
119
214
  return this.variant('secondary');
120
215
  };
121
216
 
217
+ /**
218
+ * @returns {this}
219
+ */
122
220
  Progress.prototype.success = function() {
123
221
  return this.variant('success');
124
222
  };
125
223
 
224
+ /**
225
+ * @returns {this}
226
+ */
126
227
  Progress.prototype.warning = function() {
127
228
  return this.variant('warning');
128
229
  };
129
230
 
231
+ /**
232
+ * @returns {this}
233
+ */
130
234
  Progress.prototype.danger = function() {
131
235
  return this.variant('danger');
132
236
  };
133
237
 
238
+ /**
239
+ * @returns {this}
240
+ */
134
241
  Progress.prototype.info = function() {
135
242
  return this.variant('info');
136
243
  };
137
244
 
138
-
245
+ /**
246
+ * @returns {this}
247
+ */
139
248
  Progress.prototype.size = function(size) {
140
249
  this.$description.size = size;
141
250
  return this;
142
251
  };
252
+
253
+ /**
254
+ * @returns {this}
255
+ */
143
256
  Progress.prototype.stroke = function(stroke) {
144
257
  this.$description.stroke = stroke;
145
258
  return this;
146
259
  };
147
260
 
261
+ /**
262
+ * @returns {this}
263
+ */
148
264
  Progress.prototype.small = function() {
149
265
  return this.size('small');
150
266
  };
151
267
 
268
+ /**
269
+ * @returns {this}
270
+ */
152
271
  Progress.prototype.medium = function() {
153
272
  return this.size('medium');
154
273
  };
155
274
 
275
+ /**
276
+ * @returns {this}
277
+ */
156
278
  Progress.prototype.large = function() {
157
279
  return this.size('large');
158
280
  };
159
281
 
282
+ /**
283
+ * @param {number} height
284
+ * @returns {this}
285
+ */
160
286
  Progress.prototype.height = function(height) {
161
287
  this.$description.height = height;
162
288
  return this;
163
289
  };
164
290
 
165
-
291
+ /**
292
+ * @param {*} [enabled]
293
+ * @returns {this}
294
+ */
166
295
  Progress.prototype.showValue = function(enabled = true) {
167
296
  this.$description.showValue = enabled;
168
297
  return this;
169
298
  };
170
299
 
300
+ /**
301
+ * @param {NdChild} text
302
+ * @returns {this}
303
+ */
171
304
  Progress.prototype.label = function(text) {
172
305
  this.$description.label = text;
173
306
  return this;
174
307
  };
175
308
 
309
+ /**
310
+ * @param {(value: number) => string} formatFn
311
+ * @returns {this}
312
+ */
176
313
  Progress.prototype.format = function(formatFn) {
177
314
  this.$description.format = formatFn;
178
315
  return this;
179
316
  };
180
317
 
318
+ /**
319
+ * @param {*} [enabled]
320
+ * @returns {this}
321
+ */
181
322
  Progress.prototype.indeterminate = function(enabled = true) {
182
323
  this.$description.indeterminate = enabled;
183
324
  return this;
184
325
  };
185
326
 
327
+ /**
328
+ * @param {*} [enabled]
329
+ * @returns {this}
330
+ */
186
331
  Progress.prototype.striped = function(enabled = true) {
187
332
  this.$description.striped = enabled;
188
333
  return this;
189
334
  };
190
335
 
336
+ /**
337
+ * @param {*} [enabled]
338
+ * @returns {this}
339
+ */
191
340
  Progress.prototype.animated = function(enabled = true) {
192
341
  this.$description.animated = enabled;
193
342
  return this;
194
343
  };
195
344
 
196
-
197
- Progress.prototype.start = function() {
198
- // TODO: Implementation
199
- };
200
-
345
+ /**
346
+ *
347
+ * @returns {this}
348
+ */
201
349
  Progress.prototype.complete = function() {
202
350
  this.setCurrentStep(100);
203
351
  this.emit('complete');
352
+ return this;
204
353
  };
205
354
 
355
+ /**
356
+ * @param {number} step
357
+ * @returns {this}
358
+ */
206
359
  Progress.prototype.increment = function(step) {
207
360
  const current = this.value() || 0;
208
361
  this.setCurrentStep(Math.min(this.$description.max, current + step));
209
362
  return this;
210
363
  };
211
364
 
365
+ /**
366
+ * @returns {this}
367
+ */
212
368
  Progress.prototype.reset = function() {
213
369
  this.setCurrentStep(0);
214
370
  this.emit('reset');
@@ -216,16 +372,29 @@ Progress.prototype.reset = function() {
216
372
  };
217
373
 
218
374
  // Events
375
+
376
+ /**
377
+ * @param {Function} handler
378
+ * @returns {this}
379
+ */
219
380
  Progress.prototype.onChange = function(handler) {
220
381
  this.on('change', handler);
221
382
  return this;
222
383
  };
223
384
 
385
+ /**
386
+ * @param {Function} handler
387
+ * @returns {this}
388
+ */
224
389
  Progress.prototype.onComplete = function(handler) {
225
390
  this.on('complete', handler);
226
391
  return this;
227
392
  };
228
393
 
394
+ /**
395
+ * @param {Function} handler
396
+ * @returns {this}
397
+ */
229
398
  Progress.prototype.onReset = function(handler) {
230
399
  this.on('reset', handler);
231
400
  return this;
@@ -1,6 +1,6 @@
1
- import Progress from "./Progress";
1
+ import Progress from './Progress';
2
2
 
3
3
 
4
4
  export {
5
- Progress
6
- }
5
+ Progress,
6
+ };
@@ -0,0 +1,77 @@
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 ProgressDescription = {
7
+ value: number | ObservableItem<number> | null;
8
+ type: 'bar' | 'circle' | 'line' | string | null;
9
+ variant: string | null;
10
+ max: number;
11
+ size: string | number | null;
12
+ stroke: number | null;
13
+ height: string | number | null;
14
+ showValue: boolean | null;
15
+ showPercentage: boolean | null;
16
+ label: ValidChild | null;
17
+ format: ((value: number) => string) | null;
18
+ indeterminate: boolean | null;
19
+ striped: boolean | null;
20
+ animated: boolean | null;
21
+ borderRadiusType: string | null;
22
+ props: GlobalAttributes;
23
+ };
24
+
25
+ export interface ProgressInterface extends BaseComponent {
26
+ model(observable: ObservableItem<number>): this;
27
+ bind(observable: ObservableItem<number>): this;
28
+ setCurrentStep(step: number): void;
29
+ value(value: number | ObservableItem<number>): this;
30
+ setValue(newValue: number): this;
31
+ getCurrentValue(): number;
32
+ max(max: number): this;
33
+ type(type: 'bar' | 'circle' | 'line' | string): this;
34
+ bar(): this;
35
+ circle(): this;
36
+ line(): this;
37
+ pill(): this;
38
+ variant(name: string): this;
39
+ primary(): this;
40
+ secondary(): this;
41
+ success(): this;
42
+ warning(): this;
43
+ danger(): this;
44
+ info(): this;
45
+ size(size: string | number): this;
46
+ stroke(stroke: number): this;
47
+ small(): this;
48
+ medium(): this;
49
+ large(): this;
50
+ height(height: string | number): this;
51
+ showValue(enabled?: boolean): this;
52
+ label(text: ValidChild): this;
53
+ format(formatFn: (value: number) => string): this;
54
+ indeterminate(enabled?: boolean): this;
55
+ striped(enabled?: boolean): this;
56
+ animated(enabled?: boolean): this;
57
+ start(): this;
58
+ complete(): void;
59
+ increment(step: number): this;
60
+ reset(): this;
61
+ onChange(handler: (value: number) => void): this;
62
+ onComplete(handler: () => void): this;
63
+ onReset(handler: () => void): this;
64
+ render(renderFn: (description: ProgressDescription, instance: ProgressInterface) => ValidChild): this;
65
+ }
66
+
67
+
68
+ export declare function Progress(props?: Record<string, unknown>): ProgressInterface;
69
+ export declare namespace Progress {
70
+
71
+
72
+ function use(template: (description: ProgressDescription, instance: ProgressInterface) => ValidChild): void;
73
+ function preset(name: string, callback: (instance: ProgressInterface) => ProgressInterface): void;
74
+ function presets(presets: Record<string, (instance: ProgressInterface) => ProgressInterface>): void;
75
+
76
+
77
+ }