@witchcraft/ui 0.2.1-beta.3 → 0.2.2
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/module.json +1 -1
- package/dist/module.mjs +20 -4
- package/dist/runtime/build/WitchcraftUiResolver.d.ts +2 -2
- package/dist/runtime/build/generateTheme.js +2 -2
- package/dist/runtime/components/Aria/Aria.d.vue.ts +5 -0
- package/dist/runtime/components/Aria/Aria.vue +4 -2
- package/dist/runtime/components/Aria/Aria.vue.d.ts +1 -1
- package/dist/runtime/components/Icon/Icon.d.vue.ts +21 -0
- package/dist/runtime/components/Icon/Icon.vue +3 -3
- package/dist/runtime/components/Icon/Icon.vue.d.ts +1 -1
- package/dist/runtime/components/LibButton/LibButton.d.vue.ts +36 -0
- package/dist/runtime/components/LibButton/LibButton.vue +9 -4
- package/dist/runtime/components/LibButton/LibButton.vue.d.ts +1 -1
- package/dist/runtime/components/LibCheckbox/LibCheckbox.d.vue.ts +42 -0
- package/dist/runtime/components/LibCheckbox/LibCheckbox.vue +3 -4
- package/dist/runtime/components/LibCheckbox/LibCheckbox.vue.d.ts +1 -1
- package/dist/runtime/components/LibColorInput/LibColorInput.d.vue.ts +63 -0
- package/dist/runtime/components/LibColorInput/LibColorInput.vue +15 -8
- package/dist/runtime/components/LibColorInput/LibColorInput.vue.d.ts +1 -1
- package/dist/runtime/components/LibColorPicker/LibColorPicker.d.vue.ts +61 -0
- package/dist/runtime/components/LibColorPicker/LibColorPicker.vue +10 -6
- package/dist/runtime/components/LibColorPicker/LibColorPicker.vue.d.ts +1 -1
- package/dist/runtime/components/LibColorPicker/utils/truncate.js +1 -1
- package/dist/runtime/components/LibDarkModeSwitcher/LibDarkModeSwitcher.d.vue.ts +22 -0
- package/dist/runtime/components/LibDarkModeSwitcher/LibDarkModeSwitcher.vue +5 -2
- package/dist/runtime/components/LibDarkModeSwitcher/LibDarkModeSwitcher.vue.d.ts +1 -1
- package/dist/runtime/components/LibDatePicker/LibDatePicker.d.vue.ts +40 -0
- package/dist/runtime/components/LibDatePicker/LibDatePicker.vue.d.ts +1 -1
- package/dist/runtime/components/LibDatePicker/LibRangeDatePicker.d.vue.ts +34 -0
- package/dist/runtime/components/LibDatePicker/LibRangeDatePicker.vue +8 -6
- package/dist/runtime/components/LibDatePicker/LibRangeDatePicker.vue.d.ts +1 -1
- package/dist/runtime/components/LibDatePicker/LibSingleDatePicker.d.vue.ts +34 -0
- package/dist/runtime/components/LibDatePicker/LibSingleDatePicker.vue +7 -5
- package/dist/runtime/components/LibDatePicker/LibSingleDatePicker.vue.d.ts +1 -1
- package/dist/runtime/components/LibDatePicker/LibTimeZonePicker.d.vue.ts +22 -0
- package/dist/runtime/components/LibDatePicker/LibTimeZonePicker.vue.d.ts +1 -1
- package/dist/runtime/components/LibDebug/LibDebug.d.vue.ts +32 -0
- package/dist/runtime/components/LibDebug/LibDebug.vue +9 -4
- package/dist/runtime/components/LibDebug/LibDebug.vue.d.ts +1 -1
- package/dist/runtime/components/LibDevOnly/LibDevOnly.d.vue.ts +25 -0
- package/dist/runtime/components/LibDevOnly/LibDevOnly.vue +2 -1
- package/dist/runtime/components/LibDevOnly/LibDevOnly.vue.d.ts +4 -1
- package/dist/runtime/components/LibFileInput/LibFileInput.d.vue.ts +43 -0
- package/dist/runtime/components/LibFileInput/LibFileInput.vue +29 -13
- package/dist/runtime/components/LibFileInput/LibFileInput.vue.d.ts +2 -2
- package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.d.vue.ts +165 -0
- package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.vue +42 -12
- package/dist/runtime/components/LibLabel/LibLabel.d.vue.ts +26 -0
- package/dist/runtime/components/LibLabel/LibLabel.vue +2 -2
- package/dist/runtime/components/LibLabel/LibLabel.vue.d.ts +3 -3
- package/dist/runtime/components/LibMultiValues/LibMultiValues.d.vue.ts +29 -0
- package/dist/runtime/components/LibMultiValues/LibMultiValues.vue +1 -2
- package/dist/runtime/components/LibMultiValues/LibMultiValues.vue.d.ts +2 -2
- package/dist/runtime/components/LibNotifications/LibNotification.d.vue.ts +17 -0
- package/dist/runtime/components/LibNotifications/LibNotification.vue +19 -8
- package/dist/runtime/components/LibNotifications/LibNotifications.d.vue.ts +13 -0
- package/dist/runtime/components/LibNotifications/LibNotifications.vue +10 -6
- package/dist/runtime/components/LibNotifications/LibNotifications.vue.d.ts +2 -2
- package/dist/runtime/components/LibPagination/LibPagination.d.vue.ts +104 -0
- package/dist/runtime/components/LibPagination/LibPagination.vue +25 -12
- package/dist/runtime/components/LibPagination/LibPagination.vue.d.ts +2 -2
- package/dist/runtime/components/LibPalette/LibPalette.d.vue.ts +14 -0
- package/dist/runtime/components/LibPalette/LibPalette.vue +6 -5
- package/dist/runtime/components/LibPalette/LibPalette.vue.d.ts +5 -5
- package/dist/runtime/components/LibPopup/LibPopup.d.vue.ts +46 -0
- package/dist/runtime/components/LibPopup/LibPopup.vue +6 -4
- package/dist/runtime/components/LibPopup/LibPopup.vue.d.ts +3 -3
- package/dist/runtime/components/LibProgressBar/LibProgressBar.d.vue.ts +41 -0
- package/dist/runtime/components/LibProgressBar/LibProgressBar.vue +5 -3
- package/dist/runtime/components/LibProgressBar/LibProgressBar.vue.d.ts +9 -9
- package/dist/runtime/components/LibRecorder/LibRecorder.d.vue.ts +77 -0
- package/dist/runtime/components/LibRecorder/LibRecorder.vue +1 -1
- package/dist/runtime/components/LibRecorder/LibRecorder.vue.d.ts +2 -2
- package/dist/runtime/components/LibRoot/LibRoot.d.vue.ts +41 -0
- package/dist/runtime/components/LibRoot/LibRoot.vue +11 -6
- package/dist/runtime/components/LibRoot/LibRoot.vue.d.ts +1 -1
- package/dist/runtime/components/LibSimpleInput/LibSimpleInput.d.vue.ts +35 -0
- package/dist/runtime/components/LibSimpleInput/LibSimpleInput.vue +1 -1
- package/dist/runtime/components/LibSimpleInput/LibSimpleInput.vue.d.ts +1 -1
- package/dist/runtime/components/LibSuggestions/LibSuggestions.d.vue.ts +94 -0
- package/dist/runtime/components/LibSuggestions/LibSuggestions.vue +6 -4
- package/dist/runtime/components/LibSuggestions/LibSuggestions.vue.d.ts +1 -1
- package/dist/runtime/components/LibTable/LibTable.d.vue.ts +45 -0
- package/dist/runtime/components/LibTable/LibTable.vue +23 -8
- package/dist/runtime/components/LibTable/LibTable.vue.d.ts +1 -1
- package/dist/runtime/components/Template/NAME.d.vue.ts +17 -0
- package/dist/runtime/components/Template/NAME.vue +2 -3
- package/dist/runtime/components/Template/NAME.vue.d.ts +1 -1
- package/dist/runtime/components/TestControls/TestControls.d.vue.ts +5 -0
- package/dist/runtime/components/TestControls/TestControls.vue +4 -2
- package/dist/runtime/components/TestControls/TestControls.vue.d.ts +1 -1
- package/dist/runtime/composables/useDragWithThreshold.d.ts +1 -1
- package/dist/runtime/composables/useInjectedI18n.d.ts +1 -1
- package/dist/runtime/composables/useScrollNearContainerEdges.d.ts +1 -1
- package/dist/runtime/composables/useSetupI18n.d.ts +1 -1
- package/dist/runtime/composables/useSuggestions.d.ts +2 -2
- package/dist/runtime/helpers/NotificationHandler.d.ts +1 -1
- package/dist/runtime/helpers/base64ToImg.js +2 -2
- package/dist/runtime/tailwind/themeConvertionOpts.d.ts +1 -1
- package/dist/runtime/types/index.d.ts +1 -1
- package/dist/runtime/utils/notifyIfError.d.ts +1 -1
- package/package.json +9 -10
- package/src/module.ts +41 -33
- package/src/runtime/build/WitchcraftUiResolver.ts +3 -3
- package/src/runtime/build/generateTheme.ts +3 -2
- package/src/runtime/build/unpluginIconViteOptions.ts +1 -1
- package/src/runtime/components/Aria/Aria.vue +5 -6
- package/src/runtime/components/Focus.stories.ts +11 -12
- package/src/runtime/components/Icon/Icon.vue +5 -9
- package/src/runtime/components/LibButton/LibButton.stories.ts +21 -22
- package/src/runtime/components/LibButton/LibButton.vue +23 -21
- package/src/runtime/components/LibCheckbox/LibCheckbox.stories.ts +6 -10
- package/src/runtime/components/LibCheckbox/LibCheckbox.vue +17 -19
- package/src/runtime/components/LibColorInput/LibColorInput.stories.ts +8 -13
- package/src/runtime/components/LibColorInput/LibColorInput.vue +49 -45
- package/src/runtime/components/LibColorPicker/LibColorPicker.stories.ts +14 -18
- package/src/runtime/components/LibColorPicker/LibColorPicker.vue +50 -52
- package/src/runtime/components/LibColorPicker/utils/safeConvertToHsva.ts +1 -2
- package/src/runtime/components/LibColorPicker/utils/safeConvertToRgba.ts +1 -2
- package/src/runtime/components/LibColorPicker/utils/truncate.ts +1 -2
- package/src/runtime/components/LibDarkModeSwitcher/LibDarkModeSwitcher.stories.ts +5 -8
- package/src/runtime/components/LibDarkModeSwitcher/LibDarkModeSwitcher.vue +11 -9
- package/src/runtime/components/LibDatePicker/LibDatePicker.stories.ts +14 -15
- package/src/runtime/components/LibDatePicker/LibDatePicker.vue +1 -2
- package/src/runtime/components/LibDatePicker/LibRangeDatePicker.vue +13 -13
- package/src/runtime/components/LibDatePicker/LibSingleDatePicker.vue +9 -8
- package/src/runtime/components/LibDatePicker/LibTimeZonePicker.vue +2 -1
- package/src/runtime/components/LibDatePicker/helpers.ts +0 -2
- package/src/runtime/components/LibDebug/LibDebug.stories.ts +11 -15
- package/src/runtime/components/LibDebug/LibDebug.vue +14 -11
- package/src/runtime/components/LibDevOnly/LibDevOnly.vue +8 -4
- package/src/runtime/components/LibFileInput/LibFileInput.stories.ts +12 -15
- package/src/runtime/components/LibFileInput/LibFileInput.vue +65 -47
- package/src/runtime/components/LibInputDeprecated/LibInputDeprecated.stories.ts +77 -84
- package/src/runtime/components/LibInputDeprecated/LibInputDeprecated.vue +73 -48
- package/src/runtime/components/LibLabel/LibLabel.stories.ts +4 -8
- package/src/runtime/components/LibLabel/LibLabel.vue +8 -8
- package/src/runtime/components/LibMultiValues/LibMultiValues.stories.ts +10 -15
- package/src/runtime/components/LibMultiValues/LibMultiValues.vue +14 -18
- package/src/runtime/components/LibNotifications/LibNotification.stories.ts +30 -34
- package/src/runtime/components/LibNotifications/LibNotification.vue +27 -17
- package/src/runtime/components/LibNotifications/LibNotifications.stories.ts +11 -15
- package/src/runtime/components/LibNotifications/LibNotifications.vue +21 -16
- package/src/runtime/components/LibPagination/LibPagination.stories.ts +5 -9
- package/src/runtime/components/LibPagination/LibPagination.vue +46 -32
- package/src/runtime/components/LibPalette/LibPalette.stories.ts +3 -7
- package/src/runtime/components/LibPalette/LibPalette.vue +13 -12
- package/src/runtime/components/LibPopup/LibPopup.stories.ts +19 -23
- package/src/runtime/components/LibPopup/LibPopup.vue +31 -35
- package/src/runtime/components/LibProgressBar/LibProgressBar.stories.ts +13 -17
- package/src/runtime/components/LibProgressBar/LibProgressBar.vue +36 -33
- package/src/runtime/components/LibRecorder/LibRecorder.stories.ts +11 -12
- package/src/runtime/components/LibRecorder/LibRecorder.vue +34 -34
- package/src/runtime/components/LibRoot/LibRoot.vue +16 -12
- package/src/runtime/components/LibSimpleInput/LibSimpleInput.stories.ts +20 -24
- package/src/runtime/components/LibSimpleInput/LibSimpleInput.vue +17 -21
- package/src/runtime/components/LibSuggestions/LibSuggestions.stories.ts +16 -19
- package/src/runtime/components/LibSuggestions/LibSuggestions.vue +28 -30
- package/src/runtime/components/LibTable/LibTable.stories.ts +30 -33
- package/src/runtime/components/LibTable/LibTable.vue +38 -24
- package/src/runtime/components/Reset.stories.ts +3 -6
- package/src/runtime/components/Scrolling.stories.ts +5 -8
- package/src/runtime/components/Template/NAME.vue +11 -11
- package/src/runtime/components/Template/TemplateStory.ts +9 -10
- package/src/runtime/components/TestControls/TestControls.vue +5 -5
- package/src/runtime/components/shared/props.ts +4 -6
- package/src/runtime/components/shared/storyHelpers/playInput.ts +2 -3
- package/src/runtime/components/shared/storyHelpers/playSuggestions.ts +5 -9
- package/src/runtime/composables/useAccesibilityOutline.ts +1 -1
- package/src/runtime/composables/useAriaLabel.ts +1 -1
- package/src/runtime/composables/useDarkMode.ts +15 -19
- package/src/runtime/composables/useDragWithThreshold.ts +6 -8
- package/src/runtime/composables/useGlobalResizeObserver.ts +0 -1
- package/src/runtime/composables/useInjectedDarkMode.ts +2 -2
- package/src/runtime/composables/useInjectedI18n.ts +1 -1
- package/src/runtime/composables/useInjectedLocale.ts +3 -4
- package/src/runtime/composables/useScrollNearContainerEdges.stories.ts +4 -4
- package/src/runtime/composables/useScrollNearContainerEdges.ts +12 -13
- package/src/runtime/composables/useSetupI18n.ts +4 -7
- package/src/runtime/composables/useSetupLocale.ts +3 -5
- package/src/runtime/composables/useSuggestions.ts +25 -30
- package/src/runtime/directives/vDetectFlex.ts +5 -8
- package/src/runtime/directives/vExtractRootEl.ts +1 -1
- package/src/runtime/directives/vResizableCols.ts +3 -7
- package/src/runtime/directives/vResizeObserver.ts +1 -2
- package/src/runtime/globalResizeObserver.ts +0 -1
- package/src/runtime/helpers/NotificationHandler.ts +8 -12
- package/src/runtime/helpers/base64ToImg.ts +2 -3
- package/src/runtime/helpers/createNoonUtcDate.ts +0 -1
- package/src/runtime/helpers/defaultTranslationFunction.ts +0 -1
- package/src/runtime/helpers/getTimeZoneList.ts +0 -1
- package/src/runtime/helpers/readFile.ts +2 -2
- package/src/runtime/helpers/resizeObserverWrapper.ts +0 -1
- package/src/runtime/helpers/storybook.ts +2 -3
- package/src/runtime/main.lib.ts +0 -2
- package/src/runtime/nuxt/plugins/vue-plugin.ts +4 -5
- package/src/runtime/tailwind/themeConvertionOpts.ts +3 -4
- package/src/runtime/theme.ts +0 -1
- package/src/runtime/types/index.ts +3 -4
- package/src/runtime/utils/notifyIfError.ts +2 -2
- package/src/runtime/utils/twMerge.ts +2 -2
- package/src/runtime/vue/VueComponentsPlugin.ts +1 -2
- package/src/runtime/vue/registerComponents.ts +0 -1
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
import { indent, crop } from '@alanscodelog/utils';
|
|
2
|
-
import { createResolver, defineNuxtModule, useLogger, addTemplate, addComponent, addImports,
|
|
2
|
+
import { createResolver, defineNuxtModule, useLogger, addTemplate, addComponent, addImports, addTypeTemplate } from '@nuxt/kit';
|
|
3
3
|
import tailwindcss from '@tailwindcss/vite';
|
|
4
4
|
import { addImportsCustom } from '@witchcraft/nuxt-utils/utils/addImportsCustom';
|
|
5
5
|
import { globFiles } from '@witchcraft/nuxt-utils/utils/globFiles';
|
|
6
6
|
import { defu } from 'defu';
|
|
7
|
-
import fs from 'fs';
|
|
8
7
|
import { themeAsTailwindCss } from 'metamorphosis/tailwind';
|
|
8
|
+
import fs from 'node:fs';
|
|
9
9
|
import IconsResolver from 'unplugin-icons/resolver';
|
|
10
10
|
import ViteComponents from 'unplugin-vue-components/vite';
|
|
11
11
|
import { unpluginIconViteOptions } from '../dist/runtime/build/unpluginIconViteOptions.js';
|
|
12
12
|
import { themeConvertionOpts } from '../dist/runtime/tailwind/themeConvertionOpts.js';
|
|
13
13
|
import { theme } from '../dist/runtime/theme.js';
|
|
14
14
|
|
|
15
|
+
const dependencies = {
|
|
16
|
+
"reka-ui": "^2.5.0",
|
|
17
|
+
"unplugin-icons": "^22.2.0"};
|
|
18
|
+
const pkg = {
|
|
19
|
+
dependencies: dependencies};
|
|
20
|
+
|
|
15
21
|
const knownDirectives = ["vExtractRootEl", "vResizableCols", "vResizeObserver", "vResizableCols"];
|
|
16
22
|
const { resolve, resolvePath } = createResolver(import.meta.url);
|
|
17
23
|
const componentsInfo = globFiles([
|
|
@@ -38,6 +44,15 @@ const module = defineNuxtModule({
|
|
|
38
44
|
mainCssFile: "~/assets/css/tailwind.css",
|
|
39
45
|
_playgroundWorkaround: false
|
|
40
46
|
},
|
|
47
|
+
moduleDependencies: {
|
|
48
|
+
"unplugin-icons/nuxt": {
|
|
49
|
+
version: pkg.dependencies["unplugin-icons"],
|
|
50
|
+
defaults: unpluginIconViteOptions
|
|
51
|
+
},
|
|
52
|
+
"reka-ui/nuxt": {
|
|
53
|
+
version: pkg.dependencies["reka-ui"]
|
|
54
|
+
}
|
|
55
|
+
},
|
|
41
56
|
async setup(options, nuxt) {
|
|
42
57
|
const moduleName = "@witchcraft/ui";
|
|
43
58
|
const logger = useLogger(moduleName, { level: options.debug ? 10 : 0 });
|
|
@@ -119,13 +134,14 @@ const module = defineNuxtModule({
|
|
|
119
134
|
config.optimizeDeps.exclude.push("~icons");
|
|
120
135
|
}
|
|
121
136
|
});
|
|
137
|
+
nuxt.options.typescript.tsConfig.compilerOptions ??= {};
|
|
138
|
+
nuxt.options.typescript.tsConfig.compilerOptions.types ??= [];
|
|
139
|
+
nuxt.options.typescript.tsConfig.compilerOptions.types.push("unplugin-icons/types/vue3");
|
|
122
140
|
const mainCssFile = await resolvePath(options.mainCssFile, nuxt.options.alias);
|
|
123
141
|
const exists = fs.existsSync(mainCssFile);
|
|
124
142
|
if (exists) {
|
|
125
143
|
nuxt.options.css.push(mainCssFile);
|
|
126
144
|
}
|
|
127
|
-
await installModule("unplugin-icons/nuxt", unpluginIconViteOptions);
|
|
128
|
-
await installModule("reka-ui/nuxt");
|
|
129
145
|
nuxt.options.alias["#witchcraft-ui"] = resolve("runtime");
|
|
130
146
|
nuxt.options.alias["#witchcraft-ui-helpers"] = resolve("runtime/helpers");
|
|
131
147
|
addTypeTemplate({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const WitchcraftUiResolver: ({ prefix, filter
|
|
1
|
+
import type { ComponentResolver } from "unplugin-vue-components";
|
|
2
|
+
export declare const WitchcraftUiResolver: ({ prefix, filter }?: {
|
|
3
3
|
prefix?: string;
|
|
4
4
|
filter?: (name: string) => boolean;
|
|
5
5
|
}) => ComponentResolver;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { themeAsTailwindCss } from "metamorphosis/tailwind";
|
|
2
2
|
import fs from "node:fs";
|
|
3
|
-
import { resolve } from "path";
|
|
3
|
+
import { resolve } from "node:path";
|
|
4
4
|
import { themeConvertionOpts } from "../tailwind/themeConvertionOpts.js";
|
|
5
5
|
import { theme } from "../theme.js";
|
|
6
6
|
const css = themeAsTailwindCss(theme, themeConvertionOpts);
|
|
7
|
-
import url from "url";
|
|
7
|
+
import url from "node:url";
|
|
8
8
|
const __dirname = url.fileURLToPath(new URL(".", import.meta.url));
|
|
9
9
|
const filepath = resolve(__dirname, "../assets/theme.css");
|
|
10
10
|
const content = `/* Auto-generated, see gen:theme script. */
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
value: string;
|
|
3
|
+
};
|
|
4
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
5
|
+
export default _default;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div tabindex="0">
|
|
2
|
+
<div tabindex="0">
|
|
3
|
+
{{ value }}
|
|
4
|
+
</div>
|
|
3
5
|
</template>
|
|
4
6
|
|
|
5
7
|
<script setup>
|
|
6
|
-
defineOptions({ name: "
|
|
8
|
+
defineOptions({ name: "Aria" });
|
|
7
9
|
defineProps({
|
|
8
10
|
value: { type: String, required: true }
|
|
9
11
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
2
|
value: string;
|
|
3
3
|
};
|
|
4
|
-
declare const _default: import("vue").DefineComponent<__VLS_Props,
|
|
4
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
5
5
|
export default _default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type HTMLAttributes } from "vue";
|
|
2
|
+
/**
|
|
3
|
+
* Just a very simple wrapper for wrapping unplugin-icons in an inline-block div so the icon in the slot take's up a normal line height when it's alone.
|
|
4
|
+
*
|
|
5
|
+
* ```vue
|
|
6
|
+
* <icon><i-...></icon>
|
|
7
|
+
* ``
|
|
8
|
+
*/
|
|
9
|
+
interface Props extends
|
|
10
|
+
/** @vue-ignore */
|
|
11
|
+
Partial<Omit<HTMLAttributes, "class">> {
|
|
12
|
+
}
|
|
13
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
14
|
+
default?: (props: {}) => any;
|
|
15
|
+
}>;
|
|
16
|
+
export default _default;
|
|
17
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
18
|
+
new (): {
|
|
19
|
+
$slots: S;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
</template>
|
|
9
9
|
|
|
10
10
|
<script setup>
|
|
11
|
-
import {
|
|
11
|
+
import { useAttrs } from "vue";
|
|
12
12
|
import { twMerge } from "../../utils/twMerge.js";
|
|
13
13
|
defineOptions({
|
|
14
|
-
name: "
|
|
14
|
+
name: "Icon",
|
|
15
15
|
inheritAttrs: false
|
|
16
16
|
});
|
|
17
17
|
const $attrs = useAttrs();
|
|
18
|
-
|
|
18
|
+
defineProps({});
|
|
19
19
|
</script>
|
|
20
20
|
|
|
21
21
|
<script>
|
|
@@ -10,7 +10,7 @@ interface Props extends
|
|
|
10
10
|
/** @vue-ignore */
|
|
11
11
|
Partial<Omit<HTMLAttributes, "class">> {
|
|
12
12
|
}
|
|
13
|
-
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props,
|
|
13
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
14
14
|
default?: (props: {}) => any;
|
|
15
15
|
}>;
|
|
16
16
|
export default _default;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type ButtonHTMLAttributes } from "vue";
|
|
2
|
+
import { type BaseInteractiveProps, type ButtonProps, type LabelProps, type LinkableByIdProps, type TailwindClassProp } from "../shared/props.js.js";
|
|
3
|
+
type RealProps = LinkableByIdProps & LabelProps & BaseInteractiveProps & ButtonProps;
|
|
4
|
+
interface Props extends
|
|
5
|
+
/** @vue-ignore */
|
|
6
|
+
Partial<Omit<ButtonHTMLAttributes, "class" | "color" | "disabled"> & TailwindClassProp & {
|
|
7
|
+
"aria-label": string;
|
|
8
|
+
}>, RealProps {
|
|
9
|
+
}
|
|
10
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
11
|
+
color: "warning" | "ok" | "danger" | "primary" | "secondary" | false;
|
|
12
|
+
label: string;
|
|
13
|
+
disabled: boolean;
|
|
14
|
+
readonly: boolean;
|
|
15
|
+
border: boolean;
|
|
16
|
+
unstyle: boolean;
|
|
17
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
18
|
+
label?: (props: {
|
|
19
|
+
id: string;
|
|
20
|
+
classes: string;
|
|
21
|
+
}) => any;
|
|
22
|
+
} & {
|
|
23
|
+
icon?: (props: {}) => any;
|
|
24
|
+
} & {
|
|
25
|
+
default?: (props: {
|
|
26
|
+
label: any;
|
|
27
|
+
}) => any;
|
|
28
|
+
} & {
|
|
29
|
+
'icon-after'?: (props: {}) => any;
|
|
30
|
+
}>;
|
|
31
|
+
export default _default;
|
|
32
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
33
|
+
new (): {
|
|
34
|
+
$slots: S;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
@@ -56,7 +56,6 @@
|
|
|
56
56
|
dark:hover:shadow-accent-950/30
|
|
57
57
|
dark:active:shadow-fg/40
|
|
58
58
|
dark:active:border-neutral-900
|
|
59
|
-
dark:bg-neutral-800
|
|
60
59
|
dark:border-neutral-900
|
|
61
60
|
dark:disabled:border-neutral-800
|
|
62
61
|
dark:disabled:bg-neutral-900
|
|
@@ -168,8 +167,14 @@
|
|
|
168
167
|
...ariaLabel
|
|
169
168
|
}"
|
|
170
169
|
>
|
|
171
|
-
<slot
|
|
172
|
-
|
|
170
|
+
<slot
|
|
171
|
+
name="label"
|
|
172
|
+
v-bind="{ id: `label-${id ?? fallbackId}`, classes: 'button--label pointer-events-none flex flex-1 items-center justify-center gap-1' }"
|
|
173
|
+
>
|
|
174
|
+
<label
|
|
175
|
+
:id="`label-${id ?? fallbackId}`"
|
|
176
|
+
class="button--label pointer-events-none flex flex-1 items-center justify-center gap-1"
|
|
177
|
+
>
|
|
173
178
|
<slot name="icon"/>
|
|
174
179
|
<slot
|
|
175
180
|
v-bind="{ label }"
|
|
@@ -192,7 +197,7 @@ import { twMerge } from "../../utils/twMerge.js";
|
|
|
192
197
|
import { getFallbackId } from "../shared/props.js";
|
|
193
198
|
const $attrs = useAttrs();
|
|
194
199
|
defineOptions({
|
|
195
|
-
name: "
|
|
200
|
+
name: "LibButton"
|
|
196
201
|
});
|
|
197
202
|
const fallbackId = getFallbackId();
|
|
198
203
|
const props = defineProps({
|
|
@@ -7,7 +7,7 @@ Partial<Omit<ButtonHTMLAttributes, "class" | "color" | "disabled"> & TailwindCla
|
|
|
7
7
|
"aria-label": string;
|
|
8
8
|
}>, RealProps {
|
|
9
9
|
}
|
|
10
|
-
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props,
|
|
10
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
11
11
|
color: "warning" | "ok" | "danger" | "primary" | "secondary" | false;
|
|
12
12
|
label: string;
|
|
13
13
|
disabled: boolean;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type HTMLAttributes, type InputHTMLAttributes } from "vue";
|
|
2
|
+
import { type BaseInteractiveProps, type LabelProps, type LinkableByIdProps, type TailwindClassProp, type WrapperProps } from "../shared/props.js.js";
|
|
3
|
+
type WrapperTypes = Partial<WrapperProps<"label", HTMLAttributes, {
|
|
4
|
+
/** Tailwind classes. */
|
|
5
|
+
class?: string;
|
|
6
|
+
}>>;
|
|
7
|
+
type RealProps = LinkableByIdProps & LabelProps & BaseInteractiveProps & {
|
|
8
|
+
unstyle?: boolean;
|
|
9
|
+
};
|
|
10
|
+
interface Props extends
|
|
11
|
+
/** @vue-ignore */
|
|
12
|
+
Partial<Omit<InputHTMLAttributes, "class" | "readonly" | "disabled" | "onSumbit"> & TailwindClassProp>,
|
|
13
|
+
/** @vue-ignore */
|
|
14
|
+
WrapperTypes, RealProps {
|
|
15
|
+
}
|
|
16
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props & {
|
|
17
|
+
modelValue?: boolean;
|
|
18
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
19
|
+
"update:modelValue": (value: boolean) => any;
|
|
20
|
+
} & {
|
|
21
|
+
submit: (val: boolean) => any;
|
|
22
|
+
}, string, import("vue").PublicProps, Readonly<Props & {
|
|
23
|
+
modelValue?: boolean;
|
|
24
|
+
}> & Readonly<{
|
|
25
|
+
onSubmit?: ((val: boolean) => any) | undefined;
|
|
26
|
+
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
27
|
+
}>, {
|
|
28
|
+
disabled: boolean;
|
|
29
|
+
readonly: boolean;
|
|
30
|
+
border: boolean;
|
|
31
|
+
unstyle: boolean;
|
|
32
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
33
|
+
left?: (props: {}) => any;
|
|
34
|
+
} & {
|
|
35
|
+
default?: (props: {}) => any;
|
|
36
|
+
}>;
|
|
37
|
+
export default _default;
|
|
38
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
39
|
+
new (): {
|
|
40
|
+
$slots: S;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
@@ -72,17 +72,16 @@
|
|
|
72
72
|
</template>
|
|
73
73
|
|
|
74
74
|
<script setup>
|
|
75
|
-
import { ref
|
|
75
|
+
import { ref } from "vue";
|
|
76
76
|
import { useDivideAttrs } from "../../composables/useDivideAttrs.js";
|
|
77
77
|
import { usePreHydrationValue } from "../../composables/usePreHydrationValue.js";
|
|
78
78
|
import { twMerge } from "../../utils/twMerge.js";
|
|
79
79
|
import { getFallbackId } from "../shared/props.js";
|
|
80
80
|
defineOptions({
|
|
81
|
-
name: "
|
|
81
|
+
name: "LibCheckbox",
|
|
82
82
|
inheritAttrs: false
|
|
83
83
|
});
|
|
84
84
|
const $ = useDivideAttrs(["label", "wrapper"]);
|
|
85
|
-
const $slots = useSlots();
|
|
86
85
|
const fallbackId = getFallbackId();
|
|
87
86
|
const props = defineProps({
|
|
88
87
|
id: { type: String, required: false },
|
|
@@ -92,7 +91,7 @@ const props = defineProps({
|
|
|
92
91
|
border: { type: Boolean, required: false, default: true },
|
|
93
92
|
unstyle: { type: Boolean, required: false, default: false }
|
|
94
93
|
});
|
|
95
|
-
|
|
94
|
+
defineEmits(["submit"]);
|
|
96
95
|
const el = ref(null);
|
|
97
96
|
const inputEl = ref(null);
|
|
98
97
|
const $value = defineModel("modelValue", { type: Boolean, ...{ default: false } });
|
|
@@ -15,7 +15,7 @@ WrapperTypes, RealProps {
|
|
|
15
15
|
}
|
|
16
16
|
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props & {
|
|
17
17
|
modelValue?: boolean;
|
|
18
|
-
},
|
|
18
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
19
19
|
"update:modelValue": (value: boolean) => any;
|
|
20
20
|
} & {
|
|
21
21
|
submit: (val: boolean) => any;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { type ButtonHTMLAttributes } from "vue";
|
|
2
|
+
import type { HsvaColor, RgbaColor } from "../../types/index.js.js";
|
|
3
|
+
import { type LabelProps, type LinkableByIdProps, type TailwindClassProp } from "../shared/props.js.js";
|
|
4
|
+
type RealProps = LabelProps & LinkableByIdProps & {
|
|
5
|
+
allowAlpha?: boolean;
|
|
6
|
+
border?: boolean;
|
|
7
|
+
/** See ColorPicker.copyTransform */
|
|
8
|
+
copyTransform?: (val: HsvaColor, stringVal: string) => any;
|
|
9
|
+
/** See ColorPicker.allowAlpha */
|
|
10
|
+
stringPrecision?: number;
|
|
11
|
+
/** See ColorPicker.customRepresentation */
|
|
12
|
+
customRepresentation?: {
|
|
13
|
+
fromHsvaToString: (hsva: HsvaColor, includeAlpha: boolean) => string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
interface Props extends
|
|
17
|
+
/** @vue-ignore */
|
|
18
|
+
Partial<Omit<ButtonHTMLAttributes, "class"> & TailwindClassProp & {
|
|
19
|
+
"aria-label": string;
|
|
20
|
+
}>, RealProps {
|
|
21
|
+
}
|
|
22
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props & {
|
|
23
|
+
modelValue?: RgbaColor;
|
|
24
|
+
tempValue?: RgbaColor | undefined;
|
|
25
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
26
|
+
"update:modelValue": (value: RgbaColor) => any;
|
|
27
|
+
"update:tempValue": (value: RgbaColor | undefined) => any;
|
|
28
|
+
} & {
|
|
29
|
+
cancel: () => any;
|
|
30
|
+
save: () => any;
|
|
31
|
+
}, string, import("vue").PublicProps, Readonly<Props & {
|
|
32
|
+
modelValue?: RgbaColor;
|
|
33
|
+
tempValue?: RgbaColor | undefined;
|
|
34
|
+
}> & Readonly<{
|
|
35
|
+
"onUpdate:modelValue"?: ((value: RgbaColor) => any) | undefined;
|
|
36
|
+
onCancel?: (() => any) | undefined;
|
|
37
|
+
onSave?: (() => any) | undefined;
|
|
38
|
+
"onUpdate:tempValue"?: ((value: RgbaColor | undefined) => any) | undefined;
|
|
39
|
+
}>, {
|
|
40
|
+
border: boolean;
|
|
41
|
+
allowAlpha: boolean;
|
|
42
|
+
stringPrecision: number;
|
|
43
|
+
customRepresentation: {
|
|
44
|
+
fromHsvaToString: (hsva: HsvaColor, includeAlpha: boolean) => string;
|
|
45
|
+
};
|
|
46
|
+
copyTransform: (val: HsvaColor, stringVal: string) => any;
|
|
47
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
48
|
+
default?: (props: {
|
|
49
|
+
stringColor: any;
|
|
50
|
+
classes: any;
|
|
51
|
+
}) => any;
|
|
52
|
+
} & {
|
|
53
|
+
temp?: (props: {
|
|
54
|
+
tempStringColor: any;
|
|
55
|
+
classes: any;
|
|
56
|
+
}) => any;
|
|
57
|
+
}>;
|
|
58
|
+
export default _default;
|
|
59
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
60
|
+
new (): {
|
|
61
|
+
$slots: S;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<!-- " -->
|
|
15
15
|
<!-- v-extract-root-el="extractEl" -->
|
|
16
16
|
<!-- > -->
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
<!-- -->
|
|
19
19
|
<lib-button
|
|
20
20
|
:id="id ?? fallbackId"
|
|
@@ -38,14 +38,16 @@
|
|
|
38
38
|
@click="togglePopup"
|
|
39
39
|
>
|
|
40
40
|
<template #label>
|
|
41
|
-
<div
|
|
41
|
+
<div
|
|
42
|
+
class="
|
|
42
43
|
color-input--swatch-wrapper
|
|
43
44
|
flex
|
|
44
45
|
w-full
|
|
45
46
|
"
|
|
46
47
|
>
|
|
47
48
|
<slot v-bind="{ stringColor, classes: swatchClasses }">
|
|
48
|
-
<div
|
|
49
|
+
<div
|
|
50
|
+
:class="swatchClasses"
|
|
49
51
|
:style="`background:${stringColor}`"
|
|
50
52
|
/>
|
|
51
53
|
</slot>
|
|
@@ -54,7 +56,8 @@
|
|
|
54
56
|
v-bind="{ tempStringColor, classes: swatchClasses }"
|
|
55
57
|
name="temp"
|
|
56
58
|
>
|
|
57
|
-
<div
|
|
59
|
+
<div
|
|
60
|
+
:class="swatchClasses"
|
|
58
61
|
:style="`background:${tempStringColor}`"
|
|
59
62
|
/>
|
|
60
63
|
</slot>
|
|
@@ -63,8 +66,12 @@
|
|
|
63
66
|
</lib-button>
|
|
64
67
|
</template>
|
|
65
68
|
<template #popup="{ extractEl }">
|
|
66
|
-
<div
|
|
67
|
-
|
|
69
|
+
<div
|
|
70
|
+
class="color-input--popup-wrapper p-5"
|
|
71
|
+
v-extract-root-el="extractEl"
|
|
72
|
+
>
|
|
73
|
+
<lib-color-picker
|
|
74
|
+
v-if="showPopup"
|
|
68
75
|
:id="id ?? fallbackId"
|
|
69
76
|
:allow-alpha="allowAlpha"
|
|
70
77
|
:custom-representation="customRepresentation"
|
|
@@ -90,7 +97,7 @@ import LibColorPicker from "../LibColorPicker/LibColorPicker.vue";
|
|
|
90
97
|
import LibPopup from "../LibPopup/LibPopup.vue";
|
|
91
98
|
import { getFallbackId } from "../shared/props.js";
|
|
92
99
|
defineOptions({
|
|
93
|
-
name: "
|
|
100
|
+
name: "LibColorInput"
|
|
94
101
|
});
|
|
95
102
|
const swatchClasses = `
|
|
96
103
|
color-input--swatch
|
|
@@ -106,7 +113,7 @@ const swatchClasses = `
|
|
|
106
113
|
`;
|
|
107
114
|
const fallbackId = getFallbackId();
|
|
108
115
|
const t = useInjectedI18n();
|
|
109
|
-
|
|
116
|
+
defineProps({
|
|
110
117
|
label: { type: String, required: false },
|
|
111
118
|
id: { type: String, required: false },
|
|
112
119
|
allowAlpha: { type: Boolean, required: false, default: true },
|
|
@@ -22,7 +22,7 @@ Partial<Omit<ButtonHTMLAttributes, "class"> & TailwindClassProp & {
|
|
|
22
22
|
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props & {
|
|
23
23
|
modelValue?: RgbaColor;
|
|
24
24
|
tempValue?: RgbaColor | undefined;
|
|
25
|
-
},
|
|
25
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
26
26
|
"update:modelValue": (value: RgbaColor) => any;
|
|
27
27
|
"update:tempValue": (value: RgbaColor | undefined) => any;
|
|
28
28
|
} & {
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { HsvaColor, RgbaColor } from "../../types/index.js.js";
|
|
2
|
+
import { type LabelProps, type LinkableByIdProps } from "../shared/props.js.js";
|
|
3
|
+
type __VLS_Props = LabelProps & LinkableByIdProps & {
|
|
4
|
+
allowAlpha?: boolean;
|
|
5
|
+
/**
|
|
6
|
+
* The precision of the rgba string representation of the color. Defaults to 3. Extra trailing zeros are removed for a prettier number.
|
|
7
|
+
*
|
|
8
|
+
* Does not affect the number saved unless the user manually edits the color.
|
|
9
|
+
*
|
|
10
|
+
* Ignored if `customRepresentation` is set.
|
|
11
|
+
*/
|
|
12
|
+
stringPrecision?: number;
|
|
13
|
+
/** Allows overriding the string representation of the color. Useful for using a different representation than rgba (e.g. hex). The fromStringToHsva part is rarely needed as the colorjs.io library can normally parse the color. Returning undefined signals an error. */
|
|
14
|
+
customRepresentation?: {
|
|
15
|
+
fromHsvaToString: (hsva: HsvaColor, includeAlpha: boolean) => string;
|
|
16
|
+
fromStringToHsva?: (string: string) => HsvaColor | undefined;
|
|
17
|
+
};
|
|
18
|
+
border?: boolean;
|
|
19
|
+
/** Modify what the user copies to the clipboard. */
|
|
20
|
+
copyTransform?: (val: HsvaColor, stringVal: string) => any;
|
|
21
|
+
valid?: boolean;
|
|
22
|
+
};
|
|
23
|
+
type __VLS_PublicProps = __VLS_Props & {
|
|
24
|
+
modelValue?: RgbaColor;
|
|
25
|
+
"tempValue"?: RgbaColor | undefined;
|
|
26
|
+
};
|
|
27
|
+
declare var __VLS_1: {}, __VLS_27: {};
|
|
28
|
+
type __VLS_Slots = {} & {
|
|
29
|
+
input?: (props: typeof __VLS_1) => any;
|
|
30
|
+
} & {
|
|
31
|
+
buttons?: (props: typeof __VLS_27) => any;
|
|
32
|
+
};
|
|
33
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
34
|
+
"update:modelValue": (value: RgbaColor) => any;
|
|
35
|
+
"update:tempValue": (value: RgbaColor | undefined) => any;
|
|
36
|
+
} & {
|
|
37
|
+
cancel: () => any;
|
|
38
|
+
save: (val: RgbaColor) => any;
|
|
39
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
40
|
+
"onUpdate:modelValue"?: ((value: RgbaColor) => any) | undefined;
|
|
41
|
+
onCancel?: (() => any) | undefined;
|
|
42
|
+
onSave?: ((val: RgbaColor) => any) | undefined;
|
|
43
|
+
"onUpdate:tempValue"?: ((value: RgbaColor | undefined) => any) | undefined;
|
|
44
|
+
}>, {
|
|
45
|
+
border: boolean;
|
|
46
|
+
valid: boolean;
|
|
47
|
+
allowAlpha: boolean;
|
|
48
|
+
stringPrecision: number;
|
|
49
|
+
customRepresentation: {
|
|
50
|
+
fromHsvaToString: (hsva: HsvaColor, includeAlpha: boolean) => string;
|
|
51
|
+
fromStringToHsva?: (string: string) => HsvaColor | undefined;
|
|
52
|
+
};
|
|
53
|
+
copyTransform: (val: HsvaColor, stringVal: string) => any;
|
|
54
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
55
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
56
|
+
export default _default;
|
|
57
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
58
|
+
new (): {
|
|
59
|
+
$slots: S;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
@@ -114,7 +114,8 @@
|
|
|
114
114
|
/>
|
|
115
115
|
</div>
|
|
116
116
|
<div class="color-picker--footer flex w-full flex-1 gap-2">
|
|
117
|
-
<div
|
|
117
|
+
<div
|
|
118
|
+
class=" color-picker--preview-wrapper
|
|
118
119
|
bg-transparency-squares
|
|
119
120
|
relative
|
|
120
121
|
aspect-square
|
|
@@ -123,7 +124,8 @@
|
|
|
123
124
|
shadow-xs
|
|
124
125
|
"
|
|
125
126
|
>
|
|
126
|
-
<div
|
|
127
|
+
<div
|
|
128
|
+
class="
|
|
127
129
|
color-picker--footer--preview
|
|
128
130
|
size-full
|
|
129
131
|
rounded-full
|
|
@@ -144,7 +146,11 @@
|
|
|
144
146
|
@input="parseInput"
|
|
145
147
|
@blur="onBlurFixInvalidValue"
|
|
146
148
|
/>
|
|
147
|
-
<lib-button
|
|
149
|
+
<lib-button
|
|
150
|
+
class="color-picker--copy-button"
|
|
151
|
+
:aria-label="t('copy')"
|
|
152
|
+
@click="copy(copyTransform?.(localColor.val, localColorString) ?? localColorString)"
|
|
153
|
+
>
|
|
148
154
|
<icon><i-fa6-regular-copy/></icon>
|
|
149
155
|
</lib-button>
|
|
150
156
|
</slot>
|
|
@@ -171,7 +177,6 @@
|
|
|
171
177
|
|
|
172
178
|
<script setup>
|
|
173
179
|
import { castType } from "@alanscodelog/utils/castType";
|
|
174
|
-
import { clampNumber } from "@alanscodelog/utils/clampNumber";
|
|
175
180
|
import { isArray } from "@alanscodelog/utils/isArray";
|
|
176
181
|
import { unreachable } from "@alanscodelog/utils/unreachable";
|
|
177
182
|
import Color from "colorjs.io";
|
|
@@ -183,13 +188,12 @@ import IFa6RegularCopy from "~icons/fa-regular/copy";
|
|
|
183
188
|
import { useInjectedI18n } from "../../composables/useInjectedI18n.js";
|
|
184
189
|
import { copy } from "../../helpers/copy.js";
|
|
185
190
|
import { twMerge } from "../../utils/twMerge.js";
|
|
186
|
-
import aria from "../Aria/Aria.vue";
|
|
187
191
|
import Icon from "../Icon/Icon.vue";
|
|
188
192
|
import LibButton from "../LibButton/LibButton.vue";
|
|
189
193
|
import LibSimpleInput from "../LibSimpleInput/LibSimpleInput.vue";
|
|
190
194
|
import { getFallbackId } from "../shared/props.js";
|
|
191
195
|
defineOptions({
|
|
192
|
-
name: "
|
|
196
|
+
name: "LibColorPicker"
|
|
193
197
|
});
|
|
194
198
|
const $attrs = useAttrs();
|
|
195
199
|
const t = useInjectedI18n();
|
|
@@ -30,7 +30,7 @@ type __VLS_Slots = {} & {
|
|
|
30
30
|
} & {
|
|
31
31
|
buttons?: (props: typeof __VLS_27) => any;
|
|
32
32
|
};
|
|
33
|
-
declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps,
|
|
33
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
34
34
|
"update:modelValue": (value: RgbaColor) => any;
|
|
35
35
|
"update:tempValue": (value: RgbaColor | undefined) => any;
|
|
36
36
|
} & {
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type ButtonHTMLAttributes } from "vue";
|
|
2
|
+
import type { TailwindClassProp } from "../shared/props.js.js";
|
|
3
|
+
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
4
|
+
"update:darkMode": (value: boolean) => any;
|
|
5
|
+
"update:darkModeState": (value: "system" | "dark" | "light") => any;
|
|
6
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
7
|
+
"onUpdate:darkMode"?: ((value: boolean) => any) | undefined;
|
|
8
|
+
"onUpdate:darkModeState"?: ((value: "system" | "dark" | "light") => any) | undefined;
|
|
9
|
+
}>, {
|
|
10
|
+
showLabel: boolean;
|
|
11
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
12
|
+
export default _default;
|
|
13
|
+
type RealProps = {
|
|
14
|
+
showLabel?: boolean;
|
|
15
|
+
};
|
|
16
|
+
interface Props extends
|
|
17
|
+
/** @vue-ignore */
|
|
18
|
+
Partial<Omit<ButtonHTMLAttributes, "class" | "color" | "disabled"> & TailwindClassProp & {
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
unstyle?: boolean;
|
|
21
|
+
}>, RealProps {
|
|
22
|
+
}
|