cx 26.0.12 → 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/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 +31 -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 +855 -807
- 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 +153 -153
- package/src/ui/selection/Selection.ts +128 -128
- 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 +77 -23
- 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
|
@@ -2,16 +2,63 @@
|
|
|
2
2
|
|
|
3
3
|
import { Widget, VDOM } from "../../ui/Widget";
|
|
4
4
|
import { Icon } from "../Icon";
|
|
5
|
-
import { Field, FieldInstance } from "./Field";
|
|
5
|
+
import { Field, FieldConfig, FieldInstance } from "./Field";
|
|
6
6
|
import { Url } from "../../ui/app/Url";
|
|
7
7
|
import { Localization } from "../../ui/Localization";
|
|
8
8
|
import type { RenderingContext } from "../../ui/RenderingContext";
|
|
9
9
|
import type { Instance } from "../../ui/Instance";
|
|
10
10
|
import { isNonEmptyArray } from "../../util/isNonEmptyArray";
|
|
11
|
+
import { BooleanProp, StringProp } from "../../ui/Prop";
|
|
11
12
|
|
|
12
13
|
//TODO: Implement UploadStatus which will enable canceling
|
|
13
14
|
|
|
14
|
-
export
|
|
15
|
+
export interface UploadButtonConfig extends FieldConfig {
|
|
16
|
+
/** Set to `true` to allow multiple file selection. Default is `false`. */
|
|
17
|
+
multiple?: boolean;
|
|
18
|
+
|
|
19
|
+
/** HTTP method used for upload. Default is `POST`. */
|
|
20
|
+
method?: string;
|
|
21
|
+
|
|
22
|
+
/** Set to `true` to abort uploads when the component is destroyed. Default is `false`. */
|
|
23
|
+
abortOnDestroy?: boolean;
|
|
24
|
+
|
|
25
|
+
/** Text displayed while upload is in progress. */
|
|
26
|
+
uploadInProgressText?: string;
|
|
27
|
+
|
|
28
|
+
/** URL to upload files to. */
|
|
29
|
+
url?: StringProp;
|
|
30
|
+
|
|
31
|
+
/** Text displayed on the button. */
|
|
32
|
+
text?: StringProp;
|
|
33
|
+
|
|
34
|
+
/** Name or configuration of the icon to be displayed on the button. */
|
|
35
|
+
icon?: StringProp;
|
|
36
|
+
|
|
37
|
+
/** File types accepted for upload. E.g. `image/*`, `.pdf`, etc. */
|
|
38
|
+
accept?: StringProp;
|
|
39
|
+
|
|
40
|
+
/** Base CSS class to be applied to the button. Defaults to `uploadbutton`. */
|
|
41
|
+
baseClass?: string;
|
|
42
|
+
|
|
43
|
+
/** Callback to resolve the upload URL for each file. */
|
|
44
|
+
onResolveUrl?: string | ((file: File, instance: Instance) => string | Promise<string>);
|
|
45
|
+
|
|
46
|
+
/** Callback invoked before upload starts. Return `false` to cancel the upload. */
|
|
47
|
+
onUploadStarting?:
|
|
48
|
+
| string
|
|
49
|
+
| ((xhr: XMLHttpRequest, instance: Instance, file: File, formData: FormData) => boolean | Promise<boolean>);
|
|
50
|
+
|
|
51
|
+
/** Callback invoked when upload completes successfully. */
|
|
52
|
+
onUploadComplete?: string | ((xhr: XMLHttpRequest, instance: Instance, file: File, formData: FormData) => void);
|
|
53
|
+
|
|
54
|
+
/** Callback invoked to report upload progress. */
|
|
55
|
+
onUploadProgress?: string | ((event: ProgressEvent, instance: Instance, file: File, formData: FormData) => void);
|
|
56
|
+
|
|
57
|
+
/** Callback invoked when an upload error occurs. */
|
|
58
|
+
onUploadError?: string | ((error: unknown, instance: Instance, file: File, formData: FormData) => void);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export class UploadButton extends Field<UploadButtonConfig> {
|
|
15
62
|
declare public multiple: boolean;
|
|
16
63
|
declare public method: string;
|
|
17
64
|
declare public abortOnDestroy: boolean;
|
|
@@ -28,6 +75,10 @@ export class UploadButton extends Field {
|
|
|
28
75
|
| ((event: ProgressEvent, instance: Instance, file: File, formData: FormData) => void);
|
|
29
76
|
declare public onUploadError?: string | ((error: unknown, instance: Instance, file: File, formData: FormData) => void);
|
|
30
77
|
|
|
78
|
+
constructor(config?: UploadButtonConfig) {
|
|
79
|
+
super(config);
|
|
80
|
+
}
|
|
81
|
+
|
|
31
82
|
declareData(...args: Record<string, unknown>[]): void {
|
|
32
83
|
super.declareData(
|
|
33
84
|
{
|
|
@@ -1,10 +1,47 @@
|
|
|
1
|
-
import { Field } from "./Field";
|
|
1
|
+
import { Field, FieldConfig } from "./Field";
|
|
2
2
|
import type { RenderingContext } from "../../ui/RenderingContext";
|
|
3
3
|
import type { Instance } from "../../ui/Instance";
|
|
4
|
+
import type { StructuredProp, ResolvePropType } from "../../ui/Prop";
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Configuration for Validator widget.
|
|
8
|
+
*
|
|
9
|
+
* The value type parameter enables type inference for the onValidate callback:
|
|
10
|
+
* - Literal values preserve their types
|
|
11
|
+
* - AccessorChain<T> resolves to T
|
|
12
|
+
* - Bind/Tpl/Expr resolve to any
|
|
13
|
+
* - Structured props (objects) have each property resolved individually
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* <Validator
|
|
18
|
+
* value={{
|
|
19
|
+
* password: model.user.password,
|
|
20
|
+
* confirmPassword: model.user.confirmPassword
|
|
21
|
+
* }}
|
|
22
|
+
* onValidate={(value) => {
|
|
23
|
+
* if (value.password !== value.confirmPassword)
|
|
24
|
+
* return "Passwords do not match";
|
|
25
|
+
* }}
|
|
26
|
+
* />
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export interface ValidatorConfig<V = StructuredProp> extends FieldConfig {
|
|
30
|
+
/** The value to be validated. Can be a structured object with multiple fields. */
|
|
31
|
+
value?: V;
|
|
32
|
+
|
|
33
|
+
/** Custom validation function. */
|
|
34
|
+
onValidate?:
|
|
35
|
+
| string
|
|
36
|
+
| ((value: ResolvePropType<V>, instance: Instance, validationParams: Record<string, unknown>) => unknown);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export class Validator<V = StructuredProp> extends Field<ValidatorConfig<V>> {
|
|
40
|
+
constructor(config?: ValidatorConfig<V>) {
|
|
41
|
+
super(config);
|
|
42
|
+
}
|
|
6
43
|
declareData(...args: Record<string, unknown>[]): void {
|
|
7
|
-
return super.declareData(...args, {
|
|
44
|
+
return super.declareData(...args, {
|
|
8
45
|
value: {
|
|
9
46
|
structured: true,
|
|
10
47
|
},
|
|
@@ -76,9 +76,9 @@ import { Create, CreateConfig } from "../../util";
|
|
|
76
76
|
import type { TreeAdapter } from "../../ui/adapter/TreeAdapter";
|
|
77
77
|
export { GridRowConfig };
|
|
78
78
|
|
|
79
|
-
type
|
|
79
|
+
export type GridFetchRecordsResult<T> = T[] | { records: T[]; lastPage?: boolean; totalRecordCount?: number };
|
|
80
80
|
|
|
81
|
-
interface MappedGridRecord<T = any> extends DataAdapterRecord<T> {
|
|
81
|
+
export interface MappedGridRecord<T = any> extends DataAdapterRecord<T> {
|
|
82
82
|
row?: GridRowInstance;
|
|
83
83
|
vdom?: any;
|
|
84
84
|
fixedVdom?: any;
|
|
@@ -87,7 +87,7 @@ interface MappedGridRecord<T = any> extends DataAdapterRecord<T> {
|
|
|
87
87
|
group?: any;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
interface GridDragEvent<T> extends DragEvent {
|
|
90
|
+
export interface GridDragEvent<T> extends DragEvent {
|
|
91
91
|
target: {
|
|
92
92
|
recordBefore?: MappedGridRecord<T>;
|
|
93
93
|
recordAfter?: MappedGridRecord<T>;
|
|
@@ -97,14 +97,14 @@ interface GridDragEvent<T> extends DragEvent {
|
|
|
97
97
|
};
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
interface GridRowDragEvent<T> extends DragEvent {
|
|
100
|
+
export interface GridRowDragEvent<T> extends DragEvent {
|
|
101
101
|
target: {
|
|
102
102
|
record: MappedGridRecord<T>;
|
|
103
103
|
index: number;
|
|
104
104
|
};
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
interface GridColumnDropEvent extends DragEvent {
|
|
107
|
+
export interface GridColumnDropEvent extends DragEvent {
|
|
108
108
|
target: {
|
|
109
109
|
grid: any;
|
|
110
110
|
instance: Instance;
|
|
@@ -132,7 +132,7 @@ interface GridMoveCursorOptions {
|
|
|
132
132
|
cancelEdit?: boolean;
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
-
interface GridGroupingKey {
|
|
135
|
+
export interface GridGroupingKey {
|
|
136
136
|
[key: string]:
|
|
137
137
|
| Prop<any>
|
|
138
138
|
| {
|
|
@@ -149,9 +149,9 @@ interface GroupingResult<T> {
|
|
|
149
149
|
records: MappedGridRecord<T>[];
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
-
type GridColumnAlignment = "left" | "right" | "center";
|
|
152
|
+
export type GridColumnAlignment = "left" | "right" | "center";
|
|
153
153
|
|
|
154
|
-
interface GridGroupingConfig<T> {
|
|
154
|
+
export interface GridGroupingConfig<T> {
|
|
155
155
|
key: GridGroupingKey;
|
|
156
156
|
aggregates?: StructuredProp;
|
|
157
157
|
showCaption?: boolean;
|
|
@@ -163,9 +163,6 @@ interface GridGroupingConfig<T> {
|
|
|
163
163
|
comparer?: (a: GroupingResult<T>, b: GroupingResult<T>) => number;
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
-
// TODO: Check Column config
|
|
167
|
-
// Props are in order based on docs
|
|
168
|
-
|
|
169
166
|
export interface GridColumnHeaderConfig {
|
|
170
167
|
text?: StringProp;
|
|
171
168
|
colSpan?: NumberProp;
|
|
@@ -422,7 +419,7 @@ export interface GridConfig<T = any> extends StyledContainerConfig {
|
|
|
422
419
|
sortDirection?: string;
|
|
423
420
|
},
|
|
424
421
|
instance?: Instance,
|
|
425
|
-
) =>
|
|
422
|
+
) => GridFetchRecordsResult<T> | Promise<GridFetchRecordsResult<T>>;
|
|
426
423
|
|
|
427
424
|
/** Callback function to be executed when a row is double-clicked. */
|
|
428
425
|
onRowDoubleClick?: string | ((e: React.SyntheticEvent<any>, instance: Instance) => void);
|
|
@@ -1,143 +1,143 @@
|
|
|
1
|
-
import { StyledContainerBase, StyledContainerConfig } from "../../ui";
|
|
2
|
-
import { Format } from "../../ui/Format";
|
|
3
|
-
import { Instance } from "../../ui/Instance";
|
|
4
|
-
import { BooleanProp, NumberProp, Prop, StringProp } from "../../ui/Prop";
|
|
5
|
-
import { RenderingContext } from "../../ui/RenderingContext";
|
|
6
|
-
import { isUndefined } from "../../util/isUndefined";
|
|
7
|
-
|
|
8
|
-
export interface GridCellConfig extends StyledContainerConfig {
|
|
9
|
-
/** Selector used to obtain the value that should be displayed inside the cell. Not required if `field` is used. */
|
|
10
|
-
value?: StringProp | NumberProp;
|
|
11
|
-
|
|
12
|
-
/** Selector used to obtain the weight of the cell in aggregate operations, such as weighted averages. */
|
|
13
|
-
weight?: Prop<any>;
|
|
14
|
-
|
|
15
|
-
/** Add default padding to grid cell. */
|
|
16
|
-
pad?: BooleanProp;
|
|
17
|
-
|
|
18
|
-
/** Format specifier used to convert the value into a string. */
|
|
19
|
-
format?: StringProp;
|
|
20
|
-
|
|
21
|
-
/** Name of the field that holds the value to be displayed. */
|
|
22
|
-
field?: string;
|
|
23
|
-
|
|
24
|
-
/** Record alias. Default is `$record`. */
|
|
25
|
-
recordName?: string;
|
|
26
|
-
|
|
27
|
-
/** Record alias. Default is `$record`. */
|
|
28
|
-
recordAlias?: string;
|
|
29
|
-
|
|
30
|
-
/** Indicate if a cell is editable or not. Default value is true. */
|
|
31
|
-
editable?: boolean;
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Used to indicate that the adjacent cells in the column should be merged together.
|
|
35
|
-
* If set to `same-value`, only cells with the same value will be merged.
|
|
36
|
-
* If set to `always`, all cells within the group will be merged.
|
|
37
|
-
* This is an experimental feature that might not work well with other
|
|
38
|
-
* grid related features such as multi-line rows, buffered rendering, etc.
|
|
39
|
-
*/
|
|
40
|
-
mergeCells?: Prop<"same-value" | "always">;
|
|
41
|
-
|
|
42
|
-
/** Aggregate value for the cell. */
|
|
43
|
-
aggregateValue?: Prop<any>;
|
|
44
|
-
|
|
45
|
-
/** Column span. */
|
|
46
|
-
colSpan?: NumberProp;
|
|
47
|
-
|
|
48
|
-
/** Row span. */
|
|
49
|
-
rowSpan?: NumberProp;
|
|
50
|
-
|
|
51
|
-
/** Whether the column is fixed. */
|
|
52
|
-
fixed?: BooleanProp;
|
|
53
|
-
|
|
54
|
-
/** Cell alignment. */
|
|
55
|
-
align?: "left" | "right" | "center";
|
|
56
|
-
|
|
57
|
-
/** Editor widget for cell editing. */
|
|
58
|
-
editor?: any;
|
|
59
|
-
|
|
60
|
-
/** Unique column identifier. */
|
|
61
|
-
uniqueColumnId?: string;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export class GridCell extends StyledContainerBase<GridCellConfig> {
|
|
65
|
-
declare value?: StringProp | NumberProp;
|
|
66
|
-
declare field?: string;
|
|
67
|
-
declare recordName?: string;
|
|
68
|
-
declare editable?: boolean;
|
|
69
|
-
declare align?: "left" | "right" | "center";
|
|
70
|
-
declare editor?: any;
|
|
71
|
-
declare uniqueColumnId?: string;
|
|
72
|
-
declare pad?: boolean;
|
|
73
|
-
declare fixed?: boolean;
|
|
74
|
-
declare merged?: boolean;
|
|
75
|
-
|
|
76
|
-
constructor(config?: GridCellConfig) {
|
|
77
|
-
super(config);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
declareData(...args: any[]) {
|
|
81
|
-
return super.declareData(...args, {
|
|
82
|
-
value: undefined,
|
|
83
|
-
aggregateValue: undefined,
|
|
84
|
-
weight: undefined,
|
|
85
|
-
pad: undefined,
|
|
86
|
-
format: undefined,
|
|
87
|
-
colSpan: undefined,
|
|
88
|
-
rowSpan: undefined,
|
|
89
|
-
editable: undefined,
|
|
90
|
-
fixed: undefined,
|
|
91
|
-
mergeCells: undefined,
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
init() {
|
|
96
|
-
if (!this.value && this.field) this.value = { bind: this.recordName + "." + this.field };
|
|
97
|
-
|
|
98
|
-
if (isUndefined(this.editable)) this.editable = !!this.editor;
|
|
99
|
-
|
|
100
|
-
super.init();
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
prepareCSS(context: RenderingContext, instance: Instance) {
|
|
104
|
-
let { data } = instance;
|
|
105
|
-
|
|
106
|
-
data.classNames = this.CSS.expand(
|
|
107
|
-
data.className,
|
|
108
|
-
data.class,
|
|
109
|
-
this.CSS.state({
|
|
110
|
-
pad: data.pad,
|
|
111
|
-
editable: data.editable,
|
|
112
|
-
["aligned-" + this.align]: this.align,
|
|
113
|
-
mergable: data.merged,
|
|
114
|
-
}),
|
|
115
|
-
);
|
|
116
|
-
|
|
117
|
-
data.style = this.CSS.parseStyle(data.style);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
render(context: RenderingContext, instance: Instance, key: string) {
|
|
121
|
-
let { data } = instance;
|
|
122
|
-
let content;
|
|
123
|
-
|
|
124
|
-
if (this.items.length > 0) content = this.renderChildren(context, instance);
|
|
125
|
-
else {
|
|
126
|
-
content = data.value;
|
|
127
|
-
if (data.format) content = Format.value(content, data.format);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
return {
|
|
131
|
-
atomic: true,
|
|
132
|
-
content,
|
|
133
|
-
instance,
|
|
134
|
-
data,
|
|
135
|
-
key,
|
|
136
|
-
uniqueColumnId: this.uniqueColumnId,
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
GridCell.prototype.pad = true;
|
|
142
|
-
GridCell.prototype.fixed = false;
|
|
143
|
-
GridCell.prototype.merged = false;
|
|
1
|
+
import { StyledContainerBase, StyledContainerConfig } from "../../ui";
|
|
2
|
+
import { Format } from "../../ui/Format";
|
|
3
|
+
import { Instance } from "../../ui/Instance";
|
|
4
|
+
import { BooleanProp, NumberProp, Prop, StringProp } from "../../ui/Prop";
|
|
5
|
+
import { RenderingContext } from "../../ui/RenderingContext";
|
|
6
|
+
import { isUndefined } from "../../util/isUndefined";
|
|
7
|
+
|
|
8
|
+
export interface GridCellConfig extends StyledContainerConfig {
|
|
9
|
+
/** Selector used to obtain the value that should be displayed inside the cell. Not required if `field` is used. */
|
|
10
|
+
value?: StringProp | NumberProp;
|
|
11
|
+
|
|
12
|
+
/** Selector used to obtain the weight of the cell in aggregate operations, such as weighted averages. */
|
|
13
|
+
weight?: Prop<any>;
|
|
14
|
+
|
|
15
|
+
/** Add default padding to grid cell. */
|
|
16
|
+
pad?: BooleanProp;
|
|
17
|
+
|
|
18
|
+
/** Format specifier used to convert the value into a string. */
|
|
19
|
+
format?: StringProp;
|
|
20
|
+
|
|
21
|
+
/** Name of the field that holds the value to be displayed. */
|
|
22
|
+
field?: string;
|
|
23
|
+
|
|
24
|
+
/** Record alias. Default is `$record`. */
|
|
25
|
+
recordName?: string;
|
|
26
|
+
|
|
27
|
+
/** Record alias. Default is `$record`. */
|
|
28
|
+
recordAlias?: string;
|
|
29
|
+
|
|
30
|
+
/** Indicate if a cell is editable or not. Default value is true. */
|
|
31
|
+
editable?: boolean;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Used to indicate that the adjacent cells in the column should be merged together.
|
|
35
|
+
* If set to `same-value`, only cells with the same value will be merged.
|
|
36
|
+
* If set to `always`, all cells within the group will be merged.
|
|
37
|
+
* This is an experimental feature that might not work well with other
|
|
38
|
+
* grid related features such as multi-line rows, buffered rendering, etc.
|
|
39
|
+
*/
|
|
40
|
+
mergeCells?: Prop<"same-value" | "always">;
|
|
41
|
+
|
|
42
|
+
/** Aggregate value for the cell. */
|
|
43
|
+
aggregateValue?: Prop<any>;
|
|
44
|
+
|
|
45
|
+
/** Column span. */
|
|
46
|
+
colSpan?: NumberProp;
|
|
47
|
+
|
|
48
|
+
/** Row span. */
|
|
49
|
+
rowSpan?: NumberProp;
|
|
50
|
+
|
|
51
|
+
/** Whether the column is fixed. */
|
|
52
|
+
fixed?: BooleanProp;
|
|
53
|
+
|
|
54
|
+
/** Cell alignment. */
|
|
55
|
+
align?: "left" | "right" | "center";
|
|
56
|
+
|
|
57
|
+
/** Editor widget for cell editing. */
|
|
58
|
+
editor?: any;
|
|
59
|
+
|
|
60
|
+
/** Unique column identifier. */
|
|
61
|
+
uniqueColumnId?: string;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export class GridCell extends StyledContainerBase<GridCellConfig> {
|
|
65
|
+
declare value?: StringProp | NumberProp;
|
|
66
|
+
declare field?: string;
|
|
67
|
+
declare recordName?: string;
|
|
68
|
+
declare editable?: boolean;
|
|
69
|
+
declare align?: "left" | "right" | "center";
|
|
70
|
+
declare editor?: any;
|
|
71
|
+
declare uniqueColumnId?: string;
|
|
72
|
+
declare pad?: boolean;
|
|
73
|
+
declare fixed?: boolean;
|
|
74
|
+
declare merged?: boolean;
|
|
75
|
+
|
|
76
|
+
constructor(config?: GridCellConfig) {
|
|
77
|
+
super(config);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
declareData(...args: any[]) {
|
|
81
|
+
return super.declareData(...args, {
|
|
82
|
+
value: undefined,
|
|
83
|
+
aggregateValue: undefined,
|
|
84
|
+
weight: undefined,
|
|
85
|
+
pad: undefined,
|
|
86
|
+
format: undefined,
|
|
87
|
+
colSpan: undefined,
|
|
88
|
+
rowSpan: undefined,
|
|
89
|
+
editable: undefined,
|
|
90
|
+
fixed: undefined,
|
|
91
|
+
mergeCells: undefined,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
init() {
|
|
96
|
+
if (!this.value && this.field) this.value = { bind: this.recordName + "." + this.field };
|
|
97
|
+
|
|
98
|
+
if (isUndefined(this.editable)) this.editable = !!this.editor;
|
|
99
|
+
|
|
100
|
+
super.init();
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
prepareCSS(context: RenderingContext, instance: Instance) {
|
|
104
|
+
let { data } = instance;
|
|
105
|
+
|
|
106
|
+
data.classNames = this.CSS.expand(
|
|
107
|
+
data.className,
|
|
108
|
+
data.class,
|
|
109
|
+
this.CSS.state({
|
|
110
|
+
pad: data.pad,
|
|
111
|
+
editable: data.editable,
|
|
112
|
+
["aligned-" + this.align]: this.align,
|
|
113
|
+
mergable: data.merged,
|
|
114
|
+
}),
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
data.style = this.CSS.parseStyle(data.style);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
render(context: RenderingContext, instance: Instance, key: string) {
|
|
121
|
+
let { data } = instance;
|
|
122
|
+
let content;
|
|
123
|
+
|
|
124
|
+
if (this.items.length > 0) content = this.renderChildren(context, instance);
|
|
125
|
+
else {
|
|
126
|
+
content = data.value;
|
|
127
|
+
if (data.format) content = Format.value(content, data.format);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
return {
|
|
131
|
+
atomic: true,
|
|
132
|
+
content,
|
|
133
|
+
instance,
|
|
134
|
+
data,
|
|
135
|
+
key,
|
|
136
|
+
uniqueColumnId: this.uniqueColumnId,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
GridCell.prototype.pad = true;
|
|
142
|
+
GridCell.prototype.fixed = false;
|
|
143
|
+
GridCell.prototype.merged = false;
|
|
@@ -26,15 +26,24 @@ export interface TreeNodeConfig extends StyledContainerConfig {
|
|
|
26
26
|
/** Icon to be displayed. */
|
|
27
27
|
icon?: StringProp;
|
|
28
28
|
|
|
29
|
+
/** Icon for items (sets leafIcon). */
|
|
30
|
+
itemIcon?: StringProp;
|
|
31
|
+
|
|
29
32
|
/** Icon for leaf nodes. */
|
|
30
33
|
leafIcon?: StringProp;
|
|
31
34
|
|
|
35
|
+
/** Icon displayed when the node is loading. */
|
|
36
|
+
loadingIcon?: string;
|
|
37
|
+
|
|
32
38
|
/** Icon for open folder. */
|
|
33
39
|
openFolderIcon?: StringProp;
|
|
34
40
|
|
|
35
41
|
/** Icon for folder. */
|
|
36
42
|
folderIcon?: StringProp;
|
|
37
43
|
|
|
44
|
+
/** Set to `true` to hide the icon. */
|
|
45
|
+
hideIcon?: boolean;
|
|
46
|
+
|
|
38
47
|
/** Set to `true` to hide the arrow. */
|
|
39
48
|
hideArrow?: BooleanProp;
|
|
40
49
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
/** @jsxImportSource react */
|
|
2
|
-
import {VDOM} from '../../ui/Widget';
|
|
3
|
-
import {registerIcon} from './registry';
|
|
4
|
-
|
|
5
|
-
export default registerIcon('calendar', (props: any) => {
|
|
6
|
-
return <svg
|
|
7
|
-
{...props}
|
|
8
|
-
viewBox="0 0 32 32">
|
|
9
|
-
|
|
10
|
-
<path d="M4 3h6m10 0h6" fill="none" stroke="currentColor" strokeWidth="2"/>
|
|
11
|
-
<path d="M19 21h4v4h-4z" fill="currentColor"/>
|
|
12
|
-
<path d="M3 25h24M3 21h24M3 17h24M7 28V13m-4 0h24M11 28V13.2M15 28V13.27M19 28V13.03M23 28V13.5" fill="none" stroke="currentColor"/>
|
|
13
|
-
<path fill="currentColor" d="M10 8h10v2H10z"/>
|
|
14
|
-
<path fill="none" stroke="currentColor" strokeWidth="2" d="M3 5h24v24H3z"/>
|
|
15
|
-
</svg>
|
|
16
|
-
}, true);
|
|
17
|
-
|
|
1
|
+
/** @jsxImportSource react */
|
|
2
|
+
import {VDOM} from '../../ui/Widget';
|
|
3
|
+
import {registerIcon} from './registry';
|
|
4
|
+
|
|
5
|
+
export default registerIcon('calendar', (props: any) => {
|
|
6
|
+
return <svg
|
|
7
|
+
{...props}
|
|
8
|
+
viewBox="0 0 32 32">
|
|
9
|
+
|
|
10
|
+
<path d="M4 3h6m10 0h6" fill="none" stroke="currentColor" strokeWidth="2"/>
|
|
11
|
+
<path d="M19 21h4v4h-4z" fill="currentColor"/>
|
|
12
|
+
<path d="M3 25h24M3 21h24M3 17h24M7 28V13m-4 0h24M11 28V13.2M15 28V13.27M19 28V13.03M23 28V13.5" fill="none" stroke="currentColor"/>
|
|
13
|
+
<path fill="currentColor" d="M10 8h10v2H10z"/>
|
|
14
|
+
<path fill="none" stroke="currentColor" strokeWidth="2" d="M3 5h24v24H3z"/>
|
|
15
|
+
</svg>
|
|
16
|
+
}, true);
|
|
17
|
+
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
/** @jsxImportSource react */
|
|
2
|
-
import {VDOM} from '../../ui/Widget';
|
|
3
|
-
import {registerIcon} from './registry';
|
|
4
|
-
|
|
5
|
-
export default registerIcon('check', (props: any) => {
|
|
6
|
-
return <svg
|
|
7
|
-
{...props}
|
|
8
|
-
viewBox="0 0 64 64">
|
|
9
|
-
<path d="M7.136 42.94l20.16 14.784 29.568-40.32-9.72-7.128-22.598 30.816-10.44-7.656z"
|
|
10
|
-
fill="currentColor"/>
|
|
11
|
-
</svg>
|
|
12
|
-
}, true);
|
|
13
|
-
|
|
1
|
+
/** @jsxImportSource react */
|
|
2
|
+
import {VDOM} from '../../ui/Widget';
|
|
3
|
+
import {registerIcon} from './registry';
|
|
4
|
+
|
|
5
|
+
export default registerIcon('check', (props: any) => {
|
|
6
|
+
return <svg
|
|
7
|
+
{...props}
|
|
8
|
+
viewBox="0 0 64 64">
|
|
9
|
+
<path d="M7.136 42.94l20.16 14.784 29.568-40.32-9.72-7.128-22.598 30.816-10.44-7.656z"
|
|
10
|
+
fill="currentColor"/>
|
|
11
|
+
</svg>
|
|
12
|
+
}, true);
|
|
13
|
+
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
/** @jsxImportSource react */
|
|
2
|
-
import {VDOM} from '../../ui/Widget';
|
|
3
|
-
import {registerIcon} from './registry';
|
|
4
|
-
|
|
5
|
-
export default registerIcon('clear', (props: any) => {
|
|
6
|
-
return <svg
|
|
7
|
-
{...props}
|
|
8
|
-
viewBox="0 0 32 32">
|
|
9
|
-
<path fill="currentColor"
|
|
10
|
-
strokeWidth="1"
|
|
11
|
-
stroke="currentColor"
|
|
12
|
-
d="M16.9 16l4.92-4.92c.24-.24.24-.6 0-.84s-.6-.24-.84 0l-4.92 4.92-5.04-4.98c-.24-.24-.6-.24-.84 0s-.24.6 0 .84L15.16 16l-4.98 4.98c-.24.24-.24.6 0 .84s.6.24.84 0L16 16.84l4.98 4.98c.24.24.6.24.84 0s.24-.6 0-.84L16.9 16z"/>
|
|
13
|
-
</svg>
|
|
14
|
-
}, true);
|
|
15
|
-
|
|
1
|
+
/** @jsxImportSource react */
|
|
2
|
+
import {VDOM} from '../../ui/Widget';
|
|
3
|
+
import {registerIcon} from './registry';
|
|
4
|
+
|
|
5
|
+
export default registerIcon('clear', (props: any) => {
|
|
6
|
+
return <svg
|
|
7
|
+
{...props}
|
|
8
|
+
viewBox="0 0 32 32">
|
|
9
|
+
<path fill="currentColor"
|
|
10
|
+
strokeWidth="1"
|
|
11
|
+
stroke="currentColor"
|
|
12
|
+
d="M16.9 16l4.92-4.92c.24-.24.24-.6 0-.84s-.6-.24-.84 0l-4.92 4.92-5.04-4.98c-.24-.24-.6-.24-.84 0s-.24.6 0 .84L15.16 16l-4.98 4.98c-.24.24-.24.6 0 .84s.6.24.84 0L16 16.84l4.98 4.98c.24.24.6.24.84 0s.24-.6 0-.84L16.9 16z"/>
|
|
13
|
+
</svg>
|
|
14
|
+
}, true);
|
|
15
|
+
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
/** @jsxImportSource react */
|
|
2
|
-
import { VDOM } from "../../ui/Widget";
|
|
3
|
-
import { registerIcon } from "./registry";
|
|
4
|
-
|
|
5
|
-
export default registerIcon(
|
|
6
|
-
"close",
|
|
7
|
-
(props: any) => {
|
|
8
|
-
return (
|
|
9
|
-
<svg {...props} viewBox="0 0 32 32">
|
|
10
|
-
<path
|
|
11
|
-
fill="currentColor"
|
|
12
|
-
strokeWidth="1"
|
|
13
|
-
stroke="currentColor"
|
|
14
|
-
d="M17.8 16l9.84-9.84c.48-.48.48-1.2 0-1.68s-1.2-.48-1.68 0l-9.84 9.84L6.04 4.36c-.48-.48-1.2-.48-1.68 0s-.48 1.2 0 1.68L14.32 16l-9.96 9.96c-.48.48-.48 1.2 0 1.68s1.2.48 1.68 0L16 17.68l9.96 9.96c.48.48 1.2.48 1.68 0s.48-1.2 0-1.68L17.8 16z"
|
|
15
|
-
/>
|
|
16
|
-
</svg>
|
|
17
|
-
);
|
|
18
|
-
},
|
|
19
|
-
true
|
|
20
|
-
);
|
|
1
|
+
/** @jsxImportSource react */
|
|
2
|
+
import { VDOM } from "../../ui/Widget";
|
|
3
|
+
import { registerIcon } from "./registry";
|
|
4
|
+
|
|
5
|
+
export default registerIcon(
|
|
6
|
+
"close",
|
|
7
|
+
(props: any) => {
|
|
8
|
+
return (
|
|
9
|
+
<svg {...props} viewBox="0 0 32 32">
|
|
10
|
+
<path
|
|
11
|
+
fill="currentColor"
|
|
12
|
+
strokeWidth="1"
|
|
13
|
+
stroke="currentColor"
|
|
14
|
+
d="M17.8 16l9.84-9.84c.48-.48.48-1.2 0-1.68s-1.2-.48-1.68 0l-9.84 9.84L6.04 4.36c-.48-.48-1.2-.48-1.68 0s-.48 1.2 0 1.68L14.32 16l-9.96 9.96c-.48.48-.48 1.2 0 1.68s1.2.48 1.68 0L16 17.68l9.96 9.96c.48.48 1.2.48 1.68 0s.48-1.2 0-1.68L17.8 16z"
|
|
15
|
+
/>
|
|
16
|
+
</svg>
|
|
17
|
+
);
|
|
18
|
+
},
|
|
19
|
+
true
|
|
20
|
+
);
|