pgo-ui 1.0.0

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 (178) hide show
  1. package/README.md +195 -0
  2. package/dist/InputSearch-CHSoQ7GH.js +155 -0
  3. package/dist/favicon.ico +0 -0
  4. package/dist/index-B7ko30VS.js +5899 -0
  5. package/dist/index-BKsLeoKP.js +4781 -0
  6. package/dist/index-BeW0KHDT.js +34237 -0
  7. package/dist/index-DjwGqWIf.js +5086 -0
  8. package/dist/index-jnIKSPXM.js +4949 -0
  9. package/dist/index.es.js +58 -0
  10. package/dist/index.umd.js +111 -0
  11. package/dist/pgo-ui.css +1 -0
  12. package/package.json +99 -0
  13. package/src/App.vue +369 -0
  14. package/src/assets/fonts/Faruma.ttf +0 -0
  15. package/src/assets/logo.png +0 -0
  16. package/src/components/examples/AppBarExample.vue +100 -0
  17. package/src/components/examples/AvatarExample.vue +47 -0
  18. package/src/components/examples/BannerExample.vue +287 -0
  19. package/src/components/examples/BaseInputExample.vue +25 -0
  20. package/src/components/examples/BreadcrumbExample.vue +53 -0
  21. package/src/components/examples/CardExample.vue +77 -0
  22. package/src/components/examples/ChipExample.vue +225 -0
  23. package/src/components/examples/DatePickerExample.vue +31 -0
  24. package/src/components/examples/DropdownExample.vue +84 -0
  25. package/src/components/examples/EditorExample.vue +200 -0
  26. package/src/components/examples/ExpansionPanelExample.vue +42 -0
  27. package/src/components/examples/FileUploadExample.vue +40 -0
  28. package/src/components/examples/FormExample.vue +121 -0
  29. package/src/components/examples/HugeTest.vue +8 -0
  30. package/src/components/examples/LayoutContainerExample.vue +80 -0
  31. package/src/components/examples/ModalExample.vue +82 -0
  32. package/src/components/examples/NavDrawerExample.vue +171 -0
  33. package/src/components/examples/NumberFieldExample.vue +145 -0
  34. package/src/components/examples/RadioButtonExample.vue +161 -0
  35. package/src/components/examples/SearchExample.vue +322 -0
  36. package/src/components/examples/SelectExample.vue +121 -0
  37. package/src/components/examples/StackedTableViewExample.vue +53 -0
  38. package/src/components/examples/TabExample.vue +336 -0
  39. package/src/components/examples/TableExample.vue +228 -0
  40. package/src/components/examples/TextFieldExample.vue +181 -0
  41. package/src/components/examples/TextareaExample.vue +173 -0
  42. package/src/components/examples/ThemeToggle.vue +50 -0
  43. package/src/components/examples/TimelineExample.vue +66 -0
  44. package/src/components/examples/TipTapEditorExample.vue +20 -0
  45. package/src/components/examples/TooltipExample.vue +53 -0
  46. package/src/components/examples/VueDatePickerShowcase.vue +214 -0
  47. package/src/components/examples/_DatePickerExample.vue +33 -0
  48. package/src/components/examples/__FormExample.vue +77 -0
  49. package/src/components/index.ts +25 -0
  50. package/src/components/pgo/AppBar.vue +348 -0
  51. package/src/components/pgo/Avatar.vue +139 -0
  52. package/src/components/pgo/Banner.vue +300 -0
  53. package/src/components/pgo/Breadcrumb.vue +103 -0
  54. package/src/components/pgo/Button.vue +171 -0
  55. package/src/components/pgo/Card.vue +179 -0
  56. package/src/components/pgo/ConfirmationModel.vue +32 -0
  57. package/src/components/pgo/DataTable.vue +845 -0
  58. package/src/components/pgo/DatePicker/CalendarPanel.vue +43 -0
  59. package/src/components/pgo/DatePicker/__DatePicker.vue +122 -0
  60. package/src/components/pgo/DatePicker/types.ts +11 -0
  61. package/src/components/pgo/DatePicker/useCalendar.ts +39 -0
  62. package/src/components/pgo/DatePicker/useDatePicker.ts +31 -0
  63. package/src/components/pgo/Deprecated/ToastContainer.vue +51 -0
  64. package/src/components/pgo/Deprecated/ToastItem.vue +55 -0
  65. package/src/components/pgo/Dropdown.vue +296 -0
  66. package/src/components/pgo/DropdownItem.vue +40 -0
  67. package/src/components/pgo/Editor.vue +511 -0
  68. package/src/components/pgo/ExpansionPanel.vue +185 -0
  69. package/src/components/pgo/Footer.vue +39 -0
  70. package/src/components/pgo/HeroIcon.vue +124 -0
  71. package/src/components/pgo/LayoutContainer.vue +104 -0
  72. package/src/components/pgo/Main.vue +37 -0
  73. package/src/components/pgo/Modal.vue +261 -0
  74. package/src/components/pgo/NavDrawer.vue +127 -0
  75. package/src/components/pgo/NavDrawerItem.vue +161 -0
  76. package/src/components/pgo/NavigationDrawer.vue +850 -0
  77. package/src/components/pgo/OLDNavDrawer.vue +661 -0
  78. package/src/components/pgo/OldAppBar.vue +223 -0
  79. package/src/components/pgo/PApp.vue +102 -0
  80. package/src/components/pgo/Pagination.vue +242 -0
  81. package/src/components/pgo/Search copy.vue +310 -0
  82. package/src/components/pgo/Search.vue +411 -0
  83. package/src/components/pgo/StackedTableView.vue +167 -0
  84. package/src/components/pgo/Tab.vue +617 -0
  85. package/src/components/pgo/TestInput.vue +395 -0
  86. package/src/components/pgo/Timeline.vue +367 -0
  87. package/src/components/pgo/TimelineItem.vue +80 -0
  88. package/src/components/pgo/TipTapEditor.vue +315 -0
  89. package/src/components/pgo/Tooltip.NOTES.md +12 -0
  90. package/src/components/pgo/Tooltip.PROPS.md +21 -0
  91. package/src/components/pgo/Tooltip.vue +281 -0
  92. package/src/components/pgo/base/Base.vue +444 -0
  93. package/src/components/pgo/buttons/Chip.vue +324 -0
  94. package/src/components/pgo/buttons/ChipGroup.vue +224 -0
  95. package/src/components/pgo/buttons/Radio.vue +424 -0
  96. package/src/components/pgo/filters/FilterSection.vue +188 -0
  97. package/src/components/pgo/filters/Searchbar.vue +216 -0
  98. package/src/components/pgo/forms/DynamicForm.vue +45 -0
  99. package/src/components/pgo/forms/Form.vue +132 -0
  100. package/src/components/pgo/index.ts +89 -0
  101. package/src/components/pgo/inputs/Checkbox.vue +320 -0
  102. package/src/components/pgo/inputs/DatePicker.vue +395 -0
  103. package/src/components/pgo/inputs/FileUpload.vue +326 -0
  104. package/src/components/pgo/inputs/InputSearch.vue +194 -0
  105. package/src/components/pgo/inputs/NumberField.vue +243 -0
  106. package/src/components/pgo/inputs/Radio.vue +162 -0
  107. package/src/components/pgo/inputs/RadioGroup.vue +188 -0
  108. package/src/components/pgo/inputs/Select.vue +535 -0
  109. package/src/components/pgo/inputs/TextField.vue +194 -0
  110. package/src/components/pgo/inputs/Textarea.vue +181 -0
  111. package/src/index.js +81 -0
  112. package/src/main.js +12 -0
  113. package/src/pgo-components/__index.js +104 -0
  114. package/src/pgo-components/_index.js +31 -0
  115. package/src/pgo-components/assets/fonts/Faruma.ttf +0 -0
  116. package/src/pgo-components/assets/fonts/logo.png +0 -0
  117. package/src/pgo-components/composables/useTheme.js +10 -0
  118. package/src/pgo-components/directives/tooltip-directive.ts +393 -0
  119. package/src/pgo-components/lib/componentConfig.js +147 -0
  120. package/src/pgo-components/lib/core/composables/_useCalendar.ts +127 -0
  121. package/src/pgo-components/lib/core/composables/useDefaults.ts +15 -0
  122. package/src/pgo-components/lib/core/composables/useLanguageSelect.js +0 -0
  123. package/src/pgo-components/lib/core/composables/useRtl.ts +12 -0
  124. package/src/pgo-components/lib/core/defaults/createDefaults.ts +5 -0
  125. package/src/pgo-components/lib/core/defaults/defaults.ts +7 -0
  126. package/src/pgo-components/lib/core/rtl/rtl.ts +3 -0
  127. package/src/pgo-components/lib/core/rtl/setRtl.ts +19 -0
  128. package/src/pgo-components/lib/drawerState.ts +3 -0
  129. package/src/pgo-components/lib/i18n/defaultLables.js +71 -0
  130. package/src/pgo-components/lib/i18n/i18nPlugin.js +52 -0
  131. package/src/pgo-components/lib/i18n/useI18n.js +35 -0
  132. package/src/pgo-components/lib/index.ts +38 -0
  133. package/src/pgo-components/pages/Component.vue +7 -0
  134. package/src/pgo-components/pages/ComponentRenderer.vue +99 -0
  135. package/src/pgo-components/pages/Home.vue +125 -0
  136. package/src/pgo-components/pages/ListView.vue +372 -0
  137. package/src/pgo-components/pages/Page1.vue +296 -0
  138. package/src/pgo-components/pages/_Page1.vue +180 -0
  139. package/src/pgo-components/plugins/SnackBar.vue +251 -0
  140. package/src/pgo-components/plugins/SnackBarContainer.vue +53 -0
  141. package/src/pgo-components/plugins/SnackBarPlugin.ts +136 -0
  142. package/src/pgo-components/plugins/theme-plugin.js +114 -0
  143. package/src/pgo-components/plugins/types.ts +46 -0
  144. package/src/pgo-components/plugins/useSnackBar.js +11 -0
  145. package/src/pgo-components/plugins/useSnackBar.ts +21 -0
  146. package/src/pgo-components/plugins/validation-plugin.js +11 -0
  147. package/src/pgo-components/services/Entry.json +813 -0
  148. package/src/pgo-components/services/axios.js +54 -0
  149. package/src/pgo-components/services/data.json +90 -0
  150. package/src/pgo-components/services/person.json +260 -0
  151. package/src/pgo-components/services/toast.ts +44 -0
  152. package/src/pgo-components/styles/global.css +234 -0
  153. package/src/pgo-components/styles/reset.css +96 -0
  154. package/src/pgo-components/styles/tokens.css +18 -0
  155. package/src/pgo-components/styles/utilities/border-radius.css +57 -0
  156. package/src/pgo-components/styles/utilities/borders.css +85 -0
  157. package/src/pgo-components/styles/utilities/colors.css +38 -0
  158. package/src/pgo-components/styles/utilities/cursor.css +19 -0
  159. package/src/pgo-components/styles/utilities/display.css +78 -0
  160. package/src/pgo-components/styles/utilities/elevation.css +33 -0
  161. package/src/pgo-components/styles/utilities/flex.css +403 -0
  162. package/src/pgo-components/styles/utilities/float.css +41 -0
  163. package/src/pgo-components/styles/utilities/hover.css +9 -0
  164. package/src/pgo-components/styles/utilities/index.css +18 -0
  165. package/src/pgo-components/styles/utilities/opacity.css +27 -0
  166. package/src/pgo-components/styles/utilities/overflow.css +26 -0
  167. package/src/pgo-components/styles/utilities/palette.css +515 -0
  168. package/src/pgo-components/styles/utilities/position.css +14 -0
  169. package/src/pgo-components/styles/utilities/sizing.css +70 -0
  170. package/src/pgo-components/styles/utilities/spacing.css +578 -0
  171. package/src/pgo-components/styles/utilities/transitions.css +58 -0
  172. package/src/pgo-components/styles/utilities/typography.css +91 -0
  173. package/src/pgo-components/styles/utilities/z-index.css +11 -0
  174. package/src/pgo-components/tokens/index.js +337 -0
  175. package/src/router/index.js +88 -0
  176. package/src/shims-vue.d.ts +14 -0
  177. package/src/validations/validationRules.js +50 -0
  178. package/tailwind.config.js +73 -0
