native-document 1.0.76 → 1.0.77

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 (184) hide show
  1. package/components.js +26 -1
  2. package/dist/native-document.components.min.js +6360 -1925
  3. package/dist/native-document.dev.js +122 -56
  4. package/dist/native-document.dev.js.map +1 -1
  5. package/dist/native-document.devtools.min.js +1 -1
  6. package/dist/native-document.min.js +1 -1
  7. package/jsconfig.json +15 -0
  8. package/package.json +1 -1
  9. package/rollup.config.js +4 -2
  10. package/src/components/$traits/HasItems.js +38 -0
  11. package/src/components/BaseComponent.js +70 -0
  12. package/src/components/accordion/Accordion.js +133 -0
  13. package/src/components/accordion/AccordionItem.js +119 -0
  14. package/src/components/accordion/index.js +7 -0
  15. package/src/components/alert/Alert.js +155 -0
  16. package/src/components/alert/index.js +6 -0
  17. package/src/components/avatar/Avatar.js +178 -0
  18. package/src/components/avatar/index.js +5 -0
  19. package/src/components/badge/Badge.js +103 -0
  20. package/src/components/badge/index.js +6 -0
  21. package/src/components/breadcrumb/BreadCrumb.js +70 -0
  22. package/src/components/breadcrumb/index.js +5 -0
  23. package/src/components/button/Button.js +174 -0
  24. package/src/components/button/index.js +5 -0
  25. package/src/components/card/Card.js +110 -0
  26. package/src/components/card/index.js +5 -0
  27. package/src/components/context-menu/ContextMenu.js +60 -0
  28. package/src/components/context-menu/ContextMenuGroup.js +16 -0
  29. package/src/components/context-menu/ContextMenuItem.js +16 -0
  30. package/src/components/context-menu/index.js +10 -0
  31. package/src/components/divider/Divider.js +126 -0
  32. package/src/components/divider/index.js +6 -0
  33. package/src/components/dropdown/Dropdown.js +170 -0
  34. package/src/components/dropdown/DropdownDivider.js +24 -0
  35. package/src/components/dropdown/DropdownGroup.js +44 -0
  36. package/src/components/dropdown/DropdownItem.js +71 -0
  37. package/src/components/dropdown/DropdownTrigger.js +64 -0
  38. package/src/components/dropdown/index.js +13 -0
  39. package/src/components/{fom-control → form}/FormControl.js +30 -22
  40. package/src/components/{fom-control → form}/field/DefaultRender.js +2 -16
  41. package/src/components/{fom-control → form}/field/Field.js +67 -140
  42. package/src/components/{fom-control → form}/field/FieldCollection.js +42 -22
  43. package/src/components/{fom-control → form}/field/types/AutocompleteField.js +11 -0
  44. package/src/components/form/field/types/CheckboxField.js +36 -0
  45. package/src/components/{fom-control → form}/field/types/CheckboxGroupField.js +10 -0
  46. package/src/components/{fom-control → form}/field/types/ColorField.js +11 -1
  47. package/src/components/{fom-control → form}/field/types/DateField.js +11 -1
  48. package/src/components/{fom-control → form}/field/types/EmailField.js +11 -1
  49. package/src/components/{fom-control → form}/field/types/FileField.js +11 -1
  50. package/src/components/form/field/types/HiddenField.js +18 -0
  51. package/src/components/{fom-control → form}/field/types/ImageField.js +11 -1
  52. package/src/components/{fom-control → form}/field/types/NumberField.js +11 -1
  53. package/src/components/{fom-control → form}/field/types/PasswordField.js +11 -1
  54. package/src/components/{fom-control → form}/field/types/RadioField.js +28 -2
  55. package/src/components/{fom-control → form}/field/types/RangeField.js +10 -0
  56. package/src/components/{fom-control → form}/field/types/SearchField.js +10 -0
  57. package/src/components/{fom-control → form}/field/types/SelectField.js +10 -0
  58. package/src/components/{fom-control → form}/field/types/StringField.js +11 -1
  59. package/src/components/{fom-control → form}/field/types/TelField.js +11 -2
  60. package/src/components/{fom-control → form}/field/types/TextAreaField.js +10 -0
  61. package/src/components/{fom-control → form}/field/types/TimeField.js +11 -2
  62. package/src/components/{fom-control → form}/field/types/UrlField.js +10 -2
  63. package/src/components/form/index.js +49 -0
  64. package/src/components/{fom-control → form}/validation/Validation.js +1 -1
  65. package/src/components/list/List.js +106 -0
  66. package/src/components/list/ListGroup.js +67 -0
  67. package/src/components/list/ListItem.js +103 -0
  68. package/src/components/list/index.js +10 -0
  69. package/src/components/menu/Menu.js +82 -0
  70. package/src/components/menu/MenuDivider.js +22 -0
  71. package/src/components/menu/MenuGroup.js +42 -0
  72. package/src/components/menu/MenuItem.js +71 -0
  73. package/src/components/menu/index.js +13 -0
  74. package/src/components/modal/Modal.js +153 -0
  75. package/src/components/modal/index.js +5 -0
  76. package/src/components/pagination/Pagination.js +229 -0
  77. package/src/components/pagination/index.js +5 -0
  78. package/src/components/popover/Popover.js +185 -0
  79. package/src/components/popover/PopoverFooter.js +37 -0
  80. package/src/components/popover/PopoverHeader.js +43 -0
  81. package/src/components/popover/index.js +10 -0
  82. package/src/components/progress/Progress.js +220 -0
  83. package/src/components/progress/index.js +6 -0
  84. package/src/components/skeleton/Skeleton.js +98 -0
  85. package/src/components/skeleton/SkeletonCard.js +0 -0
  86. package/src/components/skeleton/SkeletonList.js +0 -0
  87. package/src/components/skeleton/SkeletonParagraph.js +0 -0
  88. package/src/components/skeleton/SkeletonTable.js +0 -0
  89. package/src/components/skeleton/index.js +6 -0
  90. package/src/components/slider/Slider.js +183 -0
  91. package/src/components/slider/index.js +5 -0
  92. package/src/components/spinner/Spinner.js +160 -0
  93. package/src/components/spinner/index.js +5 -0
  94. package/src/components/splitter/Splitter.js +95 -0
  95. package/src/components/splitter/SplitterGutter.js +57 -0
  96. package/src/components/splitter/SplitterPanel.js +82 -0
  97. package/src/components/splitter/index.js +8 -0
  98. package/src/components/stepper/Stepper.js +229 -0
  99. package/src/components/stepper/StepperStep.js +103 -0
  100. package/src/components/stepper/index.js +8 -0
  101. package/src/components/switch/Switch.js +99 -0
  102. package/src/components/switch/index.js +0 -0
  103. package/src/components/table/ColumnGroup.js +1 -1
  104. package/src/components/table/DataTable.js +1 -1
  105. package/src/components/table/SimpleTable.js +36 -32
  106. package/src/components/tabs/Tabs.js +110 -0
  107. package/src/components/tabs/index.js +6 -0
  108. package/src/components/toast/Toast.js +129 -0
  109. package/src/components/toast/ToastError.js +0 -0
  110. package/src/components/toast/ToastInfo.js +0 -0
  111. package/src/components/toast/ToastSuccess.js +0 -0
  112. package/src/components/toast/ToastWarning.js +0 -0
  113. package/src/components/toast/index.js +5 -0
  114. package/src/components/tooltip/Tooltip.js +98 -0
  115. package/src/components/tooltip/index.js +5 -0
  116. package/src/components/tooltip/prototypes.js +6 -0
  117. package/src/core/data/MemoryManager.js +2 -2
  118. package/src/core/data/Observable.js +1 -1
  119. package/src/core/data/ObservableArray.js +14 -8
  120. package/src/core/data/ObservableItem.js +5 -5
  121. package/src/core/data/observable-helpers/array.js +2 -2
  122. package/src/core/data/observable-helpers/batch.js +2 -2
  123. package/src/core/data/observable-helpers/computed.js +6 -6
  124. package/src/core/data/observable-helpers/object.js +2 -2
  125. package/src/core/elements/anchor.js +3 -3
  126. package/src/core/elements/content-formatter.js +1 -1
  127. package/src/core/elements/control/for-each-array.js +42 -68
  128. package/src/core/elements/control/for-each.js +7 -7
  129. package/src/core/elements/control/show-if.js +5 -5
  130. package/src/core/elements/control/show-when.js +2 -2
  131. package/src/core/elements/control/switch.js +4 -4
  132. package/src/core/elements/description-list.js +1 -1
  133. package/src/core/elements/form.js +1 -1
  134. package/src/core/elements/html5-semantics.js +1 -1
  135. package/src/core/elements/img.js +3 -3
  136. package/src/core/elements/index.js +1 -1
  137. package/src/core/elements/interactive.js +1 -1
  138. package/src/core/elements/list.js +1 -1
  139. package/src/core/elements/medias.js +1 -1
  140. package/src/core/elements/meta-data.js +1 -1
  141. package/src/core/elements/table.js +1 -1
  142. package/src/core/utils/EventEmitter.js +1 -1
  143. package/src/core/utils/args-types.js +2 -2
  144. package/src/core/utils/events.js +68 -0
  145. package/src/core/utils/filters/standard.js +1 -1
  146. package/src/core/utils/filters/utils.js +1 -1
  147. package/src/core/utils/helpers.js +10 -7
  148. package/src/core/utils/prototypes.js +2 -2
  149. package/src/core/utils/validator.js +6 -5
  150. package/src/core/wrappers/AttributesWrapper.js +21 -38
  151. package/src/core/wrappers/DocumentObserver.js +1 -1
  152. package/src/core/wrappers/ElementCreator.js +9 -14
  153. package/src/core/wrappers/HtmlElementWrapper.js +2 -2
  154. package/src/core/wrappers/NDElement.js +3 -3
  155. package/src/core/wrappers/NdPrototype.js +24 -31
  156. package/src/core/wrappers/SingletonView.js +1 -1
  157. package/src/core/wrappers/TemplateCloner.js +60 -18
  158. package/src/core/wrappers/constants.js +32 -1
  159. package/src/core/wrappers/prototypes/attributes-extensions.js +18 -5
  160. package/src/core/wrappers/prototypes/bind-class-extensions.js +18 -0
  161. package/src/core/wrappers/prototypes/nd-element-extensions.js +6 -6
  162. package/src/devtools/app/App.js +2 -2
  163. package/src/devtools/hrm/ComponentRegistry.js +2 -2
  164. package/src/devtools/plugin.js +1 -1
  165. package/src/devtools/widget/DevToolsWidget.js +2 -2
  166. package/src/router/Route.js +1 -1
  167. package/src/router/RouteGroupHelper.js +1 -1
  168. package/src/router/Router.js +4 -4
  169. package/src/router/RouterComponent.js +1 -1
  170. package/src/router/link.js +3 -3
  171. package/src/router/modes/HistoryRouter.js +1 -2
  172. package/types/filters/dates.d.ts +1 -1
  173. package/types/filters/standard.d.ts +0 -1
  174. package/types/filters/types.d.ts +1 -1
  175. package/utils.js +3 -3
  176. package/src/components/fom-control/default/DefaultLayout.js +0 -8
  177. package/src/components/fom-control/default/collection/DefaultCollectionLayout.js +0 -12
  178. package/src/components/fom-control/default/collection/DefaultCollectionTemplate.js +0 -6
  179. package/src/components/fom-control/field/types/CheckboxField.js +0 -17
  180. package/src/components/fom-control/field/types/HiddenField.js +0 -8
  181. package/src/components/fom-control/index.js +0 -8
  182. /package/src/components/{fom-control → form}/field/FieldFactory.js +0 -0
  183. /package/src/components/{fom-control → form}/merge +0 -0
  184. /package/src/components/{fom-control → form}/utils.js +0 -0
