@k8o/arte-odyssey 8.0.3 → 9.1.0
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/components/buttons/button/button.d.mts +1 -1
- package/dist/components/buttons/button/button.mjs +1 -1
- package/dist/components/buttons/icon-button/icon-button.d.mts +1 -1
- package/dist/components/buttons/icon-button/icon-button.mjs +5 -16
- package/dist/components/data-display/accordion/accordion-button.mjs +2 -2
- package/dist/components/data-display/accordion/accordion-item.mjs +4 -1
- package/dist/components/data-display/accordion/accordion.mjs +1 -1
- package/dist/components/data-display/accordion/context.d.mts +1 -1
- package/dist/components/data-display/accordion/context.mjs +3 -12
- package/dist/components/data-display/avatar/avatar.d.mts +1 -1
- package/dist/components/data-display/avatar/avatar.mjs +2 -2
- package/dist/components/data-display/badge/badge.d.mts +1 -1
- package/dist/components/data-display/badge/badge.mjs +3 -3
- package/dist/components/data-display/card/card.mjs +2 -2
- package/dist/components/data-display/card/interactive-card.mjs +2 -2
- package/dist/components/data-display/card/type.d.mts +1 -1
- package/dist/components/data-display/code/code.d.mts +1 -1
- package/dist/components/data-display/code/code.mjs +4 -5
- package/dist/{helpers/color → components/data-display/code}/find-all-colors.d.mts +1 -1
- package/dist/{helpers/color → components/data-display/code}/find-all-colors.mjs +1 -1
- package/dist/components/data-display/heading/heading.d.mts +1 -1
- package/dist/components/data-display/heading/heading.mjs +7 -7
- package/dist/components/data-display/table/table.d.mts +12 -17
- package/dist/components/data-display/table/table.mjs +23 -21
- package/dist/components/feedback/alert/alert.d.mts +1 -1
- package/dist/components/feedback/alert/alert.mjs +2 -2
- package/dist/components/feedback/progress/progress.d.mts +1 -1
- package/dist/components/feedback/progress/progress.mjs +6 -7
- package/dist/components/feedback/skeleton/skeleton.d.mts +1 -1
- package/dist/components/feedback/skeleton/skeleton.mjs +2 -2
- package/dist/components/feedback/spinner/spinner.d.mts +1 -1
- package/dist/components/feedback/spinner/spinner.mjs +2 -2
- package/dist/components/feedback/toast/context.d.mts +2 -2
- package/dist/components/feedback/toast/context.mjs +6 -7
- package/dist/components/feedback/toast/provider.mjs +1 -1
- package/dist/components/form/autocomplete/autocomplete.d.mts +1 -1
- package/dist/components/form/autocomplete/autocomplete.mjs +75 -51
- package/dist/components/form/checkbox/checkbox.d.mts +1 -1
- package/dist/components/form/checkbox/checkbox.mjs +7 -4
- package/dist/components/form/checkbox-card/checkbox-card.d.mts +1 -1
- package/dist/components/form/checkbox-card/checkbox-card.mjs +10 -9
- package/dist/components/form/checkbox-group/checkbox-group.d.mts +1 -1
- package/dist/components/form/checkbox-group/index.d.mts +3 -3
- package/dist/components/form/file-field/file-field.d.mts +1 -1
- package/dist/components/form/file-field/file-field.mjs +4 -10
- package/dist/components/form/form/form.d.mts +1 -1
- package/dist/components/form/form/form.mjs +2 -3
- package/dist/{helpers/number → components/form/number-field}/cast.d.mts +1 -1
- package/dist/{helpers/number → components/form/number-field}/cast.mjs +2 -2
- package/dist/components/form/number-field/number-field.d.mts +1 -1
- package/dist/components/form/number-field/number-field.mjs +25 -24
- package/dist/components/form/password-input/password-input.d.mts +1 -1
- package/dist/components/form/password-input/password-input.mjs +3 -3
- package/dist/components/form/radio/radio.d.mts +1 -1
- package/dist/components/form/radio/radio.mjs +6 -4
- package/dist/components/form/radio-card/radio-card.d.mts +1 -1
- package/dist/components/form/radio-card/radio-card.mjs +11 -8
- package/dist/components/form/select/select.d.mts +1 -1
- package/dist/components/form/select/select.mjs +5 -4
- package/dist/components/form/slider/slider.d.mts +1 -1
- package/dist/components/form/slider/slider.mjs +15 -8
- package/dist/components/form/switch/switch.d.mts +1 -1
- package/dist/components/form/switch/switch.mjs +9 -6
- package/dist/components/form/text-field/text-field.d.mts +1 -1
- package/dist/components/form/text-field/text-field.mjs +1 -1
- package/dist/components/form/textarea/textarea.d.mts +1 -1
- package/dist/components/form/textarea/textarea.mjs +1 -1
- package/dist/components/icons/index.d.mts +3 -2
- package/dist/components/icons/index.mjs +3 -2
- package/dist/components/icons/logo.mjs +3 -3
- package/dist/components/icons/lucide.d.mts +2 -1
- package/dist/components/icons/lucide.mjs +6 -2
- package/dist/components/icons/qiita.mjs +4 -4
- package/dist/components/icons/twitter.mjs +1 -1
- package/dist/components/icons/vertical-writing.d.mts +7 -0
- package/dist/components/icons/vertical-writing.mjs +25 -0
- package/dist/components/index.d.mts +3 -2
- package/dist/components/index.mjs +3 -2
- package/dist/components/layout/separator/separator.d.mts +1 -1
- package/dist/components/layout/separator/separator.mjs +2 -5
- package/dist/components/navigation/anchor/anchor.d.mts +1 -1
- package/dist/components/navigation/anchor/anchor.mjs +1 -2
- package/dist/components/navigation/breadcrumb/breadcrumb.mjs +1 -1
- package/dist/components/navigation/pagination/pagination.mjs +12 -6
- package/dist/components/navigation/tabs/tabs.mjs +25 -25
- package/dist/components/overlays/dialog/dialog.mjs +3 -7
- package/dist/components/overlays/drawer/drawer.mjs +1 -1
- package/dist/components/overlays/dropdown-menu/dropdown-menu.mjs +1 -1
- package/dist/components/overlays/dropdown-menu/hooks.d.mts +2 -3
- package/dist/components/overlays/dropdown-menu/hooks.mjs +4 -9
- package/dist/components/overlays/list-box/hooks.d.mts +0 -1
- package/dist/components/overlays/list-box/hooks.mjs +3 -8
- package/dist/components/overlays/list-box/list-box.mjs +1 -1
- package/dist/components/overlays/modal/modal.mjs +9 -5
- package/dist/components/overlays/popover/hooks.d.mts +1 -3
- package/dist/components/overlays/popover/hooks.mjs +3 -8
- package/dist/components/overlays/popover/popover.mjs +8 -2
- package/dist/components/overlays/tooltip/tooltip.mjs +19 -6
- package/dist/helpers/chain.d.mts +5 -0
- package/dist/helpers/chain.mjs +29 -0
- package/dist/helpers/create-safe-context.d.mts +7 -0
- package/dist/helpers/create-safe-context.mjs +13 -0
- package/dist/helpers/index.d.mts +5 -8
- package/dist/helpers/index.mjs +5 -8
- package/dist/helpers/merge-props.d.mts +6 -0
- package/dist/helpers/merge-props.mjs +56 -0
- package/dist/hooks/click-away/index.mjs +1 -1
- package/dist/hooks/index.d.mts +2 -1
- package/dist/hooks/index.mjs +2 -1
- package/dist/hooks/writing-mode/index.d.mts +7 -0
- package/dist/hooks/writing-mode/index.mjs +22 -0
- package/dist/index.d.mts +8 -9
- package/dist/index.mjs +8 -9
- package/dist/internal/clamp.d.mts +4 -0
- package/dist/internal/clamp.mjs +15 -0
- package/dist/{helpers/number → internal}/to-precision.d.mts +1 -1
- package/dist/{helpers/number → internal}/to-precision.mjs +1 -1
- package/dist/styles/index.css +37 -0
- package/dist/styles/tokens.d.mts +12 -1
- package/dist/styles/tokens.mjs +25 -1
- package/docs/references/typography.md +29 -0
- package/package.json +2 -2
- package/dist/helpers/is-internal-route.d.mts +0 -4
- package/dist/helpers/is-internal-route.mjs +0 -12
- package/dist/helpers/number/between.d.mts +0 -4
- package/dist/helpers/number/between.mjs +0 -15
- package/dist/helpers/number/commalize.d.mts +0 -4
- package/dist/helpers/number/commalize.mjs +0 -20
- package/dist/helpers/number/index.d.mts +0 -5
- package/dist/helpers/number/index.mjs +0 -5
- package/dist/helpers/uuid-v4.d.mts +0 -4
- package/dist/helpers/uuid-v4.mjs +0 -28
|
@@ -7,7 +7,7 @@ type BaseProps = {
|
|
|
7
7
|
name?: string;
|
|
8
8
|
disabled?: boolean;
|
|
9
9
|
options: readonly Option[];
|
|
10
|
-
} & Omit<HTMLAttributes<HTMLDivElement>, 'role' | 'className' | 'children' | 'aria-labelledby' | 'onChange'>;
|
|
10
|
+
} & Omit<HTMLAttributes<HTMLDivElement>, 'role' | 'className' | 'style' | 'children' | 'aria-labelledby' | 'onChange'>;
|
|
11
11
|
type ControlledProps = {
|
|
12
12
|
value: string;
|
|
13
13
|
onChange: ChangeEventHandler<HTMLInputElement>;
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "../../../helpers/cn.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { useControllableState } from "../../../hooks/controllable-state/index.mjs";
|
|
4
4
|
import { useFormStatus } from "react-dom";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/components/form/radio/radio.tsx
|
|
7
7
|
const Radio = ({ "aria-labelledby": labelledbyId, name, disabled = false, value, defaultValue, onChange, options, ...rest }) => {
|
|
8
|
-
const [
|
|
8
|
+
const [selectedValue, setSelectedValue] = useControllableState({
|
|
9
|
+
value,
|
|
10
|
+
defaultValue
|
|
11
|
+
});
|
|
9
12
|
const { pending } = useFormStatus();
|
|
10
13
|
const isControlled = value !== void 0;
|
|
11
|
-
const selectedValue = isControlled ? value : internalValue;
|
|
12
14
|
const disabledResolved = disabled || pending;
|
|
13
15
|
const selectValue = (nextValue) => {
|
|
14
|
-
|
|
16
|
+
setSelectedValue(nextValue);
|
|
15
17
|
onChange?.({ target: { value: nextValue } });
|
|
16
18
|
};
|
|
17
19
|
return /* @__PURE__ */ jsx("div", {
|
|
@@ -12,7 +12,7 @@ type BaseProps = {
|
|
|
12
12
|
'aria-labelledby': string;
|
|
13
13
|
invalid?: boolean;
|
|
14
14
|
options: readonly RadioCardOption[];
|
|
15
|
-
} & Omit<FieldsetHTMLAttributes<HTMLFieldSetElement>, 'className' | 'children' | 'onChange' | 'defaultValue' | 'aria-labelledby'>;
|
|
15
|
+
} & Omit<FieldsetHTMLAttributes<HTMLFieldSetElement>, 'className' | 'style' | 'children' | 'onChange' | 'defaultValue' | 'aria-labelledby'>;
|
|
16
16
|
type ControlledProps = {
|
|
17
17
|
value: string;
|
|
18
18
|
onChange: ChangeEventHandler<HTMLInputElement>;
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "../../../helpers/cn.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { useControllableState } from "../../../hooks/controllable-state/index.mjs";
|
|
4
|
+
import { useId, useRef } from "react";
|
|
4
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
6
|
//#region src/components/form/radio-card/radio-card.tsx
|
|
6
7
|
const RadioCard = ({ "aria-labelledby": labelledbyId, name, disabled = false, invalid = false, options, value, defaultValue, onChange, ...rest }) => {
|
|
7
8
|
const groupId = useId();
|
|
8
9
|
const buttonRefs = useRef([]);
|
|
9
|
-
const [
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
const [currentValue, setCurrentValue] = useControllableState({
|
|
11
|
+
value,
|
|
12
|
+
defaultValue: defaultValue ?? options[0]?.value
|
|
13
|
+
});
|
|
12
14
|
const selectValue = (nextValue) => {
|
|
13
|
-
|
|
15
|
+
setCurrentValue(nextValue);
|
|
14
16
|
onChange?.({ target: { value: nextValue } });
|
|
15
17
|
};
|
|
16
18
|
const focusIndex = (index) => {
|
|
@@ -25,7 +27,7 @@ const RadioCard = ({ "aria-labelledby": labelledbyId, name, disabled = false, in
|
|
|
25
27
|
return /* @__PURE__ */ jsxs("fieldset", {
|
|
26
28
|
...rest,
|
|
27
29
|
"aria-labelledby": labelledbyId,
|
|
28
|
-
className: cn("m-0
|
|
30
|
+
className: cn("m-0 min-w-0 border-0 p-0 inline-full", "grid gap-3", disabled && "opacity-70"),
|
|
29
31
|
children: [name !== void 0 && name !== "" ? /* @__PURE__ */ jsx("input", {
|
|
30
32
|
name,
|
|
31
33
|
type: "hidden",
|
|
@@ -39,7 +41,7 @@ const RadioCard = ({ "aria-labelledby": labelledbyId, name, disabled = false, in
|
|
|
39
41
|
return /* @__PURE__ */ jsxs("button", {
|
|
40
42
|
"aria-describedby": hasDescription ? `${optionId}-description` : void 0,
|
|
41
43
|
"aria-pressed": checked,
|
|
42
|
-
className: cn("flex
|
|
44
|
+
className: cn("flex min-w-0 rounded-xl border bg-bg-base p-4 text-left transition-colors inline-full", "focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-border-info", checked && "border-primary-border bg-primary-bg-subtle hover:bg-primary-bg-mute", invalid ? "border-border-error" : !checked && "border-border-mute hover:bg-bg-subtle", optionDisabled && "cursor-not-allowed border-border-mute bg-bg-subtle text-fg-mute"),
|
|
43
45
|
disabled: optionDisabled,
|
|
44
46
|
id: optionId,
|
|
45
47
|
onClick: () => {
|
|
@@ -48,7 +50,8 @@ const RadioCard = ({ "aria-labelledby": labelledbyId, name, disabled = false, in
|
|
|
48
50
|
onKeyDown: (event) => {
|
|
49
51
|
if (event.key !== "ArrowDown" && event.key !== "ArrowRight" && event.key !== "ArrowUp" && event.key !== "ArrowLeft") return;
|
|
50
52
|
event.preventDefault();
|
|
51
|
-
const
|
|
53
|
+
const forwardKey = getComputedStyle(event.currentTarget).writingMode === "vertical-rl" ? "ArrowLeft" : "ArrowRight";
|
|
54
|
+
const nextIndex = getNextIndex(index, event.key === "ArrowDown" || event.key === forwardKey ? 1 : -1);
|
|
52
55
|
const nextOption = options[nextIndex];
|
|
53
56
|
if (!nextOption) return;
|
|
54
57
|
selectValue(nextOption.value);
|
|
@@ -5,7 +5,7 @@ import { FC, SelectHTMLAttributes } from "react";
|
|
|
5
5
|
type Props = {
|
|
6
6
|
invalid?: boolean;
|
|
7
7
|
options: readonly Option[];
|
|
8
|
-
} & Omit<SelectHTMLAttributes<HTMLSelectElement>, 'className'>;
|
|
8
|
+
} & Omit<SelectHTMLAttributes<HTMLSelectElement>, 'className' | 'style'>;
|
|
9
9
|
declare const Select: FC<Props>;
|
|
10
10
|
//#endregion
|
|
11
11
|
export { Select };
|
|
@@ -7,18 +7,19 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
7
7
|
const Select = ({ invalid = false, options, disabled = false, ...rest }) => {
|
|
8
8
|
const { pending } = useFormStatus();
|
|
9
9
|
return /* @__PURE__ */ jsxs("div", {
|
|
10
|
-
className: "relative h-fit w-full",
|
|
10
|
+
className: cn("relative flex h-fit w-full items-center rounded-xl border border-border-base bg-bg-base vertical:h-full vertical:w-fit", invalid && "border-border-error", (disabled || pending) && "cursor-not-allowed border-border-mute bg-bg-mute", "focus-within:border-transparent focus-within:outline-hidden focus-within:ring-2 focus-within:ring-border-info"),
|
|
11
11
|
children: [/* @__PURE__ */ jsx("select", {
|
|
12
12
|
"aria-invalid": invalid,
|
|
13
|
-
className: cn("w-full appearance-none
|
|
13
|
+
className: cn("w-full grow appearance-none bg-transparent px-3 py-2 text-fg-base focus-visible:outline-hidden vertical:h-full vertical:w-auto", "disabled:cursor-not-allowed"),
|
|
14
14
|
disabled: disabled || pending,
|
|
15
15
|
...rest,
|
|
16
16
|
children: options.map((option) => /* @__PURE__ */ jsx("option", {
|
|
17
17
|
value: option.value,
|
|
18
18
|
children: option.label
|
|
19
19
|
}, option.value))
|
|
20
|
-
}), /* @__PURE__ */ jsx("
|
|
21
|
-
|
|
20
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
21
|
+
"aria-hidden": true,
|
|
22
|
+
className: "vertical:-rotate-90 pointer-events-none me-3 shrink-0",
|
|
22
23
|
children: /* @__PURE__ */ jsx(ChevronIcon, {
|
|
23
24
|
direction: "down",
|
|
24
25
|
size: "sm"
|
|
@@ -6,7 +6,7 @@ type BaseProps = {
|
|
|
6
6
|
step?: number;
|
|
7
7
|
max?: number;
|
|
8
8
|
min?: number;
|
|
9
|
-
} & Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'className' | 'value' | 'onChange' | 'defaultValue' | 'children' | 'step' | 'max' | 'min'>;
|
|
9
|
+
} & Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'className' | 'style' | 'value' | 'onChange' | 'defaultValue' | 'children' | 'step' | 'max' | 'min'>;
|
|
10
10
|
type ControlledProps = {
|
|
11
11
|
value: number;
|
|
12
12
|
onChange: (value: number) => void;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { cn } from "../../../helpers/cn.mjs";
|
|
3
3
|
import { useControllableState } from "../../../hooks/controllable-state/index.mjs";
|
|
4
4
|
import { useFormStatus } from "react-dom";
|
|
5
|
-
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/components/form/slider/slider.tsx
|
|
7
7
|
const Slider = ({ invalid = false, disabled = false, required = false, value, defaultValue, onChange, step = 1, max = 100, min = 0, ...rest }) => {
|
|
8
8
|
const [currentValue, handleChange] = useControllableState({
|
|
@@ -14,17 +14,24 @@ const Slider = ({ invalid = false, disabled = false, required = false, value, de
|
|
|
14
14
|
const disabledResolved = disabled || pending;
|
|
15
15
|
const range = Math.max(max - min, 1);
|
|
16
16
|
const progress = (currentValue - min) / range * 100;
|
|
17
|
-
const
|
|
18
|
-
return /* @__PURE__ */
|
|
19
|
-
className: cn("relative flex
|
|
20
|
-
style,
|
|
21
|
-
children: /* @__PURE__ */ jsx("
|
|
17
|
+
const clampedProgress = `${Math.min(Math.max(progress, 0), 100)}%`;
|
|
18
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
19
|
+
className: cn("relative flex items-center justify-center", "block-8 inline-full vertical:inline-48", disabledResolved && "opacity-50"),
|
|
20
|
+
style: { "--slider-progress": clampedProgress },
|
|
21
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
22
|
+
"aria-hidden": true,
|
|
23
|
+
className: "bg-bg-mute relative rounded-full block-2 inline-full",
|
|
24
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
25
|
+
"aria-hidden": true,
|
|
26
|
+
className: cn("bg-primary-bg absolute start-0 inset-be-0 block-full inline-(--slider-progress) rounded-full", invalid && "bg-bg-error")
|
|
27
|
+
})
|
|
28
|
+
}), /* @__PURE__ */ jsx("input", {
|
|
22
29
|
...rest,
|
|
23
30
|
"aria-invalid": invalid,
|
|
24
31
|
"aria-valuemax": max,
|
|
25
32
|
"aria-valuemin": min,
|
|
26
33
|
"aria-valuenow": currentValue,
|
|
27
|
-
className: cn("
|
|
34
|
+
className: cn("absolute inset-0 z-10 appearance-none bg-transparent", "h-8 w-full vertical:h-auto vertical:w-8 vertical:[writing-mode:vertical-lr]", "focus:outline-none", "disabled:cursor-not-allowed", "[&::-webkit-slider-runnable-track]:h-2 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-transparent", "[&::-webkit-slider-thumb]:-mt-1 [&::-webkit-slider-thumb]:size-4 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border [&::-webkit-slider-thumb]:border-border-base [&::-webkit-slider-thumb]:bg-bg-base [&::-webkit-slider-thumb]:shadow-xs", "[&:focus-visible::-webkit-slider-thumb]:border-transparent [&:focus-visible::-webkit-slider-thumb]:ring-2 [&:focus-visible::-webkit-slider-thumb]:ring-border-info", "[&::-moz-range-track]:h-2 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-transparent", "[&::-moz-range-progress]:h-2 [&::-moz-range-progress]:rounded-full [&::-moz-range-progress]:bg-transparent", "[&::-moz-range-thumb]:size-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border [&::-moz-range-thumb]:border-border-base [&::-moz-range-thumb]:bg-bg-base [&::-moz-range-thumb]:shadow-xs", "[&:focus-visible::-moz-range-thumb]:border-transparent [&:focus-visible::-moz-range-thumb]:ring-2 [&:focus-visible::-moz-range-thumb]:ring-border-info", invalid && "[&::-moz-range-thumb]:border-border-error [&::-webkit-slider-thumb]:border-border-error [&:focus-visible::-moz-range-thumb]:ring-border-error [&:focus-visible::-webkit-slider-thumb]:ring-border-error"),
|
|
28
35
|
disabled: disabledResolved,
|
|
29
36
|
max,
|
|
30
37
|
min,
|
|
@@ -35,7 +42,7 @@ const Slider = ({ invalid = false, disabled = false, required = false, value, de
|
|
|
35
42
|
step,
|
|
36
43
|
type: "range",
|
|
37
44
|
value: currentValue
|
|
38
|
-
})
|
|
45
|
+
})]
|
|
39
46
|
});
|
|
40
47
|
};
|
|
41
48
|
//#endregion
|
|
@@ -4,7 +4,7 @@ import { ChangeEventHandler, FC, InputHTMLAttributes } from "react";
|
|
|
4
4
|
type BaseProps = {
|
|
5
5
|
invalid?: boolean;
|
|
6
6
|
label: string;
|
|
7
|
-
} & Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'role' | 'className' | 'value' | 'onChange' | 'defaultChecked' | 'checked' | 'children'>;
|
|
7
|
+
} & Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'role' | 'className' | 'style' | 'value' | 'onChange' | 'defaultChecked' | 'checked' | 'children'>;
|
|
8
8
|
type ControlledProps = {
|
|
9
9
|
value: boolean;
|
|
10
10
|
onChange: ChangeEventHandler<HTMLInputElement>;
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "../../../helpers/cn.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { useControllableState } from "../../../hooks/controllable-state/index.mjs";
|
|
4
|
+
import { useId } from "react";
|
|
4
5
|
import { useFormStatus } from "react-dom";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
7
|
//#region src/components/form/switch/switch.tsx
|
|
7
8
|
const Switch = ({ value, defaultChecked, id, disabled = false, invalid = false, required = false, label, onChange, ...rest }) => {
|
|
8
9
|
const generatedId = useId();
|
|
9
10
|
const inputId = id ?? generatedId;
|
|
10
|
-
const [
|
|
11
|
+
const [isSelected, setSelected] = useControllableState({
|
|
12
|
+
value,
|
|
13
|
+
defaultValue: defaultChecked ?? false
|
|
14
|
+
});
|
|
11
15
|
const { pending } = useFormStatus();
|
|
12
16
|
const isControlled = value !== void 0;
|
|
13
|
-
const isSelected = isControlled ? value : internalChecked;
|
|
14
17
|
const disabledResolved = disabled || pending;
|
|
15
18
|
return /* @__PURE__ */ jsxs("label", {
|
|
16
19
|
className: cn("inline-flex w-fit items-center gap-3", disabledResolved ? "cursor-not-allowed text-fg-mute" : "cursor-pointer"),
|
|
@@ -27,7 +30,7 @@ const Switch = ({ value, defaultChecked, id, disabled = false, invalid = false,
|
|
|
27
30
|
disabled: disabledResolved,
|
|
28
31
|
id: inputId,
|
|
29
32
|
onChange: (event) => {
|
|
30
|
-
|
|
33
|
+
setSelected(event.target.checked);
|
|
31
34
|
onChange?.(event);
|
|
32
35
|
},
|
|
33
36
|
required,
|
|
@@ -35,8 +38,8 @@ const Switch = ({ value, defaultChecked, id, disabled = false, invalid = false,
|
|
|
35
38
|
type: "checkbox"
|
|
36
39
|
}), /* @__PURE__ */ jsx("span", {
|
|
37
40
|
"aria-hidden": true,
|
|
38
|
-
className: cn("inline-flex
|
|
39
|
-
children: /* @__PURE__ */ jsx("span", { className: cn("
|
|
41
|
+
className: cn("inline-flex items-center rounded-full transition-colors", "h-7 w-12 vertical:h-12 vertical:w-7", invalid && "ring-2 ring-border-error", isSelected ? "bg-primary-bg" : "bg-bg-mute", disabledResolved && "bg-bg-subtle", "peer-focus-visible:outline-hidden peer-focus-visible:ring-2 peer-focus-visible:ring-border-info peer-focus-visible:ring-offset-2"),
|
|
42
|
+
children: /* @__PURE__ */ jsx("span", { className: cn("ms-0.5 size-5 rounded-full bg-bg-base shadow-xs transition-transform", isSelected && "translate-x-5 vertical:translate-x-0 vertical:translate-y-5", disabledResolved && "bg-bg-emphasize") })
|
|
40
43
|
})]
|
|
41
44
|
}), label ? /* @__PURE__ */ jsx("span", { children: label }) : null]
|
|
42
45
|
});
|
|
@@ -3,7 +3,7 @@ import { FC, InputHTMLAttributes } from "react";
|
|
|
3
3
|
//#region src/components/form/text-field/text-field.d.ts
|
|
4
4
|
type Props = {
|
|
5
5
|
invalid?: boolean;
|
|
6
|
-
} & Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'className'>;
|
|
6
|
+
} & Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'className' | 'style'>;
|
|
7
7
|
declare const TextField: FC<Props>;
|
|
8
8
|
//#endregion
|
|
9
9
|
export { TextField };
|
|
@@ -7,7 +7,7 @@ const TextField = ({ invalid = false, readOnly, ...rest }) => {
|
|
|
7
7
|
const { pending } = useFormStatus();
|
|
8
8
|
return /* @__PURE__ */ jsx("input", {
|
|
9
9
|
"aria-invalid": invalid,
|
|
10
|
-
className: cn("
|
|
10
|
+
className: cn("rounded-xl border border-border-base bg-bg-base px-3 py-2 inline-full", "aria-invalid:border-border-error", "disabled:cursor-not-allowed disabled:border-border-mute disabled:bg-bg-mute hover:disabled:bg-bg-mute", "read-only:cursor-not-allowed read-only:bg-bg-subtle", "focus-visible:border-transparent focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-border-info"),
|
|
11
11
|
readOnly: pending || readOnly,
|
|
12
12
|
type: "text",
|
|
13
13
|
...rest
|
|
@@ -5,7 +5,7 @@ type Props = {
|
|
|
5
5
|
invalid?: boolean;
|
|
6
6
|
fullHeight?: boolean;
|
|
7
7
|
autoResize?: boolean;
|
|
8
|
-
} & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'className'>;
|
|
8
|
+
} & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'className' | 'style'>;
|
|
9
9
|
declare const Textarea: FC<Props>;
|
|
10
10
|
//#endregion
|
|
11
11
|
export { Textarea };
|
|
@@ -16,7 +16,7 @@ const Textarea = ({ invalid = false, fullHeight = false, autoResize = false, rea
|
|
|
16
16
|
}, [autoResize, value]);
|
|
17
17
|
return /* @__PURE__ */ jsx("textarea", {
|
|
18
18
|
"aria-invalid": invalid,
|
|
19
|
-
className: cn("
|
|
19
|
+
className: cn("resize-none rounded-xl border border-border-base bg-bg-base px-3 py-2 inline-full", "aria-invalid:border-border-error", "disabled:cursor-not-allowed disabled:border-border-mute disabled:bg-bg-mute hover:disabled:bg-bg-mute", "read-only:cursor-not-allowed read-only:bg-bg-subtle", "focus-visible:border-transparent focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-border-info", fullHeight && "h-full"),
|
|
20
20
|
onInput: (e) => {
|
|
21
21
|
if (autoResize) resizeToContent(e.currentTarget);
|
|
22
22
|
onInput?.(e);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ArteOdyssey } from "./arte-odyssey.mjs";
|
|
2
2
|
import { GitHubIcon } from "./github-mark.mjs";
|
|
3
3
|
import { Logo, LogoIcon } from "./logo.mjs";
|
|
4
|
-
import { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FormIcon, GoodIcon, HistoryIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./lucide.mjs";
|
|
4
|
+
import { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FormIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./lucide.mjs";
|
|
5
5
|
import { QiitaIcon } from "./qiita.mjs";
|
|
6
6
|
import { TwitterIcon } from "./twitter.mjs";
|
|
7
|
-
|
|
7
|
+
import { VerticalWritingIcon } from "./vertical-writing.mjs";
|
|
8
|
+
export { AIIcon, AccessibilityIcon, AlertIcon, ArteOdyssey, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FormIcon, GitHubIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, Logo, LogoIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, QiitaIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SubscribeIcon, TableIcon, TagIcon, TwitterIcon, UpdateDateIcon, VerticalWritingIcon, ViewIcon, ViewOffIcon };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ArteOdyssey } from "./arte-odyssey.mjs";
|
|
2
2
|
import { GitHubIcon } from "./github-mark.mjs";
|
|
3
3
|
import { Logo, LogoIcon } from "./logo.mjs";
|
|
4
|
-
import { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FormIcon, GoodIcon, HistoryIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./lucide.mjs";
|
|
4
|
+
import { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FormIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon } from "./lucide.mjs";
|
|
5
5
|
import { QiitaIcon } from "./qiita.mjs";
|
|
6
6
|
import { TwitterIcon } from "./twitter.mjs";
|
|
7
|
-
|
|
7
|
+
import { VerticalWritingIcon } from "./vertical-writing.mjs";
|
|
8
|
+
export { AIIcon, AccessibilityIcon, AlertIcon, ArteOdyssey, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FormIcon, GitHubIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, Logo, LogoIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, QiitaIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SubscribeIcon, TableIcon, TagIcon, TwitterIcon, UpdateDateIcon, VerticalWritingIcon, ViewIcon, ViewOffIcon };
|
|
@@ -8,15 +8,15 @@ const Logo = ({ className }) => /* @__PURE__ */ jsxs("svg", {
|
|
|
8
8
|
children: [
|
|
9
9
|
/* @__PURE__ */ jsx("path", {
|
|
10
10
|
className: "fill-primary-fg",
|
|
11
|
-
d: " M790.
|
|
11
|
+
d: " M790.13,638.72 C770.63,652.99 751.13,667.26 731.47,681.64 C735.44,690.03 742.88,694.97 749.52,700.59 C752.36,703.01 756.16,704.32 758.92,706.81 C767.25,714.32 775.49,721.96 783.39,729.92 C788.86,735.44 793.91,741.41 798.81,747.45 C809.38,760.45 809.98,775.59 807.59,791.23 C806.66,797.27 805.19,803.24 804.40,809.30 C802.88,820.97 798.52,831.58 793.46,842.07 C784.44,860.81 776.42,880.03 765.01,897.55 C752.08,917.40 736.40,934.91 719.77,951.63 C698.06,973.44 673.65,991.93 648.37,1009.32 C634.72,1018.72 619.64,1023.74 602.96,1022.66 C601.02,1022.54 597.83,1019.71 597.74,1017.98 C597.57,1015.08 599.01,1011.82 600.56,1009.17 C601.55,1007.47 603.93,1006.58 605.70,1005.34 C615.74,998.30 626.35,991.94 635.64,984.02 C643.52,977.29 649.63,968.53 656.94,961.09 C684.15,933.42 705.12,900.97 727.13,869.36 C735.18,857.80 741.76,845.15 748.24,832.60 C753.17,823.08 750.17,813.31 745.60,804.56 C742.70,798.99 738.61,793.58 733.85,789.52 C719.72,777.49 705.44,765.55 690.35,754.78 C681.15,748.22 670.40,743.81 660.25,738.61 C659.07,738.01 656.80,737.96 655.84,738.71 C641.76,749.70 626.51,759.22 615.22,773.62 C602.09,790.36 598.20,809.25 602.23,829.42 C605.04,843.50 614.60,854.32 623.63,865.37 C634.75,878.98 648.98,886.94 664.95,892.86 C669.89,894.69 674.50,897.40 679.27,899.69 C683.02,901.50 685.13,904.63 683.81,908.52 C682.92,911.13 680.58,913.53 678.32,915.29 C676.77,916.49 674.24,916.89 672.16,916.86 C655.09,916.54 638.08,918.03 621.02,914.20 C600.59,909.61 581.24,902.62 562.84,892.91 C551.31,886.82 543.36,877.00 537.05,865.84 C534.20,860.81 530.91,855.76 529.45,850.29 C527.72,843.86 527.70,836.95 527.06,830.24 C526.86,828.11 527.03,825.94 526.17,823.36 C524.92,825.50 523.42,827.53 522.45,829.79 C516.77,843.10 507.31,852.86 496.28,862.24 C484.64,872.14 471.63,879.08 458.45,886.03 C450.15,890.41 440.99,892.61 431.52,892.24 C417.09,891.67 402.40,892.16 388.32,889.53 C371.49,886.39 357.22,878.13 348.35,861.86 C339.22,845.13 334.01,827.18 329.61,808.97 C327.77,801.35 327.81,793.07 328.22,785.15 C329.09,768.70 324.00,754.19 314.34,741.47 C306.73,731.46 295.37,725.20 281.33,732.11 C272.58,736.41 263.86,740.30 256.13,746.31 C241.20,757.92 232.94,773.90 226.99,791.19 C222.56,804.04 218.81,817.15 215.43,830.31 C213.33,838.46 212.44,846.92 211.09,855.25 C210.27,860.30 210.15,865.53 208.75,870.39 C206.23,879.15 197.12,886.36 188.48,886.01 C177.18,885.55 165.79,886.24 154.56,885.11 C138.52,883.49 124.39,877.76 115.13,863.16 C109.27,853.91 108.94,843.85 110.00,833.79 C113.28,802.68 119.72,772.11 129.32,742.39 C135.07,724.59 143.40,707.64 150.18,690.16 C155.03,677.64 159.03,664.80 163.77,652.24 C168.99,638.42 174.79,624.82 180.02,611.00 C188.17,589.45 196.07,567.81 204.05,546.20 C211.64,525.66 219.05,505.05 226.80,484.57 C233.96,465.65 241.46,446.85 248.81,428.01 C251.93,420.01 253.84,411.23 258.44,404.20 C266.49,391.92 268.28,377.99 270.40,364.41 C272.91,348.35 269.58,332.66 260.54,318.62 C257.84,314.43 255.45,310.04 252.86,305.77 C248.09,297.91 250.51,285.45 257.98,280.21 C259.29,279.29 260.91,278.40 262.45,278.29 C270.83,277.63 279.22,276.97 287.62,276.79 C305.59,276.40 323.58,275.94 341.54,276.29 C347.65,276.41 354.14,277.93 359.70,280.46 C372.89,286.43 379.15,297.90 379.90,311.84 C380.65,325.64 381.19,339.62 379.74,353.30 C378.24,367.39 375.21,381.51 371.08,395.09 C364.77,415.88 356.79,436.15 346.97,455.61 C342.11,465.22 336.60,474.53 332.19,484.34 C323.41,503.87 315.36,523.72 306.64,543.28 C302.56,552.43 296.99,560.94 293.18,570.20 C285.66,588.45 279.09,607.10 271.71,625.41 C269.00,632.14 264.67,638.21 261.83,644.89 C257.38,655.38 253.53,666.13 249.54,676.81 C249.30,677.44 249.99,678.41 250.24,679.22 C251.08,678.62 252.17,678.19 252.72,677.39 C258.83,668.47 264.49,659.22 270.96,650.57 C283.59,633.70 295.68,616.28 309.79,600.71 C323.85,585.19 339.56,571.04 355.57,557.49 C367.25,547.62 381.18,540.44 393.00,530.70 C404.57,521.16 418.84,517.62 431.34,510.44 C444.67,502.79 458.79,499.64 473.71,500.19 C487.10,500.67 500.55,501.80 513.78,503.90 C524.50,505.60 531.55,512.64 536.57,522.62 C547.66,544.67 541.78,563.87 528.56,582.45 C519.71,594.89 507.56,602.66 493.63,608.06 C488.26,610.14 482.81,612.01 477.35,613.87 C465.48,617.92 454.93,615.69 445.71,607.13 C438.68,600.59 430.38,596.14 421.23,593.54 C410.44,590.48 400.20,593.68 391.30,599.28 C379.05,606.99 367.14,615.42 356.00,624.66 C342.38,635.96 329.70,648.40 316.67,660.40 C315.60,661.39 314.83,662.75 314.08,664.03 C312.00,667.56 312.97,669.86 317.02,670.23 C320.95,670.58 324.99,670.78 328.89,670.31 C347.24,668.07 362.05,674.92 375.42,686.94 C384.88,695.46 391.73,705.71 397.88,716.57 C399.54,719.51 400.01,723.11 401.23,726.33 C403.98,733.61 407.16,740.73 409.62,748.10 C413.04,758.32 415.24,769.00 419.31,778.93 C422.62,787.00 427.13,794.90 432.64,801.61 C435.89,805.58 441.85,808.14 447.07,809.54 C463.96,814.06 481.11,813.41 497.60,807.90 C507.60,804.57 516.93,799.25 526.52,794.73 C527.51,794.26 528.57,793.33 528.99,792.35 C534.21,780.16 543.33,770.80 552.13,761.39 C561.06,751.84 571.46,743.65 580.24,733.98 C590.41,722.80 603.07,715.39 615.59,707.58 C615.83,707.44 615.90,707.03 616.74,705.47 C602.91,692.24 588.23,679.25 574.86,665.04 C565.20,654.78 557.82,642.37 555.08,628.29 C553.61,620.74 554.68,612.69 554.63,604.87 C554.45,573.79 569.02,550.48 593.10,532.33 C602.86,524.97 612.40,517.01 623.07,511.22 C635.76,504.34 649.59,499.56 662.88,493.75 C666.80,492.03 670.54,489.91 674.70,488.38 C676.16,498.79 676.34,509.02 678.69,518.71 C680.66,526.88 685.08,534.47 688.64,542.22 C689.21,543.45 690.99,544.14 692.05,545.39 C686.79,552.16 681.34,558.37 676.70,565.15 C672.05,571.92 666.17,578.79 664.49,586.42 C661.63,599.41 661.49,613.03 660.57,626.40 C660.41,628.59 661.56,631.35 663.01,633.09 C670.69,642.38 679.53,649.94 691.63,653.39 C695.15,654.40 697.83,654.19 700.18,652.54 C711.81,644.36 724.12,636.82 734.46,627.20 C744.40,617.96 752.21,606.44 760.99,596.32 C762.07,599.79 762.90,602.96 764.20,605.92 C769.59,618.19 774.70,630.73 788.43,636.45 C789.18,636.76 789.57,637.95 790.13,638.72 z"
|
|
12
12
|
}),
|
|
13
13
|
/* @__PURE__ */ jsx("path", {
|
|
14
14
|
className: "fill-(--teal-700) dark:fill-(--teal-400)",
|
|
15
|
-
d: " M836.
|
|
15
|
+
d: " M836.63,192.96 C834.95,196.90 833.03,200.86 830.81,204.64 C826.01,212.81 820.12,220.48 816.47,229.12 C813.45,236.27 812.44,244.44 811.55,252.27 C810.13,264.93 808.60,277.67 812.01,290.35 C815.76,304.24 821.73,316.94 833.95,325.07 C843.12,331.17 853.35,335.68 863.10,340.91 C868.79,343.96 874.66,346.74 880.11,350.19 C885.60,353.67 888.20,358.83 888.08,365.67 C887.88,377.59 886.09,389.15 882.74,400.59 C881.62,404.45 881.68,408.87 882.23,412.90 C882.48,414.81 884.86,417.39 886.77,417.95 C896.24,420.73 903.41,425.99 907.33,435.16 C908.28,437.37 908.66,439.87 909.06,442.28 C909.49,444.87 909.64,447.51 909.98,450.54 C899.09,458.14 891.61,468.20 884.82,479.29 C877.18,491.77 869.12,504.28 859.41,515.14 C852.31,523.07 845.92,530.96 842.40,540.87 C840.63,545.82 839.93,551.18 839.07,556.40 C837.80,564.05 837.62,571.97 835.49,579.34 C833.41,586.55 830.11,593.61 826.21,600.04 C817.00,615.20 805.38,628.33 790.44,638.66 C789.57,637.95 789.18,636.76 788.43,636.45 C774.70,630.73 769.59,618.19 764.20,605.92 C762.90,602.96 762.07,599.79 761.00,595.96 C762.07,593.59 763.07,591.90 764.28,590.37 C768.31,585.33 772.89,580.65 776.39,575.26 C782.25,566.26 783.44,555.87 784.07,545.34 C784.47,538.60 784.70,531.54 786.89,525.27 C791.93,510.81 801.59,499.29 812.40,488.53 C824.27,476.71 837.86,465.83 839.80,447.30 C840.42,441.32 837.75,431.53 830.51,430.11 C822.04,428.45 809.48,433.66 805.47,441.37 C800.38,451.18 795.19,460.99 791.00,471.19 C785.28,485.09 775.51,494.82 762.59,501.80 C757.35,504.62 752.00,507.24 746.76,510.08 C742.11,512.61 737.72,515.64 732.93,517.86 C721.21,523.32 709.69,529.01 700.13,537.97 C697.54,540.40 694.85,542.71 692.21,545.08 C690.99,544.14 689.21,543.45 688.64,542.22 C685.08,534.47 680.66,526.88 678.69,518.71 C676.34,509.02 676.16,498.79 675.07,488.31 C683.20,483.13 691.13,478.07 699.47,473.82 C709.17,468.89 719.82,465.62 728.97,459.88 C737.28,454.66 744.23,447.21 751.59,440.53 C754.76,437.65 757.49,434.27 760.36,431.06 C761.35,429.95 762.32,428.77 763.03,427.47 C766.36,421.43 764.37,416.55 758.04,414.86 C745.37,411.48 732.62,411.80 719.61,412.53 C710.14,413.06 700.50,411.04 690.99,409.76 C684.82,408.92 682.22,404.09 681.10,398.65 C679.35,390.14 680.16,381.73 683.99,373.85 C689.82,361.87 695.12,349.54 702.03,338.20 C711.30,322.96 721.79,308.47 731.92,293.76 C742.40,278.53 752.26,262.77 763.90,248.48 C772.37,238.10 782.77,229.07 793.29,220.68 C802.76,213.12 813.55,207.24 823.79,200.66 C827.91,198.02 832.10,195.48 836.63,192.96 z"
|
|
16
16
|
}),
|
|
17
17
|
/* @__PURE__ */ jsx("path", {
|
|
18
18
|
className: "fill-(--teal-600) dark:fill-(--teal-500)",
|
|
19
|
-
d: " M880.
|
|
19
|
+
d: " M880.95,659.66 C880.03,663.93 878.45,667.85 878.28,671.82 C877.60,687.55 876.88,703.30 877.16,719.03 C877.34,729.21 879.24,739.35 880.64,749.76 C880.93,750.47 880.94,750.91 880.99,752.10 C881.88,757.73 882.76,762.61 883.61,767.49 C888.10,793.18 902.21,814.17 917.15,834.53 C927.87,849.16 943.42,858.32 959.06,866.79 C965.81,870.45 973.36,873.59 980.88,874.67 C995.06,876.69 1009.16,874.17 1022.45,868.86 C1028.04,866.62 1033.61,863.29 1037.97,859.16 C1047.37,850.25 1056.35,840.81 1064.79,830.98 C1070.79,823.99 1075.95,816.21 1080.93,808.43 C1089.25,795.41 1089.95,780.05 1092.72,765.47 C1094.42,756.51 1093.64,747.09 1094.21,737.88 C1094.44,734.30 1095.89,730.74 1095.81,727.19 C1095.30,704.97 1098.32,682.65 1094.18,660.51 C1092.82,653.26 1092.74,645.65 1090.47,638.73 C1087.09,628.43 1082.42,618.54 1078.05,608.59 C1070.76,591.99 1062.47,576.10 1048.42,563.86 C1039.48,556.08 1030.48,548.38 1019.28,544.26 C1011.91,541.54 1004.04,540.18 996.44,538.22 C994.01,531.23 998.61,527.20 1005.93,525.35 C1011.87,523.84 1017.87,522.32 1023.94,521.65 C1031.99,520.77 1040.39,519.25 1048.20,520.59 C1069.90,524.33 1089.15,534.67 1107.90,545.76 C1113.30,548.96 1117.99,553.34 1123.33,556.66 C1134.63,563.71 1143.81,572.44 1150.82,584.06 C1162.41,603.28 1170.84,623.85 1178.84,644.64 C1181.88,652.54 1183.58,660.97 1185.78,669.18 C1186.66,672.50 1187.92,675.92 1187.85,679.27 C1187.36,702.48 1186.57,725.68 1185.86,748.89 C1185.84,749.54 1185.63,750.20 1185.42,750.82 C1182.94,758.32 1180.56,765.84 1177.93,773.28 C1175.41,780.41 1173.60,788.03 1169.76,794.39 C1161.23,808.53 1152.71,822.91 1142.22,835.56 C1126.35,854.70 1108.02,871.53 1084.45,881.19 C1071.40,886.54 1058.32,891.96 1044.93,896.33 C1029.21,901.45 1013.48,906.97 996.32,905.24 C987.24,904.33 978.00,905.14 968.89,904.45 C956.07,903.48 945.22,897.00 934.44,890.68 C917.50,880.76 900.61,871.10 891.86,851.75 C885.45,837.57 876.91,824.36 869.84,810.46 C867.25,805.36 866.19,799.49 864.36,794.00 C860.61,782.72 856.68,771.50 853.10,760.17 C851.44,754.87 850.43,749.36 849.13,743.94 C849.11,743.20 849.09,742.46 849.05,740.90 C849.01,725.38 848.99,710.69 848.98,696.00 C849.03,695.56 849.08,695.12 849.09,694.34 C849.66,691.81 850.58,689.64 850.83,687.40 C852.63,670.95 853.95,654.43 856.16,638.03 C857.10,631.04 859.78,624.28 861.70,617.43 C864.77,606.44 867.31,595.25 871.16,584.54 C873.87,576.98 878.21,569.98 882.09,562.88 C890.03,548.36 897.91,533.81 906.25,519.54 C913.57,507.00 918.85,493.64 922.47,479.73 C924.88,470.43 924.19,460.76 918.05,452.67 C916.92,451.18 913.35,451.53 910.41,450.58 C909.64,447.51 909.49,444.87 909.06,442.28 C908.66,439.87 908.28,437.37 907.33,435.16 C903.41,425.99 896.24,420.73 886.77,417.95 C884.86,417.39 882.48,414.81 882.23,412.90 C881.68,408.87 881.62,404.45 882.74,400.59 C886.09,389.15 887.88,377.59 888.08,365.67 C888.20,358.83 885.60,353.67 880.11,350.19 C874.66,346.74 868.79,343.96 863.10,340.91 C853.35,335.68 843.12,331.17 833.95,325.07 C821.73,316.94 815.76,304.24 812.01,290.35 C808.60,277.67 810.13,264.93 811.55,252.27 C812.44,244.44 813.45,236.27 816.47,229.12 C820.12,220.48 826.01,212.81 830.81,204.64 C833.03,200.86 834.95,196.90 837.00,193.03 C849.73,185.21 862.70,178.40 878.40,178.89 C883.57,179.06 888.79,176.86 894.02,176.67 C903.28,176.34 912.58,176.47 921.85,176.88 C926.77,177.09 931.75,177.88 936.52,179.13 C944.25,181.15 952.08,183.16 959.42,186.25 C968.95,190.26 978.41,194.72 987.22,200.09 C998.51,206.96 1009.14,214.91 1020.01,222.46 C1022.73,224.35 1025.25,226.52 1027.91,228.51 C1037.40,235.62 1043.18,245.45 1049.59,255.24 C1058.52,268.87 1063.04,284.30 1070.45,298.48 C1076.21,309.50 1080.58,321.26 1085.28,332.81 C1086.68,336.26 1087.04,340.13 1088.00,343.77 C1089.04,347.69 1090.41,351.54 1091.32,355.49 C1092.38,360.10 1092.85,364.84 1094.02,369.42 C1098.02,385.17 1095.85,401.16 1095.65,417.02 C1095.55,424.45 1092.77,431.84 1091.44,439.28 C1090.94,442.04 1090.84,444.94 1091.05,447.74 C1091.77,457.53 1087.56,465.63 1081.54,472.52 C1079.05,475.37 1074.21,476.95 1070.21,477.55 C1052.65,480.18 1035.22,478.98 1019.74,469.78 C1012.51,465.47 1005.27,461.67 997.30,459.74 C986.66,457.17 977.55,459.07 970.61,469.28 C962.84,480.71 959.41,493.63 954.50,505.97 C948.18,521.83 939.28,535.97 930.27,550.24 C924.38,559.58 919.58,569.60 914.37,579.36 C908.12,591.08 901.38,602.59 895.91,614.66 C890.94,625.64 887.34,637.24 883.26,648.61 C882.26,651.38 881.76,654.33 881.11,657.60 C881.10,658.44 881.01,658.88 880.95,659.66 z"
|
|
20
20
|
})
|
|
21
21
|
]
|
|
22
22
|
});
|
|
@@ -55,5 +55,6 @@ declare const PaletteIcon: FC<IconProps>;
|
|
|
55
55
|
declare const ShieldCheckIcon: FC<IconProps>;
|
|
56
56
|
declare const AccessibilityIcon: FC<IconProps>;
|
|
57
57
|
declare const SparklesIcon: FC<IconProps>;
|
|
58
|
+
declare const HorizontalWritingIcon: FC<IconProps>;
|
|
58
59
|
//#endregion
|
|
59
|
-
export { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FormIcon, GoodIcon, HistoryIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon };
|
|
60
|
+
export { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FormIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseIcon } from "./base.mjs";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { Accessibility, AlignRight, Angry, Annoyed, Atom, Bell, Blend, BookText, Bookmark, Bot, Calendar, Check, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, CircleAlert, CircleCheck, ClipboardPenLine, Clock, Contrast, Droplets, ExternalLink, Eye, EyeOff, History, Info, Laugh, Lightbulb, Link, List, ListMinus, Mail, MapPin, Minus, MoonStar, PaintBucket, Palette, Plus, Presentation, Rocket, Rss, Send, ShieldCheck, Smile, Sparkles, Sun, Table2, Tag, ThumbsDown, ThumbsUp, TriangleAlert, X } from "lucide-react";
|
|
3
|
+
import { Accessibility, AlignRight, Angry, Annoyed, Atom, Bell, Blend, BookOpenText, BookText, Bookmark, Bot, Calendar, Check, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, CircleAlert, CircleCheck, ClipboardPenLine, Clock, Contrast, Droplets, ExternalLink, Eye, EyeOff, History, Info, Laugh, Lightbulb, Link, List, ListMinus, Mail, MapPin, Minus, MoonStar, PaintBucket, Palette, Plus, Presentation, Rocket, Rss, Send, ShieldCheck, Smile, Sparkles, Sun, Table2, Tag, ThumbsDown, ThumbsUp, TriangleAlert, X } from "lucide-react";
|
|
4
4
|
//#region src/components/icons/lucide.tsx
|
|
5
5
|
const CHEVRON_BY_DIRECTION = {
|
|
6
6
|
up: ChevronUp,
|
|
@@ -208,5 +208,9 @@ const SparklesIcon = ({ size = "md" }) => /* @__PURE__ */ jsx(BaseIcon, {
|
|
|
208
208
|
renderItem: (props) => /* @__PURE__ */ jsx(Sparkles, { ...props }),
|
|
209
209
|
size
|
|
210
210
|
});
|
|
211
|
+
const HorizontalWritingIcon = ({ size = "md" }) => /* @__PURE__ */ jsx(BaseIcon, {
|
|
212
|
+
renderItem: (props) => /* @__PURE__ */ jsx(BookOpenText, { ...props }),
|
|
213
|
+
size
|
|
214
|
+
});
|
|
211
215
|
//#endregion
|
|
212
|
-
export { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FormIcon, GoodIcon, HistoryIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon };
|
|
216
|
+
export { AIIcon, AccessibilityIcon, AlertIcon, AtomIcon, BadIcon, BlogIcon, BoringIcon, CheckIcon, ChevronIcon, CloseIcon, ColorContrastIcon, ColorInfoIcon, CopyIcon, DarkModeIcon, DifficultIcon, EasyIcon, ExternalLinkIcon, FormIcon, GoodIcon, HistoryIcon, HorizontalWritingIcon, InformativeIcon, InterestingIcon, LightModeIcon, LinkIcon, ListIcon, LocationIcon, MailIcon, MinusIcon, MixedColorIcon, NavigationMenuIcon, NewsIcon, PaletteIcon, PlusIcon, PrepareIcon, PublishDateIcon, RSSIcon, SendIcon, ShallowIcon, ShieldCheckIcon, SlideIcon, SparklesIcon, SubscribeIcon, TableIcon, TagIcon, UpdateDateIcon, ViewIcon, ViewOffIcon };
|