@fewangsit/wangsvue-gsts 2.0.0-alpha.28 → 2.0.0-alpha.29
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/assets/{scanner.worker-Bk2e5hSA.js.map → scanner.worker-DQsz7oT_.js.map} +1 -1
- package/basetree/index.d.ts +31 -0
- package/buttonscan/index.d.ts +6 -0
- package/buttonselecttree/index.d.ts +18 -0
- package/calendar/index.d.ts +41 -0
- package/customcolumn/index.d.ts +5 -5
- package/datatable/index.d.ts +7 -0
- package/dialog/index.d.ts +5 -0
- package/dialogselecttree/index.d.ts +25 -1
- package/fieldwrapper/index.d.ts +5 -0
- package/fileupload/index.d.ts +7 -1
- package/icon/index.d.ts +12 -0
- package/imagecompressor/index.d.ts +1 -1
- package/inputbadge/index.d.ts +4 -0
- package/inputcurrency/index.d.ts +14 -0
- package/inputpassword/index.d.ts +4 -0
- package/mcp/components.json +4776 -0
- package/mcp/components.summary.txt +27 -0
- package/mcp/package.json +5 -5
- package/mcp/skills/figma-to-code/SKILL.md +1 -0
- package/mcp/skills/wangsvue-code-review/SKILL.md +2 -0
- package/mcp/skills/wangsvue-workflow/SKILL.md +1 -0
- package/menu/index.d.ts +4 -0
- package/overlaypanel/index.d.ts +4 -0
- package/package.json +1 -1
- package/plugins/WangsVue.d.ts +2 -1
- package/stats.html +1 -1
- package/style.css +2 -2
- package/tagtype/index.d.ts +1 -1
- package/tree/index.d.ts +34 -0
- package/wangsvue-gsts.es.js +17234 -16701
- package/wangsvue-gsts.es.js.map +1 -1
- package/wangsvue-gsts.system.js +59 -59
- package/wangsvue-gsts.system.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.worker-
|
|
1
|
+
{"version":3,"file":"scanner.worker-DQsz7oT_.js","sources":["../../../library/components/buttonscan/workers/scanner.worker.ts"],"sourcesContent":["interface ConnectionOption {\r\n onopen: (ws: WebSocket, connectionState: ConnectionState) => void;\r\n onmessage: (event: MessageEvent) => void;\r\n onerror: (error: Event) => void;\r\n timeout?: number;\r\n}\r\n\r\ninterface WorkerMessage {\r\n command: string;\r\n sessionId: string;\r\n scanCommand?: string;\r\n userId?: string;\r\n companyCode?: string;\r\n serialNumber?: string;\r\n jenisDevice?: string;\r\n}\r\n\r\ntype ConnectionState = 'established' | 'reused';\r\n\r\nlet socket: WebSocket | null = null;\r\nlet timeoutId: NodeJS.Timeout | null = null; // Stores timeout ID for idle socket connection\r\nlet currentUserId: string | undefined;\r\nlet currentCompanyCode: string | undefined;\r\nlet sessionId: string = ''; // The unique session ID for the current connection\r\n\r\nself.onmessage = (event): void => {\r\n const message: WorkerMessage = event.data;\r\n currentCompanyCode = message.companyCode;\r\n\r\n switch (message.command) {\r\n case 'sync':\r\n sync(message);\r\n break;\r\n case 'connect':\r\n connect(message);\r\n break;\r\n case 'scan':\r\n scan(message);\r\n break;\r\n case 'stopscan':\r\n stopScan(message);\r\n break;\r\n default:\r\n break;\r\n }\r\n};\r\n\r\n/**\r\n * Opens a WebSocket connection if not already open.\r\n * If the connection is open, the `onopen` callback is immediately called.\r\n * @returns {WebSocket} The WebSocket instance.\r\n */\r\nconst openConnection = (opt: ConnectionOption): void => {\r\n let connectionState: ConnectionState = 'established';\r\n if (socket && socket.readyState === WebSocket.OPEN) {\r\n // If the socket is already open, immediately call the onopen callback\r\n connectionState = 'reused';\r\n opt.onopen(socket, connectionState);\r\n resetTimeOut(opt.timeout);\r\n } else {\r\n // If the socket is not open or undefined, create a new connection\r\n socket = new WebSocket(`${import.meta.env.VITE_APP_READER_API}`);\r\n }\r\n\r\n // Handle successful connection\r\n socket.onopen = (): void => {\r\n sessionId =\r\n Math.random().toString(36).substring(2, 15) +\r\n Math.random().toString(36).substring(2, 15); // Generate a random session ID\r\n\r\n connectionState = 'established';\r\n\r\n if (socket) opt.onopen(socket, connectionState); // Execute the onopen callback once the connection is established\r\n resetTimeOut(opt.timeout);\r\n };\r\n\r\n socket.onmessage = (event): void => {\r\n opt.onmessage(event);\r\n resetTimeOut(opt.timeout);\r\n };\r\n\r\n socket.onerror = (error): void => {\r\n console.error('🚀 ~ Scanner Worker: openConnection ~ error:', error);\r\n opt.onerror(error);\r\n socket?.close();\r\n socket = null;\r\n if (timeoutId) clearTimeout(timeoutId);\r\n };\r\n};\r\n\r\nconst handleSocketTimeout = (): void => {\r\n stopScan({ userId: currentUserId });\r\n currentUserId = undefined;\r\n if (socket) socket.close();\r\n socket = null;\r\n if (timeoutId) clearTimeout(timeoutId);\r\n console.info('Socket connection has been closed!');\r\n};\r\n\r\nconst resetTimeOut = (timeout = 0): void => {\r\n if (timeout) {\r\n // Adding this conditional to disable timout, may be sometimes it need to be enable, simpli remove the condition\r\n if (timeoutId) clearTimeout(timeoutId);\r\n timeoutId = setTimeout(handleSocketTimeout, timeout); // Timed out after 3 Minutes\r\n }\r\n};\r\n\r\nconst sync = ({ userId }: WorkerMessage): void => {\r\n currentUserId = userId;\r\n\r\n openConnection({\r\n onopen: (ws: WebSocket): void => {\r\n ws.send(\r\n JSON.stringify({\r\n data: {\r\n command: 'connect',\r\n userId,\r\n sessionId,\r\n companyCode: currentCompanyCode,\r\n source: 'app',\r\n },\r\n event: 'reader',\r\n }),\r\n );\r\n },\r\n\r\n onmessage: (event): void => {\r\n postMessage({ status: 'synced', ...JSON.parse(event.data) });\r\n },\r\n\r\n onerror: (error): void => {\r\n postMessage({ status: 'sync_error', error });\r\n },\r\n });\r\n};\r\n\r\nconst connect = ({ userId }: WorkerMessage): void => {\r\n currentUserId = userId;\r\n\r\n openConnection({\r\n onopen: (ws: WebSocket, state): void => {\r\n if (state === 'established') {\r\n ws.send(\r\n JSON.stringify({\r\n data: {\r\n command: 'connect',\r\n userId,\r\n source: 'app',\r\n sessionId,\r\n companyCode: currentCompanyCode,\r\n },\r\n event: 'reader',\r\n }),\r\n );\r\n } else {\r\n postMessage({\r\n status: 'connection_reused',\r\n });\r\n }\r\n },\r\n\r\n onmessage: (event): void => {\r\n postMessage({\r\n status: 'connection_established',\r\n ...JSON.parse(event.data),\r\n });\r\n },\r\n\r\n onerror: (error): void => {\r\n postMessage({ status: 'error_connecting', error });\r\n },\r\n });\r\n};\r\n\r\nconst scan = ({\r\n scanCommand,\r\n userId,\r\n serialNumber,\r\n jenisDevice,\r\n}: WorkerMessage): void => {\r\n currentUserId = userId;\r\n\r\n openConnection({\r\n onopen: (ws: WebSocket): void => {\r\n ws.send(\r\n JSON.stringify({\r\n data: {\r\n command: scanCommand,\r\n userId,\r\n sessionId,\r\n companyCode: currentCompanyCode,\r\n source: 'app',\r\n serialNumber,\r\n jenisDevice,\r\n },\r\n event: 'reader',\r\n }),\r\n );\r\n\r\n postMessage({ status: 'scan_started' });\r\n },\r\n\r\n onmessage: (event): void => {\r\n postMessage({ status: 'scanned', ...JSON.parse(event.data) });\r\n },\r\n\r\n onerror: (error): void => {\r\n postMessage({ status: 'scan_error', error });\r\n },\r\n });\r\n};\r\n\r\n/**\r\n * Single Scan:\r\n * - Stop Scan will be invoked on socket timeout\r\n *\r\n * Bulk Scan:\r\n * - Stop Scan will also be invoked on stopScan by user interaction\r\n */\r\nconst stopScan = ({ userId }: Partial<WorkerMessage>): void => {\r\n if (socket && socket.readyState === WebSocket.OPEN) {\r\n socket.send(\r\n JSON.stringify({\r\n data: {\r\n command: 'stopscan',\r\n userId,\r\n source: 'app',\r\n sessionId,\r\n companyCode: currentCompanyCode,\r\n },\r\n event: 'reader',\r\n }),\r\n );\r\n\r\n postMessage({ status: 'scan_stopped' });\r\n console.info('Scan Process Stopped!');\r\n }\r\n};\r\n"],"names":["socket","timeoutId","currentUserId","currentCompanyCode","sessionId","event","message","sync","connect","scan","stopScan","openConnection","opt","connectionState","resetTimeOut","error","handleSocketTimeout","timeout","userId","ws","state","scanCommand","serialNumber","jenisDevice"],"mappings":"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"}
|
package/basetree/index.d.ts
CHANGED
|
@@ -90,6 +90,15 @@ export interface TreeNode {
|
|
|
90
90
|
* Icon to use in collapsed state.
|
|
91
91
|
*/
|
|
92
92
|
collapsedIcon?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Available quota for fixed assets in this group.
|
|
95
|
+
*/
|
|
96
|
+
fixedAssetQuota?: { available: number };
|
|
97
|
+
/**
|
|
98
|
+
* Number of assets currently on transfer, subtracted from available quota.
|
|
99
|
+
*/
|
|
100
|
+
assetOnTransferCount?: number;
|
|
101
|
+
level?: number;
|
|
93
102
|
/**
|
|
94
103
|
* Optional
|
|
95
104
|
*/
|
|
@@ -453,6 +462,28 @@ export interface BaseTreeProps {
|
|
|
453
462
|
* @return true to disabled
|
|
454
463
|
*/
|
|
455
464
|
nodeSelectedWhen?: (node: TreeNode) => boolean;
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* When true, shows available quota count below each group node label.
|
|
468
|
+
* Set programmatically by DialogSelectTree when validateQuota is provided.
|
|
469
|
+
*
|
|
470
|
+
* @default false
|
|
471
|
+
*/
|
|
472
|
+
showAvailableQuota?: boolean;
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* When set, nodes whose manager[transactionType] is false will be rendered
|
|
476
|
+
* in a disabled state (data-exact-node-disabled).
|
|
477
|
+
*/
|
|
478
|
+
requiredManagerPermission?: string;
|
|
479
|
+
|
|
480
|
+
/**
|
|
481
|
+
* When true, only top-level nodes (level <= 1) are selectable.
|
|
482
|
+
* Sub-children (level >= 2) are rendered disabled.
|
|
483
|
+
*
|
|
484
|
+
* @default false
|
|
485
|
+
*/
|
|
486
|
+
disableSubChildren?: boolean;
|
|
456
487
|
}
|
|
457
488
|
|
|
458
489
|
/**
|
package/buttonscan/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { ShallowRef, Slot } from 'vue';
|
|
|
2
2
|
|
|
3
3
|
import { TreeNode } from '../basetree';
|
|
4
4
|
import { QueryParams, ShortFetchListResponse } from '../datatable';
|
|
5
|
+
import { TransactionType } from '../tree';
|
|
5
6
|
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers.d';
|
|
6
7
|
|
|
7
8
|
export type KeysModelValue = string[] | number[] | undefined;
|
|
@@ -172,6 +173,23 @@ export interface ButtonSelectTreeProps {
|
|
|
172
173
|
* @default false
|
|
173
174
|
*/
|
|
174
175
|
fetchTreeOnButtonRender?: boolean;
|
|
176
|
+
/**
|
|
177
|
+
* Disable level 2 and deeper nodes (All > Level 1 > Level 2).
|
|
178
|
+
* Only top-level nodes remain selectable.
|
|
179
|
+
*
|
|
180
|
+
* @default false
|
|
181
|
+
*/
|
|
182
|
+
disableSubChildren?: boolean;
|
|
183
|
+
/**
|
|
184
|
+
* Specifies the required manager transaction permission to make a node selectable.
|
|
185
|
+
* If the node's `manager[transaction]` value is false, the node will be rendered in a disabled state.
|
|
186
|
+
*/
|
|
187
|
+
requiredManagerPermission?: TransactionType;
|
|
188
|
+
/**
|
|
189
|
+
* When provided, enables quota validation on select.
|
|
190
|
+
* Also shows available quota count below each group node label automatically.
|
|
191
|
+
*/
|
|
192
|
+
validateQuota?: { assetQuantity: number };
|
|
175
193
|
}
|
|
176
194
|
|
|
177
195
|
export type ButtonSelectTreeEmits = {
|
package/calendar/index.d.ts
CHANGED
|
@@ -520,6 +520,47 @@ export interface CalendarProps {
|
|
|
520
520
|
* @requires selectionMode = 'range'
|
|
521
521
|
*/
|
|
522
522
|
exactSelection?: boolean;
|
|
523
|
+
|
|
524
|
+
/**
|
|
525
|
+
* In range selection mode, if the same date is chosen twice,
|
|
526
|
+
* set whether it should be shown as separate dates ("date 1" - "date 1") or not ("date 1").
|
|
527
|
+
* @default true
|
|
528
|
+
*/
|
|
529
|
+
separateSameDate?: boolean;
|
|
530
|
+
|
|
531
|
+
/**
|
|
532
|
+
* Validate value while the overlay is shown. This function is run on clicking the overlay's Apply button.
|
|
533
|
+
*
|
|
534
|
+
* @returns {boolean} - Return true if the value is valid.
|
|
535
|
+
*/
|
|
536
|
+
overlayValidatorFunction?: (
|
|
537
|
+
value?: number | number[],
|
|
538
|
+
) => Promise<boolean> | boolean;
|
|
539
|
+
|
|
540
|
+
/**
|
|
541
|
+
* Set the custom validator message to show on the overlay.
|
|
542
|
+
* Used alongside overlayValidatorFunction.
|
|
543
|
+
*/
|
|
544
|
+
overlayValidatorMessage?: string;
|
|
545
|
+
|
|
546
|
+
/**
|
|
547
|
+
* Condition to show the date picker message.
|
|
548
|
+
*
|
|
549
|
+
* @returns {string | undefined} - Return the message to show, or undefined if no message should be shown.
|
|
550
|
+
*/
|
|
551
|
+
datePickerMessageFunction?: (value?: number | number[]) => string | undefined;
|
|
552
|
+
|
|
553
|
+
/**
|
|
554
|
+
* Set a message to be shown below the date picker.
|
|
555
|
+
*/
|
|
556
|
+
datePickerMessage?: string;
|
|
557
|
+
|
|
558
|
+
/**
|
|
559
|
+
* Condition to show the overlay validator message inside the overlay.
|
|
560
|
+
*
|
|
561
|
+
* @default false
|
|
562
|
+
*/
|
|
563
|
+
showOverlayValidatorMessage?: boolean;
|
|
523
564
|
}
|
|
524
565
|
|
|
525
566
|
/**
|
package/customcolumn/index.d.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { TableColumn } from '../datatable';
|
|
1
|
+
import { Data, TableColumn } from '../datatable';
|
|
2
2
|
import { ClassComponent } from '../ts-helpers.d';
|
|
3
3
|
|
|
4
4
|
export interface CustomColumnLocaleConfig {
|
|
5
5
|
resetDefaultText: string;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
export type DragableColumn = TableColumn & {
|
|
8
|
+
export type DragableColumn = TableColumn<Data> & {
|
|
9
9
|
order?: number;
|
|
10
10
|
parentHeaderField?: string;
|
|
11
|
-
siblingHeaders?: TableColumn[];
|
|
11
|
+
siblingHeaders?: TableColumn<Data>[];
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
export interface CustomColumnProps {
|
|
15
15
|
tableId: string;
|
|
16
|
-
defaultColumns: TableColumn[];
|
|
17
|
-
visibleColumns: TableColumn[];
|
|
16
|
+
defaultColumns: TableColumn<Data>[];
|
|
17
|
+
visibleColumns: TableColumn<Data>[];
|
|
18
18
|
/**
|
|
19
19
|
* The maximum column count allowed
|
|
20
20
|
* @default infinity
|
package/datatable/index.d.ts
CHANGED
|
@@ -780,6 +780,13 @@ export interface DataTableBaseProps<T extends Data = Data> {
|
|
|
780
780
|
* Total disabled rows in table (used for synchronizing with bulk action button)
|
|
781
781
|
*/
|
|
782
782
|
totalDisabledRows?: number;
|
|
783
|
+
/**
|
|
784
|
+
* Disable all checkboxes in the table (header + body).
|
|
785
|
+
* When true, no rows can be selected.
|
|
786
|
+
*
|
|
787
|
+
* @defaultValue false
|
|
788
|
+
*/
|
|
789
|
+
disableAllCheckboxes?: boolean;
|
|
783
790
|
}
|
|
784
791
|
|
|
785
792
|
export interface DataTableProps<T extends Data> extends DataTableBaseProps<T> {
|
package/dialog/index.d.ts
CHANGED
|
@@ -170,6 +170,11 @@ export interface DialogProps {
|
|
|
170
170
|
* Title content of the dialog.
|
|
171
171
|
*/
|
|
172
172
|
header?: string | undefined;
|
|
173
|
+
/**
|
|
174
|
+
* Unique id for the dialog header element, used for aria-labelledby association.
|
|
175
|
+
* If not provided, a unique id will be auto-generated.
|
|
176
|
+
*/
|
|
177
|
+
headerId?: string;
|
|
173
178
|
/**
|
|
174
179
|
* Footer content of the dialog.
|
|
175
180
|
*/
|
|
@@ -3,7 +3,7 @@ import { Slot } from 'vue';
|
|
|
3
3
|
|
|
4
4
|
import { TreeNode } from '../basetree';
|
|
5
5
|
import { QueryParams, ShortFetchListResponse } from '../datatable';
|
|
6
|
-
import TreeInstance, { TreeProps } from '../tree';
|
|
6
|
+
import TreeInstance, { TransactionType, TreeProps } from '../tree';
|
|
7
7
|
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers.d';
|
|
8
8
|
|
|
9
9
|
export interface DialogSelectTreeProps
|
|
@@ -95,6 +95,24 @@ export interface DialogSelectTreeProps
|
|
|
95
95
|
* @default true
|
|
96
96
|
*/
|
|
97
97
|
propagateSelection?: boolean;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* When provided, enables quota validation on select.
|
|
101
|
+
* Also enables `showAvailableQuota` on the Tree component automatically.
|
|
102
|
+
*/
|
|
103
|
+
validateQuota?: { assetQuantity: number };
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* When set, nodes whose manager[transactionType] is false will be rendered disabled.
|
|
107
|
+
*/
|
|
108
|
+
requiredManagerPermission?: TransactionType;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* When true, only top-level nodes (level <= 1) are selectable.
|
|
112
|
+
*
|
|
113
|
+
* @default false
|
|
114
|
+
*/
|
|
115
|
+
disableSubChildren?: boolean;
|
|
98
116
|
}
|
|
99
117
|
|
|
100
118
|
export type TreeSelectPayload = {
|
|
@@ -119,6 +137,12 @@ export interface DialogSelectTreeSlots {
|
|
|
119
137
|
updateFilter: (newFilter?: string) => void; // Hooks to update internal state filter
|
|
120
138
|
}>;
|
|
121
139
|
|
|
140
|
+
/**
|
|
141
|
+
* Slot rendered between the subHeader and the search input.
|
|
142
|
+
* Use to inject description text or additional content above the tree.
|
|
143
|
+
*/
|
|
144
|
+
description: Slot<Record<string, never>>;
|
|
145
|
+
|
|
122
146
|
/**
|
|
123
147
|
* Slot to customize tree node item
|
|
124
148
|
*/
|
package/fieldwrapper/index.d.ts
CHANGED
|
@@ -64,6 +64,11 @@ export interface FieldWrapperProps {
|
|
|
64
64
|
* @default undefined
|
|
65
65
|
*/
|
|
66
66
|
tooltipPos?: 'top' | 'right' | 'bottom' | 'left';
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* The id of the input element to associate the label with via `for` attribute.
|
|
70
|
+
*/
|
|
71
|
+
inputId?: string;
|
|
67
72
|
}
|
|
68
73
|
|
|
69
74
|
export interface FieldWrapperSlots {
|
package/fileupload/index.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export interface FileUploadProps {
|
|
|
31
31
|
* Be careful while using this props since the validation can't work while using this.
|
|
32
32
|
* You must do manual validation when choosing the file to be set on the component.
|
|
33
33
|
*/
|
|
34
|
-
modelValue?: File | File[];
|
|
34
|
+
modelValue?: File | File[] | string;
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* Props to determine whether file upload support multiple files or not
|
|
@@ -62,6 +62,12 @@ export interface FileUploadProps {
|
|
|
62
62
|
* @defaultValue 'Upload File'
|
|
63
63
|
*/
|
|
64
64
|
label?: string | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* CSS class applied to the label element.
|
|
67
|
+
* Use `'hidden'` to hide the label when the component is used inside a
|
|
68
|
+
* composite that manages its own label (e.g. CustomFieldInput).
|
|
69
|
+
*/
|
|
70
|
+
labelClass?: string | undefined;
|
|
65
71
|
/**
|
|
66
72
|
* Whether to use an upload button.
|
|
67
73
|
* @defaultValue true
|
package/icon/index.d.ts
CHANGED
|
@@ -63,6 +63,8 @@ export type WangsIcons =
|
|
|
63
63
|
| 'expired'
|
|
64
64
|
| 'extension-borrow'
|
|
65
65
|
| 'eye-line'
|
|
66
|
+
| 'fullscreen-line'
|
|
67
|
+
| 'fullscreen-exit-line'
|
|
66
68
|
| 'flag-line'
|
|
67
69
|
| 'file-add-line'
|
|
68
70
|
| 'file-copy-2-line'
|
|
@@ -250,6 +252,16 @@ export interface IconProps {
|
|
|
250
252
|
tooltipPos?: 'top' | 'right' | 'bottom' | 'left';
|
|
251
253
|
|
|
252
254
|
class?: any;
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* When true, sets aria-hidden="true" on the icon element for decorative icons.
|
|
258
|
+
*/
|
|
259
|
+
ariaHidden?: boolean;
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* Defines the aria-label attribute for the icon when interactive.
|
|
263
|
+
*/
|
|
264
|
+
ariaLabel?: string;
|
|
253
265
|
}
|
|
254
266
|
|
|
255
267
|
/**
|
package/inputbadge/index.d.ts
CHANGED
|
@@ -118,6 +118,10 @@ export interface InputBadgeProps {
|
|
|
118
118
|
* Otherwise, the badge will be fully removed, shifting subsequent items.
|
|
119
119
|
*/
|
|
120
120
|
preserveDeletedIndex?: boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Maximum length for the input text and badge editing.
|
|
123
|
+
*/
|
|
124
|
+
maxlength?: number;
|
|
121
125
|
}
|
|
122
126
|
|
|
123
127
|
/**
|
package/inputcurrency/index.d.ts
CHANGED
|
@@ -35,6 +35,14 @@ export interface InputCurrencyProps {
|
|
|
35
35
|
*/
|
|
36
36
|
modelValue?: CurrencyValue;
|
|
37
37
|
|
|
38
|
+
/**
|
|
39
|
+
* Sets the initial value of the field.
|
|
40
|
+
* This will only available with option 'useValidator'.
|
|
41
|
+
*
|
|
42
|
+
* In usecase like edit form, you need to display the previous inputted value.
|
|
43
|
+
*/
|
|
44
|
+
value?: number;
|
|
45
|
+
|
|
38
46
|
/**
|
|
39
47
|
* The input label. Tell the user what input is this.
|
|
40
48
|
*/
|
|
@@ -95,6 +103,12 @@ export interface InputCurrencyProps {
|
|
|
95
103
|
*/
|
|
96
104
|
fieldInfo?: string;
|
|
97
105
|
inputnNumberId?: string;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Whether the currency dropdown should be selectable or not.
|
|
109
|
+
* @defaultValue false
|
|
110
|
+
*/
|
|
111
|
+
selectable?: boolean;
|
|
98
112
|
}
|
|
99
113
|
|
|
100
114
|
/**
|
package/inputpassword/index.d.ts
CHANGED