quasar 2.5.4 → 2.6.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/README.md +1 -1
- package/dist/api/BottomSheet.json +1 -1
- package/dist/api/Dialog.json +9 -2
- package/dist/api/Notify.json +205 -5
- package/dist/api/QAvatar.json +1 -1
- package/dist/api/QBreadcrumbsEl.json +1 -1
- package/dist/api/QBtn.json +2 -2
- package/dist/api/QBtnDropdown.json +3 -3
- package/dist/api/QCarousel.json +3 -3
- package/dist/api/QChip.json +4 -4
- package/dist/api/QExpansionItem.json +2 -2
- package/dist/api/QFab.json +2 -2
- package/dist/api/QFabAction.json +1 -1
- package/dist/api/QForm.json +4 -1
- package/dist/api/QIcon.json +4 -2
- package/dist/api/QKnob.json +5 -0
- package/dist/api/QPagination.json +4 -4
- package/dist/api/QRouteTab.json +1 -1
- package/dist/api/QSelect.json +9 -10
- package/dist/api/QStep.json +4 -4
- package/dist/api/QStepper.json +4 -4
- package/dist/api/QTab.json +1 -1
- package/dist/api/QTimelineEntry.json +1 -1
- package/dist/api/QToggle.json +1 -1
- package/dist/api/QTree.json +1 -1
- 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 +6 -0
- package/dist/icon-set/fontawesome-v6.umd.prod.js +6 -0
- 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/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 +2 -2
- package/dist/icon-set/svg-eva-icons.umd.prod.js +2 -2
- package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +6 -0
- 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 +2 -2
- 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-mdi-v6.umd.prod.js +2 -2
- package/dist/icon-set/svg-themify.umd.prod.js +2 -2
- package/dist/icon-set/themify.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 +6 -0
- 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 +6 -0
- 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/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/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 +2 -2
- package/dist/lang/uk.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.css +4 -6
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +4 -6
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +3 -1
- package/dist/quasar.umd.js +501 -455
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/types/extras/icon-set.d.ts +3 -0
- package/dist/types/globals.d.ts +2 -2
- package/dist/types/index.d.ts +154 -50
- package/dist/vetur/quasar-attributes.json +42 -38
- package/dist/vetur/quasar-tags.json +1 -0
- package/dist/web-types/web-types.json +50 -40
- package/icon-set/bootstrap-icons.js +11 -6
- package/icon-set/bootstrap-icons.mjs +136 -0
- package/icon-set/eva-icons.js +10 -5
- package/icon-set/{svg-mdi-v4.js → eva-icons.mjs} +62 -94
- package/icon-set/fontawesome-v5-pro.js +6 -1
- package/icon-set/fontawesome-v5-pro.mjs +128 -0
- package/icon-set/fontawesome-v5.js +6 -1
- package/icon-set/fontawesome-v5.mjs +128 -0
- package/icon-set/fontawesome-v6-pro.js +133 -0
- package/icon-set/fontawesome-v6-pro.mjs +128 -0
- package/icon-set/fontawesome-v6.js +133 -0
- package/icon-set/fontawesome-v6.mjs +128 -0
- package/icon-set/ionicons-v4.js +10 -5
- package/icon-set/ionicons-v4.mjs +180 -0
- package/icon-set/line-awesome.js +6 -1
- package/icon-set/line-awesome.mjs +128 -0
- package/icon-set/material-icons-outlined.js +6 -1
- package/icon-set/material-icons-outlined.mjs +128 -0
- package/icon-set/material-icons-round.js +6 -1
- package/icon-set/material-icons-round.mjs +128 -0
- package/icon-set/material-icons-sharp.js +6 -1
- package/icon-set/material-icons-sharp.mjs +128 -0
- package/icon-set/material-icons.js +6 -1
- package/icon-set/material-icons.mjs +128 -0
- package/icon-set/mdi-v3.js +6 -1
- package/icon-set/mdi-v3.mjs +141 -0
- package/icon-set/mdi-v4.js +6 -1
- package/icon-set/mdi-v4.mjs +141 -0
- package/icon-set/mdi-v5.js +6 -1
- package/icon-set/mdi-v5.mjs +141 -0
- package/icon-set/mdi-v6.js +6 -1
- package/icon-set/mdi-v6.mjs +141 -0
- package/icon-set/svg-bootstrap-icons.js +10 -11
- package/icon-set/svg-bootstrap-icons.mjs +210 -0
- package/icon-set/svg-eva-icons.js +9 -10
- package/icon-set/svg-eva-icons.mjs +233 -0
- package/icon-set/svg-fontawesome-v6.js +198 -0
- package/icon-set/{svg-fontawesome-v5.js → svg-fontawesome-v6.mjs} +42 -42
- package/icon-set/svg-ionicons-v4.js +9 -10
- package/icon-set/svg-ionicons-v4.mjs +234 -0
- package/icon-set/svg-ionicons-v5.js +7 -7
- package/icon-set/svg-ionicons-v5.mjs +225 -0
- package/icon-set/svg-ionicons-v6.js +7 -7
- package/icon-set/svg-ionicons-v6.mjs +225 -0
- package/icon-set/svg-line-awesome.js +5 -5
- package/icon-set/svg-line-awesome.mjs +198 -0
- package/icon-set/svg-material-icons-outlined.js +5 -5
- package/icon-set/svg-material-icons-outlined.mjs +203 -0
- package/icon-set/svg-material-icons-round.js +5 -5
- package/icon-set/svg-material-icons-round.mjs +203 -0
- package/icon-set/svg-material-icons-sharp.js +5 -5
- package/icon-set/svg-material-icons-sharp.mjs +203 -0
- package/icon-set/svg-material-icons.js +5 -5
- package/icon-set/svg-material-icons.mjs +203 -0
- package/icon-set/svg-mdi-v6.js +5 -5
- package/icon-set/{svg-mdi-v5.js → svg-mdi-v6.mjs} +6 -6
- package/icon-set/svg-themify.js +9 -10
- package/icon-set/svg-themify.mjs +231 -0
- package/icon-set/themify.js +10 -5
- package/icon-set/themify.mjs +169 -0
- package/lang/ar.js +6 -1
- package/lang/ar.mjs +96 -0
- package/lang/az-Latn.js +6 -1
- package/lang/az-Latn.mjs +91 -0
- package/lang/bg.js +6 -1
- package/lang/bg.mjs +91 -0
- package/lang/bn.js +6 -1
- package/lang/bn.mjs +91 -0
- package/lang/ca.js +6 -1
- package/lang/ca.mjs +91 -0
- package/lang/cs.js +6 -1
- package/lang/cs.mjs +102 -0
- package/lang/da.js +6 -1
- package/lang/da.mjs +91 -0
- package/lang/de.js +6 -1
- package/lang/de.mjs +91 -0
- package/lang/el.js +6 -1
- package/lang/el.mjs +91 -0
- package/lang/en-GB.js +6 -1
- package/lang/en-GB.mjs +91 -0
- package/lang/en-US.js +6 -1
- package/lang/en-US.mjs +91 -0
- package/lang/eo.js +6 -1
- package/lang/eo.mjs +91 -0
- package/lang/es.js +6 -1
- package/lang/es.mjs +91 -0
- package/lang/et.js +6 -1
- package/lang/et.mjs +91 -0
- package/lang/eu.js +96 -0
- package/lang/eu.mjs +91 -0
- package/lang/fa-IR.js +6 -1
- package/lang/fa-IR.mjs +92 -0
- package/lang/fa.js +6 -1
- package/lang/fa.mjs +92 -0
- package/lang/fi.js +6 -1
- package/lang/fi.mjs +92 -0
- package/lang/fr.js +6 -1
- package/lang/fr.mjs +94 -0
- package/lang/gn.js +6 -1
- package/lang/gn.mjs +91 -0
- package/lang/he.js +6 -1
- package/lang/he.mjs +92 -0
- package/lang/hr.js +6 -1
- package/lang/hr.mjs +91 -0
- package/lang/hu.js +6 -1
- package/lang/hu.mjs +91 -0
- package/lang/id.js +6 -1
- package/lang/id.mjs +91 -0
- package/lang/index.json +8 -0
- package/lang/is.js +6 -1
- package/lang/is.mjs +91 -0
- package/lang/it.js +6 -1
- package/lang/it.mjs +91 -0
- package/lang/ja.js +6 -1
- package/lang/ja.mjs +90 -0
- package/lang/km.js +6 -1
- package/lang/km.mjs +91 -0
- package/lang/ko-KR.js +6 -1
- package/lang/ko-KR.mjs +91 -0
- package/lang/kur-CKB.js +6 -1
- package/lang/kur-CKB.mjs +101 -0
- package/lang/kz.js +100 -0
- package/lang/kz.mjs +95 -0
- package/lang/lt.js +6 -1
- package/lang/lt.mjs +103 -0
- package/lang/lu.js +6 -1
- package/lang/lu.mjs +91 -0
- package/lang/lv.js +6 -1
- package/lang/lv.mjs +91 -0
- package/lang/ml.js +6 -1
- package/lang/ml.mjs +95 -0
- package/lang/ms.js +6 -1
- package/lang/ms.mjs +91 -0
- package/lang/my.js +6 -1
- package/lang/my.mjs +90 -0
- package/lang/nb-NO.js +6 -1
- package/lang/nb-NO.mjs +92 -0
- package/lang/nl.js +6 -1
- package/lang/nl.mjs +91 -0
- package/lang/pl.js +6 -1
- package/lang/pl.mjs +91 -0
- package/lang/pt-BR.js +6 -1
- package/lang/pt-BR.mjs +91 -0
- package/lang/pt.js +6 -1
- package/lang/pt.mjs +91 -0
- package/lang/ro.js +6 -1
- package/lang/ro.mjs +91 -0
- package/lang/ru.js +6 -1
- package/lang/ru.mjs +95 -0
- package/lang/sk.js +6 -1
- package/lang/sk.mjs +91 -0
- package/lang/sl.js +6 -1
- package/lang/sl.mjs +91 -0
- package/lang/sr-CYR.js +6 -1
- package/lang/sr-CYR.mjs +91 -0
- package/lang/sr.js +6 -1
- package/lang/sr.mjs +91 -0
- package/lang/sv.js +6 -1
- package/lang/sv.mjs +91 -0
- package/lang/ta.js +6 -1
- package/lang/ta.mjs +91 -0
- package/lang/th.js +6 -1
- package/lang/th.mjs +91 -0
- package/lang/tr.js +6 -1
- package/lang/tr.mjs +87 -0
- package/lang/ug.js +55 -51
- package/lang/ug.mjs +91 -0
- package/lang/uk.js +7 -2
- package/lang/uk.mjs +95 -0
- package/lang/vi.js +6 -1
- package/lang/vi.mjs +91 -0
- package/lang/zh-CN.js +6 -1
- package/lang/zh-CN.mjs +90 -0
- package/lang/zh-TW.js +6 -1
- package/lang/zh-TW.mjs +90 -0
- package/package.json +1 -1
- package/src/api.extends.json +1 -1
- package/src/components/btn/QBtn.js +16 -14
- package/src/components/btn/use-btn.js +7 -7
- package/src/components/date/QDate.js +20 -19
- package/src/components/date/use-datetime.js +3 -1
- package/src/components/dialog/QDialog.js +11 -11
- package/src/components/dialog-bottom-sheet/BottomSheet.js +11 -11
- package/src/components/dialog-plugin/DialogPlugin.js +9 -8
- package/src/components/editor/QEditor.js +10 -10
- package/src/components/editor/editor-utils.js +2 -2
- package/src/components/file/QFile.js +2 -1
- package/src/components/form/QForm.json +3 -2
- package/src/components/icon/QIcon.js +6 -2
- package/src/components/icon/QIcon.json +1 -3
- package/src/components/infinite-scroll/QInfiniteScroll.js +3 -1
- package/src/components/inner-loading/QInnerLoading.js +7 -7
- package/src/components/input/QInput.js +4 -1
- package/src/components/knob/QKnob.js +5 -2
- package/src/components/knob/QKnob.json +6 -0
- package/src/components/linear-progress/QLinearProgress.sass +1 -0
- package/src/components/menu/QMenu.js +13 -13
- package/src/components/page-scroller/QPageScroller.js +4 -4
- package/src/components/pull-to-refresh/QPullToRefresh.js +5 -5
- package/src/components/select/QSelect.js +12 -6
- package/src/components/select/QSelect.json +4 -7
- package/src/components/slide-transition/QSlideTransition.js +4 -4
- package/src/components/slider/use-slider.js +4 -4
- package/src/components/stepper/QStep.js +6 -6
- package/src/components/stepper/QStep.json +3 -0
- package/src/components/stepper/QStepper.json +3 -0
- package/src/components/stepper/QStepper.sass +1 -0
- package/src/components/stepper/StepHeader.js +23 -8
- package/src/components/table/table-column-selection.js +6 -6
- package/src/components/table/table-sort.js +2 -2
- package/src/components/tabs/QTabs.js +4 -4
- package/src/components/time/QTime.js +5 -5
- package/src/components/tooltip/QTooltip.js +12 -12
- package/src/components/uploader/uploader-core.js +11 -10
- package/src/components/virtual-scroll/QVirtualScroll.js +3 -3
- package/src/components/virtual-scroll/use-virtual-scroll.js +20 -20
- package/src/composables/private/use-field.js +25 -17
- package/src/composables/private/use-file-dom-props.js +5 -5
- package/src/composables/private/use-file.js +15 -12
- package/src/composables/private/use-router-link.js +2 -2
- package/src/directives/Morph.js +12 -3
- package/src/icon-set.js +2 -1
- package/src/install-quasar.js +37 -36
- package/src/lang.js +2 -1
- package/src/plugins/AddressbarColor.js +7 -7
- package/src/plugins/Cookies.js +5 -1
- package/src/plugins/Dialog.json +3 -2
- package/src/plugins/Loading.js +3 -2
- package/src/plugins/LoadingBar.js +12 -5
- package/src/plugins/Notify.js +11 -4
- package/src/plugins/Notify.json +102 -2
- package/src/utils/create-meta-mixin.js +4 -4
- package/src/utils/create-uploader-component.js +2 -1
- package/src/utils/event.js +3 -3
- package/src/utils/extend.js +6 -34
- package/src/utils/morph.js +19 -17
- package/src/utils/private/is.js +3 -14
- package/src/utils/private/noop-ssr-directive-transform.js +1 -1
- package/src/utils/private/web-storage.js +3 -2
- package/wrappers/index.js +33 -5
- package/wrappers/index.mjs +63 -0
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +0 -6
- package/dist/icon-set/svg-mdi-v4.umd.prod.js +0 -6
- package/dist/icon-set/svg-mdi-v5.umd.prod.js +0 -6
- package/dist/ssr-directives/Morph.js +0 -55
- package/dist/ssr-directives/index.js +0 -14
- package/src/directives/Morph.ssr.js +0 -45
package/lang/zh-TW.mjs
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
isoName: 'zh-TW',
|
|
3
|
+
nativeName: '中文(繁體)',
|
|
4
|
+
label: {
|
|
5
|
+
clear: '清除',
|
|
6
|
+
ok: '確定',
|
|
7
|
+
cancel: '取消',
|
|
8
|
+
close: '關閉',
|
|
9
|
+
set: '設定',
|
|
10
|
+
select: '選擇',
|
|
11
|
+
reset: '重置',
|
|
12
|
+
remove: '移除',
|
|
13
|
+
update: '更新',
|
|
14
|
+
create: '新增',
|
|
15
|
+
search: '搜尋',
|
|
16
|
+
filter: '篩選',
|
|
17
|
+
refresh: '更新'
|
|
18
|
+
},
|
|
19
|
+
date: {
|
|
20
|
+
days: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
|
|
21
|
+
daysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
|
|
22
|
+
months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
|
|
23
|
+
monthsShort: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
|
|
24
|
+
headerTitle: date => new Intl.DateTimeFormat('zh-TW', {
|
|
25
|
+
weekday: 'short', month: 'short', day: 'numeric'
|
|
26
|
+
}).format(date),
|
|
27
|
+
firstDayOfWeek: 0, // 0-6, 0 - Sunday, 1 Monday, ...
|
|
28
|
+
format24h: false,
|
|
29
|
+
pluralDay: '日'
|
|
30
|
+
},
|
|
31
|
+
table: {
|
|
32
|
+
noData: '沒有資料',
|
|
33
|
+
noResults: '沒有相符資料',
|
|
34
|
+
loading: '載入中...',
|
|
35
|
+
selectedRecords: rows => '已選擇 ' + rows + ' 列',
|
|
36
|
+
recordsPerPage: '每頁列數:',
|
|
37
|
+
allRows: '全部',
|
|
38
|
+
pagination: (start, end, total) => start + '-' + end + ' 列,共 ' + total + ' 列',
|
|
39
|
+
columns: '欄位'
|
|
40
|
+
},
|
|
41
|
+
editor: {
|
|
42
|
+
url: '網址',
|
|
43
|
+
bold: '粗體',
|
|
44
|
+
italic: '斜體',
|
|
45
|
+
strikethrough: '刪除線',
|
|
46
|
+
underline: '下劃線',
|
|
47
|
+
unorderedList: '項目符號清單',
|
|
48
|
+
orderedList: '編號清單',
|
|
49
|
+
subscript: '下標',
|
|
50
|
+
superscript: '上標',
|
|
51
|
+
hyperlink: '超連結',
|
|
52
|
+
toggleFullscreen: '切換全螢幕',
|
|
53
|
+
quote: '段落引用',
|
|
54
|
+
left: '靠左對齊',
|
|
55
|
+
center: '置中對齊',
|
|
56
|
+
right: '靠右對齊',
|
|
57
|
+
justify: '分散對齊',
|
|
58
|
+
print: '列印',
|
|
59
|
+
outdent: '減少縮排',
|
|
60
|
+
indent: '增加縮排',
|
|
61
|
+
removeFormat: '清除格式',
|
|
62
|
+
formatting: '區塊元素',
|
|
63
|
+
fontSize: '字型大小',
|
|
64
|
+
align: '對齊',
|
|
65
|
+
hr: '水平分隔線',
|
|
66
|
+
undo: '復原',
|
|
67
|
+
redo: '取消復原',
|
|
68
|
+
heading1: '標題 1',
|
|
69
|
+
heading2: '標題 2',
|
|
70
|
+
heading3: '標題 3',
|
|
71
|
+
heading4: '標題 4',
|
|
72
|
+
heading5: '標題 5',
|
|
73
|
+
heading6: '標題 6',
|
|
74
|
+
paragraph: '段落',
|
|
75
|
+
code: '程式碼',
|
|
76
|
+
size1: '非常小',
|
|
77
|
+
size2: '稍小',
|
|
78
|
+
size3: '正常',
|
|
79
|
+
size4: '稍大',
|
|
80
|
+
size5: '大',
|
|
81
|
+
size6: '非常大',
|
|
82
|
+
size7: '超級大',
|
|
83
|
+
defaultFont: '預設字型',
|
|
84
|
+
viewSource: '切換原始碼'
|
|
85
|
+
},
|
|
86
|
+
tree: {
|
|
87
|
+
noNodes: '沒有節點',
|
|
88
|
+
noResults: '沒有相符節點'
|
|
89
|
+
}
|
|
90
|
+
}
|
package/package.json
CHANGED
package/src/api.extends.json
CHANGED
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
|
|
48
48
|
"icon": {
|
|
49
49
|
"type": "String",
|
|
50
|
-
"desc": "Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix",
|
|
50
|
+
"desc": "Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix; If 'none' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)",
|
|
51
51
|
"examples": [
|
|
52
52
|
"map",
|
|
53
53
|
"ion-add",
|
|
@@ -84,7 +84,7 @@ export default createComponent({
|
|
|
84
84
|
onClick,
|
|
85
85
|
onKeydown,
|
|
86
86
|
onMousedown,
|
|
87
|
-
|
|
87
|
+
onTouchstart
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
|
|
@@ -153,12 +153,12 @@ export default createComponent({
|
|
|
153
153
|
// is it already destroyed?
|
|
154
154
|
if (rootRef.value === null) { return }
|
|
155
155
|
|
|
156
|
-
|
|
157
|
-
stopAndPrevent(e)
|
|
156
|
+
emit('keydown', e)
|
|
158
157
|
|
|
159
|
-
|
|
160
|
-
|
|
158
|
+
if (isKeyCode(e, [ 13, 32 ]) === true && keyboardTarget !== rootRef.value) {
|
|
159
|
+
keyboardTarget !== null && cleanup()
|
|
161
160
|
|
|
161
|
+
if (e.defaultPrevented !== true) {
|
|
162
162
|
// focus external button if the focus helper was focused before
|
|
163
163
|
rootRef.value.focus()
|
|
164
164
|
|
|
@@ -167,15 +167,19 @@ export default createComponent({
|
|
|
167
167
|
document.addEventListener('keyup', onPressEnd, true)
|
|
168
168
|
rootRef.value.addEventListener('blur', onPressEnd, passiveCapture)
|
|
169
169
|
}
|
|
170
|
-
}
|
|
171
170
|
|
|
172
|
-
|
|
171
|
+
stopAndPrevent(e)
|
|
172
|
+
}
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
-
function
|
|
175
|
+
function onTouchstart (e) {
|
|
176
176
|
// is it already destroyed?
|
|
177
177
|
if (rootRef.value === null) { return }
|
|
178
178
|
|
|
179
|
+
emit('touchstart', e)
|
|
180
|
+
|
|
181
|
+
if (e.defaultPrevented === true) { return }
|
|
182
|
+
|
|
179
183
|
if (touchTarget !== rootRef.value) {
|
|
180
184
|
touchTarget !== null && cleanup()
|
|
181
185
|
touchTarget = rootRef.value
|
|
@@ -192,23 +196,21 @@ export default createComponent({
|
|
|
192
196
|
mouseTimer = setTimeout(() => {
|
|
193
197
|
avoidMouseRipple = false
|
|
194
198
|
}, 200)
|
|
195
|
-
|
|
196
|
-
emit('touchstart', e)
|
|
197
199
|
}
|
|
198
200
|
|
|
199
201
|
function onMousedown (e) {
|
|
200
202
|
// is it already destroyed?
|
|
201
203
|
if (rootRef.value === null) { return }
|
|
202
204
|
|
|
203
|
-
|
|
205
|
+
e.qSkipRipple = avoidMouseRipple === true
|
|
206
|
+
emit('mousedown', e)
|
|
207
|
+
|
|
208
|
+
if (e.defaultPrevented !== true && mouseTarget !== rootRef.value) {
|
|
204
209
|
mouseTarget !== null && cleanup()
|
|
205
210
|
mouseTarget = rootRef.value
|
|
206
211
|
rootRef.value.classList.add('q-btn--active')
|
|
207
212
|
document.addEventListener('mouseup', onPressEnd, passiveCapture)
|
|
208
213
|
}
|
|
209
|
-
|
|
210
|
-
e.qSkipRipple = avoidMouseRipple === true
|
|
211
|
-
emit('mousedown', e)
|
|
212
214
|
}
|
|
213
215
|
|
|
214
216
|
function onPressEnd (e) {
|
|
@@ -88,13 +88,13 @@ export default function (props) {
|
|
|
88
88
|
|
|
89
89
|
return props.padding !== void 0
|
|
90
90
|
? Object.assign({}, obj, {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
91
|
+
padding: props.padding
|
|
92
|
+
.split(/\s+/)
|
|
93
|
+
.map(v => (v in padding ? padding[ v ] + 'px' : v))
|
|
94
|
+
.join(' '),
|
|
95
|
+
minWidth: '0',
|
|
96
|
+
minHeight: '0'
|
|
97
|
+
})
|
|
98
98
|
: obj
|
|
99
99
|
})
|
|
100
100
|
|
|
@@ -12,6 +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/private/is.js'
|
|
15
16
|
|
|
16
17
|
const yearsInterval = 20
|
|
17
18
|
const views = [ 'Calendar', 'Years', 'Months' ]
|
|
@@ -164,7 +165,7 @@ export default createComponent({
|
|
|
164
165
|
const rangeModel = computed(() => {
|
|
165
166
|
const fn = date => decodeString(date, innerMask.value, innerLocale.value)
|
|
166
167
|
return normalizedModel.value
|
|
167
|
-
.filter(date =>
|
|
168
|
+
.filter(date => isObject(date) === true && date.from !== void 0 && date.to !== void 0)
|
|
168
169
|
.map(range => ({ from: fn(range.from), to: fn(range.to) }))
|
|
169
170
|
.filter(range => range.from.dateHash !== null && range.to.dateHash !== null && range.from.dateHash < range.to.dateHash)
|
|
170
171
|
})
|
|
@@ -1217,24 +1218,24 @@ export default createComponent({
|
|
|
1217
1218
|
}, days.value.map(day => h('div', { class: day.classes }, [
|
|
1218
1219
|
day.in === true
|
|
1219
1220
|
? h(
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1221
|
+
QBtn, {
|
|
1222
|
+
class: day.today === true ? 'q-date__today' : '',
|
|
1223
|
+
dense: true,
|
|
1224
|
+
flat: day.flat,
|
|
1225
|
+
unelevated: day.unelevated,
|
|
1226
|
+
color: day.color,
|
|
1227
|
+
textColor: day.textColor,
|
|
1228
|
+
label: day.i,
|
|
1229
|
+
tabindex: tabindex.value,
|
|
1230
|
+
...getCache('day#' + day.i, {
|
|
1231
|
+
onClick: () => { onDayClick(day.i) },
|
|
1232
|
+
onMouseover: () => { onDayMouseover(day.i) }
|
|
1233
|
+
})
|
|
1234
|
+
},
|
|
1235
|
+
day.event !== false
|
|
1236
|
+
? () => h('div', { class: 'q-date__event bg-' + day.event })
|
|
1237
|
+
: null
|
|
1238
|
+
)
|
|
1238
1239
|
: h('div', '' + day.i)
|
|
1239
1240
|
]))))
|
|
1240
1241
|
])
|
|
@@ -381,11 +381,11 @@ export default createComponent({
|
|
|
381
381
|
}, () => (
|
|
382
382
|
useBackdrop.value === true
|
|
383
383
|
? h('div', {
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
384
|
+
class: 'q-dialog__backdrop fixed-full',
|
|
385
|
+
style: transitionStyle.value,
|
|
386
|
+
'aria-hidden': 'true',
|
|
387
|
+
onMousedown: onBackdropClick
|
|
388
|
+
})
|
|
389
389
|
: null
|
|
390
390
|
)),
|
|
391
391
|
|
|
@@ -395,12 +395,12 @@ export default createComponent({
|
|
|
395
395
|
() => (
|
|
396
396
|
showing.value === true
|
|
397
397
|
? h('div', {
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
398
|
+
ref: innerRef,
|
|
399
|
+
class: classes.value,
|
|
400
|
+
style: transitionStyle.value,
|
|
401
|
+
tabindex: -1,
|
|
402
|
+
...onEvents.value
|
|
403
|
+
}, hSlot(slots.default))
|
|
404
404
|
: null
|
|
405
405
|
)
|
|
406
406
|
)
|
|
@@ -61,9 +61,9 @@ export default createComponent({
|
|
|
61
61
|
|
|
62
62
|
return action.label === void 0
|
|
63
63
|
? h(QSeparator, {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
class: 'col-all',
|
|
65
|
+
dark: isDark.value
|
|
66
|
+
})
|
|
67
67
|
: h('div', {
|
|
68
68
|
class: [
|
|
69
69
|
'q-bottom-sheet__item q-hoverable q-focusable cursor-pointer relative-position',
|
|
@@ -80,9 +80,9 @@ export default createComponent({
|
|
|
80
80
|
: (
|
|
81
81
|
img
|
|
82
82
|
? h('img', {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
class: action.avatar ? 'q-bottom-sheet__avatar' : '',
|
|
84
|
+
src: img
|
|
85
|
+
})
|
|
86
86
|
: h('div', { class: 'q-bottom-sheet__empty-icon' })
|
|
87
87
|
),
|
|
88
88
|
|
|
@@ -114,9 +114,9 @@ export default createComponent({
|
|
|
114
114
|
: (
|
|
115
115
|
img
|
|
116
116
|
? h('img', {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
117
|
+
class: action.avatar ? 'q-bottom-sheet__avatar' : '',
|
|
118
|
+
src: img
|
|
119
|
+
})
|
|
120
120
|
: null
|
|
121
121
|
)
|
|
122
122
|
)
|
|
@@ -145,8 +145,8 @@ export default createComponent({
|
|
|
145
145
|
child.push(
|
|
146
146
|
props.grid === true
|
|
147
147
|
? h('div', {
|
|
148
|
-
|
|
149
|
-
|
|
148
|
+
class: 'row items-stretch justify-start'
|
|
149
|
+
}, getGrid())
|
|
150
150
|
: h('div', getList())
|
|
151
151
|
)
|
|
152
152
|
|
|
@@ -17,6 +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/private/is.js'
|
|
20
21
|
|
|
21
22
|
export default createComponent({
|
|
22
23
|
name: 'DialogPlugin',
|
|
@@ -80,7 +81,7 @@ export default createComponent({
|
|
|
80
81
|
props.progress === false
|
|
81
82
|
? null
|
|
82
83
|
: (
|
|
83
|
-
|
|
84
|
+
isObject(props.progress) === true
|
|
84
85
|
? {
|
|
85
86
|
component: props.progress.spinner || QSpinner,
|
|
86
87
|
props: { color: props.progress.color || vmColor.value }
|
|
@@ -109,7 +110,7 @@ export default createComponent({
|
|
|
109
110
|
})
|
|
110
111
|
|
|
111
112
|
const okLabel = computed(() => (
|
|
112
|
-
|
|
113
|
+
isObject(props.ok) === true
|
|
113
114
|
? $q.lang.label.ok
|
|
114
115
|
: (
|
|
115
116
|
props.ok === true
|
|
@@ -119,7 +120,7 @@ export default createComponent({
|
|
|
119
120
|
))
|
|
120
121
|
|
|
121
122
|
const cancelLabel = computed(() => (
|
|
122
|
-
|
|
123
|
+
isObject(props.cancel) === true
|
|
123
124
|
? $q.lang.label.cancel
|
|
124
125
|
: (
|
|
125
126
|
props.cancel === true
|
|
@@ -145,7 +146,7 @@ export default createComponent({
|
|
|
145
146
|
label: okLabel.value,
|
|
146
147
|
ripple: false,
|
|
147
148
|
disable: okDisabled.value,
|
|
148
|
-
...(
|
|
149
|
+
...(isObject(props.ok) === true ? props.ok : { flat: true }),
|
|
149
150
|
'data-autofocus': (props.focus === 'ok' && hasForm.value !== true) || void 0,
|
|
150
151
|
onClick: onOk
|
|
151
152
|
}))
|
|
@@ -154,7 +155,7 @@ export default createComponent({
|
|
|
154
155
|
color: vmColor.value,
|
|
155
156
|
label: cancelLabel.value,
|
|
156
157
|
ripple: false,
|
|
157
|
-
...(
|
|
158
|
+
...(isObject(props.cancel) === true ? props.cancel : { flat: true }),
|
|
158
159
|
'data-autofocus': (props.focus === 'cancel' && hasForm.value !== true) || void 0,
|
|
159
160
|
onClick: onCancel
|
|
160
161
|
}))
|
|
@@ -201,9 +202,9 @@ export default createComponent({
|
|
|
201
202
|
function getSection (classes, text) {
|
|
202
203
|
return props.html === true
|
|
203
204
|
? h(QCardSection, {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
205
|
+
class: classes,
|
|
206
|
+
innerHTML: text
|
|
207
|
+
})
|
|
207
208
|
: h(QCardSection, { class: classes }, () => text)
|
|
208
209
|
}
|
|
209
210
|
|
|
@@ -180,17 +180,17 @@ export default createComponent({
|
|
|
180
180
|
const userDef = props.definitions || {}
|
|
181
181
|
const def = props.definitions || props.fonts
|
|
182
182
|
? extend(
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
)
|
|
183
|
+
true,
|
|
184
|
+
{},
|
|
185
|
+
buttonDef.value,
|
|
186
|
+
userDef,
|
|
187
|
+
getFonts(
|
|
188
|
+
defaultFont,
|
|
189
|
+
$q.lang.editor.defaultFont,
|
|
190
|
+
$q.iconSet.editor.font,
|
|
191
|
+
props.fonts
|
|
193
192
|
)
|
|
193
|
+
)
|
|
194
194
|
: buttonDef.value
|
|
195
195
|
|
|
196
196
|
return props.toolbar.map(
|
|
@@ -34,8 +34,8 @@ function getBtn (eVm, btn, clickHandler, active = false) {
|
|
|
34
34
|
if (btn.tip && eVm.$q.platform.is.desktop) {
|
|
35
35
|
const Key = btn.key
|
|
36
36
|
? h('div', [
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
h('small', `(CTRL + ${ String.fromCharCode(btn.key) })`)
|
|
38
|
+
])
|
|
39
39
|
: null
|
|
40
40
|
child.push(
|
|
41
41
|
h(QTooltip, { delay: 1000 }, () => [
|
|
@@ -58,6 +58,7 @@ export default createComponent({
|
|
|
58
58
|
const {
|
|
59
59
|
pickFiles,
|
|
60
60
|
onDragover,
|
|
61
|
+
onDragleave,
|
|
61
62
|
processFiles,
|
|
62
63
|
getDndNode
|
|
63
64
|
} = useFile({ editable: state.editable, dnd, getFileInput, addFilesToQueue })
|
|
@@ -263,7 +264,7 @@ export default createComponent({
|
|
|
263
264
|
}
|
|
264
265
|
|
|
265
266
|
if (state.editable.value === true) {
|
|
266
|
-
Object.assign(data, { onDragover, onKeydown, onKeyup })
|
|
267
|
+
Object.assign(data, { onDragover, onDragleave, onKeydown, onKeyup })
|
|
267
268
|
}
|
|
268
269
|
|
|
269
270
|
return h('div', data, [ getInput() ].concat(getSelection()))
|
|
@@ -40,8 +40,9 @@
|
|
|
40
40
|
"desc": "Emitted when all validations have passed when tethered to a submit button",
|
|
41
41
|
"params": {
|
|
42
42
|
"evt": {
|
|
43
|
-
"type": "SubmitEvent",
|
|
44
|
-
"desc": "Form submission event object"
|
|
43
|
+
"type": [ "Event", "SubmitEvent" ],
|
|
44
|
+
"desc": "Form submission event object",
|
|
45
|
+
"__exemption": [ "examples" ]
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
},
|
|
@@ -36,6 +36,7 @@ const imgRE = /^img:/
|
|
|
36
36
|
const svgUseRE = /^svguse:/
|
|
37
37
|
const ionRE = /^ion-/
|
|
38
38
|
const faLaRE = /^[lf]a[srlbdk]? /
|
|
39
|
+
const fa6RE = /^fa-(brand|regular|solid)/
|
|
39
40
|
|
|
40
41
|
export default createComponent({
|
|
41
42
|
name: 'QIcon',
|
|
@@ -69,7 +70,7 @@ export default createComponent({
|
|
|
69
70
|
let cls
|
|
70
71
|
let icon = props.name
|
|
71
72
|
|
|
72
|
-
if (!icon) {
|
|
73
|
+
if (icon === 'none' || !icon) {
|
|
73
74
|
return { none: true }
|
|
74
75
|
}
|
|
75
76
|
|
|
@@ -78,6 +79,9 @@ export default createComponent({
|
|
|
78
79
|
if (res !== void 0) {
|
|
79
80
|
if (res.icon !== void 0) {
|
|
80
81
|
icon = res.icon
|
|
82
|
+
if (icon === 'none' || !icon) {
|
|
83
|
+
return { none: true }
|
|
84
|
+
}
|
|
81
85
|
}
|
|
82
86
|
else {
|
|
83
87
|
return {
|
|
@@ -126,7 +130,7 @@ export default createComponent({
|
|
|
126
130
|
if (matches !== null) {
|
|
127
131
|
cls = libMap[ matches[ 1 ] ](icon)
|
|
128
132
|
}
|
|
129
|
-
else if (faLaRE.test(icon) === true) {
|
|
133
|
+
else if (faLaRE.test(icon) === true || fa6RE.test(icon) === true) {
|
|
130
134
|
cls = icon
|
|
131
135
|
}
|
|
132
136
|
else if (ionRE.test(icon) === true) {
|
|
@@ -120,7 +120,9 @@ export default createComponent({
|
|
|
120
120
|
isWorking.value = false
|
|
121
121
|
isFetching.value = false
|
|
122
122
|
localScrollTarget.removeEventListener('scroll', poll, passive)
|
|
123
|
-
poll !== void 0 && poll.cancel
|
|
123
|
+
if (poll !== void 0 && poll.cancel !== void 0) {
|
|
124
|
+
poll.cancel()
|
|
125
|
+
}
|
|
124
126
|
}
|
|
125
127
|
}
|
|
126
128
|
|
|
@@ -39,7 +39,7 @@ export default createComponent({
|
|
|
39
39
|
|
|
40
40
|
const labelClass = computed(() =>
|
|
41
41
|
'q-inner-loading__label'
|
|
42
|
-
+ (props.labelClass !== void 0 ? ` ${ props.labelClass}` : '')
|
|
42
|
+
+ (props.labelClass !== void 0 ? ` ${ props.labelClass }` : '')
|
|
43
43
|
)
|
|
44
44
|
|
|
45
45
|
function getInner () {
|
|
@@ -65,12 +65,12 @@ export default createComponent({
|
|
|
65
65
|
function getContent () {
|
|
66
66
|
return props.showing === true
|
|
67
67
|
? h(
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
68
|
+
'div',
|
|
69
|
+
{ class: classes.value, style: transitionStyle.value },
|
|
70
|
+
slots.default !== void 0
|
|
71
|
+
? slots.default()
|
|
72
|
+
: getInner()
|
|
73
|
+
)
|
|
74
74
|
: null
|
|
75
75
|
}
|
|
76
76
|
|
|
@@ -203,11 +203,14 @@ export default createComponent({
|
|
|
203
203
|
angle = centerPosition.left < pos.left ? angle + 90 : 270 - angle
|
|
204
204
|
}
|
|
205
205
|
|
|
206
|
-
if (
|
|
206
|
+
if ($q.lang.rtl === true) {
|
|
207
|
+
angle = normalizeToInterval(-angle - props.angle, 0, 360)
|
|
208
|
+
}
|
|
209
|
+
else if (props.angle) {
|
|
207
210
|
angle = normalizeToInterval(angle - props.angle, 0, 360)
|
|
208
211
|
}
|
|
209
212
|
|
|
210
|
-
if (
|
|
213
|
+
if (props.reverse === true) {
|
|
211
214
|
angle = 360 - angle
|
|
212
215
|
}
|
|
213
216
|
|