@@ -1,2 +1,33 @@
1
1
 
2
- export const BOOLEAN_ATTRIBUTES = ['checked', 'selected', 'disabled', 'readonly', 'required', 'autofocus', 'multiple', 'autocomplete', 'hidden', 'contenteditable', 'spellcheck', 'translate', 'draggable', 'async', 'defer', 'autoplay', 'controls', 'loop', 'muted', 'download', 'reversed', 'open', 'default', 'formnovalidate', 'novalidate', 'scoped', 'itemscope', 'allowfullscreen', 'allowpaymentrequest', 'playsinline'];
2
+ export const BOOLEAN_ATTRIBUTES = new Set([
3
+ 'checked',
4
+ 'selected',
5
+ 'disabled',
6
+ 'readonly',
7
+ 'required',
8
+ 'autofocus',
9
+ 'multiple',
10
+ 'autocomplete',
11
+ 'hidden',
12
+ 'contenteditable',
13
+ 'spellcheck',
14
+ 'translate',
15
+ 'draggable',
16
+ 'async',
17
+ 'defer',
18
+ 'autoplay',
19
+ 'controls',
20
+ 'loop',
21
+ 'muted',
22
+ 'download',
23
+ 'reversed',
24
+ 'open',
25
+ 'default',
26
+ 'formnovalidate',
27
+ 'novalidate',
28
+ 'scoped',
29
+ 'itemscope',
30
+ 'allowfullscreen',
31
+ 'allowpaymentrequest',
32
+ 'playsinline'
33
+ ]);
@@ -1,17 +1,30 @@
1
- import { bindAttributeWithObservable } from "../AttributesWrapper";
2
- import ObservableItem from "../../data/ObservableItem";
3
- import TemplateBinding from "../TemplateBinding";
4
-
1
+ import {bindAttributeWithObservable, bindBooleanAttribute} from "@src/core/wrappers/AttributesWrapper";
2
+ import ObservableItem from "@src/core/data/ObservableItem";
3
+ import TemplateBinding from "@src/core/wrappers/TemplateBinding";
4
+ import {BOOLEAN_ATTRIBUTES} from "@src/core/wrappers/constants";
5
5
 
