@kadoui/react 1.10.15 → 1.11.15

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.
@@ -0,0 +1,6 @@
1
+ import { ChoiceRoot } from "./ChoiceRoot";
2
+ import { ChoiceTrigger } from "./ChoiceTrigger";
3
+ export declare const Choice: typeof ChoiceRoot & {
4
+ Trigger: typeof ChoiceTrigger;
5
+ };
6
+ //# sourceMappingURL=Choice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Choice.d.ts","sourceRoot":"","sources":["../../../src/components/Choice/Choice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,eAAO,MAAM,MAAM;;CAEjB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { ChoiceRoot } from "./ChoiceRoot";
2
+ import { ChoiceTrigger } from "./ChoiceTrigger";
3
+ export const Choice = Object.assign(ChoiceRoot, {
4
+ Trigger: ChoiceTrigger,
5
+ });
@@ -0,0 +1,18 @@
1
+ import { Dispatch, SetStateAction } from "react";
2
+ type MultiModeT = {
3
+ multiple: true;
4
+ activeChoice: string[];
5
+ setActiveChoice: Dispatch<SetStateAction<string[]>>;
6
+ };
7
+ type SingleModeT = {
8
+ multiple?: false;
9
+ activeChoice: string | null;
10
+ setActiveChoice: Dispatch<SetStateAction<string | null>>;
11
+ };
12
+ type MergedModeT = SingleModeT | MultiModeT;
13
+ export type ChoiceContextT = MergedModeT & {
14
+ requiredOne?: boolean;
15
+ };
16
+ export declare const ChoiceContext: import("react").Context<ChoiceContextT>;
17
+ export {};
18
+ //# sourceMappingURL=ChoiceContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChoiceContext.d.ts","sourceRoot":"","sources":["../../../src/components/Choice/ChoiceContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEhE,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CACrD,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,KAAK,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;AAE5C,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,aAAa,yCAAsD,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import { createContext } from "react";
3
+ export const ChoiceContext = createContext({});
@@ -0,0 +1,6 @@
1
+ import { ComponentProps } from "react";
2
+ import { ChoiceContextT } from "./ChoiceContext";
3
+ type ChoiceRootPropsT = ComponentProps<"div"> & ChoiceContextT;
4
+ export declare function ChoiceRoot({ multiple, activeChoice, setActiveChoice, requiredOne, ...p }: ChoiceRootPropsT): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=ChoiceRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChoiceRoot.d.ts","sourceRoot":"","sources":["../../../src/components/Choice/ChoiceRoot.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAiB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEhE,KAAK,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC;AAE/D,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,WAAW,EACX,GAAG,CAAC,EACL,EAAE,gBAAgB,2CAOlB"}
@@ -0,0 +1,6 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { ChoiceContext } from "./ChoiceContext";
4
+ export function ChoiceRoot({ multiple, activeChoice, setActiveChoice, requiredOne, ...p }) {
5
+ return (_jsx(ChoiceContext, { value: { multiple, activeChoice, setActiveChoice, requiredOne }, children: _jsx("div", { ...p }) }));
6
+ }
@@ -0,0 +1,7 @@
1
+ import { ComponentProps } from "react";
2
+ type ChoiceTriggerPropsT = ComponentProps<"button"> & {
3
+ choiceName: string;
4
+ };
5
+ export declare function ChoiceTrigger({ choiceName, onClick, ...p }: ChoiceTriggerPropsT): import("react/jsx-runtime").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=ChoiceTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChoiceTrigger.d.ts","sourceRoot":"","sources":["../../../src/components/Choice/ChoiceTrigger.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAO,MAAM,OAAO,CAAC;AAI5C,KAAK,mBAAmB,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG;IACpD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,OAAO,EACP,GAAG,CAAC,EACL,EAAE,mBAAmB,2CAiCrB"}
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { use } from "react";
4
+ import { ChoiceContext } from "./ChoiceContext";
5
+ export function ChoiceTrigger({ choiceName, onClick, ...p }) {
6
+ const { multiple, activeChoice, setActiveChoice, requiredOne } = use(ChoiceContext);
7
+ const isActive = multiple
8
+ ? activeChoice.includes(choiceName)
9
+ : activeChoice === choiceName;
10
+ return (_jsx("button", { "data-state": isActive, onClick: (ev) => {
11
+ onClick?.(ev);
12
+ if (isActive) {
13
+ if (multiple) {
14
+ if (!requiredOne || activeChoice.length > 1) {
15
+ setActiveChoice((prev) => prev.filter((item) => item !== choiceName));
16
+ }
17
+ }
18
+ else {
19
+ if (!requiredOne) {
20
+ setActiveChoice(null);
21
+ }
22
+ }
23
+ }
24
+ else {
25
+ if (multiple) {
26
+ setActiveChoice((prev) => [...prev, choiceName]);
27
+ }
28
+ else {
29
+ setActiveChoice(choiceName);
30
+ }
31
+ }
32
+ }, ...p }));
33
+ }
@@ -0,0 +1,6 @@
1
+ import { ToggleRoot } from "./ToggleRoot";
2
+ import { ToggleTrigger } from "./ToggleTrigger";
3
+ export declare const Toggle: typeof ToggleRoot & {
4
+ Trigger: typeof ToggleTrigger;
5
+ };
6
+ //# sourceMappingURL=Toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../src/components/Toggle/Toggle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,eAAO,MAAM,MAAM;;CAEjB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { ToggleRoot } from "./ToggleRoot";
2
+ import { ToggleTrigger } from "./ToggleTrigger";
3
+ export const Toggle = Object.assign(ToggleRoot, {
4
+ Trigger: ToggleTrigger,
5
+ });
@@ -0,0 +1,18 @@
1
+ import { Dispatch, SetStateAction } from "react";
2
+ type MultiModeT = {
3
+ multiple: true;
4
+ activeToggle: string[];
5
+ setActiveToggle: Dispatch<SetStateAction<string[]>>;
6
+ };
7
+ type SingleModeT = {
8
+ multiple?: false;
9
+ activeToggle: string | null;
10
+ setActiveToggle: Dispatch<SetStateAction<string | null>>;
11
+ };
12
+ type MergedModeT = SingleModeT | MultiModeT;
13
+ export type ToggleContextT = MergedModeT & {
14
+ requiredOne?: boolean;
15
+ };
16
+ export declare const ToggleContext: import("react").Context<ToggleContextT>;
17
+ export {};
18
+ //# sourceMappingURL=ToggleContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleContext.d.ts","sourceRoot":"","sources":["../../../src/components/Toggle/ToggleContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEhE,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CACrD,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,KAAK,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;AAE5C,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,aAAa,yCAAsD,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import { createContext } from "react";
3
+ export const ToggleContext = createContext({});
@@ -0,0 +1,6 @@
1
+ import { ComponentProps } from "react";
2
+ import { ToggleContextT } from "./ToggleContext";
3
+ type ToggleRootPropsT = ComponentProps<"div"> & ToggleContextT;
4
+ export declare function ToggleRoot({ multiple, activeToggle, setActiveToggle, requiredOne, ...p }: ToggleRootPropsT): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=ToggleRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleRoot.d.ts","sourceRoot":"","sources":["../../../src/components/Toggle/ToggleRoot.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAiB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEhE,KAAK,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC;AAE/D,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,WAAW,EACX,GAAG,CAAC,EACL,EAAE,gBAAgB,2CAOlB"}
@@ -0,0 +1,6 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { ToggleContext } from "./ToggleContext";
4
+ export function ToggleRoot({ multiple, activeToggle, setActiveToggle, requiredOne, ...p }) {
5
+ return (_jsx(ToggleContext, { value: { multiple, activeToggle, setActiveToggle, requiredOne }, children: _jsx("div", { ...p }) }));
6
+ }
@@ -0,0 +1,7 @@
1
+ import { ComponentProps } from "react";
2
+ type ToggleTriggerPropsT = ComponentProps<"button"> & {
3
+ toggleName: string;
4
+ };
5
+ export declare function ToggleTrigger({ toggleName, onClick, ...p }: ToggleTriggerPropsT): import("react/jsx-runtime").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=ToggleTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleTrigger.d.ts","sourceRoot":"","sources":["../../../src/components/Toggle/ToggleTrigger.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAO,MAAM,OAAO,CAAC;AAI5C,KAAK,mBAAmB,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG;IACpD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,OAAO,EACP,GAAG,CAAC,EACL,EAAE,mBAAmB,2CAiCrB"}
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { use } from "react";
4
+ import { ToggleContext } from "./ToggleContext";
5
+ export function ToggleTrigger({ toggleName, onClick, ...p }) {
6
+ const { multiple, activeToggle, setActiveToggle, requiredOne } = use(ToggleContext);
7
+ const isActive = multiple
8
+ ? activeToggle.includes(toggleName)
9
+ : activeToggle === toggleName;
10
+ return (_jsx("button", { "data-state": isActive, onClick: (ev) => {
11
+ onClick?.(ev);
12
+ if (isActive) {
13
+ if (multiple) {
14
+ if (!requiredOne || activeToggle.length > 1) {
15
+ setActiveToggle((prev) => prev.filter((item) => item !== toggleName));
16
+ }
17
+ }
18
+ else {
19
+ if (!requiredOne) {
20
+ setActiveToggle(null);
21
+ }
22
+ }
23
+ }
24
+ else {
25
+ if (multiple) {
26
+ setActiveToggle((prev) => [...prev, toggleName]);
27
+ }
28
+ else {
29
+ setActiveToggle(toggleName);
30
+ }
31
+ }
32
+ }, ...p }));
33
+ }
package/dist/index.d.ts CHANGED
@@ -22,6 +22,7 @@ export * from "./components/ShowMore/ShowMore";
22
22
  export * from "./components/Spoiler/Spoiler";
23
23
  export * from "./components/Swap/Swap";
24
24
  export * from "./components/Tabs/Tabs";
25
+ export * from "./components/Choice/Choice";
25
26
  export * from "./components/Submit/Submit";
26
27
  export * from "./components/LinkLoader/LinkLoader";
27
28
  export * from "./components/ThemeAdapter/ThemeAdapter";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC"}
package/dist/index.js CHANGED
@@ -22,6 +22,7 @@ export * from "./components/ShowMore/ShowMore";
22
22
  export * from "./components/Spoiler/Spoiler";
23
23
  export * from "./components/Swap/Swap";
24
24
  export * from "./components/Tabs/Tabs";
25
+ export * from "./components/Choice/Choice";
25
26
  export * from "./components/Submit/Submit";
26
27
  export * from "./components/LinkLoader/LinkLoader";
27
28
  export * from "./components/ThemeAdapter/ThemeAdapter";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kadoui/react",
3
- "version": "1.10.15",
3
+ "version": "1.11.15",
4
4
  "description": "Kadoui primitive components for React",
5
5
  "author": "FarzadVav",
6
6
  "license": "MIT",