@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
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import { UMenuDropdown } from 'src/components'
|
|
4
|
-
import ComponentBase from './ComponentBase.vue'
|
|
5
|
-
|
|
6
|
-
const Data = [
|
|
7
|
-
{
|
|
8
|
-
label: 'Profile',
|
|
9
|
-
leftIcon: 'fa-kit-duotone fa-user',
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
label: 'Settings',
|
|
13
|
-
leftIcon: 'fa-kit-duotone fa-admin',
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
label: 'Logout',
|
|
17
|
-
leftIcon: 'fa-kit-duotone fa-logout',
|
|
18
|
-
},
|
|
19
|
-
]
|
|
20
|
-
|
|
21
|
-
const size = ref('sm')
|
|
22
|
-
const sizeOptions = ['sm', 'md', 'lg']
|
|
23
|
-
|
|
24
|
-
const htmlContent = `<UMenuDropdown
|
|
25
|
-
:data="Data"
|
|
26
|
-
@onClick="onClick"
|
|
27
|
-
iconClass="icon-secondary-opacity"
|
|
28
|
-
:size="size"
|
|
29
|
-
/>`
|
|
30
|
-
|
|
31
|
-
defineOptions({
|
|
32
|
-
name: 'UMenuDropdown',
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
const onClick = () => {
|
|
36
|
-
console.log('check....')
|
|
37
|
-
}
|
|
38
|
-
</script>
|
|
39
|
-
|
|
40
|
-
<template>
|
|
41
|
-
<q-page class="flex flex-center">
|
|
42
|
-
<ComponentBase
|
|
43
|
-
figmaUrl="https://www.figma.com/design/2FoTrjVL4ZrTdsvB4DcSao/Components?node-id=4-24&node-type=canvas&t=nWq2UjUIdqvWKgPg-0"
|
|
44
|
-
>
|
|
45
|
-
<template v-slot:component>
|
|
46
|
-
<!-- Using test-cls to demonstrate how to pass custom css -->
|
|
47
|
-
<UMenuDropdown
|
|
48
|
-
:data="Data"
|
|
49
|
-
@onClick="onClick"
|
|
50
|
-
iconClass="icon-secondary-opacity"
|
|
51
|
-
:size="size"
|
|
52
|
-
menuClass="test-cls"
|
|
53
|
-
>
|
|
54
|
-
<!-- Use slot here like this -->
|
|
55
|
-
<!-- <template #trailing_slot>
|
|
56
|
-
Write your code here
|
|
57
|
-
</template> -->
|
|
58
|
-
</UMenuDropdown>
|
|
59
|
-
</template>
|
|
60
|
-
|
|
61
|
-
<template v-slot:properties>
|
|
62
|
-
<div class="q-gutter-y-lg">
|
|
63
|
-
<q-select v-model="size" :options="sizeOptions" label="Size" />
|
|
64
|
-
</div>
|
|
65
|
-
</template>
|
|
66
|
-
|
|
67
|
-
<template v-slot:code>
|
|
68
|
-
<pre>{{ htmlContent }}</pre>
|
|
69
|
-
</template>
|
|
70
|
-
</ComponentBase>
|
|
71
|
-
</q-page>
|
|
72
|
-
</template>
|
|
73
|
-
|
|
74
|
-
<style lang="sass">
|
|
75
|
-
.test-cls
|
|
76
|
-
max-height: 11.25rem !important
|
|
77
|
-
overflow-y: auto
|
|
78
|
-
scrollbar-width: none // use this if we dont want to show scrollbar
|
|
79
|
-
</style>
|
package/src/pages/MenuItem.vue
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import { UMenuItem } from 'src/components'
|
|
4
|
-
import ComponentBase from './ComponentBase.vue'
|
|
5
|
-
|
|
6
|
-
const leftIcon = ref('fa-kit-duotone fa-home')
|
|
7
|
-
const rightIcon = ref('fa-kit-duotone fa-circle-check')
|
|
8
|
-
const label = ref('Label')
|
|
9
|
-
const selected = ref(false)
|
|
10
|
-
const destructive = ref(false)
|
|
11
|
-
|
|
12
|
-
const htmlContent = `<UMenuItem
|
|
13
|
-
:label="label"
|
|
14
|
-
:leftIcon="leftIcon"
|
|
15
|
-
:rightIcon="rightIcon"
|
|
16
|
-
:selected="selected"
|
|
17
|
-
:destructive="destructive"
|
|
18
|
-
/>`
|
|
19
|
-
|
|
20
|
-
defineOptions({
|
|
21
|
-
name: 'UMenuItem',
|
|
22
|
-
})
|
|
23
|
-
|
|
24
|
-
const handleClick = () => {
|
|
25
|
-
console.log('item clicked')
|
|
26
|
-
}
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
<template>
|
|
30
|
-
<q-page class="flex flex-center">
|
|
31
|
-
<ComponentBase
|
|
32
|
-
figmaUrl="https://www.figma.com/design/2FoTrjVL4ZrTdsvB4DcSao/Components?node-id=4-24&node-type=canvas&t=nWq2UjUIdqvWKgPg-0"
|
|
33
|
-
>
|
|
34
|
-
<template v-slot:component>
|
|
35
|
-
<UMenuItem
|
|
36
|
-
:label="label"
|
|
37
|
-
:leftIcon="leftIcon"
|
|
38
|
-
:rightIcon="rightIcon"
|
|
39
|
-
:selected="selected"
|
|
40
|
-
:destructive="destructive"
|
|
41
|
-
iconClass="icon-secondary-opacity"
|
|
42
|
-
@onClick="handleClick"
|
|
43
|
-
/>
|
|
44
|
-
</template>
|
|
45
|
-
|
|
46
|
-
<template v-slot:properties>
|
|
47
|
-
<div class="q-gutter-y-lg">
|
|
48
|
-
<q-input label="Label" v-model="label" />
|
|
49
|
-
<q-input label="Left Icon" v-model="leftIcon" />
|
|
50
|
-
<q-input label="Right Icon" v-model="rightIcon" />
|
|
51
|
-
<div>
|
|
52
|
-
<q-checkbox
|
|
53
|
-
size="xs"
|
|
54
|
-
v-model="selected"
|
|
55
|
-
label="Selected"
|
|
56
|
-
v-if="!destructive"
|
|
57
|
-
/>
|
|
58
|
-
<q-checkbox size="xs" v-model="destructive" label="Destructive" />
|
|
59
|
-
</div>
|
|
60
|
-
</div>
|
|
61
|
-
</template>
|
|
62
|
-
|
|
63
|
-
<template v-slot:code>
|
|
64
|
-
<pre>{{ htmlContent }}</pre>
|
|
65
|
-
</template>
|
|
66
|
-
</ComponentBase>
|
|
67
|
-
</q-page>
|
|
68
|
-
</template>
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import { UMultiSelectStd } from 'src/components'
|
|
4
|
-
import ComponentBase from './ComponentBase.vue'
|
|
5
|
-
|
|
6
|
-
const options_data = [
|
|
7
|
-
{
|
|
8
|
-
label: 'Guatemala',
|
|
9
|
-
value: 'Guatemala',
|
|
10
|
-
icon: 'fa-kit-duotone fa-home',
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
label: 'Colombia',
|
|
14
|
-
value: 'Colombia',
|
|
15
|
-
icon: 'fa-kit-duotone fa-home',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
label: 'Turkmenistan',
|
|
19
|
-
value: 'Turkmenistan',
|
|
20
|
-
icon: 'fa-kit-duotone fa-home',
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
label: 'France',
|
|
24
|
-
value: 'France',
|
|
25
|
-
icon: 'fa-kit-duotone fa-home',
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
label: 'Philippines',
|
|
29
|
-
value: 'Philippines',
|
|
30
|
-
icon: 'fa-kit-duotone fa-home',
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
label: 'Greece',
|
|
34
|
-
value: 'Greece',
|
|
35
|
-
icon: 'fa-kit-duotone fa-home',
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
label: 'Indonesia',
|
|
39
|
-
value: 'Indonesia',
|
|
40
|
-
icon: 'fa-kit-duotone fa-home',
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
label: 'Russia',
|
|
44
|
-
value: 'Russia',
|
|
45
|
-
icon: 'fa-kit-duotone fa-home',
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
label: 'Albania',
|
|
49
|
-
value: 'Albania',
|
|
50
|
-
icon: 'fa-kit-duotone fa-home',
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
label: 'Sweden',
|
|
54
|
-
value: 'Sweden',
|
|
55
|
-
icon: 'fa-kit-duotone fa-home',
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
label: 'Japan',
|
|
59
|
-
value: 'Japan',
|
|
60
|
-
icon: 'fa-kit-duotone fa-home',
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
label: 'Czech Republic',
|
|
64
|
-
value: 'Czech Republic',
|
|
65
|
-
icon: 'fa-kit-duotone fa-home',
|
|
66
|
-
},
|
|
67
|
-
]
|
|
68
|
-
const options = ref(options_data)
|
|
69
|
-
|
|
70
|
-
const modelMultiple = ref([])
|
|
71
|
-
|
|
72
|
-
const updateFn = (val) => {
|
|
73
|
-
const { multiSelect, remove, value } = val
|
|
74
|
-
if (multiSelect) {
|
|
75
|
-
modelMultiple.value.push(value)
|
|
76
|
-
} else if (remove) {
|
|
77
|
-
modelMultiple.value = modelMultiple.value.filter((v) => v !== value)
|
|
78
|
-
}
|
|
79
|
-
return
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
const filterFn = (val, update) => {
|
|
83
|
-
if (val === '') {
|
|
84
|
-
update(() => {
|
|
85
|
-
options.value = options_data
|
|
86
|
-
})
|
|
87
|
-
return
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
update(() => {
|
|
91
|
-
const needle = val.toLowerCase()
|
|
92
|
-
options.value = options_data.filter(
|
|
93
|
-
(v) => v.value.toLowerCase().indexOf(needle) > -1
|
|
94
|
-
)
|
|
95
|
-
})
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
const sizeOptions = ['sm', 'md', 'lg']
|
|
99
|
-
|
|
100
|
-
const size = ref('sm')
|
|
101
|
-
const useInput = ref(true)
|
|
102
|
-
const hintText = ref('This is hint text')
|
|
103
|
-
const toolTipText = ref('This is tooltip text')
|
|
104
|
-
const label = ref('Label')
|
|
105
|
-
const hintIcon = ref('fa-kit-duotone fa-triangle-exclamation')
|
|
106
|
-
const leftIcon = ref('')
|
|
107
|
-
const isRequired = ref(true)
|
|
108
|
-
const placeholderText = ref('Placeholder')
|
|
109
|
-
const htmlContent = ` <UMultiSelectStd
|
|
110
|
-
:options="options"
|
|
111
|
-
v-model="modelMultiple"
|
|
112
|
-
:label="label"
|
|
113
|
-
:updateFn="updateFn"
|
|
114
|
-
:filterFn="filterFn"
|
|
115
|
-
:useInput="useInput"
|
|
116
|
-
:size="size"
|
|
117
|
-
:hintText="hintText"
|
|
118
|
-
:isRequired="isRequired"
|
|
119
|
-
:toolTipText="toolTipText"
|
|
120
|
-
:hintIcon="hintIcon"
|
|
121
|
-
:leftIcon="leftIcon"
|
|
122
|
-
:placeholder="placeholderText"
|
|
123
|
-
color="$primary"
|
|
124
|
-
noSearchText="No result"
|
|
125
|
-
/>`
|
|
126
|
-
</script>
|
|
127
|
-
|
|
128
|
-
<template>
|
|
129
|
-
<q-page class="flex flex-center">
|
|
130
|
-
<ComponentBase
|
|
131
|
-
figmaUrl="https://www.figma.com/design/2FoTrjVL4ZrTdsvB4DcSao/Components?node-id=2290-151315&t=qG4NJ0uRZzUxQs9M-0"
|
|
132
|
-
>
|
|
133
|
-
<template v-slot:component>
|
|
134
|
-
<UMultiSelectStd
|
|
135
|
-
:options="options"
|
|
136
|
-
v-model="modelMultiple"
|
|
137
|
-
:label="label"
|
|
138
|
-
:updateFn="updateFn"
|
|
139
|
-
:filterFn="filterFn"
|
|
140
|
-
:useInput="useInput"
|
|
141
|
-
:size="size"
|
|
142
|
-
:hintText="hintText"
|
|
143
|
-
:isRequired="isRequired"
|
|
144
|
-
:toolTipText="toolTipText"
|
|
145
|
-
:hintIcon="hintIcon"
|
|
146
|
-
:leftIcon="leftIcon"
|
|
147
|
-
:placeholder="placeholderText"
|
|
148
|
-
color="$primary"
|
|
149
|
-
noSearchText="No result"
|
|
150
|
-
/>
|
|
151
|
-
</template>
|
|
152
|
-
|
|
153
|
-
<template v-slot:properties>
|
|
154
|
-
<div class="q-gutter-y-lg">
|
|
155
|
-
<q-input label="Label" v-model="label" />
|
|
156
|
-
<q-select v-model="size" :options="sizeOptions" label="Size" />
|
|
157
|
-
<q-input label="Hint Icon" v-model="hintIcon" />
|
|
158
|
-
<q-input label="Hint Text" v-model="hintText" />
|
|
159
|
-
<q-input label="Tooltip Text" v-model="toolTipText" />
|
|
160
|
-
<q-input label="Placeholder" v-model="placeholderText" />
|
|
161
|
-
<q-input label="Left Icon" v-model="leftIcon" />
|
|
162
|
-
|
|
163
|
-
<div class="row">
|
|
164
|
-
<q-checkbox size="xs" v-model="isRequired" label="Required" />
|
|
165
|
-
<q-checkbox size="xs" v-model="useInput" label="Use Input" />
|
|
166
|
-
</div>
|
|
167
|
-
</div>
|
|
168
|
-
</template>
|
|
169
|
-
<template v-slot:code>
|
|
170
|
-
<pre>{{ htmlContent }}</pre>
|
|
171
|
-
</template>
|
|
172
|
-
</ComponentBase>
|
|
173
|
-
</q-page>
|
|
174
|
-
</template>
|
package/src/pages/NotifyPage.vue
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import ComponentBase from './ComponentBase.vue'
|
|
4
|
-
import { useNotify } from '../composables/useNotify'
|
|
5
|
-
|
|
6
|
-
defineOptions({
|
|
7
|
-
name: 'NotifyPage',
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
const htmlContent = `notify({
|
|
11
|
-
type: type.value,
|
|
12
|
-
label: label.value,
|
|
13
|
-
message: message.value,
|
|
14
|
-
color: type.value,
|
|
15
|
-
timeout: timeout.value,
|
|
16
|
-
position: position.value,
|
|
17
|
-
progress: progress.value,
|
|
18
|
-
actionLabel: actionLabel.value,
|
|
19
|
-
icon: customLeftIcon.value, // if user want to pass custom icon then need to add icon prop
|
|
20
|
-
handler: () => {
|
|
21
|
-
console.log('clicked')
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
// how to use in different places
|
|
25
|
-
const { notify } = useNotify()
|
|
26
|
-
})`
|
|
27
|
-
|
|
28
|
-
const typeOptions = ['info', 'positive', 'accent', 'warning']
|
|
29
|
-
const positionOptions = [
|
|
30
|
-
'top-left',
|
|
31
|
-
'top',
|
|
32
|
-
'top-right',
|
|
33
|
-
'left',
|
|
34
|
-
'center',
|
|
35
|
-
'right',
|
|
36
|
-
'bottom-left',
|
|
37
|
-
'bottom',
|
|
38
|
-
'bottom-right',
|
|
39
|
-
]
|
|
40
|
-
|
|
41
|
-
const label = ref('Label')
|
|
42
|
-
const message = ref('This is Message')
|
|
43
|
-
const type = ref('positive')
|
|
44
|
-
const position = ref('bottom')
|
|
45
|
-
const progress = ref(false)
|
|
46
|
-
const timeout = ref(3000)
|
|
47
|
-
const actionLabel = ref('Dismiss')
|
|
48
|
-
const customLeftIcon = ref(null)
|
|
49
|
-
const { notify } = useNotify()
|
|
50
|
-
|
|
51
|
-
const showNotify = () => {
|
|
52
|
-
notify({
|
|
53
|
-
type: type.value,
|
|
54
|
-
label: label.value,
|
|
55
|
-
message: message.value,
|
|
56
|
-
color: type.value,
|
|
57
|
-
timeout: timeout.value,
|
|
58
|
-
position: position.value,
|
|
59
|
-
progress: progress.value,
|
|
60
|
-
actionLabel: actionLabel.value,
|
|
61
|
-
icon: customLeftIcon.value,
|
|
62
|
-
handler: () => {
|
|
63
|
-
alert('Button clicked!')
|
|
64
|
-
},
|
|
65
|
-
})
|
|
66
|
-
}
|
|
67
|
-
</script>
|
|
68
|
-
|
|
69
|
-
<template>
|
|
70
|
-
<q-page class="flex flex-center">
|
|
71
|
-
<ComponentBase
|
|
72
|
-
figmaUrl="https://www.figma.com/design/2FoTrjVL4ZrTdsvB4DcSao/Components?node-id=3100-159608&t=PqBNKCpUHh5pEmuS-0"
|
|
73
|
-
cardWidth="50%"
|
|
74
|
-
>
|
|
75
|
-
<template v-slot:component>
|
|
76
|
-
|
|
77
|
-
<q-btn color="primary" @click="showNotify" label="Show" />
|
|
78
|
-
</template>
|
|
79
|
-
<template v-slot:properties>
|
|
80
|
-
<div class="column q-gutter-y-md">
|
|
81
|
-
<q-input label="Label" v-model="label" />
|
|
82
|
-
<div class="flex justify-between items-center">
|
|
83
|
-
<q-input
|
|
84
|
-
style="width: 80%"
|
|
85
|
-
label="Timeout"
|
|
86
|
-
v-model="timeout"
|
|
87
|
-
:disable="!progress"
|
|
88
|
-
/>
|
|
89
|
-
<q-checkbox size="xs" v-model="progress" label="Progress" />
|
|
90
|
-
</div>
|
|
91
|
-
<q-input label="Message" v-model="message" />
|
|
92
|
-
<q-input label="Action label" v-model="actionLabel" />
|
|
93
|
-
<q-input label="Custom Left icon" v-model="customLeftIcon" />
|
|
94
|
-
<q-select v-model="type" :options="typeOptions" label="Type" />
|
|
95
|
-
<q-select
|
|
96
|
-
v-model="position"
|
|
97
|
-
:options="positionOptions"
|
|
98
|
-
label="Position"
|
|
99
|
-
/>
|
|
100
|
-
</div>
|
|
101
|
-
</template>
|
|
102
|
-
<template v-slot:code>
|
|
103
|
-
<pre style="font-size: 12px"><code>{{ htmlContent }}</code></pre>
|
|
104
|
-
</template>
|
|
105
|
-
</ComponentBase>
|
|
106
|
-
</q-page>
|
|
107
|
-
</template>
|
|
108
|
-
|
|
109
|
-
<style lang="sass"></style>
|
package/src/pages/Pagination.vue
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
import ComponentBase from './ComponentBase.vue'
|
|
3
|
-
import UPagination from 'src/components/core/UPagination.vue'
|
|
4
|
-
import { ref } from 'vue'
|
|
5
|
-
|
|
6
|
-
const perPageOptions = [
|
|
7
|
-
{ label: '5 / per page', value: 5 },
|
|
8
|
-
{ label: '10 / per page', value: 10 },
|
|
9
|
-
{ label: '15 / per page', value: 15 },
|
|
10
|
-
{ label: '20 / per page', value: 20 },
|
|
11
|
-
{ label: '25 / per page', value: 25 },
|
|
12
|
-
]
|
|
13
|
-
|
|
14
|
-
const currentPage = ref(5)
|
|
15
|
-
const rowPerPage = ref(10)
|
|
16
|
-
const maxPages = ref(20)
|
|
17
|
-
const maxPageLink = ref(6)
|
|
18
|
-
|
|
19
|
-
const htmlContent = `<UPagination
|
|
20
|
-
v-model="currentPage"
|
|
21
|
-
:perPageOptions="perPageOptions"
|
|
22
|
-
:maxPageLink="Number(maxPageLink)"
|
|
23
|
-
:maxPages="Number(maxPages)"
|
|
24
|
-
@onPageChange="onPageChange"
|
|
25
|
-
@onRowChange="onRowPerPageChange"
|
|
26
|
-
/>`
|
|
27
|
-
|
|
28
|
-
const onPageChange = (page) => {
|
|
29
|
-
currentPage.value = page
|
|
30
|
-
}
|
|
31
|
-
const onRowPerPageChange = (newRowPerPage) => {
|
|
32
|
-
rowPerPage.value = newRowPerPage
|
|
33
|
-
currentPage.value = 1
|
|
34
|
-
}
|
|
35
|
-
defineOptions({
|
|
36
|
-
name: 'PaginationStd',
|
|
37
|
-
})
|
|
38
|
-
</script>
|
|
39
|
-
|
|
40
|
-
<template>
|
|
41
|
-
<q-page class="flex flex-center">
|
|
42
|
-
<ComponentBase
|
|
43
|
-
figmaUrl="https://www.figma.com/design/2FoTrjVL4ZrTdsvB4DcSao/Components?node-id=4007-38376"
|
|
44
|
-
>
|
|
45
|
-
<template v-slot:component>
|
|
46
|
-
<UPagination
|
|
47
|
-
v-model="currentPage"
|
|
48
|
-
:perPageOptions="perPageOptions"
|
|
49
|
-
:maxPageLink="Number(maxPageLink)"
|
|
50
|
-
:maxPages="Number(maxPages)"
|
|
51
|
-
@onPageChange="onPageChange"
|
|
52
|
-
@onRowChange="onRowPerPageChange"
|
|
53
|
-
/>
|
|
54
|
-
</template>
|
|
55
|
-
|
|
56
|
-
<template v-slot:properties>
|
|
57
|
-
<div class="column q-gutter-y-lg">
|
|
58
|
-
<q-input label="Max page" v-model="maxPages"></q-input>
|
|
59
|
-
<q-input
|
|
60
|
-
label="Max number of page link"
|
|
61
|
-
v-model="maxPageLink"
|
|
62
|
-
></q-input>
|
|
63
|
-
</div>
|
|
64
|
-
</template>
|
|
65
|
-
|
|
66
|
-
<template v-slot:code>
|
|
67
|
-
<pre>{{ htmlContent }}</pre>
|
|
68
|
-
</template>
|
|
69
|
-
</ComponentBase>
|
|
70
|
-
</q-page>
|
|
71
|
-
</template>
|
package/src/pages/Radio.vue
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import ComponentBase from './ComponentBase.vue'
|
|
4
|
-
import { URadioStd } from 'src/components'
|
|
5
|
-
|
|
6
|
-
const disabledFirst = ref(false)
|
|
7
|
-
const disabledSecond = ref(false)
|
|
8
|
-
|
|
9
|
-
const label1 = ref('Radio1')
|
|
10
|
-
|
|
11
|
-
const label2 = ref('Radio2')
|
|
12
|
-
|
|
13
|
-
const value1 = ref('one')
|
|
14
|
-
const value2 = ref('two')
|
|
15
|
-
const radioValue = ref()
|
|
16
|
-
|
|
17
|
-
const htmlContent = `<URadioStd
|
|
18
|
-
:label="label"
|
|
19
|
-
v-model="radioValue"
|
|
20
|
-
:value="value"
|
|
21
|
-
:disable="disabled"
|
|
22
|
-
:id="id"
|
|
23
|
-
/>`
|
|
24
|
-
|
|
25
|
-
defineOptions({
|
|
26
|
-
name: 'URadio',
|
|
27
|
-
})
|
|
28
|
-
</script>
|
|
29
|
-
|
|
30
|
-
<template>
|
|
31
|
-
<q-page class="flex flex-center">
|
|
32
|
-
<ComponentBase
|
|
33
|
-
figmaUrl="https://www.figma.com/design/2FoTrjVL4ZrTdsvB4DcSao/Components?node-id=2290-152010&t=ZyHTLbK43OFj9gBL-0"
|
|
34
|
-
>
|
|
35
|
-
<template v-slot:component>
|
|
36
|
-
<div class="q-gutter-x-md q-mb-sm">
|
|
37
|
-
<URadioStd
|
|
38
|
-
:label="label1"
|
|
39
|
-
v-model="radioValue"
|
|
40
|
-
:value="value1"
|
|
41
|
-
:disable="disabledFirst"
|
|
42
|
-
id="u-radio"
|
|
43
|
-
/>
|
|
44
|
-
<URadioStd
|
|
45
|
-
:label="label2"
|
|
46
|
-
v-model="radioValue"
|
|
47
|
-
:value="value2"
|
|
48
|
-
:disable="disabledSecond"
|
|
49
|
-
id="u-radio-2"
|
|
50
|
-
/>
|
|
51
|
-
</div>
|
|
52
|
-
<div>
|
|
53
|
-
<p>Your selection is: {{ radioValue }}</p>
|
|
54
|
-
</div>
|
|
55
|
-
</template>
|
|
56
|
-
|
|
57
|
-
<template v-slot:properties>
|
|
58
|
-
<div class="column q-gutter-y-lg">
|
|
59
|
-
<q-input label="Label1" v-model="label1" />
|
|
60
|
-
<q-input label="Label2" v-model="label2" />
|
|
61
|
-
|
|
62
|
-
<q-checkbox
|
|
63
|
-
size="xs"
|
|
64
|
-
v-model="disabledFirst"
|
|
65
|
-
label="Disable Radio1"
|
|
66
|
-
/>
|
|
67
|
-
<q-checkbox
|
|
68
|
-
size="xs"
|
|
69
|
-
v-model="disabledSecond"
|
|
70
|
-
label="Disable Radio2"
|
|
71
|
-
/>
|
|
72
|
-
</div>
|
|
73
|
-
</template>
|
|
74
|
-
|
|
75
|
-
<template v-slot:code>
|
|
76
|
-
<pre><code>{{ htmlContent }}</code></pre>
|
|
77
|
-
</template>
|
|
78
|
-
</ComponentBase>
|
|
79
|
-
</q-page>
|
|
80
|
-
</template>
|
package/src/pages/RadioBtn.vue
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
import { URadioBtn } from 'src/components'
|
|
3
|
-
import ComponentBase from './ComponentBase.vue'
|
|
4
|
-
import { ref } from 'vue'
|
|
5
|
-
|
|
6
|
-
const label = ref('Label')
|
|
7
|
-
const description = ref('Text')
|
|
8
|
-
const imgAriaLabel = ref('Visa Logo')
|
|
9
|
-
const altText = ref('Visa Logo')
|
|
10
|
-
const iconColor = ref('primary')
|
|
11
|
-
|
|
12
|
-
const label1 = ref('Label-1')
|
|
13
|
-
const description1 = ref('Text-1')
|
|
14
|
-
|
|
15
|
-
const image = ref('/icons/visa.svg')
|
|
16
|
-
|
|
17
|
-
const value1 = ref('1')
|
|
18
|
-
const value2 = ref('2')
|
|
19
|
-
|
|
20
|
-
const colorOptions = ['primary', 'neutral', 'accent', 'white']
|
|
21
|
-
|
|
22
|
-
const id = ref('1')
|
|
23
|
-
const id1 = ref('2')
|
|
24
|
-
|
|
25
|
-
const modelValue = ref()
|
|
26
|
-
const iconClass = ref()
|
|
27
|
-
|
|
28
|
-
const htmlContent = ` <URadioBtn
|
|
29
|
-
:label="label"
|
|
30
|
-
:description="description"
|
|
31
|
-
:image="image"
|
|
32
|
-
:icon-class="iconClass"
|
|
33
|
-
:value="value1"
|
|
34
|
-
v-model="modelValue"
|
|
35
|
-
:icon-color="iconColor"
|
|
36
|
-
:id="id"
|
|
37
|
-
/>`
|
|
38
|
-
|
|
39
|
-
defineOptions({
|
|
40
|
-
name: 'RadionBtn',
|
|
41
|
-
})
|
|
42
|
-
</script>
|
|
43
|
-
|
|
44
|
-
<template>
|
|
45
|
-
<q-page class="flex flex-center">
|
|
46
|
-
<ComponentBase
|
|
47
|
-
figmaUrl="https://www.figma.com/design/2FoTrjVL4ZrTdsvB4DcSao/Components?node-id=3721-441044"
|
|
48
|
-
>
|
|
49
|
-
<template v-slot:component>
|
|
50
|
-
<div class="flex" style="gap: 0.5rem">
|
|
51
|
-
<URadioBtn
|
|
52
|
-
:label="label"
|
|
53
|
-
:description="description"
|
|
54
|
-
:image="image"
|
|
55
|
-
:icon-class="iconClass"
|
|
56
|
-
:value="value1"
|
|
57
|
-
:altText="altText"
|
|
58
|
-
:imgAriaLabel="imgAriaLabel"
|
|
59
|
-
:icon-color="iconColor"
|
|
60
|
-
v-model="modelValue"
|
|
61
|
-
:id="id"
|
|
62
|
-
/>
|
|
63
|
-
|
|
64
|
-
<URadioBtn
|
|
65
|
-
:label="label1"
|
|
66
|
-
:icon-class="iconClass"
|
|
67
|
-
:image="image"
|
|
68
|
-
:description="description1"
|
|
69
|
-
:value="value2"
|
|
70
|
-
v-model="modelValue"
|
|
71
|
-
:altText="altText"
|
|
72
|
-
:imgAriaLabel="imgAriaLabel"
|
|
73
|
-
:icon-color="iconColor"
|
|
74
|
-
:id="id1"
|
|
75
|
-
/>
|
|
76
|
-
</div>
|
|
77
|
-
</template>
|
|
78
|
-
|
|
79
|
-
<template v-slot:properties>
|
|
80
|
-
<div class="column q-gutter-y-lg">
|
|
81
|
-
<q-input label="Label" v-model="label"></q-input>
|
|
82
|
-
<q-input label="Description" v-model="description"></q-input>
|
|
83
|
-
<q-input label="Image" v-model="image"></q-input>
|
|
84
|
-
<q-input label="Image Aria Label" v-model="imgAriaLabel"></q-input>
|
|
85
|
-
<q-input label="Image Alt text" v-model="altText"></q-input>
|
|
86
|
-
<q-input
|
|
87
|
-
label="Icon Class"
|
|
88
|
-
v-model="iconClass"
|
|
89
|
-
placeholder="fa-kit-duotone fa-circle-bolt"
|
|
90
|
-
></q-input>
|
|
91
|
-
<q-select
|
|
92
|
-
v-model="iconColor"
|
|
93
|
-
:options="colorOptions"
|
|
94
|
-
label="Icon Color"
|
|
95
|
-
/>
|
|
96
|
-
</div>
|
|
97
|
-
</template>
|
|
98
|
-
|
|
99
|
-
<template v-slot:code>
|
|
100
|
-
<pre>{{ htmlContent }}</pre>
|
|
101
|
-
</template>
|
|
102
|
-
</ComponentBase>
|
|
103
|
-
</q-page>
|
|
104
|
-
</template>
|