@rotki/ui-library 2.20.1 → 2.21.0
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/dist/__test__/options.d.ts +7 -0
- package/dist/components/calendar/RuiCalendarMenu.js.map +1 -1
- package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js +3 -1
- package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/date-time-picker/RuiDateTimePicker.js.map +1 -1
- package/dist/components/date-time-picker/RuiDateTimePicker.vue_vue_type_script_setup_true_lang.js +3 -1
- package/dist/components/date-time-picker/RuiDateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/auto-complete/RuiAutoComplete.js.map +1 -1
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue.d.ts +12 -1
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue_vue_type_script_setup_true_lang.js +137 -51
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/file-upload/RuiFileUpload.js +7 -0
- package/dist/components/forms/file-upload/RuiFileUpload.js.map +1 -0
- package/dist/components/forms/file-upload/RuiFileUpload.vue.d.ts +61 -0
- package/dist/components/forms/file-upload/RuiFileUpload.vue_vue_type_script_setup_true_lang.js +269 -0
- package/dist/components/forms/file-upload/RuiFileUpload.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/select/RuiMenuSelect.js.map +1 -1
- package/dist/components/forms/select/RuiMenuSelect.vue_vue_type_script_setup_true_lang.js +7 -1
- package/dist/components/forms/select/RuiMenuSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/index.d.ts +3 -2
- package/dist/components/index.js +2 -1
- package/dist/components/overlays/menu/RuiMenu.js.map +1 -1
- package/dist/components/overlays/menu/RuiMenu.vue.d.ts +6 -0
- package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js +3 -2
- package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/composables/dropdown-menu.d.ts +12 -1
- package/dist/composables/dropdown-menu.js +46 -7
- package/dist/composables/dropdown-menu.js.map +1 -1
- package/dist/composables/forms/auto-complete/keyboard-navigation.js +26 -24
- package/dist/composables/forms/auto-complete/keyboard-navigation.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/library-icons.json +2 -0
- package/dist/style.css +48 -0
- package/dist/utils/helpers.d.ts +4 -0
- package/dist/utils/helpers.js +21 -1
- package/dist/utils/helpers.js.map +1 -1
- package/dist/web-types.json +262 -1
- package/package.json +1 -1
package/dist/style.css
CHANGED
|
@@ -1138,6 +1138,10 @@ html[data-theme="dark"], html.dark {
|
|
|
1138
1138
|
margin-top: 0px !important;
|
|
1139
1139
|
}
|
|
1140
1140
|
|
|
1141
|
+
.-mb-2 {
|
|
1142
|
+
margin-bottom: -0.5rem;
|
|
1143
|
+
}
|
|
1144
|
+
|
|
1141
1145
|
.-ml-\[0\.5625rem\] {
|
|
1142
1146
|
margin-left: -0.5625rem;
|
|
1143
1147
|
}
|
|
@@ -2375,6 +2379,10 @@ html[data-theme="dark"], html.dark {
|
|
|
2375
2379
|
border-top-width: 1px;
|
|
2376
2380
|
}
|
|
2377
2381
|
|
|
2382
|
+
.\!border-solid {
|
|
2383
|
+
border-style: solid !important;
|
|
2384
|
+
}
|
|
2385
|
+
|
|
2378
2386
|
.border-dashed {
|
|
2379
2387
|
border-style: dashed;
|
|
2380
2388
|
}
|
|
@@ -2745,6 +2753,10 @@ html[data-theme="dark"], html.dark {
|
|
|
2745
2753
|
background-color: rgba(var(--rui-error-main), 0.2);
|
|
2746
2754
|
}
|
|
2747
2755
|
|
|
2756
|
+
.bg-rui-error\/\[0\.08\] {
|
|
2757
|
+
background-color: rgba(var(--rui-error-main), 0.08);
|
|
2758
|
+
}
|
|
2759
|
+
|
|
2748
2760
|
.bg-rui-grey-100 {
|
|
2749
2761
|
--tw-bg-opacity: 1;
|
|
2750
2762
|
background-color: rgba(var(--rui-grey-100), var(--tw-bg-opacity, 1));
|
|
@@ -2813,6 +2825,10 @@ html[data-theme="dark"], html.dark {
|
|
|
2813
2825
|
background-color: rgba(var(--rui-primary-main), 0.08);
|
|
2814
2826
|
}
|
|
2815
2827
|
|
|
2828
|
+
.bg-rui-primary\/\[0\.12\] {
|
|
2829
|
+
background-color: rgba(var(--rui-primary-main), 0.12);
|
|
2830
|
+
}
|
|
2831
|
+
|
|
2816
2832
|
.bg-rui-secondary {
|
|
2817
2833
|
--tw-bg-opacity: 1;
|
|
2818
2834
|
background-color: rgba(var(--rui-secondary-main), var(--tw-bg-opacity, 1));
|
|
@@ -2853,6 +2869,14 @@ html[data-theme="dark"], html.dark {
|
|
|
2853
2869
|
background-color: rgba(var(--rui-success-main), 0.2);
|
|
2854
2870
|
}
|
|
2855
2871
|
|
|
2872
|
+
.bg-rui-success\/\[0\.08\] {
|
|
2873
|
+
background-color: rgba(var(--rui-success-main), 0.08);
|
|
2874
|
+
}
|
|
2875
|
+
|
|
2876
|
+
.bg-rui-success\/\[0\.12\] {
|
|
2877
|
+
background-color: rgba(var(--rui-success-main), 0.12);
|
|
2878
|
+
}
|
|
2879
|
+
|
|
2856
2880
|
.bg-rui-warning {
|
|
2857
2881
|
--tw-bg-opacity: 1;
|
|
2858
2882
|
background-color: rgba(var(--rui-warning-main), var(--tw-bg-opacity, 1));
|
|
@@ -3123,6 +3147,10 @@ html[data-theme="dark"], html.dark {
|
|
|
3123
3147
|
padding-right: 0px;
|
|
3124
3148
|
}
|
|
3125
3149
|
|
|
3150
|
+
.pr-1 {
|
|
3151
|
+
padding-right: 0.25rem;
|
|
3152
|
+
}
|
|
3153
|
+
|
|
3126
3154
|
.pr-2 {
|
|
3127
3155
|
padding-right: 0.5rem;
|
|
3128
3156
|
}
|
|
@@ -3139,6 +3167,10 @@ html[data-theme="dark"], html.dark {
|
|
|
3139
3167
|
padding-right: 2rem;
|
|
3140
3168
|
}
|
|
3141
3169
|
|
|
3170
|
+
.pr-\[var\(--rui-scrollbar-gutter\2c 15px\)\] {
|
|
3171
|
+
padding-right: var(--rui-scrollbar-gutter,15px);
|
|
3172
|
+
}
|
|
3173
|
+
|
|
3142
3174
|
.ps-8 {
|
|
3143
3175
|
padding-inline-start: 2rem;
|
|
3144
3176
|
}
|
|
@@ -3383,6 +3415,10 @@ html[data-theme="dark"], html.dark {
|
|
|
3383
3415
|
line-height: 1.25;
|
|
3384
3416
|
}
|
|
3385
3417
|
|
|
3418
|
+
.tracking-wide {
|
|
3419
|
+
letter-spacing: 0.025em;
|
|
3420
|
+
}
|
|
3421
|
+
|
|
3386
3422
|
.\!text-rui-dark-text {
|
|
3387
3423
|
color: var(--rui-dark-text-primary) !important;
|
|
3388
3424
|
}
|
|
@@ -3512,6 +3548,10 @@ html[data-theme="dark"], html.dark {
|
|
|
3512
3548
|
opacity: 0.5;
|
|
3513
3549
|
}
|
|
3514
3550
|
|
|
3551
|
+
.opacity-60 {
|
|
3552
|
+
opacity: 0.6;
|
|
3553
|
+
}
|
|
3554
|
+
|
|
3515
3555
|
.opacity-65 {
|
|
3516
3556
|
opacity: 0.65;
|
|
3517
3557
|
}
|
|
@@ -4617,6 +4657,10 @@ body {
|
|
|
4617
4657
|
background-color: rgba(var(--rui-primary-main), 0.04);
|
|
4618
4658
|
}
|
|
4619
4659
|
|
|
4660
|
+
.hover\:bg-rui-primary\/\[0\.16\]:hover {
|
|
4661
|
+
background-color: rgba(var(--rui-primary-main), 0.16);
|
|
4662
|
+
}
|
|
4663
|
+
|
|
4620
4664
|
.hover\:bg-rui-secondary-darker:hover {
|
|
4621
4665
|
--tw-bg-opacity: 1;
|
|
4622
4666
|
background-color: rgba(var(--rui-secondary-darker), var(--tw-bg-opacity, 1));
|
|
@@ -4878,6 +4922,10 @@ body {
|
|
|
4878
4922
|
color: var(--rui-text-disabled);
|
|
4879
4923
|
}
|
|
4880
4924
|
|
|
4925
|
+
.disabled\:no-underline:disabled {
|
|
4926
|
+
text-decoration-line: none;
|
|
4927
|
+
}
|
|
4928
|
+
|
|
4881
4929
|
.disabled\:outline-rui-text-disabled:disabled {
|
|
4882
4930
|
outline-color: var(--rui-text-disabled);
|
|
4883
4931
|
}
|
package/dist/utils/helpers.d.ts
CHANGED
|
@@ -36,4 +36,8 @@ export declare function transformCase<T extends object>(item: T, to: 'camelCase'
|
|
|
36
36
|
*/
|
|
37
37
|
export declare function getTextToken(string: unknown): string;
|
|
38
38
|
export declare function transformPropsUnit(value?: string | number): string | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Formats a byte count into a human-readable string (e.g. "1.2 MB").
|
|
41
|
+
*/
|
|
42
|
+
export declare function formatFileSize(bytes: number): string;
|
|
39
43
|
export {};
|
package/dist/utils/helpers.js
CHANGED
|
@@ -69,7 +69,27 @@ function transformPropsUnit(value) {
|
|
|
69
69
|
if (value === void 0 || typeof value === "string" && isNaN(Number(value))) return value;
|
|
70
70
|
return `${value}px`;
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Formats a byte count into a human-readable string (e.g. "1.2 MB").
|
|
74
|
+
*/
|
|
75
|
+
function formatFileSize(bytes) {
|
|
76
|
+
if (!Number.isFinite(bytes) || bytes < 0) return "0 B";
|
|
77
|
+
if (bytes < 1024) return `${bytes} B`;
|
|
78
|
+
const units = [
|
|
79
|
+
"KB",
|
|
80
|
+
"MB",
|
|
81
|
+
"GB",
|
|
82
|
+
"TB"
|
|
83
|
+
];
|
|
84
|
+
let value = bytes / 1024;
|
|
85
|
+
let unitIndex = 0;
|
|
86
|
+
while (value >= 1024 && unitIndex < units.length - 1) {
|
|
87
|
+
value /= 1024;
|
|
88
|
+
unitIndex++;
|
|
89
|
+
}
|
|
90
|
+
return `${value.toFixed(value >= 10 ? 0 : 1)} ${units[unitIndex]}`;
|
|
91
|
+
}
|
|
72
92
|
//#endregion
|
|
73
|
-
export { formatInteger, getNonRootAttrs, getRootAttrs, getTextToken, transformCase, transformPropsUnit };
|
|
93
|
+
export { formatFileSize, formatInteger, getNonRootAttrs, getRootAttrs, getTextToken, transformCase, transformPropsUnit };
|
|
74
94
|
|
|
75
95
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":[],"sources":["../../src/utils/helpers.ts"],"sourcesContent":["import type { SetupContext } from 'vue';\nimport { objectOmit, objectPick } from '@vueuse/shared';\nimport { camelCase, snakeCase } from 'scule';\n\ninterface FormatNumberOptions {\n fractionDigits?: number;\n}\n\ntype SetupContextAttrs = SetupContext['attrs'];\n\ntype SetupContextAttrsKeys = (keyof SetupContextAttrs)[];\n\nfunction formatNumber(\n amount: number | string,\n { fractionDigits = 2 }: FormatNumberOptions,\n): string {\n return new Intl.NumberFormat(undefined, {\n maximumFractionDigits: fractionDigits,\n minimumFractionDigits: fractionDigits,\n }).format(Number(amount));\n}\n\n/**\n * Format number value without fraction\n * @param {number} amount\n */\nexport function formatInteger(amount: number | string): string {\n return formatNumber(amount, { fractionDigits: 0 });\n}\n\n/**\n * Generates and returns the array of root allowed attributes\n * @param {SetupContextAttrs} data\n * @returns {SetupContextAttrsKeys}\n */\nfunction getRootKeys(data: SetupContextAttrs): SetupContextAttrsKeys {\n return Object.keys(data).filter(key => key.startsWith('data-')) as SetupContextAttrsKeys;\n}\n\n/**\n * Picks only required attributes for root element\n * @param {SetupContextAttrs} data\n * @param {SetupContextAttrsKeys} include\n * @returns {Pick<SetupContextAttrs, any>}\n */\nexport function getRootAttrs(data: SetupContextAttrs, include: SetupContextAttrsKeys = ['class']) {\n return objectPick(data, [...getRootKeys(data), ...include]);\n}\n\n/**\n * Omits root attributes from component's attributes\n * @param {SetupContextAttrs} data\n * @param {SetupContextAttrsKeys} exclude\n * @returns {Omit<SetupContextAttrs, any>}\n */\nexport function getNonRootAttrs(\n data: SetupContextAttrs,\n exclude: SetupContextAttrsKeys = ['class'],\n) {\n return objectOmit(data, [...getRootKeys(data), ...exclude]);\n}\n\n/**\n * Transforms the keys of an object to either camelCase or snake_case\n * @param {T} item\n * @param {\"camelCase\" | \"snake_case\"} to\n * @returns {Record<string, any>}\n */\nexport function transformCase<T extends object>(\n item: T,\n to: 'camelCase' | 'snake_case',\n): Record<string, T[keyof T]> {\n if (!item)\n return item;\n\n return Object.keys(item).reduce(\n (acc, curr) => {\n if (to === 'camelCase')\n acc[camelCase(curr)] = item[curr as keyof T];\n else acc[snakeCase(curr)] = item[curr as keyof T];\n\n return acc;\n },\n {} as Record<string, T[keyof T]>,\n );\n}\n\n/**\n *\n * @param {string} string - String to convert\n * @return {string} - String converted to text token, mostly used to matching keyword\n * @example\n * getTextToken('this is a sentence'); // thisisasentence\n */\n\nexport function getTextToken(string: unknown): string {\n if (!string)\n return '';\n\n return string\n .toString()\n .toLowerCase()\n .replace(/[^\\da-z]/gi, '');\n}\n\nexport function transformPropsUnit(value?: string | number): string | undefined {\n if (value === undefined || (typeof value === 'string' && isNaN(Number(value))))\n return value;\n return `${value}px`;\n}\n"],"mappings":";;;AAYA,SAAS,aACP,QACA,EAAE,iBAAiB,KACX;AACR,QAAO,IAAI,KAAK,aAAa,KAAA,GAAW;EACtC,uBAAuB;EACvB,uBAAuB;EACxB,CAAC,CAAC,OAAO,OAAO,OAAO,CAAC;;;;;;AAO3B,SAAgB,cAAc,QAAiC;AAC7D,QAAO,aAAa,QAAQ,EAAE,gBAAgB,GAAG,CAAC;;;;;;;AAQpD,SAAS,YAAY,MAAgD;AACnE,QAAO,OAAO,KAAK,KAAK,CAAC,QAAO,QAAO,IAAI,WAAW,QAAQ,CAAC;;;;;;;;AASjE,SAAgB,aAAa,MAAyB,UAAiC,CAAC,QAAQ,EAAE;AAChG,QAAO,WAAW,MAAM,CAAC,GAAG,YAAY,KAAK,EAAE,GAAG,QAAQ,CAAC;;;;;;;;AAS7D,SAAgB,gBACd,MACA,UAAiC,CAAC,QAAQ,EAC1C;AACA,QAAO,WAAW,MAAM,CAAC,GAAG,YAAY,KAAK,EAAE,GAAG,QAAQ,CAAC;;;;;;;;AAS7D,SAAgB,cACd,MACA,IAC4B;AAC5B,KAAI,CAAC,KACH,QAAO;AAET,QAAO,OAAO,KAAK,KAAK,CAAC,QACtB,KAAK,SAAS;AACb,MAAI,OAAO,YACT,KAAI,UAAU,KAAK,IAAI,KAAK;MACzB,KAAI,UAAU,KAAK,IAAI,KAAK;AAEjC,SAAO;IAET,EAAE,CACH;;;;;;;;;AAWH,SAAgB,aAAa,QAAyB;AACpD,KAAI,CAAC,OACH,QAAO;AAET,QAAO,OACJ,UAAU,CACV,aAAa,CACb,QAAQ,cAAc,GAAG;;AAG9B,SAAgB,mBAAmB,OAA6C;AAC9E,KAAI,UAAU,KAAA,KAAc,OAAO,UAAU,YAAY,MAAM,OAAO,MAAM,CAAC,CAC3E,QAAO;AACT,QAAO,GAAG,MAAM"}
|
|
1
|
+
{"version":3,"file":"helpers.js","names":[],"sources":["../../src/utils/helpers.ts"],"sourcesContent":["import type { SetupContext } from 'vue';\nimport { objectOmit, objectPick } from '@vueuse/shared';\nimport { camelCase, snakeCase } from 'scule';\n\ninterface FormatNumberOptions {\n fractionDigits?: number;\n}\n\ntype SetupContextAttrs = SetupContext['attrs'];\n\ntype SetupContextAttrsKeys = (keyof SetupContextAttrs)[];\n\nfunction formatNumber(\n amount: number | string,\n { fractionDigits = 2 }: FormatNumberOptions,\n): string {\n return new Intl.NumberFormat(undefined, {\n maximumFractionDigits: fractionDigits,\n minimumFractionDigits: fractionDigits,\n }).format(Number(amount));\n}\n\n/**\n * Format number value without fraction\n * @param {number} amount\n */\nexport function formatInteger(amount: number | string): string {\n return formatNumber(amount, { fractionDigits: 0 });\n}\n\n/**\n * Generates and returns the array of root allowed attributes\n * @param {SetupContextAttrs} data\n * @returns {SetupContextAttrsKeys}\n */\nfunction getRootKeys(data: SetupContextAttrs): SetupContextAttrsKeys {\n return Object.keys(data).filter(key => key.startsWith('data-')) as SetupContextAttrsKeys;\n}\n\n/**\n * Picks only required attributes for root element\n * @param {SetupContextAttrs} data\n * @param {SetupContextAttrsKeys} include\n * @returns {Pick<SetupContextAttrs, any>}\n */\nexport function getRootAttrs(data: SetupContextAttrs, include: SetupContextAttrsKeys = ['class']) {\n return objectPick(data, [...getRootKeys(data), ...include]);\n}\n\n/**\n * Omits root attributes from component's attributes\n * @param {SetupContextAttrs} data\n * @param {SetupContextAttrsKeys} exclude\n * @returns {Omit<SetupContextAttrs, any>}\n */\nexport function getNonRootAttrs(\n data: SetupContextAttrs,\n exclude: SetupContextAttrsKeys = ['class'],\n) {\n return objectOmit(data, [...getRootKeys(data), ...exclude]);\n}\n\n/**\n * Transforms the keys of an object to either camelCase or snake_case\n * @param {T} item\n * @param {\"camelCase\" | \"snake_case\"} to\n * @returns {Record<string, any>}\n */\nexport function transformCase<T extends object>(\n item: T,\n to: 'camelCase' | 'snake_case',\n): Record<string, T[keyof T]> {\n if (!item)\n return item;\n\n return Object.keys(item).reduce(\n (acc, curr) => {\n if (to === 'camelCase')\n acc[camelCase(curr)] = item[curr as keyof T];\n else acc[snakeCase(curr)] = item[curr as keyof T];\n\n return acc;\n },\n {} as Record<string, T[keyof T]>,\n );\n}\n\n/**\n *\n * @param {string} string - String to convert\n * @return {string} - String converted to text token, mostly used to matching keyword\n * @example\n * getTextToken('this is a sentence'); // thisisasentence\n */\n\nexport function getTextToken(string: unknown): string {\n if (!string)\n return '';\n\n return string\n .toString()\n .toLowerCase()\n .replace(/[^\\da-z]/gi, '');\n}\n\nexport function transformPropsUnit(value?: string | number): string | undefined {\n if (value === undefined || (typeof value === 'string' && isNaN(Number(value))))\n return value;\n return `${value}px`;\n}\n\n/**\n * Formats a byte count into a human-readable string (e.g. \"1.2 MB\").\n */\nexport function formatFileSize(bytes: number): string {\n if (!Number.isFinite(bytes) || bytes < 0)\n return '0 B';\n if (bytes < 1024)\n return `${bytes} B`;\n const units = ['KB', 'MB', 'GB', 'TB'];\n let value = bytes / 1024;\n let unitIndex = 0;\n while (value >= 1024 && unitIndex < units.length - 1) {\n value /= 1024;\n unitIndex++;\n }\n return `${value.toFixed(value >= 10 ? 0 : 1)} ${units[unitIndex]}`;\n}\n"],"mappings":";;;AAYA,SAAS,aACP,QACA,EAAE,iBAAiB,KACX;AACR,QAAO,IAAI,KAAK,aAAa,KAAA,GAAW;EACtC,uBAAuB;EACvB,uBAAuB;EACxB,CAAC,CAAC,OAAO,OAAO,OAAO,CAAC;;;;;;AAO3B,SAAgB,cAAc,QAAiC;AAC7D,QAAO,aAAa,QAAQ,EAAE,gBAAgB,GAAG,CAAC;;;;;;;AAQpD,SAAS,YAAY,MAAgD;AACnE,QAAO,OAAO,KAAK,KAAK,CAAC,QAAO,QAAO,IAAI,WAAW,QAAQ,CAAC;;;;;;;;AASjE,SAAgB,aAAa,MAAyB,UAAiC,CAAC,QAAQ,EAAE;AAChG,QAAO,WAAW,MAAM,CAAC,GAAG,YAAY,KAAK,EAAE,GAAG,QAAQ,CAAC;;;;;;;;AAS7D,SAAgB,gBACd,MACA,UAAiC,CAAC,QAAQ,EAC1C;AACA,QAAO,WAAW,MAAM,CAAC,GAAG,YAAY,KAAK,EAAE,GAAG,QAAQ,CAAC;;;;;;;;AAS7D,SAAgB,cACd,MACA,IAC4B;AAC5B,KAAI,CAAC,KACH,QAAO;AAET,QAAO,OAAO,KAAK,KAAK,CAAC,QACtB,KAAK,SAAS;AACb,MAAI,OAAO,YACT,KAAI,UAAU,KAAK,IAAI,KAAK;MACzB,KAAI,UAAU,KAAK,IAAI,KAAK;AAEjC,SAAO;IAET,EAAE,CACH;;;;;;;;;AAWH,SAAgB,aAAa,QAAyB;AACpD,KAAI,CAAC,OACH,QAAO;AAET,QAAO,OACJ,UAAU,CACV,aAAa,CACb,QAAQ,cAAc,GAAG;;AAG9B,SAAgB,mBAAmB,OAA6C;AAC9E,KAAI,UAAU,KAAA,KAAc,OAAO,UAAU,YAAY,MAAM,OAAO,MAAM,CAAC,CAC3E,QAAO;AACT,QAAO,GAAG,MAAM;;;;;AAMlB,SAAgB,eAAe,OAAuB;AACpD,KAAI,CAAC,OAAO,SAAS,MAAM,IAAI,QAAQ,EACrC,QAAO;AACT,KAAI,QAAQ,KACV,QAAO,GAAG,MAAM;CAClB,MAAM,QAAQ;EAAC;EAAM;EAAM;EAAM;EAAK;CACtC,IAAI,QAAQ,QAAQ;CACpB,IAAI,YAAY;AAChB,QAAO,SAAS,QAAQ,YAAY,MAAM,SAAS,GAAG;AACpD,WAAS;AACT;;AAEF,QAAO,GAAG,MAAM,QAAQ,SAAS,KAAK,IAAI,EAAE,CAAC,GAAG,MAAM"}
|
package/dist/web-types.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json.schemastore.org/web-types",
|
|
3
3
|
"framework": "vue",
|
|
4
4
|
"name": "@rotki/ui-library",
|
|
5
|
-
"version": "2.
|
|
5
|
+
"version": "2.21.0",
|
|
6
6
|
"js-types-syntax": "typescript",
|
|
7
7
|
"description-markup": "markdown",
|
|
8
8
|
"contributions": {
|
|
@@ -4028,6 +4028,24 @@
|
|
|
4028
4028
|
"type": "boolean | undefined"
|
|
4029
4029
|
}
|
|
4030
4030
|
},
|
|
4031
|
+
{
|
|
4032
|
+
"name": "group-by",
|
|
4033
|
+
"description": "",
|
|
4034
|
+
"required": false,
|
|
4035
|
+
"value": {
|
|
4036
|
+
"kind": "expression",
|
|
4037
|
+
"type": "GroupBy<TItem> | undefined"
|
|
4038
|
+
}
|
|
4039
|
+
},
|
|
4040
|
+
{
|
|
4041
|
+
"name": "item-disabled",
|
|
4042
|
+
"description": "",
|
|
4043
|
+
"required": false,
|
|
4044
|
+
"value": {
|
|
4045
|
+
"kind": "expression",
|
|
4046
|
+
"type": "ItemDisabled<TItem> | undefined"
|
|
4047
|
+
}
|
|
4048
|
+
},
|
|
4031
4049
|
{
|
|
4032
4050
|
"name": "model-value",
|
|
4033
4051
|
"description": "",
|
|
@@ -4176,8 +4194,37 @@
|
|
|
4176
4194
|
}
|
|
4177
4195
|
]
|
|
4178
4196
|
},
|
|
4197
|
+
{
|
|
4198
|
+
"name": "group-header",
|
|
4199
|
+
"vue-properties": [
|
|
4200
|
+
{
|
|
4201
|
+
"name": "group",
|
|
4202
|
+
"type": "string"
|
|
4203
|
+
},
|
|
4204
|
+
{
|
|
4205
|
+
"name": "items",
|
|
4206
|
+
"type": "TItem[]"
|
|
4207
|
+
}
|
|
4208
|
+
]
|
|
4209
|
+
},
|
|
4179
4210
|
{
|
|
4180
4211
|
"name": "no-data"
|
|
4212
|
+
},
|
|
4213
|
+
{
|
|
4214
|
+
"name": "placeholder",
|
|
4215
|
+
"vue-properties": [
|
|
4216
|
+
{
|
|
4217
|
+
"name": "disabled",
|
|
4218
|
+
"type": "boolean"
|
|
4219
|
+
},
|
|
4220
|
+
{
|
|
4221
|
+
"name": "readOnly",
|
|
4222
|
+
"type": "boolean"
|
|
4223
|
+
}
|
|
4224
|
+
]
|
|
4225
|
+
},
|
|
4226
|
+
{
|
|
4227
|
+
"name": "footer"
|
|
4181
4228
|
}
|
|
4182
4229
|
],
|
|
4183
4230
|
"js": {
|
|
@@ -4364,6 +4411,211 @@
|
|
|
4364
4411
|
"event": "update:modelValue"
|
|
4365
4412
|
}
|
|
4366
4413
|
},
|
|
4414
|
+
{
|
|
4415
|
+
"name": "RuiFileUpload",
|
|
4416
|
+
"source": {
|
|
4417
|
+
"module": "@rotki/ui-library/components/forms/file-upload/RuiFileUpload.vue",
|
|
4418
|
+
"symbol": "RuiFileUpload"
|
|
4419
|
+
},
|
|
4420
|
+
"attributes": [
|
|
4421
|
+
{
|
|
4422
|
+
"name": "accept",
|
|
4423
|
+
"description": "File type filter (HTML accept attribute syntax). e.g. '.csv', 'image/*', '.png,.jpg'",
|
|
4424
|
+
"required": false,
|
|
4425
|
+
"default": "'*'",
|
|
4426
|
+
"value": {
|
|
4427
|
+
"kind": "expression",
|
|
4428
|
+
"type": "string | undefined"
|
|
4429
|
+
}
|
|
4430
|
+
},
|
|
4431
|
+
{
|
|
4432
|
+
"name": "multiple",
|
|
4433
|
+
"description": "Allow multiple file selection.",
|
|
4434
|
+
"required": false,
|
|
4435
|
+
"default": "false",
|
|
4436
|
+
"value": {
|
|
4437
|
+
"kind": "expression",
|
|
4438
|
+
"type": "boolean | undefined"
|
|
4439
|
+
}
|
|
4440
|
+
},
|
|
4441
|
+
{
|
|
4442
|
+
"name": "disabled",
|
|
4443
|
+
"description": "",
|
|
4444
|
+
"required": false,
|
|
4445
|
+
"default": "false",
|
|
4446
|
+
"value": {
|
|
4447
|
+
"kind": "expression",
|
|
4448
|
+
"type": "boolean | undefined"
|
|
4449
|
+
}
|
|
4450
|
+
},
|
|
4451
|
+
{
|
|
4452
|
+
"name": "loading",
|
|
4453
|
+
"description": "Shows a loading overlay (consumer-driven, e.g. while uploading).",
|
|
4454
|
+
"required": false,
|
|
4455
|
+
"default": "false",
|
|
4456
|
+
"value": {
|
|
4457
|
+
"kind": "expression",
|
|
4458
|
+
"type": "boolean | undefined"
|
|
4459
|
+
}
|
|
4460
|
+
},
|
|
4461
|
+
{
|
|
4462
|
+
"name": "progress",
|
|
4463
|
+
"description": "Upload progress 0-100. When provided alongside `loading`, the overlay shows a determinate progress bar with percentage.",
|
|
4464
|
+
"required": false,
|
|
4465
|
+
"default": "undefined",
|
|
4466
|
+
"value": {
|
|
4467
|
+
"kind": "expression",
|
|
4468
|
+
"type": "number | undefined"
|
|
4469
|
+
}
|
|
4470
|
+
},
|
|
4471
|
+
{
|
|
4472
|
+
"name": "uploaded",
|
|
4473
|
+
"description": "Renders the success state border/icon. Consumer toggles back to false.",
|
|
4474
|
+
"required": false,
|
|
4475
|
+
"default": "false",
|
|
4476
|
+
"value": {
|
|
4477
|
+
"kind": "expression",
|
|
4478
|
+
"type": "boolean | undefined"
|
|
4479
|
+
}
|
|
4480
|
+
},
|
|
4481
|
+
{
|
|
4482
|
+
"name": "max-size",
|
|
4483
|
+
"description": "Optional max size per file in bytes; failures emit `error` and set internal error state.",
|
|
4484
|
+
"required": false,
|
|
4485
|
+
"default": "undefined",
|
|
4486
|
+
"value": {
|
|
4487
|
+
"kind": "expression",
|
|
4488
|
+
"type": "number | undefined"
|
|
4489
|
+
}
|
|
4490
|
+
},
|
|
4491
|
+
{
|
|
4492
|
+
"name": "error-messages",
|
|
4493
|
+
"description": "External error messages (e.g. from Vuelidate). Shown via the standard form detail block.",
|
|
4494
|
+
"required": false,
|
|
4495
|
+
"default": "[]",
|
|
4496
|
+
"value": {
|
|
4497
|
+
"kind": "expression",
|
|
4498
|
+
"type": "string | string[] | undefined"
|
|
4499
|
+
}
|
|
4500
|
+
},
|
|
4501
|
+
{
|
|
4502
|
+
"name": "hint",
|
|
4503
|
+
"description": "Hint text below the dropzone.",
|
|
4504
|
+
"required": false,
|
|
4505
|
+
"default": "''",
|
|
4506
|
+
"value": {
|
|
4507
|
+
"kind": "expression",
|
|
4508
|
+
"type": "string | undefined"
|
|
4509
|
+
}
|
|
4510
|
+
},
|
|
4511
|
+
{
|
|
4512
|
+
"name": "no-drop",
|
|
4513
|
+
"description": "Disable drag-and-drop; the dropzone becomes click-only (matches rotki.com use case).",
|
|
4514
|
+
"required": false,
|
|
4515
|
+
"default": "false",
|
|
4516
|
+
"value": {
|
|
4517
|
+
"kind": "expression",
|
|
4518
|
+
"type": "boolean | undefined"
|
|
4519
|
+
}
|
|
4520
|
+
},
|
|
4521
|
+
{
|
|
4522
|
+
"name": "upload-text",
|
|
4523
|
+
"description": "Replace the default \"Drag and drop or {button}\" copy.",
|
|
4524
|
+
"required": false,
|
|
4525
|
+
"default": "'Drag and drop or'",
|
|
4526
|
+
"value": {
|
|
4527
|
+
"kind": "expression",
|
|
4528
|
+
"type": "string | undefined"
|
|
4529
|
+
}
|
|
4530
|
+
},
|
|
4531
|
+
{
|
|
4532
|
+
"name": "click-to-upload-text",
|
|
4533
|
+
"description": "Label shown on the inline button when no file is selected.",
|
|
4534
|
+
"required": false,
|
|
4535
|
+
"default": "'click to upload'",
|
|
4536
|
+
"value": {
|
|
4537
|
+
"kind": "expression",
|
|
4538
|
+
"type": "string | undefined"
|
|
4539
|
+
}
|
|
4540
|
+
},
|
|
4541
|
+
{
|
|
4542
|
+
"name": "replace-text",
|
|
4543
|
+
"description": "Label shown on the inline button when one or more files are already selected.",
|
|
4544
|
+
"required": false,
|
|
4545
|
+
"default": "'replace file'",
|
|
4546
|
+
"value": {
|
|
4547
|
+
"kind": "expression",
|
|
4548
|
+
"type": "string | undefined"
|
|
4549
|
+
}
|
|
4550
|
+
},
|
|
4551
|
+
{
|
|
4552
|
+
"name": "hide-details",
|
|
4553
|
+
"description": "Hide the bottom hint/error details strip.",
|
|
4554
|
+
"required": false,
|
|
4555
|
+
"default": "false",
|
|
4556
|
+
"value": {
|
|
4557
|
+
"kind": "expression",
|
|
4558
|
+
"type": "boolean | undefined"
|
|
4559
|
+
}
|
|
4560
|
+
},
|
|
4561
|
+
{
|
|
4562
|
+
"name": "model-value",
|
|
4563
|
+
"description": "",
|
|
4564
|
+
"required": true,
|
|
4565
|
+
"value": {
|
|
4566
|
+
"kind": "expression",
|
|
4567
|
+
"type": "File | File[] | undefined"
|
|
4568
|
+
}
|
|
4569
|
+
}
|
|
4570
|
+
],
|
|
4571
|
+
"slots": [
|
|
4572
|
+
{
|
|
4573
|
+
"name": "preview",
|
|
4574
|
+
"vue-properties": [
|
|
4575
|
+
{
|
|
4576
|
+
"name": "files",
|
|
4577
|
+
"type": "File[]"
|
|
4578
|
+
},
|
|
4579
|
+
{
|
|
4580
|
+
"name": "remove",
|
|
4581
|
+
"type": "() => void"
|
|
4582
|
+
}
|
|
4583
|
+
]
|
|
4584
|
+
},
|
|
4585
|
+
{
|
|
4586
|
+
"name": "icon"
|
|
4587
|
+
},
|
|
4588
|
+
{
|
|
4589
|
+
"name": "description"
|
|
4590
|
+
}
|
|
4591
|
+
],
|
|
4592
|
+
"js": {
|
|
4593
|
+
"events": [
|
|
4594
|
+
{
|
|
4595
|
+
"name": "error",
|
|
4596
|
+
"arguments": [
|
|
4597
|
+
{
|
|
4598
|
+
"name": "argument",
|
|
4599
|
+
"type": "[message: string]"
|
|
4600
|
+
}
|
|
4601
|
+
]
|
|
4602
|
+
},
|
|
4603
|
+
{
|
|
4604
|
+
"name": "update:modelValue",
|
|
4605
|
+
"arguments": [
|
|
4606
|
+
{
|
|
4607
|
+
"name": "argument",
|
|
4608
|
+
"type": "[value: File | File[] | undefined]"
|
|
4609
|
+
}
|
|
4610
|
+
]
|
|
4611
|
+
}
|
|
4612
|
+
]
|
|
4613
|
+
},
|
|
4614
|
+
"vue-model": {
|
|
4615
|
+
"prop": "modelValue",
|
|
4616
|
+
"event": "update:modelValue"
|
|
4617
|
+
}
|
|
4618
|
+
},
|
|
4367
4619
|
{
|
|
4368
4620
|
"name": "RuiRevealableTextField",
|
|
4369
4621
|
"source": {
|
|
@@ -6466,6 +6718,15 @@
|
|
|
6466
6718
|
"type": "boolean | undefined"
|
|
6467
6719
|
}
|
|
6468
6720
|
},
|
|
6721
|
+
{
|
|
6722
|
+
"name": "anchor-el",
|
|
6723
|
+
"description": "Optional external element to anchor the menu to, instead of the\nactivator slot's wrapper. When set, the menu's position is computed\nagainst this element.",
|
|
6724
|
+
"required": false,
|
|
6725
|
+
"value": {
|
|
6726
|
+
"kind": "expression",
|
|
6727
|
+
"type": "HTMLElement | undefined"
|
|
6728
|
+
}
|
|
6729
|
+
},
|
|
6469
6730
|
{
|
|
6470
6731
|
"name": "model-value",
|
|
6471
6732
|
"description": "",
|