@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,108 +0,0 @@
1
- <script setup>
2
- import { UChip } from 'src/components'
3
- import ComponentBase from './ComponentBase.vue'
4
- import { ref } from 'vue'
5
-
6
- const chipLabel = ref('Label')
7
- const avatarLabel = ref('OR')
8
- const type = ref('primary')
9
- const iconClass = ref('')
10
- const typeOptions = [
11
- 'primary',
12
- 'accent',
13
- 'positive',
14
- 'warning',
15
- 'info',
16
- 'neutral',
17
- 'yellow',
18
- 'teal',
19
- 'gold',
20
- 'pink',
21
- ]
22
-
23
- const dense = ref(false)
24
- const removable = ref(false)
25
- const isShowTooltip = ref(false)
26
- const modelVal = ref(true)
27
-
28
- const htmlContent = `
29
- <UChip
30
- ref="chip"
31
- v-model="modelVal"
32
- @update:modelValue="modelVal = $event"
33
- :type="type"
34
- :dense="dense"
35
- :iconClass="iconClass"
36
- :avatarLabel="avatarLabel"
37
- :chipLabel="chipLabel"
38
- :removable="removable"
39
- :isShowTooltip="isShowTooltip"
40
- :offset="[14, 14]"
41
- anchor="bottom middle"
42
- />`
43
-
44
- defineOptions({
45
- name: 'UChip',
46
- })
47
- </script>
48
-
49
- <template>
50
- <q-page class="flex flex-center">
51
- <ComponentBase
52
- figmaUrl="https://www.figma.com/design/2FoTrjVL4ZrTdsvB4DcSao/Components?node-id=2281-51609"
53
- >
54
- <template v-slot:component>
55
- <UChip
56
- ref="chip"
57
- v-model="modelVal"
58
- @update:modelValue="modelVal = $event"
59
- :type="type"
60
- :dense="dense"
61
- :iconClass="iconClass"
62
- :avatarLabel="avatarLabel"
63
- :chipLabel="chipLabel"
64
- :removable="removable"
65
- :isShowTooltip="isShowTooltip"
66
- :offset="[14, 14]"
67
- anchor="bottom middle"
68
- />
69
- </template>
70
-
71
- <template v-slot:properties>
72
- <div class="column q-gutter-y-lg">
73
- <q-input label="Chip Label" v-model="chipLabel"></q-input>
74
- <q-input label="Avatar Label" v-model="avatarLabel"></q-input>
75
- <!-- <q-input label="Icon" v-model="icon"></q-input> -->
76
- <q-input label="Icon Class" v-model="iconClass"></q-input>
77
- <q-select v-model="type" :options="typeOptions" label="Chip Type" />
78
- <div class="column">
79
- <span class="text-grey-8 text-caption-sm">Chip Layout Type</span>
80
- <q-checkbox
81
- size="xs"
82
- v-model="isShowTooltip"
83
- label="Show Tooltip"
84
- />
85
- </div>
86
-
87
- <div class="column">
88
- <span class="text-grey-8 text-caption-sm">Chip Layout Type</span>
89
- <q-checkbox size="xs" v-model="dense" :val="true" label="Dense" />
90
- </div>
91
- <div class="column">
92
- <span class="text-grey-8 text-caption-sm">Removable</span>
93
- <q-checkbox
94
- size="xs"
95
- v-model="removable"
96
- :val="true"
97
- label="Removable"
98
- />
99
- </div>
100
- </div>
101
- </template>
102
-
103
- <template v-slot:code>
104
- <pre>{{ htmlContent }}</pre>
105
- </template>
106
- </ComponentBase>
107
- </q-page>
108
- </template>
@@ -1,54 +0,0 @@
1
- <script setup>
2
- import { openURL } from 'quasar'
3
-
4
- defineProps({
5
- figmaUrl: {
6
- type: String,
7
- default: 'https://www.figma.com/design/2FoTrjVL4ZrTdsvB4DcSao/Components',
8
- },
9
- cardWidth: {
10
- // cardWidth added for the tabs component only to show the tabs alignment left and right
11
- type: String,
12
- default: 'auto',
13
- },
14
- })
15
- </script>
16
-
17
- <template>
18
- <q-page class="flex flex-center" style="width: 100%">
19
- <q-card bordered flat :style="{ minWidth: '420px', width: cardWidth }">
20
- <q-card-section>
21
- <span class="text-h6">Component</span>
22
- <div>
23
- <slot name="component" />
24
- </div>
25
- </q-card-section>
26
-
27
- <q-card-section class="bg-neutral-4">
28
- <span class="text-h6">Properties</span>
29
- <div>
30
- <slot name="properties" />
31
- </div>
32
- </q-card-section>
33
-
34
- <q-card-section class="bg-secondary text-grey-1">
35
- <span class="text-h6">Code</span>
36
- <div>
37
- <slot name="code" />
38
- </div>
39
- </q-card-section>
40
-
41
- <q-card-section class="bg-primary text-grey-1">
42
- <span class="text-h6">Figma</span>
43
- <div>
44
- <q-btn
45
- label="Link to Figma"
46
- icon-right="open_in_new"
47
- flat
48
- @click="openURL(figmaUrl)"
49
- />
50
- </div>
51
- </q-card-section>
52
- </q-card>
53
- </q-page>
54
- </template>
@@ -1,206 +0,0 @@
1
- <script setup>
2
- import ComponentBase from './ComponentBase.vue'
3
- import UDialogStd from 'src/components/core/UDialogStd.vue'
4
- import UBtnStd from 'src/components/core/UBtnStd.vue'
5
- import { ref } from 'vue'
6
-
7
- const handleBackclick = () => {
8
- alert('Back clicked')
9
- }
10
- const model = ref(true)
11
- const heading = ref('Test Heading')
12
- const position = ref('right')
13
- const leftIcon = ref('fa-kit-duotone fa-circle-arrow-left')
14
- const closeIcon = ref('fa-kit-duotone fa-circle-xmark')
15
- const showActionButtons = ref(true)
16
- const caption = ref('This is the caption')
17
- const divider = ref(true)
18
- const size = ref('half')
19
- const tab = ref('movie')
20
-
21
- const htmlContent = `<UDialogStd
22
- :heading="heading"
23
- :position="position"
24
- :size="size"
25
- :headingCaption="caption"
26
- @onBackIconClick="handleBackclick()"
27
- :showActionButtons="showActionButtons"
28
- :closeIcon="closeIcon"
29
- :leftIcon="leftIcon"
30
- leftIconLabel="Back Icon"
31
- closeIconLabel="Close Icon"
32
- :divider="divider"
33
- v-model="model"
34
- >
35
- <template #content>
36
- ..Your Content
37
- </template>
38
- <template #secondary_row>
39
- ...Your Content
40
- </template>
41
- <template #action_primary_one>
42
- ...Your Content. Mainly Button
43
- </template>
44
- <template #action_primary_two>
45
- ...Your Content. Mainly Button
46
- </template>
47
- <template #action_secondary_one>
48
- ...Your Content. Mainly Button
49
- </template>
50
- <template #action_secondary_two>
51
- ...Your Content. Mainly Button
52
- </template>
53
- </UDialogStd>`
54
- defineOptions({
55
- name: 'DialogStd',
56
- })
57
-
58
- const hideDialog = () => {
59
- model.value = false
60
- }
61
-
62
- const showDialog = () => {
63
- model.value = true
64
- }
65
- </script>
66
-
67
- <template>
68
- <q-page class="flex flex-center">
69
- <ComponentBase
70
- figmaUrl="https://www.figma.com/design/2FoTrjVL4ZrTdsvB4DcSao/Components?node-id=4982-91225&t=BcmxEUWPCe0DzRmH-0"
71
- >
72
- <template v-slot:component>
73
- <UBtnStd
74
- color="primary"
75
- label="Show"
76
- size="md"
77
- @onClick="showDialog()"
78
- ></UBtnStd>
79
- <UDialogStd
80
- :heading="heading"
81
- :position="position"
82
- :size="size"
83
- :headingCaption="caption"
84
- @onBackIconClick="handleBackclick()"
85
- :showActionButtons="showActionButtons"
86
- :closeIcon="closeIcon"
87
- :leftIcon="leftIcon"
88
- leftIconLabel="Back Icon"
89
- closeIconLabel="Close Icon"
90
- :divider="divider"
91
- v-model="model"
92
- >
93
- <template #content>
94
- <p v-for="n in 15" :key="n">
95
- Lorem ipsum dolor sit amet consectetur adipisicing elit. Rerum
96
- repellendus sit voluptate voluptas eveniet porro. Rerum blanditiis
97
- perferendis totam, ea at omnis vel numquam exercitationem aut,
98
- natus minima, porro labore.
99
- </p>
100
- </template>
101
- <template #secondary_row>
102
- <q-tabs
103
- v-model="tab"
104
- dense
105
- class="bg-primary text-white full-width"
106
- active-color="white"
107
- indicator-color="white"
108
- align="justify"
109
- >
110
- <q-tab name="mails" label="Mails" />
111
- <q-tab name="alarms" label="Alarms" />
112
- <q-tab name="movies" label="Movies" />
113
- </q-tabs>
114
- </template>
115
- <template #action_primary_one>
116
- <UBtnStd
117
- label="Cancel"
118
- size="md"
119
- color="primary"
120
- outline
121
- @onClick="hideDialog()"
122
- ></UBtnStd>
123
- </template>
124
- <template #action_primary_two>
125
- <UBtnStd label="Save" size="md" color="primary"></UBtnStd>
126
- </template>
127
- <template #action_secondary_one>
128
- <UBtnStd label="Remove" size="md" color="accent"></UBtnStd>
129
- </template>
130
- <template #action_secondary_two>
131
- <UBtnStd label="Delete" size="md" color="accent"></UBtnStd>
132
- </template>
133
- </UDialogStd>
134
- </template>
135
-
136
- <template v-slot:properties>
137
- <div class="column q-gutter-y-lg">
138
- <q-input label="Heading" v-model="heading" />
139
- <q-input label="Caption" v-model="caption" />
140
- <q-input label="Left Icon" v-model="leftIcon" />
141
- <q-input label="Close Icon" v-model="closeIcon" />
142
-
143
- <div class="column">
144
- <span class="text-grey-8 text-caption-sm">Size</span>
145
- <div>
146
- <q-radio dense v-model="size" val="default" label="Default" />
147
- <q-radio
148
- dense
149
- v-model="size"
150
- val="half"
151
- label="Half"
152
- class="q-pa-sm"
153
- />
154
- <q-radio
155
- dense
156
- v-model="size"
157
- val="full"
158
- label="Full"
159
- class="q-pa-sm"
160
- />
161
- </div>
162
- </div>
163
- <div class="column">
164
- <span class="text-grey-8 text-caption-sm">Position</span>
165
- <div>
166
- <q-radio dense v-model="position" val="left" label="Left" />
167
- <q-radio
168
- dense
169
- v-model="position"
170
- val="right"
171
- label="Right"
172
- class="q-pa-sm"
173
- />
174
- <q-radio
175
- dense
176
- v-model="position"
177
- val="top"
178
- label="Top"
179
- class="q-pa-sm"
180
- />
181
- <q-radio
182
- dense
183
- v-model="position"
184
- val="bottom"
185
- label="Bottom"
186
- class="q-pa-sm"
187
- />
188
- </div>
189
- </div>
190
- <div>
191
- <q-checkbox
192
- size="xs"
193
- v-model="showActionButtons"
194
- label="Show Buttons"
195
- />
196
- <q-checkbox size="xs" v-model="divider" label="Divider" />
197
- </div>
198
- </div>
199
- </template>
200
-
201
- <template v-slot:code>
202
- <pre><code>{{ htmlContent }}</code></pre>
203
- </template>
204
- </ComponentBase>
205
- </q-page>
206
- </template>
@@ -1,11 +0,0 @@
1
- <template>
2
- <q-page class="flex flex-center">
3
- <span class="text-h3">Page not found</span>
4
- </q-page>
5
- </template>
6
-
7
- <script setup>
8
- defineOptions({
9
- name: "ErrorNotFoundPage",
10
- });
11
- </script>
@@ -1,11 +0,0 @@
1
- <template>
2
- <q-page class="flex flex-center">
3
- <p>Select a component from the sidebar to see its preview.</p>
4
- </q-page>
5
- </template>
6
-
7
- <script setup>
8
- defineOptions({
9
- name: 'IndexPage'
10
- })
11
- </script>
@@ -1,152 +0,0 @@
1
- <script setup>
2
- import ComponentBase from './ComponentBase.vue'
3
- import UInputPhoneStd from 'src/components/core/UInputPhoneStd.vue'
4
- import { computed, ref } from 'vue'
5
-
6
- const inputValue = ref('')
7
- const isRequired = ref(true)
8
- const validationRules = [(val) => val.length === 10]
9
- const errorMessage = ref('Please Provide a valid phone number')
10
- const hintText = ref('This is hint text')
11
- const placeholder = ref('Placeholder')
12
- const toolTipText = ref('This is tooltip')
13
- const hintIcon = ref('fa-kit-duotone fa-triangle-exclamation')
14
- const rightIcon = ref('fa-kit-duotone fa-triangle-exclamation')
15
- const size = ref('sm')
16
- const sizeOptions = ['sm', 'md', 'lg']
17
- const disabled = ref(false)
18
- const readonly = ref(false)
19
- const isError = ref(false)
20
- const type = ref('outline')
21
- const label = ref('Label')
22
- const mask = ref('##########')
23
-
24
- const selectedCountry = ref({
25
- name: 'United States',
26
- code: '+1',
27
- flag: 'us',
28
- })
29
-
30
- const selectCountry = (value) => {
31
- selectedCountry.value = value
32
- }
33
-
34
- const countryOptions = [
35
- { name: 'United States', code: '+1', flag: 'us' },
36
- { name: 'Canada', code: '+1', flag: 'ca' },
37
- { name: 'Mexico', code: '+52', flag: 'mx' },
38
- ]
39
- const borderless = computed(() => {
40
- return type.value === 'borderless'
41
- })
42
- const outline = computed(() => {
43
- return type.value === 'outline'
44
- })
45
-
46
- const htmlContent = `<UInputPhoneStd
47
- :label="label"
48
- :isRequired="isRequired"
49
- :mask="mask"
50
- v-model="inputValue"
51
- :validationRules="validationRules"
52
- :rightIcon="rightIcon"
53
- :hintText="hintText"
54
- :hintIcon="hintIcon"
55
- :toolTipText="toolTipText"
56
- :placeholder="placeholder"
57
- :size="size"
58
- :disable="disabled"
59
- :readonly="readonly"
60
- :error="isError"
61
- lazy-rules
62
- :error-message="errorMessage"
63
- :borderless="borderless"
64
- :outlined="outline"
65
- :options="countryOptions"
66
- :selected-country="selectedCountry"
67
- @update-country="selectCountry"
68
- />`
69
-
70
- defineOptions({
71
- name: 'InputPhone',
72
- })
73
- </script>
74
-
75
- <template>
76
- <q-page class="flex flex-center">
77
- <ComponentBase
78
- figmaUrl="https://www.figma.com/design/2FoTrjVL4ZrTdsvB4DcSao/Components?node-id=3395-4968"
79
- >
80
- <template v-slot:component>
81
- <UInputPhoneStd
82
- :label="label"
83
- :isRequired="isRequired"
84
- :mask="mask"
85
- v-model="inputValue"
86
- :validationRules="validationRules"
87
- :rightIcon="rightIcon"
88
- :hintText="hintText"
89
- :hintIcon="hintIcon"
90
- :toolTipText="toolTipText"
91
- :placeholder="placeholder"
92
- :size="size"
93
- :disable="disabled"
94
- :readonly="readonly"
95
- :error="isError"
96
- lazy-rules
97
- :error-message="errorMessage"
98
- :borderless="borderless"
99
- :outlined="outline"
100
- :options="countryOptions"
101
- :selected-country="selectedCountry"
102
- @update-country="selectCountry"
103
- />
104
- </template>
105
-
106
- <template v-slot:properties>
107
- <div class="column q-gutter-y-lg">
108
- <q-input label="Label" v-model="label" />
109
- <q-input label="Placeholder" v-model="placeholder" />
110
- <q-input label="Error Message" v-model="errorMessage" />
111
- <q-input label="Right Icon" v-model="rightIcon" />
112
- <q-input label="Hint Icon" v-model="hintIcon" />
113
- <q-input label="Hint Text" v-model="hintText" />
114
- <q-input label="Tooltip Text" v-model="toolTipText" />
115
-
116
- <q-select v-model="size" :options="sizeOptions" label="Size" />
117
-
118
- <div class="column">
119
- <span class="text-grey-8 text-caption-sm">Type</span>
120
- <div>
121
- <q-radio dense v-model="type" val="outline" label="Outline" />
122
- <q-radio
123
- dense
124
- v-model="type"
125
- val="borderless"
126
- label="Borderless"
127
- class="q-pa-sm"
128
- />
129
- </div>
130
- </div>
131
-
132
- <div>
133
- <q-checkbox size="xs" v-model="disabled" label="Disable" />
134
- </div>
135
- <div>
136
- <q-checkbox size="xs" v-model="readonly" label="Readonly" />
137
- </div>
138
- <div>
139
- <q-checkbox size="xs" v-model="isError" label="Is Error" />
140
- </div>
141
- <div>
142
- <q-checkbox size="xs" v-model="isRequired" label="Is required" />
143
- </div>
144
- </div>
145
- </template>
146
-
147
- <template v-slot:code>
148
- <pre><code>{{ htmlContent }}</code></pre>
149
- </template>
150
- </ComponentBase>
151
- </q-page>
152
- </template>
@@ -1,140 +0,0 @@
1
- <script setup>
2
- import { UInputTextStd } from 'src/components'
3
- import ComponentBase from './ComponentBase.vue'
4
- import { computed, ref } from 'vue'
5
-
6
- const inputValue = ref('')
7
- const isRequired = ref(true)
8
- const validationRules = [(val) => val.length <= 3]
9
- const errorMessage = ref('Error message would go here')
10
- const hintText = ref('This is hint text')
11
- const placeholder = ref('Placeholder')
12
- const toolTipText = ref('This is tooltip')
13
- const hintIcon = ref('fa-kit-duotone fa-triangle-exclamation')
14
- const leftIcon = ref('fa-kit-duotone fa-magnifying-glass')
15
- const rightIcon = ref('fa-kit-duotone fa-triangle-exclamation')
16
- const size = ref('sm')
17
- const sizeOptions = ['sm', 'md', 'lg']
18
- const disabled = ref(false)
19
- const readonly = ref(false)
20
- const isError = ref(false)
21
- const leftBorderRadius = ref(false)
22
- const type = ref('outline')
23
- const label = ref('Label')
24
-
25
- const borderless = computed(() => {
26
- return type.value === 'borderless'
27
- })
28
- const outline = computed(() => {
29
- return type.value === 'outline'
30
- })
31
-
32
- const htmlContent = `<UInputTextStd
33
- :label="label"
34
- :isRequired="isRequired"
35
- v-model="inputValue"
36
- :validationRules="validationRules"
37
- :leftIcon="leftIcon"
38
- :rightIcon="rightIcon"
39
- :hintText="hintText"
40
- :hintIcon="hintIcon"
41
- :toolTipText="toolTipText"
42
- :placeholder="placeholder"
43
- :size="size"
44
- :disable="disabled"
45
- :readonly="readonly"
46
- :error="checkValidation()"
47
- error-message="Error message would go here"
48
- :borderless="borderless"
49
- :outlined="outline"
50
- :leftBorderRadius="leftBorderRadius"
51
- />`
52
-
53
- defineOptions({
54
- name: 'UInputTextStd',
55
- })
56
- </script>
57
-
58
- <template>
59
- <q-page class="flex flex-center">
60
- <ComponentBase
61
- figmaUrl="https://www.figma.com/design/2FoTrjVL4ZrTdsvB4DcSao/Components?node-id=3395-4968"
62
- >
63
- <template v-slot:component>
64
- <UInputTextStd
65
- :label="label"
66
- :isRequired="isRequired"
67
- v-model="inputValue"
68
- :validationRules="validationRules"
69
- :leftIcon="leftIcon"
70
- :rightIcon="rightIcon"
71
- :hintText="hintText"
72
- :hintIcon="hintIcon"
73
- :toolTipText="toolTipText"
74
- :placeholder="placeholder"
75
- :size="size"
76
- :disable="disabled"
77
- :readonly="readonly"
78
- :error="isError"
79
- :error-message="errorMessage"
80
- :borderless="borderless"
81
- :outlined="outline"
82
- :leftBorderRadius="leftBorderRadius"
83
- parentClass="q-mb-ms"
84
- />
85
- </template>
86
-
87
- <template v-slot:properties>
88
- <div class="column q-gutter-y-lg">
89
- <q-input label="Label" v-model="label" />
90
- <q-input label="Placeholder" v-model="placeholder" />
91
- <q-input label="Error Message" v-model="errorMessage" />
92
- <q-input label="Left Icon" v-model="leftIcon" />
93
- <q-input label="Right Icon" v-model="rightIcon" />
94
- <q-input label="Hint Icon" v-model="hintIcon" />
95
- <q-input label="Hint Text" v-model="hintText" />
96
- <q-input label="Tooltip Text" v-model="toolTipText" />
97
-
98
- <q-select v-model="size" :options="sizeOptions" label="Size" />
99
-
100
- <div class="column">
101
- <span class="text-grey-8 text-caption-sm">Type</span>
102
- <div>
103
- <q-radio dense v-model="type" val="outline" label="Outline" />
104
- <q-radio
105
- dense
106
- v-model="type"
107
- val="borderless"
108
- label="Borderless"
109
- class="q-pa-sm"
110
- />
111
- </div>
112
- </div>
113
- <div>
114
- <q-checkbox size="xs" v-model="disabled" label="Disable" />
115
- </div>
116
- <div>
117
- <q-checkbox size="xs" v-model="readonly" label="Readonly" />
118
- </div>
119
- <div>
120
- <q-checkbox size="xs" v-model="isError" label="Is Error" />
121
- </div>
122
- <div>
123
- <q-checkbox
124
- size="xs"
125
- v-model="leftBorderRadius"
126
- label="Left border radius"
127
- />
128
- </div>
129
- <div>
130
- <q-checkbox size="xs" v-model="isRequired" label="Is required" />
131
- </div>
132
- </div>
133
- </template>
134
-
135
- <template v-slot:code>
136
- <pre><code>{{ htmlContent }}</code></pre>
137
- </template>
138
- </ComponentBase>
139
- </q-page>
140
- </template>