@edgedev/create-edge-app 1.1.25 → 1.1.27
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 +55 -20
- package/{agent.md → agents.md} +2 -0
- package/bin/cli.js +6 -6
- package/edge/components/auth/login.vue +384 -0
- package/edge/components/auth/register.vue +396 -0
- package/edge/components/auth.vue +108 -0
- package/edge/components/autoFileUpload.vue +215 -0
- package/edge/components/billing.vue +8 -0
- package/edge/components/buttonDivider.vue +14 -0
- package/edge/components/chip.vue +34 -0
- package/edge/components/clipboardButton.vue +42 -0
- package/edge/components/cms/block.vue +529 -0
- package/edge/components/cms/blockApi.vue +212 -0
- package/edge/components/cms/blockEditor.vue +725 -0
- package/edge/components/cms/blockInput.vue +66 -0
- package/edge/components/cms/blockPicker.vue +486 -0
- package/edge/components/cms/blockRender.vue +78 -0
- package/edge/components/cms/blockSheetContent.vue +28 -0
- package/edge/components/cms/codeEditor.vue +466 -0
- package/edge/components/cms/fontUpload.vue +327 -0
- package/edge/components/cms/htmlContent.vue +807 -0
- package/edge/components/cms/init_blocks/api_with_subarrays.html +17 -0
- package/edge/components/cms/init_blocks/array_with_collection.html +7 -0
- package/edge/components/cms/init_blocks/array_with_objects.html +7 -0
- package/edge/components/cms/init_blocks/carousel.html +103 -0
- package/edge/components/cms/init_blocks/contact_us.html +69 -0
- package/edge/components/cms/init_blocks/content_with_left_image.html +27 -0
- package/edge/components/cms/init_blocks/footer.html +24 -0
- package/edge/components/cms/init_blocks/header_divider.html +7 -0
- package/edge/components/cms/init_blocks/hero.html +35 -0
- package/edge/components/cms/init_blocks/hero_carousel.html +52 -0
- package/edge/components/cms/init_blocks/newsletter.html +117 -0
- package/edge/components/cms/init_blocks/post_content.html +7 -0
- package/edge/components/cms/init_blocks/post_title_header.html +21 -0
- package/edge/components/cms/init_blocks/posts_list.html +20 -0
- package/edge/components/cms/init_blocks/properties_showcase.html +100 -0
- package/edge/components/cms/init_blocks/property_carousel.html +59 -0
- package/edge/components/cms/init_blocks/property_detail.html +112 -0
- package/edge/components/cms/init_blocks/property_detail_header.html +34 -0
- package/edge/components/cms/init_blocks/property_results.html +137 -0
- package/edge/components/cms/init_blocks/property_search.html +75 -0
- package/edge/components/cms/init_blocks/simple_array.html +7 -0
- package/edge/components/cms/mediaCard.vue +116 -0
- package/edge/components/cms/mediaManager.vue +386 -0
- package/edge/components/cms/menu.vue +1103 -0
- package/edge/components/cms/optionsSelect.vue +107 -0
- package/edge/components/cms/page.vue +1785 -0
- package/edge/components/cms/posts.vue +1083 -0
- package/edge/components/cms/site.vue +1475 -0
- package/edge/components/cms/themeDefaultMenu.vue +548 -0
- package/edge/components/cms/themeEditor.vue +429 -0
- package/edge/components/dashboard.vue +776 -0
- package/edge/components/editor.vue +671 -0
- package/edge/components/fileTree.vue +72 -0
- package/edge/components/files.vue +89 -0
- package/edge/components/formSubtypes/myOrgs.vue +214 -0
- package/edge/components/formSubtypes/users.vue +336 -0
- package/edge/components/functionChips.vue +57 -0
- package/edge/components/gError.vue +98 -0
- package/edge/components/gHelper.vue +67 -0
- package/edge/components/gInput.vue +1331 -0
- package/edge/components/loggingIn.vue +41 -0
- package/edge/components/menu.vue +137 -0
- package/edge/components/menuContent.vue +132 -0
- package/edge/components/myAccount.vue +317 -0
- package/edge/components/myOrganizations.vue +75 -0
- package/edge/components/myProfile.vue +122 -0
- package/edge/components/orgSwitcher.vue +25 -0
- package/edge/components/organizationMembers.vue +522 -0
- package/edge/components/organizationSettings.vue +271 -0
- package/edge/components/shad/breadcrumbs.vue +35 -0
- package/edge/components/shad/button.vue +43 -0
- package/edge/components/shad/checkbox.vue +73 -0
- package/edge/components/shad/combobox.vue +238 -0
- package/edge/components/shad/datepicker.vue +184 -0
- package/edge/components/shad/dialog.vue +32 -0
- package/edge/components/shad/dropdownMenu.vue +54 -0
- package/edge/components/shad/dropdownMenuItem.vue +21 -0
- package/edge/components/shad/form.vue +59 -0
- package/edge/components/shad/html.vue +877 -0
- package/edge/components/shad/input.vue +139 -0
- package/edge/components/shad/number.vue +109 -0
- package/edge/components/shad/select.vue +151 -0
- package/edge/components/shad/selectTags.vue +278 -0
- package/edge/components/shad/switch.vue +67 -0
- package/edge/components/shad/tags.vue +137 -0
- package/edge/components/shad/textarea.vue +102 -0
- package/edge/components/shad/typeMoney.vue +167 -0
- package/edge/components/sideBar.vue +288 -0
- package/edge/components/sideBarContent.vue +268 -0
- package/edge/components/sidebarProvider.vue +33 -0
- package/edge/components/tooltip.vue +16 -0
- package/edge/components/userMenu.vue +148 -0
- package/edge/components/v/alert.vue +59 -0
- package/edge/components/v/alertTitle.vue +18 -0
- package/edge/components/v/card.vue +53 -0
- package/edge/components/v/cardActions.vue +18 -0
- package/edge/components/v/cardText.vue +18 -0
- package/edge/components/v/cardTitle.vue +20 -0
- package/edge/components/v/col.vue +56 -0
- package/edge/components/v/list.vue +46 -0
- package/edge/components/v/listItem.vue +26 -0
- package/edge/components/v/listItemTitle.vue +18 -0
- package/edge/components/v/row.vue +42 -0
- package/edge/components/v/toolbar.vue +24 -0
- package/edge/composables/global.ts +519 -0
- package/edge-pull.sh +2 -0
- package/edge-push.sh +1 -0
- package/edge-status.sh +14 -0
- package/package.json +1 -1
- 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>
|