@vnejs/uis.react.toggle 0.1.3 → 0.1.5

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/Toggle.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import "./Toggle.styl";
2
1
  export declare const Toggle: ({ isSelected, size, transition, className, isToggled, onToggle }: {
3
2
  isSelected?: boolean;
4
3
  size?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../src/Toggle.tsx"],"names":[],"mappings":"AAIA,OAAO,eAAe,CAAC;AAIvB,eAAO,MAAM,MAAM,GAAI;;;;;;;CAAgG,4CAsCtH,CAAC"}
1
+ {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../src/Toggle.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM,GAAI;;;;;;;CAAgG,4CAsCtH,CAAC"}
package/dist/Toggle.js CHANGED
@@ -1,8 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useCallback, useMemo } from "react";
3
- import { cn, getVneLength } from "@vnejs/uis.utils";
4
- import "./Toggle.styl";
5
- const b = cn("Toggle");
3
+ import { getVneLength } from "@vnejs/uis.utils";
4
+ import { b } from "./Toggle.styles.js";
6
5
  export const Toggle = ({ isSelected = false, size = 96, transition = 300, className = "", isToggled = false, onToggle }) => {
7
6
  const style = useMemo(() => {
8
7
  const result = {};
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.js","sourceRoot":"","sources":["../src/Toggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,eAAe,CAAC;AAEvB,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,GAAG,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,SAAS,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzH,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,UAAU;YAAE,MAAM,CAAC,UAAU,GAAG,GAAG,UAAU,IAAI,CAAC;QAEtD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,MAAM,MAAM,GAAwB,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAEtE,IAAI,UAAU;YAAE,MAAM,CAAC,UAAU,GAAG,GAAG,UAAU,IAAI,CAAC;QAEtD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5B,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnG,OAAO,CACL,cACE,SAAS,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EACpD,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,KAAK,qBACI,SAAS,YAEzB,cACE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EACtB,KAAK,EAAE,WAAW,GAClB,GACE,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Toggle.js","sourceRoot":"","sources":["../src/Toggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,GAAG,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,SAAS,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzH,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,UAAU;YAAE,MAAM,CAAC,UAAU,GAAG,GAAG,UAAU,IAAI,CAAC;QAEtD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,MAAM,MAAM,GAAwB,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAEtE,IAAI,UAAU;YAAE,MAAM,CAAC,UAAU,GAAG,GAAG,UAAU,IAAI,CAAC;QAEtD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5B,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnG,OAAO,CACL,cACE,SAAS,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EACpD,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,KAAK,qBACI,SAAS,YAEzB,cACE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EACtB,KAAK,EAAE,WAAW,GAClB,GACE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const b: (...args: any[]) => string;
2
+ //# sourceMappingURL=Toggle.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toggle.styles.d.ts","sourceRoot":"","sources":["../src/Toggle.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,CAAC,4BAAe,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { cn, getVneLength, injectStyles, sel } from "@vnejs/uis.utils";
2
+ export const b = cn("Toggle");
3
+ const CSS = `
4
+ ${sel(b())} {
5
+ position: relative;
6
+ --vne-toggle-color-untoggled: var(--vne-color-disabled, rgba(255, 255, 255, 30%));
7
+ --vne-toggle-color-toggled: var(--vne-color-primary, rgba(255, 255, 255, 60%));
8
+ --vne-toggle-color-button: var(--vne-color-active, rgba(255, 255, 255, 90%));
9
+ --vne-toggle-shadow-selected: var(--vne-shadow-selected, 0 0 ${getVneLength(24)} var(--vne-color-active, rgba(255, 255, 255, 90%)));
10
+ background: var(--vne-toggle-color-untoggled);
11
+ }
12
+
13
+ ${sel(b("button"))} {
14
+ position: absolute;
15
+ top: 0;
16
+ width: 50%;
17
+ height: 100%;
18
+ border-radius: 50%;
19
+ background: var(--vne-toggle-color-button);
20
+ }
21
+
22
+ ${sel(b())}[vne-cursor-target] {
23
+ opacity: 0.75;
24
+ }
25
+
26
+ ${sel(b({ isToggled: true }))} {
27
+ background: var(--vne-toggle-color-toggled);
28
+ }
29
+
30
+ ${sel(b({ isSelected: true }))} {
31
+ box-shadow: var(--vne-toggle-shadow-selected);
32
+ }
33
+ `;
34
+ injectStyles(CSS);
35
+ //# sourceMappingURL=Toggle.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toggle.styles.js","sourceRoot":"","sources":["../src/Toggle.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;AAE9B,MAAM,GAAG,GAAG;EACV,GAAG,CAAC,CAAC,EAAE,CAAC;;;;;iEAKuD,YAAY,CAAC,EAAE,CAAC;;;;EAI/E,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;;;;;;;;;EAShB,GAAG,CAAC,CAAC,EAAE,CAAC;;;;EAIR,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;;;;EAI3B,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;;;CAG7B,CAAC;AAEF,YAAY,CAAC,GAAG,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,31 +1,26 @@
1
1
  {
2
2
  "name": "@vnejs/uis.react.toggle",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
7
- "build": "node ../../../scripts/build-package.mjs",
8
- "publish:major:plugin": "npm run publish:major",
9
- "publish:minor:plugin": "npm run publish:minor",
10
- "publish:patch:plugin": "npm run publish:patch",
11
- "publish:major": "npm run build && npm version major && npm publish --access public",
12
- "publish:minor": "npm run build && npm version minor && npm publish --access public",
13
- "publish:patch": "npm run build && npm version patch && npm publish --access public"
7
+ "build": "npx @vnejs/monorepo package",
8
+ "publish:major:uis:react": "npm run publish:major",
9
+ "publish:minor:uis:react": "npm run publish:minor",
10
+ "publish:patch:uis:react": "npm run publish:patch",
11
+ "publish:major": "npx @vnejs/monorepo publish major --access public",
12
+ "publish:minor": "npx @vnejs/monorepo publish minor --access public",
13
+ "publish:patch": "npx @vnejs/monorepo publish patch --access public"
14
14
  },
15
15
  "peerDependencies": {
16
- "@bem-react/classname": "1.5.12",
17
- "@vnejs/uis.utils": "~0.1.0",
18
- "react": "19.2.4",
19
- "react-dom": "19.2.4"
16
+ "@vnejs/uis.utils": "~0.1.0"
20
17
  },
21
18
  "devDependencies": {
22
- "@vnejs/uis.react": "~0.1.0",
23
- "typescript": "^6.0.3",
24
- "@types/react": "^19.0.10",
25
- "@types/react-dom": "^19.0.4"
19
+ "@vnejs/uis.react": "~0.1.0"
26
20
  },
27
21
  "files": [
28
22
  "dist",
29
- "package.json"
23
+ "src",
24
+ "tsconfig.json"
30
25
  ]
31
26
  }
@@ -0,0 +1,46 @@
1
+ import { useMemo, useState } from "react";
2
+
3
+ import { renderWithVneWrap, VneWrap } from "@vnejs/uis.react";
4
+
5
+ import { Flex } from "@vnejs/uis.react";
6
+ import { Toggle } from "./Toggle";
7
+
8
+ export const Common = {
9
+ args: {
10
+ ...VneWrap.DEFAULT_ARGS,
11
+
12
+ isSelected: true,
13
+
14
+ size: 120,
15
+ transition: 300,
16
+ },
17
+ };
18
+
19
+ export default {
20
+ title: "Primitives/Toggle",
21
+ render: renderWithVneWrap(({ top, right, bottom, left, isUseTop, isUseRight, isUseBottom, isUseLeft, ...args }) => {
22
+ const [isOn, setIsOn] = useState(false);
23
+
24
+ return (
25
+ <Flex
26
+ align={Flex.ALIGN.CENTER}
27
+ justify={Flex.JUSTIFY.CENTER}
28
+ direction={Flex.DIRECTION.COLUMN}
29
+ height={2160}
30
+ >
31
+ <Toggle
32
+ {...args}
33
+ isToggled={isOn}
34
+ onToggle={() => setIsOn(!isOn)}
35
+ />
36
+ </Flex>
37
+ );
38
+ }),
39
+ argTypes: {
40
+ // engine
41
+ ...VneWrap.ARGS,
42
+
43
+ size: { control: { type: "number", min: 36, max: 360, step: 12 } },
44
+ transition: { control: { type: "number", min: 0, max: 500, step: 50 } },
45
+ },
46
+ };
@@ -0,0 +1,37 @@
1
+ import { cn, getVneLength, injectStyles, sel } from "@vnejs/uis.utils";
2
+
3
+ export const b = cn("Toggle");
4
+
5
+ const CSS = `
6
+ ${sel(b())} {
7
+ position: relative;
8
+ --vne-toggle-color-untoggled: var(--vne-color-disabled, rgba(255, 255, 255, 30%));
9
+ --vne-toggle-color-toggled: var(--vne-color-primary, rgba(255, 255, 255, 60%));
10
+ --vne-toggle-color-button: var(--vne-color-active, rgba(255, 255, 255, 90%));
11
+ --vne-toggle-shadow-selected: var(--vne-shadow-selected, 0 0 ${getVneLength(24)} var(--vne-color-active, rgba(255, 255, 255, 90%)));
12
+ background: var(--vne-toggle-color-untoggled);
13
+ }
14
+
15
+ ${sel(b("button"))} {
16
+ position: absolute;
17
+ top: 0;
18
+ width: 50%;
19
+ height: 100%;
20
+ border-radius: 50%;
21
+ background: var(--vne-toggle-color-button);
22
+ }
23
+
24
+ ${sel(b())}[vne-cursor-target] {
25
+ opacity: 0.75;
26
+ }
27
+
28
+ ${sel(b({ isToggled: true }))} {
29
+ background: var(--vne-toggle-color-toggled);
30
+ }
31
+
32
+ ${sel(b({ isSelected: true }))} {
33
+ box-shadow: var(--vne-toggle-shadow-selected);
34
+ }
35
+ `;
36
+
37
+ injectStyles(CSS);
package/src/Toggle.tsx ADDED
@@ -0,0 +1,45 @@
1
+ import { useCallback, useMemo } from "react";
2
+
3
+ import { getVneLength } from "@vnejs/uis.utils";
4
+
5
+ import { b } from "./Toggle.styles.js";
6
+
7
+ export const Toggle = ({ isSelected = false, size = 96, transition = 300, className = "", isToggled = false, onToggle }) => {
8
+ const style = useMemo(() => {
9
+ const result: Record<string, any> = {};
10
+
11
+ if (size) {
12
+ result.width = getVneLength(2 * size);
13
+ result.height = getVneLength(size);
14
+ result.borderRadius = getVneLength(0.5 * size);
15
+ }
16
+
17
+ if (transition) result.transition = `${transition}ms`;
18
+
19
+ return result;
20
+ }, [size, transition]);
21
+
22
+ const styleButton = useMemo(() => {
23
+ const result: Record<string, any> = { left: isToggled ? "50%" : "0" };
24
+
25
+ if (transition) result.transition = `${transition}ms`;
26
+
27
+ return result;
28
+ }, [isToggled, transition]);
29
+
30
+ const onToggleHandler = useCallback(() => onToggle && onToggle(!isToggled), [isToggled, onToggle]);
31
+
32
+ return (
33
+ <div
34
+ className={b({ isSelected, isToggled }, [className])}
35
+ onClick={onToggleHandler}
36
+ style={style}
37
+ vne-cursor-type="pointer"
38
+ >
39
+ <div
40
+ className={b("button")}
41
+ style={styleButton}
42
+ />
43
+ </div>
44
+ );
45
+ };
package/src/index.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./Toggle";
package/tsconfig.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "extends": "../../../tsconfig.react.base.json",
3
+ "compilerOptions": {
4
+ "outDir": "dist",
5
+ "rootDir": "src"
6
+ },
7
+ "include": [
8
+ "src/**/*.ts",
9
+ "src/**/*.tsx",
10
+ "../../../globals.d.ts",
11
+ "../../../peer-modules.d.ts"
12
+ ],
13
+ "exclude": [
14
+ "dist",
15
+ "node_modules",
16
+ "src/**/*.stories.tsx"
17
+ ]
18
+ }
package/dist/Toggle.styl DELETED
@@ -1,27 +0,0 @@
1
- .Toggle
2
- position: relative
3
-
4
- --vne-toggle-color-untoggled: var(--vne-color-disabled, rgba(255, 255, 255, 30%))
5
- --vne-toggle-color-toggled: var(--vne-color-primary, rgba(255, 255, 255, 60%))
6
- --vne-toggle-color-button: var(--vne-color-active, rgba(255, 255, 255, 90%))
7
-
8
- --vne-toggle-shadow-selected: var(--vne-shadow-selected, 0 0 s('round(down, min(calc(24 * 100vw / 3840), calc(24 * 100vh / 2160)), 1px)') var(--vne-color-active, rgba(255, 255, 255, 90%)))
9
-
10
- background: var(--vne-toggle-color-untoggled)
11
-
12
- &-button
13
- position: absolute
14
- top: 0
15
- width: 50%
16
- height: 100%
17
- border-radius: 50%
18
- background: var(--vne-toggle-color-button)
19
-
20
- &[vne-cursor-target]
21
- opacity: 0.75
22
-
23
- &_isToggled
24
- background: var(--vne-toggle-color-toggled)
25
-
26
- &_isSelected
27
- box-shadow: var(--vne-toggle-shadow-selected)