@aerogel/core 0.1.1-next.e6a6ad3e33336c7da826eebdf24cd581e20522f2 → 0.1.1-next.eccf11f4e757c5de2ef17ea40a8ff8a74a81bf97
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/dist/aerogel-core.d.ts +338 -100
- package/dist/aerogel-core.js +1438 -1142
- package/dist/aerogel-core.js.map +1 -1
- package/package.json +1 -1
- package/src/components/AppLayout.vue +1 -1
- package/src/components/contracts/Combobox.ts +5 -0
- package/src/components/contracts/Modal.ts +1 -1
- package/src/components/contracts/Select.ts +98 -4
- package/src/components/contracts/index.ts +1 -0
- package/src/components/headless/HeadlessSelect.vue +10 -91
- package/src/components/headless/HeadlessSelectOption.vue +1 -5
- package/src/components/index.ts +1 -0
- package/src/components/ui/Combobox.vue +66 -0
- package/src/components/ui/ComboboxLabel.vue +29 -0
- package/src/components/ui/ComboboxOption.vue +46 -0
- package/src/components/ui/ComboboxOptions.vue +71 -0
- package/src/components/ui/ComboboxTrigger.vue +62 -0
- package/src/components/ui/Details.vue +19 -6
- package/src/components/ui/Input.vue +12 -4
- package/src/components/ui/Modal.vue +2 -2
- package/src/components/ui/ProgressBar.vue +1 -1
- package/src/components/ui/SettingsModal.vue +1 -1
- package/src/components/ui/index.ts +5 -0
- package/src/components/vue/Provide.vue +11 -0
- package/src/components/vue/index.ts +1 -0
- package/src/index.css +1 -0
- package/src/services/App.state.ts +1 -0
- package/src/services/App.ts +4 -0
- package/src/services/index.ts +5 -0
|
@@ -95,7 +95,7 @@ const {
|
|
|
95
95
|
persistent,
|
|
96
96
|
closeHidden,
|
|
97
97
|
fullscreen,
|
|
98
|
-
|
|
98
|
+
fullscreenOnMobile,
|
|
99
99
|
...props
|
|
100
100
|
} = defineProps<
|
|
101
101
|
ModalProps & {
|
|
@@ -126,7 +126,7 @@ const renderedContentClass = computed(() =>
|
|
|
126
126
|
{ 'pt-4': !title || titleHidden, 'max-h-[90vh]': !renderFullscreen.value },
|
|
127
127
|
contentClass,
|
|
128
128
|
));
|
|
129
|
-
const renderFullscreen = computed(() => fullscreen || (
|
|
129
|
+
const renderFullscreen = computed(() => fullscreen || (fullscreenOnMobile && UI.mobile));
|
|
130
130
|
const renderedWrapperClass = computed(() =>
|
|
131
131
|
classes(
|
|
132
132
|
'isolate fixed z-50 flex flex-col overflow-hidden bg-white text-left duration-300',
|
|
@@ -36,7 +36,7 @@ const filledClasses = computed(() =>
|
|
|
36
36
|
classes('size-full transition-transform duration-500 rounded-r-full ease-linear bg-primary-600', filledClass));
|
|
37
37
|
const overflowClasses = computed(() =>
|
|
38
38
|
classes(
|
|
39
|
-
'absolute inset-y-0 right-0 size-full rounded-r-full
|
|
39
|
+
'absolute inset-y-0 right-0 size-full rounded-r-full',
|
|
40
40
|
'bg-primary-900 transition-[width] duration-500 ease-linear',
|
|
41
41
|
overflowClass,
|
|
42
42
|
));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<Modal :title="$td('settings.title', 'Settings')">
|
|
2
|
+
<Modal :title="$td('settings.title', 'Settings')" :fullscreen-on-mobile="$app.settingsFullscreenOnMobile">
|
|
3
3
|
<component :is="setting.component" v-for="(setting, key) in settings" :key />
|
|
4
4
|
</Modal>
|
|
5
5
|
</template>
|
|
@@ -2,6 +2,11 @@ export { default as AdvancedOptions } from './AdvancedOptions.vue';
|
|
|
2
2
|
export { default as AlertModal } from './AlertModal.vue';
|
|
3
3
|
export { default as Button } from './Button.vue';
|
|
4
4
|
export { default as Checkbox } from './Checkbox.vue';
|
|
5
|
+
export { default as Combobox } from './Combobox.vue';
|
|
6
|
+
export { default as ComboboxLabel } from './ComboboxLabel.vue';
|
|
7
|
+
export { default as ComboboxOption } from './ComboboxOption.vue';
|
|
8
|
+
export { default as ComboboxOptions } from './ComboboxOptions.vue';
|
|
9
|
+
export { default as ComboboxTrigger } from './ComboboxTrigger.vue';
|
|
5
10
|
export { default as ConfirmModal } from './ConfirmModal.vue';
|
|
6
11
|
export { default as Details } from './Details.vue';
|
|
7
12
|
export { default as DropdownMenu } from './DropdownMenu.vue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Provide } from './Provide.vue';
|
package/src/index.css
CHANGED
package/src/services/App.ts
CHANGED
|
@@ -30,6 +30,10 @@ export class AppService extends Service {
|
|
|
30
30
|
this.settings.push(markRaw(setting));
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
public setSettingsFullscreenOnMobile(fullscreenOnMobile: boolean): void {
|
|
34
|
+
this.settingsFullscreenOnMobile = fullscreenOnMobile;
|
|
35
|
+
}
|
|
36
|
+
|
|
33
37
|
public async whenReady<T>(callback: () => T): Promise<T> {
|
|
34
38
|
const result = await this.ready.then(callback);
|
|
35
39
|
|
package/src/services/index.ts
CHANGED
|
@@ -56,6 +56,10 @@ export default definePlugin({
|
|
|
56
56
|
app.use(getPiniaStore());
|
|
57
57
|
options.settings?.forEach((setting) => App.addSetting(setting));
|
|
58
58
|
|
|
59
|
+
if (options.settingsFullscreenOnMobile !== undefined) {
|
|
60
|
+
App.setSettingsFullscreenOnMobile(options.settingsFullscreenOnMobile);
|
|
61
|
+
}
|
|
62
|
+
|
|
59
63
|
await bootServices(app, services);
|
|
60
64
|
},
|
|
61
65
|
});
|
|
@@ -64,6 +68,7 @@ declare module '@aerogel/core/bootstrap/options' {
|
|
|
64
68
|
export interface AerogelOptions {
|
|
65
69
|
services?: Record<string, Service>;
|
|
66
70
|
settings?: AppSetting[];
|
|
71
|
+
settingsFullscreenOnMobile?: boolean;
|
|
67
72
|
}
|
|
68
73
|
}
|
|
69
74
|
|