@sikka/hawa 0.1.94 → 0.1.96
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/bun.lockb +0 -0
- package/dist/index.d.mts +8 -5
- package/dist/index.d.ts +8 -5
- package/dist/index.js +688 -716
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +195 -195
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +10 -1
- package/package.json +3 -3
- package/src/blocks/AuthForms/AppLanding.tsx +1 -4
- package/src/blocks/AuthForms/NewPasswordForm.tsx +3 -1
- package/src/elements/DropdownMenu.tsx +106 -58
- package/src/elements/FloatingCommentExec.tsx +14 -3
- package/src/elements/HawaRadio.tsx +3 -2
- package/src/elements/HawaSelect.tsx +8 -6
- package/src/elements/HawaStats.tsx +6 -0
- package/src/elements/HawaTable.tsx +5 -51
- package/src/elements/HawaTextField.tsx +1 -1
- package/src/elements/Icons.tsx +4 -1
- package/src/layout/AppLayout.tsx +4 -2
- package/src/styles.css +10 -1
- package/src/tailwind.css +1 -1
- package/_config.yml +0 -1
package/dist/styles.css
CHANGED
|
@@ -422,7 +422,7 @@ video {
|
|
|
422
422
|
--border: 240 5.9% 90%;
|
|
423
423
|
--input: 240 5.9% 90%;
|
|
424
424
|
--ring: 240 5% 64.9%;
|
|
425
|
-
--radius:
|
|
425
|
+
--radius: 1rem;
|
|
426
426
|
--radius-inner: calc(var(--radius) - calc(var(--radius) / 3));
|
|
427
427
|
|
|
428
428
|
--layout-primary-700: #b7aff7;
|
|
@@ -1194,6 +1194,9 @@ video {
|
|
|
1194
1194
|
.h-\[400px\] {
|
|
1195
1195
|
height: 400px;
|
|
1196
1196
|
}
|
|
1197
|
+
.h-\[80px\] {
|
|
1198
|
+
height: 80px;
|
|
1199
|
+
}
|
|
1197
1200
|
.h-\[calc\(100\%-3\.5rem\)\] {
|
|
1198
1201
|
height: calc(100% - 3.5rem);
|
|
1199
1202
|
}
|
|
@@ -2489,6 +2492,9 @@ video {
|
|
|
2489
2492
|
font-size: 3.75rem;
|
|
2490
2493
|
line-height: 1;
|
|
2491
2494
|
}
|
|
2495
|
+
.text-\[0\.70rem\] {
|
|
2496
|
+
font-size: 0.70rem;
|
|
2497
|
+
}
|
|
2492
2498
|
.text-\[0\.75rem\] {
|
|
2493
2499
|
font-size: 0.75rem;
|
|
2494
2500
|
}
|
|
@@ -3316,6 +3322,9 @@ body {
|
|
|
3316
3322
|
.focus\:bg-accent:focus {
|
|
3317
3323
|
background-color: hsl(var(--accent));
|
|
3318
3324
|
}
|
|
3325
|
+
.focus\:bg-transparent:focus {
|
|
3326
|
+
background-color: transparent;
|
|
3327
|
+
}
|
|
3319
3328
|
.focus\:text-accent-foreground:focus {
|
|
3320
3329
|
color: hsl(var(--accent-foreground));
|
|
3321
3330
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sikka/hawa",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.96",
|
|
4
4
|
"description": "Modern UI Kit made with Tailwind & Radix Primitives",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -48,9 +48,9 @@
|
|
|
48
48
|
"@storybook/addon-actions": "^6.5.8",
|
|
49
49
|
"@storybook/addon-docs": "^6.5.8",
|
|
50
50
|
"@storybook/addon-essentials": "^6.5.8",
|
|
51
|
+
"@storybook/addon-info": "^5.3.21",
|
|
51
52
|
"@storybook/addon-links": "^6.5.8",
|
|
52
53
|
"@storybook/addon-postcss": "^2.0.0",
|
|
53
|
-
"@storybook/addon-info": "^5.3.21",
|
|
54
54
|
"@storybook/addons": "^6.5.8",
|
|
55
55
|
"@storybook/api": "^7.3.2",
|
|
56
56
|
"@storybook/builder-webpack5": "^6.5.13",
|
|
@@ -76,6 +76,7 @@
|
|
|
76
76
|
"react-dom": "^18.2.0",
|
|
77
77
|
"react-phone-input-2": "^2.15.1",
|
|
78
78
|
"react-transition-group": "^4.4.2",
|
|
79
|
+
"recharts": "^2.8.0",
|
|
79
80
|
"rollup": "^2.38.4",
|
|
80
81
|
"rollup-plugin-cleaner": "^1.0.0",
|
|
81
82
|
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
@@ -92,7 +93,6 @@
|
|
|
92
93
|
"typescript": "^4.8.4",
|
|
93
94
|
"webpack": "^5.75.0"
|
|
94
95
|
},
|
|
95
|
-
|
|
96
96
|
"resolutions": {
|
|
97
97
|
"@storybook/react-docgen-typescript-plugin": "npm:react-docgen-typescript-plugin@1.0.2",
|
|
98
98
|
"@storybook/react/webpack": "^5",
|
|
@@ -6,9 +6,6 @@ import { Icons } from "../../elements/Icons"
|
|
|
6
6
|
|
|
7
7
|
type AppLandingTypes = {
|
|
8
8
|
texts?: {
|
|
9
|
-
signIn: string
|
|
10
|
-
signUp: string
|
|
11
|
-
lang: string
|
|
12
9
|
newUserText?: string
|
|
13
10
|
createAccount?: string
|
|
14
11
|
continueWithGoogle?: string
|
|
@@ -122,7 +119,7 @@ export const AppLanding: FC<AppLandingTypes> = (props) => {
|
|
|
122
119
|
|
|
123
120
|
{!props.withoutSignUp && (
|
|
124
121
|
<div className="p-3 text-center text-sm font-normal dark:text-gray-300">
|
|
125
|
-
{props.texts.newUserText}
|
|
122
|
+
{props.texts.newUserText}
|
|
126
123
|
<span
|
|
127
124
|
onClick={props.handleRouteToSignUp}
|
|
128
125
|
className="clickable-link"
|
|
@@ -13,6 +13,8 @@ import { Button } from "../../elements/Button"
|
|
|
13
13
|
|
|
14
14
|
type NewPasswordTypes = {
|
|
15
15
|
handleNewPassword: () => void
|
|
16
|
+
direction?: "rtl" | "ltr"
|
|
17
|
+
|
|
16
18
|
passwordChanged: any
|
|
17
19
|
texts: {
|
|
18
20
|
passwordPlaceholder: string
|
|
@@ -45,7 +47,7 @@ export const NewPasswordForm: FC<NewPasswordTypes> = (props) => {
|
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
return (
|
|
48
|
-
<Card>
|
|
50
|
+
<Card dir={props.direction}>
|
|
49
51
|
{matchError && (
|
|
50
52
|
<HawaAlert text={props.texts.passwordMatchError} severity="error" />
|
|
51
53
|
)}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from "react"
|
|
2
2
|
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"
|
|
3
|
-
|
|
3
|
+
import { cva, type VariantProps } from "class-variance-authority"
|
|
4
4
|
import { cn } from "../util"
|
|
5
5
|
|
|
6
6
|
const DropdownMenuRoot = DropdownMenuPrimitive.Root
|
|
@@ -19,7 +19,7 @@ const DropdownMenuSubTrigger = React.forwardRef<
|
|
|
19
19
|
<DropdownMenuPrimitive.SubTrigger
|
|
20
20
|
ref={ref}
|
|
21
21
|
className={cn(
|
|
22
|
-
"flex cursor-default select-none items-center justify-between rounded-sm px-2 py-
|
|
22
|
+
"flex cursor-default select-none items-center justify-between rounded-sm px-2 py-3 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",
|
|
23
23
|
inset && "pl-8",
|
|
24
24
|
className
|
|
25
25
|
)}
|
|
@@ -92,13 +92,13 @@ const DropdownMenuItem = React.forwardRef<
|
|
|
92
92
|
disabled={props.disabled}
|
|
93
93
|
ref={ref}
|
|
94
94
|
className={cn(
|
|
95
|
-
"relative flex cursor-pointer select-none items-center justify-between rounded-sm
|
|
95
|
+
"relative flex cursor-pointer select-none items-center justify-between rounded-sm text-sm outline-none transition-colors focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
96
96
|
inset && "pl-8",
|
|
97
97
|
className
|
|
98
98
|
)}
|
|
99
99
|
{...props}
|
|
100
100
|
>
|
|
101
|
-
<div className="flex flex-row items-center gap-2">{props.children}</div>
|
|
101
|
+
<div className="flex flex-row items-center gap-2 ">{props.children}</div>
|
|
102
102
|
|
|
103
103
|
{props.end && props.end}
|
|
104
104
|
</DropdownMenuPrimitive.Item>
|
|
@@ -241,13 +241,13 @@ export type SubItem = {
|
|
|
241
241
|
highlighted?: boolean
|
|
242
242
|
disabled?: boolean
|
|
243
243
|
}
|
|
244
|
-
|
|
245
244
|
export type MenuItemType = {
|
|
246
245
|
icon?: any
|
|
247
|
-
label
|
|
248
|
-
value
|
|
246
|
+
label?: string
|
|
247
|
+
value?: string
|
|
249
248
|
end?: any
|
|
250
249
|
presist?: boolean
|
|
250
|
+
type?: "separator" | "label"
|
|
251
251
|
action?: () => void
|
|
252
252
|
highlighted?: boolean
|
|
253
253
|
subitems?: SubItem[] // Note the use of the optional modifier
|
|
@@ -265,8 +265,29 @@ interface DropdownMenuProps {
|
|
|
265
265
|
align?: ExtendedDropdownMenuContentProps["align"]
|
|
266
266
|
alignOffset?: ExtendedDropdownMenuContentProps["alignOffset"]
|
|
267
267
|
width?: "default" | "sm" | "lg" | "parent"
|
|
268
|
+
size?: "default" | "sm"
|
|
268
269
|
selectCallback?: any
|
|
269
270
|
}
|
|
271
|
+
|
|
272
|
+
// const dropDownMenuVariants = cva(
|
|
273
|
+
// "inline-flex items-center justify-center select-none rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
|
|
274
|
+
// {
|
|
275
|
+
// variants: {
|
|
276
|
+
// width: {
|
|
277
|
+
// default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
278
|
+
// },
|
|
279
|
+
// size: {
|
|
280
|
+
// default: "h-10 px-4 py-2",
|
|
281
|
+
// sm: "h-9 rounded-md px-3",
|
|
282
|
+
// },
|
|
283
|
+
// },
|
|
284
|
+
// defaultVariants: {
|
|
285
|
+
// width: "default",
|
|
286
|
+
// size: "default",
|
|
287
|
+
// },
|
|
288
|
+
// }
|
|
289
|
+
// )
|
|
290
|
+
|
|
270
291
|
export const DropdownMenu: React.FC<DropdownMenuProps> = ({
|
|
271
292
|
trigger,
|
|
272
293
|
items,
|
|
@@ -279,6 +300,7 @@ export const DropdownMenu: React.FC<DropdownMenuProps> = ({
|
|
|
279
300
|
align,
|
|
280
301
|
alignOffset,
|
|
281
302
|
selectCallback,
|
|
303
|
+
size = "default",
|
|
282
304
|
width = "default",
|
|
283
305
|
}) => {
|
|
284
306
|
const widthStyles = {
|
|
@@ -287,6 +309,10 @@ export const DropdownMenu: React.FC<DropdownMenuProps> = ({
|
|
|
287
309
|
lg: "w-[200px]",
|
|
288
310
|
parent: "ddm-w-parent",
|
|
289
311
|
}
|
|
312
|
+
const sizeStyles = {
|
|
313
|
+
default: "px-2 py-3 ",
|
|
314
|
+
sm: "text-xs px-1.5 py-1.5",
|
|
315
|
+
}
|
|
290
316
|
return (
|
|
291
317
|
<DropdownMenuRoot dir={direction}>
|
|
292
318
|
<DropdownMenuTrigger className={triggerClassname}>
|
|
@@ -301,59 +327,81 @@ export const DropdownMenu: React.FC<DropdownMenuProps> = ({
|
|
|
301
327
|
alignOffset={alignOffset}
|
|
302
328
|
>
|
|
303
329
|
{items.map((item, index) => {
|
|
304
|
-
|
|
305
|
-
<
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
<
|
|
311
|
-
<
|
|
312
|
-
{
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
330
|
+
if (item.type === "separator") {
|
|
331
|
+
return <DropdownMenuSeparator />
|
|
332
|
+
} else if (item.type === "label") {
|
|
333
|
+
return <DropdownMenuLabel>{item.label}</DropdownMenuLabel>
|
|
334
|
+
} else {
|
|
335
|
+
return item.subitems ? (
|
|
336
|
+
<DropdownMenuSub key={index}>
|
|
337
|
+
<DropdownMenuSubTrigger
|
|
338
|
+
className={cn(sizeStyles[size])}
|
|
339
|
+
dir={direction}
|
|
340
|
+
>
|
|
341
|
+
{item.icon && item.icon}
|
|
342
|
+
{item.label && item.label}
|
|
343
|
+
</DropdownMenuSubTrigger>
|
|
344
|
+
<DropdownMenuPortal>
|
|
345
|
+
<DropdownMenuSubContent>
|
|
346
|
+
{item.subitems.map((subitem, subIndex) => (
|
|
347
|
+
<DropdownMenuItem
|
|
348
|
+
className={cn(
|
|
349
|
+
sizeStyles[size],
|
|
350
|
+
|
|
351
|
+
!item.icon && !item.label
|
|
352
|
+
? "px-0 py-0 focus:bg-transparent"
|
|
353
|
+
: "focus:bg-accent"
|
|
354
|
+
)}
|
|
355
|
+
disabled={subitem.disabled}
|
|
356
|
+
// className="flex flex-row gap-2"
|
|
357
|
+
onSelect={() => {
|
|
358
|
+
subitem.action()
|
|
359
|
+
if (selectCallback) {
|
|
360
|
+
selectCallback(subitem.value)
|
|
361
|
+
}
|
|
362
|
+
}}
|
|
363
|
+
key={subIndex}
|
|
364
|
+
>
|
|
365
|
+
{subitem.icon && subitem.icon}
|
|
366
|
+
{subitem.label && subitem.label}
|
|
367
|
+
</DropdownMenuItem>
|
|
368
|
+
))}
|
|
369
|
+
</DropdownMenuSubContent>
|
|
370
|
+
</DropdownMenuPortal>
|
|
371
|
+
</DropdownMenuSub>
|
|
372
|
+
) : (
|
|
373
|
+
<DropdownMenuItem
|
|
374
|
+
disabled={item.disabled}
|
|
375
|
+
key={index}
|
|
376
|
+
onSelect={(e) => {
|
|
377
|
+
if (item.presist) {
|
|
378
|
+
e.preventDefault()
|
|
344
379
|
}
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
selectCallback
|
|
380
|
+
if (item.action) {
|
|
381
|
+
item.action()
|
|
382
|
+
if (selectCallback) {
|
|
383
|
+
selectCallback(item.value)
|
|
384
|
+
}
|
|
385
|
+
} else {
|
|
386
|
+
if (selectCallback) {
|
|
387
|
+
selectCallback(item.value)
|
|
388
|
+
}
|
|
348
389
|
}
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
390
|
+
}}
|
|
391
|
+
end={item.end}
|
|
392
|
+
className={cn(
|
|
393
|
+
sizeStyles[size],
|
|
394
|
+
!item.icon && !item.label
|
|
395
|
+
? "px-0 py-0 focus:bg-transparent "
|
|
396
|
+
: "focus:bg-accent ",
|
|
397
|
+
item.presist && "focus:bg-transparent"
|
|
398
|
+
)}
|
|
399
|
+
>
|
|
400
|
+
{item.icon && item.icon}
|
|
401
|
+
{item.label && item.label}
|
|
402
|
+
</DropdownMenuItem>
|
|
403
|
+
)
|
|
404
|
+
}
|
|
357
405
|
})}
|
|
358
406
|
</DropdownMenuContent>
|
|
359
407
|
</DropdownMenuPortal>
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from "react"
|
|
2
2
|
import ReactDOMServer from "react-dom/server"
|
|
3
|
-
import { AiOutlineClose } from "react-icons/ai"
|
|
4
3
|
|
|
5
4
|
let base64 =
|
|
6
5
|
"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"
|
|
@@ -22,7 +21,19 @@ const Image = (props) => {
|
|
|
22
21
|
<div className="group relative w-fit">
|
|
23
22
|
<img src={`data:image/pngg;charset=utf-8;base64,${base64}`} />
|
|
24
23
|
<div className="absolute right-0 top-0 text-red-900 opacity-0 transition-all hover:opacity-50 group-hover:opacity-100">
|
|
25
|
-
<
|
|
24
|
+
<svg
|
|
25
|
+
aria-label="Close Icon"
|
|
26
|
+
aria-hidden="true"
|
|
27
|
+
className="h-4 w-4"
|
|
28
|
+
fill="currentColor"
|
|
29
|
+
viewBox="0 0 20 20"
|
|
30
|
+
>
|
|
31
|
+
<path
|
|
32
|
+
fillRule="evenodd"
|
|
33
|
+
d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"
|
|
34
|
+
clipRule="evenodd"
|
|
35
|
+
></path>
|
|
36
|
+
</svg>
|
|
26
37
|
</div>
|
|
27
38
|
</div>
|
|
28
39
|
)
|
|
@@ -66,7 +66,7 @@ export const HawaRadio: FC<RadioTypes> = ({
|
|
|
66
66
|
props.onChangeTab(opt.value)
|
|
67
67
|
}}
|
|
68
68
|
className={cn(
|
|
69
|
-
"w-full cursor-pointer",
|
|
69
|
+
"w-full cursor-pointer ",
|
|
70
70
|
orientation === "horizontal" &&
|
|
71
71
|
parentDirection === "ltr" &&
|
|
72
72
|
"rounded-none first:rounded-l last:rounded-r",
|
|
@@ -78,6 +78,7 @@ export const HawaRadio: FC<RadioTypes> = ({
|
|
|
78
78
|
|
|
79
79
|
"last flex flex-row items-center justify-center gap-2 ",
|
|
80
80
|
selectedOption === opt.value ? activeTabStyle : inactiveTabStyle
|
|
81
|
+
// "bg-red-500"
|
|
81
82
|
)}
|
|
82
83
|
key={o}
|
|
83
84
|
>
|
|
@@ -138,7 +139,7 @@ export const HawaRadio: FC<RadioTypes> = ({
|
|
|
138
139
|
"inline-flex h-full w-full items-center justify-between rounded-lg border border-gray-200 bg-white p-5 text-gray-500 peer-checked:border-blue-600 peer-checked:text-blue-600 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:peer-checked:text-primary",
|
|
139
140
|
opt.disabled
|
|
140
141
|
? "opacity-50"
|
|
141
|
-
: "cursor-pointer hover:bg-gray-100
|
|
142
|
+
: "cursor-pointer hover:bg-gray-100 hover:text-gray-600 dark:hover:bg-gray-700 dark:hover:text-gray-300"
|
|
142
143
|
)}
|
|
143
144
|
>
|
|
144
145
|
<div className="block h-full w-full">
|
|
@@ -2,8 +2,8 @@ import clsx from "clsx"
|
|
|
2
2
|
import React, { FC } from "react"
|
|
3
3
|
import Select from "react-select"
|
|
4
4
|
import CreatableSelect from "react-select/creatable"
|
|
5
|
+
import { Label } from "./Label"
|
|
5
6
|
|
|
6
|
-
// The select bar
|
|
7
7
|
type ControlTypes = {
|
|
8
8
|
cx: any
|
|
9
9
|
children: any
|
|
@@ -87,13 +87,13 @@ const Option: FC<OptionTypes> = ({
|
|
|
87
87
|
}) => (
|
|
88
88
|
<div
|
|
89
89
|
ref={innerRef}
|
|
90
|
-
className="flex flex-row items-center justify-between rounded-inner p-1 px-2 hover:
|
|
90
|
+
className="flex cursor-pointer select-none flex-row items-center justify-between rounded-inner p-1 px-2 hover:bg-primary hover:text-primary-foreground"
|
|
91
91
|
{...innerProps}
|
|
92
92
|
>
|
|
93
93
|
{children}
|
|
94
94
|
</div>
|
|
95
95
|
)
|
|
96
|
-
|
|
96
|
+
|
|
97
97
|
type SelectTypes = {
|
|
98
98
|
label?: string
|
|
99
99
|
options?: {
|
|
@@ -116,12 +116,14 @@ type SelectTypes = {
|
|
|
116
116
|
}
|
|
117
117
|
export const HawaSelect: FC<SelectTypes> = (props) => {
|
|
118
118
|
return (
|
|
119
|
-
<div className=" w-full">
|
|
120
|
-
{props.label &&
|
|
119
|
+
<div className=" flex w-full flex-col gap-2">
|
|
120
|
+
{props.label && <Label>{props.label}</Label>}
|
|
121
|
+
|
|
122
|
+
{/* {props.label && (
|
|
121
123
|
<div className="mb-2 block text-sm font-medium text-gray-900 dark:text-gray-300">
|
|
122
124
|
{props.label}
|
|
123
125
|
</div>
|
|
124
|
-
)}
|
|
126
|
+
)} */}
|
|
125
127
|
{!props.isCreatable && (
|
|
126
128
|
<Select
|
|
127
129
|
classNames={{
|
|
@@ -7,6 +7,7 @@ type StatTypes = {
|
|
|
7
7
|
color?: string
|
|
8
8
|
number?: string
|
|
9
9
|
helperText?: string
|
|
10
|
+
chart?: any
|
|
10
11
|
icon?: any
|
|
11
12
|
variant?:
|
|
12
13
|
| "default"
|
|
@@ -39,6 +40,11 @@ export const HawaStats: FC<StatTypes> = ({ variant = "default", ...props }) => {
|
|
|
39
40
|
<p className="text-xs text-muted-foreground">{props.helperText}</p>
|
|
40
41
|
)
|
|
41
42
|
)}
|
|
43
|
+
{props.isLoading && props.chart ? (
|
|
44
|
+
<Skeleton className="mt-2 h-4 w-1/2" />
|
|
45
|
+
) : (
|
|
46
|
+
props.chart
|
|
47
|
+
)}
|
|
42
48
|
</CardContent>
|
|
43
49
|
</Card>
|
|
44
50
|
)
|
|
@@ -23,6 +23,7 @@ type TableTypes = {
|
|
|
23
23
|
pagination?: boolean
|
|
24
24
|
columns: ColTypes[]
|
|
25
25
|
actions?: MenuItemType[]
|
|
26
|
+
actionsWidth?: "default" | "sm" | "lg" | "parent"
|
|
26
27
|
direction?: "rtl" | "ltr"
|
|
27
28
|
rows?: RowTypes[][]
|
|
28
29
|
handleActionClick?: any
|
|
@@ -110,58 +111,11 @@ export const HawaTable: FC<TableTypes> = ({
|
|
|
110
111
|
}, [slice, page])
|
|
111
112
|
|
|
112
113
|
return (
|
|
113
|
-
<div className="relative flex flex-col gap-2 ">
|
|
114
|
+
<div className="relative flex flex-col gap-2 bg-background ">
|
|
114
115
|
<div className={`overflow-x-auto rounded bg-${headerColor}`}>
|
|
115
116
|
{props.headerTools && (
|
|
116
|
-
<div className="flex flex-row items-center justify-between gap-2 border bg-background px-
|
|
117
|
-
|
|
118
|
-
icon={
|
|
119
|
-
<svg
|
|
120
|
-
aria-label="Search Icon"
|
|
121
|
-
stroke="currentColor"
|
|
122
|
-
fill="gray"
|
|
123
|
-
strokeWidth="0"
|
|
124
|
-
viewBox="0 0 512 512"
|
|
125
|
-
height="1em"
|
|
126
|
-
width="1em"
|
|
127
|
-
>
|
|
128
|
-
<path d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"></path>
|
|
129
|
-
</svg>
|
|
130
|
-
}
|
|
131
|
-
placeholder={"Search"}
|
|
132
|
-
width="full"
|
|
133
|
-
margin="none"
|
|
134
|
-
/>
|
|
135
|
-
<div className="flex flex-row items-center justify-between gap-2">
|
|
136
|
-
<Button className="flex flex-row gap-2">
|
|
137
|
-
<svg
|
|
138
|
-
aria-label="Filter Icon"
|
|
139
|
-
stroke="currentColor"
|
|
140
|
-
fill="currentColor"
|
|
141
|
-
strokeWidth="0"
|
|
142
|
-
viewBox="0 0 16 16"
|
|
143
|
-
height="1em"
|
|
144
|
-
width="1em"
|
|
145
|
-
>
|
|
146
|
-
<path d="M6 10.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z"></path>
|
|
147
|
-
</svg>
|
|
148
|
-
{props.texts?.filter ?? "Filter"}
|
|
149
|
-
<svg
|
|
150
|
-
aria-label="Chevron Right Icon"
|
|
151
|
-
stroke="currentColor"
|
|
152
|
-
fill="currentColor"
|
|
153
|
-
strokeWidth="0"
|
|
154
|
-
viewBox="0 0 16 16"
|
|
155
|
-
height="1em"
|
|
156
|
-
width="1em"
|
|
157
|
-
>
|
|
158
|
-
<path
|
|
159
|
-
fillRule="evenodd"
|
|
160
|
-
d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"
|
|
161
|
-
></path>
|
|
162
|
-
</svg>
|
|
163
|
-
</Button>
|
|
164
|
-
</div>
|
|
117
|
+
<div className="flex flex-row items-center justify-between gap-2 border bg-background px-2 py-2">
|
|
118
|
+
{props.headerTools}
|
|
165
119
|
</div>
|
|
166
120
|
)}
|
|
167
121
|
<table
|
|
@@ -312,7 +266,7 @@ export const HawaTable: FC<TableTypes> = ({
|
|
|
312
266
|
>
|
|
313
267
|
<div className="flex items-center justify-center">
|
|
314
268
|
<DropdownMenu
|
|
315
|
-
width=
|
|
269
|
+
width={props.actionsWidth}
|
|
316
270
|
direction={direction}
|
|
317
271
|
side="right"
|
|
318
272
|
items={props.actions}
|
|
@@ -91,7 +91,7 @@ export const HawaTextField: FC<TextFieldTypes> = ({
|
|
|
91
91
|
</div>
|
|
92
92
|
)}
|
|
93
93
|
{props.helpertext ? (
|
|
94
|
-
<p className="mb-0 mt-
|
|
94
|
+
<p className="mb-0 mt-0 text-xs text-red-600 dark:text-red-500">
|
|
95
95
|
{props.helpertext}
|
|
96
96
|
</p>
|
|
97
97
|
) : null}
|
package/src/elements/Icons.tsx
CHANGED
|
@@ -74,7 +74,10 @@ export const Icons = {
|
|
|
74
74
|
),
|
|
75
75
|
microsoft: (props: IconProps) => (
|
|
76
76
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" {...props}>
|
|
77
|
-
<path
|
|
77
|
+
<path
|
|
78
|
+
fill="currentColor"
|
|
79
|
+
d="M7.462 0H0v7.19h7.462V0zM16 0H8.538v7.19H16V0zM7.462 8.211H0V16h7.462V8.211zm8.538 0H8.538V16H16V8.211z"
|
|
80
|
+
></path>
|
|
78
81
|
</svg>
|
|
79
82
|
),
|
|
80
83
|
gitHub: (props: IconProps) => (
|
package/src/layout/AppLayout.tsx
CHANGED
|
@@ -24,6 +24,7 @@ type AppLayoutTypes = {
|
|
|
24
24
|
avatarImage?: any
|
|
25
25
|
drawerSize?: "sm" | "md" | "large"
|
|
26
26
|
profileMenuItems?: MenuItemType[]
|
|
27
|
+
profileMenuWidth: "default" | "sm" | "lg" | "parent"
|
|
27
28
|
onSettingsClick?: () => void
|
|
28
29
|
DrawerFooterActions?: any
|
|
29
30
|
clickedItem?: any
|
|
@@ -203,7 +204,10 @@ export const AppLayout: React.FunctionComponent<AppLayoutTypes> = ({
|
|
|
203
204
|
alignOffset={8}
|
|
204
205
|
side={"bottom"}
|
|
205
206
|
sideOffset={5}
|
|
207
|
+
width={props.profileMenuWidth}
|
|
206
208
|
direction={isRTL ? "rtl" : "ltr"}
|
|
209
|
+
items={props.profileMenuItems}
|
|
210
|
+
onItemSelect={(e) => console.log("selecting item ", e)}
|
|
207
211
|
trigger={
|
|
208
212
|
<div className="relative h-8 w-8 cursor-pointer overflow-clip rounded ring-1 ring-primary/30 dark:bg-gray-600">
|
|
209
213
|
{props.avatarImage ? (
|
|
@@ -224,8 +228,6 @@ export const AppLayout: React.FunctionComponent<AppLayoutTypes> = ({
|
|
|
224
228
|
)}
|
|
225
229
|
</div>
|
|
226
230
|
}
|
|
227
|
-
items={props.profileMenuItems}
|
|
228
|
-
onItemSelect={(e) => console.log("selecting item ", e)}
|
|
229
231
|
/>
|
|
230
232
|
</div>
|
|
231
233
|
</div>
|
package/src/styles.css
CHANGED
|
@@ -422,7 +422,7 @@ video {
|
|
|
422
422
|
--border: 240 5.9% 90%;
|
|
423
423
|
--input: 240 5.9% 90%;
|
|
424
424
|
--ring: 240 5% 64.9%;
|
|
425
|
-
--radius:
|
|
425
|
+
--radius: 1rem;
|
|
426
426
|
--radius-inner: calc(var(--radius) - calc(var(--radius) / 3));
|
|
427
427
|
|
|
428
428
|
--layout-primary-700: #b7aff7;
|
|
@@ -1194,6 +1194,9 @@ video {
|
|
|
1194
1194
|
.h-\[400px\] {
|
|
1195
1195
|
height: 400px;
|
|
1196
1196
|
}
|
|
1197
|
+
.h-\[80px\] {
|
|
1198
|
+
height: 80px;
|
|
1199
|
+
}
|
|
1197
1200
|
.h-\[calc\(100\%-3\.5rem\)\] {
|
|
1198
1201
|
height: calc(100% - 3.5rem);
|
|
1199
1202
|
}
|
|
@@ -2489,6 +2492,9 @@ video {
|
|
|
2489
2492
|
font-size: 3.75rem;
|
|
2490
2493
|
line-height: 1;
|
|
2491
2494
|
}
|
|
2495
|
+
.text-\[0\.70rem\] {
|
|
2496
|
+
font-size: 0.70rem;
|
|
2497
|
+
}
|
|
2492
2498
|
.text-\[0\.75rem\] {
|
|
2493
2499
|
font-size: 0.75rem;
|
|
2494
2500
|
}
|
|
@@ -3316,6 +3322,9 @@ body {
|
|
|
3316
3322
|
.focus\:bg-accent:focus {
|
|
3317
3323
|
background-color: hsl(var(--accent));
|
|
3318
3324
|
}
|
|
3325
|
+
.focus\:bg-transparent:focus {
|
|
3326
|
+
background-color: transparent;
|
|
3327
|
+
}
|
|
3319
3328
|
.focus\:text-accent-foreground:focus {
|
|
3320
3329
|
color: hsl(var(--accent-foreground));
|
|
3321
3330
|
}
|