@edgedev/create-edge-app 1.1.25 → 1.1.26

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 (111) hide show
  1. package/README.md +55 -20
  2. package/{agent.md → agents.md} +2 -0
  3. package/bin/cli.js +6 -6
  4. package/edge/components/auth/login.vue +384 -0
  5. package/edge/components/auth/register.vue +396 -0
  6. package/edge/components/auth.vue +108 -0
  7. package/edge/components/autoFileUpload.vue +215 -0
  8. package/edge/components/billing.vue +8 -0
  9. package/edge/components/buttonDivider.vue +14 -0
  10. package/edge/components/chip.vue +34 -0
  11. package/edge/components/clipboardButton.vue +42 -0
  12. package/edge/components/cms/block.vue +529 -0
  13. package/edge/components/cms/blockApi.vue +212 -0
  14. package/edge/components/cms/blockEditor.vue +725 -0
  15. package/edge/components/cms/blockInput.vue +66 -0
  16. package/edge/components/cms/blockPicker.vue +486 -0
  17. package/edge/components/cms/blockRender.vue +78 -0
  18. package/edge/components/cms/blockSheetContent.vue +28 -0
  19. package/edge/components/cms/codeEditor.vue +466 -0
  20. package/edge/components/cms/fontUpload.vue +327 -0
  21. package/edge/components/cms/htmlContent.vue +807 -0
  22. package/edge/components/cms/init_blocks/api_with_subarrays.html +17 -0
  23. package/edge/components/cms/init_blocks/array_with_collection.html +7 -0
  24. package/edge/components/cms/init_blocks/array_with_objects.html +7 -0
  25. package/edge/components/cms/init_blocks/carousel.html +103 -0
  26. package/edge/components/cms/init_blocks/contact_us.html +69 -0
  27. package/edge/components/cms/init_blocks/content_with_left_image.html +27 -0
  28. package/edge/components/cms/init_blocks/footer.html +24 -0
  29. package/edge/components/cms/init_blocks/header_divider.html +7 -0
  30. package/edge/components/cms/init_blocks/hero.html +35 -0
  31. package/edge/components/cms/init_blocks/hero_carousel.html +52 -0
  32. package/edge/components/cms/init_blocks/newsletter.html +117 -0
  33. package/edge/components/cms/init_blocks/post_content.html +7 -0
  34. package/edge/components/cms/init_blocks/post_title_header.html +21 -0
  35. package/edge/components/cms/init_blocks/posts_list.html +20 -0
  36. package/edge/components/cms/init_blocks/properties_showcase.html +100 -0
  37. package/edge/components/cms/init_blocks/property_carousel.html +59 -0
  38. package/edge/components/cms/init_blocks/property_detail.html +112 -0
  39. package/edge/components/cms/init_blocks/property_detail_header.html +34 -0
  40. package/edge/components/cms/init_blocks/property_results.html +137 -0
  41. package/edge/components/cms/init_blocks/property_search.html +75 -0
  42. package/edge/components/cms/init_blocks/simple_array.html +7 -0
  43. package/edge/components/cms/mediaCard.vue +116 -0
  44. package/edge/components/cms/mediaManager.vue +386 -0
  45. package/edge/components/cms/menu.vue +1103 -0
  46. package/edge/components/cms/optionsSelect.vue +107 -0
  47. package/edge/components/cms/page.vue +1785 -0
  48. package/edge/components/cms/posts.vue +1083 -0
  49. package/edge/components/cms/site.vue +1298 -0
  50. package/edge/components/cms/themeDefaultMenu.vue +548 -0
  51. package/edge/components/cms/themeEditor.vue +426 -0
  52. package/edge/components/dashboard.vue +776 -0
  53. package/edge/components/editor.vue +671 -0
  54. package/edge/components/fileTree.vue +72 -0
  55. package/edge/components/files.vue +89 -0
  56. package/edge/components/formSubtypes/myOrgs.vue +214 -0
  57. package/edge/components/formSubtypes/users.vue +336 -0
  58. package/edge/components/functionChips.vue +57 -0
  59. package/edge/components/gError.vue +98 -0
  60. package/edge/components/gHelper.vue +67 -0
  61. package/edge/components/gInput.vue +1331 -0
  62. package/edge/components/loggingIn.vue +41 -0
  63. package/edge/components/menu.vue +137 -0
  64. package/edge/components/menuContent.vue +132 -0
  65. package/edge/components/myAccount.vue +317 -0
  66. package/edge/components/myOrganizations.vue +75 -0
  67. package/edge/components/myProfile.vue +122 -0
  68. package/edge/components/orgSwitcher.vue +25 -0
  69. package/edge/components/organizationMembers.vue +522 -0
  70. package/edge/components/organizationSettings.vue +271 -0
  71. package/edge/components/shad/breadcrumbs.vue +35 -0
  72. package/edge/components/shad/button.vue +43 -0
  73. package/edge/components/shad/checkbox.vue +73 -0
  74. package/edge/components/shad/combobox.vue +238 -0
  75. package/edge/components/shad/datepicker.vue +184 -0
  76. package/edge/components/shad/dialog.vue +32 -0
  77. package/edge/components/shad/dropdownMenu.vue +54 -0
  78. package/edge/components/shad/dropdownMenuItem.vue +21 -0
  79. package/edge/components/shad/form.vue +59 -0
  80. package/edge/components/shad/html.vue +877 -0
  81. package/edge/components/shad/input.vue +139 -0
  82. package/edge/components/shad/number.vue +109 -0
  83. package/edge/components/shad/select.vue +151 -0
  84. package/edge/components/shad/selectTags.vue +278 -0
  85. package/edge/components/shad/switch.vue +67 -0
  86. package/edge/components/shad/tags.vue +137 -0
  87. package/edge/components/shad/textarea.vue +102 -0
  88. package/edge/components/shad/typeMoney.vue +167 -0
  89. package/edge/components/sideBar.vue +288 -0
  90. package/edge/components/sideBarContent.vue +268 -0
  91. package/edge/components/sidebarProvider.vue +33 -0
  92. package/edge/components/tooltip.vue +16 -0
  93. package/edge/components/userMenu.vue +148 -0
  94. package/edge/components/v/alert.vue +59 -0
  95. package/edge/components/v/alertTitle.vue +18 -0
  96. package/edge/components/v/card.vue +53 -0
  97. package/edge/components/v/cardActions.vue +18 -0
  98. package/edge/components/v/cardText.vue +18 -0
  99. package/edge/components/v/cardTitle.vue +20 -0
  100. package/edge/components/v/col.vue +56 -0
  101. package/edge/components/v/list.vue +46 -0
  102. package/edge/components/v/listItem.vue +26 -0
  103. package/edge/components/v/listItemTitle.vue +18 -0
  104. package/edge/components/v/row.vue +42 -0
  105. package/edge/components/v/toolbar.vue +24 -0
  106. package/edge/composables/global.ts +519 -0
  107. package/edge-pull.sh +2 -0
  108. package/edge-push.sh +1 -0
  109. package/edge-status.sh +14 -0
  110. package/package.json +1 -1
  111. package/edge-components-install.sh +0 -1
