diff --git a/packages/template-ui/package.json b/packages/template-ui/package.json index de950349..b233312e 100644 --- a/packages/template-ui/package.json +++ b/packages/template-ui/package.json @@ -9,6 +9,7 @@ "preview": "vite preview" }, "dependencies": { + "@headlessui-float/vue": "^0.11.2", "@headlessui/vue": "^1.7.14", "vue": "^3.2.47" }, diff --git a/packages/template-ui/pnpm-lock.yaml b/packages/template-ui/pnpm-lock.yaml index 521ce8a5..060bfade 100644 --- a/packages/template-ui/pnpm-lock.yaml +++ b/packages/template-ui/pnpm-lock.yaml @@ -5,6 +5,9 @@ settings: excludeLinksFromLockfile: false dependencies: + '@headlessui-float/vue': + specifier: ^0.11.2 + version: 0.11.2(vue@3.3.4) '@headlessui/vue': specifier: ^1.7.14 version: 1.7.14(vue@3.3.4) @@ -263,6 +266,43 @@ packages: dev: true optional: true + /@floating-ui/core@1.3.1: + resolution: {integrity: sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g==} + dev: false + + /@floating-ui/dom@1.4.2: + resolution: {integrity: sha512-VKmvHVatWnewmGGy+7Mdy4cTJX71Pli6v/Wjb5RQBuq5wjUYx+Ef+kRThi8qggZqDgD8CogCpqhRoVp3+yQk+g==} + dependencies: + '@floating-ui/core': 1.3.1 + dev: false + + /@floating-ui/vue@0.2.1(vue@3.3.4): + resolution: {integrity: sha512-HE+EIeakID7wI6vUwF0yMpaW48bNaPj8QtnQaRMkaQFhQReVBA4bY6fmJ3J7X+dqVgDbMhyfCG0fBJfdQMdWxQ==} + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^2.0.0 || >=3.0.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + '@floating-ui/dom': 1.4.2 + vue: 3.3.4 + vue-demi: 0.13.11(vue@3.3.4) + dev: false + + /@headlessui-float/vue@0.11.2(vue@3.3.4): + resolution: {integrity: sha512-9yWN6LHeaXZKyU9y/rj6SmujCzkRxxf4bhg7nRs2RSwfSRI9E+JPvM/Tl7AA2lFQAJegWTRcElt3dSJ0Nkth0Q==} + peerDependencies: + vue: ^3.0.0 + dependencies: + '@floating-ui/core': 1.3.1 + '@floating-ui/dom': 1.4.2 + '@floating-ui/vue': 0.2.1(vue@3.3.4) + vue: 3.3.4 + transitivePeerDependencies: + - '@vue/composition-api' + dev: false + /@headlessui/vue@1.7.14(vue@3.3.4): resolution: {integrity: sha512-aL9U9Sa7wdOzlrfjx6EjMIYNRCma5mngWcWzQBcHFwznpRZ8g/QZ/AYFtRDrZZUw22Ttttja4D7ZRXFwhONewA==} engines: {node: '>=10'} @@ -1131,6 +1171,21 @@ packages: fsevents: 2.3.2 dev: true + /vue-demi@0.13.11(vue@3.3.4): + resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.3.4 + dev: false + /vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} dependencies: diff --git a/packages/template-ui/src/App.vue b/packages/template-ui/src/App.vue index bc620403..f96cfbb1 100644 --- a/packages/template-ui/src/App.vue +++ b/packages/template-ui/src/App.vue @@ -1,41 +1,92 @@ \ No newline at end of file + diff --git a/packages/template-ui/src/components/AspectRatio/AspectRatio.vue b/packages/template-ui/src/components/AspectRatio/AspectRatio.vue index 0dd6392c..8e403f79 100644 --- a/packages/template-ui/src/components/AspectRatio/AspectRatio.vue +++ b/packages/template-ui/src/components/AspectRatio/AspectRatio.vue @@ -1,17 +1,18 @@ +
+
+ +
+
+ \ No newline at end of file +const aspect = computed(() => { + return 1/props.ratio*100; +}); + diff --git a/packages/template-ui/src/components/AspectRatio/Image.vue b/packages/template-ui/src/components/AspectRatio/Image.vue new file mode 100644 index 00000000..267aec6a --- /dev/null +++ b/packages/template-ui/src/components/AspectRatio/Image.vue @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/packages/template-ui/src/components/AspectRatio/index.ts b/packages/template-ui/src/components/AspectRatio/index.ts index a4976a3d..3a22b88c 100644 --- a/packages/template-ui/src/components/AspectRatio/index.ts +++ b/packages/template-ui/src/components/AspectRatio/index.ts @@ -1 +1,2 @@ export { default as AspectRatio } from "./AspectRatio.vue"; +export { default as Image } from "./Image.vue"; diff --git a/packages/template-ui/src/components/Collapsible/Collapsible.vue b/packages/template-ui/src/components/Collapsible/Collapsible.vue new file mode 100644 index 00000000..c911dac1 --- /dev/null +++ b/packages/template-ui/src/components/Collapsible/Collapsible.vue @@ -0,0 +1,9 @@ + + + diff --git a/packages/template-ui/src/components/Collapsible/CollapsibleContent.vue b/packages/template-ui/src/components/Collapsible/CollapsibleContent.vue new file mode 100644 index 00000000..fd51857e --- /dev/null +++ b/packages/template-ui/src/components/Collapsible/CollapsibleContent.vue @@ -0,0 +1,11 @@ + + + \ No newline at end of file diff --git a/packages/template-ui/src/components/Collapsible/CollapsibleTrigger.vue b/packages/template-ui/src/components/Collapsible/CollapsibleTrigger.vue new file mode 100644 index 00000000..2e26a5e1 --- /dev/null +++ b/packages/template-ui/src/components/Collapsible/CollapsibleTrigger.vue @@ -0,0 +1,9 @@ + + + diff --git a/packages/template-ui/src/components/Collapsible/index.ts b/packages/template-ui/src/components/Collapsible/index.ts new file mode 100644 index 00000000..289bdbbf --- /dev/null +++ b/packages/template-ui/src/components/Collapsible/index.ts @@ -0,0 +1,3 @@ +export { default as Collapsible } from "./Collapsible.vue"; +export { default as CollapsibleContent } from "./CollapsibleContent.vue"; +export { default as CollapsibleTrigger } from "./CollapsibleTrigger.vue"; diff --git a/packages/template-ui/src/components/Combobox/Combobox.vue b/packages/template-ui/src/components/Combobox/Combobox.vue new file mode 100644 index 00000000..3aa3487b --- /dev/null +++ b/packages/template-ui/src/components/Combobox/Combobox.vue @@ -0,0 +1,44 @@ + + + diff --git a/packages/template-ui/src/components/Combobox/ComboboxInput.vue b/packages/template-ui/src/components/Combobox/ComboboxInput.vue new file mode 100644 index 00000000..e0171e26 --- /dev/null +++ b/packages/template-ui/src/components/Combobox/ComboboxInput.vue @@ -0,0 +1,16 @@ + + + \ No newline at end of file diff --git a/packages/template-ui/src/components/Combobox/ComboboxOption.vue b/packages/template-ui/src/components/Combobox/ComboboxOption.vue new file mode 100644 index 00000000..a422047a --- /dev/null +++ b/packages/template-ui/src/components/Combobox/ComboboxOption.vue @@ -0,0 +1,24 @@ + + + \ No newline at end of file diff --git a/packages/template-ui/src/components/Combobox/ComboboxOptions.vue b/packages/template-ui/src/components/Combobox/ComboboxOptions.vue new file mode 100644 index 00000000..91be1840 --- /dev/null +++ b/packages/template-ui/src/components/Combobox/ComboboxOptions.vue @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/packages/template-ui/src/components/Combobox/index.ts b/packages/template-ui/src/components/Combobox/index.ts new file mode 100644 index 00000000..77d32594 --- /dev/null +++ b/packages/template-ui/src/components/Combobox/index.ts @@ -0,0 +1,4 @@ +export { default as Combobox } from "./Combobox.vue"; +export { default as ComboboxInput } from "./ComboboxInput.vue"; +export { default as ComboboxOptions } from "./ComboboxOptions.vue"; +export { default as ComboboxOption } from "./ComboboxOption.vue"; diff --git a/packages/template-ui/src/components/Input/Input.vue b/packages/template-ui/src/components/Input/Input.vue index ba73018d..198f2089 100644 --- a/packages/template-ui/src/components/Input/Input.vue +++ b/packages/template-ui/src/components/Input/Input.vue @@ -1,12 +1,11 @@ \ No newline at end of file diff --git a/packages/template-ui/src/components/Popover/Popover.vue b/packages/template-ui/src/components/Popover/Popover.vue new file mode 100644 index 00000000..d6609800 --- /dev/null +++ b/packages/template-ui/src/components/Popover/Popover.vue @@ -0,0 +1,15 @@ + + + \ No newline at end of file diff --git a/packages/template-ui/src/components/Popover/PopoverContent.vue b/packages/template-ui/src/components/Popover/PopoverContent.vue new file mode 100644 index 00000000..d5a4f08f --- /dev/null +++ b/packages/template-ui/src/components/Popover/PopoverContent.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/packages/template-ui/src/components/Popover/PopoverTrigger.vue b/packages/template-ui/src/components/Popover/PopoverTrigger.vue new file mode 100644 index 00000000..acf1b7da --- /dev/null +++ b/packages/template-ui/src/components/Popover/PopoverTrigger.vue @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/packages/template-ui/src/components/Popover/index.ts b/packages/template-ui/src/components/Popover/index.ts new file mode 100644 index 00000000..b3e258f0 --- /dev/null +++ b/packages/template-ui/src/components/Popover/index.ts @@ -0,0 +1,3 @@ +export { default as Popover } from "./Popover.vue"; +export { default as PopoverContent } from "./PopoverContent.vue"; +export { default as PopoverTrigger } from "./PopoverTrigger.vue"; diff --git a/packages/template-ui/src/components/Select/Select.vue b/packages/template-ui/src/components/Select/Select.vue index 5854b280..3aa3487b 100644 --- a/packages/template-ui/src/components/Select/Select.vue +++ b/packages/template-ui/src/components/Select/Select.vue @@ -1,9 +1,44 @@ \ No newline at end of file +const props = defineProps({ + modelValue: Boolean, +}); + +const emit = defineEmits(["update:modelValue", "close"]); + +const isOpen = computed({ + get() { + return props.modelValue; + }, + set(value) { + emit("update:modelValue", value); + }, +}); + diff --git a/packages/template-ui/src/components/Select/SelectContent.vue b/packages/template-ui/src/components/Select/SelectContent.vue index 5854b280..91be1840 100644 --- a/packages/template-ui/src/components/Select/SelectContent.vue +++ b/packages/template-ui/src/components/Select/SelectContent.vue @@ -1,9 +1,12 @@ \ No newline at end of file diff --git a/packages/template-ui/src/components/Select/SelectGroup.vue b/packages/template-ui/src/components/Select/SelectGroup.vue deleted file mode 100644 index 5854b280..00000000 --- a/packages/template-ui/src/components/Select/SelectGroup.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - \ No newline at end of file diff --git a/packages/template-ui/src/components/Select/SelectItem.vue b/packages/template-ui/src/components/Select/SelectItem.vue index 5854b280..a422047a 100644 --- a/packages/template-ui/src/components/Select/SelectItem.vue +++ b/packages/template-ui/src/components/Select/SelectItem.vue @@ -1,9 +1,24 @@ \ No newline at end of file diff --git a/packages/template-ui/src/components/Select/SelectLabel.vue b/packages/template-ui/src/components/Select/SelectLabel.vue index 5854b280..9cfbb8ef 100644 --- a/packages/template-ui/src/components/Select/SelectLabel.vue +++ b/packages/template-ui/src/components/Select/SelectLabel.vue @@ -1,9 +1,15 @@ \ No newline at end of file diff --git a/packages/template-ui/src/components/Select/SelectTrigger.vue b/packages/template-ui/src/components/Select/SelectTrigger.vue index 5854b280..e0171e26 100644 --- a/packages/template-ui/src/components/Select/SelectTrigger.vue +++ b/packages/template-ui/src/components/Select/SelectTrigger.vue @@ -1,9 +1,16 @@ \ No newline at end of file diff --git a/packages/template-ui/src/components/Select/SelectValue.vue b/packages/template-ui/src/components/Select/SelectValue.vue deleted file mode 100644 index 5854b280..00000000 --- a/packages/template-ui/src/components/Select/SelectValue.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - \ No newline at end of file diff --git a/packages/template-ui/src/components/Select/index.ts b/packages/template-ui/src/components/Select/index.ts new file mode 100644 index 00000000..67a4c9b6 --- /dev/null +++ b/packages/template-ui/src/components/Select/index.ts @@ -0,0 +1,5 @@ +export { default as Select } from "./Select.vue"; +export { default as SelectContent } from "./SelectContent.vue"; +export { default as SelectTrigger } from "./SelectTrigger.vue"; +export { default as SelectItem } from "./SelectItem.vue"; +export { default as SelectLabel } from "./SelectLabel.vue"; diff --git a/packages/template-ui/src/components/Separator/Separator.vue b/packages/template-ui/src/components/Separator/Separator.vue new file mode 100644 index 00000000..e04f2ebe --- /dev/null +++ b/packages/template-ui/src/components/Separator/Separator.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/packages/template-ui/src/components/Separator/index.ts b/packages/template-ui/src/components/Separator/index.ts new file mode 100644 index 00000000..4d89eee5 --- /dev/null +++ b/packages/template-ui/src/components/Separator/index.ts @@ -0,0 +1 @@ +export {default as Separator} from './Separator.vue' \ No newline at end of file