native-document 1.0.165 → 1.0.168
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/.vitepress/config.js +166 -0
- package/CHANGELOG.md +153 -0
- package/components.d.ts +2 -0
- package/components.js +2 -1
- package/devtools/widget.js +1 -1
- package/dist/native-document.components.min.js +11589 -2983
- package/dist/native-document.dev.js +2280 -396
- package/dist/native-document.dev.js.map +1 -1
- package/dist/native-document.min.js +1 -1
- package/docs/advanced-components.md +213 -608
- package/docs/anchor.md +173 -312
- package/docs/cache.md +95 -803
- package/docs/cli.md +179 -0
- package/docs/components/accordion.md +172 -0
- package/docs/components/alert.md +99 -0
- package/docs/components/avatar.md +160 -0
- package/docs/components/badge.md +102 -0
- package/docs/components/breadcrumb.md +89 -0
- package/docs/components/button.md +183 -0
- package/docs/components/card.md +69 -0
- package/docs/components/context-menu.md +118 -0
- package/docs/components/data-table.md +345 -0
- package/docs/components/dropdown.md +214 -0
- package/docs/components/form/autocomplete-field.md +81 -0
- package/docs/components/form/checkbox-field.md +41 -0
- package/docs/components/form/checkbox-group-field.md +54 -0
- package/docs/components/form/color-field.md +64 -0
- package/docs/components/form/date-field.md +92 -0
- package/docs/components/form/field-collection.md +63 -0
- package/docs/components/form/file-field.md +203 -0
- package/docs/components/form/form-control.md +87 -0
- package/docs/components/form/image-field.md +90 -0
- package/docs/components/form/index.md +115 -0
- package/docs/components/form/number-field.md +65 -0
- package/docs/components/form/radio-field.md +51 -0
- package/docs/components/form/select-field.md +123 -0
- package/docs/components/form/slider.md +136 -0
- package/docs/components/form/string-field.md +134 -0
- package/docs/components/form/textarea-field.md +65 -0
- package/docs/components/form-fields.md +372 -0
- package/docs/components/getting-started.md +264 -0
- package/docs/components/index.md +337 -0
- package/docs/components/layout.md +279 -0
- package/docs/components/list.md +73 -0
- package/docs/components/menu.md +215 -0
- package/docs/components/modal.md +156 -0
- package/docs/components/pagination.md +95 -0
- package/docs/components/popover.md +131 -0
- package/docs/components/progress.md +111 -0
- package/docs/components/shortcut-manager.md +221 -0
- package/docs/components/simple-table.md +107 -0
- package/docs/components/skeleton.md +155 -0
- package/docs/components/spinner.md +100 -0
- package/docs/components/splitter.md +133 -0
- package/docs/components/stepper.md +163 -0
- package/docs/components/switch.md +113 -0
- package/docs/components/tabs.md +153 -0
- package/docs/components/toast.md +119 -0
- package/docs/components/tooltip.md +151 -0
- package/docs/components/traits.md +261 -0
- package/docs/conditional-rendering.md +170 -588
- package/docs/contributing.md +300 -25
- package/docs/core-concepts.md +205 -374
- package/docs/elements.md +251 -367
- package/docs/extending-native-document-element.md +192 -207
- package/docs/filters.md +153 -1122
- package/docs/getting-started.md +193 -267
- package/docs/i18n.md +241 -0
- package/docs/index.md +76 -0
- package/docs/lifecycle-events.md +143 -75
- package/docs/list-rendering.md +227 -852
- package/docs/memory-management.md +134 -47
- package/docs/native-document-element.md +337 -186
- package/docs/native-fetch.md +99 -630
- package/docs/observable-resource.md +364 -0
- package/docs/observables.md +592 -526
- package/docs/routing.md +244 -653
- package/docs/state-management.md +134 -241
- package/docs/svg-elements.md +231 -0
- package/docs/theming.md +409 -0
- package/docs/validation.md +95 -97
- package/docs/vitepress-conventions.md +219 -0
- package/eslint.config.js +28 -33
- package/i18n.js +1 -1
- package/i18n.ts +2 -0
- package/index.js +3 -0
- package/package.json +36 -14
- package/readme.md +269 -89
- package/src/components/$traits/has-draggable/HasDraggable.d.ts +4 -0
- package/src/components/$traits/has-draggable/HasDraggable.js +13 -0
- package/src/components/$traits/has-items/HasItems.d.ts +9 -0
- package/src/components/$traits/has-items/HasItems.js +6 -6
- package/src/components/$traits/has-position/HasFullPosition.d.ts +14 -0
- package/src/components/$traits/has-position/HasFullPosition.js +44 -0
- package/src/components/$traits/has-position/HasPosition.d.ts +7 -0
- package/src/components/$traits/has-position/HasPosition.js +23 -1
- package/src/components/$traits/has-resizable/HasResizable.d.ts +13 -0
- package/src/components/$traits/has-resizable/HasResizable.js +9 -0
- package/src/components/$traits/has-validation/HasValidation.d.ts +17 -0
- package/src/components/$traits/has-validation/HasValidation.js +54 -7
- package/src/components/BaseComponent.d.ts +32 -0
- package/src/components/BaseComponent.js +65 -9
- package/src/components/accordion/Accordion.js +39 -14
- package/src/components/accordion/AccordionItem.js +45 -14
- package/src/components/accordion/index.js +2 -2
- package/src/components/accordion/types/Accordion.d.ts +47 -0
- package/src/components/accordion/types/AccordionItem.d.ts +48 -0
- package/src/components/alert/Alert.js +70 -38
- package/src/components/alert/index.js +2 -2
- package/src/components/alert/types/Alert.d.ts +62 -0
- package/src/components/avatar/Avatar.js +49 -12
- package/src/components/avatar/AvatarGroup.js +50 -2
- package/src/components/avatar/index.js +2 -2
- package/src/components/avatar/types/Avatar.d.ts +74 -0
- package/src/components/avatar/types/AvatarGroup.d.ts +32 -0
- package/src/components/badge/Badge.js +125 -5
- package/src/components/badge/index.js +2 -2
- package/src/components/badge/types/Badge.d.ts +51 -0
- package/src/components/breadcrumb/BreadCrumb.js +61 -5
- package/src/components/breadcrumb/index.js +2 -2
- package/src/components/breadcrumb/types/BreadCrumb.d.ts +42 -0
- package/src/components/button/Button.js +164 -9
- package/src/components/button/index.js +1 -1
- package/src/components/button/types/Button.d.ts +62 -0
- package/src/components/card/Card.js +204 -32
- package/src/components/card/index.js +4 -4
- package/src/components/card/types/Card.d.ts +42 -0
- package/src/components/context-menu/ContextMenu.js +49 -5
- package/src/components/context-menu/ContextMenuGroup.js +15 -2
- package/src/components/context-menu/ContextMenuItem.js +14 -2
- package/src/components/context-menu/index.js +5 -5
- package/src/components/context-menu/types/ContextMenu.d.ts +30 -0
- package/src/components/context-menu/types/ContextMenuGroup.d.ts +18 -0
- package/src/components/context-menu/types/ContextMenuItem.d.ts +18 -0
- package/src/components/divider/Divider.js +120 -4
- package/src/components/divider/index.js +3 -3
- package/src/components/divider/types/Divider.d.ts +55 -0
- package/src/components/dropdown/Dropdown.js +239 -16
- package/src/components/dropdown/DropdownDivider.js +22 -2
- package/src/components/dropdown/DropdownGroup.js +44 -5
- package/src/components/dropdown/DropdownItem.js +76 -3
- package/src/components/dropdown/DropdownTrigger.js +49 -20
- package/src/components/dropdown/helpers.js +1 -1
- package/src/components/dropdown/index.js +6 -6
- package/src/components/dropdown/types/Dropdown.d.ts +88 -0
- package/src/components/dropdown/types/DropdownDivider.d.ts +20 -0
- package/src/components/dropdown/types/DropdownGroup.d.ts +25 -0
- package/src/components/dropdown/types/DropdownItem.d.ts +41 -0
- package/src/components/dropdown/types/DropdownTrigger.d.ts +32 -0
- package/src/components/form/FormControl.js +156 -13
- package/src/components/form/field/Field.js +172 -9
- package/src/components/form/field/FieldCollection.js +116 -12
- package/src/components/form/field/types/AutocompleteField.js +92 -2
- package/src/components/form/field/types/CheckboxField.js +43 -2
- package/src/components/form/field/types/CheckboxGroupField.js +83 -6
- package/src/components/form/field/types/ColorField.js +56 -3
- package/src/components/form/field/types/DateField.js +155 -4
- package/src/components/form/field/types/EmailField.js +54 -4
- package/src/components/form/field/types/FileField.js +140 -6
- package/src/components/form/field/types/HiddenField.js +27 -1
- package/src/components/form/field/types/ImageField.js +82 -3
- package/src/components/form/field/types/NumberField.js +97 -4
- package/src/components/form/field/types/PasswordField.js +103 -7
- package/src/components/form/field/types/RadioField.js +75 -4
- package/src/components/form/field/types/RangeField.js +67 -1
- package/src/components/form/field/types/SearchField.js +41 -2
- package/src/components/form/field/types/SelectField.js +133 -4
- package/src/components/form/field/types/StringField.js +91 -2
- package/src/components/form/field/types/TelField.js +55 -4
- package/src/components/form/field/types/TextAreaField.js +76 -2
- package/src/components/form/field/types/TimeField.js +120 -5
- package/src/components/form/field/types/UrlField.js +59 -4
- package/src/components/form/field/types/file-field-mode/FileAvatarMode.js +83 -4
- package/src/components/form/field/types/file-field-mode/FileDropzoneMode.js +61 -3
- package/src/components/form/field/types/file-field-mode/FileItemPreview.js +79 -3
- package/src/components/form/field/types/file-field-mode/FileNativeMode.js +24 -2
- package/src/components/form/field/types/file-field-mode/FileUploadButtonMode.js +64 -3
- package/src/components/form/field/types/file-field-mode/FileWallMode.js +56 -3
- package/src/components/form/index.js +28 -28
- package/src/components/form/types/Field.d.ts +73 -0
- package/src/components/form/types/FieldCollection.d.ts +53 -0
- package/src/components/form/types/FormControl.d.ts +64 -0
- package/src/components/form/types/fields/AutocompleteField.d.ts +48 -0
- package/src/components/form/types/fields/CheckboxField.d.ts +33 -0
- package/src/components/form/types/fields/CheckboxGroupField.d.ts +49 -0
- package/src/components/form/types/fields/ColorField.d.ts +37 -0
- package/src/components/form/types/fields/DateField.d.ts +70 -0
- package/src/components/form/types/fields/EmailField.d.ts +35 -0
- package/src/components/form/types/fields/FileAvatarMode.d.ts +46 -0
- package/src/components/form/types/fields/FileDropzoneMode.d.ts +28 -0
- package/src/components/form/types/fields/FileField.d.ts +56 -0
- package/src/components/form/types/fields/FileItemPreview.d.ts +35 -0
- package/src/components/form/types/fields/FileNativeMode.d.ts +21 -0
- package/src/components/form/types/fields/FileUploadButtonMode.d.ts +34 -0
- package/src/components/form/types/fields/FileWallMode.d.ts +32 -0
- package/src/components/form/types/fields/HiddenField.d.ts +26 -0
- package/src/components/form/types/fields/ImageField.d.ts +45 -0
- package/src/components/form/types/fields/NumberField.d.ts +48 -0
- package/src/components/form/types/fields/PasswordField.d.ts +46 -0
- package/src/components/form/types/fields/RadioField.d.ts +48 -0
- package/src/components/form/types/fields/RangeField.d.ts +44 -0
- package/src/components/form/types/fields/SearchField.d.ts +34 -0
- package/src/components/form/types/fields/SelectField.d.ts +71 -0
- package/src/components/form/types/fields/StringField.d.ts +48 -0
- package/src/components/form/types/fields/TelField.d.ts +37 -0
- package/src/components/form/types/fields/TextAreaField.d.ts +44 -0
- package/src/components/form/types/fields/TimeField.d.ts +51 -0
- package/src/components/form/types/fields/UrlField.d.ts +35 -0
- package/src/components/form/validation/Validation.js +54 -54
- package/src/components/index.d.ts +160 -0
- package/src/components/list/HasListItem.js +171 -0
- package/src/components/list/List.js +85 -67
- package/src/components/list/ListDivider.js +39 -0
- package/src/components/list/ListGroup.js +105 -38
- package/src/components/list/ListItem.js +158 -49
- package/src/components/list/index.js +8 -6
- package/src/components/list/types/List.d.ts +43 -0
- package/src/components/list/types/ListGroup.d.ts +37 -0
- package/src/components/list/types/ListItem.d.ts +53 -0
- package/src/components/menu/HasMenuItem.js +55 -6
- package/src/components/menu/Menu.js +113 -22
- package/src/components/menu/MenuDivider.js +18 -2
- package/src/components/menu/MenuGroup.js +61 -6
- package/src/components/menu/MenuItem.js +95 -11
- package/src/components/menu/MenuLink.js +27 -2
- package/src/components/menu/index.js +6 -6
- package/src/components/menu/types/Menu.d.ts +60 -0
- package/src/components/menu/types/MenuDivider.d.ts +19 -0
- package/src/components/menu/types/MenuGroup.d.ts +44 -0
- package/src/components/menu/types/MenuItem.d.ts +46 -0
- package/src/components/menu/types/MenuLink.d.ts +16 -0
- package/src/components/modal/Modal.js +258 -17
- package/src/components/modal/index.js +3 -3
- package/src/components/modal/types/Modal.d.ts +94 -0
- package/src/components/pagination/Pagination.js +155 -7
- package/src/components/pagination/index.js +3 -3
- package/src/components/pagination/types/Pagination.d.ts +68 -0
- package/src/components/popover/Popover.js +198 -11
- package/src/components/popover/PopoverFooter.js +33 -9
- package/src/components/popover/PopoverHeader.js +33 -8
- package/src/components/popover/index.js +4 -4
- package/src/components/popover/types/Popover.d.ts +83 -0
- package/src/components/popover/types/PopoverFooter.d.ts +24 -0
- package/src/components/popover/types/PopoverHeader.d.ts +26 -0
- package/src/components/progress/Progress.js +182 -13
- package/src/components/progress/index.js +3 -3
- package/src/components/progress/types/Progress.d.ts +77 -0
- package/src/components/skeleton/Skeleton.js +117 -49
- package/src/components/skeleton/index.js +3 -3
- package/src/components/skeleton/types/Skeleton.d.ts +55 -0
- package/src/components/slider/Slider.js +207 -10
- package/src/components/slider/index.js +2 -2
- package/src/components/slider/types/Slider.d.ts +82 -0
- package/src/components/spacer/Spacer.js +12 -3
- package/src/components/spacer/index.js +2 -2
- package/src/components/spacer/types/Spacer.d.ts +19 -0
- package/src/components/spinner/Spinner.js +180 -9
- package/src/components/spinner/index.js +3 -3
- package/src/components/spinner/types/Spinner.d.ts +71 -0
- package/src/components/splitter/Splitter.js +76 -13
- package/src/components/splitter/SplitterGutter.js +67 -5
- package/src/components/splitter/SplitterPanel.js +69 -2
- package/src/components/splitter/index.js +5 -5
- package/src/components/splitter/types/Splitter.d.ts +38 -0
- package/src/components/splitter/types/SplitterGutter.d.ts +38 -0
- package/src/components/splitter/types/SplitterPanel.d.ts +41 -0
- package/src/components/stacks/AbsoluteStack.js +23 -3
- package/src/components/stacks/FixedStack.js +23 -3
- package/src/components/stacks/HStack.js +24 -3
- package/src/components/stacks/PositionStack.js +111 -3
- package/src/components/stacks/RelativeStack.js +23 -3
- package/src/components/stacks/Stack.js +73 -2
- package/src/components/stacks/VStack.js +24 -4
- package/src/components/stacks/index.js +7 -7
- package/src/components/stacks/types/AbsoluteStack.d.ts +16 -0
- package/src/components/stacks/types/FixedStack.d.ts +16 -0
- package/src/components/stacks/types/HStack.d.ts +16 -0
- package/src/components/stacks/types/PositionStack.d.ts +54 -0
- package/src/components/stacks/types/RelativeStack.d.ts +17 -0
- package/src/components/stacks/types/Stack.d.ts +39 -0
- package/src/components/stacks/types/VStack.d.ts +16 -0
- package/src/components/stepper/Stepper.js +152 -12
- package/src/components/stepper/StepperStep.js +104 -3
- package/src/components/stepper/index.js +4 -4
- package/src/components/stepper/types/Stepper.d.ts +68 -0
- package/src/components/stepper/types/StepperStep.d.ts +54 -0
- package/src/components/switch/Switch.js +143 -6
- package/src/components/switch/index.js +1 -1
- package/src/components/switch/types/Switch.d.ts +55 -0
- package/src/components/table/Column.js +105 -6
- package/src/components/table/ColumnGroup.js +48 -3
- package/src/components/table/DataTable.js +256 -19
- package/src/components/table/SimpleTable.js +58 -4
- package/src/components/table/index.js +2 -2
- package/src/components/table/types/Column.d.ts +49 -0
- package/src/components/table/types/ColumnGroup.d.ts +28 -0
- package/src/components/table/types/DataTable.d.ts +97 -0
- package/src/components/table/types/SimpleTable.d.ts +40 -0
- package/src/components/tabs/Tabs.js +192 -5
- package/src/components/tabs/index.js +3 -3
- package/src/components/tabs/types/Tabs.d.ts +78 -0
- package/src/components/toast/Toast.js +133 -5
- package/src/components/toast/index.js +3 -3
- package/src/components/toast/types/Toast.d.ts +57 -0
- package/src/components/toast/types/ToastError.d.ts +7 -0
- package/src/components/toast/types/ToastInfo.d.ts +7 -0
- package/src/components/toast/types/ToastSuccess.d.ts +7 -0
- package/src/components/toast/types/ToastWarning.d.ts +7 -0
- package/src/components/tooltip/Tooltip.js +157 -13
- package/src/components/tooltip/index.js +2 -2
- package/src/components/tooltip/prototypes.js +1 -1
- package/src/components/tooltip/types/Tooltip.d.ts +65 -0
- package/src/core/data/MemoryManager.js +2 -2
- package/src/core/data/Observable.js +15 -18
- package/src/core/data/ObservableArray.js +118 -46
- package/src/core/data/ObservableChecker.js +2 -2
- package/src/core/data/ObservableItem.js +135 -21
- package/src/core/data/ObservableObject.js +126 -35
- package/src/core/data/ObservableResource.js +118 -3
- package/src/core/data/Store.js +142 -26
- package/src/core/data/observable-helpers/observable.is-to.js +196 -1
- package/src/core/data/observable-helpers/observable.prototypes.js +35 -8
- package/src/core/elements/anchor/anchor-with-sentinel.js +23 -2
- package/src/core/elements/anchor/anchor.js +16 -7
- package/src/core/elements/anchor/one-child-anchor-overwriting.js +2 -2
- package/src/core/elements/content-formatter.js +1 -1
- package/src/core/elements/control/for-each-array.js +9 -9
- package/src/core/elements/control/for-each.js +14 -14
- package/src/core/elements/control/show-if.js +11 -11
- package/src/core/elements/control/show-when.js +5 -5
- package/src/core/elements/control/switch.js +14 -14
- package/src/core/elements/description-list.js +1 -1
- package/src/core/elements/form.js +2 -2
- package/src/core/elements/fragment.js +1 -1
- package/src/core/elements/html5-semantics.js +1 -1
- package/src/core/elements/img.js +3 -3
- 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/svg.js +1 -1
- package/src/core/elements/table.js +1 -1
- package/src/core/errors/ArgTypesError.js +1 -1
- package/src/core/utils/HasEventEmitter.js +36 -2
- package/src/core/utils/args-types.js +9 -9
- package/src/core/utils/cache.js +1 -1
- package/src/core/utils/callback-handler.js +29 -0
- package/src/core/utils/debug-manager.js +6 -6
- package/src/core/utils/events.js +139 -139
- package/src/core/utils/filters/date.js +84 -3
- package/src/core/utils/filters/standard.js +136 -11
- package/src/core/utils/filters/strings.js +34 -2
- package/src/core/utils/filters/utils.js +40 -4
- package/src/core/utils/formatters.js +4 -4
- package/src/core/utils/helpers.js +39 -7
- package/src/core/utils/localstorage.js +11 -11
- package/src/core/utils/memoize.js +56 -3
- package/src/core/utils/plugins-manager.js +3 -3
- package/src/core/utils/property-accumulator.js +6 -6
- package/src/core/utils/prototypes.js +26 -1
- package/src/core/utils/shortcut-manager.js +2 -2
- package/src/core/utils/validator.js +8 -8
- package/src/core/wrappers/AttributesWrapper.js +32 -22
- package/src/core/wrappers/DocumentObserver.js +3 -3
- package/src/core/wrappers/ElementCreator.js +5 -5
- package/src/core/wrappers/HtmlElementWrapper.js +38 -12
- package/src/core/wrappers/NDElement.js +328 -22
- package/src/core/wrappers/NdPrototype.js +60 -16
- package/src/core/wrappers/SingletonView.js +50 -2
- package/src/core/wrappers/SvgElementWrapper.js +1 -1
- package/src/core/wrappers/constants.js +35 -2
- package/src/core/wrappers/prototypes/attributes-extensions.js +7 -7
- package/src/core/wrappers/prototypes/nd-element-extensions.js +72 -6
- package/src/core/wrappers/prototypes/nd-element.transition.extensions.js +42 -2
- package/src/core/wrappers/template-cloner/NodeCloner.js +53 -8
- package/src/core/wrappers/template-cloner/TemplateCloner.js +75 -6
- package/src/core/wrappers/template-cloner/attributes-hydrator.js +58 -2
- package/src/core/wrappers/template-cloner/utils.js +42 -6
- package/src/fetch/NativeFetch.js +3 -3
- package/src/i18n/bin/scan.js +6 -6
- package/src/i18n/index.d.ts +2 -0
- package/src/i18n/service/I18nService.d.ts +27 -0
- package/src/i18n/service/I18nService.js +5 -5
- package/src/i18n/service/functions.d.ts +22 -0
- package/src/i18n/service/functions.js +2 -2
- package/src/router/Route.js +3 -3
- package/src/router/RouteGroupHelper.js +2 -2
- package/src/router/Router.js +15 -15
- package/src/router/RouterComponent.js +33 -7
- package/src/router/link.js +4 -4
- package/src/router/modes/HashRouter.js +2 -2
- package/src/router/modes/HistoryRouter.js +2 -2
- package/src/router/modes/MemoryRouter.js +1 -1
- package/src/ui/components/accordion/AccordionItemRender.js +3 -3
- package/src/ui/components/accordion/AccordionRender.js +1 -1
- package/src/ui/components/alert/AlertRender.js +10 -10
- package/src/ui/components/avatar/avata-group/AvatarGroupRender.js +1 -1
- package/src/ui/components/avatar/avatar/AvatarRender.js +1 -1
- package/src/ui/components/breadcrumb/BreadcrumbRender.js +2 -2
- package/src/ui/components/button/ButtonRender.js +1 -1
- package/src/ui/components/card/CardRender.js +133 -0
- package/src/ui/components/card/card.css +169 -0
- package/src/ui/components/contextmenu/ContextmenuRender.js +6 -6
- package/src/ui/components/dropdown/DropdownRender.js +8 -8
- package/src/ui/components/dropdown/group/DropdownGroupRender.js +2 -2
- package/src/ui/components/dropdown/item/DropdownItemRender.js +1 -1
- package/src/ui/components/form/FieldCollectionRender.js +2 -2
- package/src/ui/components/form/FormControlRender.js +5 -5
- package/src/ui/components/form/fields/AutocompleteFieldRender.js +3 -3
- package/src/ui/components/form/fields/CheckboxFieldRender.js +1 -1
- package/src/ui/components/form/fields/CheckboxGroupFieldRender.js +1 -1
- package/src/ui/components/form/fields/DateFieldRender.js +7 -7
- package/src/ui/components/form/fields/EmailFieldRender.js +1 -1
- package/src/ui/components/form/fields/FieldRender.js +4 -4
- package/src/ui/components/form/fields/FileFieldRender.js +1 -1
- package/src/ui/components/form/fields/PasswordFieldRender.js +2 -2
- package/src/ui/components/form/fields/RadioFieldRender.js +1 -1
- package/src/ui/components/form/fields/RangeFieldRender.js +1 -1
- package/src/ui/components/form/fields/SelectFieldRender.js +2 -2
- package/src/ui/components/form/fields/SliderFieldRender.js +6 -6
- package/src/ui/components/form/fields/StringFieldRender.js +1 -1
- package/src/ui/components/form/fields/TelFieldRender.js +1 -1
- package/src/ui/components/form/fields/TextAreaFieldRender.js +1 -1
- package/src/ui/components/form/fields/TimeFieldRender.js +3 -3
- package/src/ui/components/form/fields/UrlFieldRender.js +1 -1
- package/src/ui/components/form/file-upload-mode/FileAvatarModeRender.js +1 -1
- package/src/ui/components/form/file-upload-mode/FileDropzoneModeRender.js +2 -2
- package/src/ui/components/form/file-upload-mode/FileUploadButtonModeRender.js +2 -2
- package/src/ui/components/form/file-upload-mode/FileWallModeRender.js +1 -1
- package/src/ui/components/form/helpers.js +8 -8
- package/src/ui/components/form/index.js +27 -27
- package/src/ui/components/list/ListRender.js +18 -0
- package/src/ui/components/list/divider/ListDividerRender.js +10 -0
- package/src/ui/components/list/divider/list-divider.css +12 -0
- package/src/ui/components/list/group/ListGroupRender.js +61 -0
- package/src/ui/components/list/group/list-group.css +62 -0
- package/src/ui/components/list/item/ListItemRender.js +238 -0
- package/src/ui/components/list/item/list-item.css +191 -0
- package/src/ui/components/list/list.css +24 -0
- package/src/ui/components/menu/MenuDividerRender.js +1 -1
- package/src/ui/components/menu/MenuGroupRender.js +3 -3
- package/src/ui/components/menu/MenuItemRender.js +2 -2
- package/src/ui/components/menu/MenuLinkRender.js +3 -3
- package/src/ui/components/menu/helpers.js +4 -4
- package/src/ui/components/modal/ModalRender.js +4 -4
- package/src/ui/components/pagination/PaginationRender.js +9 -9
- package/src/ui/components/popover/PopoverRender.js +7 -7
- package/src/ui/components/progress/ProgressRender.js +12 -12
- package/src/ui/components/skeleton/SkeletonRender.js +56 -0
- package/src/ui/components/spacer/SpacerRender.js +10 -0
- package/src/ui/components/splitter/SplitterGutterRender.js +1 -1
- package/src/ui/components/splitter/SplitterPanelRender.js +2 -2
- package/src/ui/components/stacks/PositionStackRender.js +1 -1
- package/src/ui/components/stacks/StackRender.js +1 -1
- package/src/ui/components/stacks/absolute-stack/AbsoluteStackRender.js +1 -1
- package/src/ui/components/stacks/fixed-stack/FixedStackRender.js +1 -1
- package/src/ui/components/stacks/h-stack/HStackRender.js +1 -1
- package/src/ui/components/stacks/index.js +5 -5
- package/src/ui/components/stacks/relative-stack/RelativeStackRender.js +1 -1
- package/src/ui/components/stacks/v-stack/VStackRender.js +1 -1
- package/src/ui/components/stepper/StepperRender.js +2 -2
- package/src/ui/components/stepper/StepperStepRender.js +4 -4
- package/src/ui/components/switch/SwitchRender.js +4 -4
- package/src/ui/components/table/data-table/DataTableRender.js +5 -5
- package/src/ui/components/table/data-table/bulk-actions.js +7 -7
- package/src/ui/components/table/data-table/pagination.js +6 -6
- package/src/ui/components/table/data-table/tables.js +25 -25
- package/src/ui/components/table/data-table/toolbar.js +3 -3
- package/src/ui/components/table/simple-table/SimpleTableRender.js +8 -8
- package/src/ui/components/tabs/TabsRender.js +11 -11
- package/src/ui/components/toast/ToastRender.js +3 -3
- package/src/ui/components/tooltip/TooltipRender.js +1 -1
- package/src/ui/index.js +44 -36
- package/types/elements.d.ts +163 -1037
- package/types/forms.d.ts +16 -20
- package/types/globals.d.ts +543 -0
- package/types/images.d.ts +2 -2
- package/types/observable-resource.d.ts +3 -0
- package/types/property-accumulator.d.ts +4 -4
- package/types/store.d.ts +26 -2
- package/types/validator.ts +3 -3
- package/ui.js +1 -0
- package/src/components/form/field/DefaultRender.js +0 -77
- package/src/components/form/field/FieldFactory.js +0 -107
- 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/SkeletonCard.js → docs/tutorials/.gitkeep} +0 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { defineConfig } from 'vitepress'
|
|
2
|
+
|
|
3
|
+
export default defineConfig({
|
|
4
|
+
title: 'NativeDocument',
|
|
5
|
+
description: 'A reactive JavaScript framework that preserves native DOM simplicity without sacrificing modern features',
|
|
6
|
+
|
|
7
|
+
themeConfig: {
|
|
8
|
+
logo: '/logo.svg',
|
|
9
|
+
|
|
10
|
+
nav: [
|
|
11
|
+
{ text: 'Guide', link: '/getting-started' },
|
|
12
|
+
{ text: 'Components', link: '/components/' },
|
|
13
|
+
{ text: 'Utilities', link: '/utils/cache' },
|
|
14
|
+
{
|
|
15
|
+
text: 'v1.0.161',
|
|
16
|
+
items: [
|
|
17
|
+
{ text: 'Changelog', link: 'https://github.com/afrocodeur/native-document/releases' },
|
|
18
|
+
{ text: 'GitHub', link: 'https://github.com/afrocodeur/native-document' }
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
|
|
23
|
+
sidebar: {
|
|
24
|
+
'/components/': [
|
|
25
|
+
{
|
|
26
|
+
text: 'Components',
|
|
27
|
+
items: [
|
|
28
|
+
{ text: 'Overview', link: '/components/' },
|
|
29
|
+
{ text: 'Getting Started', link: '/components/getting-started' },
|
|
30
|
+
{ text: 'Traits', link: '/components/traits' },
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
text: 'Layout',
|
|
35
|
+
items: [
|
|
36
|
+
{ text: 'Layout', link: '/components/layout' },
|
|
37
|
+
{ text: 'Splitter', link: '/components/splitter' },
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
text: 'Display',
|
|
42
|
+
items: [
|
|
43
|
+
{ text: 'Alert & Feedback', link: '/components/alert' },
|
|
44
|
+
{ text: 'Avatar', link: '/components/avatar' },
|
|
45
|
+
{ text: 'Badge', link: '/components/alert' },
|
|
46
|
+
{ text: 'Breadcrumb', link: '/components/breadcrumb' },
|
|
47
|
+
{ text: 'Tooltip', link: '/components/tooltip' },
|
|
48
|
+
{ text: 'Toast', link: '/components/toast' },
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
text: 'Navigation',
|
|
53
|
+
items: [
|
|
54
|
+
{ text: 'Menu', link: '/components/menu' },
|
|
55
|
+
{ text: 'Tabs', link: '/components/tabs' },
|
|
56
|
+
{ text: 'Dropdown', link: '/components/dropdown' },
|
|
57
|
+
{ text: 'Context Menu', link: '/components/context-menu' },
|
|
58
|
+
{ text: 'Breadcrumb', link: '/components/breadcrumb' },
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
text: 'Overlay',
|
|
63
|
+
items: [
|
|
64
|
+
{ text: 'Modal & Popover', link: '/components/modal' },
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
text: 'Data',
|
|
69
|
+
items: [
|
|
70
|
+
{ text: 'Data Table', link: '/components/data-table' },
|
|
71
|
+
{ text: 'Accordion', link: '/components/accordion' },
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
text: 'Forms',
|
|
76
|
+
items: [
|
|
77
|
+
{ text: 'Button', link: '/components/button' },
|
|
78
|
+
{ text: 'Form Fields', link: '/components/form-fields' },
|
|
79
|
+
{ text: 'Checkbox & Radio', link: '/components/checkbox-radio' },
|
|
80
|
+
{ text: 'Select', link: '/components/select' },
|
|
81
|
+
{ text: 'File Upload', link: '/components/file' },
|
|
82
|
+
{ text: 'Slider & Stepper', link: '/components/slider-stepper' },
|
|
83
|
+
{ text: 'Switch', link: '/components/switch' },
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
|
|
88
|
+
'/utils/': [
|
|
89
|
+
{
|
|
90
|
+
text: 'Utilities',
|
|
91
|
+
items: [
|
|
92
|
+
{ text: 'Cache', link: '/utils/cache' },
|
|
93
|
+
{ text: 'NativeFetch', link: '/utils/native-fetch' },
|
|
94
|
+
{ text: 'Filters', link: '/utils/filters' },
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
],
|
|
98
|
+
|
|
99
|
+
'/': [
|
|
100
|
+
{
|
|
101
|
+
text: 'Introduction',
|
|
102
|
+
items: [
|
|
103
|
+
{ text: 'Getting Started', link: '/getting-started' },
|
|
104
|
+
{ text: 'CLI', link: '/cli' },
|
|
105
|
+
{ text: 'Core Concepts', link: '/core-concepts' },
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
text: 'Essentials',
|
|
110
|
+
items: [
|
|
111
|
+
{ text: 'Observables', link: '/observables' },
|
|
112
|
+
{ text: 'Observable Resource', link: '/observable-resource' },
|
|
113
|
+
{ text: 'Elements', link: '/elements' },
|
|
114
|
+
{ text: 'Conditional Rendering', link: '/conditional-rendering' },
|
|
115
|
+
{ text: 'List Rendering', link: '/list-rendering' },
|
|
116
|
+
{ text: 'Anchor', link: '/anchor' },
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
text: 'Application',
|
|
121
|
+
items: [
|
|
122
|
+
{ text: 'Routing', link: '/routing' },
|
|
123
|
+
{ text: 'State Management', link: '/state-management' },
|
|
124
|
+
{ text: 'i18n & Formatting', link: '/i18n' },
|
|
125
|
+
{ text: 'SVG Elements', link: '/svg-elements' },
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
text: 'NDElement',
|
|
130
|
+
items: [
|
|
131
|
+
{ text: 'NDElement', link: '/native-document-element' },
|
|
132
|
+
{ text: 'Extending NDElement', link: '/extending-native-document-element' },
|
|
133
|
+
{ text: 'Lifecycle Events', link: '/lifecycle-events' },
|
|
134
|
+
{ text: 'Advanced Components', link: '/advanced-components' },
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
text: 'Advanced',
|
|
139
|
+
items: [
|
|
140
|
+
{ text: 'Args Validation', link: '/validation' },
|
|
141
|
+
{ text: 'Memory Management', link: '/memory-management' },
|
|
142
|
+
]
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
text: 'Contributing',
|
|
146
|
+
items: [
|
|
147
|
+
{ text: 'Contributing', link: '/contributing' },
|
|
148
|
+
]
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
|
|
153
|
+
socialLinks: [
|
|
154
|
+
{ icon: 'github', link: 'https://github.com/afrocodeur/native-document' }
|
|
155
|
+
],
|
|
156
|
+
|
|
157
|
+
footer: {
|
|
158
|
+
message: 'Released under the MIT License.',
|
|
159
|
+
copyright: 'Copyright © 2024 AfroCodeur'
|
|
160
|
+
},
|
|
161
|
+
|
|
162
|
+
search: {
|
|
163
|
+
provider: 'local'
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
})
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to NativeDocument will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## [Unreleased]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- `Card` - versatile content container with image, header, footer, actions, clickable and loading states (renderer implementation in progress)
|
|
15
|
+
- `List` - flexible list with single/multi selection, checkbox or click-to-select modes, dividers and keyboard navigation (renderer implementation in progress)
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## [1.0.166] - 2026-06-03
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
#### Core
|
|
24
|
+
- `Observable.resource()` - async data fetching with built-in state machine (`unresolved`, `pending`, `ready`, `refreshing`, `errored`), `AbortController` support, reactive dependencies, debounce, and optimistic `mutate()`
|
|
25
|
+
- `Observable.batch()` - batch multiple state changes into a single computed update, with async support
|
|
26
|
+
- `Observable.useValueProperty(name?)` - define a custom property alias for `$value`
|
|
27
|
+
- `Observable.autoCleanup(enable, options?)` - automatic periodic cleanup of orphaned observables via `WeakRef` and `FinalizationRegistry`
|
|
28
|
+
- `Observable.getById(id)` - retrieve a registered observable by its internal memory ID
|
|
29
|
+
- `observable.intercept(callback)` - transform or abort values before they are set
|
|
30
|
+
- `observable.interceptMutations(callback)` - intercept array and object mutations separately
|
|
31
|
+
- `observable.onCleanup(callback)` - register a callback that runs when the observable is cleaned up
|
|
32
|
+
- `observable.once(predicate, callback)` - single-fire listener triggered by value or condition
|
|
33
|
+
- `observable.deepSubscribe(callback)` - react to changes at any nesting depth
|
|
34
|
+
- `observable.persist(key, options?)` - two-way synchronization with `localStorage`
|
|
35
|
+
- `observable.clone()` - deep clone of the observable's current value
|
|
36
|
+
- `observable.resolve()` - recursively extract plain values from observables and proxies
|
|
37
|
+
- `observable.trigger()` - force notification without changing the value
|
|
38
|
+
- `observable.reset()` - reset to the initial value (requires `{ reset: true }` option)
|
|
39
|
+
- `Observable.computed()` - derived observable that recalculates when dependencies change
|
|
40
|
+
- `Observable.object()` / `Observable.json()` / `Observable.init()` - per-property reactive proxy
|
|
41
|
+
- `Observable.array()` - reactive array with mutating methods (`push`, `pop`, `splice`, `swap`, `merge`, `at`, `count`, `removeItem`, `insertAfter`)
|
|
42
|
+
- `ObservableArray.where()` / `whereSome()` / `whereEvery()` - live reactive filtering
|
|
43
|
+
- `observable.format(type, options?)` - locale-aware value formatting (`currency`, `number`, `percent`, `date`, `time`, `datetime`, `relative`, `plural`, custom)
|
|
44
|
+
- `Observable.setLocale(locale)` - set the reactive locale for all `.format()` calls
|
|
45
|
+
- `Formatters` - extensible formatter registry for custom format types
|
|
46
|
+
- Convenience checkers: `isTruthy()`, `isFalsy()`, `isEmpty()`, `isNotEmpty()`, `isEqualTo()`, `isGreaterThan()`, `isBetween()`, `isStartingWith()`, `isIncludedIn()`, `isHaving()`, and more
|
|
47
|
+
- Convenience transformers: `toUpperCase()`, `toLower()`, `toTrimmed()`, `toLength()`, `toClamped()`, `toPercent()`, `toLiteral()`, `toProperty()`
|
|
48
|
+
|
|
49
|
+
#### NDElement
|
|
50
|
+
- `.nd` proxy on every HTML element - fluent API for events, lifecycle, DOM utilities
|
|
51
|
+
- Auto-generated event methods for all standard DOM events in 4 variants: `onClick`, `onPreventClick`, `onStopClick`, `onPreventStopClick`
|
|
52
|
+
- `.on(name, callback, options)` - generic event with `AbortController` auto-cleanup on unmount
|
|
53
|
+
- `.off(name, callback)` - remove a specific listener
|
|
54
|
+
- `.once(name, callback)` - one-time listener
|
|
55
|
+
- `.emit(name, detail?)` - dispatch a custom event
|
|
56
|
+
- `.attr(name, value)` / `.attrs(attrs)` - reactive attribute binding
|
|
57
|
+
- `.class(map)` / `.style(map)` - reactive class and style binding
|
|
58
|
+
- `.ref(target, name)` - store the native `HTMLElement` reference
|
|
59
|
+
- `.refSelf(target, name)` - store the `NDElement` instance reference
|
|
60
|
+
- `.with(methods)` - add methods to a single element instance (component encapsulation pattern)
|
|
61
|
+
- `NDElement.extend(methods)` - add methods to all NDElement instances globally
|
|
62
|
+
- `.ghostDom(element)` - inject a companion element alongside the returned element
|
|
63
|
+
- `.attach(methodName, hydrator)` - template binding for `useCache` / `useSingleton`
|
|
64
|
+
- `.mounted(callback)` / `.unmounted(callback)` / `.lifecycle({ mounted, unmounted })` - DOM lifecycle hooks
|
|
65
|
+
- `.beforeUnmount(id, asyncCallback)` - async callback before element removal (exit animations)
|
|
66
|
+
- `.destroyOnUnmount()` - automatically call `destroy()` on unmount
|
|
67
|
+
- `.destroy()` - abort internal `AbortController`, clear lifecycle observers
|
|
68
|
+
- `.transition(name)` / `.transitionIn(name)` / `.transitionOut(name)` / `.animate(name)` - CSS transition helpers
|
|
69
|
+
- `.openShadow(css?)` / `.closedShadow(css?)` - Shadow DOM encapsulation
|
|
70
|
+
- `.unmountChildren()` - unmount all child elements
|
|
71
|
+
|
|
72
|
+
#### Elements
|
|
73
|
+
- Wrapper functions for all standard HTML elements (`Div`, `Button`, `Input`, `Form`, `Table`, etc.)
|
|
74
|
+
- `Fragment` - one-time static content grouping via `DocumentFragment`
|
|
75
|
+
- `Anchor` / `NativeDocumentFragment` - dynamic DOM zone delimited by comment markers
|
|
76
|
+
- `ShowIf` / `HideIf` / `HideIfNot` - conditional rendering with optional caching
|
|
77
|
+
- `ShowWhen` - show when an observable matches a specific value
|
|
78
|
+
- `Switch` - binary content toggle
|
|
79
|
+
- `Match` - multi-state rendering with `.nd.add()` / `.nd.remove()` for dynamic states
|
|
80
|
+
- `When` - fluent builder for conditional rendering
|
|
81
|
+
- `ForEach` - keyed list rendering for arrays and objects, with index observable
|
|
82
|
+
- `ForEachArray` - high-performance array rendering with `TemplateCloner`
|
|
83
|
+
- `useCache($binder)` - template cloning with data binding (value, class, style, attr, attach)
|
|
84
|
+
- `useSingleton(view)` - singleton view with named updatable sections
|
|
85
|
+
- Full SVG element set (`SvgSvg`, `SvgCircle`, `SvgRect`, `SvgPath`, etc.) with reactive attributes
|
|
86
|
+
- `classPropertyAccumulator` / `cssPropertyAccumulator` - programmatic class and style builders
|
|
87
|
+
|
|
88
|
+
#### Router
|
|
89
|
+
- `Router.create({ name, mode }, callback)` - multi-mode router (history, hash, memory)
|
|
90
|
+
- Route parameters with validation via `RouteParamPatterns` (built-in: `id`, `uuid`, `slug`, `locale`, `token`, and more)
|
|
91
|
+
- Named routes, route groups with shared middleware and layout, catch-all `{*}`
|
|
92
|
+
- `Router.push()` / `Router.replace()` / `Router.redirectTo()` / `Router.back()` / `Router.forward()`
|
|
93
|
+
- `Link` component with named route resolution and active state
|
|
94
|
+
- Middleware system with `context` and `next()`
|
|
95
|
+
- Multiple named routers with `Router.get(name)` / `Router.routers`
|
|
96
|
+
|
|
97
|
+
#### Store
|
|
98
|
+
- `Store.create()` / `createResettable()` / `createPersistent()` / `createPersistentResettable()` / `createComposed()`
|
|
99
|
+
- `Store.group(name, fn)` - isolated namespace with full Store API
|
|
100
|
+
- `Store.use(name)` - two-way reactive follower
|
|
101
|
+
- `Store.follow(name)` - read-only reactive follower (throws on mutation)
|
|
102
|
+
- `Store.get(name)` - raw observable access
|
|
103
|
+
- `Store.has(name)` / `Store.delete(name)` / `Store.reset(name)`
|
|
104
|
+
|
|
105
|
+
#### Utilities
|
|
106
|
+
- `NativeFetch` - HTTP client with request/response interceptors, automatic JSON, query string, FormData support
|
|
107
|
+
- `Cache.once(fn)` / `Cache.singleton(fn)` / `Cache.memoize(fn)` - lazy init, eager singleton, key-based memoization
|
|
108
|
+
- Filter helpers: `equals`, `greaterThan`, `between`, `includes`, `startsWith`, `match`, `inArray`, `and`, `or`, `not`, `custom`, `dateEquals`, `dateBetween`, `timeBetween`, `dateTimeBetween`, and more
|
|
109
|
+
- `ArgTypes` + `.args()` + `withValidation()` - runtime argument validation (development only)
|
|
110
|
+
- `PluginsManager` - internal event bus for DevTools integration
|
|
111
|
+
- `MemoryManager` - `WeakRef`-based observable registry with `FinalizationRegistry` auto-cleanup
|
|
112
|
+
- `ShortcutManager` - global and context-scoped keyboard shortcuts with OS-aware display
|
|
113
|
+
- `I18nService` - locale management backed by `i18next`, with `tr()` translation helper and `npm run i18n:scan`
|
|
114
|
+
|
|
115
|
+
#### Components (50+)
|
|
116
|
+
- **Layout**: `HStack`, `VStack`, `Row`, `Col`, `AbsoluteStack`, `FixedStack`, `RelativeStack`, `Divider`, `Spacer`, `Splitter` + `SplitterPanel`
|
|
117
|
+
- **Navigation**: `BreadCrumb`, `Menu` + `MenuItem` + `MenuGroup` + `MenuLink` + `MenuDivider`, `Tabs`, `Pagination`, `Stepper` + `StepperStep`
|
|
118
|
+
- **Overlay**: `Modal`, `Popover`, `Dropdown` + `DropdownItem` + `DropdownGroup` + `DropdownTrigger`, `Tooltip`, `ContextMenu`
|
|
119
|
+
- **Feedback**: `Alert`, `Badge`, `Progress`, `Skeleton`, `Spinner`, `Toast`
|
|
120
|
+
- **Data**: `DataTable` + `Column` + `ColumnGroup`, `SimpleTable`, `Accordion` + `AccordionItem`, `List`
|
|
121
|
+
- **Interaction**: `Button`, `Switch`, `Slider`
|
|
122
|
+
- **Media**: `Avatar`, `AvatarGroup`, `Card`
|
|
123
|
+
- **Forms**: `FormControl`, `FieldCollection`, `StringField`, `EmailField`, `PasswordField`, `TelField`, `UrlField`, `HiddenField`, `NumberField`, `RangeField`, `TextAreaField`, `CheckboxField`, `CheckboxGroupField`, `RadioField`, `SelectField`, `AutocompleteField`, `DateField`, `TimeField`, `ColorField`, `SliderField`, `ImageField`, `FileField` (with `FileNativeMode`, `FileDropzoneMode`, `FileUploadButtonMode`, `FileWallMode`, `FileAvatarMode`)
|
|
124
|
+
- **Traits**: `HasEventEmitter`, `HasDraggable`, `HasResizable`, `HasItems`, `HasPosition`, `HasFullPosition`, `HasValidation`
|
|
125
|
+
|
|
126
|
+
#### CLI (`@native-document/cli`)
|
|
127
|
+
- `nd create <name>` - scaffold a complete project with Vite, routing, i18n, and store pre-configured
|
|
128
|
+
- `nd create <name> --feature` - feature-based architecture
|
|
129
|
+
- `nd create:page` / `create:component` / `create:service` / `create:feature` - generators
|
|
130
|
+
- `npm run i18n:scan` - scan source for missing translation keys
|
|
131
|
+
|
|
132
|
+
#### Build
|
|
133
|
+
- Rollup 4 multi-output: CDN IIFE (dev + minified), ESM for bundlers, DevTools bundle
|
|
134
|
+
- `process.env.NODE_ENV` replacement for tree-shaking all debug code in production
|
|
135
|
+
- TypeScript `.d.ts` definitions for all public APIs
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## How to Read This File
|
|
140
|
+
|
|
141
|
+
Entries use the following categories:
|
|
142
|
+
|
|
143
|
+
- **Added** - new features
|
|
144
|
+
- **Changed** - changes to existing functionality
|
|
145
|
+
- **Deprecated** - features that will be removed in a future release
|
|
146
|
+
- **Removed** - features removed in this release
|
|
147
|
+
- **Fixed** - bug fixes
|
|
148
|
+
- **Security** - vulnerability fixes
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
[Unreleased]: https://github.com/afrocodeur/native-document/compare/v1.0.166...HEAD
|
|
153
|
+
[1.0.166]: https://github.com/afrocodeur/native-document/releases/tag/v1.0.166
|
package/components.d.ts
ADDED
package/components.js
CHANGED
|
@@ -26,4 +26,5 @@ export * from './src/components/table/index';
|
|
|
26
26
|
export * from './src/components/tabs/index';
|
|
27
27
|
export * from './src/components/toast/index';
|
|
28
28
|
export * from './src/components/tooltip/index';
|
|
29
|
-
export * from './src/components/stacks/index';
|
|
29
|
+
export * from './src/components/stacks/index';
|
|
30
|
+
export * from './src/components/spacer/index';
|