@@ -0,0 +1,107 @@
1
+ <script setup>
2
+ import { useVModel } from '@vueuse/core'
3
+ const props = defineProps({
4
+ modelValue: {
5
+ type: [String, Boolean, Number, null],
6
+ required: false,
7
+ default: null,
8
+ },
9
+ option: {
10
+ type: Object,
11
+ required: true,
12
+ },
13
+ label: {
14
+ type: String,
15
+ required: false,
16
+ },
17
+ })
18
+ const emits = defineEmits(['update:modelValue'])
19
+ const edgeFirebase = inject('edgeFirebase')
20
+ const modelValue = useVModel(props, 'modelValue', emits, {
21
+ passive: false,
22
+ emits,
23
+ prop: 'modelValue',
24
+ })
25
+
26
+ const NONE_VALUE = '__edge_none__'
27
+
28
+ const selectValue = computed({
29
+ get() {
30
+ return (modelValue.value === null || modelValue.value === '')
31
+ ? NONE_VALUE
32
+ : modelValue.value
33
+ },
34
+ set(value) {
35
+ modelValue.value = value === NONE_VALUE ? null : value
36
+ },
37
+ })
38
+
39
+ let staticOption = null
40
+
41
+ const state = reactive({
42
+ loading: true,
43
+ })
44
+
45
+ onBeforeMount(async () => {
46
+ staticOption = JSON.parse(JSON.stringify(props.option))
47
+ // Helper: safely resolve nested keys like "meta.user"
48
+ const getByPath = (obj, path) => {
49
+ return path.split('.').reduce((acc, key) => {
50
+ return (acc && acc[key] !== undefined) ? acc[key] : undefined
51
+ }, obj)
52
+ }
53
+
54
+ if (!Array.isArray(props.option?.options)) {
55
+ const collection = props.option?.options
56
+ const staticSearch = new edgeFirebase.SearchStaticData()
57
+ await staticSearch.getData(`${edgeGlobal.edgeState.organizationDocPath}/${collection}`)
58
+ const options = Object.values(staticSearch.results.data) || []
59
+
60
+ if (props.option.optionsKey && props.option.optionsValue) {
61
+ const seen = new Set()
62
+
63
+ staticOption.options = options
64
+ .map((item) => {
65
+ const title = getByPath(item, props.option.optionsKey)
66
+ const name = getByPath(item, props.option.optionsValue)
67
+ return (title != null && name != null && name !== '')
68
+ ? { title, name }
69
+ : null
70
+ })
71
+ .filter(Boolean) // remove nulls
72
+ .filter((item) => {
73
+ if (seen.has(item.name))
74
+ return false
75
+ seen.add(item.name)
76
+ return true
77
+ })
78
+ }
79
+ else {
80
+ staticOption.options = options
81
+ }
82
+ }
83
+ else {
84
+ staticOption.options = props.option.options
85
+ .map((item) => {
86
+ const title = getByPath(item, props.option.optionsKey)
87
+ const name = getByPath(item, props.option.optionsValue)
88
+ return (title != null && name != null)
89
+ ? { title, name }
90
+ : null
91
+ })
92
+ .filter(Boolean) // remove nulls
93
+ }
94
+ staticOption.options.unshift({ title: '(none)', name: NONE_VALUE })
95
+ state.loading = false
96
+ })
97
+ </script>
98
+
99
+ <template>
100
+ <edge-shad-select
101
+ v-if="!state.loading && staticOption.options.length > 0"
102
+ v-model="selectValue"
103
+ :label="props.label"
104
+ :name="props.option.field"
105
+ :items="staticOption.options"
106
+ />
107
+ </template>