diff --git a/package.json b/package.json index 76055069..8c24a2bd 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,6 @@ "@hiogawa/theme-script": "^0.0.3", "@hiogawa/tiny-refresh": "0.0.1-pre.11", "@hiogawa/unocss-ts": "0.0.1-pre.0", - "@hiogawa/unocss-typescript-dsl": "2.0.0-pre.8", "@hiogawa/utils": "1.6.1-pre.9", "@hiogawa/utils-react": "1.3.1-pre.0", "@tsconfig/strictest": "^2.0.2", diff --git a/packages/app/package.json b/packages/app/package.json index f40b1ca4..35689d1e 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -7,8 +7,8 @@ "build:vite": "vite build", "build:vercel": "bash misc/vercel/build.sh", "preview": "vite preview", - "generate-tw": "unocss-typescript-dsl --outDir src/styles/tw", - "generate-tw-test": "unocss-typescript-dsl --stdout | diff src/styles/tw/types.ts -", + "generate-tw": "unocss-ts generate > src/tw-types.d.ts", + "generate-tw-test": "unocss-ts generate | diff src/tw-types.d.ts -", "release": "vercel deploy --prebuilt .", "release-production": "vercel deploy --prebuilt . --prod" }, diff --git a/packages/app/src/app.tsx b/packages/app/src/app.tsx index af783983..40bc835e 100644 --- a/packages/app/src/app.tsx +++ b/packages/app/src/app.tsx @@ -1,3 +1,4 @@ +import { tw } from "@hiogawa/unocss-ts"; import React from "react"; import { NavLink, @@ -10,7 +11,6 @@ import { import { Drawer } from "./components/drawer"; import * as stories from "./components/stories"; import { ThemeSelectButton } from "./components/theme-select-button"; -import { tw } from "./styles/tw"; import { cls } from "./utils/misc"; export function App() { diff --git a/packages/app/src/components/stories.tsx b/packages/app/src/components/stories.tsx index d839e37b..22c7bd25 100644 --- a/packages/app/src/components/stories.tsx +++ b/packages/app/src/components/stories.tsx @@ -8,11 +8,11 @@ import { useTransitionManager, } from "@hiogawa/tiny-transition/dist/react"; import { ANTD_VARS } from "@hiogawa/unocss-preset-antd"; +import { tw } from "@hiogawa/unocss-ts"; import { none, objectKeys, objectPickBy, range } from "@hiogawa/utils"; import { Debug, toSetSetState, useDelay } from "@hiogawa/utils-react"; import React from "react"; import ReactSelect from "react-select"; -import { tw } from "../styles/tw"; import { cls } from "../utils/misc"; import { useUrlParam } from "../utils/url-utils"; import { getCollapseProps } from "./collapse"; diff --git a/packages/app/src/components/theme-select-button.tsx b/packages/app/src/components/theme-select-button.tsx index 5dedd850..12102dd8 100644 --- a/packages/app/src/components/theme-select-button.tsx +++ b/packages/app/src/components/theme-select-button.tsx @@ -1,6 +1,6 @@ import { getTheme, setTheme } from "@hiogawa/theme-script"; +import { tw } from "@hiogawa/unocss-ts"; import React from "react"; -import { tw } from "../styles/tw"; import { cls } from "../utils/misc"; import { PopoverSimple } from "./popover"; diff --git a/packages/app/src/components/top-progress-bar.tsx b/packages/app/src/components/top-progress-bar.tsx index 046c34d0..73126ccc 100644 --- a/packages/app/src/components/top-progress-bar.tsx +++ b/packages/app/src/components/top-progress-bar.tsx @@ -1,8 +1,8 @@ import { FloatingPortal } from "@floating-ui/react"; import { Transition } from "@hiogawa/tiny-transition/dist/react"; +import { tw } from "@hiogawa/unocss-ts"; import { useDelay, usePrevious, useRafTime } from "@hiogawa/utils-react"; import React from "react"; -import { tw } from "../styles/tw"; import { cls } from "../utils/misc"; // based on https://github.com/hi-ogawa/ytsub-v3/blob/859264f683e8d1c6331ca1c630101c037a78dd94/app/components/top-progress-bar.tsx#L1-L2 diff --git a/packages/app/src/styles/tw/index.ts b/packages/app/src/styles/tw/index.ts deleted file mode 100644 index 97697fa2..00000000 --- a/packages/app/src/styles/tw/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { createRuntime } from "@hiogawa/unocss-typescript-dsl/dist/runtime"; -import type { Api } from "./types"; - -export const tw = createRuntime() as Api; diff --git a/packages/app/src/styles/tw/types.ts b/packages/app/src/tw-types.d.ts similarity index 88% rename from packages/app/src/styles/tw/types.ts rename to packages/app/src/tw-types.d.ts index 6c5165ab..fefa0ac9 100644 --- a/packages/app/src/styles/tw/types.ts +++ b/packages/app/src/tw-types.d.ts @@ -2,6 +2,12 @@ // AUTO-GENERATED // +import "@hiogawa/unocss-ts"; + +declare module "@hiogawa/unocss-ts" { + interface RuntimeType extends Api {} +} + type Property = RuleStatic | RuleDynamic | Shortcut; type Method = Variant; @@ -25,7 +31,8 @@ type ApiToString = { $: string; }; -export type Api = ApiProperty & ApiMethod & ApiCustom & ApiToString; +type Api = ApiProperty & ApiMethod & ApiCustom & ApiToString; + // // constants based on unocss config @@ -42,7 +49,8 @@ export type Theme_aria = | `readonly` | `required` | `selected` - | `current_page`; + | `current_page` +; export type Theme_colors = | `colorPrimary` @@ -139,7 +147,8 @@ export type Theme_colors = | `current` | `transparent` | `black` - | `white`; + | `white` +; export type Theme_animation_keyframes = | `spin_composable` @@ -243,7 +252,8 @@ export type Theme_animation_keyframes = | `back_out_up` | `back_out_down` | `back_out_right` - | `back_out_left`; + | `back_out_left` +; export type Theme_animation_counts = | `spin_composable` @@ -252,7 +262,8 @@ export type Theme_animation_counts = | `pulse` | `pulse_alt` | `bounce` - | `bounce_alt`; + | `bounce_alt` +; export type Theme_animation_durations = | `pulse` @@ -261,7 +272,8 @@ export type Theme_animation_durations = | `bounce_out` | `flip_out_x` | `flip_out_y` - | `hinge`; + | `hinge` +; export type Theme_animation_timingFns = | `pulse` @@ -272,7 +284,8 @@ export type Theme_animation_timingFns = | `light_speed_in_left` | `light_speed_in_right` | `light_speed_out_left` - | `light_speed_out_right`; + | `light_speed_out_right` +; export type Theme_animation_properties = | `bounce_alt` @@ -297,7 +310,8 @@ export type Theme_animation_properties = | `zoom_out_down` | `zoom_out_left` | `zoom_out_right` - | `zoom_out_up`; + | `zoom_out_up` +; export type Theme_width = | `auto` @@ -313,7 +327,8 @@ export type Theme_width = | `6xl` | `7xl` | `prose` - | `screen`; + | `screen` +; export type Theme_height = | `auto` @@ -329,7 +344,8 @@ export type Theme_height = | `6xl` | `7xl` | `prose` - | `screen`; + | `screen` +; export type Theme_maxWidth = | `none` @@ -345,7 +361,8 @@ export type Theme_maxWidth = | `6xl` | `7xl` | `prose` - | `screen`; + | `screen` +; export type Theme_maxHeight = | `none` @@ -361,7 +378,8 @@ export type Theme_maxHeight = | `6xl` | `7xl` | `prose` - | `screen`; + | `screen` +; export type Theme_minWidth = | `none` @@ -377,7 +395,8 @@ export type Theme_minWidth = | `6xl` | `7xl` | `prose` - | `screen`; + | `screen` +; export type Theme_minHeight = | `none` @@ -393,7 +412,8 @@ export type Theme_minHeight = | `6xl` | `7xl` | `prose` - | `screen`; + | `screen` +; export type Theme_inlineSize = | `auto` @@ -409,7 +429,8 @@ export type Theme_inlineSize = | `6xl` | `7xl` | `prose` - | `screen`; + | `screen` +; export type Theme_blockSize = | `auto` @@ -425,7 +446,8 @@ export type Theme_blockSize = | `6xl` | `7xl` | `prose` - | `screen`; + | `screen` +; export type Theme_maxInlineSize = | `none` @@ -441,7 +463,8 @@ export type Theme_maxInlineSize = | `6xl` | `7xl` | `prose` - | `screen`; + | `screen` +; export type Theme_maxBlockSize = | `none` @@ -457,7 +480,8 @@ export type Theme_maxBlockSize = | `6xl` | `7xl` | `prose` - | `screen`; + | `screen` +; export type Theme_minInlineSize = | `none` @@ -473,7 +497,8 @@ export type Theme_minInlineSize = | `6xl` | `7xl` | `prose` - | `screen`; + | `screen` +; export type Theme_minBlockSize = | `none` @@ -489,9 +514,14 @@ export type Theme_minBlockSize = | `6xl` | `7xl` | `prose` - | `screen`; + | `screen` +; -export type Theme_fontFamily = `sans` | `serif` | `mono`; +export type Theme_fontFamily = + | `sans` + | `serif` + | `mono` +; export type Theme_fontSize = | `xs` @@ -506,7 +536,8 @@ export type Theme_fontSize = | `6xl` | `7xl` | `8xl` - | `9xl`; + | `9xl` +; export type Theme_fontWeight = | `thin` @@ -517,11 +548,24 @@ export type Theme_fontWeight = | `semibold` | `bold` | `extrabold` - | `black`; + | `black` +; -export type Theme_breakpoints = `sm` | `md` | `lg` | `xl` | `2xl`; +export type Theme_breakpoints = + | `sm` + | `md` + | `lg` + | `xl` + | `2xl` +; -export type Theme_verticalBreakpoints = `sm` | `md` | `lg` | `xl` | `2xl`; +export type Theme_verticalBreakpoints = + | `sm` + | `md` + | `lg` + | `xl` + | `2xl` +; export type Theme_borderRadius = | `DEFAULT` @@ -532,7 +576,8 @@ export type Theme_borderRadius = | `xl` | `2xl` | `3xl` - | `full`; + | `full` +; export type Theme_lineHeight = | `none` @@ -540,7 +585,8 @@ export type Theme_lineHeight = | `snug` | `normal` | `relaxed` - | `loose`; + | `loose` +; export type Theme_letterSpacing = | `tighter` @@ -548,7 +594,8 @@ export type Theme_letterSpacing = | `normal` | `wide` | `wider` - | `widest`; + | `widest` +; export type Theme_wordSpacing = | `tighter` @@ -556,7 +603,8 @@ export type Theme_wordSpacing = | `normal` | `wide` | `wider` - | `widest`; + | `widest` +; export type Theme_boxShadow = | `DEFAULT` @@ -566,7 +614,8 @@ export type Theme_boxShadow = | `lg` | `xl` | `2xl` - | `inner`; + | `inner` +; export type Theme_textIndent = | `DEFAULT` @@ -576,11 +625,25 @@ export type Theme_textIndent = | `lg` | `xl` | `2xl` - | `3xl`; + | `3xl` +; -export type Theme_textShadow = `DEFAULT` | `none` | `sm` | `md` | `lg` | `xl`; +export type Theme_textShadow = + | `DEFAULT` + | `none` + | `sm` + | `md` + | `lg` + | `xl` +; -export type Theme_textStrokeWidth = `DEFAULT` | `none` | `sm` | `md` | `lg`; +export type Theme_textStrokeWidth = + | `DEFAULT` + | `none` + | `sm` + | `md` + | `lg` +; export type Theme_blur = | `0` @@ -590,7 +653,8 @@ export type Theme_blur = | `lg` | `xl` | `2xl` - | `3xl`; + | `3xl` +; export type Theme_dropShadow = | `DEFAULT` @@ -599,11 +663,21 @@ export type Theme_dropShadow = | `lg` | `xl` | `2xl` - | `none`; + | `none` +; -export type Theme_easing = `DEFAULT` | `linear` | `in` | `out` | `in_out`; +export type Theme_easing = + | `DEFAULT` + | `linear` + | `in` + | `out` + | `in_out` +; -export type Theme_lineWidth = `DEFAULT` | `none`; +export type Theme_lineWidth = + | `DEFAULT` + | `none` +; export type Theme_spacing = | `DEFAULT` @@ -619,7 +693,8 @@ export type Theme_spacing = | `6xl` | `7xl` | `8xl` - | `9xl`; + | `9xl` +; export type Theme_duration = | `75` @@ -631,9 +706,13 @@ export type Theme_duration = | `700` | `1000` | `DEFAULT` - | `none`; + | `none` +; -export type Theme_ringWidth = `DEFAULT` | `none`; +export type Theme_ringWidth = + | `DEFAULT` + | `none` +; export type Theme_preflightBase = | `__un_rotate` @@ -685,7 +764,8 @@ export type Theme_preflightBase = | `__un_backdrop_invert` | `__un_backdrop_opacity` | `__un_backdrop_saturate` - | `__un_backdrop_sepia`; + | `__un_backdrop_sepia` +; export type Theme_containers = | `xs` @@ -699,9 +779,12 @@ export type Theme_containers = | `5xl` | `6xl` | `7xl` - | `prose`; + | `prose` +; -export type Theme_zIndex = `auto`; +export type Theme_zIndex = + | `auto` +; export type Theme_media = | `portrait` @@ -720,9 +803,12 @@ export type Theme_media = | `stylus` | `pointer` | `mouse` - | `hd_color`; + | `hd_color` +; -export type Theme_supports = `grid`; +export type Theme_supports = + | `grid` +; export type Autocomplete_num = | `0` @@ -736,7 +822,8 @@ export type Autocomplete_num = | `10` | `12` | `24` - | `36`; + | `36` +; export type Autocomplete_percent = | `0` @@ -749,7 +836,8 @@ export type Autocomplete_percent = | `70` | `80` | `90` - | `100`; + | `100` +; export type Autocomplete_percentage = | `10%` @@ -761,23 +849,33 @@ export type Autocomplete_percentage = | `70%` | `80%` | `90%` - | `100%`; + | `100%` +; -export type Autocomplete_directions = `x` | `y` | `t` | `b` | `l` | `r`; +export type Autocomplete_directions = + | `x` + | `y` + | `t` + | `b` + | `l` + | `r` +; export type Autocomplete_position = | `relative` | `absolute` | `fixed` | `sticky` - | `static`; + | `static` +; export type Autocomplete_globalKeyword = | `inherit` | `initial` | `revert` | `revert-layer` - | `unset`; + | `unset` +; export type RuleStatic = | `sr_only` @@ -1519,7 +1617,8 @@ export type RuleStatic = | `content_visibility_revert_layer` | `content_visibility_unset` | `content_empty` - | `content_none`; + | `content_none` +; export type RuleDynamic = | `i_ri_zzz_line` @@ -3794,8 +3893,6 @@ export type RuleDynamic = | `i_ri_24_hours_line` | `i_ri_24_hours_fill` | `fixed` - | `absolute` - | `fixed` | `relative` | `absolute` | `rounded_full` @@ -3806,35 +3903,19 @@ export type RuleDynamic = | `${"max_" | "min_" | ""}${"w" | "h"}_full` | `transition` | `border` + | `bg_${Theme_colors}` | `placeholder_opacity` | `placeholder_opacity_${Autocomplete_percent}` | `placeholder_${Theme_colors}` | `intrinsic_size_${Autocomplete_num}` - | `transition_property_${ - | "inherit" - | "initial" - | "revert" - | "revert_layer" - | "unset" - | "all" - | "colors" - | "none" - | "opacity" - | "shadow" - | "transform"}` + | `transition_property_${"inherit" | "initial" | "revert" | "revert_layer" | "unset" | "all" | "colors" | "none" | "opacity" | "shadow" | "transform"}` | `transition_ease_${"linear" | "in" | "out" | "in_out" | "DEFAULT"}` | `ease_${"linear" | "in" | "out" | "in_out" | "DEFAULT"}` | `transition_delay_${Theme_duration}` | `delay_${Theme_duration}` | `transition_duration_${Theme_duration}` | `duration_${Theme_duration}` - | `transition_${ - | "all" - | "colors" - | "none" - | "opacity" - | "shadow" - | "transform"}` + | `transition_${"all" | "colors" | "none" | "opacity" | "shadow" | "transform"}` | `${"backdrop" | "filter"}_sepia` | `${"backdrop" | "filter"}_sepia_${Autocomplete_percent}` | `sepia_${Autocomplete_percent}` @@ -3916,38 +3997,11 @@ export type RuleDynamic = | `word_spacing_${Theme_wordSpacing}` | `tracking_${Theme_letterSpacing}` | `${"leading" | "lh" | "line_height"}_${Theme_lineHeight}` - | `${"font" | "fw"}_${ - | "100" - | "200" - | "300" - | "400" - | "500" - | "600" - | "700" - | "800" - | "900"}` + | `${"font" | "fw"}_${"100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900"}` | `${"font" | "fw"}_${Theme_fontWeight}` | `text_size_${Theme_fontSize}` | `text_${Theme_fontSize}` - | `${"vertical" | "align" | "v"}_${ - | "mid" - | "base" - | "btm" - | "baseline" - | "top" - | "start" - | "middle" - | "bottom" - | "end" - | "text_top" - | "text_bottom" - | "sub" - | "super" - | "inherit" - | "initial" - | "revert" - | "revert_layer" - | "unset"}` + | `${"vertical" | "align" | "v"}_${"mid" | "base" | "btm" | "baseline" | "top" | "start" | "middle" | "bottom" | "end" | "text_top" | "text_bottom" | "sub" | "super" | "inherit" | "initial" | "revert" | "revert_layer" | "unset"}` | `${"vertical" | "align" | "v"}_${Autocomplete_percentage}` | `indent_${Theme_textIndent}` | `${"m" | "p"}_${"bs" | "be" | "is" | "ie"}_${Autocomplete_num}` @@ -3956,51 +4010,7 @@ export type RuleDynamic = | `${"m" | "p"}_${"xy"}` | `${"m" | "p"}${Autocomplete_num}` | `${"m" | "p"}_${Autocomplete_num}` - | `object_${ - | "top" - | "top_center" - | "top_left" - | "top_right" - | "bottom" - | "bottom_center" - | "bottom_left" - | "bottom_right" - | "left" - | "left_center" - | "left_top" - | "left_bottom" - | "right" - | "right_center" - | "right_top" - | "right_bottom" - | "center" - | "center_top" - | "center_bottom" - | "center_left" - | "center_right" - | "center_center" - | "t" - | "tc" - | "tl" - | "tr" - | "b" - | "bc" - | "bl" - | "br" - | "l" - | "lc" - | "lt" - | "lb" - | "r" - | "rc" - | "rt" - | "rb" - | "c" - | "ct" - | "cb" - | "cl" - | "cr" - | "cc"}` + | `object_${"top" | "top_center" | "top_left" | "top_right" | "bottom" | "bottom_center" | "bottom_left" | "bottom_right" | "left" | "left_center" | "left_top" | "left_bottom" | "right" | "right_center" | "right_top" | "right_bottom" | "center" | "center_top" | "center_bottom" | "center_left" | "center_right" | "center_center" | "t" | "tc" | "tl" | "tr" | "b" | "bc" | "bl" | "br" | "l" | "lc" | "lt" | "lb" | "r" | "rc" | "rt" | "rb" | "c" | "ct" | "cb" | "cl" | "cr" | "cc"}` | `stroke_opacity_${Autocomplete_percent}` | `stroke_${Theme_colors}` | `stroke_offset_${Theme_lineWidth}` @@ -4010,109 +4020,9 @@ export type RuleDynamic = | `fill_opacity_${Autocomplete_percent}` | `fill_${Theme_colors}` | `bg_gradient_shape` - | `bg_gradient_shape_${ - | "top" - | "top_center" - | "top_left" - | "top_right" - | "bottom" - | "bottom_center" - | "bottom_left" - | "bottom_right" - | "left" - | "left_center" - | "left_top" - | "left_bottom" - | "right" - | "right_center" - | "right_top" - | "right_bottom" - | "center" - | "center_top" - | "center_bottom" - | "center_left" - | "center_right" - | "center_center" - | "t" - | "tc" - | "tl" - | "tr" - | "b" - | "bc" - | "bl" - | "br" - | "l" - | "lc" - | "lt" - | "lb" - | "r" - | "rc" - | "rt" - | "rb" - | "c" - | "ct" - | "cb" - | "cl" - | "cr" - | "cc"}` - | `shape_${ - | "top" - | "top_center" - | "top_left" - | "top_right" - | "bottom" - | "bottom_center" - | "bottom_left" - | "bottom_right" - | "left" - | "left_center" - | "left_top" - | "left_bottom" - | "right" - | "right_center" - | "right_top" - | "right_bottom" - | "center" - | "center_top" - | "center_bottom" - | "center_left" - | "center_right" - | "center_center" - | "t" - | "tc" - | "tl" - | "tr" - | "b" - | "bc" - | "bl" - | "br" - | "l" - | "lc" - | "lt" - | "lb" - | "r" - | "rc" - | "rt" - | "rb" - | "c" - | "ct" - | "cb" - | "cl" - | "cr" - | "cc"}` - | `bg_gradient_to_${ - | "t" - | "tl" - | "tr" - | "b" - | "bl" - | "br" - | "l" - | "lt" - | "lb" - | "r" - | "rt" - | "rb"}` + | `bg_gradient_shape_${"top" | "top_center" | "top_left" | "top_right" | "bottom" | "bottom_center" | "bottom_left" | "bottom_right" | "left" | "left_center" | "left_top" | "left_bottom" | "right" | "right_center" | "right_top" | "right_bottom" | "center" | "center_top" | "center_bottom" | "center_left" | "center_right" | "center_center" | "t" | "tc" | "tl" | "tr" | "b" | "bc" | "bl" | "br" | "l" | "lc" | "lt" | "lb" | "r" | "rc" | "rt" | "rb" | "c" | "ct" | "cb" | "cl" | "cr" | "cc"}` + | `shape_${"top" | "top_center" | "top_left" | "top_right" | "bottom" | "bottom_center" | "bottom_left" | "bottom_right" | "left" | "left_center" | "left_top" | "left_bottom" | "right" | "right_center" | "right_top" | "right_bottom" | "center" | "center_top" | "center_bottom" | "center_left" | "center_right" | "center_center" | "t" | "tc" | "tl" | "tr" | "b" | "bc" | "bl" | "br" | "l" | "lc" | "lt" | "lb" | "r" | "rc" | "rt" | "rb" | "c" | "ct" | "cb" | "cl" | "cr" | "cc"}` + | `bg_gradient_to_${"t" | "tl" | "tr" | "b" | "bl" | "br" | "l" | "lt" | "lb" | "r" | "rt" | "rb"}` | `bg_gradient_repeating` | `bg_gradient_${"linear" | "radial" | "conic"}` | `bg_gradient_repeating_${"linear" | "radial" | "conic"}` @@ -4124,71 +4034,11 @@ export type RuleDynamic = | `bg_opacity_${Autocomplete_percent}` | `bg_${Theme_colors}` | `border_style` - | `border_${ - | "solid" - | "dashed" - | "dotted" - | "double" - | "hidden" - | "none" - | "groove" - | "ridge" - | "inset" - | "outset" - | "inherit" - | "initial" - | "revert" - | "revert_layer" - | "unset"}` + | `border_${"solid" | "dashed" | "dotted" | "double" | "hidden" | "none" | "groove" | "ridge" | "inset" | "outset" | "inherit" | "initial" | "revert" | "revert_layer" | "unset"}` | `border_${Autocomplete_directions}_style` - | `border_${Autocomplete_directions}_${ - | "solid" - | "dashed" - | "dotted" - | "double" - | "hidden" - | "none" - | "groove" - | "ridge" - | "inset" - | "outset" - | "inherit" - | "initial" - | "revert" - | "revert_layer" - | "unset"}` - | `border_${Autocomplete_directions}_style_${ - | "solid" - | "dashed" - | "dotted" - | "double" - | "hidden" - | "none" - | "groove" - | "ridge" - | "inset" - | "outset" - | "inherit" - | "initial" - | "revert" - | "revert_layer" - | "unset"}` - | `border_style_${ - | "solid" - | "dashed" - | "dotted" - | "double" - | "hidden" - | "none" - | "groove" - | "ridge" - | "inset" - | "outset" - | "inherit" - | "initial" - | "revert" - | "revert_layer" - | "unset"}` + | `border_${Autocomplete_directions}_${"solid" | "dashed" | "dotted" | "double" | "hidden" | "none" | "groove" | "ridge" | "inset" | "outset" | "inherit" | "initial" | "revert" | "revert_layer" | "unset"}` + | `border_${Autocomplete_directions}_style_${"solid" | "dashed" | "dotted" | "double" | "hidden" | "none" | "groove" | "ridge" | "inset" | "outset" | "inherit" | "initial" | "revert" | "revert_layer" | "unset"}` + | `border_style_${"solid" | "dashed" | "dotted" | "double" | "hidden" | "none" | "groove" | "ridge" | "inset" | "outset" | "inherit" | "initial" | "revert" | "revert_layer" | "unset"}` | `border_${"rounded" | "rd"}` | `border_${"rounded" | "rd"}_${Autocomplete_num}` | `${"rounded" | "rd"}` @@ -4199,37 +4049,9 @@ export type RuleDynamic = | `border_${Autocomplete_num}` | `border_${Autocomplete_directions}_${Autocomplete_num}` | `border_${Autocomplete_directions}` - | `${"whitespace" | "ws"}_${ - | "normal" - | "nowrap" - | "pre" - | "pre_line" - | "pre_wrap" - | "break_spaces"}` - | `${"overflow" | "of"}_${ - | "auto" - | "hidden" - | "clip" - | "visible" - | "scroll" - | "overlay" - | "inherit" - | "initial" - | "revert" - | "revert_layer" - | "unset"}` - | `${"overflow" | "of"}_${"x" | "y"}_${ - | "auto" - | "hidden" - | "clip" - | "visible" - | "scroll" - | "overlay" - | "inherit" - | "initial" - | "revert" - | "revert_layer" - | "unset"}` + | `${"whitespace" | "ws"}_${"normal" | "nowrap" | "pre" | "pre_line" | "pre_wrap" | "break_spaces"}` + | `${"overflow" | "of"}_${"auto" | "hidden" | "clip" | "visible" | "scroll" | "overlay" | "inherit" | "initial" | "revert" | "revert_layer" | "unset"}` + | `${"overflow" | "of"}_${"x" | "y"}_${"auto" | "hidden" | "clip" | "visible" | "scroll" | "overlay" | "inherit" | "initial" | "revert" | "revert_layer" | "unset"}` | `divide_opacity` | `divide_opacity_${Autocomplete_percent}` | `divide_${Theme_colors}` @@ -4244,120 +4066,26 @@ export type RuleDynamic = | `gap_${Theme_spacing}` | `gap_${Autocomplete_num}` | `columns_${Autocomplete_num}` - | `list_${ - | "disc" - | "circle" - | "square" - | "decimal" - | "zero_decimal" - | "greek" - | "roman" - | "upper_roman" - | "alpha" - | "upper_alpha" - | "latin" - | "upper_latin"}` - | `list_${ - | "disc" - | "circle" - | "square" - | "decimal" - | "zero_decimal" - | "greek" - | "roman" - | "upper_roman" - | "alpha" - | "upper_alpha" - | "latin" - | "upper_latin"}_${"outside" | "inside"}` + | `list_${"disc" | "circle" | "square" | "decimal" | "zero_decimal" | "greek" | "roman" | "upper_roman" | "alpha" | "upper_alpha" | "latin" | "upper_latin"}` + | `list_${"disc" | "circle" | "square" | "decimal" | "zero_decimal" | "greek" | "roman" | "upper_roman" | "alpha" | "upper_alpha" | "latin" | "upper_latin"}_${"outside" | "inside"}` | `scroll_${"m" | "p" | "ma" | "pa" | "block" | "inline"}` | `scroll_${"m" | "p" | "ma" | "pa" | "block" | "inline"}_${Theme_spacing}` - | `scroll_${"m" | "p" | "ma" | "pa" | "block" | "inline"}_${ - | "x" - | "y" - | "r" - | "l" - | "t" - | "b" - | "bs" - | "be" - | "is" - | "ie"}` - | `scroll_${"m" | "p" | "ma" | "pa" | "block" | "inline"}_${ - | "x" - | "y" - | "r" - | "l" - | "t" - | "b" - | "bs" - | "be" - | "is" - | "ie"}_${Theme_spacing}` + | `scroll_${"m" | "p" | "ma" | "pa" | "block" | "inline"}_${"x" | "y" | "r" | "l" | "t" | "b" | "bs" | "be" | "is" | "ie"}` + | `scroll_${"m" | "p" | "ma" | "pa" | "block" | "inline"}_${"x" | "y" | "r" | "l" | "t" | "b" | "bs" | "be" | "is" | "ie"}_${Theme_spacing}` | `snap_${"x" | "y" | "both"}` | `touch_pan` | `touch_pan_${"x" | "left" | "right" | "y" | "up" | "down"}` | `animate_${"play" | "state" | "play_state"}` - | `animate_${"play" | "state" | "play_state"}_${ - | "paused" - | "running" - | "inherit" - | "initial" - | "revert" - | "revert_layer" - | "unset"}` - | `animate_${ - | "paused" - | "running" - | "inherit" - | "initial" - | "revert" - | "revert_layer" - | "unset"}` + | `animate_${"play" | "state" | "play_state"}_${"paused" | "running" | "inherit" | "initial" | "revert" | "revert_layer" | "unset"}` + | `animate_${"paused" | "running" | "inherit" | "initial" | "revert" | "revert_layer" | "unset"}` | `animate_${"iteration" | "count" | "iteration_count"}` | `animate_${"iteration" | "count" | "iteration_count"}_${Autocomplete_num}` | `animate_direction` - | `animate_direction_${ - | "normal" - | "reverse" - | "alternate" - | "alternate_reverse" - | "inherit" - | "initial" - | "revert" - | "revert_layer" - | "unset"}` - | `animate_${ - | "normal" - | "reverse" - | "alternate" - | "alternate_reverse" - | "inherit" - | "initial" - | "revert" - | "revert_layer" - | "unset"}` + | `animate_direction_${"normal" | "reverse" | "alternate" | "alternate_reverse" | "inherit" | "initial" | "revert" | "revert_layer" | "unset"}` + | `animate_${"normal" | "reverse" | "alternate" | "alternate_reverse" | "inherit" | "initial" | "revert" | "revert_layer" | "unset"}` | `animate_${"fill" | "mode" | "fill_mode"}` - | `animate_${"fill" | "mode" | "fill_mode"}_${ - | "none" - | "forwards" - | "backwards" - | "both" - | "inherit" - | "initial" - | "revert" - | "revert_layer" - | "unset"}` - | `animate_${ - | "none" - | "forwards" - | "backwards" - | "both" - | "inherit" - | "initial" - | "revert" - | "revert_layer" - | "unset"}` + | `animate_${"fill" | "mode" | "fill_mode"}_${"none" | "forwards" | "backwards" | "both" | "inherit" | "initial" | "revert" | "revert_layer" | "unset"}` + | `animate_${"none" | "forwards" | "backwards" | "both" | "inherit" | "initial" | "revert" | "revert_layer" | "unset"}` | `animate_ease` | `animate_ease_${Theme_easing}` | `animate_delay` @@ -4368,101 +4096,10 @@ export type RuleDynamic = | `animate_keyframes_${Theme_animation_keyframes}` | `keyframes_${Theme_animation_keyframes}` | `transform_${"translate" | "rotate" | "scale"}_${Autocomplete_percent}` - | `transform_${"translate" | "rotate" | "scale"}_${ - | "x" - | "y" - | "z"}_${Autocomplete_percent}` + | `transform_${"translate" | "rotate" | "scale"}_${"x" | "y" | "z"}_${Autocomplete_percent}` | `transform_skew_${"x" | "y"}_${Autocomplete_percent}` - | `transform_origin_${ - | "top" - | "top_center" - | "top_left" - | "top_right" - | "bottom" - | "bottom_center" - | "bottom_left" - | "bottom_right" - | "left" - | "left_center" - | "left_top" - | "left_bottom" - | "right" - | "right_center" - | "right_top" - | "right_bottom" - | "center" - | "center_top" - | "center_bottom" - | "center_left" - | "center_right" - | "center_center" - | "t" - | "tc" - | "tl" - | "tr" - | "b" - | "bc" - | "bl" - | "br" - | "l" - | "lc" - | "lt" - | "lb" - | "r" - | "rc" - | "rt" - | "rb" - | "c" - | "ct" - | "cb" - | "cl" - | "cr" - | "cc"}` - | `origin_${ - | "top" - | "top_center" - | "top_left" - | "top_right" - | "bottom" - | "bottom_center" - | "bottom_left" - | "bottom_right" - | "left" - | "left_center" - | "left_top" - | "left_bottom" - | "right" - | "right_center" - | "right_top" - | "right_bottom" - | "center" - | "center_top" - | "center_bottom" - | "center_left" - | "center_right" - | "center_center" - | "t" - | "tc" - | "tl" - | "tr" - | "b" - | "bc" - | "bl" - | "br" - | "l" - | "lc" - | "lt" - | "lb" - | "r" - | "rc" - | "rt" - | "rb" - | "c" - | "ct" - | "cb" - | "cl" - | "cr" - | "cc"}` + | `transform_origin_${"top" | "top_center" | "top_left" | "top_right" | "bottom" | "bottom_center" | "bottom_left" | "bottom_right" | "left" | "left_center" | "left_top" | "left_bottom" | "right" | "right_center" | "right_top" | "right_bottom" | "center" | "center_top" | "center_bottom" | "center_left" | "center_right" | "center_center" | "t" | "tc" | "tl" | "tr" | "b" | "bc" | "bl" | "br" | "l" | "lc" | "lt" | "lb" | "r" | "rc" | "rt" | "rb" | "c" | "ct" | "cb" | "cl" | "cr" | "cc"}` + | `origin_${"top" | "top_center" | "top_left" | "top_right" | "bottom" | "bottom_center" | "bottom_left" | "bottom_right" | "left" | "left_center" | "left_top" | "left_bottom" | "right" | "right_center" | "right_top" | "right_bottom" | "center" | "center_top" | "center_bottom" | "center_left" | "center_right" | "center_center" | "t" | "tc" | "tl" | "tr" | "b" | "bc" | "bl" | "br" | "l" | "lc" | "lt" | "lb" | "r" | "rc" | "rt" | "rb" | "c" | "ct" | "cb" | "cl" | "cr" | "cc"}` | `border_spacing_${"x" | "y"}` | `border_spacing_${"x" | "y"}_${Theme_spacing}` | `border_spacing` @@ -4489,12 +4126,7 @@ export type RuleDynamic = | `aspect_ratio_${"square" | "video"}` | `grid_${"rows" | "cols"}_${Autocomplete_num}` | `grid_${"rows" | "cols"}_none` - | `${"grid_auto_flow" | "auto_flow" | "grid_flow"}_${ - | "row" - | "col" - | "dense" - | "row_dense" - | "col_dense"}` + | `${"grid_auto_flow" | "auto_flow" | "grid_flow"}_${"row" | "col" | "dense" | "row_dense" | "col_dense"}` | `grid_auto_${"rows" | "cols"}_${Autocomplete_num}` | `grid_${"row" | "col"}_${"start" | "end"}_${Autocomplete_num}` | `grid_${"row" | "col"}_span_${Autocomplete_num}` @@ -4505,105 +4137,17 @@ export type RuleDynamic = | `${"position" | "pos"}_inset_${Autocomplete_directions}_${Theme_spacing}` | `${"position" | "pos"}_inset_${"block" | "inline"}_${Theme_spacing}` | `${"position" | "pos"}_inset_${"bs" | "be" | "is" | "ie"}_${Theme_spacing}` - | `${"position" | "pos"}_${ - | "top" - | "left" - | "right" - | "bottom"}_${Theme_spacing}` + | `${"position" | "pos"}_${"top" | "left" | "right" | "bottom"}_${Theme_spacing}` | `${"position" | "pos"}_${Autocomplete_position}` | `${"position" | "pos"}_${Autocomplete_globalKeyword}` - | `${Autocomplete_position}`; + | `${Autocomplete_position}` +; export type Variant = | `print` | `${"at_" | "lt_" | "max_" | ""}${Theme_breakpoints}` - | `${ - | "placeholder_shown" - | "backdrop_element" - | "indeterminate" - | "focus_visible" - | "first_of_type" - | "first_letter" - | "out_of_range" - | "focus_within" - | "even_of_type" - | "last_of_type" - | "only_of_type" - | "odd_of_type" - | "placeholder" - | "first_line" - | "read_write" - | "only_child" - | "read_only" - | "selection" - | "any_link" - | "autofill" - | "optional" - | "required" - | "in_range" - | "disabled" - | "visited" - | "default" - | "checked" - | "invalid" - | "enabled" - | "target" - | "active" - | "before" - | "marker" - | "valid" - | "empty" - | "hover" - | "focus" - | "first" - | "after" - | "link" - | "open" - | "root" - | "even" - | "last" - | "file" - | "odd" - | "backdrop"}` - | `${"not" | "is" | "where" | "has"}_${ - | "placeholder_shown" - | "indeterminate" - | "focus_visible" - | "first_of_type" - | "out_of_range" - | "focus_within" - | "even_of_type" - | "last_of_type" - | "only_of_type" - | "odd_of_type" - | "read_write" - | "only_child" - | "read_only" - | "any_link" - | "autofill" - | "optional" - | "required" - | "in_range" - | "disabled" - | "visited" - | "default" - | "checked" - | "invalid" - | "enabled" - | "target" - | "active" - | "valid" - | "empty" - | "hover" - | "focus" - | "first" - | "link" - | "open" - | "root" - | "even" - | "last" - | "odd" - | ""}` + | `${"placeholder_shown" | "backdrop_element" | "indeterminate" | "focus_visible" | "first_of_type" | "first_letter" | "out_of_range" | "focus_within" | "even_of_type" | "last_of_type" | "only_of_type" | "odd_of_type" | "placeholder" | "first_line" | "read_write" | "only_child" | "read_only" | "selection" | "any_link" | "autofill" | "optional" | "required" | "in_range" | "disabled" | "visited" | "default" | "checked" | "invalid" | "enabled" | "target" | "active" | "before" | "marker" | "valid" | "empty" | "hover" | "focus" | "first" | "after" | "link" | "open" | "root" | "even" | "last" | "file" | "odd" | "backdrop"}` + | `${"not" | "is" | "where" | "has"}_${"placeholder_shown" | "indeterminate" | "focus_visible" | "first_of_type" | "out_of_range" | "focus_within" | "even_of_type" | "last_of_type" | "only_of_type" | "odd_of_type" | "read_write" | "only_child" | "read_only" | "any_link" | "autofill" | "optional" | "required" | "in_range" | "disabled" | "visited" | "default" | "checked" | "invalid" | "enabled" | "target" | "active" | "valid" | "empty" | "hover" | "focus" | "first" | "link" | "open" | "root" | "even" | "last" | "odd" | ""}` | `dark` | `light` | `rtl` @@ -4622,7 +4166,8 @@ export type Variant = | `hover` | `important` | `aria_${Theme_aria}` - | `media_${Theme_media}`; + | `media_${Theme_media}` +; export type Shortcut = | `antd_menu_item_active` @@ -4638,4 +4183,5 @@ export type Shortcut = | `antd_btn` | `antd_link` | `antd_floating` - | `antd_spin`; + | `antd_spin` +; diff --git a/packages/app/uno.config.ts b/packages/app/uno.config.ts index 4443e26d..ec6e7699 100644 --- a/packages/app/uno.config.ts +++ b/packages/app/uno.config.ts @@ -1,11 +1,10 @@ import { unocssPresetAntd } from "@hiogawa/unocss-preset-antd"; import { - dummyPreset, - dummyPresetIconsRules, - dummyRule, filterColorPallete, + presetFixAutocomplete, transformerTypescriptDsl, -} from "@hiogawa/unocss-typescript-dsl"; +} from "@hiogawa/unocss-ts"; +import riIcon from "@iconify-json/ri/icons.json"; import { defineConfig, presetIcons, @@ -28,15 +27,9 @@ export default defineConfig({ display: "inline-block", }, }), - dummyPreset(), - ], - rules: [ - dummyRule("absolute"), - dummyRule("fixed"), - ...dummyPresetIconsRules(["ri"]), + presetFixAutocomplete({ icons: [riIcon] }), ], transformers: [ - // @ts-ignore peer dep version? transformerTypescriptDsl(), transformerDirectives(), transformerVariantGroup(), diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dfb21b6d..eedd505e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,9 +29,6 @@ importers: '@hiogawa/unocss-ts': specifier: 0.0.1-pre.0 version: 0.0.1-pre.0(@unocss/config@0.55.7)(unocss@0.55.7) - '@hiogawa/unocss-typescript-dsl': - specifier: 2.0.0-pre.8 - version: 2.0.0-pre.8(@iconify/utils@2.1.9)(@unocss/config@0.55.7)(@unocss/core@0.55.7)(local-pkg@0.4.3)(magic-string@0.30.3) '@hiogawa/utils': specifier: 1.6.1-pre.9 version: 1.6.1-pre.9 @@ -1394,26 +1391,6 @@ packages: unocss: 0.55.7(postcss@8.4.29)(vite@4.4.9) dev: true - /@hiogawa/unocss-typescript-dsl@2.0.0-pre.8(@iconify/utils@2.1.9)(@unocss/config@0.55.7)(@unocss/core@0.55.7)(local-pkg@0.4.3)(magic-string@0.30.3): - resolution: {integrity: sha512-AY2JT6opqjjuW6/bmhO9EijVxUxsUl3kLDtrRkM4sKR67jU9mzv16W1gDp5Frh5m2k+ewgBJOOhKK6lTXyjn4Q==} - hasBin: true - peerDependencies: - '@iconify/utils': '*' - '@unocss/config': '*' - '@unocss/core': '*' - local-pkg: '*' - magic-string: '*' - dependencies: - '@iconify/utils': 2.1.9 - '@unocss/config': 0.55.7 - '@unocss/core': 0.55.7 - cac: 6.7.14 - consola: 2.15.3 - local-pkg: 0.4.3 - magic-string: 0.30.3 - zod: 3.22.2 - dev: true - /@hiogawa/utils-react@1.3.1-pre.0(react@18.2.0): resolution: {integrity: sha512-WNOm7PSlwhliDwdOytDPss75ebmc3muDKmzlN7VkhpikyTlYPB8nzlFZho0gA1FDRaI3HGrjR+qCIVfoGxUF/A==} peerDependencies: @@ -2515,10 +2492,6 @@ packages: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true - /consola@2.15.3: - resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} - dev: true - /consola@3.2.3: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} @@ -5881,7 +5854,3 @@ packages: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} dev: true - - /zod@3.22.2: - resolution: {integrity: sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg==} - dev: true