6
6
 
7
7
  String.prototype.handleNdAttribute = function(element, attributeName) {
8
8
  element.setAttribute(attributeName, this);
9
9
  };
10
10
 
11
+ Number.prototype.handleNdAttribute = function(element, attributeName) {
12
+ element.setAttribute(attributeName, this);
13
+ };
14
+
15
+ Boolean.prototype.handleNdAttribute = function(element, attrName) {
16
+ bindBooleanAttribute(element, attrName, this);
17
+ };
18
+
11
19
  ObservableItem.prototype.handleNdAttribute = function(element, attributeName) {
20
+ if(BOOLEAN_ATTRIBUTES.has(attributeName)) {
21
+ bindBooleanAttribute(element, attributeName, this);
22
+ return;
23
+ }
24
+
12
25
  bindAttributeWithObservable(element, attributeName, this);
13
26
  };
14
27
 
15
28
  TemplateBinding.prototype.handleNdAttribute = function(element, attributeName) {
16
29
  this.$hydrate(element, attributeName);
17
- };
30
+ };
@@ -0,0 +1,18 @@
1
+ import ObservableItem from "@/core/data/ObservableItem";
2
+ import {toggleElementClass} from "@/core/wrappers/AttributesWrapper";
3
+ import {ObservableWhen} from "@/core/data/ObservableWhen";
4
+ import TemplateBinding from "@/core/wrappers/TemplateBinding";
5
+
6
+ ObservableItem.prototype.bindNdClass = function(element, className) {
7
+ element.classes.toggle(className, this.val());
8
+ this.subscribe(toggleElementClass.bind(null, element, className));
9
+ };
10
+
11
+ ObservableWhen.prototype.bindNdClass = function(element, className) {
12
+ element.classes.toggle(className, this.isMath());
13
+ this.subscribe(toggleElementClass.bind(null, element, className));
14
+ };
15
+
16
+ TemplateBinding.prototype.bindNdClass = function(element, className) {
17
+ this.$hydrate(element, className);
18
+ };
@@ -1,9 +1,9 @@
1
- import ObservableItem from "../../data/ObservableItem";
2
- import {NDElement} from "../NDElement";
3
- import TemplateBinding from "../TemplateBinding";
4
- import {ElementCreator} from "../ElementCreator";
5
- import PluginsManager from "../../utils/plugins-manager";
6
- import Validator from "../../utils/validator";
1
+ import ObservableItem from "@src/core/data/ObservableItem";
2
+ import {NDElement} from "@src/core/wrappers/NDElement";
3
+ import TemplateBinding from "@src/core/wrappers/TemplateBinding";
4
+ import {ElementCreator} from "@src/core/wrappers/ElementCreator";
5
+ import PluginsManager from "@src/core/utils/plugins-manager";
6
+ import Validator from "@src/core/utils/validator";
7
7
 
