wimui 0.64.5 → 0.64.7
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/README.ja.md +4 -4
- package/README.md +4 -4
- package/dist/components/ai/ChatUI/chat-ui.module.cjs +1 -1
- package/dist/components/ai/ChatUI/chat-ui.module.js +2 -2
- package/dist/components/form/FloatButton/FloatButton.cjs +1 -1
- package/dist/components/form/FloatButton/FloatButton.d.ts +1 -1
- package/dist/components/form/FloatButton/FloatButton.js +9 -9
- package/dist/llms-full.txt +2 -2
- package/dist/llms.txt +1 -1
- package/dist/rhf/zod.d.ts +1 -1
- package/dist/styles.css +1 -1
- package/dist/wimui.umd.css +1 -1
- package/dist/wimui.umd.js +2 -2
- package/package.json +23 -23
package/README.ja.md
CHANGED
|
@@ -41,8 +41,8 @@ import { BarChart } from "wimui/charts";
|
|
|
41
41
|
|---|---|---|---|
|
|
42
42
|
| `react` / `react-dom` | **19** | `^19.0.0` | 開発・テスト・公開型は React 19。React 18 は非対応 |
|
|
43
43
|
| `zod`(`wimui/rhf` 利用時) | **4** | `^4.0.0` | 開発・テストは zod 4。zod 3 は非対応 |
|
|
44
|
-
| `@hookform/resolvers` | **5.1
|
|
45
|
-
| `react-hook-form` | **7.
|
|
44
|
+
| `@hookform/resolvers` | **5.1+ / 6** | `^5.1.0 \|\| ^6.0.0` | `wimui/rhf` 利用時 |
|
|
45
|
+
| `react-hook-form` | **7.55+** | `^7.55.0` | `wimui/rhf` 利用時のみ |
|
|
46
46
|
|
|
47
47
|
Core(ルート `wimui`)に zod / RHF は不要です。charts 等の optional peer は下表を参照。
|
|
48
48
|
|
|
@@ -314,7 +314,7 @@ peer 依存コンポーネントは**コンポーネント別の専用サブパ
|
|
|
314
314
|
| CodeDiffViewer | `wimui/ai/code-diff-viewer` | `diff` |
|
|
315
315
|
| InteractiveGraph | `wimui/ai/interactive-graph` | `@xyflow/react` |
|
|
316
316
|
| Audio(`showMetadata` 時のみ) | `wimui` または `wimui/media` | `music-metadata` |
|
|
317
|
-
| FormField / zodResolver | `wimui/rhf` | `react-hook-form` `^7.
|
|
317
|
+
| FormField / zodResolver | `wimui/rhf` | `react-hook-form` `^7.55` / `@hookform/resolvers` `^5.1 \|\| ^6` / `zod` `^4` |
|
|
318
318
|
|
|
319
319
|
正本マップ: `src/data/peer-imports.json`(CI の `check:imports` もこれを参照)。Audio の metadata peer は optional 動的 import のためルートにも居ます。
|
|
320
320
|
|
|
@@ -336,7 +336,7 @@ peer 依存コンポーネントは**コンポーネント別の専用サブパ
|
|
|
336
336
|
コアの form コンポーネントはフレームワーク非依存のままです。RHF とつなぐ場合は optional エントリ `wimui/rhf` を使います。上表の ClearedValue / `error` 分岐に合わせ、`FormField` は `error`(string)と `invalid`(boolean)の両方を渡します。
|
|
337
337
|
|
|
338
338
|
```bash
|
|
339
|
-
npm i react-hook-form@^7.
|
|
339
|
+
npm i react-hook-form@^7.55 @hookform/resolvers@^5.1 zod@^4
|
|
340
340
|
```
|
|
341
341
|
|
|
342
342
|
```tsx
|
package/README.md
CHANGED
|
@@ -41,8 +41,8 @@ Supported version ranges for public peers. Wider ranges are unsupported.
|
|
|
41
41
|
|---|---|---|---|
|
|
42
42
|
| `react` / `react-dom` | **19** | `^19.0.0` | Development, tests, and published types target React 19. React 18 is unsupported |
|
|
43
43
|
| `zod` (when using `wimui/rhf`) | **3.25+ / 4** | `^3.25.0 \|\| ^4.0.0` | Range mirrors `@hookform/resolvers` so a zod-3 ecosystem resolves without `ERESOLVE`. Development and tests target zod 4 |
|
|
44
|
-
| `@hookform/resolvers` | **5.1
|
|
45
|
-
| `react-hook-form` | **7.
|
|
44
|
+
| `@hookform/resolvers` | **5.1+ / 6** | `^5.1.0 \|\| ^6.0.0` | When using `wimui/rhf` |
|
|
45
|
+
| `react-hook-form` | **7.55+** | `^7.55.0` | Only when using `wimui/rhf` |
|
|
46
46
|
|
|
47
47
|
Core (the root `wimui`) needs neither zod nor RHF. For optional peers such as charts, see the table below.
|
|
48
48
|
|
|
@@ -312,7 +312,7 @@ Each peer-dependent component has its **own subpath** whose name documents its p
|
|
|
312
312
|
| CodeDiffViewer | `wimui/ai/code-diff-viewer` | `diff` |
|
|
313
313
|
| InteractiveGraph | `wimui/ai/interactive-graph` | `@xyflow/react` |
|
|
314
314
|
| Audio (only when `showMetadata`) | `wimui` or `wimui/media` | `music-metadata` |
|
|
315
|
-
| FormField / zodResolver | `wimui/rhf` | `react-hook-form` `^7.
|
|
315
|
+
| FormField / zodResolver | `wimui/rhf` | `react-hook-form` `^7.55` / `@hookform/resolvers` `^5.1 \|\| ^6` / `zod` `^3.25 \|\| ^4` |
|
|
316
316
|
|
|
317
317
|
Source of truth: `src/data/peer-imports.json` (CI's `check:imports` also reads this). Audio's metadata peer is a dynamic optional import, so it also lives at the root.
|
|
318
318
|
|
|
@@ -334,7 +334,7 @@ The UI-empty state of string fields is usually `""`. Do not treat a clearable sc
|
|
|
334
334
|
The core form components stay framework-agnostic. To wire them to RHF, use the optional entry `wimui/rhf`. Matching the ClearedValue / `error` split in the table above, `FormField` passes both `error` (string) and `invalid` (boolean).
|
|
335
335
|
|
|
336
336
|
```bash
|
|
337
|
-
npm i react-hook-form@^7.
|
|
337
|
+
npm i react-hook-form@^7.55 @hookform/resolvers@^5.1 zod@^4
|
|
338
338
|
```
|
|
339
339
|
|
|
340
340
|
```tsx
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
var e=`
|
|
2
|
+
var e=`_container_774t4_23`,t=`_messageList_774t4_39`,n=`_message_774t4_39`,r=`_left_774t4_71`,i=`_right_774t4_76`,a=`_contentWrapper_774t4_81`,o=`_sent_774t4_84`,s=`_received_774t4_87`,c=`_messageAvatar_774t4_90`,l=`_sender_774t4_99`,u=`_bubble_774t4_104`,d=`_typing_774t4_115`,f=`_typingDot_774t4_122`,p=`_actions_774t4_146`,m=`_hoverOnly_774t4_153`,h=`_hasAvatar_774t4_171`,g=`_timestamp_774t4_211`,_=`_inputArea_774t4_216`,v=`_fieldContainer_774t4_229`,y=`_field_774t4_229`,b=`_sendButton_774t4_278`,x=`_attachButton_774t4_305`,S=`_avatar_774t4_327`,C=`_sm_774t4_340`,w=`_md_774t4_345`,T=`_lg_774t4_350`,E=`_s1_774t4_358`,D=`_s3_774t4_362`,O=`_s5_774t4_366`,k=`_s7_774t4_370`,A=`_s10_774t4_374`,j=`_s12_774t4_378`,M=`_s14_774t4_382`,N=`_s16_774t4_386`,P=`_s18_774t4_390`,F=`_s20_774t4_394`,I=`_s22_774t4_398`,L=`_s24_774t4_402`,R=`_image_774t4_406`,z=`_fallback_774t4_411`,B={container:e,messageList:t,message:n,left:r,right:i,contentWrapper:a,sent:o,received:s,messageAvatar:c,sender:l,bubble:u,typing:d,typingDot:f,"chat-typing":`_chat-typing_774t4_1`,actions:p,hoverOnly:m,hasAvatar:h,timestamp:g,inputArea:_,fieldContainer:v,field:y,sendButton:b,attachButton:x,avatar:S,sm:C,md:w,lg:T,s1:E,s3:D,s5:O,s7:k,s10:A,s12:j,s14:M,s16:N,s18:P,s20:F,s22:I,s24:L,image:R,fallback:z};exports.actions=p,exports.attachButton=x,exports.avatar=S,exports.bubble=u,exports.container=e,exports.contentWrapper=a,exports.default=B,exports.fallback=z,exports.field=y,exports.fieldContainer=v,exports.hasAvatar=h,exports.hoverOnly=m,exports.image=R,exports.inputArea=_,exports.left=r,exports.lg=T,exports.md=w,exports.message=n,exports.messageAvatar=c,exports.messageList=t,exports.received=s,exports.right=i,exports.s1=E,exports.s10=A,exports.s12=j,exports.s14=M,exports.s16=N,exports.s18=P,exports.s20=F,exports.s22=I,exports.s24=L,exports.s3=D,exports.s5=O,exports.s7=k,exports.sendButton=b,exports.sender=l,exports.sent=o,exports.sm=C,exports.timestamp=g,exports.typing=d,exports.typingDot=f;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
//#region src/components/ai/ChatUI/chat-ui.module.scss
|
|
3
|
-
var e = "
|
|
3
|
+
var e = "_container_774t4_23", t = "_messageList_774t4_39", n = "_message_774t4_39", r = "_left_774t4_71", i = "_right_774t4_76", a = "_contentWrapper_774t4_81", o = "_sent_774t4_84", s = "_received_774t4_87", c = "_messageAvatar_774t4_90", l = "_sender_774t4_99", u = "_bubble_774t4_104", d = "_typing_774t4_115", f = "_typingDot_774t4_122", p = "_actions_774t4_146", m = "_hoverOnly_774t4_153", h = "_hasAvatar_774t4_171", g = "_timestamp_774t4_211", _ = "_inputArea_774t4_216", v = "_fieldContainer_774t4_229", y = "_field_774t4_229", b = "_sendButton_774t4_278", x = "_attachButton_774t4_305", S = "_avatar_774t4_327", C = "_sm_774t4_340", w = "_md_774t4_345", T = "_lg_774t4_350", E = "_s1_774t4_358", D = "_s3_774t4_362", O = "_s5_774t4_366", k = "_s7_774t4_370", A = "_s10_774t4_374", j = "_s12_774t4_378", M = "_s14_774t4_382", N = "_s16_774t4_386", P = "_s18_774t4_390", F = "_s20_774t4_394", I = "_s22_774t4_398", L = "_s24_774t4_402", R = "_image_774t4_406", z = "_fallback_774t4_411", B = {
|
|
4
4
|
container: e,
|
|
5
5
|
messageList: t,
|
|
6
6
|
message: n,
|
|
@@ -14,7 +14,7 @@ var e = "_container_fvj0q_23", t = "_messageList_fvj0q_39", n = "_message_fvj0q_
|
|
|
14
14
|
bubble: u,
|
|
15
15
|
typing: d,
|
|
16
16
|
typingDot: f,
|
|
17
|
-
"chat-typing": "_chat-
|
|
17
|
+
"chat-typing": "_chat-typing_774t4_1",
|
|
18
18
|
actions: p,
|
|
19
19
|
hoverOnly: m,
|
|
20
20
|
hasAvatar: h,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../media/Icon/Icon.cjs"),r=require("./float-button.module.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("classnames");a=e.__toESM(a,1);let o=require("react/jsx-runtime");var s=i.default.forwardRef(({asChild:e=!1,iconName:s=`CircleIcon`,variant:c,intent:l=`default`,shape:u=`circle`,size:d=`md`,label:f,shrink:p=!1,position:m=`bottom-right`,description:h,badge:g,backTop:_=!1,visibilityHeight:v=400,className:y,style:b,onClick:x,"aria-label":S,children:C,...w},T)=>{let[E,D]=(0,i.useState)(()=>!_||typeof window<`u`&&(window.pageYOffset||document.documentElement.scrollTop)>v),O=(0,i.useCallback)(()=>{if(_){let e=window.pageYOffset||document.documentElement.scrollTop;D(e>v)}},[_,v]);(0,i.useEffect)(()=>{if(_)return window.addEventListener(`scroll`,O),()=>window.removeEventListener(`scroll`,O)},[_,O]);let k=e=>{_&&window.scrollTo({top:0,behavior:`smooth`}),x?.(e)},A=S||(typeof f==`string`?f:void 0),j=
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../media/Icon/Icon.cjs"),r=require("./float-button.module.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("classnames");a=e.__toESM(a,1);let o=require("react/jsx-runtime");var s=i.default.forwardRef(({asChild:e=!1,iconName:s=`CircleIcon`,variant:c,intent:l=`default`,shape:u=`circle`,size:d=`md`,label:f,shrink:p=!1,position:m=`bottom-right`,description:h,badge:g,backTop:_=!1,visibilityHeight:v=400,className:y,style:b,onClick:x,"aria-label":S,children:C,...w},T)=>{let[E,D]=(0,i.useState)(()=>!_||typeof window<`u`&&(window.pageYOffset||document.documentElement.scrollTop)>v),O=(0,i.useCallback)(()=>{if(_){let e=window.pageYOffset||document.documentElement.scrollTop;D(e>v)}},[_,v]);(0,i.useEffect)(()=>{if(_)return window.addEventListener(`scroll`,O),()=>window.removeEventListener(`scroll`,O)},[_,O]);let k=e=>{_&&window.scrollTo({top:0,behavior:`smooth`}),x?.(e)},A=S||(typeof f==`string`?f:void 0),j=typeof g==`number`&&g>0?g:void 0,M=g===!0||j!==void 0,N=A&&j!==void 0?`${A} ${j}`:A,P=!!N||!!f||!!C||!!w[`aria-labelledby`]||typeof h==`string`;if((0,i.useEffect)(()=>{},[P]),!E&&_)return null;let F=e?t.Root:`button`,I=m===`bottom-right`?r.default.bottomRight:m===`bottom-left`?r.default.bottomLeft:m===`bottom-center`?r.default.bottomCenter:m===`top-right`?r.default.topRight:m===`top-left`?r.default.topLeft:r.default.inline;return(0,o.jsxs)(F,{ref:T,type:e?void 0:`button`,className:(0,a.default)(`wim-float-button`,r.default.root,!c&&r.default[l],c===`outline`&&r.default.outline,c===`glass`&&r.default.glass,l===`danger`&&r.default.danger,l===`success`&&r.default.success,r.default[u],r.default[d],I,!!f&&r.default.extended,!!p&&r.default.shrink,y),style:b,onClick:k,title:typeof h==`string`?h:void 0,"aria-label":N,...w,children:[(0,o.jsx)(t.Slottable,{children:C}),(0,o.jsxs)(`span`,{className:r.default.inner,children:[(0,o.jsx)(n.Icon,{name:_?`ChevronUpIcon`:s,size:d,className:(0,a.default)(_&&r.default.iconBacktop)}),f&&(0,o.jsx)(`span`,{className:r.default.labelWrapper,children:(0,o.jsx)(`span`,{className:r.default.label,children:f})}),j!==void 0&&` `,M&&(0,o.jsx)(`span`,{className:(0,a.default)(r.default.badge,g===!0&&r.default.dot),children:j??``})]}),h&&(0,o.jsx)(`span`,{className:r.default.description,children:h})]})});s.displayName=`FloatButton`,exports.FloatButton=s,exports.default=s;
|
|
@@ -31,7 +31,7 @@ export interface FloatButtonProps extends React.ButtonHTMLAttributes<HTMLButtonE
|
|
|
31
31
|
position?: "bottom-right" | "bottom-left" | "bottom-center" | "top-right" | "top-left" | "inline";
|
|
32
32
|
/** Description for tooltip */
|
|
33
33
|
description?: React.ReactNode;
|
|
34
|
-
/** Badge content (number or dot) */
|
|
34
|
+
/** Badge content (number or dot). A count of `0` (or less) hides the badge. */
|
|
35
35
|
badge?: number | boolean;
|
|
36
36
|
/** If true, the button will scroll to the top of the page when clicked */
|
|
37
37
|
backTop?: boolean;
|
|
@@ -21,17 +21,17 @@ var d = i.forwardRef(({ asChild: i = !1, iconName: d = "CircleIcon", variant: f,
|
|
|
21
21
|
top: 0,
|
|
22
22
|
behavior: "smooth"
|
|
23
23
|
}), T?.(e);
|
|
24
|
-
}, P = E || (typeof g == "string" ? g : void 0), F =
|
|
25
|
-
if (o(() => {}, [
|
|
26
|
-
let
|
|
27
|
-
return /* @__PURE__ */ u(
|
|
24
|
+
}, P = E || (typeof g == "string" ? g : void 0), F = typeof b == "number" && b > 0 ? b : void 0, I = b === !0 || F !== void 0, L = P && F !== void 0 ? `${P} ${F}` : P, R = !!L || !!g || !!D || !!O["aria-labelledby"] || typeof y == "string";
|
|
25
|
+
if (o(() => {}, [R]), !A && x) return null;
|
|
26
|
+
let z = i ? e : "button", B = v === "bottom-right" ? r.bottomRight : v === "bottom-left" ? r.bottomLeft : v === "bottom-center" ? r.bottomCenter : v === "top-right" ? r.topRight : v === "top-left" ? r.topLeft : r.inline;
|
|
27
|
+
return /* @__PURE__ */ u(z, {
|
|
28
28
|
ref: k,
|
|
29
29
|
type: i ? void 0 : "button",
|
|
30
|
-
className: c("wim-float-button", r.root, !f && r[p], f === "outline" && r.outline, f === "glass" && r.glass, p === "danger" && r.danger, p === "success" && r.success, r[m], r[h],
|
|
30
|
+
className: c("wim-float-button", r.root, !f && r[p], f === "outline" && r.outline, f === "glass" && r.glass, p === "danger" && r.danger, p === "success" && r.success, r[m], r[h], B, !!g && r.extended, !!_ && r.shrink, C),
|
|
31
31
|
style: w,
|
|
32
32
|
onClick: N,
|
|
33
33
|
title: typeof y == "string" ? y : void 0,
|
|
34
|
-
"aria-label":
|
|
34
|
+
"aria-label": L,
|
|
35
35
|
...O,
|
|
36
36
|
children: [
|
|
37
37
|
/* @__PURE__ */ l(t, { children: D }),
|
|
@@ -50,10 +50,10 @@ var d = i.forwardRef(({ asChild: i = !1, iconName: d = "CircleIcon", variant: f,
|
|
|
50
50
|
children: g
|
|
51
51
|
})
|
|
52
52
|
}),
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
F !== void 0 && " ",
|
|
54
|
+
I && /* @__PURE__ */ l("span", {
|
|
55
55
|
className: c(r.badge, b === !0 && r.dot),
|
|
56
|
-
children:
|
|
56
|
+
children: F ?? ""
|
|
57
57
|
})
|
|
58
58
|
]
|
|
59
59
|
}),
|
package/dist/llms-full.txt
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## What this is
|
|
6
6
|
|
|
7
|
-
**wimui** v0.64.
|
|
7
|
+
**wimui** v0.64.7 — a React 19 component library: 228 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
|
|
8
8
|
|
|
9
9
|
## Install & required setup
|
|
10
10
|
|
|
@@ -1249,7 +1249,7 @@ SCSS には誰も付けない `.default_intent` が「temporary name」のまま
|
|
|
1249
1249
|
- `shrink: boolean` = false — Whether to shrink the extended FAB (hide label)
|
|
1250
1250
|
- `position: "bottom-right" | "bottom-left" | "bottom-center" | "top-right" | "top-left" | "inline"` = "bottom-right" — Position of the button
|
|
1251
1251
|
- `description: React.ReactNode` — Description for tooltip
|
|
1252
|
-
- `badge: number | boolean` — Badge content (number or dot)
|
|
1252
|
+
- `badge: number | boolean` — Badge content (number or dot). A count of `0` (or less) hides the badge.
|
|
1253
1253
|
- `backTop: boolean` = false — If true, the button will scroll to the top of the page when clicked
|
|
1254
1254
|
- `visibilityHeight: number` = 400 — Visibility threshold for backTop (in pixels)
|
|
1255
1255
|
- `className: string` — Additional class names
|
package/dist/llms.txt
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## What this is
|
|
6
6
|
|
|
7
|
-
**wimui** v0.64.
|
|
7
|
+
**wimui** v0.64.7 — a React 19 component library: 228 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
|
|
8
8
|
|
|
9
9
|
## Install & required setup
|
|
10
10
|
|
package/dist/rhf/zod.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Re-export `@hookform/resolvers/zod` so apps can wire zod schemas without an extra import path.
|
|
3
|
-
* Requires optional peers: `zod` (^3.25 || ^4), `@hookform/resolvers` (^5.1), `react-hook-form` (^7.
|
|
3
|
+
* Requires optional peers: `zod` (^3.25 || ^4), `@hookform/resolvers` (^5.1 || ^6), `react-hook-form` (^7.55).
|
|
4
4
|
* See README「サポート行列(peer)」.
|
|
5
5
|
*/
|
|
6
6
|
export { zodResolver } from '@hookform/resolvers/zod';
|