Skip to content

Commit a233796

Browse files
Merge pull request #126 from linked-planet/dev
Dev
2 parents 96a51cb + f495f73 commit a233796

File tree

7 files changed

+724
-1050
lines changed

7 files changed

+724
-1050
lines changed

library/src/components/DropdownMenu.tsx

Lines changed: 34 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ import { Button, type ButtonProps } from "./Button"
66
import { overlayBaseStyle } from "./styleHelper"
77
import { IconSizeHelper } from "./IconSizeHelper"
88
import {
9+
CheckIcon,
910
ChevronDownIcon,
1011
ChevronLeftIcon,
1112
ChevronRightIcon,
1213
ChevronUpIcon,
13-
RadioIcon,
1414
} from "lucide-react"
15-
import { CheckboxIcon } from "@radix-ui/react-icons"
1615

1716
const commonStyles =
1817
"pl-1 pr-4 py-2.5 flex border-solid items-center outline-hidden border-l-2 border-y-0 border-r-0 focus-visible:border-l-2 border-transparent box-border focus-visible:outline-0 w-full cursor-default focus-visible:outline-hidden focus-visible:border-selected-border" as const
19-
const disabledStyles = "text-disabled-text cursor-not-allowed" as const
18+
const disabledStyles =
19+
"data-[disabled=true]:text-disabled-text data-[disabled=true]:cursor-not-allowed" as const
2020
const selectedStyles =
2121
"data-[selected=true]:bg-selected-subtle data-[selected=true]:hover:bg-selected-subtle-hovered data-[selected=true]:border-l-selected-bold data-[selected=true]:active:bg-selected-subtle-pressed data-[selected=true]:text-selected-subtle-text" as const
2222
const normalStyles =
@@ -138,10 +138,11 @@ function ItemCheckbox({
138138
disabled={disabled}
139139
checked={checked}
140140
defaultChecked={defaultChecked}
141-
className={twMerge(
141+
className={twJoin(
142+
"group",
142143
commonStyles,
143-
!disabled && !checked ? normalStyles : undefined,
144-
checked ? selectedStyles : undefined,
144+
normalStyles,
145+
selectedStyles,
145146
disabled ? disabledStyles : undefined,
146147
className,
147148
)}
@@ -150,13 +151,17 @@ function ItemCheckbox({
150151
>
151152
<div
152153
className={`${
153-
disabled ? "border-border" : "border-border-bold"
154+
disabled
155+
? "border-border"
156+
: "border-border-bold group-data-[state=checked]:border-selected-bold"
154157
} relative ml-2 mr-4 flex h-4 w-4 flex-none items-center justify-center rounded border-2`}
155158
>
156159
<RDd.ItemIndicator asChild>
157-
<IconSizeHelper className="text-brand-bold">
158-
<CheckboxIcon />
159-
</IconSizeHelper>
160+
<CheckIcon
161+
size="12"
162+
strokeWidth="5"
163+
className="text-text-inverse bg-selected-bold"
164+
/>
160165
</RDd.ItemIndicator>
161166
</div>
162167
<div>
@@ -232,6 +237,8 @@ type ItemRadioGroupProps = Pick<
232237
| "className"
233238
| "title"
234239
| "children"
240+
| "value"
241+
| "onValueChange"
235242
> & {
236243
hasSeparator?: boolean
237244
}
@@ -264,7 +271,7 @@ function ItemRadioGroup({
264271
}
265272

266273
type ItemRadioProps = Pick<
267-
RDd.DropdownMenuRadioGroupProps,
274+
RDd.DropdownMenuRadioItemProps,
268275
| "aria-label"
269276
| "aria-disabled"
270277
| "aria-selected"
@@ -282,14 +289,13 @@ type ItemRadioProps = Pick<
282289
> & {
283290
description?: React.ReactNode
284291
disabled?: boolean
285-
selected?: boolean
292+
//selected?: boolean
286293
value: string
287294
}
288295

289296
function ItemRadio({
290297
onClick,
291298
description,
292-
selected,
293299
disabled,
294300
value,
295301
children,
@@ -299,45 +305,30 @@ function ItemRadio({
299305
}: ItemRadioProps) {
300306
return (
301307
<RDd.RadioItem
302-
onClick={(e) => {
303-
e.preventDefault()
304-
if (disabled) return
305-
onClick?.(e)
306-
}}
307308
disabled={disabled}
308309
value={value}
309-
className={twMerge(
310+
className={twJoin(
311+
"group",
310312
commonStyles,
311-
!disabled && !selected ? normalStyles : undefined,
312-
selected ? selectedStyles : undefined,
313+
normalStyles,
314+
selectedStyles,
313315
disabled ? disabledStyles : undefined,
314316
className,
315317
)}
316318
style={style}
317319
{...props}
318320
>
319321
<div
320-
className={twMerge(
321-
`${
322-
selected
323-
? "border-selected-bold"
324-
: `${
325-
disabled
326-
? "border-border"
327-
: "border-border-bold"
328-
} hover:border-selected-bold`
329-
} relative ml-2 mr-4 flex h-3 w-3 flex-none items-center justify-center rounded-full border-2`,
322+
className={twJoin(
323+
"group-data-[selected=true]:border-selected-bold",
324+
disabled
325+
? "border-border"
326+
: "border-border-bold group-hover:border-selected-bold",
327+
"relative ml-2 mr-4 flex size-3.5 flex-none items-center justify-center rounded-full border-2",
330328
)}
331329
>
332-
{selected && (
333-
<IconSizeHelper className="text-brand-bold absolute inset-0 flex items-center justify-center">
334-
<RadioIcon size="12" />
335-
</IconSizeHelper>
336-
)}
337330
<RDd.ItemIndicator>
338-
<IconSizeHelper>
339-
<RadioIcon size="12" />
340-
</IconSizeHelper>
331+
<div className="size-3.5 rounded-full border-selected-bold border-4" />
341332
</RDd.ItemIndicator>
342333
</div>
343334
<div>
@@ -381,7 +372,7 @@ function SubMenu({
381372
<IconSizeHelper>
382373
<ChevronLeftIcon
383374
aria-label="open submenu"
384-
size="12"
375+
size="14"
385376
/>
386377
</IconSizeHelper>
387378
)}
@@ -390,7 +381,7 @@ function SubMenu({
390381
<IconSizeHelper>
391382
<ChevronRightIcon
392383
aria-label="close submenu"
393-
size="12"
384+
size="14"
394385
/>
395386
</IconSizeHelper>
396387
)}
@@ -494,7 +485,7 @@ const Trigger = forwardRef<HTMLButtonElement, DropdownTriggerProps>(
494485
: "group-data-[state=open]:flex group-data-[state=open]:visible"
495486
}`}
496487
>
497-
<ChevronUpIcon size="6" />
488+
<ChevronUpIcon size="12" strokeWidth="4" />
498489
</IconSizeHelper>
499490
<IconSizeHelper
500491
className={`hidden h-4 w-4 items-center justify-center ${
@@ -503,7 +494,7 @@ const Trigger = forwardRef<HTMLButtonElement, DropdownTriggerProps>(
503494
: "group-data-[state=closed]:flex group-data-[state=closed]:visible"
504495
}`}
505496
>
506-
<ChevronDownIcon size="6" />
497+
<ChevronDownIcon size="12" strokeWidth="4" />
507498
</IconSizeHelper>
508499
</Button>
509500
)

library/src/components/codeblock/theme.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ html[data-color-mode="auto"]
77
{
88
@include meta.load-css("highlight.js/styles/github");
99
}
10+
1011
html[data-color-mode="dark"] {
1112
@include meta.load-css("highlight.js/styles/github-dark-dimmed");
1213
}

0 commit comments

Comments
 (0)