@usssa/component-library 1.0.0-alpha.27 → 1.0.0-alpha.271
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 +8 -5
- package/package.json +30 -8
- package/src/assets/VS.svg +5 -0
- package/src/assets/fonts/CorneroRegular.woff +0 -0
- package/src/assets/fonts/CorneroRegular.woff2 +0 -0
- package/src/assets/logo.svg +19 -0
- package/src/assets/no-result.svg +25 -0
- package/src/assets/upload-illustration.svg +48 -0
- package/src/components/core/UAccordionSelect.vue +237 -0
- package/src/components/core/UAvatar.vue +90 -26
- package/src/components/core/UAvatarGroup.vue +62 -52
- package/src/components/core/UBadgeStd.vue +6 -1
- package/src/components/core/UBannerStd.vue +100 -31
- package/src/components/core/UBracket.vue +2181 -0
- package/src/components/core/UBreadCrumbs.vue +171 -0
- package/src/components/core/UBtnIcon.vue +106 -53
- package/src/components/core/UBtnStd.vue +38 -31
- package/src/components/core/UBtnToggle.vue +11 -6
- package/src/components/core/UCheckboxStd.vue +26 -20
- package/src/components/core/UChip.vue +107 -58
- package/src/components/core/UDate.vue +627 -0
- package/src/components/core/UDialogStd.vue +456 -58
- package/src/components/core/UDrawer/UDrawer.vue +479 -0
- package/src/components/core/UDrawer/UDrawerMenuItem.vue +130 -0
- package/src/components/core/UEventCard.vue +463 -0
- package/src/components/core/UExpansionStd.vue +380 -0
- package/src/components/core/UExpansionTableStd.vue +311 -0
- package/src/components/core/UFilter.vue +99 -0
- package/src/components/core/UGameObject.vue +478 -0
- package/src/components/core/UInnerLoader.vue +69 -0
- package/src/components/core/UInputAddressLookup.vue +535 -0
- package/src/components/core/UInputPhoneStd.vue +74 -67
- package/src/components/core/UInputTextStd.vue +99 -64
- package/src/components/core/UInputTypeahead.vue +44 -0
- package/src/components/core/UInputTypeaheadAdvanceSearch.vue +134 -0
- package/src/components/core/UMatchup.vue +404 -0
- package/src/components/core/UMenuButtonStd.vue +280 -0
- package/src/components/core/UMenuDropdown.vue +38 -33
- package/src/components/core/UMenuDropdownAdvancedSearch.vue +306 -0
- package/src/components/core/UMenuItem.vue +226 -0
- package/src/components/core/UMenuSearch.vue +73 -0
- package/src/components/core/UModal.vue +660 -0
- package/src/components/core/UMultiSelectStd.vue +521 -63
- package/src/components/core/UPagination.vue +76 -24
- package/src/components/core/URadioBtn.vue +66 -43
- package/src/components/core/URadioStd.vue +23 -14
- package/src/components/core/USelectStd.vue +441 -84
- package/src/components/core/USheet.vue +349 -0
- package/src/components/core/UStepper/UProgress.vue +157 -0
- package/src/components/core/UStepper/UStepper.vue +214 -0
- package/src/components/core/UTabBtnStd.vue +36 -22
- package/src/components/core/UTable/UTable.vue +2269 -57
- package/src/components/core/UTableStd.vue +1436 -286
- package/src/components/core/UTabsStd.vue +53 -23
- package/src/components/core/UToggleStd.vue +18 -13
- package/src/components/core/UToolbar/UCustomMenuIcon.vue +58 -0
- package/src/components/core/UToolbar/UToolbar.vue +226 -0
- package/src/components/core/UTooltip.vue +32 -10
- package/src/components/core/UTypeahead.vue +890 -0
- package/src/components/core/UUploader.vue +757 -0
- package/src/components/core/UVenueCard.vue +221 -0
- package/src/components/index.js +83 -30
- package/src/composables/useNotify.js +16 -16
- package/src/composables/useOverlayLoader.js +23 -0
- package/src/composables/useScreenType.js +30 -0
- package/src/css/app.sass +69 -36
- package/src/css/colors.sass +2 -0
- package/src/css/quasar.variables.sass +102 -70
- package/src/css/vars/colors.variables.sass +28 -41
- package/src/utils/bracket.json +1538 -0
- package/src/utils/data.ts +179 -0
- package/src/App.vue +0 -9
- package/src/boot/.gitkeep +0 -0
- package/src/components/core/UMenutem.vue +0 -130
- package/src/layouts/MainLayout.vue +0 -145
- package/src/pages/Avatar.vue +0 -77
- package/src/pages/AvatarGroup.vue +0 -139
- package/src/pages/BadgeStd.vue +0 -83
- package/src/pages/BannerPage.vue +0 -76
- package/src/pages/BtnIcon.vue +0 -120
- package/src/pages/BtnStd.vue +0 -126
- package/src/pages/BtnToggle.vue +0 -131
- package/src/pages/CheckBox.vue +0 -62
- package/src/pages/Chip.vue +0 -108
- package/src/pages/ComponentBase.vue +0 -54
- package/src/pages/Dialog.vue +0 -206
- package/src/pages/ErrorNotFound.vue +0 -11
- package/src/pages/IndexPage.vue +0 -11
- package/src/pages/InputPhone.vue +0 -152
- package/src/pages/InputText.vue +0 -140
- package/src/pages/MenuDropdown.vue +0 -79
- package/src/pages/MenuItem.vue +0 -68
- package/src/pages/MultiSelectStd.vue +0 -174
- package/src/pages/NotifyPage.vue +0 -109
- package/src/pages/Pagination.vue +0 -71
- package/src/pages/Radio.vue +0 -80
- package/src/pages/RadioBtn.vue +0 -104
- package/src/pages/SelectStd.vue +0 -160
- package/src/pages/TabButtonPage.vue +0 -126
- package/src/pages/TablePage.vue +0 -375
- package/src/pages/TabsPage.vue +0 -261
- package/src/pages/TogglePage.vue +0 -58
- package/src/pages/TooltipPage.vue +0 -125
- package/src/router/index.js +0 -34
- package/src/router/routes.js +0 -121
package/src/pages/TabsPage.vue
DELETED
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
import { UTabsStd } from 'src/components'
|
|
3
|
-
import ComponentBase from './ComponentBase.vue'
|
|
4
|
-
import { computed, ref } from 'vue'
|
|
5
|
-
|
|
6
|
-
defineOptions({
|
|
7
|
-
name: 'TabsPage',
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
const align = ref('Justify')
|
|
11
|
-
const isShowLeftIcon = ref(false)
|
|
12
|
-
const isShowRightIcon = ref(false)
|
|
13
|
-
const isShowOnlyIcon = ref(false)
|
|
14
|
-
const behaviour = ref(true)
|
|
15
|
-
const alignment = computed(() => {
|
|
16
|
-
return align.value.toLocaleLowerCase()
|
|
17
|
-
})
|
|
18
|
-
|
|
19
|
-
const htmlContent = `<UTabsStd
|
|
20
|
-
v-model="selectedTab"
|
|
21
|
-
:tabs="tabsOptions"
|
|
22
|
-
:align="align"
|
|
23
|
-
/>`
|
|
24
|
-
|
|
25
|
-
const contentInfo = `// The 'tabOptions' property allows you to configure tabs for both routing and basic use.
|
|
26
|
-
To enable routing, include a 'route' property in each tab configuration, which links the tab to specific routes.
|
|
27
|
-
For basic tabs, omit the 'route' property. Additionally, the component supports keyboard navigation,
|
|
28
|
-
enabling users to switch between tabs using the left and right arrow keys, ensuring improved accessibility.
|
|
29
|
-
[{name: 'home', label: 'Home', leftIcon: 'home', rightIcon: 'home', route:'home'}]`
|
|
30
|
-
|
|
31
|
-
const alignmentOptions = ['Justify', 'Left', 'Right']
|
|
32
|
-
const defaultTabs = ref([
|
|
33
|
-
{
|
|
34
|
-
name: 'home',
|
|
35
|
-
label: 'Home',
|
|
36
|
-
leftIcon: 'fa-kit-duotone fa-home',
|
|
37
|
-
rightIcon: 'fa-kit-duotone fa-home',
|
|
38
|
-
route: 'home',
|
|
39
|
-
disable: false,
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
name: 'cart',
|
|
43
|
-
label: 'Cart',
|
|
44
|
-
leftIcon: 'fa-kit-duotone fa-cart-shopping',
|
|
45
|
-
rightIcon: 'fa-kit-duotone fa-cart-shopping',
|
|
46
|
-
route: 'cart',
|
|
47
|
-
disable: false,
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
name: 'info',
|
|
51
|
-
label: 'Information',
|
|
52
|
-
leftIcon: 'fa-kit-duotone fa-circle-exclamation',
|
|
53
|
-
rightIcon: 'fa-kit-duotone fa-circle-exclamation',
|
|
54
|
-
route: 'info',
|
|
55
|
-
disable: true,
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
name: 'mail',
|
|
59
|
-
label: 'Mails',
|
|
60
|
-
leftIcon: 'fa-kit-duotone fa-envelope',
|
|
61
|
-
rightIcon: 'fa-kit-duotone fa-envelope',
|
|
62
|
-
route: 'mail',
|
|
63
|
-
disable: false,
|
|
64
|
-
},
|
|
65
|
-
])
|
|
66
|
-
const tabs = computed(() => {
|
|
67
|
-
return defaultTabs.value.map((tab) => {
|
|
68
|
-
if (!behaviour.value) {
|
|
69
|
-
return { ...tab, route: undefined }
|
|
70
|
-
}
|
|
71
|
-
return tab
|
|
72
|
-
})
|
|
73
|
-
})
|
|
74
|
-
|
|
75
|
-
const isShowBothIcon = computed(() => {
|
|
76
|
-
return isShowLeftIcon.value && isShowRightIcon.value
|
|
77
|
-
})
|
|
78
|
-
|
|
79
|
-
const tabsOptions = computed(() => {
|
|
80
|
-
return tabs.value.map((tab) => {
|
|
81
|
-
if (isShowOnlyIcon.value) {
|
|
82
|
-
// Only show the left icon , hide right icon
|
|
83
|
-
return { ...tab, rightIcon: undefined, label: undefined }
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
if (!isShowLeftIcon.value && !isShowRightIcon.value) {
|
|
87
|
-
// Show only the label
|
|
88
|
-
return { ...tab, leftIcon: undefined, rightIcon: undefined }
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
if (!isShowLeftIcon.value) {
|
|
92
|
-
// Show right icon with label
|
|
93
|
-
return { ...tab, leftIcon: undefined }
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
if (!isShowRightIcon.value) {
|
|
97
|
-
// Show left icon with label
|
|
98
|
-
return { ...tab, rightIcon: undefined }
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// Show both icons with label
|
|
102
|
-
return tab
|
|
103
|
-
})
|
|
104
|
-
})
|
|
105
|
-
|
|
106
|
-
const handleOnlyIconChange = (value, evt) => {
|
|
107
|
-
if (value) {
|
|
108
|
-
isShowLeftIcon.value = true // when it is true only one icon should visible
|
|
109
|
-
isShowRightIcon.value = false
|
|
110
|
-
}
|
|
111
|
-
isShowOnlyIcon.value = value
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
const handleBothIconChange = (value, evt) => {
|
|
115
|
-
isShowLeftIcon.value = value
|
|
116
|
-
isShowRightIcon.value = value
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
const handleBehaviourChange = (value) => {
|
|
120
|
-
behaviour.value = value
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
const updateItem = (index, key, value) => {
|
|
124
|
-
tabs.value[index][key] = value
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
const selectedTab = ref('home') // if user don't want to use tabs as route tab then it should be use like this
|
|
128
|
-
</script>
|
|
129
|
-
|
|
130
|
-
<template>
|
|
131
|
-
<q-page class="flex flex-center">
|
|
132
|
-
<ComponentBase
|
|
133
|
-
figmaUrl="https://www.figma.com/design/2FoTrjVL4ZrTdsvB4DcSao/Components?node-id=4-28&t=K9pIC6Ve5iom3wvc-0"
|
|
134
|
-
cardWidth="70%"
|
|
135
|
-
>
|
|
136
|
-
<template v-slot:component>
|
|
137
|
-
<UTabsStd
|
|
138
|
-
v-model="selectedTab"
|
|
139
|
-
:tabs="tabsOptions"
|
|
140
|
-
:align="alignment"
|
|
141
|
-
/>
|
|
142
|
-
|
|
143
|
-
<q-tab-panels
|
|
144
|
-
class="bg-transparent"
|
|
145
|
-
v-model="selectedTab"
|
|
146
|
-
keep-alive
|
|
147
|
-
animated
|
|
148
|
-
transition-prev="scale"
|
|
149
|
-
transition-next="scale"
|
|
150
|
-
>
|
|
151
|
-
<q-tab-panel class="text-center" name="home">
|
|
152
|
-
<q-card class="q-pa-sm">
|
|
153
|
-
<div class="text-h6">Home</div>
|
|
154
|
-
This is a example q-tab-panels with animation - Home
|
|
155
|
-
</q-card>
|
|
156
|
-
</q-tab-panel>
|
|
157
|
-
<q-tab-panel class="text-center" name="cart">
|
|
158
|
-
<q-card class="q-pa-sm">
|
|
159
|
-
<div class="text-h6">Cart</div>
|
|
160
|
-
This is a example q-tab-panels with animation - Cart
|
|
161
|
-
</q-card>
|
|
162
|
-
</q-tab-panel>
|
|
163
|
-
<q-tab-panel class="text-center" name="info">
|
|
164
|
-
<q-card class="q-pa-sm">
|
|
165
|
-
<div class="text-h6">Info</div>
|
|
166
|
-
This is a example q-tab-panels with animation - Info
|
|
167
|
-
</q-card>
|
|
168
|
-
</q-tab-panel>
|
|
169
|
-
<q-tab-panel class="text-center" name="mail">
|
|
170
|
-
<q-card class="q-pa-sm">
|
|
171
|
-
<div class="text-h6">Mail</div>
|
|
172
|
-
This is a example q-tab-panels with animation - Mail
|
|
173
|
-
</q-card>
|
|
174
|
-
</q-tab-panel>
|
|
175
|
-
</q-tab-panels>
|
|
176
|
-
</template>
|
|
177
|
-
<template v-slot:properties>
|
|
178
|
-
<div class="column q-gutter-y-lg" style="position: relative">
|
|
179
|
-
<q-toggle
|
|
180
|
-
color="primary"
|
|
181
|
-
label="Route Tabs"
|
|
182
|
-
v-model="behaviour"
|
|
183
|
-
@update:modelValue="handleBehaviourChange"
|
|
184
|
-
style="position: absolute; right: 0.5rem; top: -35px"
|
|
185
|
-
/>
|
|
186
|
-
<q-select
|
|
187
|
-
v-model="align"
|
|
188
|
-
:options="alignmentOptions"
|
|
189
|
-
label="Alignment"
|
|
190
|
-
/>
|
|
191
|
-
<div class="q-mb-sm">
|
|
192
|
-
<q-checkbox
|
|
193
|
-
class="q-mr-sm"
|
|
194
|
-
size="xs"
|
|
195
|
-
v-model="isShowOnlyIcon"
|
|
196
|
-
@update:modelValue="handleOnlyIconChange"
|
|
197
|
-
label="Only Icon"
|
|
198
|
-
/>
|
|
199
|
-
<q-checkbox
|
|
200
|
-
class="q-mr-sm"
|
|
201
|
-
size="xs"
|
|
202
|
-
v-model="isShowLeftIcon"
|
|
203
|
-
label="Left Icon"
|
|
204
|
-
:disable="isShowOnlyIcon"
|
|
205
|
-
/>
|
|
206
|
-
<q-checkbox
|
|
207
|
-
class="q-mr-sm"
|
|
208
|
-
size="xs"
|
|
209
|
-
v-model="isShowRightIcon"
|
|
210
|
-
label="Right Icon"
|
|
211
|
-
:disable="isShowOnlyIcon"
|
|
212
|
-
/>
|
|
213
|
-
<q-checkbox
|
|
214
|
-
class="q-mr-sm"
|
|
215
|
-
size="xs"
|
|
216
|
-
:model-value="isShowBothIcon"
|
|
217
|
-
@update:modelValue="handleBothIconChange"
|
|
218
|
-
label="Left-Right Icon"
|
|
219
|
-
:disable="isShowOnlyIcon"
|
|
220
|
-
/>
|
|
221
|
-
</div>
|
|
222
|
-
<div v-for="(tab, index) in tabs" :key="tab.name" class="row">
|
|
223
|
-
<div class="col-12 col-md-2 flex justify-start items-center">
|
|
224
|
-
<q-checkbox
|
|
225
|
-
size="xs"
|
|
226
|
-
@input="updateItem(index, 'disable', tab.disable)"
|
|
227
|
-
v-model="tab.disable"
|
|
228
|
-
label="Disable tab"
|
|
229
|
-
/>
|
|
230
|
-
</div>
|
|
231
|
-
|
|
232
|
-
<q-input
|
|
233
|
-
class="col-12 col-md-3"
|
|
234
|
-
placeholder="Label"
|
|
235
|
-
v-model="tab.label"
|
|
236
|
-
@input="updateItem(index, 'label', tab.label)"
|
|
237
|
-
></q-input>
|
|
238
|
-
<q-input
|
|
239
|
-
placeholder="Left Icon"
|
|
240
|
-
class="col-12 col-md-3"
|
|
241
|
-
v-model="tab.leftIcon"
|
|
242
|
-
@input="updateItem(index, 'leftIcon', tab.leftIcon)"
|
|
243
|
-
></q-input>
|
|
244
|
-
<q-input
|
|
245
|
-
placeholder="Right Icon"
|
|
246
|
-
class="col-12 col-md-4"
|
|
247
|
-
v-model="tab.rightIcon"
|
|
248
|
-
@input="updateItem(index, 'rightIcon', tab.rightIcon)"
|
|
249
|
-
></q-input>
|
|
250
|
-
</div>
|
|
251
|
-
</div>
|
|
252
|
-
</template>
|
|
253
|
-
<template v-slot:code>
|
|
254
|
-
<pre>{{ htmlContent }}</pre>
|
|
255
|
-
<pre class="text-neutral-6" style="font-size: 12px; font-weight: 600">{{
|
|
256
|
-
contentInfo
|
|
257
|
-
}}</pre>
|
|
258
|
-
</template>
|
|
259
|
-
</ComponentBase>
|
|
260
|
-
</q-page>
|
|
261
|
-
</template>
|
package/src/pages/TogglePage.vue
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import ComponentBase from './ComponentBase.vue'
|
|
4
|
-
import { UToggleStd } from 'src/components'
|
|
5
|
-
|
|
6
|
-
defineOptions({
|
|
7
|
-
name: 'TogglePage',
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
const htmlContent = `<UToggleStd
|
|
11
|
-
v-model="toggle"
|
|
12
|
-
id="playground-1"
|
|
13
|
-
name="toggle-1"
|
|
14
|
-
:disabled="disabled"
|
|
15
|
-
:label="label"
|
|
16
|
-
:checkedIcon="checkedIcon"
|
|
17
|
-
:unCheckedIcon="unCheckedIcon"
|
|
18
|
-
/>`
|
|
19
|
-
|
|
20
|
-
const toggle = ref(false)
|
|
21
|
-
const disabled = ref(false)
|
|
22
|
-
const label = ref('Dark Mode')
|
|
23
|
-
const checkedIcon = ref('fa-kit-duotone fa-moon')
|
|
24
|
-
const unCheckedIcon = ref('fa-kit-duotone fa-sun')
|
|
25
|
-
</script>
|
|
26
|
-
|
|
27
|
-
<template>
|
|
28
|
-
<q-page class="flex flex-center">
|
|
29
|
-
<ComponentBase
|
|
30
|
-
figmaUrl="https://www.figma.com/design/2FoTrjVL4ZrTdsvB4DcSao/Components?node-id=4-23&t=HegwRwdR5yoKKzMy-0"
|
|
31
|
-
>
|
|
32
|
-
<template v-slot:component>
|
|
33
|
-
<UToggleStd
|
|
34
|
-
v-model="toggle"
|
|
35
|
-
:id="`playground-1`"
|
|
36
|
-
:name="`toggle-1`"
|
|
37
|
-
:disabled="disabled"
|
|
38
|
-
:label="label"
|
|
39
|
-
:checkedIcon="checkedIcon"
|
|
40
|
-
:unCheckedIcon="unCheckedIcon"
|
|
41
|
-
/>
|
|
42
|
-
</template>
|
|
43
|
-
<template v-slot:properties>
|
|
44
|
-
<div class="column q-gutter-y-lg">
|
|
45
|
-
<q-input label="Checked Icon" v-model="checkedIcon" />
|
|
46
|
-
<q-input label="Unchecked Icon" v-model="unCheckedIcon" />
|
|
47
|
-
<q-input label="Label" v-model="label" />
|
|
48
|
-
<q-checkbox size="xs" v-model="disabled" label="Disable" />
|
|
49
|
-
</div>
|
|
50
|
-
</template>
|
|
51
|
-
<template v-slot:code>
|
|
52
|
-
<pre><code>{{ htmlContent }}</code></pre>
|
|
53
|
-
</template>
|
|
54
|
-
</ComponentBase>
|
|
55
|
-
</q-page>
|
|
56
|
-
</template>
|
|
57
|
-
|
|
58
|
-
<style></style>
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
import { computed, ref } from 'vue'
|
|
3
|
-
import ComponentBase from './ComponentBase.vue'
|
|
4
|
-
import { UTooltip } from 'src/components'
|
|
5
|
-
|
|
6
|
-
const description = ref('This is a tooltip')
|
|
7
|
-
const icon = ref('fa-kit-duotone fa-circle-info')
|
|
8
|
-
const anchor = ref('top middle')
|
|
9
|
-
const self = ref('bottom middle')
|
|
10
|
-
const show = ref(true)
|
|
11
|
-
const offsetX = ref(14)
|
|
12
|
-
const offsetY = ref(14)
|
|
13
|
-
|
|
14
|
-
const offset = computed(() => {
|
|
15
|
-
console.log(offsetX, offsetY)
|
|
16
|
-
return [parseInt(offsetX.value), parseInt(offsetY.value)]
|
|
17
|
-
})
|
|
18
|
-
|
|
19
|
-
const anchorOptions = [
|
|
20
|
-
'top left',
|
|
21
|
-
'top middle',
|
|
22
|
-
'top right',
|
|
23
|
-
'top start',
|
|
24
|
-
'top end',
|
|
25
|
-
'center left',
|
|
26
|
-
'center middle',
|
|
27
|
-
'center right',
|
|
28
|
-
'center start',
|
|
29
|
-
'center end',
|
|
30
|
-
'bottom left',
|
|
31
|
-
'bottom middle',
|
|
32
|
-
'bottom right',
|
|
33
|
-
'bottom start',
|
|
34
|
-
'bottom end',
|
|
35
|
-
]
|
|
36
|
-
const selfOptions = [
|
|
37
|
-
'top left',
|
|
38
|
-
'top middle',
|
|
39
|
-
'top right',
|
|
40
|
-
'top start',
|
|
41
|
-
'top end',
|
|
42
|
-
'center left',
|
|
43
|
-
'center middle',
|
|
44
|
-
'center right',
|
|
45
|
-
'center start',
|
|
46
|
-
'center end',
|
|
47
|
-
'bottom left',
|
|
48
|
-
'bottom middle',
|
|
49
|
-
'bottom right',
|
|
50
|
-
'bottom start',
|
|
51
|
-
'bottom end',
|
|
52
|
-
]
|
|
53
|
-
|
|
54
|
-
const htmlContent = `<UTooltip
|
|
55
|
-
:description="description"
|
|
56
|
-
:icon="icon"
|
|
57
|
-
:anchor="anchor"
|
|
58
|
-
:self="self"
|
|
59
|
-
:offset="offset"
|
|
60
|
-
/>
|
|
61
|
-
`
|
|
62
|
-
|
|
63
|
-
defineOptions({
|
|
64
|
-
name: 'ToolTip',
|
|
65
|
-
})
|
|
66
|
-
</script>
|
|
67
|
-
|
|
68
|
-
<template>
|
|
69
|
-
<q-page class="flex flex-center">
|
|
70
|
-
<ComponentBase
|
|
71
|
-
figmaUrl="https://www.figma.com/design/2FoTrjVL4ZrTdsvB4DcSao/Components?node-id=3594-360443&t=gcNLQiqLoeen326d-0"
|
|
72
|
-
>
|
|
73
|
-
<template v-slot:component>
|
|
74
|
-
<q-btn label="Hover">
|
|
75
|
-
<UTooltip
|
|
76
|
-
:description="description"
|
|
77
|
-
:icon="icon"
|
|
78
|
-
:anchor="anchor"
|
|
79
|
-
:self="self"
|
|
80
|
-
:offset="offset"
|
|
81
|
-
/>
|
|
82
|
-
</q-btn>
|
|
83
|
-
<UTooltip
|
|
84
|
-
:description="description"
|
|
85
|
-
:icon="icon"
|
|
86
|
-
anchor="center middle"
|
|
87
|
-
self="center middle"
|
|
88
|
-
:no-parent-event="true"
|
|
89
|
-
v-model="show"
|
|
90
|
-
/>
|
|
91
|
-
</template>
|
|
92
|
-
|
|
93
|
-
<template v-slot:properties>
|
|
94
|
-
<div class="column q-gutter-y-lg">
|
|
95
|
-
<q-input label="Description" v-model="description" />
|
|
96
|
-
<q-input label="Icon" v-model="icon" />
|
|
97
|
-
</div>
|
|
98
|
-
<div class="column">
|
|
99
|
-
<span class="text-grey-8 text-caption-sm q-mt-md">
|
|
100
|
-
Tooltip Position
|
|
101
|
-
</span>
|
|
102
|
-
<div>
|
|
103
|
-
<q-select
|
|
104
|
-
v-model="anchor"
|
|
105
|
-
:options="anchorOptions"
|
|
106
|
-
label="Anchor Origin"
|
|
107
|
-
/>
|
|
108
|
-
<q-select
|
|
109
|
-
v-model="self"
|
|
110
|
-
:options="selfOptions"
|
|
111
|
-
label="Self Origin"
|
|
112
|
-
/>
|
|
113
|
-
<q-input label="Offset X" v-model="offsetX" type="number" />
|
|
114
|
-
<q-input label="Offset Y" v-model="offsetY" type="number" />
|
|
115
|
-
</div>
|
|
116
|
-
</div>
|
|
117
|
-
</template>
|
|
118
|
-
|
|
119
|
-
<template v-slot:code>
|
|
120
|
-
<pre><code>{{ htmlContent }}</code></pre>
|
|
121
|
-
<p>Offset will be an array i.e [14, 14]</p>
|
|
122
|
-
</template>
|
|
123
|
-
</ComponentBase>
|
|
124
|
-
</q-page>
|
|
125
|
-
</template>
|
package/src/router/index.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
route
|
|
3
|
-
} from 'quasar/wrappers'
|
|
4
|
-
import {
|
|
5
|
-
createRouter,
|
|
6
|
-
createWebHistory,
|
|
7
|
-
} from 'vue-router'
|
|
8
|
-
import routes from './routes'
|
|
9
|
-
|
|
10
|
-
/*
|
|
11
|
-
* If not building with SSR mode, you can
|
|
12
|
-
* directly export the Router instantiation;
|
|
13
|
-
*
|
|
14
|
-
* The function below can be async too; either use
|
|
15
|
-
* async/await or return a Promise which resolves
|
|
16
|
-
* with the Router instance.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
export default route(function ( /* { store, ssrContext } */ ) {
|
|
20
|
-
const Router = createRouter({
|
|
21
|
-
scrollBehavior: () => ({
|
|
22
|
-
left: 0,
|
|
23
|
-
top: 0
|
|
24
|
-
}),
|
|
25
|
-
routes,
|
|
26
|
-
|
|
27
|
-
// Leave this as is and make changes in quasar.conf.js instead!
|
|
28
|
-
// quasar.conf.js -> build -> vueRouterMode
|
|
29
|
-
// quasar.conf.js -> build -> publicPath
|
|
30
|
-
history: createWebHistory(process.env.VUE_ROUTER_BASE)
|
|
31
|
-
})
|
|
32
|
-
|
|
33
|
-
return Router
|
|
34
|
-
})
|
package/src/router/routes.js
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
const routes = [
|
|
2
|
-
{
|
|
3
|
-
path: '/',
|
|
4
|
-
component: () => import('layouts/MainLayout.vue'),
|
|
5
|
-
children: [
|
|
6
|
-
{
|
|
7
|
-
path: '',
|
|
8
|
-
component: () => import('pages/IndexPage.vue'),
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
path: 'badge',
|
|
12
|
-
component: () => import('pages/BadgeStd.vue'),
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
path: 'button-standard',
|
|
16
|
-
component: () => import('pages/BtnStd.vue'),
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
path: 'button-icon',
|
|
20
|
-
component: () => import('pages/BtnIcon.vue'),
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
path: 'radio-btn',
|
|
24
|
-
component: () => import('pages/RadioBtn.vue'),
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
path: 'check-box',
|
|
28
|
-
component: () => import('pages/CheckBox.vue'),
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
path: 'input-text',
|
|
32
|
-
component: () => import('pages/InputText.vue'),
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
path: 'input-phone',
|
|
36
|
-
component: () => import('pages/InputPhone.vue'),
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
path: 'chip',
|
|
40
|
-
component: () => import('pages/Chip.vue'),
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
path: 'Avatar',
|
|
44
|
-
component: () => import('pages/Avatar.vue'),
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
path: 'avatar-group',
|
|
48
|
-
component: () => import('pages/AvatarGroup.vue'),
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
path: 'multiselect-standard',
|
|
52
|
-
component: () => import('pages/MultiSelectStd.vue'),
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
path: 'radio',
|
|
56
|
-
component: () => import('src/pages/Radio.vue'),
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
path: 'tabs/:tab',
|
|
60
|
-
component: () => import('pages/TabsPage.vue'),
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
path: 'tab-button',
|
|
64
|
-
component: () => import('pages/TabButtonPage.vue'),
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
path: 'tooltip',
|
|
68
|
-
component: () => import('src/pages/TooltipPage.vue'),
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
path: 'notify',
|
|
72
|
-
component: () => import('pages/NotifyPage.vue'),
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
path: 'banner',
|
|
76
|
-
component: () => import('pages/BannerPage.vue'),
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
path: 'toggle',
|
|
80
|
-
component: () => import('pages/TogglePage.vue'),
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
path: 'select',
|
|
84
|
-
component: () => import('pages/SelectStd.vue'),
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
path: 'table',
|
|
88
|
-
component: () => import('pages/TablePage.vue'),
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
path: 'dialog',
|
|
92
|
-
component: () => import('pages/Dialog.vue'),
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
path: 'pagination',
|
|
96
|
-
component: () => import('src/pages/Pagination.vue'),
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
path: 'button-toggle',
|
|
100
|
-
component: () => import('pages/BtnToggle.vue'),
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
path: 'menu-item',
|
|
104
|
-
component: () => import('src/pages/MenuItem.vue'),
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
path: 'menu-dropdown',
|
|
108
|
-
component: () => import('src/pages/MenuDropdown.vue'),
|
|
109
|
-
},
|
|
110
|
-
],
|
|
111
|
-
},
|
|
112
|
-
|
|
113
|
-
// Always leave this as last one,
|
|
114
|
-
// but you can also remove it
|
|
115
|
-
{
|
|
116
|
-
path: '/:catchAll(.*)*',
|
|
117
|
-
component: () => import('pages/ErrorNotFound.vue'),
|
|
118
|
-
},
|
|
119
|
-
]
|
|
120
|
-
|
|
121
|
-
export default routes
|