cx 26.0.11 → 26.0.13
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/build/charts/ScatterGraph.d.ts +4 -4
- package/build/charts/ScatterGraph.js +2 -2
- package/build/data/ArrayElementView.spec.d.ts +1 -0
- package/build/data/ArrayElementView.spec.js +81 -0
- package/build/data/Binding.spec.d.ts +1 -0
- package/build/data/Binding.spec.js +61 -0
- package/build/data/Expression.spec.d.ts +1 -0
- package/build/data/Expression.spec.js +196 -0
- package/build/data/Grouper.spec.d.ts +1 -0
- package/build/data/Grouper.spec.js +48 -0
- package/build/data/Ref.spec.d.ts +1 -0
- package/build/data/Ref.spec.js +72 -0
- package/build/data/Selector.d.ts +1 -1
- package/build/data/Store.spec.d.ts +1 -0
- package/build/data/Store.spec.js +19 -0
- package/build/data/StoreRef.spec.d.ts +1 -0
- package/build/data/StoreRef.spec.js +22 -0
- package/build/data/StringTemplate.spec.d.ts +1 -0
- package/build/data/StringTemplate.spec.js +112 -0
- package/build/data/StructuredSelector.spec.d.ts +1 -0
- package/build/data/StructuredSelector.spec.js +102 -0
- package/build/data/View.spec.d.ts +1 -0
- package/build/data/View.spec.js +44 -0
- package/build/data/ZoomIntoPropertyView.spec.d.ts +1 -0
- package/build/data/ZoomIntoPropertyView.spec.js +54 -0
- package/build/data/comparer.spec.d.ts +1 -0
- package/build/data/comparer.spec.js +50 -0
- package/build/data/computable.d.ts +3 -6
- package/build/data/computable.spec.d.ts +1 -0
- package/build/data/computable.spec.js +56 -0
- package/build/data/createAccessorModelProxy.d.ts +5 -3
- package/build/data/createAccessorModelProxy.spec.d.ts +1 -0
- package/build/data/createAccessorModelProxy.spec.js +30 -0
- package/build/data/createStructuredSelector.spec.d.ts +1 -0
- package/build/data/createStructuredSelector.spec.js +42 -0
- package/build/data/diff/diffs.spec.d.ts +1 -0
- package/build/data/diff/diffs.spec.js +45 -0
- package/build/data/getAccessor.spec.d.ts +1 -0
- package/build/data/getAccessor.spec.js +10 -0
- package/build/data/getSelector.spec.d.ts +1 -0
- package/build/data/getSelector.spec.js +36 -0
- package/build/data/ops/append.spec.d.ts +1 -0
- package/build/data/ops/append.spec.js +24 -0
- package/build/data/ops/filter.spec.d.ts +1 -0
- package/build/data/ops/filter.spec.js +25 -0
- package/build/data/ops/findTreeNode.d.ts +1 -1
- package/build/data/ops/findTreeNode.js +1 -1
- package/build/data/ops/findTreeNode.spec.d.ts +1 -0
- package/build/data/ops/findTreeNode.spec.js +20 -0
- package/build/data/ops/findTreePath.d.ts +1 -1
- package/build/data/ops/merge.spec.d.ts +1 -0
- package/build/data/ops/merge.spec.js +23 -0
- package/build/data/ops/removeTreeNodes.d.ts +1 -1
- package/build/data/ops/removeTreeNodes.js +1 -1
- package/build/data/ops/removeTreeNodes.spec.d.ts +1 -0
- package/build/data/ops/removeTreeNodes.spec.js +35 -0
- package/build/data/ops/updateArray.spec.d.ts +1 -0
- package/build/data/ops/updateArray.spec.js +33 -0
- package/build/data/ops/updateTree.d.ts +1 -1
- package/build/data/ops/updateTree.spec.d.ts +1 -0
- package/build/data/ops/updateTree.spec.js +44 -0
- package/build/hooks/invokeCallback.spec.d.ts +1 -0
- package/build/hooks/invokeCallback.spec.js +44 -0
- package/build/hooks/resolveCallback.spec.d.ts +1 -0
- package/build/hooks/resolveCallback.spec.js +35 -0
- package/build/hooks/store.spec.d.ts +1 -0
- package/build/hooks/store.spec.js +48 -0
- package/build/hooks/useTrigger.spec.d.ts +1 -0
- package/build/hooks/useTrigger.spec.js +59 -0
- package/build/jsx-runtime.d.ts +10 -10
- package/build/jsx-runtime.js +6 -0
- package/build/svg/util/Rect.d.ts +1 -1
- package/build/ui/ContentResolver.d.ts +16 -6
- package/build/ui/Controller.d.ts +7 -0
- package/build/ui/Controller.js +2 -1
- package/build/ui/Controller.spec.d.ts +1 -0
- package/build/ui/Controller.spec.js +247 -0
- package/build/ui/Cx.spec.d.ts +1 -0
- package/build/ui/Cx.spec.js +153 -0
- package/build/ui/DataProxy.spec.d.ts +1 -0
- package/build/ui/DataProxy.spec.js +208 -0
- package/build/ui/Instance.d.ts +1 -1
- package/build/ui/Instance.js +10 -10
- package/build/ui/IsolatedScope.spec.d.ts +1 -0
- package/build/ui/IsolatedScope.spec.js +42 -0
- package/build/ui/Prop.d.ts +12 -1
- package/build/ui/PureContainer.spec.d.ts +1 -0
- package/build/ui/PureContainer.spec.js +149 -0
- package/build/ui/Repeater.d.ts +3 -3
- package/build/ui/Repeater.spec.d.ts +1 -0
- package/build/ui/Repeater.spec.js +109 -0
- package/build/ui/Rescope.spec.d.ts +1 -0
- package/build/ui/Rescope.spec.js +134 -0
- package/build/ui/Restate.spec.d.ts +1 -0
- package/build/ui/Restate.spec.js +257 -0
- package/build/ui/Text.d.ts +14 -2
- package/build/ui/Text.js +3 -0
- package/build/ui/adapter/ArrayAdapter.js +4 -1
- package/build/ui/adapter/ArrayAdapter.spec.d.ts +1 -0
- package/build/ui/adapter/ArrayAdapter.spec.js +44 -0
- package/build/ui/adapter/TreeAdapter.spec.d.ts +1 -0
- package/build/ui/adapter/TreeAdapter.spec.js +71 -0
- package/build/ui/app/Url.spec.d.ts +1 -0
- package/build/ui/app/Url.spec.js +43 -0
- package/build/ui/app/startHotAppLoop.js +1 -1
- package/build/ui/createFunctionalComponent.d.ts +14 -1
- package/build/ui/createFunctionalComponent.js +7 -4
- package/build/ui/createFunctionalComponent.spec.d.ts +1 -0
- package/build/ui/createFunctionalComponent.spec.js +272 -0
- package/build/ui/expr.d.ts +3 -1
- package/build/ui/exprHelpers.d.ts +32 -0
- package/build/ui/exprHelpers.js +61 -0
- package/build/ui/index.d.ts +1 -0
- package/build/ui/index.js +1 -0
- package/build/ui/layout/ContentPlaceholder.spec.d.ts +1 -0
- package/build/ui/layout/ContentPlaceholder.spec.js +333 -0
- package/build/ui/layout/FirstVisibleChildLayout.spec.d.ts +1 -0
- package/build/ui/layout/FirstVisibleChildLayout.spec.js +101 -0
- package/build/ui/selection/KeySelection.d.ts +0 -8
- package/build/ui/selection/Selection.d.ts +9 -3
- package/build/util/Console.d.ts +1 -0
- package/build/util/Console.js +7 -3
- package/build/util/Format.spec.d.ts +1 -0
- package/build/util/Format.spec.js +58 -0
- package/build/util/TraversalStack.spec.d.ts +1 -0
- package/build/util/TraversalStack.spec.js +43 -0
- package/build/util/date/upperBoundCheck.spec.d.ts +1 -0
- package/build/util/date/upperBoundCheck.spec.js +22 -0
- package/build/util/getSearchQueryPredicate.spec.d.ts +1 -0
- package/build/util/getSearchQueryPredicate.spec.js +33 -0
- package/build/util/isValidIdentifierName.spec.d.ts +1 -0
- package/build/util/isValidIdentifierName.spec.js +28 -0
- package/build/util/routeAppend.spec.d.ts +1 -0
- package/build/util/routeAppend.spec.js +14 -0
- package/build/widgets/AccessorBindings.spec.d.ts +1 -0
- package/build/widgets/AccessorBindings.spec.js +40 -0
- package/build/widgets/Button.d.ts +3 -6
- package/build/widgets/Button.js +1 -1
- package/build/widgets/DocumentTitle.d.ts +2 -0
- package/build/widgets/Heading.d.ts +2 -2
- package/build/widgets/HtmlElement.d.ts +33 -8
- package/build/widgets/HtmlElement.js +7 -9
- package/build/widgets/HtmlElement.spec.d.ts +1 -0
- package/build/widgets/HtmlElement.spec.js +38 -0
- package/build/widgets/Icon.d.ts +3 -13
- package/build/widgets/List.d.ts +4 -0
- package/build/widgets/ReactElementWrapper.d.ts +29 -0
- package/build/widgets/ReactElementWrapper.js +59 -0
- package/build/widgets/drag-drop/DragSource.d.ts +3 -3
- package/build/widgets/drag-drop/DragSource.js +2 -3
- package/build/widgets/drag-drop/DropZone.d.ts +3 -3
- package/build/widgets/drag-drop/DropZone.js +2 -3
- package/build/widgets/form/Checkbox.d.ts +2 -0
- package/build/widgets/form/ColorField.d.ts +2 -0
- package/build/widgets/form/DateTimeField.d.ts +2 -0
- package/build/widgets/form/Field.d.ts +0 -2
- package/build/widgets/form/LabeledContainer.d.ts +9 -8
- package/build/widgets/form/LabeledContainer.js +9 -9
- package/build/widgets/form/LookupField.d.ts +57 -9
- package/build/widgets/form/MonthField.d.ts +2 -0
- package/build/widgets/form/NumberField.d.ts +2 -0
- package/build/widgets/form/Radio.d.ts +2 -0
- package/build/widgets/form/Select.d.ts +2 -0
- package/build/widgets/form/Slider.d.ts +3 -0
- package/build/widgets/form/Switch.d.ts +2 -0
- package/build/widgets/form/TextField.d.ts +34 -0
- package/build/widgets/form/TimeList.d.ts +16 -1
- package/build/widgets/form/TimeList.js +34 -62
- package/build/widgets/form/UploadButton.d.ts +34 -2
- package/build/widgets/form/UploadButton.js +3 -1
- package/build/widgets/form/ValidationGroup.spec.d.ts +1 -0
- package/build/widgets/form/ValidationGroup.spec.js +62 -0
- package/build/widgets/form/Validator.d.ts +33 -2
- package/build/widgets/form/Validator.js +3 -0
- package/build/widgets/grid/Grid.d.ts +9 -9
- package/build/widgets/grid/TreeNode.d.ts +6 -0
- package/build/widgets/index.d.ts +1 -0
- package/build/widgets/index.js +1 -0
- package/build/widgets/nav/MenuItem.d.ts +3 -2
- package/build/widgets/nav/Route.spec.d.ts +1 -0
- package/build/widgets/nav/Route.spec.js +15 -0
- package/build/widgets/nav/Scroller.d.ts +4 -6
- package/build/widgets/nav/Scroller.js +6 -3
- package/build/widgets/nav/Tab.d.ts +2 -2
- package/build/widgets/overlay/ContextMenu.d.ts +3 -3
- package/build/widgets/overlay/Overlay.d.ts +2 -1
- package/build/widgets/overlay/Overlay.js +1 -1
- package/build.js +133 -133
- package/dist/data.js +2 -2
- package/dist/jsx-runtime.js +6 -1
- package/dist/manifest.d.ts +1443 -0
- package/dist/manifest.js +852 -804
- package/dist/ui.js +91 -5
- package/dist/util.js +3 -0
- package/dist/widgets.js +520 -161
- package/package.json +46 -20
- package/src/charts/Chart.ts +108 -108
- package/src/charts/ScatterGraph.tsx +6 -6
- package/src/data/ArrayElementView.ts +90 -90
- package/src/data/AugmentedViewBase.ts +88 -88
- package/src/data/Binding.ts +104 -104
- package/src/data/ExposedRecordView.ts +95 -95
- package/src/data/ExposedValueView.ts +89 -89
- package/src/data/Expression.spec.ts +229 -229
- package/src/data/Expression.ts +233 -233
- package/src/data/Grouper.spec.ts +57 -57
- package/src/data/Grouper.ts +158 -158
- package/src/data/NestedDataView.ts +43 -43
- package/src/data/ReadOnlyDataView.ts +39 -39
- package/src/data/Ref.ts +104 -104
- package/src/data/Selector.ts +10 -10
- package/src/data/Store.ts +52 -52
- package/src/data/StoreProxy.ts +19 -19
- package/src/data/StoreRef.ts +66 -66
- package/src/data/StringTemplate.spec.ts +132 -132
- package/src/data/StringTemplate.ts +93 -93
- package/src/data/StructuredSelector.spec.ts +113 -113
- package/src/data/StructuredSelector.ts +146 -146
- package/src/data/SubscribableView.ts +63 -63
- package/src/data/ZoomIntoPropertyView.spec.ts +64 -64
- package/src/data/ZoomIntoPropertyView.ts +45 -45
- package/src/data/computable.spec.ts +87 -62
- package/src/data/computable.ts +3 -6
- package/src/data/createAccessorModelProxy.spec.tsx +102 -1
- package/src/data/createAccessorModelProxy.ts +9 -3
- package/src/data/createStructuredSelector.ts +62 -62
- package/src/data/getAccessor.spec.ts +11 -11
- package/src/data/getAccessor.ts +74 -74
- package/src/data/getSelector.spec.ts +43 -43
- package/src/data/getSelector.ts +66 -66
- package/src/data/ops/filter.spec.ts +35 -35
- package/src/data/ops/filter.ts +9 -9
- package/src/data/ops/findTreeNode.ts +1 -5
- package/src/data/ops/findTreePath.ts +1 -1
- package/src/data/ops/merge.ts +13 -13
- package/src/data/ops/removeTreeNodes.spec.ts +37 -37
- package/src/data/ops/removeTreeNodes.ts +2 -2
- package/src/data/ops/updateArray.spec.ts +69 -69
- package/src/data/ops/updateArray.ts +31 -31
- package/src/data/ops/updateTree.ts +1 -1
- package/src/data/test-types.ts +7 -7
- package/src/hooks/resolveCallback.spec.tsx +30 -7
- package/src/hooks/useTrigger.ts +26 -26
- package/src/index.scss +6 -6
- package/src/jsx-dev-runtime.ts +4 -4
- package/src/jsx-runtime.spec.tsx +402 -0
- package/src/jsx-runtime.ts +26 -22
- package/src/svg/BoundedObject.ts +101 -101
- package/src/svg/util/Rect.ts +105 -105
- package/src/ui/CSSHelper.ts +17 -17
- package/src/ui/ContentResolver.spec.tsx +172 -19
- package/src/ui/ContentResolver.ts +16 -8
- package/src/ui/Controller.ts +15 -2
- package/src/ui/Culture.ts +159 -159
- package/src/ui/DataProxy.ts +55 -55
- package/src/ui/FocusManager.ts +171 -171
- package/src/ui/Instance.ts +866 -868
- package/src/ui/Prop.ts +140 -112
- package/src/ui/RenderingContext.ts +99 -99
- package/src/ui/Repeater.ts +3 -12
- package/src/ui/Rescope.ts +49 -49
- package/src/ui/StructuredInstanceDataAccessor.ts +32 -32
- package/src/ui/Text.ts +21 -2
- package/src/ui/VDOM.ts +34 -34
- package/src/ui/adapter/ArrayAdapter.spec.ts +55 -55
- package/src/ui/adapter/ArrayAdapter.ts +4 -1
- package/src/ui/adapter/TreeAdapter.spec.ts +76 -76
- package/src/ui/adapter/TreeAdapter.ts +185 -185
- package/src/ui/app/History.ts +133 -133
- package/src/ui/app/Url.spec.ts +50 -50
- package/src/ui/app/startHotAppLoop.ts +41 -41
- package/src/ui/createFunctionalComponent.spec.tsx +53 -0
- package/src/ui/createFunctionalComponent.ts +86 -65
- package/src/ui/expr.ts +4 -1
- package/src/ui/exprHelpers.spec.ts +379 -0
- package/src/ui/exprHelpers.ts +78 -0
- package/src/ui/index.ts +47 -46
- package/src/ui/layout/Content.ts +30 -30
- package/src/ui/layout/FirstVisibleChildLayout.spec.tsx +1 -1
- package/src/ui/layout/FirstVisibleChildLayout.ts +60 -60
- package/src/ui/selection/KeySelection.ts +0 -12
- package/src/ui/selection/PropertySelection.ts +87 -87
- package/src/ui/selection/Selection.ts +13 -3
- package/src/util/Console.ts +13 -11
- package/src/util/Format.ts +267 -267
- package/src/util/addEventListenerWithOptions.ts +41 -41
- package/src/util/browserSupportsPassiveEventHandlers.ts +20 -20
- package/src/util/color/rgbToHsl.ts +35 -35
- package/src/util/getActiveElement.ts +4 -4
- package/src/util/hasKey.ts +18 -18
- package/src/util/index.ts +55 -55
- package/src/util/innerTextTrim.ts +10 -10
- package/src/util/isArray.ts +3 -3
- package/src/util/isDataRecord.ts +5 -5
- package/src/util/isDefined.ts +3 -3
- package/src/util/isString.ts +3 -3
- package/src/widgets/AccessorBindings.spec.tsx +26 -0
- package/src/widgets/Button.tsx +5 -17
- package/src/widgets/DocumentTitle.ts +95 -92
- package/src/widgets/Heading.ts +2 -2
- package/src/widgets/HtmlElement.spec.helpers.tsx +108 -0
- package/src/widgets/HtmlElement.spec.tsx +20 -12
- package/src/widgets/HtmlElement.tsx +82 -24
- package/src/widgets/Icon.ts +3 -17
- package/src/widgets/List.tsx +6 -0
- package/src/widgets/ReactElementWrapper.spec.tsx +452 -0
- package/src/widgets/ReactElementWrapper.tsx +108 -0
- package/src/widgets/Sandbox.ts +103 -103
- package/src/widgets/autoFocus.ts +9 -9
- package/src/widgets/cx.ts +63 -63
- package/src/widgets/drag-drop/DragSource.tsx +3 -4
- package/src/widgets/drag-drop/DropZone.tsx +3 -4
- package/src/widgets/form/Checkbox.tsx +3 -0
- package/src/widgets/form/ColorField.tsx +3 -0
- package/src/widgets/form/DateTimeField.tsx +5 -0
- package/src/widgets/form/Field.tsx +0 -3
- package/src/widgets/form/Label.tsx +1 -0
- package/src/widgets/form/LabeledContainer.ts +22 -26
- package/src/widgets/form/LookupField.spec.tsx +93 -0
- package/src/widgets/form/LookupField.tsx +104 -9
- package/src/widgets/form/MonthField.tsx +5 -0
- package/src/widgets/form/NumberField.tsx +3 -0
- package/src/widgets/form/Radio.tsx +5 -0
- package/src/widgets/form/Select.tsx +5 -0
- package/src/widgets/form/Slider.tsx +4 -0
- package/src/widgets/form/Switch.tsx +3 -0
- package/src/widgets/form/TextField.tsx +62 -0
- package/src/widgets/form/TimeList.tsx +84 -73
- package/src/widgets/form/UploadButton.tsx +53 -2
- package/src/widgets/form/Validator.ts +40 -3
- package/src/widgets/grid/Grid.tsx +9 -12
- package/src/widgets/grid/GridCell.ts +143 -143
- package/src/widgets/grid/TreeNode.tsx +9 -0
- package/src/widgets/icons/calendar.tsx +17 -17
- package/src/widgets/icons/check.tsx +13 -13
- package/src/widgets/icons/clear.tsx +15 -15
- package/src/widgets/icons/close.tsx +20 -20
- package/src/widgets/icons/cx.tsx +38 -38
- package/src/widgets/icons/drop-down.tsx +15 -15
- package/src/widgets/icons/file.tsx +13 -13
- package/src/widgets/icons/folder-open.tsx +15 -15
- package/src/widgets/icons/folder.tsx +13 -13
- package/src/widgets/icons/forward.tsx +22 -22
- package/src/widgets/icons/loading.tsx +24 -24
- package/src/widgets/icons/menu.tsx +17 -17
- package/src/widgets/icons/pixel-picker.tsx +18 -18
- package/src/widgets/icons/search.tsx +13 -13
- package/src/widgets/icons/sort-asc.tsx +14 -14
- package/src/widgets/icons/square.tsx +18 -18
- package/src/widgets/index.ts +1 -0
- package/src/widgets/nav/MenuItem.tsx +3 -2
- package/src/widgets/nav/Route.ts +142 -142
- package/src/widgets/nav/Scroller.tsx +8 -9
- package/src/widgets/nav/Tab.ts +2 -2
- package/src/widgets/overlay/ContextMenu.ts +42 -42
- package/src/widgets/overlay/Dropdown.tsx +762 -762
- package/src/widgets/overlay/MsgBox.tsx +141 -141
- package/src/widgets/overlay/Overlay.tsx +5 -4
- package/src/widgets/overlay/Toast.ts +111 -111
- package/src/widgets/overlay/Window.tsx +299 -299
- package/src/widgets/overlay/alerts.ts +46 -46
- package/src/widgets/overlay/captureMouse.ts +195 -195
- package/src/widgets/overlay/createHotPromiseWindowFactory.ts +72 -72
- package/src/widgets/overlay/index.d.ts +11 -11
- package/src/widgets/overlay/index.ts +11 -11
- package/src/widgets/overlay/tooltip-ops.ts +173 -173
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
import {
|
|
2
|
+
truthy,
|
|
3
|
+
falsy,
|
|
4
|
+
isTrue,
|
|
5
|
+
isFalse,
|
|
6
|
+
hasValue,
|
|
7
|
+
isEmpty,
|
|
8
|
+
isNonEmpty,
|
|
9
|
+
lessThan,
|
|
10
|
+
lessThanOrEqual,
|
|
11
|
+
greaterThan,
|
|
12
|
+
greaterThanOrEqual,
|
|
13
|
+
equal,
|
|
14
|
+
notEqual,
|
|
15
|
+
strictEqual,
|
|
16
|
+
strictNotEqual,
|
|
17
|
+
} from "./exprHelpers";
|
|
18
|
+
import assert from "assert";
|
|
19
|
+
import { createAccessorModelProxy } from "../data/createAccessorModelProxy";
|
|
20
|
+
|
|
21
|
+
interface Model {
|
|
22
|
+
value: number;
|
|
23
|
+
name: string;
|
|
24
|
+
flag: boolean;
|
|
25
|
+
nullable: string | null | undefined;
|
|
26
|
+
items: string[];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
describe("exprHelpers", function () {
|
|
30
|
+
const m = createAccessorModelProxy<Model>();
|
|
31
|
+
|
|
32
|
+
describe("truthy", function () {
|
|
33
|
+
it("returns true for truthy values", function () {
|
|
34
|
+
const selector = truthy(m.value);
|
|
35
|
+
assert.strictEqual(selector({ value: 1 }), true);
|
|
36
|
+
assert.strictEqual(selector({ value: 100 }), true);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it("returns false for falsy values", function () {
|
|
40
|
+
const selector = truthy(m.value);
|
|
41
|
+
assert.strictEqual(selector({ value: 0 }), false);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it("returns true for non-empty strings", function () {
|
|
45
|
+
const selector = truthy(m.name);
|
|
46
|
+
assert.strictEqual(selector({ name: "hello" }), true);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it("returns false for empty strings", function () {
|
|
50
|
+
const selector = truthy(m.name);
|
|
51
|
+
assert.strictEqual(selector({ name: "" }), false);
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it("returns false for null", function () {
|
|
55
|
+
const selector = truthy(m.nullable);
|
|
56
|
+
assert.strictEqual(selector({ nullable: null }), false);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
describe("falsy", function () {
|
|
61
|
+
it("returns false for truthy values", function () {
|
|
62
|
+
const selector = falsy(m.flag);
|
|
63
|
+
assert.strictEqual(selector({ flag: true }), false);
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
it("returns true for falsy values", function () {
|
|
67
|
+
const selector = falsy(m.flag);
|
|
68
|
+
assert.strictEqual(selector({ flag: false }), true);
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
it("returns true for null", function () {
|
|
72
|
+
const selector = falsy(m.nullable);
|
|
73
|
+
assert.strictEqual(selector({ nullable: null }), true);
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
it("returns true for zero", function () {
|
|
77
|
+
const selector = falsy(m.value);
|
|
78
|
+
assert.strictEqual(selector({ value: 0 }), true);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
it("returns true for empty string", function () {
|
|
82
|
+
const selector = falsy(m.name);
|
|
83
|
+
assert.strictEqual(selector({ name: "" }), true);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
describe("isTrue", function () {
|
|
88
|
+
it("returns true only for strictly true", function () {
|
|
89
|
+
const selector = isTrue(m.flag);
|
|
90
|
+
assert.strictEqual(selector({ flag: true }), true);
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
it("returns false for truthy values that are not true", function () {
|
|
94
|
+
const selector = isTrue(m.value);
|
|
95
|
+
assert.strictEqual(selector({ value: 1 }), false);
|
|
96
|
+
assert.strictEqual(selector({ value: "true" }), false);
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
it("returns false for false", function () {
|
|
100
|
+
const selector = isTrue(m.flag);
|
|
101
|
+
assert.strictEqual(selector({ flag: false }), false);
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
describe("isFalse", function () {
|
|
106
|
+
it("returns true only for strictly false", function () {
|
|
107
|
+
const selector = isFalse(m.flag);
|
|
108
|
+
assert.strictEqual(selector({ flag: false }), true);
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
it("returns false for falsy values that are not false", function () {
|
|
112
|
+
const selector = isFalse(m.value);
|
|
113
|
+
assert.strictEqual(selector({ value: 0 }), false);
|
|
114
|
+
assert.strictEqual(selector({ value: null }), false);
|
|
115
|
+
assert.strictEqual(selector({ value: "" }), false);
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
it("returns false for true", function () {
|
|
119
|
+
const selector = isFalse(m.flag);
|
|
120
|
+
assert.strictEqual(selector({ flag: true }), false);
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
describe("hasValue", function () {
|
|
125
|
+
it("returns true for defined values", function () {
|
|
126
|
+
const selector = hasValue(m.value);
|
|
127
|
+
assert.strictEqual(selector({ value: 0 }), true);
|
|
128
|
+
assert.strictEqual(selector({ value: 1 }), true);
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
it("returns true for empty string", function () {
|
|
132
|
+
const selector = hasValue(m.name);
|
|
133
|
+
assert.strictEqual(selector({ name: "" }), true);
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
it("returns true for false", function () {
|
|
137
|
+
const selector = hasValue(m.flag);
|
|
138
|
+
assert.strictEqual(selector({ flag: false }), true);
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
it("returns false for null", function () {
|
|
142
|
+
const selector = hasValue(m.nullable);
|
|
143
|
+
assert.strictEqual(selector({ nullable: null }), false);
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
it("returns false for undefined", function () {
|
|
147
|
+
const selector = hasValue(m.nullable);
|
|
148
|
+
assert.strictEqual(selector({ nullable: undefined }), false);
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
describe("isEmpty", function () {
|
|
153
|
+
it("returns true for empty string", function () {
|
|
154
|
+
const selector = isEmpty(m.name);
|
|
155
|
+
assert.strictEqual(selector({ name: "" }), true);
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
it("returns false for non-empty string", function () {
|
|
159
|
+
const selector = isEmpty(m.name);
|
|
160
|
+
assert.strictEqual(selector({ name: "hello" }), false);
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
it("returns true for empty array", function () {
|
|
164
|
+
const selector = isEmpty(m.items);
|
|
165
|
+
assert.strictEqual(selector({ items: [] }), true);
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
it("returns false for non-empty array", function () {
|
|
169
|
+
const selector = isEmpty(m.items);
|
|
170
|
+
assert.strictEqual(selector({ items: ["a", "b"] }), false);
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
it("returns true for null", function () {
|
|
174
|
+
const selector = isEmpty(m.nullable);
|
|
175
|
+
assert.strictEqual(selector({ nullable: null }), true);
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
it("returns true for undefined", function () {
|
|
179
|
+
const selector = isEmpty(m.nullable);
|
|
180
|
+
assert.strictEqual(selector({ nullable: undefined }), true);
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
describe("isNonEmpty", function () {
|
|
185
|
+
it("returns false for empty string", function () {
|
|
186
|
+
const selector = isNonEmpty(m.name);
|
|
187
|
+
assert.strictEqual(selector({ name: "" }), false);
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
it("returns true for non-empty string", function () {
|
|
191
|
+
const selector = isNonEmpty(m.name);
|
|
192
|
+
assert.strictEqual(selector({ name: "hello" }), true);
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
it("returns false for empty array", function () {
|
|
196
|
+
const selector = isNonEmpty(m.items);
|
|
197
|
+
assert.strictEqual(selector({ items: [] }), false);
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
it("returns true for non-empty array", function () {
|
|
201
|
+
const selector = isNonEmpty(m.items);
|
|
202
|
+
assert.strictEqual(selector({ items: ["a", "b"] }), true);
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
it("returns false for null", function () {
|
|
206
|
+
const selector = isNonEmpty(m.nullable);
|
|
207
|
+
assert.strictEqual(selector({ nullable: null }), false);
|
|
208
|
+
});
|
|
209
|
+
|
|
210
|
+
it("returns false for undefined", function () {
|
|
211
|
+
const selector = isNonEmpty(m.nullable);
|
|
212
|
+
assert.strictEqual(selector({ nullable: undefined }), false);
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
describe("lessThan", function () {
|
|
217
|
+
it("returns true when value is less than target", function () {
|
|
218
|
+
const selector = lessThan(m.value, 10);
|
|
219
|
+
assert.strictEqual(selector({ value: 5 }), true);
|
|
220
|
+
assert.strictEqual(selector({ value: 9 }), true);
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
it("returns false when value is equal to target", function () {
|
|
224
|
+
const selector = lessThan(m.value, 10);
|
|
225
|
+
assert.strictEqual(selector({ value: 10 }), false);
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
it("returns false when value is greater than target", function () {
|
|
229
|
+
const selector = lessThan(m.value, 10);
|
|
230
|
+
assert.strictEqual(selector({ value: 11 }), false);
|
|
231
|
+
assert.strictEqual(selector({ value: 100 }), false);
|
|
232
|
+
});
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
describe("lessThanOrEqual", function () {
|
|
236
|
+
it("returns true when value is less than target", function () {
|
|
237
|
+
const selector = lessThanOrEqual(m.value, 10);
|
|
238
|
+
assert.strictEqual(selector({ value: 5 }), true);
|
|
239
|
+
assert.strictEqual(selector({ value: 9 }), true);
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
it("returns true when value is equal to target", function () {
|
|
243
|
+
const selector = lessThanOrEqual(m.value, 10);
|
|
244
|
+
assert.strictEqual(selector({ value: 10 }), true);
|
|
245
|
+
});
|
|
246
|
+
|
|
247
|
+
it("returns false when value is greater than target", function () {
|
|
248
|
+
const selector = lessThanOrEqual(m.value, 10);
|
|
249
|
+
assert.strictEqual(selector({ value: 11 }), false);
|
|
250
|
+
assert.strictEqual(selector({ value: 100 }), false);
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
|
|
254
|
+
describe("greaterThan", function () {
|
|
255
|
+
it("returns true when value is greater than target", function () {
|
|
256
|
+
const selector = greaterThan(m.value, 10);
|
|
257
|
+
assert.strictEqual(selector({ value: 11 }), true);
|
|
258
|
+
assert.strictEqual(selector({ value: 100 }), true);
|
|
259
|
+
});
|
|
260
|
+
|
|
261
|
+
it("returns false when value is equal to target", function () {
|
|
262
|
+
const selector = greaterThan(m.value, 10);
|
|
263
|
+
assert.strictEqual(selector({ value: 10 }), false);
|
|
264
|
+
});
|
|
265
|
+
|
|
266
|
+
it("returns false when value is less than target", function () {
|
|
267
|
+
const selector = greaterThan(m.value, 10);
|
|
268
|
+
assert.strictEqual(selector({ value: 5 }), false);
|
|
269
|
+
assert.strictEqual(selector({ value: 9 }), false);
|
|
270
|
+
});
|
|
271
|
+
});
|
|
272
|
+
|
|
273
|
+
describe("greaterThanOrEqual", function () {
|
|
274
|
+
it("returns true when value is greater than target", function () {
|
|
275
|
+
const selector = greaterThanOrEqual(m.value, 10);
|
|
276
|
+
assert.strictEqual(selector({ value: 11 }), true);
|
|
277
|
+
assert.strictEqual(selector({ value: 100 }), true);
|
|
278
|
+
});
|
|
279
|
+
|
|
280
|
+
it("returns true when value is equal to target", function () {
|
|
281
|
+
const selector = greaterThanOrEqual(m.value, 10);
|
|
282
|
+
assert.strictEqual(selector({ value: 10 }), true);
|
|
283
|
+
});
|
|
284
|
+
|
|
285
|
+
it("returns false when value is less than target", function () {
|
|
286
|
+
const selector = greaterThanOrEqual(m.value, 10);
|
|
287
|
+
assert.strictEqual(selector({ value: 5 }), false);
|
|
288
|
+
assert.strictEqual(selector({ value: 9 }), false);
|
|
289
|
+
});
|
|
290
|
+
});
|
|
291
|
+
|
|
292
|
+
describe("equal (loose equality)", function () {
|
|
293
|
+
it("returns true when value equals target", function () {
|
|
294
|
+
const selector = equal(m.value, 10);
|
|
295
|
+
assert.strictEqual(selector({ value: 10 }), true);
|
|
296
|
+
});
|
|
297
|
+
|
|
298
|
+
it("returns false when value does not equal target", function () {
|
|
299
|
+
const selector = equal(m.value, 10);
|
|
300
|
+
assert.strictEqual(selector({ value: 5 }), false);
|
|
301
|
+
assert.strictEqual(selector({ value: 11 }), false);
|
|
302
|
+
});
|
|
303
|
+
|
|
304
|
+
it("works with string values", function () {
|
|
305
|
+
const selector = equal(m.name, "hello");
|
|
306
|
+
assert.strictEqual(selector({ name: "hello" }), true);
|
|
307
|
+
assert.strictEqual(selector({ name: "world" }), false);
|
|
308
|
+
});
|
|
309
|
+
|
|
310
|
+
it("uses loose equality (null == undefined)", function () {
|
|
311
|
+
const selector = equal(m.nullable, null);
|
|
312
|
+
assert.strictEqual(selector({ nullable: null }), true);
|
|
313
|
+
assert.strictEqual(selector({ nullable: undefined }), true);
|
|
314
|
+
});
|
|
315
|
+
});
|
|
316
|
+
|
|
317
|
+
describe("notEqual (loose inequality)", function () {
|
|
318
|
+
it("returns false when value equals target", function () {
|
|
319
|
+
const selector = notEqual(m.value, 10);
|
|
320
|
+
assert.strictEqual(selector({ value: 10 }), false);
|
|
321
|
+
});
|
|
322
|
+
|
|
323
|
+
it("returns true when value does not equal target", function () {
|
|
324
|
+
const selector = notEqual(m.value, 10);
|
|
325
|
+
assert.strictEqual(selector({ value: 5 }), true);
|
|
326
|
+
assert.strictEqual(selector({ value: 11 }), true);
|
|
327
|
+
});
|
|
328
|
+
|
|
329
|
+
it("works with string values", function () {
|
|
330
|
+
const selector = notEqual(m.name, "hello");
|
|
331
|
+
assert.strictEqual(selector({ name: "hello" }), false);
|
|
332
|
+
assert.strictEqual(selector({ name: "world" }), true);
|
|
333
|
+
});
|
|
334
|
+
|
|
335
|
+
it("uses loose inequality (null == undefined)", function () {
|
|
336
|
+
const selector = notEqual(m.nullable, null);
|
|
337
|
+
assert.strictEqual(selector({ nullable: null }), false);
|
|
338
|
+
assert.strictEqual(selector({ nullable: undefined }), false);
|
|
339
|
+
});
|
|
340
|
+
});
|
|
341
|
+
|
|
342
|
+
describe("strictEqual", function () {
|
|
343
|
+
it("returns true when value strictly equals target", function () {
|
|
344
|
+
const selector = strictEqual(m.value, 10);
|
|
345
|
+
assert.strictEqual(selector({ value: 10 }), true);
|
|
346
|
+
});
|
|
347
|
+
|
|
348
|
+
it("returns false when value does not strictly equal target", function () {
|
|
349
|
+
const selector = strictEqual(m.value, 10);
|
|
350
|
+
assert.strictEqual(selector({ value: 5 }), false);
|
|
351
|
+
assert.strictEqual(selector({ value: 11 }), false);
|
|
352
|
+
});
|
|
353
|
+
|
|
354
|
+
it("uses strict equality (null !== undefined)", function () {
|
|
355
|
+
const selector = strictEqual(m.nullable, null);
|
|
356
|
+
assert.strictEqual(selector({ nullable: null }), true);
|
|
357
|
+
assert.strictEqual(selector({ nullable: undefined }), false);
|
|
358
|
+
});
|
|
359
|
+
});
|
|
360
|
+
|
|
361
|
+
describe("strictNotEqual", function () {
|
|
362
|
+
it("returns false when value strictly equals target", function () {
|
|
363
|
+
const selector = strictNotEqual(m.value, 10);
|
|
364
|
+
assert.strictEqual(selector({ value: 10 }), false);
|
|
365
|
+
});
|
|
366
|
+
|
|
367
|
+
it("returns true when value does not strictly equal target", function () {
|
|
368
|
+
const selector = strictNotEqual(m.value, 10);
|
|
369
|
+
assert.strictEqual(selector({ value: 5 }), true);
|
|
370
|
+
assert.strictEqual(selector({ value: 11 }), true);
|
|
371
|
+
});
|
|
372
|
+
|
|
373
|
+
it("uses strict inequality (null !== undefined)", function () {
|
|
374
|
+
const selector = strictNotEqual(m.nullable, null);
|
|
375
|
+
assert.strictEqual(selector({ nullable: null }), false);
|
|
376
|
+
assert.strictEqual(selector({ nullable: undefined }), true);
|
|
377
|
+
});
|
|
378
|
+
});
|
|
379
|
+
});
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { AccessorChain } from "../data/createAccessorModelProxy";
|
|
2
|
+
import { Selector } from "../data/Selector";
|
|
3
|
+
import { expr } from "./expr";
|
|
4
|
+
|
|
5
|
+
/** Returns a selector that converts the value to boolean using !! */
|
|
6
|
+
export function truthy<V>(arg: AccessorChain<V>): Selector<boolean> {
|
|
7
|
+
return expr(arg, (x) => !!x);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/** Returns a selector that checks if the value is falsy using ! */
|
|
11
|
+
export function falsy<V>(arg: AccessorChain<V>): Selector<boolean> {
|
|
12
|
+
return expr(arg, (x) => !x);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** Returns a selector that checks if the value is strictly true (=== true) */
|
|
16
|
+
export function isTrue(arg: AccessorChain<any>): Selector<boolean> {
|
|
17
|
+
return expr(arg, (x) => x === true);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** Returns a selector that checks if the value is strictly false (=== false) */
|
|
21
|
+
export function isFalse(arg: AccessorChain<any>): Selector<boolean> {
|
|
22
|
+
return expr(arg, (x) => x === false);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** Returns a selector that checks if the value is not null or undefined (x != null) */
|
|
26
|
+
export function hasValue<V>(arg: AccessorChain<V>): Selector<boolean> {
|
|
27
|
+
return expr(arg, (x) => x != null);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** Returns a selector that checks if a string or array is empty (null, undefined, or length === 0) */
|
|
31
|
+
export function isEmpty(arg: AccessorChain<string | any[] | null | undefined>): Selector<boolean> {
|
|
32
|
+
return expr(arg, (x) => x == null || x.length === 0);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** Returns a selector that checks if a string or array is non-empty (not null/undefined and length > 0) */
|
|
36
|
+
export function isNonEmpty(arg: AccessorChain<string | any[] | null | undefined>): Selector<boolean> {
|
|
37
|
+
return expr(arg, (x) => x != null && x.length > 0);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** Returns a selector that checks if the value is less than the given value */
|
|
41
|
+
export function lessThan<V>(arg: AccessorChain<V>, value: V): Selector<boolean> {
|
|
42
|
+
return expr(arg, (x) => x < value);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** Returns a selector that checks if the value is less than or equal to the given value */
|
|
46
|
+
export function lessThanOrEqual<V>(arg: AccessorChain<V>, value: V): Selector<boolean> {
|
|
47
|
+
return expr(arg, (x) => x <= value);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/** Returns a selector that checks if the value is greater than the given value */
|
|
51
|
+
export function greaterThan<V>(arg: AccessorChain<V>, value: V): Selector<boolean> {
|
|
52
|
+
return expr(arg, (x) => x > value);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** Returns a selector that checks if the value is greater than or equal to the given value */
|
|
56
|
+
export function greaterThanOrEqual<V>(arg: AccessorChain<V>, value: V): Selector<boolean> {
|
|
57
|
+
return expr(arg, (x) => x >= value);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/** Returns a selector that checks if the value equals the given value using == */
|
|
61
|
+
export function equal<V>(arg: AccessorChain<V>, value: V): Selector<boolean> {
|
|
62
|
+
return expr(arg, (x) => x == value);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** Returns a selector that checks if the value does not equal the given value using != */
|
|
66
|
+
export function notEqual<V>(arg: AccessorChain<V>, value: V): Selector<boolean> {
|
|
67
|
+
return expr(arg, (x) => x != value);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/** Returns a selector that checks if the value strictly equals the given value using === */
|
|
71
|
+
export function strictEqual<V>(arg: AccessorChain<V>, value: V): Selector<boolean> {
|
|
72
|
+
return expr(arg, (x) => x === value);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/** Returns a selector that checks if the value strictly does not equal the given value using !== */
|
|
76
|
+
export function strictNotEqual<V>(arg: AccessorChain<V>, value: V): Selector<boolean> {
|
|
77
|
+
return expr(arg, (x) => x !== value);
|
|
78
|
+
}
|
package/src/ui/index.ts
CHANGED
|
@@ -1,46 +1,47 @@
|
|
|
1
|
-
export * from "./Prop";
|
|
2
|
-
export * from "./Controller";
|
|
3
|
-
export * from "./Widget";
|
|
4
|
-
export * from "./Container";
|
|
5
|
-
export * from "./PureContainer";
|
|
6
|
-
export * from "./Repeater";
|
|
7
|
-
export * from "./Rescope";
|
|
8
|
-
export * from "./StaticText";
|
|
9
|
-
export * from "./Text";
|
|
10
|
-
export * from "./CSS";
|
|
11
|
-
export * from "./CSSHelper";
|
|
12
|
-
export * from "./FocusManager";
|
|
13
|
-
export * from "./ResizeManager";
|
|
14
|
-
export * from "./ZIndexManager";
|
|
15
|
-
export * from "./Format";
|
|
16
|
-
export * from "./Culture";
|
|
17
|
-
export * from "./Localization";
|
|
18
|
-
export * from "./Cx";
|
|
19
|
-
export * from "./Instance";
|
|
20
|
-
export * from "./RenderingContext";
|
|
21
|
-
export * from "./ContentResolver";
|
|
22
|
-
export * from "./batchUpdates";
|
|
23
|
-
export * from "./IsolatedScope";
|
|
24
|
-
export * from "./DetachedScope";
|
|
25
|
-
export * from "./Restate";
|
|
26
|
-
export * from "./DataProxy";
|
|
27
|
-
export * from "./keyboardShortcuts";
|
|
28
|
-
export * from "./StructuredInstanceDataAccessor";
|
|
29
|
-
export * from "./HoverSync";
|
|
30
|
-
|
|
31
|
-
export * from "./createFunctionalComponent";
|
|
32
|
-
export * from "./flattenProps";
|
|
33
|
-
|
|
34
|
-
export * from "./selection/index";
|
|
35
|
-
export * from "./layout/index";
|
|
36
|
-
export * from "./app/index";
|
|
37
|
-
export * from "./adapter/index";
|
|
38
|
-
|
|
39
|
-
export * from "./bind";
|
|
40
|
-
export * from "./tpl";
|
|
41
|
-
export * from "./expr";
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
import {
|
|
46
|
-
|
|
1
|
+
export * from "./Prop";
|
|
2
|
+
export * from "./Controller";
|
|
3
|
+
export * from "./Widget";
|
|
4
|
+
export * from "./Container";
|
|
5
|
+
export * from "./PureContainer";
|
|
6
|
+
export * from "./Repeater";
|
|
7
|
+
export * from "./Rescope";
|
|
8
|
+
export * from "./StaticText";
|
|
9
|
+
export * from "./Text";
|
|
10
|
+
export * from "./CSS";
|
|
11
|
+
export * from "./CSSHelper";
|
|
12
|
+
export * from "./FocusManager";
|
|
13
|
+
export * from "./ResizeManager";
|
|
14
|
+
export * from "./ZIndexManager";
|
|
15
|
+
export * from "./Format";
|
|
16
|
+
export * from "./Culture";
|
|
17
|
+
export * from "./Localization";
|
|
18
|
+
export * from "./Cx";
|
|
19
|
+
export * from "./Instance";
|
|
20
|
+
export * from "./RenderingContext";
|
|
21
|
+
export * from "./ContentResolver";
|
|
22
|
+
export * from "./batchUpdates";
|
|
23
|
+
export * from "./IsolatedScope";
|
|
24
|
+
export * from "./DetachedScope";
|
|
25
|
+
export * from "./Restate";
|
|
26
|
+
export * from "./DataProxy";
|
|
27
|
+
export * from "./keyboardShortcuts";
|
|
28
|
+
export * from "./StructuredInstanceDataAccessor";
|
|
29
|
+
export * from "./HoverSync";
|
|
30
|
+
|
|
31
|
+
export * from "./createFunctionalComponent";
|
|
32
|
+
export * from "./flattenProps";
|
|
33
|
+
|
|
34
|
+
export * from "./selection/index";
|
|
35
|
+
export * from "./layout/index";
|
|
36
|
+
export * from "./app/index";
|
|
37
|
+
export * from "./adapter/index";
|
|
38
|
+
|
|
39
|
+
export * from "./bind";
|
|
40
|
+
export * from "./tpl";
|
|
41
|
+
export * from "./expr";
|
|
42
|
+
export * from "./exprHelpers";
|
|
43
|
+
|
|
44
|
+
//re-export computable here
|
|
45
|
+
import { computable } from "../data/computable";
|
|
46
|
+
import { createAccessorModelProxy, AccessorChain } from "../data/createAccessorModelProxy";
|
|
47
|
+
export { computable, createAccessorModelProxy, AccessorChain };
|
package/src/ui/layout/Content.ts
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { Widget } from "../Widget";
|
|
2
|
-
import { PureContainerBase, PureContainerConfig } from "../PureContainer";
|
|
3
|
-
import { Instance } from "../Instance";
|
|
4
|
-
|
|
5
|
-
export interface ContentConfig extends PureContainerConfig {
|
|
6
|
-
/** Placeholder name where the content is rendered. */
|
|
7
|
-
name?: string;
|
|
8
|
-
|
|
9
|
-
/** Placeholder name where the content is rendered. */
|
|
10
|
-
for?: string;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export class Content extends PureContainerBase<ContentConfig, Instance> {
|
|
14
|
-
declare name?: string;
|
|
15
|
-
declare for?: string;
|
|
16
|
-
|
|
17
|
-
constructor(config?: ContentConfig) {
|
|
18
|
-
super(config);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
init(): void {
|
|
22
|
-
super.init();
|
|
23
|
-
if (!this.putInto) this.putInto = this.for || this.name;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
Content.prototype.name = "body";
|
|
28
|
-
Content.prototype.isContent = true;
|
|
29
|
-
|
|
30
|
-
Widget.alias("content", Content);
|
|
1
|
+
import { Widget } from "../Widget";
|
|
2
|
+
import { PureContainerBase, PureContainerConfig } from "../PureContainer";
|
|
3
|
+
import { Instance } from "../Instance";
|
|
4
|
+
|
|
5
|
+
export interface ContentConfig extends PureContainerConfig {
|
|
6
|
+
/** Placeholder name where the content is rendered. */
|
|
7
|
+
name?: string;
|
|
8
|
+
|
|
9
|
+
/** Placeholder name where the content is rendered. */
|
|
10
|
+
for?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export class Content extends PureContainerBase<ContentConfig, Instance> {
|
|
14
|
+
declare name?: string;
|
|
15
|
+
declare for?: string;
|
|
16
|
+
|
|
17
|
+
constructor(config?: ContentConfig) {
|
|
18
|
+
super(config);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
init(): void {
|
|
22
|
+
super.init();
|
|
23
|
+
if (!this.putInto) this.putInto = this.for || this.name;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
Content.prototype.name = "body";
|
|
28
|
+
Content.prototype.isContent = true;
|
|
29
|
+
|
|
30
|
+
Widget.alias("content", Content);
|