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.
- package/components.js +26 -1
- package/dist/native-document.components.min.js +6360 -1925
- package/dist/native-document.dev.js +122 -56
- package/dist/native-document.dev.js.map +1 -1
- package/dist/native-document.devtools.min.js +1 -1
- package/dist/native-document.min.js +1 -1
- package/jsconfig.json +15 -0
- package/package.json +1 -1
- package/rollup.config.js +4 -2
- package/src/components/$traits/HasItems.js +38 -0
- package/src/components/BaseComponent.js +70 -0
- package/src/components/accordion/Accordion.js +133 -0
- package/src/components/accordion/AccordionItem.js +119 -0
- package/src/components/accordion/index.js +7 -0
- package/src/components/alert/Alert.js +155 -0
- package/src/components/alert/index.js +6 -0
- package/src/components/avatar/Avatar.js +178 -0
- package/src/components/avatar/index.js +5 -0
- package/src/components/badge/Badge.js +103 -0
- package/src/components/badge/index.js +6 -0
- package/src/components/breadcrumb/BreadCrumb.js +70 -0
- package/src/components/breadcrumb/index.js +5 -0
- package/src/components/button/Button.js +174 -0
- package/src/components/button/index.js +5 -0
- package/src/components/card/Card.js +110 -0
- package/src/components/card/index.js +5 -0
- package/src/components/context-menu/ContextMenu.js +60 -0
- package/src/components/context-menu/ContextMenuGroup.js +16 -0
- package/src/components/context-menu/ContextMenuItem.js +16 -0
- package/src/components/context-menu/index.js +10 -0
- package/src/components/divider/Divider.js +126 -0
- package/src/components/divider/index.js +6 -0
- package/src/components/dropdown/Dropdown.js +170 -0
- package/src/components/dropdown/DropdownDivider.js +24 -0
- package/src/components/dropdown/DropdownGroup.js +44 -0
- package/src/components/dropdown/DropdownItem.js +71 -0
- package/src/components/dropdown/DropdownTrigger.js +64 -0
- package/src/components/dropdown/index.js +13 -0
- package/src/components/{fom-control → form}/FormControl.js +30 -22
- package/src/components/{fom-control → form}/field/DefaultRender.js +2 -16
- package/src/components/{fom-control → form}/field/Field.js +67 -140
- package/src/components/{fom-control → form}/field/FieldCollection.js +42 -22
- package/src/components/{fom-control → form}/field/types/AutocompleteField.js +11 -0
- package/src/components/form/field/types/CheckboxField.js +36 -0
- package/src/components/{fom-control → form}/field/types/CheckboxGroupField.js +10 -0
- package/src/components/{fom-control → form}/field/types/ColorField.js +11 -1
- package/src/components/{fom-control → form}/field/types/DateField.js +11 -1
- package/src/components/{fom-control → form}/field/types/EmailField.js +11 -1
- package/src/components/{fom-control → form}/field/types/FileField.js +11 -1
- package/src/components/form/field/types/HiddenField.js +18 -0
- package/src/components/{fom-control → form}/field/types/ImageField.js +11 -1
- package/src/components/{fom-control → form}/field/types/NumberField.js +11 -1
- package/src/components/{fom-control → form}/field/types/PasswordField.js +11 -1
- package/src/components/{fom-control → form}/field/types/RadioField.js +28 -2
- package/src/components/{fom-control → form}/field/types/RangeField.js +10 -0
- package/src/components/{fom-control → form}/field/types/SearchField.js +10 -0
- package/src/components/{fom-control → form}/field/types/SelectField.js +10 -0
- package/src/components/{fom-control → form}/field/types/StringField.js +11 -1
- package/src/components/{fom-control → form}/field/types/TelField.js +11 -2
- package/src/components/{fom-control → form}/field/types/TextAreaField.js +10 -0
- package/src/components/{fom-control → form}/field/types/TimeField.js +11 -2
- package/src/components/{fom-control → form}/field/types/UrlField.js +10 -2
- package/src/components/form/index.js +49 -0
- package/src/components/{fom-control → form}/validation/Validation.js +1 -1
- package/src/components/list/List.js +106 -0
- package/src/components/list/ListGroup.js +67 -0
- package/src/components/list/ListItem.js +103 -0
- package/src/components/list/index.js +10 -0
- package/src/components/menu/Menu.js +82 -0
- package/src/components/menu/MenuDivider.js +22 -0
- package/src/components/menu/MenuGroup.js +42 -0
- package/src/components/menu/MenuItem.js +71 -0
- package/src/components/menu/index.js +13 -0
- package/src/components/modal/Modal.js +153 -0
- package/src/components/modal/index.js +5 -0
- package/src/components/pagination/Pagination.js +229 -0
- package/src/components/pagination/index.js +5 -0
- package/src/components/popover/Popover.js +185 -0
- package/src/components/popover/PopoverFooter.js +37 -0
- package/src/components/popover/PopoverHeader.js +43 -0
- package/src/components/popover/index.js +10 -0
- package/src/components/progress/Progress.js +220 -0
- package/src/components/progress/index.js +6 -0
- package/src/components/skeleton/Skeleton.js +98 -0
- package/src/components/skeleton/SkeletonCard.js +0 -0
- package/src/components/skeleton/SkeletonList.js +0 -0
- package/src/components/skeleton/SkeletonParagraph.js +0 -0
- package/src/components/skeleton/SkeletonTable.js +0 -0
- package/src/components/skeleton/index.js +6 -0
- package/src/components/slider/Slider.js +183 -0
- package/src/components/slider/index.js +5 -0
- package/src/components/spinner/Spinner.js +160 -0
- package/src/components/spinner/index.js +5 -0
- package/src/components/splitter/Splitter.js +95 -0
- package/src/components/splitter/SplitterGutter.js +57 -0
- package/src/components/splitter/SplitterPanel.js +82 -0
- package/src/components/splitter/index.js +8 -0
- package/src/components/stepper/Stepper.js +229 -0
- package/src/components/stepper/StepperStep.js +103 -0
- package/src/components/stepper/index.js +8 -0
- package/src/components/switch/Switch.js +99 -0
- package/src/components/switch/index.js +0 -0
- package/src/components/table/ColumnGroup.js +1 -1
- package/src/components/table/DataTable.js +1 -1
- package/src/components/table/SimpleTable.js +36 -32
- package/src/components/tabs/Tabs.js +110 -0
- package/src/components/tabs/index.js +6 -0
- package/src/components/toast/Toast.js +129 -0
- package/src/components/toast/ToastError.js +0 -0
- package/src/components/toast/ToastInfo.js +0 -0
- package/src/components/toast/ToastSuccess.js +0 -0
- package/src/components/toast/ToastWarning.js +0 -0
- package/src/components/toast/index.js +5 -0
- package/src/components/tooltip/Tooltip.js +98 -0
- package/src/components/tooltip/index.js +5 -0
- package/src/components/tooltip/prototypes.js +6 -0
- package/src/core/data/MemoryManager.js +2 -2
- package/src/core/data/Observable.js +1 -1
- package/src/core/data/ObservableArray.js +14 -8
- package/src/core/data/ObservableItem.js +5 -5
- package/src/core/data/observable-helpers/array.js +2 -2
- package/src/core/data/observable-helpers/batch.js +2 -2
- package/src/core/data/observable-helpers/computed.js +6 -6
- package/src/core/data/observable-helpers/object.js +2 -2
- package/src/core/elements/anchor.js +3 -3
- package/src/core/elements/content-formatter.js +1 -1
- package/src/core/elements/control/for-each-array.js +42 -68
- package/src/core/elements/control/for-each.js +7 -7
- package/src/core/elements/control/show-if.js +5 -5
- package/src/core/elements/control/show-when.js +2 -2
- package/src/core/elements/control/switch.js +4 -4
- package/src/core/elements/description-list.js +1 -1
- package/src/core/elements/form.js +1 -1
- package/src/core/elements/html5-semantics.js +1 -1
- package/src/core/elements/img.js +3 -3
- package/src/core/elements/index.js +1 -1
- package/src/core/elements/interactive.js +1 -1
- package/src/core/elements/list.js +1 -1
- package/src/core/elements/medias.js +1 -1
- package/src/core/elements/meta-data.js +1 -1
- package/src/core/elements/table.js +1 -1
- package/src/core/utils/EventEmitter.js +1 -1
- package/src/core/utils/args-types.js +2 -2
- package/src/core/utils/events.js +68 -0
- package/src/core/utils/filters/standard.js +1 -1
- package/src/core/utils/filters/utils.js +1 -1
- package/src/core/utils/helpers.js +10 -7
- package/src/core/utils/prototypes.js +2 -2
- package/src/core/utils/validator.js +6 -5
- package/src/core/wrappers/AttributesWrapper.js +21 -38
- package/src/core/wrappers/DocumentObserver.js +1 -1
- package/src/core/wrappers/ElementCreator.js +9 -14
- package/src/core/wrappers/HtmlElementWrapper.js +2 -2
- package/src/core/wrappers/NDElement.js +3 -3
- package/src/core/wrappers/NdPrototype.js +24 -31
- package/src/core/wrappers/SingletonView.js +1 -1
- package/src/core/wrappers/TemplateCloner.js +60 -18
- package/src/core/wrappers/constants.js +32 -1
- package/src/core/wrappers/prototypes/attributes-extensions.js +18 -5
- package/src/core/wrappers/prototypes/bind-class-extensions.js +18 -0
- package/src/core/wrappers/prototypes/nd-element-extensions.js +6 -6
- package/src/devtools/app/App.js +2 -2
- package/src/devtools/hrm/ComponentRegistry.js +2 -2
- package/src/devtools/plugin.js +1 -1
- package/src/devtools/widget/DevToolsWidget.js +2 -2
- package/src/router/Route.js +1 -1
- package/src/router/RouteGroupHelper.js +1 -1
- package/src/router/Router.js +4 -4
- package/src/router/RouterComponent.js +1 -1
- package/src/router/link.js +3 -3
- package/src/router/modes/HistoryRouter.js +1 -2
- package/types/filters/dates.d.ts +1 -1
- package/types/filters/standard.d.ts +0 -1
- package/types/filters/types.d.ts +1 -1
- package/utils.js +3 -3
- package/src/components/fom-control/default/DefaultLayout.js +0 -8
- package/src/components/fom-control/default/collection/DefaultCollectionLayout.js +0 -12
- package/src/components/fom-control/default/collection/DefaultCollectionTemplate.js +0 -6
- package/src/components/fom-control/field/types/CheckboxField.js +0 -17
- package/src/components/fom-control/field/types/HiddenField.js +0 -8
- package/src/components/fom-control/index.js +0 -8
- /package/src/components/{fom-control → form}/field/FieldFactory.js +0 -0
- /package/src/components/{fom-control → form}/merge +0 -0
- /package/src/components/{fom-control → form}/utils.js +0 -0
|
@@ -1287,6 +1287,20 @@ var NativeDocument = (function (exports) {
|
|
|
1287
1287
|
setInterval(() => MemoryManager.cleanObservables(threshold), interval);
|
|
1288
1288
|
};
|
|
1289
1289
|
|
|
1290
|
+
ObservableItem.prototype.bindNdClass = function(element, className) {
|
|
1291
|
+
element.classes.toggle(className, this.val());
|
|
1292
|
+
this.subscribe(toggleElementClass.bind(null, element, className));
|
|
1293
|
+
};
|
|
1294
|
+
|
|
1295
|
+
ObservableWhen.prototype.bindNdClass = function(element, className) {
|
|
1296
|
+
element.classes.toggle(className, this.isMath());
|
|
1297
|
+
this.subscribe(toggleElementClass.bind(null, element, className));
|
|
1298
|
+
};
|
|
1299
|
+
|
|
1300
|
+
TemplateBinding.prototype.bindNdClass = function(element, className) {
|
|
1301
|
+
this.$hydrate(element, className);
|
|
1302
|
+
};
|
|
1303
|
+
|
|
1290
1304
|
function toggleElementClass(element, className, shouldAdd) {
|
|
1291
1305
|
element.classes.toggle(className, shouldAdd);
|
|
1292
1306
|
}
|
|
@@ -1319,18 +1333,8 @@ var NativeDocument = (function (exports) {
|
|
|
1319
1333
|
function bindClassAttribute(element, data) {
|
|
1320
1334
|
for(let className in data) {
|
|
1321
1335
|
const value = data[className];
|
|
1322
|
-
if(
|
|
1323
|
-
|
|
1324
|
-
value.subscribe(toggleElementClass.bind(null, element, className));
|
|
1325
|
-
continue;
|
|
1326
|
-
}
|
|
1327
|
-
if(Validator.isObservableWhenResult(value)) {
|
|
1328
|
-
element.classes.toggle(className, value.isMath());
|
|
1329
|
-
value.subscribe(toggleElementClass.bind(null, element, className));
|
|
1330
|
-
continue;
|
|
1331
|
-
}
|
|
1332
|
-
if(value.$hydrate) {
|
|
1333
|
-
value.$hydrate(element, className);
|
|
1336
|
+
if(value?.bindNdClass) {
|
|
1337
|
+
value.bindNdClass(element, className);
|
|
1334
1338
|
continue;
|
|
1335
1339
|
}
|
|
1336
1340
|
element.classes.toggle(className, value);
|
|
@@ -1511,6 +1515,11 @@ var NativeDocument = (function (exports) {
|
|
|
1511
1515
|
};
|
|
1512
1516
|
|
|
1513
1517
|
ObservableItem.prototype.handleNdAttribute = function(element, attributeName) {
|
|
1518
|
+
if(BOOLEAN_ATTRIBUTES.includes(attributeName)) {
|
|
1519
|
+
bindBooleanAttribute(element, attributeName, this);
|
|
1520
|
+
return;
|
|
1521
|
+
}
|
|
1522
|
+
|
|
1514
1523
|
bindAttributeWithObservable(element, attributeName, this);
|
|
1515
1524
|
};
|
|
1516
1525
|
|
|
@@ -1605,6 +1614,9 @@ var NativeDocument = (function (exports) {
|
|
|
1605
1614
|
if(Validator.isElement(child)) {
|
|
1606
1615
|
return child;
|
|
1607
1616
|
}
|
|
1617
|
+
if(child == null) {
|
|
1618
|
+
return null;
|
|
1619
|
+
}
|
|
1608
1620
|
} while (child.toNdElement);
|
|
1609
1621
|
}
|
|
1610
1622
|
|
|
@@ -1715,22 +1727,85 @@ var NativeDocument = (function (exports) {
|
|
|
1715
1727
|
"ContextMenu"
|
|
1716
1728
|
];
|
|
1717
1729
|
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1730
|
+
const EVENTS_WITH_PREVENT = [
|
|
1731
|
+
"Click",
|
|
1732
|
+
"DblClick",
|
|
1733
|
+
"MouseDown",
|
|
1734
|
+
"MouseUp",
|
|
1735
|
+
"Wheel",
|
|
1736
|
+
"KeyDown",
|
|
1737
|
+
"KeyPress",
|
|
1738
|
+
"Invalid",
|
|
1739
|
+
"Reset",
|
|
1740
|
+
"Submit",
|
|
1741
|
+
"DragOver",
|
|
1742
|
+
"Drop",
|
|
1743
|
+
"BeforeUnload",
|
|
1744
|
+
"TouchCancel",
|
|
1745
|
+
"TouchEnd",
|
|
1746
|
+
"TouchMove",
|
|
1747
|
+
"TouchStart",
|
|
1748
|
+
"Copy",
|
|
1749
|
+
"Cut",
|
|
1750
|
+
"Paste",
|
|
1751
|
+
"ContextMenu"
|
|
1752
|
+
];
|
|
1753
|
+
|
|
1754
|
+
const EVENTS_WITH_STOP = [
|
|
1755
|
+
"Click",
|
|
1756
|
+
"DblClick",
|
|
1757
|
+
"MouseDown",
|
|
1758
|
+
"MouseMove",
|
|
1759
|
+
"MouseOut",
|
|
1760
|
+
"MouseOver",
|
|
1761
|
+
"MouseUp",
|
|
1762
|
+
"Wheel",
|
|
1763
|
+
"KeyDown",
|
|
1764
|
+
"KeyPress",
|
|
1765
|
+
"KeyUp",
|
|
1766
|
+
"Change",
|
|
1767
|
+
"Input",
|
|
1768
|
+
"Invalid",
|
|
1769
|
+
"Reset",
|
|
1770
|
+
"Search",
|
|
1771
|
+
"Select",
|
|
1772
|
+
"Submit",
|
|
1773
|
+
"Drag",
|
|
1774
|
+
"DragEnd",
|
|
1775
|
+
"DragEnter",
|
|
1776
|
+
"DragLeave",
|
|
1777
|
+
"DragOver",
|
|
1778
|
+
"DragStart",
|
|
1779
|
+
"Drop",
|
|
1780
|
+
"BeforeUnload",
|
|
1781
|
+
"HashChange",
|
|
1782
|
+
"TouchCancel",
|
|
1783
|
+
"TouchEnd",
|
|
1784
|
+
"TouchMove",
|
|
1785
|
+
"TouchStart",
|
|
1786
|
+
"AnimationEnd",
|
|
1787
|
+
"AnimationIteration",
|
|
1788
|
+
"AnimationStart",
|
|
1789
|
+
"TransitionEnd",
|
|
1790
|
+
"Copy",
|
|
1791
|
+
"Cut",
|
|
1792
|
+
"Paste",
|
|
1793
|
+
"FocusIn",
|
|
1794
|
+
"FocusOut",
|
|
1795
|
+
"ContextMenu"
|
|
1796
|
+
];
|
|
1797
|
+
|
|
1724
1798
|
const property = {
|
|
1725
1799
|
configurable: true,
|
|
1726
1800
|
get() {
|
|
1727
|
-
return
|
|
1801
|
+
return new NDElement(this);
|
|
1728
1802
|
}
|
|
1729
1803
|
};
|
|
1730
1804
|
|
|
1731
1805
|
Object.defineProperty(HTMLElement.prototype, 'nd', property);
|
|
1732
1806
|
|
|
1733
1807
|
Object.defineProperty(DocumentFragment.prototype, 'nd', property);
|
|
1808
|
+
|
|
1734
1809
|
Object.defineProperty(NDElement.prototype, 'nd', {
|
|
1735
1810
|
configurable: true,
|
|
1736
1811
|
get: function() {
|
|
@@ -1743,31 +1818,29 @@ var NativeDocument = (function (exports) {
|
|
|
1743
1818
|
// ----------------------------------------------------------------
|
|
1744
1819
|
// Events helpers
|
|
1745
1820
|
// ----------------------------------------------------------------
|
|
1821
|
+
EVENTS.forEach(eventSourceName => {
|
|
1822
|
+
const eventName = eventSourceName.toLowerCase();
|
|
1823
|
+
NDElement.prototype['on'+eventSourceName] = function(callback = null) {
|
|
1824
|
+
this.$element.addEventListener(eventName, callback);
|
|
1825
|
+
return this;
|
|
1826
|
+
};
|
|
1827
|
+
});
|
|
1746
1828
|
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
NDElement.prototype['onPrevent'+eventSourceName] = function(callback) {
|
|
1756
|
-
_prevent(this.$element, eventName, callback);
|
|
1757
|
-
return this;
|
|
1758
|
-
};
|
|
1759
|
-
|
|
1760
|
-
NDElement.prototype['onStop'+eventSourceName] = function(callback) {
|
|
1761
|
-
_stop(this.$element, eventName, callback);
|
|
1762
|
-
return this;
|
|
1763
|
-
};
|
|
1829
|
+
EVENTS_WITH_STOP.forEach(eventSourceName => {
|
|
1830
|
+
const eventName = eventSourceName.toLowerCase();
|
|
1831
|
+
NDElement.prototype['onStop'+eventSourceName] = function(callback = null) {
|
|
1832
|
+
_stop(this.$element, eventName, callback);
|
|
1833
|
+
return this;
|
|
1834
|
+
};
|
|
1835
|
+
});
|
|
1764
1836
|
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1837
|
+
EVENTS_WITH_PREVENT.forEach(eventSourceName => {
|
|
1838
|
+
const eventName = eventSourceName.toLowerCase();
|
|
1839
|
+
NDElement.prototype['onPrevent'+eventSourceName] = function(callback = null) {
|
|
1840
|
+
_prevent(this.$element, eventName, callback);
|
|
1841
|
+
return this;
|
|
1842
|
+
};
|
|
1843
|
+
});
|
|
1771
1844
|
|
|
1772
1845
|
NDElement.prototype.on = function(name, callback, options) {
|
|
1773
1846
|
this.$element.addEventListener(name.toLowerCase(), callback, options);
|
|
@@ -1792,16 +1865,6 @@ var NativeDocument = (function (exports) {
|
|
|
1792
1865
|
return this;
|
|
1793
1866
|
};
|
|
1794
1867
|
|
|
1795
|
-
const _preventStop = function(element, eventName, callback) {
|
|
1796
|
-
const handler = (event) => {
|
|
1797
|
-
event.stopPropagation();
|
|
1798
|
-
event.preventDefault();
|
|
1799
|
-
callback && callback.call(element, event);
|
|
1800
|
-
};
|
|
1801
|
-
element.addEventListener(eventName, handler);
|
|
1802
|
-
return this;
|
|
1803
|
-
};
|
|
1804
|
-
|
|
1805
1868
|
|
|
1806
1869
|
|
|
1807
1870
|
// ----------------------------------------------------------------
|
|
@@ -2750,6 +2813,13 @@ var NativeDocument = (function (exports) {
|
|
|
2750
2813
|
ObservableArray.prototype.constructor = ObservableArray;
|
|
2751
2814
|
ObservableArray.prototype.__$isObservableArray = true;
|
|
2752
2815
|
|
|
2816
|
+
|
|
2817
|
+
Object.defineProperty(ObservableArray.prototype, 'length', {
|
|
2818
|
+
get() {
|
|
2819
|
+
return this.$currentValue.length;
|
|
2820
|
+
}
|
|
2821
|
+
});
|
|
2822
|
+
|
|
2753
2823
|
mutationMethods.forEach((method) => {
|
|
2754
2824
|
ObservableArray.prototype[method] = function(...values) {
|
|
2755
2825
|
const result = this.$currentValue[method](...values);
|
|
@@ -2794,10 +2864,6 @@ var NativeDocument = (function (exports) {
|
|
|
2794
2864
|
return count;
|
|
2795
2865
|
};
|
|
2796
2866
|
|
|
2797
|
-
ObservableArray.prototype.length = function() {
|
|
2798
|
-
return this.$currentValue.length;
|
|
2799
|
-
};
|
|
2800
|
-
|
|
2801
2867
|
ObservableArray.prototype.swap = function(indexA, indexB) {
|
|
2802
2868
|
const value = this.$currentValue;
|
|
2803
2869
|
const length = value.length;
|