@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.
Files changed (105) hide show
  1. package/README.md +8 -5
  2. package/package.json +30 -8
  3. package/src/assets/VS.svg +5 -0
  4. package/src/assets/fonts/CorneroRegular.woff +0 -0
  5. package/src/assets/fonts/CorneroRegular.woff2 +0 -0
  6. package/src/assets/logo.svg +19 -0
  7. package/src/assets/no-result.svg +25 -0
  8. package/src/assets/upload-illustration.svg +48 -0
  9. package/src/components/core/UAccordionSelect.vue +237 -0
  10. package/src/components/core/UAvatar.vue +90 -26
  11. package/src/components/core/UAvatarGroup.vue +62 -52
  12. package/src/components/core/UBadgeStd.vue +6 -1
  13. package/src/components/core/UBannerStd.vue +100 -31
  14. package/src/components/core/UBracket.vue +2181 -0
  15. package/src/components/core/UBreadCrumbs.vue +171 -0
  16. package/src/components/core/UBtnIcon.vue +106 -53
  17. package/src/components/core/UBtnStd.vue +38 -31
  18. package/src/components/core/UBtnToggle.vue +11 -6
  19. package/src/components/core/UCheckboxStd.vue +26 -20
  20. package/src/components/core/UChip.vue +107 -58
  21. package/src/components/core/UDate.vue +627 -0
  22. package/src/components/core/UDialogStd.vue +456 -58
  23. package/src/components/core/UDrawer/UDrawer.vue +479 -0
  24. package/src/components/core/UDrawer/UDrawerMenuItem.vue +130 -0
  25. package/src/components/core/UEventCard.vue +463 -0
  26. package/src/components/core/UExpansionStd.vue +380 -0
  27. package/src/components/core/UExpansionTableStd.vue +311 -0
  28. package/src/components/core/UFilter.vue +99 -0
  29. package/src/components/core/UGameObject.vue +478 -0
  30. package/src/components/core/UInnerLoader.vue +69 -0
  31. package/src/components/core/UInputAddressLookup.vue +535 -0
  32. package/src/components/core/UInputPhoneStd.vue +74 -67
  33. package/src/components/core/UInputTextStd.vue +99 -64
  34. package/src/components/core/UInputTypeahead.vue +44 -0
  35. package/src/components/core/UInputTypeaheadAdvanceSearch.vue +134 -0
  36. package/src/components/core/UMatchup.vue +404 -0
  37. package/src/components/core/UMenuButtonStd.vue +280 -0
  38. package/src/components/core/UMenuDropdown.vue +38 -33
  39. package/src/components/core/UMenuDropdownAdvancedSearch.vue +306 -0
  40. package/src/components/core/UMenuItem.vue +226 -0
  41. package/src/components/core/UMenuSearch.vue +73 -0
  42. package/src/components/core/UModal.vue +660 -0
  43. package/src/components/core/UMultiSelectStd.vue +521 -63
  44. package/src/components/core/UPagination.vue +76 -24
  45. package/src/components/core/URadioBtn.vue +66 -43
  46. package/src/components/core/URadioStd.vue +23 -14
  47. package/src/components/core/USelectStd.vue +441 -84
  48. package/src/components/core/USheet.vue +349 -0
  49. package/src/components/core/UStepper/UProgress.vue +157 -0
  50. package/src/components/core/UStepper/UStepper.vue +214 -0
  51. package/src/components/core/UTabBtnStd.vue +36 -22
  52. package/src/components/core/UTable/UTable.vue +2269 -57
  53. package/src/components/core/UTableStd.vue +1436 -286
  54. package/src/components/core/UTabsStd.vue +53 -23
  55. package/src/components/core/UToggleStd.vue +18 -13
  56. package/src/components/core/UToolbar/UCustomMenuIcon.vue +58 -0
  57. package/src/components/core/UToolbar/UToolbar.vue +226 -0
  58. package/src/components/core/UTooltip.vue +32 -10
  59. package/src/components/core/UTypeahead.vue +890 -0
  60. package/src/components/core/UUploader.vue +757 -0
  61. package/src/components/core/UVenueCard.vue +221 -0
  62. package/src/components/index.js +83 -30
  63. package/src/composables/useNotify.js +16 -16
  64. package/src/composables/useOverlayLoader.js +23 -0
  65. package/src/composables/useScreenType.js +30 -0
  66. package/src/css/app.sass +69 -36
  67. package/src/css/colors.sass +2 -0
  68. package/src/css/quasar.variables.sass +102 -70
  69. package/src/css/vars/colors.variables.sass +28 -41
  70. package/src/utils/bracket.json +1538 -0
  71. package/src/utils/data.ts +179 -0
  72. package/src/App.vue +0 -9
  73. package/src/boot/.gitkeep +0 -0
  74. package/src/components/core/UMenutem.vue +0 -130
  75. package/src/layouts/MainLayout.vue +0 -145
  76. package/src/pages/Avatar.vue +0 -77
  77. package/src/pages/AvatarGroup.vue +0 -139
  78. package/src/pages/BadgeStd.vue +0 -83
  79. package/src/pages/BannerPage.vue +0 -76
  80. package/src/pages/BtnIcon.vue +0 -120
  81. package/src/pages/BtnStd.vue +0 -126
  82. package/src/pages/BtnToggle.vue +0 -131
  83. package/src/pages/CheckBox.vue +0 -62
  84. package/src/pages/Chip.vue +0 -108
  85. package/src/pages/ComponentBase.vue +0 -54
  86. package/src/pages/Dialog.vue +0 -206
  87. package/src/pages/ErrorNotFound.vue +0 -11
  88. package/src/pages/IndexPage.vue +0 -11
  89. package/src/pages/InputPhone.vue +0 -152
  90. package/src/pages/InputText.vue +0 -140
  91. package/src/pages/MenuDropdown.vue +0 -79
  92. package/src/pages/MenuItem.vue +0 -68
  93. package/src/pages/MultiSelectStd.vue +0 -174
  94. package/src/pages/NotifyPage.vue +0 -109
  95. package/src/pages/Pagination.vue +0 -71
  96. package/src/pages/Radio.vue +0 -80
  97. package/src/pages/RadioBtn.vue +0 -104
  98. package/src/pages/SelectStd.vue +0 -160
  99. package/src/pages/TabButtonPage.vue +0 -126
  100. package/src/pages/TablePage.vue +0 -375
  101. package/src/pages/TabsPage.vue +0 -261
  102. package/src/pages/TogglePage.vue +0 -58
  103. package/src/pages/TooltipPage.vue +0 -125
  104. package/src/router/index.js +0 -34
  105. 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>
@@ -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>
@@ -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
- &nbsp;
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>
@@ -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>
@@ -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>
@@ -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>