@carlonicora/nextjs-jsonapi 1.135.0 → 1.136.0
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/{BlockNoteEditor-GVNC7UWS.mjs → BlockNoteEditor-JVZ2HDAU.mjs} +2 -2
- package/dist/{BlockNoteEditor-XIB4Q2B7.js → BlockNoteEditor-MNCHLJO4.js} +9 -9
- package/dist/{BlockNoteEditor-XIB4Q2B7.js.map → BlockNoteEditor-MNCHLJO4.js.map} +1 -1
- package/dist/billing/index.js +310 -310
- package/dist/billing/index.js.map +1 -1
- package/dist/billing/index.mjs +2 -2
- package/dist/billing/index.mjs.map +1 -1
- package/dist/{chunk-MZAD63EI.mjs → chunk-2KXPQHZU.mjs} +257 -212
- package/dist/chunk-2KXPQHZU.mjs.map +1 -0
- package/dist/{chunk-IWSLZEWZ.js → chunk-3NVJEXUT.js} +365 -320
- package/dist/chunk-3NVJEXUT.js.map +1 -0
- package/dist/client/index.js +2 -2
- package/dist/client/index.mjs +1 -1
- package/dist/components/index.d.mts +52 -3
- package/dist/components/index.d.ts +52 -3
- package/dist/components/index.js +4 -2
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +3 -1
- package/dist/contexts/index.js +2 -2
- package/dist/contexts/index.mjs +1 -1
- package/dist/features/help/index.js +31 -31
- package/dist/features/help/index.mjs +1 -1
- package/package.json +1 -1
- package/src/components/containers/RoundPageContainer.tsx +93 -14
- package/src/components/containers/RoundPageContainerTitle.tsx +19 -9
- package/src/features/assistant/components/parts/AssistantEmptyState.tsx +1 -1
- package/src/features/billing/stripe-customer/components/forms/PaymentMethodForm.tsx +1 -1
- package/src/shadcnui/ui/__tests__/cursor-controls.test.tsx +109 -0
- package/src/shadcnui/ui/__tests__/cursor-menu-items.test.tsx +89 -0
- package/src/shadcnui/ui/button.tsx +1 -1
- package/src/shadcnui/ui/checkbox.tsx +1 -1
- package/src/shadcnui/ui/combobox.tsx +1 -1
- package/src/shadcnui/ui/command.tsx +1 -1
- package/src/shadcnui/ui/context-menu.tsx +4 -4
- package/src/shadcnui/ui/dropdown-menu.tsx +4 -4
- package/src/shadcnui/ui/label.tsx +1 -1
- package/src/shadcnui/ui/radio-group.tsx +1 -1
- package/src/shadcnui/ui/select.tsx +3 -3
- package/src/shadcnui/ui/slider.tsx +3 -2
- package/src/shadcnui/ui/switch.tsx +1 -1
- package/dist/chunk-IWSLZEWZ.js.map +0 -1
- package/dist/chunk-MZAD63EI.mjs.map +0 -1
- /package/dist/{BlockNoteEditor-GVNC7UWS.mjs.map → BlockNoteEditor-JVZ2HDAU.mjs.map} +0 -0
|
@@ -212,7 +212,7 @@ import { Button as ButtonPrimitive } from "@base-ui/react/button";
|
|
|
212
212
|
import { cva as cva2 } from "class-variance-authority";
|
|
213
213
|
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
214
214
|
var buttonVariants = cva2(
|
|
215
|
-
"focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-xs/relaxed font-medium focus-visible:ring-[2px] aria-invalid:ring-[2px] [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none",
|
|
215
|
+
"focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-xs/relaxed font-medium focus-visible:ring-[2px] aria-invalid:ring-[2px] [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 data-disabled:cursor-not-allowed data-disabled:pointer-events-none [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none cursor-pointer",
|
|
216
216
|
{
|
|
217
217
|
variants: {
|
|
218
218
|
variant: {
|
|
@@ -1254,7 +1254,7 @@ function Checkbox({ className, ...props }) {
|
|
|
1254
1254
|
{
|
|
1255
1255
|
"data-slot": "checkbox",
|
|
1256
1256
|
className: cn(
|
|
1257
|
-
"border-input dark:bg-input/30 data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary data-checked:border-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 flex size-4 items-center justify-center rounded-[4px] border transition-shadow group-has-disabled/field:opacity-50 focus-visible:ring-[2px] aria-invalid:ring-[2px] peer relative shrink-0 outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
1257
|
+
"border-input dark:bg-input/30 data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary data-checked:border-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 flex size-4 items-center justify-center rounded-[4px] border transition-shadow group-has-disabled/field:opacity-50 focus-visible:ring-[2px] aria-invalid:ring-[2px] peer relative shrink-0 outline-none after:absolute after:-inset-x-3 after:-inset-y-2 cursor-pointer data-disabled:cursor-not-allowed data-disabled:opacity-50",
|
|
1258
1258
|
className
|
|
1259
1259
|
),
|
|
1260
1260
|
...props,
|
|
@@ -1578,7 +1578,7 @@ function ComboboxItem({ className, children, ...props }) {
|
|
|
1578
1578
|
{
|
|
1579
1579
|
"data-slot": "combobox-item",
|
|
1580
1580
|
className: cn(
|
|
1581
|
-
"data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground min-h-7 gap-2 rounded-md px-2 py-1 text-xs/relaxed [&_svg:not([class*='size-'])]:size-3.5 relative flex w-full cursor-
|
|
1581
|
+
"data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground min-h-7 gap-2 rounded-md px-2 py-1 text-xs/relaxed [&_svg:not([class*='size-'])]:size-3.5 relative flex w-full cursor-pointer items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
1582
1582
|
className
|
|
1583
1583
|
),
|
|
1584
1584
|
...props,
|
|
@@ -1921,7 +1921,7 @@ function CommandItem({ className, children, ...props }) {
|
|
|
1921
1921
|
{
|
|
1922
1922
|
"data-slot": "command-item",
|
|
1923
1923
|
className: cn(
|
|
1924
|
-
"data-[selected=true]:bg-muted data-[selected=true]:text-foreground data-[selected=true]:*:[svg]:text-foreground relative flex min-h-7 cursor-
|
|
1924
|
+
"data-[selected=true]:bg-muted data-[selected=true]:text-foreground data-[selected=true]:*:[svg]:text-foreground relative flex min-h-7 cursor-pointer items-center gap-2 rounded-md px-2.5 py-1.5 text-xs/relaxed outline-hidden select-none [&_svg:not([class*='size-'])]:size-3.5 [[data-slot=dialog-content]_&]:rounded-md group/command-item data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
1925
1925
|
className
|
|
1926
1926
|
),
|
|
1927
1927
|
...props,
|
|
@@ -2082,7 +2082,7 @@ function ContextMenuItem({
|
|
|
2082
2082
|
"data-inset": inset,
|
|
2083
2083
|
"data-variant": variant,
|
|
2084
2084
|
className: cn(
|
|
2085
|
-
"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-md px-2 py-1 text-xs/relaxed [&_svg:not([class*='size-'])]:size-3.5 group/context-menu-item relative flex cursor-
|
|
2085
|
+
"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-md px-2 py-1 text-xs/relaxed [&_svg:not([class*='size-'])]:size-3.5 group/context-menu-item relative flex cursor-pointer items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
2086
2086
|
className
|
|
2087
2087
|
),
|
|
2088
2088
|
...props
|
|
@@ -2106,7 +2106,7 @@ function ContextMenuSubTrigger({
|
|
|
2106
2106
|
"data-slot": "context-menu-sub-trigger",
|
|
2107
2107
|
"data-inset": inset,
|
|
2108
2108
|
className: cn(
|
|
2109
|
-
"focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-md px-2 py-1 text-xs [&_svg:not([class*='size-'])]:size-3.5 flex cursor-
|
|
2109
|
+
"focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-md px-2 py-1 text-xs [&_svg:not([class*='size-'])]:size-3.5 flex cursor-pointer items-center outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
2110
2110
|
className
|
|
2111
2111
|
),
|
|
2112
2112
|
...props,
|
|
@@ -2128,7 +2128,7 @@ function ContextMenuCheckboxItem({ className, children, checked, ...props }) {
|
|
|
2128
2128
|
{
|
|
2129
2129
|
"data-slot": "context-menu-checkbox-item",
|
|
2130
2130
|
className: cn(
|
|
2131
|
-
"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground min-h-7 gap-2 rounded-md py-1.5 pr-8 pl-2 text-xs [&_svg:not([class*='size-'])]:size-3.5 relative flex cursor-
|
|
2131
|
+
"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground min-h-7 gap-2 rounded-md py-1.5 pr-8 pl-2 text-xs [&_svg:not([class*='size-'])]:size-3.5 relative flex cursor-pointer items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
2132
2132
|
className
|
|
2133
2133
|
),
|
|
2134
2134
|
checked,
|
|
@@ -2151,7 +2151,7 @@ function ContextMenuRadioItem({ className, children, ...props }) {
|
|
|
2151
2151
|
{
|
|
2152
2152
|
"data-slot": "context-menu-radio-item",
|
|
2153
2153
|
className: cn(
|
|
2154
|
-
"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground min-h-7 gap-2 rounded-md py-1.5 pr-8 pl-2 text-xs [&_svg:not([class*='size-'])]:size-3.5 relative flex cursor-
|
|
2154
|
+
"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground min-h-7 gap-2 rounded-md py-1.5 pr-8 pl-2 text-xs [&_svg:not([class*='size-'])]:size-3.5 relative flex cursor-pointer items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
2155
2155
|
className
|
|
2156
2156
|
),
|
|
2157
2157
|
...props,
|
|
@@ -2364,7 +2364,7 @@ function DropdownMenuItem({
|
|
|
2364
2364
|
"data-inset": inset,
|
|
2365
2365
|
"data-variant": variant,
|
|
2366
2366
|
className: cn(
|
|
2367
|
-
"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-md px-2 py-1 text-xs/relaxed [&_svg:not([class*='size-'])]:size-3.5 group/dropdown-menu-item relative flex cursor-
|
|
2367
|
+
"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-md px-2 py-1 text-xs/relaxed [&_svg:not([class*='size-'])]:size-3.5 group/dropdown-menu-item relative flex cursor-pointer items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
2368
2368
|
className
|
|
2369
2369
|
),
|
|
2370
2370
|
...props
|
|
@@ -2388,7 +2388,7 @@ function DropdownMenuSubTrigger({
|
|
|
2388
2388
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
2389
2389
|
"data-inset": inset,
|
|
2390
2390
|
className: cn(
|
|
2391
|
-
"focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-md px-2 py-1 text-xs [&_svg:not([class*='size-'])]:size-3.5 flex cursor-
|
|
2391
|
+
"focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-md px-2 py-1 text-xs [&_svg:not([class*='size-'])]:size-3.5 flex cursor-pointer items-center outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
2392
2392
|
className
|
|
2393
2393
|
),
|
|
2394
2394
|
...props,
|
|
@@ -2431,7 +2431,7 @@ function DropdownMenuCheckboxItem({ className, children, checked, ...props }) {
|
|
|
2431
2431
|
{
|
|
2432
2432
|
"data-slot": "dropdown-menu-checkbox-item",
|
|
2433
2433
|
className: cn(
|
|
2434
|
-
"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground min-h-7 gap-2 rounded-md py-1.5 pr-8 pl-2 text-xs [&_svg:not([class*='size-'])]:size-3.5 relative flex cursor-
|
|
2434
|
+
"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground min-h-7 gap-2 rounded-md py-1.5 pr-8 pl-2 text-xs [&_svg:not([class*='size-'])]:size-3.5 relative flex cursor-pointer items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
2435
2435
|
className
|
|
2436
2436
|
),
|
|
2437
2437
|
checked,
|
|
@@ -2461,7 +2461,7 @@ function DropdownMenuRadioItem({ className, children, ...props }) {
|
|
|
2461
2461
|
{
|
|
2462
2462
|
"data-slot": "dropdown-menu-radio-item",
|
|
2463
2463
|
className: cn(
|
|
2464
|
-
"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground min-h-7 gap-2 rounded-md py-1.5 pr-8 pl-2 text-xs [&_svg:not([class*='size-'])]:size-3.5 relative flex cursor-
|
|
2464
|
+
"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground min-h-7 gap-2 rounded-md py-1.5 pr-8 pl-2 text-xs [&_svg:not([class*='size-'])]:size-3.5 relative flex cursor-pointer items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
2465
2465
|
className
|
|
2466
2466
|
),
|
|
2467
2467
|
...props,
|
|
@@ -2538,7 +2538,7 @@ function Label({ className, ...props }) {
|
|
|
2538
2538
|
{
|
|
2539
2539
|
"data-slot": "label",
|
|
2540
2540
|
className: cn(
|
|
2541
|
-
"gap-2 text-xs/relaxed leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed",
|
|
2541
|
+
"gap-2 text-xs/relaxed leading-none font-medium group-data-[disabled=true]:opacity-50 peer-data-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-data-disabled:cursor-not-allowed",
|
|
2542
2542
|
className
|
|
2543
2543
|
),
|
|
2544
2544
|
...props
|
|
@@ -3172,7 +3172,7 @@ function RadioGroupItem({ className, ...props }) {
|
|
|
3172
3172
|
{
|
|
3173
3173
|
"data-slot": "radio-group-item",
|
|
3174
3174
|
className: cn(
|
|
3175
|
-
"border-input text-primary dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 data-checked:bg-primary data-checked:border-primary flex size-4 rounded-full transition-none focus-visible:ring-[2px] aria-invalid:ring-[2px] group/radio-group-item peer relative aspect-square shrink-0 border outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
3175
|
+
"border-input text-primary dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 data-checked:bg-primary data-checked:border-primary flex size-4 rounded-full transition-none focus-visible:ring-[2px] aria-invalid:ring-[2px] group/radio-group-item peer relative aspect-square shrink-0 border outline-none after:absolute after:-inset-x-3 after:-inset-y-2 cursor-pointer data-disabled:cursor-not-allowed data-disabled:opacity-50",
|
|
3176
3176
|
className
|
|
3177
3177
|
),
|
|
3178
3178
|
...props,
|
|
@@ -3379,7 +3379,7 @@ function SelectItem({ className, children, ...props }) {
|
|
|
3379
3379
|
{
|
|
3380
3380
|
"data-slot": "select-item",
|
|
3381
3381
|
className: cn(
|
|
3382
|
-
"focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-md px-2 py-1 text-xs/relaxed [&_svg:not([class*='size-'])]:size-3.5 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-
|
|
3382
|
+
"focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-md px-2 py-1 text-xs/relaxed [&_svg:not([class*='size-'])]:size-3.5 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-pointer items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
3383
3383
|
className
|
|
3384
3384
|
),
|
|
3385
3385
|
...props,
|
|
@@ -3414,7 +3414,7 @@ function SelectScrollUpButton({ className, ...props }) {
|
|
|
3414
3414
|
{
|
|
3415
3415
|
"data-slot": "select-scroll-up-button",
|
|
3416
3416
|
className: cn(
|
|
3417
|
-
"bg-popover z-10 flex cursor-
|
|
3417
|
+
"bg-popover z-10 flex cursor-pointer items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-3.5 top-0 w-full",
|
|
3418
3418
|
className
|
|
3419
3419
|
),
|
|
3420
3420
|
...props,
|
|
@@ -3429,7 +3429,7 @@ function SelectScrollDownButton({ className, ...props }) {
|
|
|
3429
3429
|
{
|
|
3430
3430
|
"data-slot": "select-scroll-down-button",
|
|
3431
3431
|
className: cn(
|
|
3432
|
-
"bg-popover z-10 flex cursor-
|
|
3432
|
+
"bg-popover z-10 flex cursor-pointer items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-3.5 bottom-0 w-full",
|
|
3433
3433
|
className
|
|
3434
3434
|
),
|
|
3435
3435
|
...props,
|
|
@@ -4217,8 +4217,9 @@ function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }
|
|
|
4217
4217
|
children: /* @__PURE__ */ jsxs23(
|
|
4218
4218
|
SliderPrimitive.Control,
|
|
4219
4219
|
{
|
|
4220
|
+
"data-slot": "slider-control",
|
|
4220
4221
|
className: cn(
|
|
4221
|
-
"data-vertical:min-h-40 relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-vertical:h-full data-vertical:w-auto data-vertical:flex-col",
|
|
4222
|
+
"data-vertical:min-h-40 relative flex w-full touch-none items-center select-none cursor-pointer data-disabled:cursor-not-allowed data-disabled:opacity-50 data-vertical:h-full data-vertical:w-auto data-vertical:flex-col",
|
|
4222
4223
|
className
|
|
4223
4224
|
),
|
|
4224
4225
|
children: [
|
|
@@ -4240,7 +4241,7 @@ function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }
|
|
|
4240
4241
|
SliderPrimitive.Thumb,
|
|
4241
4242
|
{
|
|
4242
4243
|
"data-slot": "slider-thumb",
|
|
4243
|
-
className: "border-primary ring-ring/30 size-4 rounded-md border bg-white shadow-sm transition-colors hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden block shrink-0 select-none disabled:pointer-events-none disabled:opacity-50"
|
|
4244
|
+
className: "border-primary ring-ring/30 size-4 rounded-md border bg-white shadow-sm transition-colors hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden block shrink-0 select-none cursor-grab active:cursor-grabbing data-disabled:cursor-not-allowed data-disabled:pointer-events-none data-disabled:opacity-50"
|
|
4244
4245
|
},
|
|
4245
4246
|
index
|
|
4246
4247
|
))
|
|
@@ -4336,7 +4337,7 @@ function Switch({
|
|
|
4336
4337
|
"data-slot": "switch",
|
|
4337
4338
|
"data-size": size,
|
|
4338
4339
|
className: cn(
|
|
4339
|
-
"data-checked:bg-primary data-unchecked:bg-input focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 dark:data-unchecked:bg-input/80 shrink-0 rounded-full border border-transparent focus-visible:ring-[2px] aria-invalid:ring-[2px] data-[size=default]:h-[16.6px] data-[size=default]:w-[28px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] peer group/switch relative inline-flex items-center transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 data-disabled:cursor-not-allowed data-disabled:opacity-50",
|
|
4340
|
+
"data-checked:bg-primary data-unchecked:bg-input focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 dark:data-unchecked:bg-input/80 shrink-0 rounded-full border border-transparent focus-visible:ring-[2px] aria-invalid:ring-[2px] data-[size=default]:h-[16.6px] data-[size=default]:w-[28px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] peer group/switch relative inline-flex items-center transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 cursor-pointer data-disabled:cursor-not-allowed data-disabled:opacity-50",
|
|
4340
4341
|
className
|
|
4341
4342
|
),
|
|
4342
4343
|
...props,
|
|
@@ -10116,7 +10117,7 @@ import { useRef as useRef17 } from "react";
|
|
|
10116
10117
|
import dynamic from "next/dynamic";
|
|
10117
10118
|
import React17 from "react";
|
|
10118
10119
|
import { jsx as jsx86 } from "react/jsx-runtime";
|
|
10119
|
-
var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-
|
|
10120
|
+
var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-JVZ2HDAU.mjs"), {
|
|
10120
10121
|
ssr: false
|
|
10121
10122
|
});
|
|
10122
10123
|
var BlockNoteEditorContainer = React17.memo(/* @__PURE__ */ __name(function EditorContainer(props) {
|
|
@@ -14811,16 +14812,19 @@ __name(ReactMarkdownContainer, "ReactMarkdownContainer");
|
|
|
14811
14812
|
// src/components/containers/RoundPageContainerTitle.tsx
|
|
14812
14813
|
import { InfoIcon as InfoIcon2 } from "lucide-react";
|
|
14813
14814
|
import { jsx as jsx160, jsxs as jsxs93 } from "react/jsx-runtime";
|
|
14815
|
+
var HEADER_ROW_MIN_H = "min-h-[53px]";
|
|
14814
14816
|
function RoundPageContainerTitle({
|
|
14815
14817
|
module,
|
|
14816
14818
|
details,
|
|
14819
|
+
detailsTitle,
|
|
14820
|
+
detailsIcon,
|
|
14817
14821
|
showDetails,
|
|
14818
14822
|
setShowDetails
|
|
14819
14823
|
}) {
|
|
14820
14824
|
const { title } = useSharedContext();
|
|
14821
14825
|
const isMobile = useIsMobile();
|
|
14822
14826
|
return /* @__PURE__ */ jsxs93("div", { className: "flex w-full flex-col border-b", children: [
|
|
14823
|
-
/* @__PURE__ */ jsxs93("div", { className: cn(`flex w-full flex-row items-center gap-x-2 p-4 justify-between
|
|
14827
|
+
/* @__PURE__ */ jsxs93("div", { className: cn(`flex w-full flex-row items-center gap-x-2 p-4 justify-between`, HEADER_ROW_MIN_H), children: [
|
|
14824
14828
|
!isMobile ? /* @__PURE__ */ jsxs93("div", { className: "flex w-full gap-x-4", children: [
|
|
14825
14829
|
/* @__PURE__ */ jsxs93("div", { className: "text-muted-foreground flex items-center gap-x-2 text-lg font-light whitespace-nowrap", children: [
|
|
14826
14830
|
title.titleActions,
|
|
@@ -14844,10 +14848,14 @@ function RoundPageContainerTitle({
|
|
|
14844
14848
|
variant: showDetails ? `ghost` : `default`,
|
|
14845
14849
|
onClick: () => setShowDetails(!showDetails),
|
|
14846
14850
|
className: cn(`cursor-pointer`),
|
|
14847
|
-
children: /* @__PURE__ */ jsx160(InfoIcon2, {})
|
|
14851
|
+
children: detailsIcon ?? /* @__PURE__ */ jsx160(InfoIcon2, {})
|
|
14848
14852
|
}
|
|
14849
14853
|
) }),
|
|
14850
|
-
/* @__PURE__ */
|
|
14854
|
+
/* @__PURE__ */ jsxs93(TooltipContent, { children: [
|
|
14855
|
+
showDetails ? "Hide" : "Show",
|
|
14856
|
+
" ",
|
|
14857
|
+
detailsTitle ?? "details"
|
|
14858
|
+
] })
|
|
14851
14859
|
] })
|
|
14852
14860
|
] })
|
|
14853
14861
|
] }),
|
|
@@ -14880,26 +14888,36 @@ function RoundPageContainer({
|
|
|
14880
14888
|
forceHeader,
|
|
14881
14889
|
header,
|
|
14882
14890
|
layout: layout2 = "tabs",
|
|
14883
|
-
onSectionChange
|
|
14891
|
+
onSectionChange,
|
|
14892
|
+
testId,
|
|
14893
|
+
defaultDetailsOpen = false,
|
|
14894
|
+
detailsTitle,
|
|
14895
|
+
detailsIcon
|
|
14884
14896
|
}) {
|
|
14885
14897
|
const headerChildren = useHeaderChildren();
|
|
14886
14898
|
const headerLeftContent = useHeaderLeftContent();
|
|
14887
14899
|
const headerLogo = useHeaderLogo();
|
|
14888
14900
|
const headerMobileChildren = useHeaderMobileChildren();
|
|
14889
|
-
const [showDetails, setShowDetailsState] = useState51(
|
|
14901
|
+
const [showDetails, setShowDetailsState] = useState51(defaultDetailsOpen);
|
|
14890
14902
|
const isMobile = useIsMobile();
|
|
14891
14903
|
const [mounted, setMounted] = useState51(false);
|
|
14892
14904
|
useEffect41(() => {
|
|
14893
|
-
const match = document.cookie.split("; ").find((row) => row.startsWith(`${
|
|
14894
|
-
|
|
14905
|
+
const match = document.cookie.split("; ").find((row) => row.startsWith(`${detailsCookieName}=`));
|
|
14906
|
+
const stored = match?.split("=")[1];
|
|
14907
|
+
if (stored === "true") setShowDetailsState(true);
|
|
14908
|
+
else if (stored === "false") setShowDetailsState(false);
|
|
14895
14909
|
}, []);
|
|
14896
14910
|
useEffect41(() => {
|
|
14897
14911
|
setMounted(true);
|
|
14898
14912
|
}, []);
|
|
14899
|
-
const
|
|
14900
|
-
|
|
14901
|
-
|
|
14902
|
-
|
|
14913
|
+
const detailsCookieName = module?.name ? `${DETAILS_COOKIE_NAME}_${module.name}` : DETAILS_COOKIE_NAME;
|
|
14914
|
+
const setShowDetails = useCallback27(
|
|
14915
|
+
(value) => {
|
|
14916
|
+
setShowDetailsState(value);
|
|
14917
|
+
document.cookie = `${detailsCookieName}=${value}; path=/; max-age=${DETAILS_COOKIE_MAX_AGE}`;
|
|
14918
|
+
},
|
|
14919
|
+
[detailsCookieName]
|
|
14920
|
+
);
|
|
14903
14921
|
const searchParams = useSearchParams();
|
|
14904
14922
|
const section = searchParams.get("section");
|
|
14905
14923
|
const rewriteUrl = useUrlRewriter();
|
|
@@ -14944,10 +14962,17 @@ function RoundPageContainer({
|
|
|
14944
14962
|
children: headerChildren
|
|
14945
14963
|
}
|
|
14946
14964
|
),
|
|
14947
|
-
/* @__PURE__ */ jsxs94(
|
|
14948
|
-
|
|
14949
|
-
|
|
14950
|
-
|
|
14965
|
+
/* @__PURE__ */ jsxs94(
|
|
14966
|
+
"div",
|
|
14967
|
+
{
|
|
14968
|
+
"data-testid": testId,
|
|
14969
|
+
className: cn("flex h-[calc(100vh-3rem)] w-full flex-col", isMobile ? "gap-1 p-1 pt-0" : "p-2 pt-0 pl-0"),
|
|
14970
|
+
children: [
|
|
14971
|
+
/* @__PURE__ */ jsx161("div", { className: cn("bg-background flex min-h-0 w-full flex-1", isMobile ? "" : "rounded-lg border p-0"), children: /* @__PURE__ */ jsx161("div", { className: "flex w-full flex-col" }) }),
|
|
14972
|
+
/* @__PURE__ */ jsx161(MobileNavigationBar, {})
|
|
14973
|
+
]
|
|
14974
|
+
}
|
|
14975
|
+
)
|
|
14951
14976
|
] });
|
|
14952
14977
|
}
|
|
14953
14978
|
return /* @__PURE__ */ jsxs94(Fragment24, { children: [
|
|
@@ -14961,194 +14986,213 @@ function RoundPageContainer({
|
|
|
14961
14986
|
children: headerChildren
|
|
14962
14987
|
}
|
|
14963
14988
|
),
|
|
14964
|
-
/* @__PURE__ */ jsxs94(
|
|
14965
|
-
|
|
14966
|
-
|
|
14967
|
-
|
|
14968
|
-
|
|
14969
|
-
|
|
14970
|
-
|
|
14971
|
-
|
|
14972
|
-
|
|
14973
|
-
|
|
14974
|
-
|
|
14975
|
-
|
|
14976
|
-
|
|
14977
|
-
|
|
14978
|
-
|
|
14979
|
-
|
|
14980
|
-
|
|
14981
|
-
|
|
14982
|
-
|
|
14983
|
-
|
|
14984
|
-
|
|
14985
|
-
|
|
14986
|
-
|
|
14987
|
-
|
|
14988
|
-
|
|
14989
|
-
|
|
14990
|
-
|
|
14991
|
-
|
|
14992
|
-
|
|
14993
|
-
|
|
14994
|
-
|
|
14995
|
-
|
|
14996
|
-
|
|
14997
|
-
|
|
14998
|
-
|
|
14999
|
-
|
|
15000
|
-
|
|
15001
|
-
|
|
15002
|
-
|
|
15003
|
-
|
|
15004
|
-
|
|
15005
|
-
|
|
15006
|
-
|
|
15007
|
-
|
|
15008
|
-
|
|
15009
|
-
|
|
15010
|
-
|
|
15011
|
-
|
|
15012
|
-
|
|
15013
|
-
{
|
|
15014
|
-
items: tabItems,
|
|
15015
|
-
value: activeTab,
|
|
15016
|
-
onValueChange: (value) => {
|
|
15017
|
-
if (value) handleTabChange(value);
|
|
15018
|
-
},
|
|
15019
|
-
children: [
|
|
15020
|
-
/* @__PURE__ */ jsx161(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx161(SelectValue, {}) }),
|
|
15021
|
-
/* @__PURE__ */ jsxs94(SelectContent, { children: [
|
|
15022
|
-
ungrouped.map((tab) => /* @__PURE__ */ jsx161(SelectItem, { value: tabValue(tab), children: tab.contentLabel ?? tab.label }, tab.label)),
|
|
15023
|
-
groups.map((group) => /* @__PURE__ */ jsxs94(SelectGroup, { children: [
|
|
15024
|
-
/* @__PURE__ */ jsx161(SelectLabel, { children: group.label }),
|
|
15025
|
-
group.items.map((tab) => /* @__PURE__ */ jsx161(SelectItem, { value: tabValue(tab), children: tab.contentLabel ?? tab.label }, tab.label))
|
|
14989
|
+
/* @__PURE__ */ jsxs94(
|
|
14990
|
+
"div",
|
|
14991
|
+
{
|
|
14992
|
+
"data-testid": testId,
|
|
14993
|
+
className: cn(`flex h-[calc(100vh-3rem)] w-full flex-col`, isMobile ? "gap-1 p-1 pt-0" : "p-2 pt-0 pl-0"),
|
|
14994
|
+
children: [
|
|
14995
|
+
/* @__PURE__ */ jsxs94("div", { className: "bg-background flex min-h-0 w-full flex-1 rounded-lg border p-0", children: [
|
|
14996
|
+
/* @__PURE__ */ jsxs94("div", { className: "flex w-full flex-col", children: [
|
|
14997
|
+
(!fullWidth || forceHeader) && /* @__PURE__ */ jsx161(
|
|
14998
|
+
RoundPageContainerTitle,
|
|
14999
|
+
{
|
|
15000
|
+
module,
|
|
15001
|
+
details,
|
|
15002
|
+
detailsTitle,
|
|
15003
|
+
detailsIcon,
|
|
15004
|
+
showDetails,
|
|
15005
|
+
setShowDetails,
|
|
15006
|
+
fullWidth
|
|
15007
|
+
}
|
|
15008
|
+
),
|
|
15009
|
+
/* @__PURE__ */ jsx161("div", { className: "flex h-full w-full overflow-hidden", children: layout2 === "rail" && tabs ? (
|
|
15010
|
+
// Rail layout: the vertical-tab navigation is a flush-left
|
|
15011
|
+
// sidebar of the card and the content fills the full remaining
|
|
15012
|
+
// width (like `fullWidth`) — NOT the centred max-w-6xl column.
|
|
15013
|
+
/* @__PURE__ */ jsxs94(
|
|
15014
|
+
Tabs,
|
|
15015
|
+
{
|
|
15016
|
+
value: activeTab,
|
|
15017
|
+
onValueChange: handleTabChange,
|
|
15018
|
+
orientation: "horizontal",
|
|
15019
|
+
className: "flex h-full min-w-0 grow overflow-hidden data-[orientation=horizontal]:flex-row",
|
|
15020
|
+
children: [
|
|
15021
|
+
/* @__PURE__ */ jsx161(
|
|
15022
|
+
"aside",
|
|
15023
|
+
{
|
|
15024
|
+
"data-testid": "round-page-rail",
|
|
15025
|
+
className: "hidden shrink-0 border-r p-4 md:flex md:w-56 md:flex-col md:overflow-y-auto",
|
|
15026
|
+
children: /* @__PURE__ */ jsxs94(TabsList, { className: "flex h-auto flex-col items-stretch gap-0.5 bg-transparent p-0", children: [
|
|
15027
|
+
ungrouped.map((tab) => /* @__PURE__ */ jsx161(TabsTrigger, { value: tabValue(tab), className: railTriggerClass, children: tab.contentLabel ?? tab.label }, tab.label)),
|
|
15028
|
+
groups.map((group) => /* @__PURE__ */ jsxs94(Fragment23, { children: [
|
|
15029
|
+
/* @__PURE__ */ jsx161(
|
|
15030
|
+
"div",
|
|
15031
|
+
{
|
|
15032
|
+
role: "presentation",
|
|
15033
|
+
className: "text-muted-foreground px-3 pt-3 pb-1 text-[10px] font-bold tracking-wider uppercase",
|
|
15034
|
+
children: group.label
|
|
15035
|
+
}
|
|
15036
|
+
),
|
|
15037
|
+
group.items.map((tab) => /* @__PURE__ */ jsx161(TabsTrigger, { value: tabValue(tab), className: railTriggerClass, children: tab.contentLabel ?? tab.label }, tab.label))
|
|
15026
15038
|
] }, group.label))
|
|
15027
15039
|
] })
|
|
15028
|
-
|
|
15029
|
-
|
|
15030
|
-
|
|
15031
|
-
|
|
15032
|
-
|
|
15033
|
-
{
|
|
15034
|
-
className: cn(
|
|
15035
|
-
`min-w-0 grow`,
|
|
15036
|
-
activeFillHeight ? `flex flex-col overflow-hidden` : `overflow-y-auto p-4`
|
|
15037
|
-
),
|
|
15038
|
-
children: /* @__PURE__ */ jsxs94(
|
|
15039
|
-
"div",
|
|
15040
|
+
}
|
|
15041
|
+
),
|
|
15042
|
+
/* @__PURE__ */ jsxs94("div", { className: "flex min-w-0 grow flex-col overflow-hidden", children: [
|
|
15043
|
+
/* @__PURE__ */ jsx161("div", { "data-testid": "round-page-rail-select", className: "p-2 md:hidden", children: /* @__PURE__ */ jsxs94(
|
|
15044
|
+
Select,
|
|
15040
15045
|
{
|
|
15041
|
-
|
|
15042
|
-
|
|
15043
|
-
)
|
|
15046
|
+
items: tabItems,
|
|
15047
|
+
value: activeTab,
|
|
15048
|
+
onValueChange: (value) => {
|
|
15049
|
+
if (value) handleTabChange(value);
|
|
15050
|
+
},
|
|
15044
15051
|
children: [
|
|
15045
|
-
|
|
15046
|
-
|
|
15047
|
-
|
|
15048
|
-
{
|
|
15049
|
-
|
|
15050
|
-
|
|
15051
|
-
|
|
15052
|
-
|
|
15053
|
-
tab.label
|
|
15054
|
-
)),
|
|
15055
|
-
children && /* @__PURE__ */ jsx161("div", { className: "flex", children })
|
|
15052
|
+
/* @__PURE__ */ jsx161(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx161(SelectValue, {}) }),
|
|
15053
|
+
/* @__PURE__ */ jsxs94(SelectContent, { children: [
|
|
15054
|
+
ungrouped.map((tab) => /* @__PURE__ */ jsx161(SelectItem, { value: tabValue(tab), children: tab.contentLabel ?? tab.label }, tab.label)),
|
|
15055
|
+
groups.map((group) => /* @__PURE__ */ jsxs94(SelectGroup, { children: [
|
|
15056
|
+
/* @__PURE__ */ jsx161(SelectLabel, { children: group.label }),
|
|
15057
|
+
group.items.map((tab) => /* @__PURE__ */ jsx161(SelectItem, { value: tabValue(tab), children: tab.contentLabel ?? tab.label }, tab.label))
|
|
15058
|
+
] }, group.label))
|
|
15059
|
+
] })
|
|
15056
15060
|
]
|
|
15057
15061
|
}
|
|
15058
|
-
)
|
|
15059
|
-
|
|
15060
|
-
|
|
15061
|
-
|
|
15062
|
-
|
|
15063
|
-
|
|
15064
|
-
|
|
15065
|
-
|
|
15066
|
-
|
|
15067
|
-
{
|
|
15068
|
-
className: cn(
|
|
15069
|
-
`grow`,
|
|
15070
|
-
isMobile ? `p-2` : `p-4`,
|
|
15071
|
-
activeFillHeight ? `flex flex-col overflow-hidden` : `overflow-y-auto`,
|
|
15072
|
-
fullWidth && `p-0`
|
|
15073
|
-
),
|
|
15074
|
-
children: /* @__PURE__ */ jsxs94(
|
|
15075
|
-
"div",
|
|
15076
|
-
{
|
|
15077
|
-
className: cn(
|
|
15078
|
-
`mx-auto max-w-6xl space-y-8`,
|
|
15079
|
-
activeFillHeight && `flex w-full flex-1 min-h-0 flex-col space-y-0`,
|
|
15080
|
-
fullWidth && `max-w-full w-full p-0 h-full`
|
|
15081
|
-
),
|
|
15082
|
-
children: [
|
|
15083
|
-
header,
|
|
15084
|
-
tabs ? /* @__PURE__ */ jsxs94(Fragment24, { children: [
|
|
15085
|
-
/* @__PURE__ */ jsxs94(
|
|
15086
|
-
Tabs,
|
|
15087
|
-
{
|
|
15088
|
-
value: activeTab,
|
|
15089
|
-
className: cn(`w-full`, activeFillHeight && `flex flex-1 min-h-0 flex-col`),
|
|
15090
|
-
onValueChange: handleTabChange,
|
|
15091
|
-
children: [
|
|
15092
|
-
isMobile ? /* @__PURE__ */ jsx161("div", { className: "p-0", children: /* @__PURE__ */ jsxs94(
|
|
15093
|
-
Select,
|
|
15094
|
-
{
|
|
15095
|
-
items: tabItems,
|
|
15096
|
-
value: activeTab,
|
|
15097
|
-
onValueChange: (value) => {
|
|
15098
|
-
if (value) handleTabChange(value);
|
|
15099
|
-
},
|
|
15100
|
-
children: [
|
|
15101
|
-
/* @__PURE__ */ jsx161(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx161(SelectValue, {}) }),
|
|
15102
|
-
/* @__PURE__ */ jsx161(SelectContent, { children: tabs.map((tab) => /* @__PURE__ */ jsx161(SelectItem, { value: tabValue(tab), children: tab.contentLabel ?? tab.label }, tab.label)) })
|
|
15103
|
-
]
|
|
15104
|
-
}
|
|
15105
|
-
) }) : /* @__PURE__ */ jsx161("div", { className: "p-4", children: /* @__PURE__ */ jsx161(TabsList, { children: tabs.map((tab) => /* @__PURE__ */ jsx161(TabsTrigger, { value: tabValue(tab), className: "px-4", children: tab.contentLabel ?? tab.label }, tab.label)) }) }),
|
|
15106
|
-
/* @__PURE__ */ jsx161(
|
|
15062
|
+
) }),
|
|
15063
|
+
/* @__PURE__ */ jsx161(
|
|
15064
|
+
"div",
|
|
15065
|
+
{
|
|
15066
|
+
className: cn(
|
|
15067
|
+
`min-w-0 grow`,
|
|
15068
|
+
activeFillHeight ? `flex flex-col overflow-hidden` : `overflow-y-auto p-4`
|
|
15069
|
+
),
|
|
15070
|
+
children: /* @__PURE__ */ jsxs94(
|
|
15107
15071
|
"div",
|
|
15108
15072
|
{
|
|
15109
15073
|
className: cn(
|
|
15110
|
-
`flex w-full
|
|
15111
|
-
isMobile ? `` : `px-4`,
|
|
15112
|
-
activeFillHeight ? `flex-1 min-h-0` : `overflow-y-auto`
|
|
15074
|
+
activeFillHeight ? `flex min-h-0 w-full flex-1 flex-col` : `mx-auto w-full max-w-6xl`
|
|
15113
15075
|
),
|
|
15114
|
-
children:
|
|
15115
|
-
|
|
15116
|
-
|
|
15117
|
-
|
|
15118
|
-
|
|
15119
|
-
|
|
15120
|
-
|
|
15121
|
-
|
|
15122
|
-
|
|
15076
|
+
children: [
|
|
15077
|
+
header,
|
|
15078
|
+
tabs.map((tab) => /* @__PURE__ */ jsx161(
|
|
15079
|
+
TabsContent,
|
|
15080
|
+
{
|
|
15081
|
+
value: tabValue(tab),
|
|
15082
|
+
className: tab.fillHeight ? `flex min-h-0 w-full flex-1 flex-col` : ``,
|
|
15083
|
+
children: tab.content
|
|
15084
|
+
},
|
|
15085
|
+
tab.label
|
|
15086
|
+
)),
|
|
15087
|
+
children && /* @__PURE__ */ jsx161("div", { className: "flex", children })
|
|
15088
|
+
]
|
|
15123
15089
|
}
|
|
15124
15090
|
)
|
|
15125
|
-
|
|
15126
|
-
|
|
15091
|
+
}
|
|
15092
|
+
)
|
|
15093
|
+
] })
|
|
15094
|
+
]
|
|
15095
|
+
}
|
|
15096
|
+
)
|
|
15097
|
+
) : /* @__PURE__ */ jsx161(
|
|
15098
|
+
"div",
|
|
15099
|
+
{
|
|
15100
|
+
className: cn(
|
|
15101
|
+
`grow`,
|
|
15102
|
+
isMobile ? `p-2` : `p-4`,
|
|
15103
|
+
activeFillHeight ? `flex flex-col overflow-hidden` : `overflow-y-auto`,
|
|
15104
|
+
fullWidth && `p-0`
|
|
15105
|
+
),
|
|
15106
|
+
children: /* @__PURE__ */ jsxs94(
|
|
15107
|
+
"div",
|
|
15108
|
+
{
|
|
15109
|
+
className: cn(
|
|
15110
|
+
`mx-auto max-w-6xl space-y-8`,
|
|
15111
|
+
activeFillHeight && `flex w-full flex-1 min-h-0 flex-col space-y-0`,
|
|
15112
|
+
fullWidth && `max-w-full w-full p-0 h-full`
|
|
15127
15113
|
),
|
|
15128
|
-
children
|
|
15129
|
-
|
|
15130
|
-
|
|
15114
|
+
children: [
|
|
15115
|
+
header,
|
|
15116
|
+
tabs ? /* @__PURE__ */ jsxs94(Fragment24, { children: [
|
|
15117
|
+
/* @__PURE__ */ jsxs94(
|
|
15118
|
+
Tabs,
|
|
15119
|
+
{
|
|
15120
|
+
value: activeTab,
|
|
15121
|
+
className: cn(`w-full`, activeFillHeight && `flex flex-1 min-h-0 flex-col`),
|
|
15122
|
+
onValueChange: handleTabChange,
|
|
15123
|
+
children: [
|
|
15124
|
+
isMobile ? /* @__PURE__ */ jsx161("div", { className: "p-0", children: /* @__PURE__ */ jsxs94(
|
|
15125
|
+
Select,
|
|
15126
|
+
{
|
|
15127
|
+
items: tabItems,
|
|
15128
|
+
value: activeTab,
|
|
15129
|
+
onValueChange: (value) => {
|
|
15130
|
+
if (value) handleTabChange(value);
|
|
15131
|
+
},
|
|
15132
|
+
children: [
|
|
15133
|
+
/* @__PURE__ */ jsx161(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx161(SelectValue, {}) }),
|
|
15134
|
+
/* @__PURE__ */ jsx161(SelectContent, { children: tabs.map((tab) => /* @__PURE__ */ jsx161(SelectItem, { value: tabValue(tab), children: tab.contentLabel ?? tab.label }, tab.label)) })
|
|
15135
|
+
]
|
|
15136
|
+
}
|
|
15137
|
+
) }) : /* @__PURE__ */ jsx161("div", { className: "p-4", children: /* @__PURE__ */ jsx161(TabsList, { children: tabs.map((tab) => /* @__PURE__ */ jsx161(TabsTrigger, { value: tabValue(tab), className: "px-4", children: tab.contentLabel ?? tab.label }, tab.label)) }) }),
|
|
15138
|
+
/* @__PURE__ */ jsx161(
|
|
15139
|
+
"div",
|
|
15140
|
+
{
|
|
15141
|
+
className: cn(
|
|
15142
|
+
`flex w-full `,
|
|
15143
|
+
isMobile ? `` : `px-4`,
|
|
15144
|
+
activeFillHeight ? `flex-1 min-h-0` : `overflow-y-auto`
|
|
15145
|
+
),
|
|
15146
|
+
children: tabs.map((tab) => /* @__PURE__ */ jsx161(
|
|
15147
|
+
TabsContent,
|
|
15148
|
+
{
|
|
15149
|
+
value: tabValue(tab),
|
|
15150
|
+
className: tab.fillHeight ? `flex flex-1 min-h-0 w-full flex-col` : `pb-20`,
|
|
15151
|
+
children: tab.content
|
|
15152
|
+
},
|
|
15153
|
+
tab.label
|
|
15154
|
+
))
|
|
15155
|
+
}
|
|
15156
|
+
)
|
|
15157
|
+
]
|
|
15158
|
+
}
|
|
15159
|
+
),
|
|
15160
|
+
children && /* @__PURE__ */ jsx161("div", { className: cn(`flex`, isMobile ? `px-2` : `px-4`), children })
|
|
15161
|
+
] }) : children
|
|
15162
|
+
]
|
|
15163
|
+
}
|
|
15164
|
+
)
|
|
15131
15165
|
}
|
|
15132
|
-
)
|
|
15133
|
-
}
|
|
15134
|
-
|
|
15135
|
-
|
|
15136
|
-
|
|
15137
|
-
|
|
15138
|
-
|
|
15139
|
-
|
|
15140
|
-
|
|
15141
|
-
|
|
15142
|
-
|
|
15143
|
-
|
|
15144
|
-
|
|
15145
|
-
|
|
15146
|
-
|
|
15147
|
-
|
|
15148
|
-
|
|
15149
|
-
|
|
15150
|
-
|
|
15151
|
-
|
|
15166
|
+
) })
|
|
15167
|
+
] }),
|
|
15168
|
+
details && (isMobile ? /* @__PURE__ */ jsx161(Sheet, { open: showDetails, onOpenChange: setShowDetails, children: /* @__PURE__ */ jsxs94(SheetContent, { side: "right", children: [
|
|
15169
|
+
/* @__PURE__ */ jsx161(SheetHeader, { children: /* @__PURE__ */ jsx161(SheetTitle, { children: detailsTitle ?? "Details" }) }),
|
|
15170
|
+
/* @__PURE__ */ jsx161("div", { className: "overflow-y-auto p-6 pt-0", children: details })
|
|
15171
|
+
] }) }) : /* @__PURE__ */ jsxs94(
|
|
15172
|
+
"div",
|
|
15173
|
+
{
|
|
15174
|
+
className: cn(
|
|
15175
|
+
// `flex-col` + a separate scroll body below: the header must stay
|
|
15176
|
+
// put while the panel content scrolls. Scrolling on this element
|
|
15177
|
+
// (as it did before) would carry the header away with the content.
|
|
15178
|
+
"flex h-full shrink-0 flex-col overflow-hidden transition-all duration-300 ease-in-out",
|
|
15179
|
+
showDetails ? "w-96 border-l opacity-100" : "ml-0 w-0 border-l-0 opacity-0"
|
|
15180
|
+
),
|
|
15181
|
+
children: [
|
|
15182
|
+
detailsTitle && // Mirrors RoundPageContainerTitle's structure exactly — border on an
|
|
15183
|
+
// OUTER wrapper, height floor on the INNER row. Putting the border
|
|
15184
|
+
// inside the measured row instead leaves this header 1px short of
|
|
15185
|
+
// the page title bar, since `box-sizing: border-box` absorbs it.
|
|
15186
|
+
/* @__PURE__ */ jsx161("div", { className: "shrink-0 border-b", children: /* @__PURE__ */ jsx161("div", { className: cn("flex items-center p-4", HEADER_ROW_MIN_H), children: /* @__PURE__ */ jsx161("span", { className: "text-primary truncate text-sm font-semibold", children: detailsTitle }) }) }),
|
|
15187
|
+
/* @__PURE__ */ jsx161("div", { className: "min-h-0 flex-1 overflow-y-auto p-4", children: details })
|
|
15188
|
+
]
|
|
15189
|
+
}
|
|
15190
|
+
))
|
|
15191
|
+
] }),
|
|
15192
|
+
/* @__PURE__ */ jsx161(MobileNavigationBar, {})
|
|
15193
|
+
]
|
|
15194
|
+
}
|
|
15195
|
+
)
|
|
15152
15196
|
] });
|
|
15153
15197
|
}
|
|
15154
15198
|
__name(RoundPageContainer, "RoundPageContainer");
|
|
@@ -19725,7 +19769,7 @@ function AssistantEmptyState({ onSend, operatorMode = false, onOperatorModeChang
|
|
|
19725
19769
|
onCheckedChange: (checked) => onOperatorModeChange(checked === true)
|
|
19726
19770
|
}
|
|
19727
19771
|
),
|
|
19728
|
-
/* @__PURE__ */ jsx225(Label, { htmlFor: "assistant-operator-mode", className: "text-muted-foreground text-xs", children: t("features.assistant.operator_mode") })
|
|
19772
|
+
/* @__PURE__ */ jsx225(Label, { htmlFor: "assistant-operator-mode", className: "text-muted-foreground cursor-pointer text-xs", children: t("features.assistant.operator_mode") })
|
|
19729
19773
|
] }),
|
|
19730
19774
|
/* @__PURE__ */ jsx225("div", { className: "grid grid-cols-2 gap-2", children: STARTER_KEYS.map((k) => {
|
|
19731
19775
|
const text = t(`features.assistant.starters.${k}`);
|
|
@@ -23571,6 +23615,7 @@ export {
|
|
|
23571
23615
|
PageContainer,
|
|
23572
23616
|
partitionTabs,
|
|
23573
23617
|
ReactMarkdownContainer,
|
|
23618
|
+
HEADER_ROW_MIN_H,
|
|
23574
23619
|
RoundPageContainerTitle,
|
|
23575
23620
|
RoundPageContainer,
|
|
23576
23621
|
TabsContainer,
|
|
@@ -23798,4 +23843,4 @@ export {
|
|
|
23798
23843
|
useOAuthClients,
|
|
23799
23844
|
useOAuthClient
|
|
23800
23845
|
};
|
|
23801
|
-
//# sourceMappingURL=chunk-
|
|
23846
|
+
//# sourceMappingURL=chunk-2KXPQHZU.mjs.map
|