@levo-so/blocks 0.1.116 → 0.2.2
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/package.json +10 -10
- package/src/blocks/navbar/navbar-1.tsx +1 -1
- package/src/blocks/navbar/navbar-3.tsx +1 -1
- package/src/blocks/navbar/navbar-4.tsx +1 -1
- package/src/blocks/polling/polling-1.tsx +3 -1
- package/src/blocks/users/edit-profile.tsx +4 -1
- package/src/components/Spinner.tsx +10 -0
- package/src/utils/cn.ts +14 -0
- package/src/constants/index.ts +0 -16
package/package.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@levo-so/blocks",
|
|
3
3
|
"description": "Set of blocks for Levo studio",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.2.2",
|
|
5
5
|
"author": "Levo Engineering <devs@theinternetfolks.com>",
|
|
6
6
|
"dependencies": {
|
|
7
|
+
"clsx": "2.1.1",
|
|
7
8
|
"dayjs": "1.11.13",
|
|
8
|
-
"embla-carousel-auto-scroll": "8.6.0",
|
|
9
|
-
"embla-carousel-react": "8.6.0",
|
|
10
9
|
"lucide-react": "0.575.0",
|
|
10
|
+
"tailwind-merge": "2.4.0",
|
|
11
11
|
"use-debounce": "10.0.2"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
14
14
|
"@types/react": "19.2.14",
|
|
15
15
|
"@types/react-dom": "19.2.3",
|
|
16
16
|
"typescript": "5.9.3",
|
|
17
|
-
"@levo-so/core": "0.1
|
|
18
|
-
"@levo-so/
|
|
19
|
-
"@levo/
|
|
20
|
-
"@levo-
|
|
17
|
+
"@levo-so/core": "0.2.1",
|
|
18
|
+
"@levo-so/studio": "0.2.2",
|
|
19
|
+
"@levo-so/react": "0.2.1",
|
|
20
|
+
"@levo/ts-config": "0.0.0"
|
|
21
21
|
},
|
|
22
22
|
"exports": {
|
|
23
23
|
".": "./src/index.ts"
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"react": ">=18",
|
|
32
32
|
"react-dom": ">=18",
|
|
33
|
-
"@levo-so/
|
|
34
|
-
"@levo-so/
|
|
35
|
-
"@levo-so/
|
|
33
|
+
"@levo-so/react": "0.2.1",
|
|
34
|
+
"@levo-so/studio": "0.2.2",
|
|
35
|
+
"@levo-so/core": "0.2.1"
|
|
36
36
|
},
|
|
37
37
|
"publishConfig": {
|
|
38
38
|
"access": "public"
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { cn } from "@levo-so/react";
|
|
4
3
|
import type { ILevoBlockBaseProps } from "@levo-so/studio";
|
|
5
4
|
import {
|
|
6
5
|
Box,
|
|
@@ -19,6 +18,7 @@ import {
|
|
|
19
18
|
import { ChevronDown, Menu, X } from "lucide-react";
|
|
20
19
|
import React, { useEffect, useState } from "react";
|
|
21
20
|
|
|
21
|
+
import { cn } from "../../utils/cn";
|
|
22
22
|
import type { INavbar1Content } from "./navbar-1.schema";
|
|
23
23
|
|
|
24
24
|
const DropdownNavigationItem: React.FC<{
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { cn } from "@levo-so/react";
|
|
2
1
|
import type { ILevoBlockBaseProps } from "@levo-so/studio";
|
|
3
2
|
import {
|
|
4
3
|
Box,
|
|
@@ -18,6 +17,7 @@ import { ChevronDown, ChevronRight, Menu, X } from "lucide-react";
|
|
|
18
17
|
import React, { useEffect, useState } from "react";
|
|
19
18
|
|
|
20
19
|
import { toArray } from "../../utils/array";
|
|
20
|
+
import { cn } from "../../utils/cn";
|
|
21
21
|
import type { INavbar3Content } from "./navbar-3.schema";
|
|
22
22
|
|
|
23
23
|
const NestedDropdownItem: React.FC<{
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { cn } from "@levo-so/react";
|
|
2
1
|
import type { ILevoBlockBaseProps } from "@levo-so/studio";
|
|
3
2
|
import {
|
|
4
3
|
Box,
|
|
@@ -17,6 +16,7 @@ import {
|
|
|
17
16
|
import { ChevronDown, ChevronRight, Menu, X } from "lucide-react";
|
|
18
17
|
import React, { useEffect, useState } from "react";
|
|
19
18
|
|
|
19
|
+
import { cn } from "../../utils/cn";
|
|
20
20
|
import type { INavbar3Content } from "./navbar-3.schema";
|
|
21
21
|
|
|
22
22
|
const NestedDropdownItem: React.FC<{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { errorToast, successToast, useLevo } from "@levo-so/react";
|
|
2
2
|
import {
|
|
3
3
|
Box,
|
|
4
4
|
Container,
|
|
@@ -12,6 +12,8 @@ import {
|
|
|
12
12
|
import { CircleCheckBig, LoaderCircle } from "lucide-react";
|
|
13
13
|
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
14
14
|
|
|
15
|
+
import { Spinner } from "../../components/Spinner";
|
|
16
|
+
import { cn } from "../../utils/cn";
|
|
15
17
|
import type { IPolling1Content } from "./polling-1.schema";
|
|
16
18
|
|
|
17
19
|
const POLLS_RESPONSE_SAMPLE = {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Loader2 } from "lucide-react";
|
|
2
|
+
|
|
3
|
+
import { cn } from "../utils/cn";
|
|
4
|
+
|
|
5
|
+
/** Indeterminate loading spinner. */
|
|
6
|
+
export const Spinner = ({ className }: { className?: string }) => (
|
|
7
|
+
<Loader2 className={cn("h-8 w-8 animate-spin font-light", className)} />
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
export default Spinner;
|
package/src/utils/cn.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ClassValue, clsx } from "clsx";
|
|
2
|
+
import { twMerge } from "tailwind-merge";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Merge conditional class names, de-duplicating conflicting Tailwind utilities.
|
|
6
|
+
* Inlined here (rather than importing `@levo/utils/cn`) because `@levo-so/blocks`
|
|
7
|
+
* publishes to npm as raw source — a `@levo/utils` dependency is private and
|
|
8
|
+
* unpublished, so consumers hit ERR_PNPM_FETCH_404 resolving it.
|
|
9
|
+
*/
|
|
10
|
+
export const cn = (...inputs: ClassValue[]) => {
|
|
11
|
+
return twMerge(clsx(inputs));
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export default cn;
|
package/src/constants/index.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export const LEVO_DEFAULT_BLUE_IMAGE = {
|
|
2
|
-
id: "7141014160938075687",
|
|
3
|
-
location: "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH.png",
|
|
4
|
-
kind: "image",
|
|
5
|
-
mimetype: "image/png",
|
|
6
|
-
srcset: {
|
|
7
|
-
"1080w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp",
|
|
8
|
-
"1200w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp",
|
|
9
|
-
"1920w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp",
|
|
10
|
-
"320w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
|
|
11
|
-
"640w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
|
|
12
|
-
"750w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp",
|
|
13
|
-
"828w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp",
|
|
14
|
-
path: "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp 640w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp 1080w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp 1200w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp 1920w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp 320w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp 750w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp 828w",
|
|
15
|
-
},
|
|
16
|
-
};
|