@@ -0,0 +1,5 @@
1
+ import { globalDefaults } from "./defaults.ts";
2
+
3
+ export function createDefaults(options: Record<string, any>) {
4
+ Object.assign(globalDefaults, options.defaults || {})
5
+ }
@@ -0,0 +1,7 @@
1
+ import { reactive } from "vue";
2
+
3
+ export interface DefaultOptions {
4
+ [componentName: string]: Record<string, any>
5
+ }
6
+
7
+ export const globalDefaults = reactive<DefaultOptions>({});
@@ -0,0 +1,3 @@
1
+ import { ref } from "vue"
2
+
3
+ export const globalRtl = ref(true)
@@ -0,0 +1,19 @@
1
+ import { globalRtl } from './rtl.ts'
2
+ import { computed, inject, ref, onMounted } from 'vue'
3
+
4
+ export function setRtl(value: boolean) {
5
+ globalRtl.value = value
6
+
7
+ localStorage.setItem('rtlSetting', JSON.stringify(value));
8
+
9
+ // Update document direction and toggle a global font class
10
+ if (typeof document !== 'undefined') {
11
+ document.documentElement.setAttribute('dir', value ? 'rtl' : 'ltr')
12
+ document.documentElement.setAttribute('lang', (value == true) ? 'dv' : 'en')
13
+ if (value) {
14
+ document.documentElement.classList.add('rtl-font')
15
+ } else {
16
+ document.documentElement.classList.remove('rtl-font')
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,3 @@
1
+ import { ref } from 'vue'
2
+
3
+ export const drawerOpen = ref(true)
@@ -0,0 +1,71 @@
1
+
2
+ export const messages = {
3
+ en: {
4
+ buttons: {
5
+ submit: 'Submit',
6
+ cancel: 'Cancel',
7
+ save: 'Save',
8
+ add: 'Add',
9
+ ok: 'OK',
10
+ print: 'Print',
11
+ download: 'Download',
12
+ yes: 'Yes',
13
+ no: 'No',
14
+ delete: 'Delete',
15
+ edit: 'Edit',
16
+ close: 'Close',
17
+ search: 'Search',
18
+ },
19
+ placeholders: {
20
+ search: 'Search...',
21
+ select: 'Select an option',
22
+ },
23
+ labels: {
24
+ name: 'Name',
25
+ email: 'Email',
26
+ password: 'Password',
27
+ },
28
+ pagination: {
29
+ itemsPerPage: 'Items per page:',
30
+ jumpToPage: 'Jump to page:',
31
+ of: 'of',
32
+ next: 'Next',
33
+ previous: 'Previous',
34
+ page: 'Page',
35
+ }
36
+ },
37
+ dv: {
38
+ buttons: {
39
+ submit: 'ސަބްމިޓް',
40
+ cancel: 'ކެންސަލް',
41
+ add: 'އެޑް',
42
+ save: 'ސޭވް',
43
+ ok: 'އޯކޭ',
44
+ print: 'ޕްރިންޓް',
45
+ download: 'ޑައިންލޯޑް',
46
+ yes: 'ރަގަނޅު',
47
+ no: 'ނޫން',
48
+ delete: 'ޑިލިޓް',
49
+ edit: 'އެޑިޓް',
50
+ close: 'ކްލޯސް',
51
+ search: 'ހޯދާ',
52
+ },
53
+ placeholders: {
54
+ search: 'ހޯދާ...',
55
+ select: 'އޮޕްޝަން',
56
+ },
57
+ labels: {
58
+ name: 'ނަން',
59
+ email: 'އީމެއިލް',
60
+ password: 'ޕާސްވަޑް',
61
+ },
62
+ pagination: {
63
+ itemsPerPage: 'ކޮންމެ ސަފުހާއަކަށް:',
64
+ jumpToPage: 'ސަފުހާއަށް ދާން:',
65
+ of: 'ގެ',
66
+ next: 'ކުރިޔަން',
67
+ previous: 'ފަހަތަށް',
68
+ page: 'ސަފުހާ',
69
+ }
70
+ },
71
+ }
@@ -0,0 +1,52 @@
1
+ import { useI18n } from './useI18n.js'
2
+ import { setRtl } from '../core/rtl/setRtl.ts'
3
+ import { watch } from 'vue'
4
+
5
+ export const i18nPlugin = {
6
+ install(app) {
7
+ const { t, setLanguage, language } = useI18n()
8
+
9
+ // Create useLanguageSelect helper
10
+ // const useLanguageSelect = (value, lang = '') => {
11
+ // // If lang prop is provided, use it; otherwise use global language
12
+ // const currentLang = lang || language.value
13
+
14
+ // // If value is a string, return it directly
15
+ // if (typeof value === 'string' && value !== '') {
16
+ // return value
17
+ // }
18
+
19
+ // // If value is an object with language keys
20
+ // if (value && typeof value === 'object') {
21
+ // return value[currentLang] || value['en'] || ''
22
+ // }
23
+
24
+ // return ''
25
+ // }
26
+
27
+ // Changing RTL with language change
28
+ watch (language, (newLang) => {
29
+ if (newLang === 'dv') {
30
+ setRtl(true)
31
+ } else {
32
+ setRtl(false)
33
+ }
34
+
35
+ })
36
+
37
+
38
+ // Provide i18n with useLanguageSelect
39
+ app.provide('i18n', {
40
+ t,
41
+ setLanguage,
42
+ language,
43
+ // useLanguageSelect
44
+ })
45
+
46
+ // Global properties
47
+ app.config.globalProperties.$t = t
48
+ app.config.globalProperties.$setLanguage = setLanguage
49
+ app.config.globalProperties.$language = language
50
+ // app.config.globalProperties.$useLanguageSelect = useLanguageSelect
51
+ }
52
+ }
@@ -0,0 +1,35 @@
1
+ import { ref, computed } from 'vue'
2
+ import { messages } from './defaultLables.js'
3
+
4
+ const currentLanguage = ref(localStorage.getItem('language') || 'en')
5
+
6
+ export const useI18n = () => {
7
+ const t = (key, lang = '') => {
8
+ // Use provided lang or fall back to current language
9
+ const selectedLang = lang || currentLanguage.value
10
+ const keys = key.split('.')
11
+ let value = messages[selectedLang]
12
+
13
+ for (const k of keys) {
14
+ value = value?.[k]
15
+ }
16
+
17
+ return value || key
18
+ }
19
+
20
+ const setLanguage = (lang) => {
21
+ if (messages[lang]) {
22
+ currentLanguage.value = lang
23
+ localStorage.setItem('language', lang)
24
+ document.documentElement.lang = lang
25
+ }
26
+ }
27
+
28
+ const language = computed(() => currentLanguage.value)
29
+
30
+ return {
31
+ t,
32
+ setLanguage,
33
+ language,
34
+ }
35
+ }
@@ -0,0 +1,38 @@
1
+ import type { App } from 'vue'
2
+ import { createDefaults } from './core/defaults/createDefaults.ts'
3
+ import { setRtl } from './core/rtl/setRtl.ts'
4
+ import { i18nPlugin } from './i18n/i18nPlugin.js'
5
+ import * as components from '../../components/index.ts'
6
+
7
+ // Export all components individually
8
+ export * from '../../components/index.ts'
9
+
10
+ // Export composables
11
+ export { useTheme } from '../composables/useTheme.js'
12
+ export { useI18n } from './i18n/useI18n.js'
13
+
14
+ // Export plugin
15
+ const UiUxPlugin = {
16
+ install(app: App, options: any = {}) {
17
+ // Install i18n plugin first (required by components)
18
+ app.use(i18nPlugin)
19
+
20
+ // Inject defaults if provided
21
+ if (options.defaults){
22
+ createDefaults(options)
23
+ }
24
+
25
+ // Inject RTL if provided
26
+ if (typeof options.rtl === 'boolean'){
27
+ setRtl(options.rtl)
28
+ }
29
+
30
+ // Register components
31
+ for (const key in components) {
32
+ app.component(key, (components as any)[key])
33
+ }
34
+
35
+ }
36
+ }
37
+
38
+ export default UiUxPlugin
@@ -0,0 +1,7 @@
1
+ <template>
2
+ <Breadcrumb />
3
+
4
+ </template>
5
+ <script setup>
6
+ import Breadcrumb from '../../components/pgo/Breadcrumb.vue'
7
+ </script>
@@ -0,0 +1,99 @@
1
+ <template>
2
+ <div>
3
+ <!-- <ListView v-if="componentMap[componentName]"
4
+ :items="items"
5
+ :loading="loading"
6
+ @update:query-params="handleQueryParamsUpdate"
7
+ /> -->
8
+ <component
9
+ v-if="componentMap[DisplayComponent]"
10
+ :is="componentMap[DisplayComponent]"
11
+ :items="items"
12
+ :loading="loading"
13
+ @update:query-params="handleQueryParamsUpdate"
14
+ />
15
+ <div v-else>
16
+ <p>Component not found: {{ DisplayComponent }}</p>
17
+ </div>
18
+ </div>
19
+ </template>
20
+
21
+ <script setup>
22
+ import { ref, onMounted, watch, inject, computed, defineAsyncComponent } from 'vue'
23
+ import { useRoute } from 'vue-router'
24
+ // import {ListView} from '../../'
25
+
26
+ const { language } = inject('i18n')
27
+ const api = inject('api')
28
+ const route = useRoute()
29
+
30
+
31
+ const modelName = computed(() => route.params.modelName || '')
32
+ const componentName = computed(() => route.params.componentName || '')
33
+
34
+
35
+ const items = ref({})
36
+ const loading = ref(false)
37
+ const DisplayComponent = ref(null)
38
+
39
+ const fetchData = async (queryParams = {}) => {
40
+ try {
41
+ loading.value = true
42
+
43
+ // Build query string from params
44
+ const params = new URLSearchParams({
45
+ component: componentName.value,
46
+ lang: language.value || 'dv',
47
+ ...queryParams
48
+ })
49
+
50
+ // console.log('Fetching with params:', params.toString())
51
+
52
+ const response = await api.get(`/ccs/${modelName.value}?${params}`) // uncomment this line to use real API
53
+ // const response = person // comment this line to use real API
54
+ items.value = response
55
+ DisplayComponent.value = response.component
56
+
57
+ console.log('DisplayComponent:', DisplayComponent.value)
58
+
59
+ console.log('Fetchedd data:', items.value)
60
+ } catch (error) {
61
+ console.error('Error fetching data:', error)
62
+ } finally {
63
+ loading.value = false
64
+ }
65
+ }
66
+
67
+ const componentMap = computed(() => {
68
+ const map = {}
69
+ const usedTypes = DisplayComponent.value
70
+
71
+ if (usedTypes == "listView" || usedTypes == 'ListView' || usedTypes == 'listView2') {
72
+ map['listView'] = defineAsyncComponent(() => import('../../pgo-components/pages/ListView.vue'))
73
+ map['listView2'] = defineAsyncComponent(() => import('../../pgo-components/pages/ListView.vue'))
74
+ map['ListView'] = defineAsyncComponent(() => import('../../pgo-components/pages/ListView.vue'))
75
+ }
76
+
77
+ return map
78
+ })
79
+
80
+ // Handle query params update from child component
81
+ const handleQueryParamsUpdate = (queryParams) => {
82
+ console.log('Query params updated:', queryParams)
83
+ fetchData(queryParams)
84
+ }
85
+
86
+ // Initial fetch
87
+
88
+ onMounted(() => {
89
+ fetchData()
90
+ console.log('Model Name:', modelName.value)
91
+ console.log('Component Name:', componentName.value)
92
+ console.log('Route params:', route.params)
93
+ })
94
+
95
+ // Watch for route changes
96
+ watch([modelName, componentName], () => {
97
+ // fetchData()
98
+ })
99
+ </script>
@@ -0,0 +1,125 @@
1
+ <template>
2
+
3
+
4
+ <div class="max-w-5xl mx-auto p-4 mt-6 border space-y-3">
5
+ <ModalExample />
6
+ </div>
7
+
8
+ <div class="max-w-5xl mx-auto p-4 mt-6 border space-y-3">
9
+ <BreadcrumbExample />
10
+ </div>
11
+
12
+ <!-- <div class="max-w-5xl mx-auto p-4 mt-6 border space-y-3">
13
+ <ThemeToggle />
14
+ </div> -->
15
+
16
+
17
+ <!-- <div class="max-w-5xl mx-auto p-4 mt-6 border space-y-3">
18
+ <ExpansionPanelExample />
19
+ </div> -->
20
+
21
+ <!-- <div class="max-w-5xl mx-auto p-4 mt-6 border space-y-3">
22
+ <EditorExample />
23
+ </div> -->
24
+
25
+ <!-- <div class="max-w-5xl mx-auto p-4 mt-6 border space-y-3">
26
+ <TabExample />
27
+ </div> -->
28
+
29
+ <!-- <div class="max-w-5xl mx-auto p-4 mt-6 border space-y-3">
30
+ <TooltipExample />
31
+ </div> -->
32
+
33
+ <!-- <div class="max-w-5xl mx-auto p-4 mt-6 border space-y-3">
34
+ <AvatarExample />
35
+ </div> -->
36
+
37
+ <!-- <div class="max-w-5xl mx-auto p-4 mt-6 border space-y-3">
38
+ <VueDatePickerShowcase />
39
+ </div> -->
40
+
41
+ <!-- <div class="max-w-5xl mx-auto p-4 mt-6 border space-y-3">
42
+ <TimelineExample />
43
+ </div> -->
44
+
45
+ <!-- <div class="max-w-5xl mx-auto p-4 mt-6 border space-y-3">
46
+ <FileUploadExample />
47
+ </div> -->
48
+
49
+ <!-- <div class="max-w-5xl mx-auto p-4 mt-6 border space-y-3">
50
+ <FormExample />
51
+ </div> -->
52
+ <!-- <div class="max-w-5xl mx-auto p-4 mt-6 border space-y-3">
53
+ <RadioButtonExample />
54
+ </div> -->
55
+ <!-- <div class="max-w-5xl mx-auto p-4 mt-6 border space-y-3">
56
+ <NumberFieldExample />
57
+ </div> -->
58
+ <!-- <LayoutContainer>
59
+ <template #default>
60
+ <div>
61
+ <h1 class="text-2xl font-bold mb-4">Dashboard</h1>
62
+ <p>Main content goes here.</p>
63
+ </div>
64
+ </template>
65
+
66
+ <template #footer>
67
+ <div class="text-center text-sm text-gray-500">© 2025 My App</div>
68
+ </template>
69
+ </LayoutContainer> -->
70
+
71
+ <!-- <LayoutContainerExample /> -->
72
+
73
+
74
+ </template>
75
+
76
+ <script setup>
77
+ import { ref } from "vue";
78
+ import ExpansionPanelExample from '../../components/examples/ExpansionPanelExample.vue'
79
+ import TabExample from '../../components/examples/TabExample.vue'
80
+ import TooltipExample from '../../components/examples/TooltipExample.vue'
81
+ import AvatarExample from '../../components/examples/AvatarExample.vue'
82
+ import VueDatePickerShowcase from '../../components/examples/VueDatePickerShowcase.vue'
83
+ import TimelineExample from '../../components/examples/TimelineExample.vue'
84
+ import FileUploadExample from '../../components/examples/FileUploadExample.vue'
85
+ import EditorExample from '../../components/examples/EditorExample.vue'
86
+ import FormExample from '../../components/examples/FormExample.vue'
87
+ import BreadcrumbExample from '../../components/examples/BreadcrumbExample.vue'
88
+ import ModalExample from '../../components/examples/ModalExample.vue'
89
+ import ThemeToggle from '../../components/examples/ThemeToggle.vue'
90
+ import { drawerOpen } from '../../pgo-components/lib/drawerState'
91
+ import { globalRtl } from '../../pgo-components/lib/core/rtl/rtl'
92
+ import { useSnackBar } from '../../pgo-components/plugins/useSnackBar.js'
93
+ import AppBarExample from "../../components/examples/AppBarExample.vue";
94
+ import NavDrawerExample from "../../components/examples/NavDrawerExample.vue";
95
+ import ChipExample from "../../components/examples/ChipExample.vue";
96
+ import TableExample from "../../components/examples/TableExample.vue";
97
+ import SelectExample from "../../components/examples/SelectExample.vue";
98
+ import CardExample from "../../components/examples/CardExample.vue";
99
+ import DropdownExample from "../../components/examples/DropdownExample.vue";
100
+ import TextareaExample from "../../components/examples/TextareaExample.vue";
101
+ import TextFieldExample from "../../components/examples/TextFieldExample.vue";
102
+ import BannerExample from "../../components/examples/BannerExample.vue";
103
+ import SearchExample from "../../components/examples/SearchExample.vue";
104
+ import StackedTableViewExample from "../../components/examples/StackedTableViewExample.vue";
105
+ import LayoutContainer from "../../components/pgo/LayoutContainer.vue";
106
+ import RadioButtonExample from "../../components/examples/RadioButtonExample.vue";
107
+
108
+ import LayoutContainerExample from "../../components/examples/LayoutContainerExample.vue";
109
+
110
+ import Button from "../../components/pgo/Button.vue";
111
+ import NumberFieldExample from "../../components/examples/NumberFieldExample.vue";
112
+
113
+ const appBarOffset = ref(false)
114
+ const overlayAppBar = ref(true)
115
+ const zIndex = ref(undefined)
116
+ const isStuck = ref(true)
117
+ const location = ref(globalRtl.value ? 'right' : 'left')
118
+ const persistent = ref(false)
119
+ const permanent = ref(true)
120
+ const temporary = ref(false)
121
+ const rail = ref(false)
122
+ const hoverExpand = ref(false)
123
+
124
+
125
+ </script>