quasar 2.7.7 → 2.8.1
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/api/Loading.json +57 -1
- package/dist/api/QBtnDropdown.json +4 -0
- package/dist/api/QEditor.json +105 -97
- package/dist/api/QField.json +6 -0
- package/dist/api/QFile.json +6 -0
- package/dist/api/QInput.json +6 -0
- package/dist/api/QSelect.json +6 -0
- package/dist/api/QTable.json +36 -49
- package/dist/api/QUploader.json +86 -8
- package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/material-icons.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +2 -2
- package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +2 -2
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-themify.umd.prod.js +1 -1
- package/dist/icon-set/themify.umd.prod.js +1 -1
- package/dist/lang/ar-TN.umd.prod.js +1 -1
- package/dist/lang/ar.umd.prod.js +1 -1
- package/dist/lang/az-Latn.umd.prod.js +1 -1
- package/dist/lang/bg.umd.prod.js +1 -1
- package/dist/lang/bn.umd.prod.js +1 -1
- package/dist/lang/ca.umd.prod.js +1 -1
- package/dist/lang/cs.umd.prod.js +1 -1
- package/dist/lang/da.umd.prod.js +1 -1
- package/dist/lang/de.umd.prod.js +1 -1
- package/dist/lang/el.umd.prod.js +1 -1
- package/dist/lang/en-GB.umd.prod.js +1 -1
- package/dist/lang/en-US.umd.prod.js +1 -1
- package/dist/lang/eo.umd.prod.js +1 -1
- package/dist/lang/es.umd.prod.js +1 -1
- package/dist/lang/et.umd.prod.js +1 -1
- package/dist/lang/eu.umd.prod.js +1 -1
- package/dist/lang/fa-IR.umd.prod.js +1 -1
- package/dist/lang/fa.umd.prod.js +1 -1
- package/dist/lang/fi.umd.prod.js +1 -1
- package/dist/lang/fr.umd.prod.js +1 -1
- package/dist/lang/gn.umd.prod.js +1 -1
- package/dist/lang/he.umd.prod.js +1 -1
- package/dist/lang/hr.umd.prod.js +1 -1
- package/dist/lang/hu.umd.prod.js +1 -1
- package/dist/lang/id.umd.prod.js +1 -1
- package/dist/lang/is.umd.prod.js +1 -1
- package/dist/lang/it.umd.prod.js +1 -1
- package/dist/lang/ja.umd.prod.js +1 -1
- package/dist/lang/km.umd.prod.js +1 -1
- package/dist/lang/ko-KR.umd.prod.js +1 -1
- package/dist/lang/kur-CKB.umd.prod.js +1 -1
- package/dist/lang/kz.umd.prod.js +1 -1
- package/dist/lang/lt.umd.prod.js +1 -1
- package/dist/lang/lu.umd.prod.js +1 -1
- package/dist/lang/lv.umd.prod.js +1 -1
- package/dist/lang/ml.umd.prod.js +1 -1
- package/dist/lang/mm.umd.prod.js +1 -1
- package/dist/lang/ms.umd.prod.js +1 -1
- package/dist/lang/my.umd.prod.js +1 -1
- package/dist/lang/nb-NO.umd.prod.js +1 -1
- package/dist/lang/nl.umd.prod.js +1 -1
- package/dist/lang/pl.umd.prod.js +1 -1
- package/dist/lang/pt-BR.umd.prod.js +1 -1
- package/dist/lang/pt.umd.prod.js +1 -1
- package/dist/lang/ro.umd.prod.js +1 -1
- package/dist/lang/ru.umd.prod.js +1 -1
- package/dist/lang/sk.umd.prod.js +1 -1
- package/dist/lang/sl.umd.prod.js +1 -1
- package/dist/lang/sm.umd.prod.js +1 -1
- package/dist/lang/sr-CYR.umd.prod.js +1 -1
- package/dist/lang/sr.umd.prod.js +1 -1
- package/dist/lang/sv.umd.prod.js +1 -1
- package/dist/lang/ta.umd.prod.js +1 -1
- package/dist/lang/th.umd.prod.js +1 -1
- package/dist/lang/tr.umd.prod.js +1 -1
- package/dist/lang/ug.umd.prod.js +1 -1
- package/dist/lang/uk.umd.prod.js +1 -1
- package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
- package/dist/lang/uz-Latn.umd.prod.js +1 -1
- package/dist/lang/vi.umd.prod.js +1 -1
- package/dist/lang/zh-CN.umd.prod.js +1 -1
- package/dist/lang/zh-TW.umd.prod.js +1 -1
- package/dist/quasar.cjs.prod.js +2 -2
- package/dist/quasar.esm.js +39647 -0
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.sass +1 -1
- package/dist/quasar.umd.js +355 -295
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/transforms/import-map.json +1 -0
- package/dist/types/index.d.ts +223 -117
- package/dist/web-types/web-types.json +6 -1
- package/package.json +1 -1
- package/src/components/banner/QBanner.js +2 -2
- package/src/components/bar/QBar.js +2 -2
- package/src/components/btn-dropdown/QBtnDropdown.js +8 -2
- package/src/components/btn-dropdown/QBtnDropdown.json +5 -0
- package/src/components/card/QCard.js +2 -2
- package/src/components/carousel/QCarousel.js +1 -1
- package/src/components/date/QDate.js +6 -6
- package/src/components/dialog-plugin/DialogPlugin.js +1 -1
- package/src/components/editor/QEditor.js +5 -5
- package/src/components/editor/QEditor.json +76 -67
- package/src/components/infinite-scroll/QInfiniteScroll.js +7 -7
- package/src/components/page-sticky/use-page-sticky.js +1 -2
- package/src/components/popup-edit/QPopupEdit.js +10 -10
- package/src/components/popup-proxy/QPopupProxy.js +7 -7
- package/src/components/pull-to-refresh/QPullToRefresh.js +3 -3
- package/src/components/range/QRange.js +5 -1
- package/src/components/resize-observer/QResizeObserver.js +6 -6
- package/src/components/scroll-area/QScrollArea.js +25 -25
- package/src/components/scroll-observer/QScrollObserver.js +3 -3
- package/src/components/select/QSelect.js +2 -1
- package/src/components/slider/QSlider.js +5 -1
- package/src/components/slider/use-slider.js +1 -1
- package/src/components/table/QTable.json +28 -50
- package/src/components/table/table-column-selection.js +1 -1
- package/src/components/table/table-pagination.js +0 -4
- package/src/components/table/table-sort.js +1 -1
- package/src/components/time/QTime.js +5 -5
- package/src/components/tree/QTree.js +2 -2
- package/src/components/uploader/QUploader.json +107 -0
- package/src/components/uploader/__tests__/QUploader.spec.js +33 -2
- package/src/components/uploader/uploader-core.js +48 -53
- package/src/composables/private/use-field.js +5 -4
- package/src/composables/private/use-file.js +1 -0
- package/src/composables/private/use-panel.js +7 -7
- package/src/composables/private/use-portal.js +7 -7
- package/src/composables/private/use-validate.json +7 -0
- package/src/directives/ClosePopup.js +4 -4
- package/src/directives/Intersection.js +1 -1
- package/src/index.dev.js +16 -0
- package/src/{index.all.js → index.ssr.js} +0 -0
- package/src/install-quasar.js +1 -1
- package/src/plugins/Loading.js +122 -73
- package/src/plugins/Loading.json +48 -1
- package/src/plugins/LoadingBar.js +1 -1
- package/src/plugins/Notify.js +1 -1
- package/src/utils/create-uploader-component.js +1 -1
- package/src/utils/date.js +1 -1
- package/src/utils/dom.js +2 -5
- package/src/utils/{private/is.js → is.js} +11 -7
- package/src/utils/morph.js +1 -1
- package/src/utils/open-url.js +7 -2
- package/src/utils/private/click-outside.js +3 -3
- package/src/utils/private/date-persian.js +12 -12
- package/src/utils/private/portal.js +24 -24
- package/src/utils/private/vm.js +10 -9
- package/src/utils/private/web-storage.js +1 -1
- package/src/utils.js +2 -0
|
@@ -185,6 +185,7 @@
|
|
|
185
185
|
"format": "src/utils/format.js",
|
|
186
186
|
"frameDebounce": "src/utils/frame-debounce.js",
|
|
187
187
|
"getCssVar": "src/utils/get-css-var.js",
|
|
188
|
+
"is": "src/utils/is.js",
|
|
188
189
|
"morph": "src/utils/morph.js",
|
|
189
190
|
"openURL": "src/utils/open-url.js",
|
|
190
191
|
"patterns": "src/utils/patterns.js",
|
package/dist/types/index.d.ts
CHANGED
|
@@ -244,57 +244,14 @@ export interface Loading {
|
|
|
244
244
|
/**
|
|
245
245
|
* Activate and show
|
|
246
246
|
* @param opts All props are optional
|
|
247
|
+
* @returns Calling this function with no parameters hides the group; When called with one Object parameter then it updates the Loading group (specified properties are shallow merged with the group ones; note that group cannot be changed while updating and it is ignored)
|
|
247
248
|
*/
|
|
248
|
-
show: (opts?:
|
|
249
|
-
/**
|
|
250
|
-
* Wait a number of millisecond before showing; Not worth showing for 100ms for example then hiding it, so wait until you're sure it's a process that will take some considerable amount of time
|
|
251
|
-
*/
|
|
252
|
-
delay?: number;
|
|
253
|
-
/**
|
|
254
|
-
* Message to display
|
|
255
|
-
*/
|
|
256
|
-
message?: string;
|
|
257
|
-
/**
|
|
258
|
-
* Render the message as HTML; This can lead to XSS attacks so make sure that you sanitize the message first
|
|
259
|
-
*/
|
|
260
|
-
html?: boolean;
|
|
261
|
-
/**
|
|
262
|
-
* Content wrapped element custom classes
|
|
263
|
-
*/
|
|
264
|
-
boxClass?: string;
|
|
265
|
-
/**
|
|
266
|
-
* Spinner size (in pixels)
|
|
267
|
-
*/
|
|
268
|
-
spinnerSize?: number;
|
|
269
|
-
/**
|
|
270
|
-
* Color name for spinner from the Quasar Color Palette
|
|
271
|
-
*/
|
|
272
|
-
spinnerColor?: string;
|
|
273
|
-
/**
|
|
274
|
-
* Color name for text from the Quasar Color Palette
|
|
275
|
-
*/
|
|
276
|
-
messageColor?: string;
|
|
277
|
-
/**
|
|
278
|
-
* Color name for background from the Quasar Color Palette
|
|
279
|
-
*/
|
|
280
|
-
backgroundColor?: string;
|
|
281
|
-
/**
|
|
282
|
-
* One of the QSpinners
|
|
283
|
-
*/
|
|
284
|
-
spinner?: Component;
|
|
285
|
-
/**
|
|
286
|
-
* Add a CSS class to easily customize the component
|
|
287
|
-
*/
|
|
288
|
-
customClass?: string;
|
|
289
|
-
/**
|
|
290
|
-
* Ignore the default configuration (set by setDefaults()) for this instance only
|
|
291
|
-
*/
|
|
292
|
-
ignoreDefaults?: boolean;
|
|
293
|
-
}) => void;
|
|
249
|
+
show: (opts?: QLoadingShowOptions) => (props?: QLoadingUpdateOptions) => void;
|
|
294
250
|
/**
|
|
295
251
|
* Hide it
|
|
252
|
+
* @param group Optional Loading group name to hide instead of hiding all groups
|
|
296
253
|
*/
|
|
297
|
-
hide: () => void;
|
|
254
|
+
hide: (group?: string) => void;
|
|
298
255
|
/**
|
|
299
256
|
* Merge options into the default ones
|
|
300
257
|
* @param opts Pick the subprop you want to define
|
|
@@ -308,6 +265,11 @@ export interface Loading {
|
|
|
308
265
|
* Message to display
|
|
309
266
|
*/
|
|
310
267
|
message?: string;
|
|
268
|
+
/**
|
|
269
|
+
* Default Loading group name
|
|
270
|
+
* Default value: __default_quasar_group__
|
|
271
|
+
*/
|
|
272
|
+
group?: string;
|
|
311
273
|
/**
|
|
312
274
|
* Spinner size (in pixels)
|
|
313
275
|
*/
|
|
@@ -1430,6 +1392,10 @@ export interface QBtnDropdownSlots {
|
|
|
1430
1392
|
* Customize main button's content through this slot, unless you're using the 'icon' and 'label' props
|
|
1431
1393
|
*/
|
|
1432
1394
|
label: () => VNode[];
|
|
1395
|
+
/**
|
|
1396
|
+
* Override the default QSpinner when in 'loading' state
|
|
1397
|
+
*/
|
|
1398
|
+
loading: () => VNode[];
|
|
1433
1399
|
}
|
|
1434
1400
|
|
|
1435
1401
|
export interface QBtnDropdown
|
|
@@ -3355,58 +3321,9 @@ export interface QEditorProps {
|
|
|
3355
3321
|
definitions?:
|
|
3356
3322
|
| {
|
|
3357
3323
|
/**
|
|
3358
|
-
*
|
|
3359
|
-
*/
|
|
3360
|
-
label?: string;
|
|
3361
|
-
/**
|
|
3362
|
-
* Text to be displayed as a tooltip on hover
|
|
3324
|
+
* Command definition
|
|
3363
3325
|
*/
|
|
3364
|
-
|
|
3365
|
-
/**
|
|
3366
|
-
* HTML formatted text to be displayed within a tooltip on hover
|
|
3367
|
-
*/
|
|
3368
|
-
htmlTip?: string;
|
|
3369
|
-
/**
|
|
3370
|
-
* Icon of the button
|
|
3371
|
-
*/
|
|
3372
|
-
icon?: string;
|
|
3373
|
-
/**
|
|
3374
|
-
* Keycode of a key to be used together with the <ctrl> key for use as a shortcut to trigger this element
|
|
3375
|
-
*/
|
|
3376
|
-
key?: number;
|
|
3377
|
-
/**
|
|
3378
|
-
* Either this or "cmd" is required. Function for when button gets clicked/tapped.
|
|
3379
|
-
*/
|
|
3380
|
-
handler?: () => void;
|
|
3381
|
-
/**
|
|
3382
|
-
* Either this or "handler" is required. This must be a valid execCommand method according to the designMode API.
|
|
3383
|
-
*/
|
|
3384
|
-
cmd?: string;
|
|
3385
|
-
/**
|
|
3386
|
-
* Only set a param if using a "cmd". This is commonly text or HTML to inject, but is highly dependent upon the specific cmd being called.
|
|
3387
|
-
*/
|
|
3388
|
-
param?: string;
|
|
3389
|
-
/**
|
|
3390
|
-
* Is button disabled?
|
|
3391
|
-
* @returns If true, the button will be disabled
|
|
3392
|
-
*/
|
|
3393
|
-
disable?: boolean | (() => boolean);
|
|
3394
|
-
/**
|
|
3395
|
-
* Pass the value "no-state" if the button should not have an "active" state
|
|
3396
|
-
*/
|
|
3397
|
-
type?: "no-state";
|
|
3398
|
-
/**
|
|
3399
|
-
* Lock the button label, so it doesn't change based on the child option selected.
|
|
3400
|
-
*/
|
|
3401
|
-
fixedLabel?: boolean;
|
|
3402
|
-
/**
|
|
3403
|
-
* Lock the button icon, so it doesn't change based on the child option selected.
|
|
3404
|
-
*/
|
|
3405
|
-
fixedIcon?: boolean;
|
|
3406
|
-
/**
|
|
3407
|
-
* Highlight the toolbar button, when a child option has been selected.
|
|
3408
|
-
*/
|
|
3409
|
-
highlight?: boolean;
|
|
3326
|
+
[commandName: string]: QEditorCommand;
|
|
3410
3327
|
}
|
|
3411
3328
|
| undefined;
|
|
3412
3329
|
/**
|
|
@@ -4291,6 +4208,10 @@ export interface QField extends ComponentPublicInstance<QFieldProps> {
|
|
|
4291
4208
|
* Blur field (lose focus)
|
|
4292
4209
|
*/
|
|
4293
4210
|
blur: () => void;
|
|
4211
|
+
/**
|
|
4212
|
+
* Whether the component is in error state
|
|
4213
|
+
*/
|
|
4214
|
+
readonly hasError: boolean;
|
|
4294
4215
|
}
|
|
4295
4216
|
|
|
4296
4217
|
export interface QFileProps {
|
|
@@ -4653,6 +4574,10 @@ export interface QFile extends ComponentPublicInstance<QFileProps> {
|
|
|
4653
4574
|
* @returns The underlying native input DOM Element
|
|
4654
4575
|
*/
|
|
4655
4576
|
getNativeElement: () => any;
|
|
4577
|
+
/**
|
|
4578
|
+
* Whether the component is in error state
|
|
4579
|
+
*/
|
|
4580
|
+
readonly hasError: boolean;
|
|
4656
4581
|
}
|
|
4657
4582
|
|
|
4658
4583
|
export interface QFooterProps {
|
|
@@ -5442,6 +5367,10 @@ export interface QInput extends ComponentPublicInstance<QInputProps> {
|
|
|
5442
5367
|
* @returns The underlying native input/textarea DOM Element
|
|
5443
5368
|
*/
|
|
5444
5369
|
getNativeElement: () => any;
|
|
5370
|
+
/**
|
|
5371
|
+
* Whether the component is in error state
|
|
5372
|
+
*/
|
|
5373
|
+
readonly hasError: boolean;
|
|
5445
5374
|
}
|
|
5446
5375
|
|
|
5447
5376
|
export interface QIntersectionProps {
|
|
@@ -8481,6 +8410,10 @@ export interface QSelect extends ComponentPublicInstance<QSelectProps> {
|
|
|
8481
8410
|
* @returns Option is disabled or not
|
|
8482
8411
|
*/
|
|
8483
8412
|
isOptionDisabled: (opt: any) => boolean;
|
|
8413
|
+
/**
|
|
8414
|
+
* Whether the component is in error state
|
|
8415
|
+
*/
|
|
8416
|
+
readonly hasError: boolean;
|
|
8484
8417
|
}
|
|
8485
8418
|
|
|
8486
8419
|
export interface QSeparatorProps {
|
|
@@ -10244,19 +10177,9 @@ export interface QTableProps {
|
|
|
10244
10177
|
rowsPerPage: number;
|
|
10245
10178
|
};
|
|
10246
10179
|
/**
|
|
10247
|
-
*
|
|
10248
|
-
* @param rows Array of rows
|
|
10249
|
-
* @param terms Terms to filter with (is essentially the 'filter' prop value)
|
|
10250
|
-
* @param cols Optional column definitions
|
|
10251
|
-
* @param getCellValue Optional function to get a cell value
|
|
10252
|
-
* @returns Filtered rows
|
|
10180
|
+
* String/Object to filter table with (the 'filter' prop)
|
|
10253
10181
|
*/
|
|
10254
|
-
filter
|
|
10255
|
-
rows: readonly any[],
|
|
10256
|
-
terms: string | any,
|
|
10257
|
-
cols?: readonly any[],
|
|
10258
|
-
getCellValue?: (col: any, row: any) => any
|
|
10259
|
-
) => readonly any[];
|
|
10182
|
+
filter?: string | any;
|
|
10260
10183
|
/**
|
|
10261
10184
|
* Function to get a cell value
|
|
10262
10185
|
* @param col Column name from column definitions
|
|
@@ -11271,6 +11194,10 @@ export interface QTable extends ComponentPublicInstance<QTableProps> {
|
|
|
11271
11194
|
* How many rows per page? 0 means Infinite
|
|
11272
11195
|
*/
|
|
11273
11196
|
rowsPerPage?: number;
|
|
11197
|
+
/**
|
|
11198
|
+
* For server-side fetching only. How many total database rows are there to be added to the table.
|
|
11199
|
+
*/
|
|
11200
|
+
rowsNumber?: number;
|
|
11274
11201
|
};
|
|
11275
11202
|
/**
|
|
11276
11203
|
* Filtering method (the 'filter-method' prop)
|
|
@@ -11374,6 +11301,18 @@ export interface QTable extends ComponentPublicInstance<QTableProps> {
|
|
|
11374
11301
|
| "center-force"
|
|
11375
11302
|
| "end-force"
|
|
11376
11303
|
) => void;
|
|
11304
|
+
/**
|
|
11305
|
+
* The filtered and sorted rows (same as the rows prop if using server-side fetching)
|
|
11306
|
+
*/
|
|
11307
|
+
readonly filteredSortedRows: readonly any[];
|
|
11308
|
+
/**
|
|
11309
|
+
* Paginated, filtered, and sorted rows (same as the rows prop if using server-side fetching)
|
|
11310
|
+
*/
|
|
11311
|
+
readonly computedRows: readonly any[];
|
|
11312
|
+
/**
|
|
11313
|
+
* The number of computed rows
|
|
11314
|
+
*/
|
|
11315
|
+
readonly computedRowsNumber: number;
|
|
11377
11316
|
}
|
|
11378
11317
|
|
|
11379
11318
|
export interface QTdProps {
|
|
@@ -12833,15 +12772,15 @@ export interface QUploaderSlots {
|
|
|
12833
12772
|
|
|
12834
12773
|
export interface QUploader extends ComponentPublicInstance<QUploaderProps> {
|
|
12835
12774
|
/**
|
|
12836
|
-
* Trigger file
|
|
12837
|
-
* @param evt JS event object
|
|
12775
|
+
* Trigger the file picker dialog; The event must come from a user interaction event handler
|
|
12776
|
+
* @param evt JS event object of the original user interaction handler
|
|
12838
12777
|
*/
|
|
12839
|
-
pickFiles: (evt
|
|
12778
|
+
pickFiles: (evt: Event) => void;
|
|
12840
12779
|
/**
|
|
12841
|
-
*
|
|
12842
|
-
* @param files
|
|
12780
|
+
* Manually add files to the queue
|
|
12781
|
+
* @param files Must be an array of instances of JS File type
|
|
12843
12782
|
*/
|
|
12844
|
-
addFiles: (files:
|
|
12783
|
+
addFiles: (files: readonly any[]) => void;
|
|
12845
12784
|
/**
|
|
12846
12785
|
* Start uploading (same as clicking the upload button)
|
|
12847
12786
|
*/
|
|
@@ -12867,6 +12806,58 @@ export interface QUploader extends ComponentPublicInstance<QUploaderProps> {
|
|
|
12867
12806
|
* @param file File to remove (instance of File)
|
|
12868
12807
|
*/
|
|
12869
12808
|
removeFile: (file: any) => void;
|
|
12809
|
+
/**
|
|
12810
|
+
* Update the status of a file
|
|
12811
|
+
* @param file File to update (instance of File)
|
|
12812
|
+
* @param status Status of file
|
|
12813
|
+
* @param uploadedSize The number of uploaded bytes of the file; Is required explicitly only when status is NOT 'uploaded'
|
|
12814
|
+
*/
|
|
12815
|
+
updateFileStatus: (
|
|
12816
|
+
file: any,
|
|
12817
|
+
status: "idle" | "failed" | "uploading" | "uploaded",
|
|
12818
|
+
uploadedSize: number
|
|
12819
|
+
) => void;
|
|
12820
|
+
/**
|
|
12821
|
+
* Is the component alive (activated but not unmounted); Useful to determine if you still need to compute anything going further
|
|
12822
|
+
* @returns If true, the current component is still activated and mounted
|
|
12823
|
+
*/
|
|
12824
|
+
isAlive: () => boolean;
|
|
12825
|
+
/**
|
|
12826
|
+
* List of all files
|
|
12827
|
+
*/
|
|
12828
|
+
readonly files: readonly any[];
|
|
12829
|
+
/**
|
|
12830
|
+
* List of files that are waiting to be uploaded
|
|
12831
|
+
*/
|
|
12832
|
+
readonly queuedFiles: readonly any[];
|
|
12833
|
+
/**
|
|
12834
|
+
* List of files that have been uploaded
|
|
12835
|
+
*/
|
|
12836
|
+
readonly uploadedFiles: readonly any[];
|
|
12837
|
+
/**
|
|
12838
|
+
* Size of all uploaded files in bytes
|
|
12839
|
+
*/
|
|
12840
|
+
readonly uploadedSize: number;
|
|
12841
|
+
/**
|
|
12842
|
+
* Label for the size total of all files
|
|
12843
|
+
*/
|
|
12844
|
+
readonly uploadSizeLabel: string;
|
|
12845
|
+
/**
|
|
12846
|
+
* Label for the upload progress (in %)
|
|
12847
|
+
*/
|
|
12848
|
+
readonly uploadProgressLabel: string;
|
|
12849
|
+
/**
|
|
12850
|
+
* Whether new files can be added to the list
|
|
12851
|
+
*/
|
|
12852
|
+
readonly canAddFiles: boolean;
|
|
12853
|
+
/**
|
|
12854
|
+
* Whether the files can be uploaded
|
|
12855
|
+
*/
|
|
12856
|
+
readonly canUpload: boolean;
|
|
12857
|
+
/**
|
|
12858
|
+
* The component state is set as busy; User should not be able to interact with the component
|
|
12859
|
+
*/
|
|
12860
|
+
readonly isBusy: boolean;
|
|
12870
12861
|
}
|
|
12871
12862
|
|
|
12872
12863
|
export interface QUploaderAddTriggerProps {}
|
|
@@ -13326,6 +13317,58 @@ export interface QDialogOptions {
|
|
|
13326
13317
|
componentProps?: any;
|
|
13327
13318
|
}
|
|
13328
13319
|
|
|
13320
|
+
export interface QLoadingShowOptions {
|
|
13321
|
+
/**
|
|
13322
|
+
* Wait a number of millisecond before showing; Not worth showing for 100ms for example then hiding it, so wait until you're sure it's a process that will take some considerable amount of time
|
|
13323
|
+
*/
|
|
13324
|
+
delay?: number;
|
|
13325
|
+
/**
|
|
13326
|
+
* Message to display
|
|
13327
|
+
*/
|
|
13328
|
+
message?: string;
|
|
13329
|
+
/**
|
|
13330
|
+
* Loading group name
|
|
13331
|
+
*/
|
|
13332
|
+
group?: string;
|
|
13333
|
+
/**
|
|
13334
|
+
* Render the message as HTML; This can lead to XSS attacks so make sure that you sanitize the message first
|
|
13335
|
+
*/
|
|
13336
|
+
html?: boolean;
|
|
13337
|
+
/**
|
|
13338
|
+
* Content wrapped element custom classes
|
|
13339
|
+
*/
|
|
13340
|
+
boxClass?: string;
|
|
13341
|
+
/**
|
|
13342
|
+
* Spinner size (in pixels)
|
|
13343
|
+
*/
|
|
13344
|
+
spinnerSize?: number;
|
|
13345
|
+
/**
|
|
13346
|
+
* Color name for spinner from the Quasar Color Palette
|
|
13347
|
+
*/
|
|
13348
|
+
spinnerColor?: string;
|
|
13349
|
+
/**
|
|
13350
|
+
* Color name for text from the Quasar Color Palette
|
|
13351
|
+
*/
|
|
13352
|
+
messageColor?: string;
|
|
13353
|
+
/**
|
|
13354
|
+
* Color name for background from the Quasar Color Palette
|
|
13355
|
+
*/
|
|
13356
|
+
backgroundColor?: string;
|
|
13357
|
+
/**
|
|
13358
|
+
* One of the QSpinners
|
|
13359
|
+
*/
|
|
13360
|
+
spinner?: Component;
|
|
13361
|
+
/**
|
|
13362
|
+
* Add a CSS class to easily customize the component
|
|
13363
|
+
*/
|
|
13364
|
+
customClass?: string;
|
|
13365
|
+
/**
|
|
13366
|
+
* Ignore the default configuration (set by setDefaults()) for this instance only
|
|
13367
|
+
*/
|
|
13368
|
+
ignoreDefaults?: boolean;
|
|
13369
|
+
}
|
|
13370
|
+
|
|
13371
|
+
import { QLoadingUpdateOptions } from "./api";
|
|
13329
13372
|
import { WebStorageGetItemMethodType } from "./api";
|
|
13330
13373
|
import { WebStorageGetIndexMethodType } from "./api";
|
|
13331
13374
|
import { WebStorageGetKeyMethodType } from "./api";
|
|
@@ -13469,6 +13512,62 @@ export interface QNotifyCreateOptions {
|
|
|
13469
13512
|
|
|
13470
13513
|
import { QNotifyUpdateOptions } from "./api";
|
|
13471
13514
|
import { QNotifyOptions } from "./api";
|
|
13515
|
+
export interface QEditorCommand {
|
|
13516
|
+
/**
|
|
13517
|
+
* Label of the button
|
|
13518
|
+
*/
|
|
13519
|
+
label?: string;
|
|
13520
|
+
/**
|
|
13521
|
+
* Text to be displayed as a tooltip on hover
|
|
13522
|
+
*/
|
|
13523
|
+
tip?: string;
|
|
13524
|
+
/**
|
|
13525
|
+
* HTML formatted text to be displayed within a tooltip on hover
|
|
13526
|
+
*/
|
|
13527
|
+
htmlTip?: string;
|
|
13528
|
+
/**
|
|
13529
|
+
* Icon of the button
|
|
13530
|
+
*/
|
|
13531
|
+
icon?: string;
|
|
13532
|
+
/**
|
|
13533
|
+
* Keycode of a key to be used together with the <ctrl> key for use as a shortcut to trigger this element
|
|
13534
|
+
*/
|
|
13535
|
+
key?: number;
|
|
13536
|
+
/**
|
|
13537
|
+
* Either this or "cmd" is required. Function for when button gets clicked/tapped.
|
|
13538
|
+
*/
|
|
13539
|
+
handler?: () => void;
|
|
13540
|
+
/**
|
|
13541
|
+
* Either this or "handler" is required. This must be a valid execCommand method according to the designMode API.
|
|
13542
|
+
*/
|
|
13543
|
+
cmd?: string;
|
|
13544
|
+
/**
|
|
13545
|
+
* Only set a param if using a "cmd". This is commonly text or HTML to inject, but is highly dependent upon the specific cmd being called.
|
|
13546
|
+
*/
|
|
13547
|
+
param?: string;
|
|
13548
|
+
/**
|
|
13549
|
+
* Is button disabled?
|
|
13550
|
+
* @returns If true, the button will be disabled
|
|
13551
|
+
*/
|
|
13552
|
+
disable?: boolean | (() => boolean);
|
|
13553
|
+
/**
|
|
13554
|
+
* Pass the value "no-state" if the button should not have an "active" state
|
|
13555
|
+
*/
|
|
13556
|
+
type?: "no-state";
|
|
13557
|
+
/**
|
|
13558
|
+
* Lock the button label, so it doesn't change based on the child option selected.
|
|
13559
|
+
*/
|
|
13560
|
+
fixedLabel?: boolean;
|
|
13561
|
+
/**
|
|
13562
|
+
* Lock the button icon, so it doesn't change based on the child option selected.
|
|
13563
|
+
*/
|
|
13564
|
+
fixedIcon?: boolean;
|
|
13565
|
+
/**
|
|
13566
|
+
* Highlight the toolbar button, when a child option has been selected.
|
|
13567
|
+
*/
|
|
13568
|
+
highlight?: boolean;
|
|
13569
|
+
}
|
|
13570
|
+
|
|
13472
13571
|
import { VueStyleObjectProp } from "./api";
|
|
13473
13572
|
import { ValidationRule } from "./api";
|
|
13474
13573
|
import { QRejectedEntry } from "./api";
|
|
@@ -13563,7 +13662,14 @@ declare module "./globals" {
|
|
|
13563
13662
|
* @returns Chainable Object
|
|
13564
13663
|
*/
|
|
13565
13664
|
dialog: (opts: QDialogOptions) => DialogChainObject;
|
|
13566
|
-
|
|
13665
|
+
/**
|
|
13666
|
+
* Activate and show
|
|
13667
|
+
* @param opts All props are optional
|
|
13668
|
+
* @returns Calling this function with no parameters hides the group; When called with one Object parameter then it updates the Loading group (specified properties are shallow merged with the group ones; note that group cannot be changed while updating and it is ignored)
|
|
13669
|
+
*/
|
|
13670
|
+
loading: (
|
|
13671
|
+
opts?: QLoadingShowOptions
|
|
13672
|
+
) => (props?: QLoadingUpdateOptions) => void;
|
|
13567
13673
|
loadingBar: LoadingBar;
|
|
13568
13674
|
localStorage: LocalStorage;
|
|
13569
13675
|
/**
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "",
|
|
3
3
|
"framework": "vue",
|
|
4
4
|
"name": "quasar",
|
|
5
|
-
"version": "2.
|
|
5
|
+
"version": "2.8.1",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
8
8
|
"types-syntax": "typescript",
|
|
@@ -1128,6 +1128,11 @@
|
|
|
1128
1128
|
"name": "label",
|
|
1129
1129
|
"description": "Customize main button's content through this slot, unless you're using the 'icon' and 'label' props",
|
|
1130
1130
|
"doc-url": "https://v2.quasar.dev/vue-components/button-dropdown"
|
|
1131
|
+
},
|
|
1132
|
+
{
|
|
1133
|
+
"name": "loading",
|
|
1134
|
+
"description": "Override the default QSpinner when in 'loading' state",
|
|
1135
|
+
"doc-url": "https://v2.quasar.dev/vue-components/button-dropdown"
|
|
1131
1136
|
}
|
|
1132
1137
|
],
|
|
1133
1138
|
"description": "QBtnDropdown - Quasar component",
|
package/package.json
CHANGED
|
@@ -17,8 +17,8 @@ export default createComponent({
|
|
|
17
17
|
},
|
|
18
18
|
|
|
19
19
|
setup (props, { slots }) {
|
|
20
|
-
const
|
|
21
|
-
const isDark = useDark(props,
|
|
20
|
+
const { proxy: { $q } } = getCurrentInstance()
|
|
21
|
+
const isDark = useDark(props, $q)
|
|
22
22
|
|
|
23
23
|
const classes = computed(() =>
|
|
24
24
|
'q-banner row items-center'
|
|
@@ -14,8 +14,8 @@ export default createComponent({
|
|
|
14
14
|
},
|
|
15
15
|
|
|
16
16
|
setup (props, { slots }) {
|
|
17
|
-
const
|
|
18
|
-
const isDark = useDark(props,
|
|
17
|
+
const { proxy: { $q } } = getCurrentInstance()
|
|
18
|
+
const isDark = useDark(props, $q)
|
|
19
19
|
|
|
20
20
|
const classes = computed(() =>
|
|
21
21
|
'q-bar row no-wrap items-center'
|
|
@@ -173,7 +173,10 @@ export default createComponent({
|
|
|
173
173
|
round: false,
|
|
174
174
|
...attributes.value,
|
|
175
175
|
onClick
|
|
176
|
-
},
|
|
176
|
+
}, {
|
|
177
|
+
default: () => hSlot(slots.label, []).concat(Arrow),
|
|
178
|
+
loading: slots.loading
|
|
179
|
+
})
|
|
177
180
|
}
|
|
178
181
|
|
|
179
182
|
return h(QBtnGroup, {
|
|
@@ -195,7 +198,10 @@ export default createComponent({
|
|
|
195
198
|
iconRight: props.iconRight,
|
|
196
199
|
round: false,
|
|
197
200
|
onClick: onClickHide
|
|
198
|
-
},
|
|
201
|
+
}, {
|
|
202
|
+
default: slots.label,
|
|
203
|
+
loading: slots.loading
|
|
204
|
+
}),
|
|
199
205
|
|
|
200
206
|
h(QBtn, {
|
|
201
207
|
class: 'q-btn-dropdown__arrow-container q-anchor--skip',
|
|
@@ -129,6 +129,11 @@
|
|
|
129
129
|
|
|
130
130
|
"label": {
|
|
131
131
|
"desc": "Customize main button's content through this slot, unless you're using the 'icon' and 'label' props"
|
|
132
|
+
},
|
|
133
|
+
|
|
134
|
+
"loading": {
|
|
135
|
+
"desc": "Override the default QSpinner when in 'loading' state",
|
|
136
|
+
"addedIn": "v2.8"
|
|
132
137
|
}
|
|
133
138
|
},
|
|
134
139
|
|
|
@@ -22,8 +22,8 @@ export default createComponent({
|
|
|
22
22
|
},
|
|
23
23
|
|
|
24
24
|
setup (props, { slots }) {
|
|
25
|
-
const
|
|
26
|
-
const isDark = useDark(props,
|
|
25
|
+
const { proxy: { $q } } = getCurrentInstance()
|
|
26
|
+
const isDark = useDark(props, $q)
|
|
27
27
|
|
|
28
28
|
const classes = computed(() =>
|
|
29
29
|
'q-card'
|
|
@@ -7,7 +7,7 @@ import usePanel, { usePanelProps, usePanelEmits } from '../../composables/privat
|
|
|
7
7
|
import useFullscreen, { useFullscreenProps, useFullscreenEmits } from '../../composables/private/use-fullscreen.js'
|
|
8
8
|
|
|
9
9
|
import { createComponent } from '../../utils/private/create.js'
|
|
10
|
-
import { isNumber } from '../../utils/
|
|
10
|
+
import { isNumber } from '../../utils/is.js'
|
|
11
11
|
import { hMergeSlot, hDir } from '../../utils/private/render.js'
|
|
12
12
|
|
|
13
13
|
const navigationPositionOptions = [ 'top', 'right', 'bottom', 'left' ]
|
|
@@ -12,7 +12,7 @@ import { hSlot } from '../../utils/private/render.js'
|
|
|
12
12
|
import { formatDate, __splitDate, getDateDiff } from '../../utils/date.js'
|
|
13
13
|
import { pad } from '../../utils/format.js'
|
|
14
14
|
import { jalaaliMonthLength, toGregorian } from '../../utils/private/date-persian.js'
|
|
15
|
-
import { isObject } from '../../utils/
|
|
15
|
+
import { isObject } from '../../utils/is.js'
|
|
16
16
|
|
|
17
17
|
const yearsInterval = 20
|
|
18
18
|
const views = [ 'Calendar', 'Years', 'Months' ]
|
|
@@ -1065,11 +1065,6 @@ export default createComponent({
|
|
|
1065
1065
|
emit('update:modelValue', (props.multiple === true ? model : model[ 0 ]) || null, reason)
|
|
1066
1066
|
}
|
|
1067
1067
|
|
|
1068
|
-
// expose public methods
|
|
1069
|
-
Object.assign(proxy, {
|
|
1070
|
-
setToday, setView, offsetCalendar, setCalendarTo, setEditingRange
|
|
1071
|
-
})
|
|
1072
|
-
|
|
1073
1068
|
function getHeader () {
|
|
1074
1069
|
if (props.minimal === true) { return }
|
|
1075
1070
|
|
|
@@ -1427,6 +1422,11 @@ export default createComponent({
|
|
|
1427
1422
|
}
|
|
1428
1423
|
}
|
|
1429
1424
|
|
|
1425
|
+
// expose public methods
|
|
1426
|
+
Object.assign(proxy, {
|
|
1427
|
+
setToday, setView, offsetCalendar, setCalendarTo, setEditingRange
|
|
1428
|
+
})
|
|
1429
|
+
|
|
1430
1430
|
return () => {
|
|
1431
1431
|
const content = [
|
|
1432
1432
|
h('div', {
|
|
@@ -17,7 +17,7 @@ import { createComponent } from '../../utils/private/create.js'
|
|
|
17
17
|
import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
|
|
18
18
|
|
|
19
19
|
import { isKeyCode } from '../../utils/private/key-composition.js'
|
|
20
|
-
import { isObject } from '../../utils/
|
|
20
|
+
import { isObject } from '../../utils/is.js'
|
|
21
21
|
|
|
22
22
|
export default createComponent({
|
|
23
23
|
name: 'DialogPlugin',
|
|
@@ -453,11 +453,6 @@ export default createComponent({
|
|
|
453
453
|
return contentRef.value
|
|
454
454
|
}
|
|
455
455
|
|
|
456
|
-
// expose public methods
|
|
457
|
-
Object.assign(proxy, {
|
|
458
|
-
runCmd, refreshToolbar, focus, getContentEl
|
|
459
|
-
})
|
|
460
|
-
|
|
461
456
|
onMounted(() => {
|
|
462
457
|
eVm.caret = proxy.caret = new Caret(contentRef.value, eVm)
|
|
463
458
|
setContent(props.modelValue)
|
|
@@ -470,6 +465,11 @@ export default createComponent({
|
|
|
470
465
|
document.removeEventListener('selectionchange', onSelectionchange)
|
|
471
466
|
})
|
|
472
467
|
|
|
468
|
+
// expose public methods
|
|
469
|
+
Object.assign(proxy, {
|
|
470
|
+
runCmd, refreshToolbar, focus, getContentEl
|
|
471
|
+
})
|
|
472
|
+
|
|
473
473
|
return () => {
|
|
474
474
|
let toolbars
|
|
475
475
|
|