@bergetai/ui 0.16.0 → 0.16.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/dist/components/alert-dialog/AlertDialog.cjs +26 -5
- package/dist/components/alert-dialog/AlertDialog.cjs.map +1 -1
- package/dist/components/alert-dialog/AlertDialog.d.cts.map +1 -1
- package/dist/components/alert-dialog/AlertDialog.d.mts.map +1 -1
- package/dist/components/alert-dialog/AlertDialog.mjs +26 -5
- package/dist/components/alert-dialog/AlertDialog.mjs.map +1 -1
- package/dist/components/badge/Badge.cjs +12 -3
- package/dist/components/badge/Badge.cjs.map +1 -1
- package/dist/components/badge/Badge.d.cts.map +1 -1
- package/dist/components/badge/Badge.d.mts.map +1 -1
- package/dist/components/badge/Badge.mjs +12 -3
- package/dist/components/badge/Badge.mjs.map +1 -1
- package/dist/components/box/Box.cjs +3 -1
- package/dist/components/box/Box.cjs.map +1 -1
- package/dist/components/box/Box.mjs +3 -1
- package/dist/components/box/Box.mjs.map +1 -1
- package/dist/components/button/Button.cjs +40 -6
- package/dist/components/button/Button.cjs.map +1 -1
- package/dist/components/button/Button.d.cts.map +1 -1
- package/dist/components/button/Button.d.mts.map +1 -1
- package/dist/components/button/Button.mjs +40 -6
- package/dist/components/button/Button.mjs.map +1 -1
- package/dist/components/card/Card.cjs +2 -2
- package/dist/components/card/Card.cjs.map +1 -1
- package/dist/components/card/Card.mjs +2 -2
- package/dist/components/card/Card.mjs.map +1 -1
- package/dist/components/checkbox/Checkbox.cjs +28 -11
- package/dist/components/checkbox/Checkbox.cjs.map +1 -1
- package/dist/components/checkbox/Checkbox.d.cts.map +1 -1
- package/dist/components/checkbox/Checkbox.d.mts.map +1 -1
- package/dist/components/checkbox/Checkbox.mjs +28 -11
- package/dist/components/checkbox/Checkbox.mjs.map +1 -1
- package/dist/components/code-block/CodeBlock.cjs +10 -7
- package/dist/components/code-block/CodeBlock.cjs.map +1 -1
- package/dist/components/code-block/CodeBlock.mjs +10 -7
- package/dist/components/code-block/CodeBlock.mjs.map +1 -1
- package/dist/components/container/Container.cjs +16 -5
- package/dist/components/container/Container.cjs.map +1 -1
- package/dist/components/container/Container.d.cts.map +1 -1
- package/dist/components/container/Container.d.mts.map +1 -1
- package/dist/components/container/Container.mjs +16 -5
- package/dist/components/container/Container.mjs.map +1 -1
- package/dist/components/country-select/CountrySelect.cjs +22 -13
- package/dist/components/country-select/CountrySelect.cjs.map +1 -1
- package/dist/components/country-select/CountrySelect.mjs +22 -13
- package/dist/components/country-select/CountrySelect.mjs.map +1 -1
- package/dist/components/dialog/Dialog.cjs +23 -5
- package/dist/components/dialog/Dialog.cjs.map +1 -1
- package/dist/components/dialog/Dialog.d.cts.map +1 -1
- package/dist/components/dialog/Dialog.d.mts.map +1 -1
- package/dist/components/dialog/Dialog.mjs +23 -5
- package/dist/components/dialog/Dialog.mjs.map +1 -1
- package/dist/components/divider/Divider.cjs +5 -5
- package/dist/components/divider/Divider.cjs.map +1 -1
- package/dist/components/divider/Divider.mjs +5 -5
- package/dist/components/divider/Divider.mjs.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.cjs +8 -2
- package/dist/components/dropdown-menu/DropdownMenu.cjs.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.d.cts.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.d.mts.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.mjs +8 -2
- package/dist/components/dropdown-menu/DropdownMenu.mjs.map +1 -1
- package/dist/components/empty/Empty.cjs +4 -1
- package/dist/components/empty/Empty.cjs.map +1 -1
- package/dist/components/empty/Empty.d.cts.map +1 -1
- package/dist/components/empty/Empty.d.mts.map +1 -1
- package/dist/components/empty/Empty.mjs +4 -1
- package/dist/components/empty/Empty.mjs.map +1 -1
- package/dist/components/grid/Grid.cjs +11 -1
- package/dist/components/grid/Grid.cjs.map +1 -1
- package/dist/components/grid/Grid.mjs +11 -1
- package/dist/components/grid/Grid.mjs.map +1 -1
- package/dist/components/input-group/InputGroup.cjs +11 -2
- package/dist/components/input-group/InputGroup.cjs.map +1 -1
- package/dist/components/input-group/InputGroup.d.cts.map +1 -1
- package/dist/components/input-group/InputGroup.d.mts.map +1 -1
- package/dist/components/input-group/InputGroup.mjs +11 -2
- package/dist/components/input-group/InputGroup.mjs.map +1 -1
- package/dist/components/item/Item.cjs +4 -1
- package/dist/components/item/Item.cjs.map +1 -1
- package/dist/components/item/Item.d.cts.map +1 -1
- package/dist/components/item/Item.d.mts.map +1 -1
- package/dist/components/item/Item.mjs +4 -1
- package/dist/components/item/Item.mjs.map +1 -1
- package/dist/components/link/Link.cjs +32 -8
- package/dist/components/link/Link.cjs.map +1 -1
- package/dist/components/link/Link.d.cts.map +1 -1
- package/dist/components/link/Link.d.mts.map +1 -1
- package/dist/components/link/Link.mjs +32 -8
- package/dist/components/link/Link.mjs.map +1 -1
- package/dist/components/list/List.cjs +15 -6
- package/dist/components/list/List.cjs.map +1 -1
- package/dist/components/list/List.d.cts.map +1 -1
- package/dist/components/list/List.d.mts.map +1 -1
- package/dist/components/list/List.mjs +15 -6
- package/dist/components/list/List.mjs.map +1 -1
- package/dist/components/model-card/ModelCard.cjs +12 -9
- package/dist/components/model-card/ModelCard.cjs.map +1 -1
- package/dist/components/model-card/ModelCard.mjs +12 -9
- package/dist/components/model-card/ModelCard.mjs.map +1 -1
- package/dist/components/navigation-menu/NavigationMenu.cjs +43 -7
- package/dist/components/navigation-menu/NavigationMenu.cjs.map +1 -1
- package/dist/components/navigation-menu/NavigationMenu.d.cts.map +1 -1
- package/dist/components/navigation-menu/NavigationMenu.d.mts.map +1 -1
- package/dist/components/navigation-menu/NavigationMenu.mjs +43 -7
- package/dist/components/navigation-menu/NavigationMenu.mjs.map +1 -1
- package/dist/components/progress/Progress.cjs +4 -1
- package/dist/components/progress/Progress.cjs.map +1 -1
- package/dist/components/progress/Progress.mjs +4 -1
- package/dist/components/progress/Progress.mjs.map +1 -1
- package/dist/components/search-input/SearchInput.cjs +1 -1
- package/dist/components/search-input/SearchInput.cjs.map +1 -1
- package/dist/components/search-input/SearchInput.mjs +1 -1
- package/dist/components/search-input/SearchInput.mjs.map +1 -1
- package/dist/components/sidebar/Sidebar.cjs +15 -6
- package/dist/components/sidebar/Sidebar.cjs.map +1 -1
- package/dist/components/sidebar/Sidebar.d.cts.map +1 -1
- package/dist/components/sidebar/Sidebar.d.mts.map +1 -1
- package/dist/components/sidebar/Sidebar.mjs +15 -6
- package/dist/components/sidebar/Sidebar.mjs.map +1 -1
- package/dist/components/slider/Slider.cjs +8 -6
- package/dist/components/slider/Slider.cjs.map +1 -1
- package/dist/components/slider/Slider.d.cts +7 -5
- package/dist/components/slider/Slider.d.cts.map +1 -1
- package/dist/components/slider/Slider.d.mts +7 -5
- package/dist/components/slider/Slider.d.mts.map +1 -1
- package/dist/components/slider/Slider.mjs +8 -6
- package/dist/components/slider/Slider.mjs.map +1 -1
- package/dist/components/switch/Switch.cjs +42 -11
- package/dist/components/switch/Switch.cjs.map +1 -1
- package/dist/components/switch/Switch.d.cts.map +1 -1
- package/dist/components/switch/Switch.d.mts.map +1 -1
- package/dist/components/switch/Switch.mjs +42 -11
- package/dist/components/switch/Switch.mjs.map +1 -1
- package/dist/components/table/Table.cjs +22 -5
- package/dist/components/table/Table.cjs.map +1 -1
- package/dist/components/table/Table.d.cts.map +1 -1
- package/dist/components/table/Table.d.mts.map +1 -1
- package/dist/components/table/Table.mjs +22 -5
- package/dist/components/table/Table.mjs.map +1 -1
- package/dist/components/theme-provider/ThemeToggle.cjs +9 -3
- package/dist/components/theme-provider/ThemeToggle.cjs.map +1 -1
- package/dist/components/theme-provider/ThemeToggle.mjs +9 -3
- package/dist/components/theme-provider/ThemeToggle.mjs.map +1 -1
- package/dist/components/typography/Typography.cjs +19 -13
- package/dist/components/typography/Typography.cjs.map +1 -1
- package/dist/components/typography/Typography.d.cts.map +1 -1
- package/dist/components/typography/Typography.d.mts.map +1 -1
- package/dist/components/typography/Typography.mjs +19 -13
- package/dist/components/typography/Typography.mjs.map +1 -1
- package/dist/components/window-frame/WindowFrame.cjs +18 -8
- package/dist/components/window-frame/WindowFrame.cjs.map +1 -1
- package/dist/components/window-frame/WindowFrame.mjs +18 -8
- package/dist/components/window-frame/WindowFrame.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.cjs","names":["cva","React","useRender","mergeProps","cn"],"sources":["../../../src/components/container/Container.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\n\nconst containerVariants = cva('w-full
|
|
1
|
+
{"version":3,"file":"Container.cjs","names":["cva","React","useRender","mergeProps","cn"],"sources":["../../../src/components/container/Container.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\n\nconst containerVariants = cva('mx-auto w-full', {\n variants: {\n size: {\n sm: 'max-w-3xl',\n md: 'max-w-5xl',\n lg: 'max-w-7xl',\n xl: 'max-w-7xl',\n full: 'max-w-full',\n },\n padding: {\n none: 'px-0',\n sm: `\n px-4\n sm:px-6\n `,\n md: `\n px-4\n sm:px-6\n lg:px-8\n `,\n lg: `\n px-4\n sm:px-8\n lg:px-12\n `,\n },\n },\n defaultVariants: {\n size: 'lg',\n padding: 'md',\n },\n});\n\nexport interface ContainerProps\n extends useRender.ComponentProps<'div'>, VariantProps<typeof containerVariants> {\n children?: React.ReactNode;\n /** Render as a different element/component. Replaces the Radix `asChild` prop. */\n asChild?: boolean;\n}\n\nconst Container = React.forwardRef<HTMLDivElement, ContainerProps>(\n ({ className, size, padding, asChild = false, children, ...props }, ref) => {\n return useRender({\n ref,\n defaultTagName: 'div',\n render: asChild ? (children as React.ReactElement) : undefined,\n props: mergeProps<'div'>(\n {\n className: cn(containerVariants({ size, padding }), className),\n children: asChild ? undefined : children,\n } as React.ComponentProps<'div'>,\n props,\n ),\n });\n },\n);\nContainer.displayName = 'Container';\n\nexport { Container, containerVariants };\n"],"mappings":";;;;;;;;;AAQA,MAAM,qBAAA,GAAoBA,yBAAAA,IAAAA,CAAI,kBAAkB;CAC9C,UAAU;EACR,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,MAAM;EACR;EACA,SAAS;GACP,MAAM;GACN,IAAI;;;;GAIJ,IAAI;;;;;GAKJ,IAAI;;;;;EAKN;CACF;CACA,iBAAiB;EACf,MAAM;EACN,SAAS;CACX;AACF,CAAC;AASD,MAAM,YAAYC,MAAM,YACrB,EAAE,WAAW,MAAM,SAAS,UAAU,OAAO,UAAU,GAAG,SAAS,QAAQ;CAC1E,QAAA,GAAOC,0BAAAA,UAAAA,CAAU;EACf;EACA,gBAAgB;EAChB,QAAQ,UAAW,WAAkC,KAAA;EACrD,QAAA,GAAOC,2BAAAA,WAAAA,CACL;GACE,WAAWC,cAAAA,GAAG,kBAAkB;IAAE;IAAM;GAAQ,CAAC,GAAG,SAAS;GAC7D,UAAU,UAAU,KAAA,IAAY;EAClC,GACA,KACF;CACF,CAAC;AACH,CACF;AACA,UAAU,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.d.cts","names":[],"sources":["../../../src/components/container/Container.tsx"],"mappings":";;;;cAQM,oBAAiB;;;
|
|
1
|
+
{"version":3,"file":"Container.d.cts","names":[],"sources":["../../../src/components/container/Container.tsx"],"mappings":";;;;cAQM,oBAAiB;;;6CA+BrB;iBAEe,uBACP,UAAU,uBAAuB,oBAAoB;EAC7D,WAAW,MAAM;;EAEjB;;cAGI,WAAS,MAAA,0BAAA,KAAA,yBAAA,MAAA,cAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.d.mts","names":[],"sources":["../../../src/components/container/Container.tsx"],"mappings":";;;;cAQM,oBAAiB;;;
|
|
1
|
+
{"version":3,"file":"Container.d.mts","names":[],"sources":["../../../src/components/container/Container.tsx"],"mappings":";;;;cAQM,oBAAiB;;;6CA+BrB;iBAEe,uBACP,UAAU,uBAAuB,oBAAoB;EAC7D,WAAW,MAAM;;EAEjB;;cAGI,WAAS,MAAA,0BAAA,KAAA,yBAAA,MAAA,cAAA"}
|
|
@@ -5,20 +5,31 @@ import { cva } from "class-variance-authority";
|
|
|
5
5
|
import { mergeProps } from "@base-ui/react/merge-props";
|
|
6
6
|
import { useRender } from "@base-ui/react/use-render";
|
|
7
7
|
//#region src/components/container/Container.tsx
|
|
8
|
-
const containerVariants = cva("w-full
|
|
8
|
+
const containerVariants = cva("mx-auto w-full", {
|
|
9
9
|
variants: {
|
|
10
10
|
size: {
|
|
11
11
|
sm: "max-w-3xl",
|
|
12
12
|
md: "max-w-5xl",
|
|
13
13
|
lg: "max-w-7xl",
|
|
14
|
-
xl: "max-w-
|
|
14
|
+
xl: "max-w-7xl",
|
|
15
15
|
full: "max-w-full"
|
|
16
16
|
},
|
|
17
17
|
padding: {
|
|
18
18
|
none: "px-0",
|
|
19
|
-
sm:
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
sm: `
|
|
20
|
+
px-4
|
|
21
|
+
sm:px-6
|
|
22
|
+
`,
|
|
23
|
+
md: `
|
|
24
|
+
px-4
|
|
25
|
+
sm:px-6
|
|
26
|
+
lg:px-8
|
|
27
|
+
`,
|
|
28
|
+
lg: `
|
|
29
|
+
px-4
|
|
30
|
+
sm:px-8
|
|
31
|
+
lg:px-12
|
|
32
|
+
`
|
|
22
33
|
}
|
|
23
34
|
},
|
|
24
35
|
defaultVariants: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.mjs","names":[],"sources":["../../../src/components/container/Container.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\n\nconst containerVariants = cva('w-full
|
|
1
|
+
{"version":3,"file":"Container.mjs","names":[],"sources":["../../../src/components/container/Container.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\n\nconst containerVariants = cva('mx-auto w-full', {\n variants: {\n size: {\n sm: 'max-w-3xl',\n md: 'max-w-5xl',\n lg: 'max-w-7xl',\n xl: 'max-w-7xl',\n full: 'max-w-full',\n },\n padding: {\n none: 'px-0',\n sm: `\n px-4\n sm:px-6\n `,\n md: `\n px-4\n sm:px-6\n lg:px-8\n `,\n lg: `\n px-4\n sm:px-8\n lg:px-12\n `,\n },\n },\n defaultVariants: {\n size: 'lg',\n padding: 'md',\n },\n});\n\nexport interface ContainerProps\n extends useRender.ComponentProps<'div'>, VariantProps<typeof containerVariants> {\n children?: React.ReactNode;\n /** Render as a different element/component. Replaces the Radix `asChild` prop. */\n asChild?: boolean;\n}\n\nconst Container = React.forwardRef<HTMLDivElement, ContainerProps>(\n ({ className, size, padding, asChild = false, children, ...props }, ref) => {\n return useRender({\n ref,\n defaultTagName: 'div',\n render: asChild ? (children as React.ReactElement) : undefined,\n props: mergeProps<'div'>(\n {\n className: cn(containerVariants({ size, padding }), className),\n children: asChild ? undefined : children,\n } as React.ComponentProps<'div'>,\n props,\n ),\n });\n },\n);\nContainer.displayName = 'Container';\n\nexport { Container, containerVariants };\n"],"mappings":";;;;;;;AAQA,MAAM,oBAAoB,IAAI,kBAAkB;CAC9C,UAAU;EACR,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,MAAM;EACR;EACA,SAAS;GACP,MAAM;GACN,IAAI;;;;GAIJ,IAAI;;;;;GAKJ,IAAI;;;;;EAKN;CACF;CACA,iBAAiB;EACf,MAAM;EACN,SAAS;CACX;AACF,CAAC;AASD,MAAM,YAAY,MAAM,YACrB,EAAE,WAAW,MAAM,SAAS,UAAU,OAAO,UAAU,GAAG,SAAS,QAAQ;CAC1E,OAAO,UAAU;EACf;EACA,gBAAgB;EAChB,QAAQ,UAAW,WAAkC,KAAA;EACrD,OAAO,WACL;GACE,WAAW,GAAG,kBAAkB;IAAE;IAAM;GAAQ,CAAC,GAAG,SAAS;GAC7D,UAAU,UAAU,KAAA,IAAY;EAClC,GACA,KACF;CACF,CAAC;AACH,CACF;AACA,UAAU,cAAc"}
|
|
@@ -22,13 +22,19 @@ const CountrySelect = react.forwardRef(({ value, onValueChange, placeholder = "S
|
|
|
22
22
|
type: "button",
|
|
23
23
|
disabled,
|
|
24
24
|
"aria-expanded": open,
|
|
25
|
-
className: require_utils.cn("flex w-full items-center justify-between", "rounded-berget-xs border bg-card", "px-4 py-3 text-sm", "transition-colors duration-200", "focus-visible:
|
|
25
|
+
className: require_utils.cn("flex w-full items-center justify-between", "rounded-berget-xs border bg-card", "px-4 py-3 text-sm", "transition-colors duration-200", "focus-visible:ring-0 focus-visible:outline-none", `
|
|
26
|
+
focus-visible:border-berget-form-focus-border
|
|
27
|
+
focus-visible:ring-offset-0
|
|
28
|
+
`, "disabled:cursor-not-allowed disabled:opacity-50", `
|
|
29
|
+
border-berget-border-interactive
|
|
30
|
+
hover:bg-berget-surface-hover
|
|
31
|
+
`, className)
|
|
26
32
|
}),
|
|
27
33
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
28
|
-
className: "flex
|
|
34
|
+
className: "flex min-w-0 flex-1 items-center gap-2",
|
|
29
35
|
children: selectedCountry ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
30
36
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
31
|
-
className: "text-xl
|
|
37
|
+
className: "shrink-0 text-xl",
|
|
32
38
|
children: selectedCountry.flag
|
|
33
39
|
}),
|
|
34
40
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
@@ -36,7 +42,7 @@ const CountrySelect = react.forwardRef(({ value, onValueChange, placeholder = "S
|
|
|
36
42
|
children: selectedCountry.name
|
|
37
43
|
}),
|
|
38
44
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
39
|
-
className: "
|
|
45
|
+
className: "shrink-0 text-xs text-berget-muted-foreground",
|
|
40
46
|
children: [
|
|
41
47
|
"(",
|
|
42
48
|
selectedCountry.code,
|
|
@@ -46,43 +52,46 @@ const CountrySelect = react.forwardRef(({ value, onValueChange, placeholder = "S
|
|
|
46
52
|
] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
|
|
47
53
|
icon: lucide_react.Globe,
|
|
48
54
|
size: 16,
|
|
49
|
-
className: "
|
|
55
|
+
className: "shrink-0 text-berget-muted-foreground"
|
|
50
56
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
51
|
-
className: "text-berget-muted-foreground
|
|
57
|
+
className: "truncate text-berget-muted-foreground",
|
|
52
58
|
children: placeholder
|
|
53
59
|
})] })
|
|
54
60
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
|
|
55
61
|
icon: lucide_react.ChevronDown,
|
|
56
62
|
size: 16,
|
|
57
|
-
className: require_utils.cn("
|
|
63
|
+
className: require_utils.cn("shrink-0 text-berget-muted-foreground", "transition-transform duration-200", open && "rotate-180")
|
|
58
64
|
})]
|
|
59
65
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_popover.PopoverContent, {
|
|
60
66
|
align,
|
|
61
67
|
sideOffset,
|
|
62
|
-
className: "w-
|
|
68
|
+
className: "w-(--radix-popover-trigger-width) p-0",
|
|
63
69
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_command.Command, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_command.CommandInput, { placeholder: "Search country..." }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_command.CommandList, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_command.CommandEmpty, { children: "No countries found." }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_command.CommandGroup, { children: require_countries.COUNTRIES.map((country) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_command.CommandItem, {
|
|
64
70
|
value: `${country.name} ${country.code}`,
|
|
65
71
|
onSelect: () => {
|
|
66
72
|
onValueChange?.(country.code);
|
|
67
73
|
setOpen(false);
|
|
68
74
|
},
|
|
69
|
-
className: require_utils.cn("flex items-center gap-3 px-3 py-2.5",
|
|
75
|
+
className: require_utils.cn("flex items-center gap-3 px-3 py-2.5", `
|
|
76
|
+
data-[selected='true']:bg-berget-brand-granite-700/40!
|
|
77
|
+
data-[selected=true]:text-berget-foreground
|
|
78
|
+
`, value === country.code && "bg-berget-brand-granite-800/40"),
|
|
70
79
|
children: [
|
|
71
80
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
72
|
-
className: "text-xl
|
|
81
|
+
className: "shrink-0 text-xl",
|
|
73
82
|
children: country.flag
|
|
74
83
|
}),
|
|
75
84
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
76
|
-
className: "
|
|
85
|
+
className: "min-w-0 flex-1",
|
|
77
86
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
78
|
-
className: "text-sm
|
|
87
|
+
className: "truncate text-sm",
|
|
79
88
|
children: country.name
|
|
80
89
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
81
90
|
className: "text-xs text-berget-muted-foreground",
|
|
82
91
|
children: country.code
|
|
83
92
|
})]
|
|
84
93
|
}),
|
|
85
|
-
value === country.code && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "
|
|
94
|
+
value === country.code && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "\n size-2 shrink-0 rounded-full\n bg-berget-brand-granite-400\n " })
|
|
86
95
|
]
|
|
87
96
|
}, country.code)) })] })] })
|
|
88
97
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CountrySelect.cjs","names":["React","COUNTRIES","Popover","PopoverTrigger","cn","Icon","Globe","ChevronDown","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem"],"sources":["../../../src/components/country-select/CountrySelect.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { ChevronDown, Globe } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\nimport { Icon } from '@/components/icon';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/primitives/popover';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/primitives/command';\nimport { type Country, COUNTRIES } from './countries';\n\nexport interface CountrySelectProps {\n value?: string | null;\n onValueChange?: (code: string) => void;\n placeholder?: string;\n disabled?: boolean;\n className?: string;\n align?: 'center' | 'start' | 'end';\n sideOffset?: number;\n}\n\nconst CountrySelect = React.forwardRef<React.ElementRef<'button'>, CountrySelectProps>(\n (\n {\n value,\n onValueChange,\n placeholder = 'Select country',\n disabled = false,\n className,\n align = 'center',\n sideOffset = 4,\n },\n ref,\n ) => {\n const [open, setOpen] = React.useState(false);\n const selectedCountry = React.useMemo(() => COUNTRIES.find((c) => c.code === value), [value]);\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger\n ref={ref}\n render={\n <button\n type=\"button\"\n disabled={disabled}\n aria-expanded={open}\n className={cn(\n // Base layout — consistent with Select trigger\n 'flex w-full items-center justify-between',\n 'rounded-berget-xs border bg-card',\n 'px-4 py-3 text-sm',\n 'transition-colors duration-200',\n 'focus-visible:
|
|
1
|
+
{"version":3,"file":"CountrySelect.cjs","names":["React","COUNTRIES","Popover","PopoverTrigger","cn","Icon","Globe","ChevronDown","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem"],"sources":["../../../src/components/country-select/CountrySelect.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { ChevronDown, Globe } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\nimport { Icon } from '@/components/icon';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/primitives/popover';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/primitives/command';\nimport { type Country, COUNTRIES } from './countries';\n\nexport interface CountrySelectProps {\n value?: string | null;\n onValueChange?: (code: string) => void;\n placeholder?: string;\n disabled?: boolean;\n className?: string;\n align?: 'center' | 'start' | 'end';\n sideOffset?: number;\n}\n\nconst CountrySelect = React.forwardRef<React.ElementRef<'button'>, CountrySelectProps>(\n (\n {\n value,\n onValueChange,\n placeholder = 'Select country',\n disabled = false,\n className,\n align = 'center',\n sideOffset = 4,\n },\n ref,\n ) => {\n const [open, setOpen] = React.useState(false);\n const selectedCountry = React.useMemo(() => COUNTRIES.find((c) => c.code === value), [value]);\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger\n ref={ref}\n render={\n <button\n type=\"button\"\n disabled={disabled}\n aria-expanded={open}\n className={cn(\n // Base layout — consistent with Select trigger\n 'flex w-full items-center justify-between',\n 'rounded-berget-xs border bg-card',\n 'px-4 py-3 text-sm',\n 'transition-colors duration-200',\n 'focus-visible:ring-0 focus-visible:outline-none',\n `\n focus-visible:border-berget-form-focus-border\n focus-visible:ring-offset-0\n `,\n 'disabled:cursor-not-allowed disabled:opacity-50',\n // Default border & hover matching Select variant \"default\"\n `\n border-berget-border-interactive\n hover:bg-berget-surface-hover\n `,\n className,\n )}\n />\n }\n >\n <div className=\"flex min-w-0 flex-1 items-center gap-2\">\n {selectedCountry ? (\n <>\n <span className=\"shrink-0 text-xl\">{selectedCountry.flag}</span>\n <span className=\"truncate\">{selectedCountry.name}</span>\n <span className=\"shrink-0 text-xs text-berget-muted-foreground\">\n ({selectedCountry.code})\n </span>\n </>\n ) : (\n <>\n <Icon icon={Globe} size={16} className=\"shrink-0 text-berget-muted-foreground\" />\n <span className=\"truncate text-berget-muted-foreground\">{placeholder}</span>\n </>\n )}\n </div>\n <Icon\n icon={ChevronDown}\n size={16}\n className={cn(\n 'shrink-0 text-berget-muted-foreground',\n 'transition-transform duration-200',\n open && 'rotate-180',\n )}\n />\n </PopoverTrigger>\n\n <PopoverContent\n align={align}\n sideOffset={sideOffset}\n className=\"w-(--radix-popover-trigger-width) p-0\"\n >\n <Command>\n <CommandInput placeholder=\"Search country...\" />\n <CommandList>\n <CommandEmpty>No countries found.</CommandEmpty>\n <CommandGroup>\n {COUNTRIES.map((country) => (\n <CommandItem\n key={country.code}\n value={`${country.name} ${country.code}`}\n onSelect={() => {\n onValueChange?.(country.code);\n setOpen(false);\n }}\n className={cn(\n 'flex items-center gap-3 px-3 py-2.5',\n `\n data-[selected='true']:bg-berget-brand-granite-700/40!\n data-[selected=true]:text-berget-foreground\n `,\n value === country.code && 'bg-berget-brand-granite-800/40',\n )}\n >\n <span className=\"shrink-0 text-xl\">{country.flag}</span>\n <div className=\"min-w-0 flex-1\">\n <div className=\"truncate text-sm\">{country.name}</div>\n <div className=\"text-xs text-berget-muted-foreground\">{country.code}</div>\n </div>\n {value === country.code && (\n <div\n className=\"\n size-2 shrink-0 rounded-full\n bg-berget-brand-granite-400\n \"\n />\n )}\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n },\n);\n\nCountrySelect.displayName = 'CountrySelect';\n\nexport { CountrySelect };\nexport type { Country };\nexport {\n COUNTRIES,\n EU_COUNTRY_CODES,\n getCountryByCode,\n getCountryByName,\n isEUCountry,\n} from './countries';\n"],"mappings":";;;;;;;;;;;;AA4BA,MAAM,gBAAgBA,MAAM,YAExB,EACE,OACA,eACA,cAAc,kBACd,WAAW,OACX,WACA,QAAQ,UACR,aAAa,KAEf,QACG;CACH,MAAM,CAAC,MAAM,WAAWA,MAAM,SAAS,KAAK;CAC5C,MAAM,kBAAkBA,MAAM,cAAcC,kBAAAA,UAAU,MAAM,MAAM,EAAE,SAAS,KAAK,GAAG,CAAC,KAAK,CAAC;CAE5F,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,gBAAAA,SAAD;EAAe;EAAM,cAAc;EAAnC,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,gBAAAA,gBAAD;GACO;GACL,QACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;IACE,MAAK;IACK;IACV,iBAAe;IACf,WAAWC,cAAAA,GAET,4CACA,oCACA,qBACA,kCACA,mDACA;;;mBAIA,mDAEA;;;mBAIA,SACF;GACD,CAAA;GA1BL,UAAA,CA6BE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,WAAU;IACZ,UAAA,kBACC,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA;KACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;MAAM,WAAU;MAAoB,UAAA,gBAAgB;KAAW,CAAA;KAC/D,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;MAAM,WAAU;MAAY,UAAA,gBAAgB;KAAW,CAAA;KACvD,iBAAA,GAAA,kBAAA,KAAA,CAAC,QAAD;MAAM,WAAU;MAAhB,UAAA;OAAgE;OAC5D,gBAAgB;OAAK;MACnB;;IACN,EAAA,CAAA,IAEF,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,MAAD;KAAM,MAAMC,aAAAA;KAAO,MAAM;KAAI,WAAU;IAAyC,CAAA,GAChF,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;KAAM,WAAU;KAAyC,UAAA;IAAkB,CAAA,CAC3E,EAAA,CAAA;GAED,CAAA,GACL,iBAAA,GAAA,kBAAA,IAAA,CAACD,aAAAA,MAAD;IACE,MAAME,aAAAA;IACN,MAAM;IACN,WAAWH,cAAAA,GACT,yCACA,qCACA,QAAQ,YACV;GACD,CAAA,CACa;EAEhB,CAAA,GAAA,iBAAA,GAAA,kBAAA,IAAA,CAACI,gBAAAA,gBAAD;GACS;GACK;GACZ,WAAU;GAEV,UAAA,iBAAA,GAAA,kBAAA,KAAA,CAACC,gBAAAA,SAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,cAAD,EAAc,aAAY,oBAAqB,CAAA,GAC/C,iBAAA,GAAA,kBAAA,KAAA,CAACC,gBAAAA,aAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,cAAD,EAAA,UAAc,sBAAiC,CAAA,GAC/C,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,cAAD,EAAA,UACGZ,kBAAAA,UAAU,KAAK,YACd,iBAAA,GAAA,kBAAA,KAAA,CAACa,gBAAAA,aAAD;IAEE,OAAO,GAAG,QAAQ,KAAK,GAAG,QAAQ;IAClC,gBAAgB;KACd,gBAAgB,QAAQ,IAAI;KAC5B,QAAQ,KAAK;IACf;IACA,WAAWV,cAAAA,GACT,uCACA;;;yBAIA,UAAU,QAAQ,QAAQ,gCAC5B;IAdF,UAAA;KAgBE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;MAAM,WAAU;MAAoB,UAAA,QAAQ;KAAW,CAAA;KACvD,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;MAAK,WAAU;MAAf,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;OAAK,WAAU;OAAoB,UAAA,QAAQ;MAAU,CAAA,GACrD,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;OAAK,WAAU;OAAwC,UAAA,QAAQ;MAAU,CAAA,CACtE;;KACJ,UAAU,QAAQ,QACjB,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD,EACE,WAAU,4IAIX,CAAA;IAEQ;GA5BN,GAAA,QAAQ,IA4BF,CACd,EACW,CAAA,CACH,EAAA,CAAA,CACN,EAAA,CAAA;EACK,CAAA,CACT;;AAEb,CACF;AAEA,cAAc,cAAc"}
|
|
@@ -20,13 +20,19 @@ const CountrySelect = React.forwardRef(({ value, onValueChange, placeholder = "S
|
|
|
20
20
|
type: "button",
|
|
21
21
|
disabled,
|
|
22
22
|
"aria-expanded": open,
|
|
23
|
-
className: cn("flex w-full items-center justify-between", "rounded-berget-xs border bg-card", "px-4 py-3 text-sm", "transition-colors duration-200", "focus-visible:
|
|
23
|
+
className: cn("flex w-full items-center justify-between", "rounded-berget-xs border bg-card", "px-4 py-3 text-sm", "transition-colors duration-200", "focus-visible:ring-0 focus-visible:outline-none", `
|
|
24
|
+
focus-visible:border-berget-form-focus-border
|
|
25
|
+
focus-visible:ring-offset-0
|
|
26
|
+
`, "disabled:cursor-not-allowed disabled:opacity-50", `
|
|
27
|
+
border-berget-border-interactive
|
|
28
|
+
hover:bg-berget-surface-hover
|
|
29
|
+
`, className)
|
|
24
30
|
}),
|
|
25
31
|
children: [/* @__PURE__ */ jsx("div", {
|
|
26
|
-
className: "flex
|
|
32
|
+
className: "flex min-w-0 flex-1 items-center gap-2",
|
|
27
33
|
children: selectedCountry ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
28
34
|
/* @__PURE__ */ jsx("span", {
|
|
29
|
-
className: "text-xl
|
|
35
|
+
className: "shrink-0 text-xl",
|
|
30
36
|
children: selectedCountry.flag
|
|
31
37
|
}),
|
|
32
38
|
/* @__PURE__ */ jsx("span", {
|
|
@@ -34,7 +40,7 @@ const CountrySelect = React.forwardRef(({ value, onValueChange, placeholder = "S
|
|
|
34
40
|
children: selectedCountry.name
|
|
35
41
|
}),
|
|
36
42
|
/* @__PURE__ */ jsxs("span", {
|
|
37
|
-
className: "
|
|
43
|
+
className: "shrink-0 text-xs text-berget-muted-foreground",
|
|
38
44
|
children: [
|
|
39
45
|
"(",
|
|
40
46
|
selectedCountry.code,
|
|
@@ -44,43 +50,46 @@ const CountrySelect = React.forwardRef(({ value, onValueChange, placeholder = "S
|
|
|
44
50
|
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Icon, {
|
|
45
51
|
icon: Globe,
|
|
46
52
|
size: 16,
|
|
47
|
-
className: "
|
|
53
|
+
className: "shrink-0 text-berget-muted-foreground"
|
|
48
54
|
}), /* @__PURE__ */ jsx("span", {
|
|
49
|
-
className: "text-berget-muted-foreground
|
|
55
|
+
className: "truncate text-berget-muted-foreground",
|
|
50
56
|
children: placeholder
|
|
51
57
|
})] })
|
|
52
58
|
}), /* @__PURE__ */ jsx(Icon, {
|
|
53
59
|
icon: ChevronDown,
|
|
54
60
|
size: 16,
|
|
55
|
-
className: cn("
|
|
61
|
+
className: cn("shrink-0 text-berget-muted-foreground", "transition-transform duration-200", open && "rotate-180")
|
|
56
62
|
})]
|
|
57
63
|
}), /* @__PURE__ */ jsx(PopoverContent, {
|
|
58
64
|
align,
|
|
59
65
|
sideOffset,
|
|
60
|
-
className: "w-
|
|
66
|
+
className: "w-(--radix-popover-trigger-width) p-0",
|
|
61
67
|
children: /* @__PURE__ */ jsxs(Command, { children: [/* @__PURE__ */ jsx(CommandInput, { placeholder: "Search country..." }), /* @__PURE__ */ jsxs(CommandList, { children: [/* @__PURE__ */ jsx(CommandEmpty, { children: "No countries found." }), /* @__PURE__ */ jsx(CommandGroup, { children: COUNTRIES.map((country) => /* @__PURE__ */ jsxs(CommandItem, {
|
|
62
68
|
value: `${country.name} ${country.code}`,
|
|
63
69
|
onSelect: () => {
|
|
64
70
|
onValueChange?.(country.code);
|
|
65
71
|
setOpen(false);
|
|
66
72
|
},
|
|
67
|
-
className: cn("flex items-center gap-3 px-3 py-2.5",
|
|
73
|
+
className: cn("flex items-center gap-3 px-3 py-2.5", `
|
|
74
|
+
data-[selected='true']:bg-berget-brand-granite-700/40!
|
|
75
|
+
data-[selected=true]:text-berget-foreground
|
|
76
|
+
`, value === country.code && "bg-berget-brand-granite-800/40"),
|
|
68
77
|
children: [
|
|
69
78
|
/* @__PURE__ */ jsx("span", {
|
|
70
|
-
className: "text-xl
|
|
79
|
+
className: "shrink-0 text-xl",
|
|
71
80
|
children: country.flag
|
|
72
81
|
}),
|
|
73
82
|
/* @__PURE__ */ jsxs("div", {
|
|
74
|
-
className: "
|
|
83
|
+
className: "min-w-0 flex-1",
|
|
75
84
|
children: [/* @__PURE__ */ jsx("div", {
|
|
76
|
-
className: "text-sm
|
|
85
|
+
className: "truncate text-sm",
|
|
77
86
|
children: country.name
|
|
78
87
|
}), /* @__PURE__ */ jsx("div", {
|
|
79
88
|
className: "text-xs text-berget-muted-foreground",
|
|
80
89
|
children: country.code
|
|
81
90
|
})]
|
|
82
91
|
}),
|
|
83
|
-
value === country.code && /* @__PURE__ */ jsx("div", { className: "
|
|
92
|
+
value === country.code && /* @__PURE__ */ jsx("div", { className: "\n size-2 shrink-0 rounded-full\n bg-berget-brand-granite-400\n " })
|
|
84
93
|
]
|
|
85
94
|
}, country.code)) })] })] })
|
|
86
95
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CountrySelect.mjs","names":[],"sources":["../../../src/components/country-select/CountrySelect.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { ChevronDown, Globe } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\nimport { Icon } from '@/components/icon';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/primitives/popover';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/primitives/command';\nimport { type Country, COUNTRIES } from './countries';\n\nexport interface CountrySelectProps {\n value?: string | null;\n onValueChange?: (code: string) => void;\n placeholder?: string;\n disabled?: boolean;\n className?: string;\n align?: 'center' | 'start' | 'end';\n sideOffset?: number;\n}\n\nconst CountrySelect = React.forwardRef<React.ElementRef<'button'>, CountrySelectProps>(\n (\n {\n value,\n onValueChange,\n placeholder = 'Select country',\n disabled = false,\n className,\n align = 'center',\n sideOffset = 4,\n },\n ref,\n ) => {\n const [open, setOpen] = React.useState(false);\n const selectedCountry = React.useMemo(() => COUNTRIES.find((c) => c.code === value), [value]);\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger\n ref={ref}\n render={\n <button\n type=\"button\"\n disabled={disabled}\n aria-expanded={open}\n className={cn(\n // Base layout — consistent with Select trigger\n 'flex w-full items-center justify-between',\n 'rounded-berget-xs border bg-card',\n 'px-4 py-3 text-sm',\n 'transition-colors duration-200',\n 'focus-visible:
|
|
1
|
+
{"version":3,"file":"CountrySelect.mjs","names":[],"sources":["../../../src/components/country-select/CountrySelect.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { ChevronDown, Globe } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\nimport { Icon } from '@/components/icon';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/primitives/popover';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/primitives/command';\nimport { type Country, COUNTRIES } from './countries';\n\nexport interface CountrySelectProps {\n value?: string | null;\n onValueChange?: (code: string) => void;\n placeholder?: string;\n disabled?: boolean;\n className?: string;\n align?: 'center' | 'start' | 'end';\n sideOffset?: number;\n}\n\nconst CountrySelect = React.forwardRef<React.ElementRef<'button'>, CountrySelectProps>(\n (\n {\n value,\n onValueChange,\n placeholder = 'Select country',\n disabled = false,\n className,\n align = 'center',\n sideOffset = 4,\n },\n ref,\n ) => {\n const [open, setOpen] = React.useState(false);\n const selectedCountry = React.useMemo(() => COUNTRIES.find((c) => c.code === value), [value]);\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger\n ref={ref}\n render={\n <button\n type=\"button\"\n disabled={disabled}\n aria-expanded={open}\n className={cn(\n // Base layout — consistent with Select trigger\n 'flex w-full items-center justify-between',\n 'rounded-berget-xs border bg-card',\n 'px-4 py-3 text-sm',\n 'transition-colors duration-200',\n 'focus-visible:ring-0 focus-visible:outline-none',\n `\n focus-visible:border-berget-form-focus-border\n focus-visible:ring-offset-0\n `,\n 'disabled:cursor-not-allowed disabled:opacity-50',\n // Default border & hover matching Select variant \"default\"\n `\n border-berget-border-interactive\n hover:bg-berget-surface-hover\n `,\n className,\n )}\n />\n }\n >\n <div className=\"flex min-w-0 flex-1 items-center gap-2\">\n {selectedCountry ? (\n <>\n <span className=\"shrink-0 text-xl\">{selectedCountry.flag}</span>\n <span className=\"truncate\">{selectedCountry.name}</span>\n <span className=\"shrink-0 text-xs text-berget-muted-foreground\">\n ({selectedCountry.code})\n </span>\n </>\n ) : (\n <>\n <Icon icon={Globe} size={16} className=\"shrink-0 text-berget-muted-foreground\" />\n <span className=\"truncate text-berget-muted-foreground\">{placeholder}</span>\n </>\n )}\n </div>\n <Icon\n icon={ChevronDown}\n size={16}\n className={cn(\n 'shrink-0 text-berget-muted-foreground',\n 'transition-transform duration-200',\n open && 'rotate-180',\n )}\n />\n </PopoverTrigger>\n\n <PopoverContent\n align={align}\n sideOffset={sideOffset}\n className=\"w-(--radix-popover-trigger-width) p-0\"\n >\n <Command>\n <CommandInput placeholder=\"Search country...\" />\n <CommandList>\n <CommandEmpty>No countries found.</CommandEmpty>\n <CommandGroup>\n {COUNTRIES.map((country) => (\n <CommandItem\n key={country.code}\n value={`${country.name} ${country.code}`}\n onSelect={() => {\n onValueChange?.(country.code);\n setOpen(false);\n }}\n className={cn(\n 'flex items-center gap-3 px-3 py-2.5',\n `\n data-[selected='true']:bg-berget-brand-granite-700/40!\n data-[selected=true]:text-berget-foreground\n `,\n value === country.code && 'bg-berget-brand-granite-800/40',\n )}\n >\n <span className=\"shrink-0 text-xl\">{country.flag}</span>\n <div className=\"min-w-0 flex-1\">\n <div className=\"truncate text-sm\">{country.name}</div>\n <div className=\"text-xs text-berget-muted-foreground\">{country.code}</div>\n </div>\n {value === country.code && (\n <div\n className=\"\n size-2 shrink-0 rounded-full\n bg-berget-brand-granite-400\n \"\n />\n )}\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n },\n);\n\nCountrySelect.displayName = 'CountrySelect';\n\nexport { CountrySelect };\nexport type { Country };\nexport {\n COUNTRIES,\n EU_COUNTRY_CODES,\n getCountryByCode,\n getCountryByName,\n isEUCountry,\n} from './countries';\n"],"mappings":";;;;;;;;;;AA4BA,MAAM,gBAAgB,MAAM,YAExB,EACE,OACA,eACA,cAAc,kBACd,WAAW,OACX,WACA,QAAQ,UACR,aAAa,KAEf,QACG;CACH,MAAM,CAAC,MAAM,WAAW,MAAM,SAAS,KAAK;CAC5C,MAAM,kBAAkB,MAAM,cAAc,UAAU,MAAM,MAAM,EAAE,SAAS,KAAK,GAAG,CAAC,KAAK,CAAC;CAE5F,OACE,qBAAC,SAAD;EAAe;EAAM,cAAc;EAAnC,UAAA,CACE,qBAAC,gBAAD;GACO;GACL,QACE,oBAAC,UAAD;IACE,MAAK;IACK;IACV,iBAAe;IACf,WAAW,GAET,4CACA,oCACA,qBACA,kCACA,mDACA;;;mBAIA,mDAEA;;;mBAIA,SACF;GACD,CAAA;GA1BL,UAAA,CA6BE,oBAAC,OAAD;IAAK,WAAU;IACZ,UAAA,kBACC,qBAAA,UAAA,EAAA,UAAA;KACE,oBAAC,QAAD;MAAM,WAAU;MAAoB,UAAA,gBAAgB;KAAW,CAAA;KAC/D,oBAAC,QAAD;MAAM,WAAU;MAAY,UAAA,gBAAgB;KAAW,CAAA;KACvD,qBAAC,QAAD;MAAM,WAAU;MAAhB,UAAA;OAAgE;OAC5D,gBAAgB;OAAK;MACnB;;IACN,EAAA,CAAA,IAEF,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,MAAD;KAAM,MAAM;KAAO,MAAM;KAAI,WAAU;IAAyC,CAAA,GAChF,oBAAC,QAAD;KAAM,WAAU;KAAyC,UAAA;IAAkB,CAAA,CAC3E,EAAA,CAAA;GAED,CAAA,GACL,oBAAC,MAAD;IACE,MAAM;IACN,MAAM;IACN,WAAW,GACT,yCACA,qCACA,QAAQ,YACV;GACD,CAAA,CACa;EAEhB,CAAA,GAAA,oBAAC,gBAAD;GACS;GACK;GACZ,WAAU;GAEV,UAAA,qBAAC,SAAD,EAAA,UAAA,CACE,oBAAC,cAAD,EAAc,aAAY,oBAAqB,CAAA,GAC/C,qBAAC,aAAD,EAAA,UAAA,CACE,oBAAC,cAAD,EAAA,UAAc,sBAAiC,CAAA,GAC/C,oBAAC,cAAD,EAAA,UACG,UAAU,KAAK,YACd,qBAAC,aAAD;IAEE,OAAO,GAAG,QAAQ,KAAK,GAAG,QAAQ;IAClC,gBAAgB;KACd,gBAAgB,QAAQ,IAAI;KAC5B,QAAQ,KAAK;IACf;IACA,WAAW,GACT,uCACA;;;yBAIA,UAAU,QAAQ,QAAQ,gCAC5B;IAdF,UAAA;KAgBE,oBAAC,QAAD;MAAM,WAAU;MAAoB,UAAA,QAAQ;KAAW,CAAA;KACvD,qBAAC,OAAD;MAAK,WAAU;MAAf,UAAA,CACE,oBAAC,OAAD;OAAK,WAAU;OAAoB,UAAA,QAAQ;MAAU,CAAA,GACrD,oBAAC,OAAD;OAAK,WAAU;OAAwC,UAAA,QAAQ;MAAU,CAAA,CACtE;;KACJ,UAAU,QAAQ,QACjB,oBAAC,OAAD,EACE,WAAU,4IAIX,CAAA;IAEQ;GA5BN,GAAA,QAAQ,IA4BF,CACd,EACW,CAAA,CACH,EAAA,CAAA,CACN,EAAA,CAAA;EACK,CAAA,CACT;;AAEb,CACF;AAEA,cAAc,cAAc"}
|
|
@@ -20,16 +20,28 @@ const DialogPortal = _base_ui_react_dialog.Dialog.Portal;
|
|
|
20
20
|
const DialogClose = _base_ui_react_dialog.Dialog.Close;
|
|
21
21
|
const DialogOverlay = react.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_dialog.Dialog.Backdrop, {
|
|
22
22
|
ref,
|
|
23
|
-
className: require_utils.cn(
|
|
23
|
+
className: require_utils.cn(`
|
|
24
|
+
fixed inset-0 z-50 bg-berget-dialog-overlay-bg transition-opacity
|
|
25
|
+
duration-200
|
|
26
|
+
data-ending-style:opacity-0
|
|
27
|
+
data-starting-style:opacity-0
|
|
28
|
+
`, className),
|
|
24
29
|
...props
|
|
25
30
|
}));
|
|
26
31
|
DialogOverlay.displayName = "DialogOverlay";
|
|
27
32
|
const DialogContent = react.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(DialogPortal, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DialogOverlay, {}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_base_ui_react_dialog.Dialog.Popup, {
|
|
28
33
|
ref,
|
|
29
|
-
className: require_utils.cn(
|
|
34
|
+
className: require_utils.cn(`
|
|
35
|
+
fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg
|
|
36
|
+
translate-x-[-50%] translate-y-[-50%] gap-4 rounded-berget-sm border
|
|
37
|
+
border-berget-dialog-border bg-berget-dialog-bg p-6 shadow-berget-lg
|
|
38
|
+
transition-[opacity,transform] duration-200
|
|
39
|
+
data-ending-style:scale-95 data-ending-style:opacity-0
|
|
40
|
+
data-starting-style:scale-95 data-starting-style:opacity-0
|
|
41
|
+
`, className),
|
|
30
42
|
...props,
|
|
31
43
|
children: [children, /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_base_ui_react_dialog.Dialog.Close, {
|
|
32
|
-
className: "absolute
|
|
44
|
+
className: "\n focus:ring-berget-focus-ring\n absolute top-4 right-4 rounded-berget-xs opacity-70\n ring-offset-berget-dialog-bg transition-opacity\n hover:opacity-100\n focus:ring-2 focus:ring-offset-2 focus:outline-none\n disabled:pointer-events-none\n data-open:bg-berget-muted data-open:text-berget-muted-foreground\n ",
|
|
33
45
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.X, { className: "size-4" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
34
46
|
className: "sr-only",
|
|
35
47
|
children: "Close"
|
|
@@ -38,12 +50,18 @@ const DialogContent = react.forwardRef(({ className, children, ...props }, ref)
|
|
|
38
50
|
})] }));
|
|
39
51
|
DialogContent.displayName = "DialogContent";
|
|
40
52
|
const DialogHeader = ({ className, ...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
41
|
-
className: require_utils.cn(
|
|
53
|
+
className: require_utils.cn(`
|
|
54
|
+
flex flex-col gap-1.5 text-center
|
|
55
|
+
sm:text-left
|
|
56
|
+
`, className),
|
|
42
57
|
...props
|
|
43
58
|
});
|
|
44
59
|
DialogHeader.displayName = "DialogHeader";
|
|
45
60
|
const DialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
46
|
-
className: require_utils.cn(
|
|
61
|
+
className: require_utils.cn(`
|
|
62
|
+
flex flex-col-reverse gap-2
|
|
63
|
+
sm:flex-row sm:justify-end
|
|
64
|
+
`, className),
|
|
47
65
|
...props
|
|
48
66
|
});
|
|
49
67
|
DialogFooter.displayName = "DialogFooter";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.cjs","names":["DialogPrimitive","React","asChildRender","cn","X","Typography"],"sources":["../../../src/components/dialog/Dialog.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Dialog as DialogPrimitive } from '@base-ui/react/dialog';\nimport { X } from 'lucide-react';\n\nimport { cn, asChildRender } from '../../lib/utils';\nimport { Typography } from '../typography';\n\nconst Dialog = DialogPrimitive.Root;\n\ntype DialogTriggerProps = Omit<DialogPrimitive.Trigger.Props, 'className' | 'render'> & {\n className?: string;\n /** Render as a different element/component. Replaces the Radix `asChild` prop. */\n asChild?: boolean;\n};\n\nconst DialogTrigger = React.forwardRef<HTMLButtonElement, DialogTriggerProps>(\n ({ asChild, children, ...props }, ref) => (\n <DialogPrimitive.Trigger ref={ref} render={asChildRender(asChild, children)} {...props}>\n {asChild ? undefined : children}\n </DialogPrimitive.Trigger>\n ),\n);\nDialogTrigger.displayName = 'DialogTrigger';\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n HTMLDivElement,\n Omit<DialogPrimitive.Backdrop.Props, 'className'> & { className?: string }\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Backdrop\n ref={ref}\n className={cn(\n
|
|
1
|
+
{"version":3,"file":"Dialog.cjs","names":["DialogPrimitive","React","asChildRender","cn","X","Typography"],"sources":["../../../src/components/dialog/Dialog.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Dialog as DialogPrimitive } from '@base-ui/react/dialog';\nimport { X } from 'lucide-react';\n\nimport { cn, asChildRender } from '../../lib/utils';\nimport { Typography } from '../typography';\n\nconst Dialog = DialogPrimitive.Root;\n\ntype DialogTriggerProps = Omit<DialogPrimitive.Trigger.Props, 'className' | 'render'> & {\n className?: string;\n /** Render as a different element/component. Replaces the Radix `asChild` prop. */\n asChild?: boolean;\n};\n\nconst DialogTrigger = React.forwardRef<HTMLButtonElement, DialogTriggerProps>(\n ({ asChild, children, ...props }, ref) => (\n <DialogPrimitive.Trigger ref={ref} render={asChildRender(asChild, children)} {...props}>\n {asChild ? undefined : children}\n </DialogPrimitive.Trigger>\n ),\n);\nDialogTrigger.displayName = 'DialogTrigger';\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n HTMLDivElement,\n Omit<DialogPrimitive.Backdrop.Props, 'className'> & { className?: string }\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Backdrop\n ref={ref}\n className={cn(\n `\n fixed inset-0 z-50 bg-berget-dialog-overlay-bg transition-opacity\n duration-200\n data-ending-style:opacity-0\n data-starting-style:opacity-0\n `,\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = 'DialogOverlay';\n\nconst DialogContent = React.forwardRef<\n HTMLDivElement,\n Omit<DialogPrimitive.Popup.Props, 'className'> & { className?: string }\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Popup\n ref={ref}\n className={cn(\n `\n fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg\n translate-x-[-50%] translate-y-[-50%] gap-4 rounded-berget-sm border\n border-berget-dialog-border bg-berget-dialog-bg p-6 shadow-berget-lg\n transition-[opacity,transform] duration-200\n data-ending-style:scale-95 data-ending-style:opacity-0\n data-starting-style:scale-95 data-starting-style:opacity-0\n `,\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n className=\"\n focus:ring-berget-focus-ring\n absolute top-4 right-4 rounded-berget-xs opacity-70\n ring-offset-berget-dialog-bg transition-opacity\n hover:opacity-100\n focus:ring-2 focus:ring-offset-2 focus:outline-none\n disabled:pointer-events-none\n data-open:bg-berget-muted data-open:text-berget-muted-foreground\n \"\n >\n <X className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Popup>\n </DialogPortal>\n));\nDialogContent.displayName = 'DialogContent';\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n `\n flex flex-col gap-1.5 text-center\n sm:text-left\n `,\n className,\n )}\n {...props}\n />\n);\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n `\n flex flex-col-reverse gap-2\n sm:flex-row sm:justify-end\n `,\n className,\n )}\n {...props}\n />\n);\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogTitle = React.forwardRef<\n HTMLHeadingElement,\n Omit<DialogPrimitive.Title.Props, 'className'> & { className?: string }\n>(({ className, children, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n render={<Typography variant=\"h5\" color=\"default\" as=\"h2\" className={className} />}\n {...props}\n >\n {children}\n </DialogPrimitive.Title>\n));\nDialogTitle.displayName = 'DialogTitle';\n\nconst DialogDescription = React.forwardRef<\n HTMLParagraphElement,\n Omit<DialogPrimitive.Description.Props, 'className'> & { className?: string }\n>(({ className, children, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n render={<Typography variant=\"small\" color=\"muted\" className={className} />}\n {...props}\n >\n {children}\n </DialogPrimitive.Description>\n));\nDialogDescription.displayName = 'DialogDescription';\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n"],"mappings":";;;;;;;;;;AASA,MAAM,SAASA,sBAAAA,OAAgB;AAQ/B,MAAM,gBAAgBC,MAAM,YACzB,EAAE,SAAS,UAAU,GAAG,SAAS,QAChC,iBAAA,GAAA,kBAAA,IAAA,CAACD,sBAAAA,OAAgB,SAAjB;CAA8B;CAAK,QAAQE,cAAAA,cAAc,SAAS,QAAQ;CAAG,GAAI;CAC9E,UAAA,UAAU,KAAA,IAAY;AACA,CAAA,CAE7B;AACA,cAAc,cAAc;AAE5B,MAAM,eAAeF,sBAAAA,OAAgB;AAErC,MAAM,cAAcA,sBAAAA,OAAgB;AAEpC,MAAM,gBAAgBC,MAAM,YAGzB,EAAE,WAAW,GAAG,SAAS,QAC1B,iBAAA,GAAA,kBAAA,IAAA,CAACD,sBAAAA,OAAgB,UAAjB;CACO;CACL,WAAWG,cAAAA,GACT;;;;;SAMA,SACF;CACA,GAAI;AACL,CAAA,CACF;AACD,cAAc,cAAc;AAE5B,MAAM,gBAAgBF,MAAM,YAGzB,EAAE,WAAW,UAAU,GAAG,SAAS,QACpC,iBAAA,GAAA,kBAAA,KAAA,CAAC,cAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAD,CAAgB,CAAA,GAChB,iBAAA,GAAA,kBAAA,KAAA,CAACD,sBAAAA,OAAgB,OAAjB;CACO;CACL,WAAWG,cAAAA,GACT;;;;;;;WAQA,SACF;CACA,GAAI;CAbN,UAAA,CAeG,UACD,iBAAA,GAAA,kBAAA,KAAA,CAACH,sBAAAA,OAAgB,OAAjB;EACE,WAAU;EADZ,UAAA,CAWE,iBAAA,GAAA,kBAAA,IAAA,CAACI,aAAAA,GAAD,EAAG,WAAU,SAAU,CAAA,GACvB,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,WAAU;GAAU,UAAA;EAAW,CAAA,CAChB;CACF,CAAA,CAAA;AACX,CAAA,CAAA,EAAA,CAAA,CACf;AACD,cAAc,cAAc;AAE5B,MAAM,gBAAgB,EAAE,WAAW,GAAG,YACpC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;CACE,WAAWD,cAAAA,GACT;;;SAIA,SACF;CACA,GAAI;AACL,CAAA;AAEH,aAAa,cAAc;AAE3B,MAAM,gBAAgB,EAAE,WAAW,GAAG,YACpC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;CACE,WAAWA,cAAAA,GACT;;;SAIA,SACF;CACA,GAAI;AACL,CAAA;AAEH,aAAa,cAAc;AAE3B,MAAM,cAAcF,MAAM,YAGvB,EAAE,WAAW,UAAU,GAAG,SAAS,QACpC,iBAAA,GAAA,kBAAA,IAAA,CAACD,sBAAAA,OAAgB,OAAjB;CACO;CACL,QAAQ,iBAAA,GAAA,kBAAA,IAAA,CAACK,mBAAAA,YAAD;EAAY,SAAQ;EAAK,OAAM;EAAU,IAAG;EAAgB;CAAY,CAAA;CAChF,GAAI;CAEH;AACoB,CAAA,CACxB;AACD,YAAY,cAAc;AAE1B,MAAM,oBAAoBJ,MAAM,YAG7B,EAAE,WAAW,UAAU,GAAG,SAAS,QACpC,iBAAA,GAAA,kBAAA,IAAA,CAACD,sBAAAA,OAAgB,aAAjB;CACO;CACL,QAAQ,iBAAA,GAAA,kBAAA,IAAA,CAACK,mBAAAA,YAAD;EAAY,SAAQ;EAAQ,OAAM;EAAmB;CAAY,CAAA;CACzE,GAAI;CAEH;AAC0B,CAAA,CAC9B;AACD,kBAAkB,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.cts","names":["Dialog","DialogPrimitive"],"sources":["../../../src/components/dialog/Dialog.tsx"],"mappings":";;;cASMA,WAAM,SAAA,OAAAC,OAAA,KAAA,MAAA,aAAA,MAAA,IAAA;KAEP,qBAAqB,KAAKA,OAAgB,QAAQ;EACrD;;EAEA;;cAGI,eAAa,MAAA,0BAAA,KAAA,6BAAA,MAAA,cAAA;cASb,cAAY,MAAA,0BAAA,8BAAA,iCAAA,MAAA,cAAA;cAEZ,aAAW,MAAA,0BAAA,8BAAA,gCAAA,MAAA,cAAA;cAEX,eAAa,MAAA,0BAAA,KAAA,8BAAA;EAEiD;
|
|
1
|
+
{"version":3,"file":"Dialog.d.cts","names":["Dialog","DialogPrimitive"],"sources":["../../../src/components/dialog/Dialog.tsx"],"mappings":";;;cASMA,WAAM,SAAA,OAAAC,OAAA,KAAA,MAAA,aAAA,MAAA,IAAA;KAEP,qBAAqB,KAAKA,OAAgB,QAAQ;EACrD;;EAEA;;cAGI,eAAa,MAAA,0BAAA,KAAA,6BAAA,MAAA,cAAA;cASb,cAAY,MAAA,0BAAA,8BAAA,iCAAA,MAAA,cAAA;cAEZ,aAAW,MAAA,0BAAA,8BAAA,gCAAA,MAAA,cAAA;cAEX,eAAa,MAAA,0BAAA,KAAA,8BAAA;EAEiD;YAelE,MAAA,cAAA;cAGI,eAAa,MAAA,0BAAA,KAAA,8BAAA;EAE8C;YAoC/D,MAAA,cAAA;cAGI;KAAyC,cAAA,SAAA,MAAM,eAAe,8CAAe,IAAA;;;cAc7E;KAAyC,cAAA,SAAA,MAAM,eAAe,8CAAe,IAAA;;;cAc7E,aAAW,MAAA,0BAAA,KAAA,8BAAA;EAEgD;YAS/D,MAAA,cAAA;cAGI,mBAAiB,MAAA,0BAAA,KAAA,8BAAA;EAEgD;YASrE,MAAA,cAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.mts","names":["Dialog","DialogPrimitive"],"sources":["../../../src/components/dialog/Dialog.tsx"],"mappings":";;;cASMA,WAAM,SAAA,OAAAC,OAAA,KAAA,MAAA,aAAA,MAAA,IAAA;KAEP,qBAAqB,KAAKA,OAAgB,QAAQ;EACrD;;EAEA;;cAGI,eAAa,MAAA,0BAAA,KAAA,6BAAA,MAAA,cAAA;cASb,cAAY,MAAA,0BAAA,8BAAA,iCAAA,MAAA,cAAA;cAEZ,aAAW,MAAA,0BAAA,8BAAA,gCAAA,MAAA,cAAA;cAEX,eAAa,MAAA,0BAAA,KAAA,8BAAA;EAEiD;
|
|
1
|
+
{"version":3,"file":"Dialog.d.mts","names":["Dialog","DialogPrimitive"],"sources":["../../../src/components/dialog/Dialog.tsx"],"mappings":";;;cASMA,WAAM,SAAA,OAAAC,OAAA,KAAA,MAAA,aAAA,MAAA,IAAA;KAEP,qBAAqB,KAAKA,OAAgB,QAAQ;EACrD;;EAEA;;cAGI,eAAa,MAAA,0BAAA,KAAA,6BAAA,MAAA,cAAA;cASb,cAAY,MAAA,0BAAA,8BAAA,iCAAA,MAAA,cAAA;cAEZ,aAAW,MAAA,0BAAA,8BAAA,gCAAA,MAAA,cAAA;cAEX,eAAa,MAAA,0BAAA,KAAA,8BAAA;EAEiD;YAelE,MAAA,cAAA;cAGI,eAAa,MAAA,0BAAA,KAAA,8BAAA;EAE8C;YAoC/D,MAAA,cAAA;cAGI;KAAyC,cAAA,SAAA,MAAM,eAAe,8CAAe,IAAA;;;cAc7E;KAAyC,cAAA,SAAA,MAAM,eAAe,8CAAe,IAAA;;;cAc7E,aAAW,MAAA,0BAAA,KAAA,8BAAA;EAEgD;YAS/D,MAAA,cAAA;cAGI,mBAAiB,MAAA,0BAAA,KAAA,8BAAA;EAEgD;YASrE,MAAA,cAAA"}
|
|
@@ -18,16 +18,28 @@ const DialogPortal = Dialog.Portal;
|
|
|
18
18
|
const DialogClose = Dialog.Close;
|
|
19
19
|
const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Dialog.Backdrop, {
|
|
20
20
|
ref,
|
|
21
|
-
className: cn(
|
|
21
|
+
className: cn(`
|
|
22
|
+
fixed inset-0 z-50 bg-berget-dialog-overlay-bg transition-opacity
|
|
23
|
+
duration-200
|
|
24
|
+
data-ending-style:opacity-0
|
|
25
|
+
data-starting-style:opacity-0
|
|
26
|
+
`, className),
|
|
22
27
|
...props
|
|
23
28
|
}));
|
|
24
29
|
DialogOverlay.displayName = "DialogOverlay";
|
|
25
30
|
const DialogContent = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [/* @__PURE__ */ jsx(DialogOverlay, {}), /* @__PURE__ */ jsxs(Dialog.Popup, {
|
|
26
31
|
ref,
|
|
27
|
-
className: cn(
|
|
32
|
+
className: cn(`
|
|
33
|
+
fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg
|
|
34
|
+
translate-x-[-50%] translate-y-[-50%] gap-4 rounded-berget-sm border
|
|
35
|
+
border-berget-dialog-border bg-berget-dialog-bg p-6 shadow-berget-lg
|
|
36
|
+
transition-[opacity,transform] duration-200
|
|
37
|
+
data-ending-style:scale-95 data-ending-style:opacity-0
|
|
38
|
+
data-starting-style:scale-95 data-starting-style:opacity-0
|
|
39
|
+
`, className),
|
|
28
40
|
...props,
|
|
29
41
|
children: [children, /* @__PURE__ */ jsxs(Dialog.Close, {
|
|
30
|
-
className: "absolute
|
|
42
|
+
className: "\n focus:ring-berget-focus-ring\n absolute top-4 right-4 rounded-berget-xs opacity-70\n ring-offset-berget-dialog-bg transition-opacity\n hover:opacity-100\n focus:ring-2 focus:ring-offset-2 focus:outline-none\n disabled:pointer-events-none\n data-open:bg-berget-muted data-open:text-berget-muted-foreground\n ",
|
|
31
43
|
children: [/* @__PURE__ */ jsx(X, { className: "size-4" }), /* @__PURE__ */ jsx("span", {
|
|
32
44
|
className: "sr-only",
|
|
33
45
|
children: "Close"
|
|
@@ -36,12 +48,18 @@ const DialogContent = React.forwardRef(({ className, children, ...props }, ref)
|
|
|
36
48
|
})] }));
|
|
37
49
|
DialogContent.displayName = "DialogContent";
|
|
38
50
|
const DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
|
|
39
|
-
className: cn(
|
|
51
|
+
className: cn(`
|
|
52
|
+
flex flex-col gap-1.5 text-center
|
|
53
|
+
sm:text-left
|
|
54
|
+
`, className),
|
|
40
55
|
...props
|
|
41
56
|
});
|
|
42
57
|
DialogHeader.displayName = "DialogHeader";
|
|
43
58
|
const DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
|
|
44
|
-
className: cn(
|
|
59
|
+
className: cn(`
|
|
60
|
+
flex flex-col-reverse gap-2
|
|
61
|
+
sm:flex-row sm:justify-end
|
|
62
|
+
`, className),
|
|
45
63
|
...props
|
|
46
64
|
});
|
|
47
65
|
DialogFooter.displayName = "DialogFooter";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.mjs","names":["Dialog","DialogPrimitive"],"sources":["../../../src/components/dialog/Dialog.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Dialog as DialogPrimitive } from '@base-ui/react/dialog';\nimport { X } from 'lucide-react';\n\nimport { cn, asChildRender } from '../../lib/utils';\nimport { Typography } from '../typography';\n\nconst Dialog = DialogPrimitive.Root;\n\ntype DialogTriggerProps = Omit<DialogPrimitive.Trigger.Props, 'className' | 'render'> & {\n className?: string;\n /** Render as a different element/component. Replaces the Radix `asChild` prop. */\n asChild?: boolean;\n};\n\nconst DialogTrigger = React.forwardRef<HTMLButtonElement, DialogTriggerProps>(\n ({ asChild, children, ...props }, ref) => (\n <DialogPrimitive.Trigger ref={ref} render={asChildRender(asChild, children)} {...props}>\n {asChild ? undefined : children}\n </DialogPrimitive.Trigger>\n ),\n);\nDialogTrigger.displayName = 'DialogTrigger';\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n HTMLDivElement,\n Omit<DialogPrimitive.Backdrop.Props, 'className'> & { className?: string }\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Backdrop\n ref={ref}\n className={cn(\n
|
|
1
|
+
{"version":3,"file":"Dialog.mjs","names":["Dialog","DialogPrimitive"],"sources":["../../../src/components/dialog/Dialog.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Dialog as DialogPrimitive } from '@base-ui/react/dialog';\nimport { X } from 'lucide-react';\n\nimport { cn, asChildRender } from '../../lib/utils';\nimport { Typography } from '../typography';\n\nconst Dialog = DialogPrimitive.Root;\n\ntype DialogTriggerProps = Omit<DialogPrimitive.Trigger.Props, 'className' | 'render'> & {\n className?: string;\n /** Render as a different element/component. Replaces the Radix `asChild` prop. */\n asChild?: boolean;\n};\n\nconst DialogTrigger = React.forwardRef<HTMLButtonElement, DialogTriggerProps>(\n ({ asChild, children, ...props }, ref) => (\n <DialogPrimitive.Trigger ref={ref} render={asChildRender(asChild, children)} {...props}>\n {asChild ? undefined : children}\n </DialogPrimitive.Trigger>\n ),\n);\nDialogTrigger.displayName = 'DialogTrigger';\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n HTMLDivElement,\n Omit<DialogPrimitive.Backdrop.Props, 'className'> & { className?: string }\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Backdrop\n ref={ref}\n className={cn(\n `\n fixed inset-0 z-50 bg-berget-dialog-overlay-bg transition-opacity\n duration-200\n data-ending-style:opacity-0\n data-starting-style:opacity-0\n `,\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = 'DialogOverlay';\n\nconst DialogContent = React.forwardRef<\n HTMLDivElement,\n Omit<DialogPrimitive.Popup.Props, 'className'> & { className?: string }\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Popup\n ref={ref}\n className={cn(\n `\n fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg\n translate-x-[-50%] translate-y-[-50%] gap-4 rounded-berget-sm border\n border-berget-dialog-border bg-berget-dialog-bg p-6 shadow-berget-lg\n transition-[opacity,transform] duration-200\n data-ending-style:scale-95 data-ending-style:opacity-0\n data-starting-style:scale-95 data-starting-style:opacity-0\n `,\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n className=\"\n focus:ring-berget-focus-ring\n absolute top-4 right-4 rounded-berget-xs opacity-70\n ring-offset-berget-dialog-bg transition-opacity\n hover:opacity-100\n focus:ring-2 focus:ring-offset-2 focus:outline-none\n disabled:pointer-events-none\n data-open:bg-berget-muted data-open:text-berget-muted-foreground\n \"\n >\n <X className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Popup>\n </DialogPortal>\n));\nDialogContent.displayName = 'DialogContent';\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n `\n flex flex-col gap-1.5 text-center\n sm:text-left\n `,\n className,\n )}\n {...props}\n />\n);\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n `\n flex flex-col-reverse gap-2\n sm:flex-row sm:justify-end\n `,\n className,\n )}\n {...props}\n />\n);\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogTitle = React.forwardRef<\n HTMLHeadingElement,\n Omit<DialogPrimitive.Title.Props, 'className'> & { className?: string }\n>(({ className, children, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n render={<Typography variant=\"h5\" color=\"default\" as=\"h2\" className={className} />}\n {...props}\n >\n {children}\n </DialogPrimitive.Title>\n));\nDialogTitle.displayName = 'DialogTitle';\n\nconst DialogDescription = React.forwardRef<\n HTMLParagraphElement,\n Omit<DialogPrimitive.Description.Props, 'className'> & { className?: string }\n>(({ className, children, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n render={<Typography variant=\"small\" color=\"muted\" className={className} />}\n {...props}\n >\n {children}\n </DialogPrimitive.Description>\n));\nDialogDescription.displayName = 'DialogDescription';\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n"],"mappings":";;;;;;;;AASA,MAAMA,WAASC,OAAgB;AAQ/B,MAAM,gBAAgB,MAAM,YACzB,EAAE,SAAS,UAAU,GAAG,SAAS,QAChC,oBAACA,OAAgB,SAAjB;CAA8B;CAAK,QAAQ,cAAc,SAAS,QAAQ;CAAG,GAAI;CAC9E,UAAA,UAAU,KAAA,IAAY;AACA,CAAA,CAE7B;AACA,cAAc,cAAc;AAE5B,MAAM,eAAeA,OAAgB;AAErC,MAAM,cAAcA,OAAgB;AAEpC,MAAM,gBAAgB,MAAM,YAGzB,EAAE,WAAW,GAAG,SAAS,QAC1B,oBAACA,OAAgB,UAAjB;CACO;CACL,WAAW,GACT;;;;;SAMA,SACF;CACA,GAAI;AACL,CAAA,CACF;AACD,cAAc,cAAc;AAE5B,MAAM,gBAAgB,MAAM,YAGzB,EAAE,WAAW,UAAU,GAAG,SAAS,QACpC,qBAAC,cAAD,EAAA,UAAA,CACE,oBAAC,eAAD,CAAgB,CAAA,GAChB,qBAACA,OAAgB,OAAjB;CACO;CACL,WAAW,GACT;;;;;;;WAQA,SACF;CACA,GAAI;CAbN,UAAA,CAeG,UACD,qBAACA,OAAgB,OAAjB;EACE,WAAU;EADZ,UAAA,CAWE,oBAAC,GAAD,EAAG,WAAU,SAAU,CAAA,GACvB,oBAAC,QAAD;GAAM,WAAU;GAAU,UAAA;EAAW,CAAA,CAChB;CACF,CAAA,CAAA;AACX,CAAA,CAAA,EAAA,CAAA,CACf;AACD,cAAc,cAAc;AAE5B,MAAM,gBAAgB,EAAE,WAAW,GAAG,YACpC,oBAAC,OAAD;CACE,WAAW,GACT;;;SAIA,SACF;CACA,GAAI;AACL,CAAA;AAEH,aAAa,cAAc;AAE3B,MAAM,gBAAgB,EAAE,WAAW,GAAG,YACpC,oBAAC,OAAD;CACE,WAAW,GACT;;;SAIA,SACF;CACA,GAAI;AACL,CAAA;AAEH,aAAa,cAAc;AAE3B,MAAM,cAAc,MAAM,YAGvB,EAAE,WAAW,UAAU,GAAG,SAAS,QACpC,oBAACA,OAAgB,OAAjB;CACO;CACL,QAAQ,oBAAC,YAAD;EAAY,SAAQ;EAAK,OAAM;EAAU,IAAG;EAAgB;CAAY,CAAA;CAChF,GAAI;CAEH;AACoB,CAAA,CACxB;AACD,YAAY,cAAc;AAE1B,MAAM,oBAAoB,MAAM,YAG7B,EAAE,WAAW,UAAU,GAAG,SAAS,QACpC,oBAACA,OAAgB,aAAjB;CACO;CACL,QAAQ,oBAAC,YAAD;EAAY,SAAQ;EAAQ,OAAM;EAAmB;CAAY,CAAA;CACzE,GAAI;CAEH;AAC0B,CAAA,CAC9B;AACD,kBAAkB,cAAc"}
|
|
@@ -18,8 +18,8 @@ const dividerVariants = (0, require("class-variance-authority").cva)("", {
|
|
|
18
18
|
},
|
|
19
19
|
size: {
|
|
20
20
|
thin: "",
|
|
21
|
-
medium: "
|
|
22
|
-
thick: "
|
|
21
|
+
medium: "h-[2px]!",
|
|
22
|
+
thick: "h-[4px]!"
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
defaultVariants: {
|
|
@@ -30,7 +30,7 @@ const dividerVariants = (0, require("class-variance-authority").cva)("", {
|
|
|
30
30
|
const Divider = react.forwardRef(({ className, orientation = "horizontal", variant, size, label, labelPosition = "center", ...props }, ref) => {
|
|
31
31
|
if (label) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
32
32
|
ref,
|
|
33
|
-
className: require_utils.cn("flex items-center
|
|
33
|
+
className: require_utils.cn("flex w-full items-center", className),
|
|
34
34
|
...props,
|
|
35
35
|
children: [
|
|
36
36
|
labelPosition !== "right" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_separator.Separator, {
|
|
@@ -43,7 +43,7 @@ const Divider = react.forwardRef(({ className, orientation = "horizontal", varia
|
|
|
43
43
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.Typography, {
|
|
44
44
|
variant: "small",
|
|
45
45
|
color: "muted",
|
|
46
|
-
className: "px-4 whitespace-nowrap",
|
|
46
|
+
className: "\n px-4 whitespace-nowrap\n ",
|
|
47
47
|
children: label
|
|
48
48
|
}),
|
|
49
49
|
labelPosition !== "left" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_separator.Separator, {
|
|
@@ -61,7 +61,7 @@ const Divider = react.forwardRef(({ className, orientation = "horizontal", varia
|
|
|
61
61
|
className: require_utils.cn(dividerVariants({
|
|
62
62
|
variant,
|
|
63
63
|
size
|
|
64
|
-
}), orientation === "vertical" && "h-full
|
|
64
|
+
}), orientation === "vertical" && "h-full w-px!", className)
|
|
65
65
|
});
|
|
66
66
|
});
|
|
67
67
|
Divider.displayName = "Divider";
|