8
8
  String.prototype.toNdElement = function () {
9
9
  const formattedChild = this.resolveObservableTemplate ? this.resolveObservableTemplate() : this;
@@ -1,5 +1,5 @@
1
- import {Div} from "../../../elements";
2
- import DevToolsWidget from "../widget/DevToolsWidget";
1
+ import {Div} from "@elements";
2
+ import DevToolsWidget from "@devtools/widget/DevToolsWidget";
3
3
 
4
4
  export default function App() {
5
5
 
@@ -1,5 +1,5 @@
1
- import {Anchor} from "../../../elements.js";
2
- import Validator from "../../core/utils/validator";
1
+ import {Anchor} from "@elements";
2
+ import Validator from "@src/core/utils/validator";
3
3
 
4
4
  const ComponentRegistry = (function() {
5
5
  const registry = new Map();
@@ -1,4 +1,4 @@
1
- import {Observable} from "../../index";
1
+ import {Observable} from "@core";
2
2
 
3
3
  export const DevToolService = {
4
4
  createdObservable: Observable(0),
@@ -1,5 +1,5 @@
1
- import {Div, Button} from "../../../elements";
2
- import {DevToolService} from "../plugin";
1
+ import {Div, Button} from "@elements";
2
+ import {DevToolService} from "@devtools/plugin";
3
3
 
4
4
  export default function DevToolsWidget() {
5
5
  let shouldFollowPointer = false;
@@ -1,4 +1,4 @@
1
- import {trim} from "../core/utils/helpers.js";
1
+ import {trim} from "@src/core/utils/helpers.js";
2
2
 
3
3
  export const RouteParamPatterns = {
4
4
 
@@ -1,4 +1,4 @@
1
- import {trim} from "../core/utils/helpers.js";
1
+ import {trim} from "@src/core/utils/helpers.js";
2
2
 
3
3
  export const RouteGroupHelper = {
4
4
  /**
@@ -1,12 +1,12 @@
1
1
  import {Route} from "./Route.js";
2
- import Validator from "../core/utils/validator.js";
3
- import RouterError from "../core/errors/RouterError.js";
2
+ import Validator from "@src/core/utils/validator.js";
3
+ import RouterError from "@src/core/errors/RouterError.js";
4
4
  import {RouteGroupHelper} from "./RouteGroupHelper.js";
5
- import {trim} from "../core/utils/helpers.js";
5
+ import {trim} from "@src/core/utils/helpers.js";
6
6
  import HashRouter from "./modes/HashRouter.js";
7
7
  import HistoryRouter from "./modes/HistoryRouter.js";
8
8
  import MemoryRouter from "./modes/MemoryRouter.js";
9
- import DebugManager from "../core/utils/debug-manager.js";
9
+ import DebugManager from "@src/core/utils/debug-manager.js";
10
10
  import {RouterComponent} from "./RouterComponent.js";
11
11
 
12
12
  export const DEFAULT_ROUTER_NAME = 'default';
@@ -1,4 +1,4 @@
1
- import Validator from "../core/utils/validator";
1
+ import Validator from "@src/core/utils/validator";
2
2
 
3
3
  /**
4
4
  *
@@ -1,7 +1,7 @@
1
- import Validator from "../core/utils/validator.js";
2
- import {Link as NativeLink} from "../../elements.js";
1
+ import Validator from "@src/core/utils/validator.js";
2
+ import {Link as NativeLink} from "@elements";
3
3
  import Router, {DEFAULT_ROUTER_NAME} from "./Router.js";
4
- import RouterError from "../core/errors/RouterError.js";
4
+ import RouterError from "@src/core/errors/RouterError.js";
5
5
 
6
6
 
7
7
  export function Link(options, children){
@@ -1,5 +1,4 @@
1
- import RouterError from '../../core/errors/RouterError';
2
- import DebugManager from "../../core/utils/debug-manager.js";
1
+ import DebugManager from "@src/core/utils/debug-manager.js";
3
2
 
4
3
  export default function HistoryRouter() {
5
4
 
@@ -1,4 +1,4 @@
1
- import { ObservableItem } from '../observable';
1
+ import { ObservableItem } from '@src/core/data/observable';
2
2
  import { FilterResult } from './types';
3
3
 
4
4
  export type DateValue = Date | string | number | ObservableItem<Date | string | number>;
@@ -1,5 +1,4 @@
1
1
  import { ObservableOrValue, FilterResult } from './types';
2
- import {ObservableItem} from "../observable";
3
2
 
4
3
 
5
4
  export function equals<T>(
@@ -1,4 +1,4 @@
1
- import { ObservableItem } from '../observable';
1
+ import { ObservableItem } from '@src/core/data/observable';
2
2
 
3
3
  export interface FilterResult<T = any> {
4
4
  dependencies: ObservableItem | ObservableItem[] | null;
package/utils.js CHANGED
@@ -1,6 +1,6 @@
1
- import NativeFetch from "./src/fetch/NativeFetch";
2
- import { Service } from "./src/core/utils/service";
3
- import * as Filters from "./src/core/utils/filters/index";
1
+ import NativeFetch from "@src/fetch/NativeFetch";
2
+ import { Service } from "@src/core/utils/service";
3
+ import * as Filters from "@src/core/utils/filters/index";
4
4
 
5
5
 
6
6
  export {
@@ -1,8 +0,0 @@
1
- import {Button, Form} from "../../../../elements";
2
-
3
- export default function DefaultLayout({ fields, form }) {
4
- return Form([
5
- Object.values(fields),
6
- Button({ type: 'submit', disabled: form.submitting }, 'Submit')
7
- ]);
8
- }
@@ -1,12 +0,0 @@
1
- import {Button} from "../../../../../elements";
2
-
3
- export default function DefaultCollectionLayout({collection, data, Template}) {
4
-
5
- return Div({ class: 'field-collection-layout'}, [
6
- Div({ class: 'field-collection-layout-header'}, [
7
- Button({ class: 'field-collection-layout-add-btn', type: 'button' }, ['Add +'])
8
- .nd.onClick(() => collection.add())
9
- ]),
10
- ForEachArray(data, Template)
11
- ]);
12
- }
@@ -1,6 +0,0 @@
1
-
2
-
3
- export default function DefaultCollectionTemplate(item, index, {collection, fields}) {
4
-
5
- return Object.values(fields);
6
- }
@@ -1,17 +0,0 @@
1
- import Field from "../Field";
2
-
3
- export default function CheckboxField(name, defaultConfig) {
4
- Field.call(this, name, 'checkbox', defaultConfig);
5
-
6
- Object.assign(this.$description, {
7
- checked: false,
8
- });
9
- }
10
-
11
- CheckboxField.prototype = Object.create(Field.prototype);
12
- CheckboxField.prototype.constructor = CheckboxField;
13
-
14
- CheckboxField.prototype.checked = function(value) {
15
- this.$description.checked = value;
16
- return this;
17
- };
@@ -1,8 +0,0 @@
1
- import Field from "../Field";
2
-
3
- export default function HiddenField(name, defaultConfig) {
4
- Field.call(this, name, 'hidden', defaultConfig);
5
- }
6
-
7
- HiddenField.prototype = Object.create(Field.prototype);
8
- HiddenField.prototype.constructor = HiddenField;
@@ -1,8 +0,0 @@
1
- import Field from "./field/Field";
2
- import FormControl from "./FormControl";
3
- import './field/FieldFactory';
4
-
5
- export {
6
- Field,
7
- FormControl,
8
- }
File without changes
File without changes