native-document 1.0.168 → 1.0.172
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/CHANGELOG.md +99 -4
- package/components.js +3 -1
- package/dist/native-document.components.min.js +197 -171
- package/dist/native-document.dev.js +92 -75
- package/dist/native-document.dev.js.map +1 -1
- package/dist/native-document.min.js +1 -1
- package/docs/components/icons.md +321 -0
- package/docs/vitepress-conventions.md +2 -2
- package/package.json +11 -4
- package/src/components/BaseComponent.js +43 -1
- package/src/components/accordion/Accordion.js +1 -0
- package/src/components/accordion/AccordionItem.js +1 -0
- package/src/components/alert/Alert.js +4 -0
- package/src/components/avatar/Avatar.js +1 -0
- package/src/components/avatar/AvatarGroup.js +1 -0
- package/src/components/badge/Badge.js +1 -0
- package/src/components/breadcrumb/BreadCrumb.js +4 -0
- package/src/components/button/Button.js +1 -0
- package/src/components/card/Card.js +1 -0
- package/src/components/context-menu/ContextMenu.js +2 -0
- package/src/components/context-menu/ContextMenuGroup.js +2 -0
- package/src/components/context-menu/ContextMenuItem.js +2 -0
- package/src/components/divider/Divider.js +2 -0
- package/src/components/dropdown/Dropdown.js +1 -0
- package/src/components/dropdown/DropdownDivider.js +1 -0
- package/src/components/dropdown/DropdownGroup.js +1 -0
- package/src/components/dropdown/DropdownItem.js +1 -0
- package/src/components/dropdown/DropdownTrigger.js +1 -0
- package/src/components/form/FormControl.js +1 -0
- package/src/components/form/field/Field.js +1 -0
- package/src/components/form/field/types/FileField.js +3 -3
- package/src/components/form/field/types/StringField.js +1 -1
- package/src/components/icon/Icon.js +108 -0
- package/src/components/icon/icon-getters.js +142 -0
- package/src/components/icon/icons.js +171 -0
- package/src/components/icon/index.js +17 -0
- package/src/components/icon/types/Icon.d.ts +191 -0
- package/src/components/index.d.ts +6 -1
- package/src/components/list/ListItem.js +1 -0
- package/src/components/list/types/List.d.ts +45 -32
- package/src/components/list/types/ListDivider.ts +16 -0
- package/src/components/list/types/ListGroup.d.ts +51 -29
- package/src/components/list/types/ListItem.d.ts +20 -21
- package/src/components/menu/Menu.js +3 -0
- package/src/components/menu/MenuDivider.js +1 -0
- package/src/components/menu/MenuGroup.js +1 -0
- package/src/components/menu/MenuItem.js +1 -0
- package/src/components/menu/MenuLink.js +1 -0
- package/src/components/modal/Modal.js +4 -0
- package/src/components/pagination/Pagination.js +1 -0
- package/src/components/popover/Popover.js +1 -0
- package/src/components/popover/PopoverFooter.js +1 -0
- package/src/components/popover/PopoverHeader.js +1 -0
- package/src/components/progress/Progress.js +5 -0
- package/src/components/skeleton/Skeleton.js +4 -0
- package/src/components/slider/Slider.js +1 -0
- package/src/components/spacer/Spacer.js +1 -0
- package/src/components/spinner/Spinner.js +1 -0
- package/src/components/splitter/Splitter.js +1 -0
- package/src/components/splitter/SplitterGutter.js +6 -0
- package/src/components/splitter/SplitterPanel.js +1 -0
- package/src/components/stacks/AbsoluteStack.js +1 -0
- package/src/components/stacks/FixedStack.js +1 -0
- package/src/components/stacks/HStack.js +1 -0
- package/src/components/stacks/PositionStack.js +1 -0
- package/src/components/stacks/RelativeStack.js +1 -0
- package/src/components/stacks/Stack.js +1 -0
- package/src/components/stacks/VStack.js +1 -0
- package/src/components/stepper/Stepper.js +1 -0
- package/src/components/stepper/StepperStep.js +1 -0
- package/src/components/switch/Switch.js +1 -0
- package/src/components/table/DataTable.js +1 -0
- package/src/components/table/SimpleTable.js +1 -0
- package/src/components/tabs/Tabs.js +1 -0
- package/src/components/toast/Toast.js +1 -0
- package/src/components/tooltip/Tooltip.js +1 -0
- package/src/core/data/MemoryManager.js +6 -1
- package/src/core/data/ObservableItem.js +28 -10
- package/src/core/elements/anchor/anchor.js +4 -3
- package/src/core/elements/anchor/one-child-anchor-overwriting.js +4 -4
- package/src/core/elements/content-formatter.js +35 -2
- package/src/core/elements/control/for-each-array-cache.js +59 -0
- package/src/core/elements/control/for-each-array.js +15 -23
- package/src/core/elements/form.js +1 -1
- package/src/core/elements/img.js +1 -1
- package/src/core/elements/medias.js +2 -2
- package/src/core/elements/meta-data.js +1 -1
- package/src/core/wrappers/AttributesWrapper.js +44 -29
- package/src/core/wrappers/ElementCreator.js +38 -22
- package/src/core/wrappers/HtmlElementWrapper.js +33 -9
- package/src/core/wrappers/NDElement.js +35 -9
- package/src/core/wrappers/NdPrototype.js +31 -39
- package/src/core/wrappers/constants.js +12 -12
- package/src/core/wrappers/prototypes/attributes-extensions.js +24 -24
- package/src/core/wrappers/prototypes/nd-element-extensions.js +128 -65
- package/src/ui/components/accordion/AccordionItemRender.js +29 -7
- package/src/ui/components/alert/AlertRender.js +6 -0
- package/src/ui/components/breadcrumb/BreadcrumbRender.js +9 -1
- package/src/ui/components/button/ButtonRender.js +3 -0
- package/src/ui/components/contextmenu/ContextmenuRender.js +2 -0
- package/src/ui/components/dropdown/DropdownRender.js +3 -0
- package/src/ui/components/dropdown/item/DropdownItemRender.js +6 -1
- package/src/ui/components/form/FieldCollectionRender.js +4 -0
- package/src/ui/components/form/fields/CheckboxFieldRender.js +4 -0
- package/src/ui/components/form/fields/CheckboxGroupFieldRender.js +4 -0
- package/src/ui/components/form/fields/RadioFieldRender.js +4 -0
- package/src/ui/components/form/fields/RangeFieldRender.js +4 -0
- package/src/ui/components/form/fields/SelectFieldRender.js +5 -0
- package/src/ui/components/form/fields/SliderFieldRender.js +3 -0
- package/src/ui/components/icon/material/MaterialIconRender.js +71 -0
- package/src/ui/components/icon/material/material.css +15 -0
- package/src/ui/components/icon/material/material.map.js +170 -0
- package/src/ui/components/icon/phosphor/PhosphorIconRender.js +71 -0
- package/src/ui/components/icon/phosphor/phosphor.css +17 -0
- package/src/ui/components/icon/phosphor/phosphor.map.js +165 -0
- package/src/ui/components/icon/tabler/TablerIconRender.js +58 -0
- package/src/ui/components/icon/tabler/tabler.css +14 -0
- package/src/ui/components/icon/tabler/tabler.map.js +165 -0
- package/src/ui/components/list/item/ListItemRender.js +4 -0
- package/src/ui/components/menu/MenuItemRender.js +8 -0
- package/src/ui/components/menu/MenuLinkRender.js +11 -0
- package/src/ui/components/menu/MenuRender.js +5 -0
- package/src/ui/components/menu/helpers.js +2 -1
- package/src/ui/components/modal/ModalRender.js +8 -2
- package/src/ui/components/progress/ProgressRender.js +9 -0
- package/src/ui/components/skeleton/SkeletonRender.js +2 -0
- package/src/ui/components/spinner/SpinnerRender.js +3 -0
- package/src/ui/components/splitter/SplitterGutterRender.js +4 -0
- package/src/ui/components/splitter/SplitterPanelRender.js +4 -0
- package/src/ui/components/splitter/SplitterRender.js +2 -0
- package/src/ui/components/stepper/StepperRender.js +2 -1
- package/src/ui/components/stepper/StepperStepRender.js +8 -1
- package/src/ui/components/switch/SwitchRender.js +3 -0
- package/src/ui/components/table/data-table/DataTableRender.js +4 -0
- package/src/ui/components/table/simple-table/SimpleTableRender.js +2 -0
- package/src/ui/components/toast/ToastRender.js +4 -0
- package/src/ui/index.js +5 -0
- package/src/ui/utils/aria.js +19 -0
- package/tests/integration/ui/attributes-wrapper.test.js +177 -0
- package/tests/integration/ui/for-each-array.test.js +167 -0
- package/tests/integration/ui/lifecycle.test.js +146 -0
- package/tests/integration/ui/show-if.test.js +168 -0
- package/tests/unit/core/observable-array.test.js +404 -0
- package/tests/unit/core/observable-item.test.js +428 -0
- package/tests/unit/core/observable-object.test.js +239 -0
- package/tests/unit/core/observable-resource.test.js +323 -0
- package/tests/unit/core/store.test.js +347 -0
- package/tests/unit/router/route-matching.test.js +169 -0
- package/tests/unit/router/router-guards.test.js +189 -0
- package/tests/unit/utils/cache.test.js +120 -0
- package/tests/unit/utils/filters.test.js +394 -0
- package/types/elements.d.ts +5 -0
- package/vitest.config.js +15 -0
|
@@ -1,43 +1,56 @@
|
|
|
1
|
-
import type { ValidChild }
|
|
2
|
-
import type { ObservableItem } from '../../../../types/observable';
|
|
3
|
-
import type { BaseComponent } from '../../BaseComponent';
|
|
4
|
-
import type { ListItemInterface } from './ListItem';
|
|
1
|
+
import type { ValidChild } from '../../../../types/elements';
|
|
2
|
+
import type { ObservableItem, ObservableArray } from '../../../../types/observable';
|
|
5
3
|
import type { GlobalAttributes } from '../../../../types/globals';
|
|
4
|
+
import type { ListItemInterface } from './ListItem';
|
|
5
|
+
import type { ListGroupInterface } from './ListGroup';
|
|
6
|
+
import type { ListDividerInterface } from './ListDivider';
|
|
6
7
|
|
|
7
8
|
export type ListDescription = {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
export interface ListInterface
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
9
|
+
selectable: ObservableItem<boolean>;
|
|
10
|
+
multiSelect: ObservableItem<boolean>;
|
|
11
|
+
selectedValues: ObservableArray<unknown>;
|
|
12
|
+
inset: ObservableItem<number>;
|
|
13
|
+
divider: boolean;
|
|
14
|
+
items: ObservableArray<unknown>;
|
|
15
|
+
render: ((desc: ListDescription, instance: ListInterface) => ValidChild) | null;
|
|
16
|
+
selectByCheckbox: ObservableItem<boolean>;
|
|
17
|
+
selectByClick: ObservableItem<boolean>;
|
|
18
|
+
loopOnKeyboard: ObservableItem<boolean>;
|
|
19
|
+
props: GlobalAttributes;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export interface ListInterface {
|
|
23
|
+
$description: ListDescription;
|
|
24
|
+
|
|
25
|
+
// HasListItem
|
|
26
|
+
selectable(selectable?: boolean | ObservableItem<boolean>): this;
|
|
27
|
+
selectByClick(): this;
|
|
28
|
+
selectByCheckbox(): this;
|
|
29
|
+
multiSelect(multi?: boolean | ObservableItem<boolean>): this;
|
|
30
|
+
selectInto(list: ObservableArray<unknown> | unknown[]): this;
|
|
31
|
+
selectedValuesModel(observable: ObservableArray<unknown> | ObservableItem<unknown[]>): this;
|
|
32
|
+
loopOnKeyboard(loopOnKeyboard: boolean): this;
|
|
33
|
+
add(item: ListItemInterface | ListGroupInterface | ListDividerInterface): this;
|
|
34
|
+
item(label: ValidChild, iconOrBuilder?: ValidChild | ((item: ListItemInterface) => void), builder?: (item: ListItemInterface) => void): this;
|
|
35
|
+
group(label: ValidChild, iconOrBuilder?: ValidChild | ((group: ListGroupInterface) => void), builder?: (group: ListGroupInterface) => void): this;
|
|
36
|
+
divider(): this;
|
|
37
|
+
from(source: ObservableArray<unknown> | unknown[], builder: (item: unknown) => ListItemInterface | ListGroupInterface): this;
|
|
38
|
+
|
|
39
|
+
// Own methods
|
|
40
|
+
inset(inset?: number): this;
|
|
28
41
|
withDivider(divider?: boolean): this;
|
|
29
42
|
data(data: unknown): this;
|
|
30
43
|
onItemClick(handler: (item: ListItemInterface, event: MouseEvent) => void): this;
|
|
31
44
|
onItemSelect(handler: (item: ListItemInterface) => void): this;
|
|
32
|
-
render(template: (description: ListDescription, instance: ListInterface) => ValidChild): this;
|
|
33
|
-
}
|
|
34
45
|
|
|
46
|
+
// HasEventEmitter
|
|
47
|
+
on(event: string, handler: (...args: unknown[]) => void): this;
|
|
48
|
+
emit(event: string, ...args: unknown[]): void;
|
|
49
|
+
hasListeners(event: string): boolean;
|
|
50
|
+
}
|
|
35
51
|
|
|
36
|
-
export declare function List(
|
|
52
|
+
export declare function List(props?: GlobalAttributes): ListInterface;
|
|
37
53
|
export declare namespace List {
|
|
38
|
-
|
|
39
|
-
|
|
40
54
|
function use(template: (description: ListDescription, instance: ListInterface) => ValidChild): void;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
55
|
+
let defaultTemplate: ((description: ListDescription, instance: ListInterface) => ValidChild) | null;
|
|
56
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ValidChild } from '../../../../types/elements';
|
|
2
|
+
import type { GlobalAttributes } from '../../../../types/globals';
|
|
3
|
+
|
|
4
|
+
export type ListDividerDescription = {
|
|
5
|
+
props: GlobalAttributes;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export interface ListDividerInterface {
|
|
9
|
+
$description: ListDividerDescription;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export declare function ListDivider(props?: GlobalAttributes): ListDividerInterface;
|
|
13
|
+
export declare namespace ListDivider {
|
|
14
|
+
function use(template: (description: ListDividerDescription, instance: ListDividerInterface) => ValidChild): void;
|
|
15
|
+
let defaultTemplate: ((description: ListDividerDescription, instance: ListDividerInterface) => ValidChild) | null;
|
|
16
|
+
}
|
|
@@ -1,37 +1,59 @@
|
|
|
1
|
-
import type { ValidChild }
|
|
2
|
-
import type { ObservableItem } from '../../../../types/observable';
|
|
3
|
-
import type { BaseComponent } from '../../BaseComponent';
|
|
1
|
+
import type { ValidChild } from '../../../../types/elements';
|
|
2
|
+
import type { ObservableItem, ObservableArray } from '../../../../types/observable';
|
|
4
3
|
import type { GlobalAttributes } from '../../../../types/globals';
|
|
4
|
+
import type { ListItemInterface } from './ListItem';
|
|
5
|
+
import type { ListDividerInterface } from './ListDivider';
|
|
5
6
|
|
|
6
7
|
export type ListGroupDescription = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
8
|
+
label: ValidChild;
|
|
9
|
+
icon: ValidChild | null;
|
|
10
|
+
items: ObservableArray<unknown>;
|
|
11
|
+
render: ((desc: ListGroupDescription, instance: ListGroupInterface) => ValidChild) | null;
|
|
12
|
+
collapsable: boolean;
|
|
13
|
+
collapsed: ObservableItem<boolean> | null;
|
|
14
|
+
collapsableOpenedIcon: ValidChild | null;
|
|
15
|
+
collapsableClosedIcon: ValidChild | null;
|
|
16
|
+
visibility: ObservableItem<boolean>;
|
|
17
|
+
selectable: ObservableItem<boolean>;
|
|
18
|
+
multiSelect: ObservableItem<boolean>;
|
|
19
|
+
selectedValues: ObservableArray<unknown>;
|
|
20
|
+
selectByCheckbox: ObservableItem<boolean>;
|
|
21
|
+
selectByClick: ObservableItem<boolean>;
|
|
22
|
+
loopOnKeyboard: ObservableItem<boolean>;
|
|
23
|
+
props: GlobalAttributes;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export interface ListGroupInterface {
|
|
27
|
+
$description: ListGroupDescription;
|
|
28
|
+
|
|
29
|
+
// Own methods
|
|
30
|
+
icon(icon: ValidChild): this;
|
|
31
|
+
collapsable(mode?: boolean, openedIcon?: ValidChild, closedIcon?: ValidChild): this;
|
|
32
|
+
collapsed(mode?: boolean): this;
|
|
33
|
+
visibility(mode: boolean | ObservableItem<boolean>): this;
|
|
23
34
|
data(data: unknown): this;
|
|
24
|
-
renderHeader(renderFn: (desc: ListGroupDescription, instance: ListGroupInterface) => ValidChild): this;
|
|
25
|
-
renderFooter(renderFn: (desc: ListGroupDescription, instance: ListGroupInterface) => ValidChild): this;
|
|
26
|
-
render(renderFn: (desc: ListGroupDescription, instance: ListGroupInterface) => ValidChild): this;
|
|
27
|
-
}
|
|
28
35
|
|
|
36
|
+
// HasListItem
|
|
37
|
+
selectable(selectable?: boolean | ObservableItem<boolean>): this;
|
|
38
|
+
selectByClick(): this;
|
|
39
|
+
selectByCheckbox(): this;
|
|
40
|
+
multiSelect(multi?: boolean | ObservableItem<boolean>): this;
|
|
41
|
+
selectInto(list: ObservableArray<unknown> | unknown[]): this;
|
|
42
|
+
loopOnKeyboard(loopOnKeyboard: boolean): this;
|
|
43
|
+
add(item: ListItemInterface | ListGroupInterface | ListDividerInterface): this;
|
|
44
|
+
item(label: ValidChild, iconOrBuilder?: ValidChild | ((item: ListItemInterface) => void), builder?: (item: ListItemInterface) => void): this;
|
|
45
|
+
group(label: ValidChild, iconOrBuilder?: ValidChild | ((group: ListGroupInterface) => void), builder?: (group: ListGroupInterface) => void): this;
|
|
46
|
+
divider(): this;
|
|
47
|
+
from(source: ObservableArray<unknown> | unknown[], builder: (item: unknown) => ListItemInterface | ListGroupInterface): this;
|
|
48
|
+
|
|
49
|
+
// HasEventEmitter
|
|
50
|
+
on(event: string, handler: (...args: unknown[]) => void): this;
|
|
51
|
+
emit(event: string, ...args: unknown[]): void;
|
|
52
|
+
hasListeners(event: string): boolean;
|
|
53
|
+
}
|
|
29
54
|
|
|
30
|
-
export declare function ListGroup(label
|
|
55
|
+
export declare function ListGroup(label: ValidChild, props?: GlobalAttributes): ListGroupInterface;
|
|
31
56
|
export declare namespace ListGroup {
|
|
32
|
-
|
|
33
|
-
|
|
34
57
|
function use(template: (description: ListGroupDescription, instance: ListGroupInterface) => ValidChild): void;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
58
|
+
let defaultTemplate: ((description: ListGroupDescription, instance: ListGroupInterface) => ValidChild) | null;
|
|
59
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { ValidChild } from '../../../../types/elements';
|
|
2
|
+
import type { ObservableItem } from '../../../../types/observable';
|
|
3
|
+
import type { GlobalAttributes } from '../../../../types/globals';
|
|
4
4
|
|
|
5
|
-
export
|
|
5
|
+
export type ListItemDescription = {
|
|
6
6
|
label: ValidChild | null;
|
|
7
7
|
subtitle: ValidChild | null;
|
|
8
8
|
icon: ValidChild | null;
|
|
@@ -10,24 +10,19 @@ export interface ListItemDescription {
|
|
|
10
10
|
value: unknown;
|
|
11
11
|
data: unknown | null;
|
|
12
12
|
key: string | null;
|
|
13
|
-
disabled:
|
|
14
|
-
selected:
|
|
15
|
-
visibility:
|
|
13
|
+
disabled: ObservableItem<boolean> | null;
|
|
14
|
+
selected: ObservableItem<boolean> | null;
|
|
15
|
+
visibility: ObservableItem<boolean> | null;
|
|
16
16
|
isSelectedIcon: ValidChild | null;
|
|
17
17
|
swipeLeading: ValidChild[];
|
|
18
18
|
swipeTrailing: ValidChild[];
|
|
19
|
-
render: ((desc: ListItemDescription, instance:
|
|
19
|
+
render: ((desc: ListItemDescription, instance: ListItemInterface) => ValidChild) | null;
|
|
20
20
|
props: GlobalAttributes;
|
|
21
|
-
}
|
|
21
|
+
};
|
|
22
22
|
|
|
23
|
-
export
|
|
23
|
+
export interface ListItemInterface {
|
|
24
24
|
$description: ListItemDescription;
|
|
25
|
-
$parent:
|
|
26
|
-
|
|
27
|
-
constructor(props?: GlobalAttributes);
|
|
28
|
-
|
|
29
|
-
static use(template: (description: ListItemDescription, instance: ListItem) => ValidChild): void;
|
|
30
|
-
static defaultTemplate: ((description: ListItemDescription, instance: ListItem) => ValidChild) | null;
|
|
25
|
+
$parent: unknown;
|
|
31
26
|
|
|
32
27
|
label(label: ValidChild): this;
|
|
33
28
|
subtitle(subtitle: ValidChild): this;
|
|
@@ -36,13 +31,13 @@ export declare class ListItem {
|
|
|
36
31
|
value(value: unknown): this;
|
|
37
32
|
data(data: unknown): this;
|
|
38
33
|
key(key: string): this;
|
|
39
|
-
disabled(disabled?: boolean |
|
|
40
|
-
selected(selected?: boolean |
|
|
41
|
-
visibility(mode: boolean |
|
|
34
|
+
disabled(disabled?: boolean | ObservableItem<boolean>): this;
|
|
35
|
+
selected(selected?: boolean | ObservableItem<boolean>): this;
|
|
36
|
+
visibility(mode: boolean | ObservableItem<boolean>): this;
|
|
42
37
|
isSelectedIcon(icon: ValidChild): this;
|
|
43
38
|
swipeLeading(actions: ValidChild | ValidChild[]): this;
|
|
44
39
|
swipeTrailing(actions: ValidChild | ValidChild[]): this;
|
|
45
|
-
onClick(handler: (item:
|
|
40
|
+
onClick(handler: (item: ListItemInterface, event: MouseEvent) => void): this;
|
|
46
41
|
|
|
47
42
|
// HasEventEmitter
|
|
48
43
|
on(event: string, handler: (...args: unknown[]) => void): this;
|
|
@@ -50,4 +45,8 @@ export declare class ListItem {
|
|
|
50
45
|
hasListeners(event: string): boolean;
|
|
51
46
|
}
|
|
52
47
|
|
|
53
|
-
export declare function ListItem(props?: GlobalAttributes):
|
|
48
|
+
export declare function ListItem(props?: GlobalAttributes): ListItemInterface;
|
|
49
|
+
export declare namespace ListItem {
|
|
50
|
+
function use(template: (description: ListItemDescription, instance: ListItemInterface) => ValidChild): void;
|
|
51
|
+
let defaultTemplate: ((description: ListItemDescription, instance: ListItemInterface) => ValidChild) | null;
|
|
52
|
+
}
|
|
@@ -33,6 +33,10 @@ export default function SplitterGutter(leftPanel, rightPanel, props = {}) {
|
|
|
33
33
|
isDragging: $(false),
|
|
34
34
|
props,
|
|
35
35
|
};
|
|
36
|
+
this.aria = {
|
|
37
|
+
'role': 'separator',
|
|
38
|
+
'aria-orientation': 'horizontal',
|
|
39
|
+
};
|
|
36
40
|
}
|
|
37
41
|
|
|
38
42
|
BaseComponent.extends(SplitterGutter);
|
|
@@ -62,6 +66,7 @@ SplitterGutter.use = function(template) {
|
|
|
62
66
|
SplitterGutter.prototype.vertical = function() {
|
|
63
67
|
this.$description.orientation = 'vertical';
|
|
64
68
|
this.$description.cursor = 'row-resize';
|
|
69
|
+
this.aria['aria-orientation'] = 'vertical';
|
|
65
70
|
return this;
|
|
66
71
|
};
|
|
67
72
|
|
|
@@ -71,6 +76,7 @@ SplitterGutter.prototype.vertical = function() {
|
|
|
71
76
|
SplitterGutter.prototype.horizontal = function() {
|
|
72
77
|
this.$description.orientation = 'horizontal';
|
|
73
78
|
this.$description.cursor = 'col-resize';
|
|
79
|
+
this.aria['aria-orientation'] = 'horizontal';
|
|
74
80
|
return this;
|
|
75
81
|
};
|
|
76
82
|
|
|
@@ -23,7 +23,12 @@ const MemoryManager = (function() {
|
|
|
23
23
|
$observables.delete(id);
|
|
24
24
|
},
|
|
25
25
|
getObservableById(id) {
|
|
26
|
-
|
|
26
|
+
const observable = $observables.get(id);
|
|
27
|
+
if(!observable) {
|
|
28
|
+
$observables.delete(id);
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return observable.deref();
|
|
27
32
|
},
|
|
28
33
|
cleanup() {
|
|
29
34
|
for (const [_, weakObservableRef] of $observables) {
|