@bergetai/ui 0.15.0 → 0.16.1
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/Alert.d.cts +1 -1
- package/dist/components/alert/Alert.d.mts +1 -1
- 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 +1 -1
- package/dist/components/badge/Badge.d.cts.map +1 -1
- package/dist/components/badge/Badge.d.mts +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.d.cts +2 -2
- package/dist/components/box/Box.d.mts +2 -2
- package/dist/components/box/Box.mjs +3 -1
- package/dist/components/box/Box.mjs.map +1 -1
- package/dist/components/bubble/index.d.cts +2 -0
- package/dist/components/bubble/index.d.mts +2 -0
- 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 +2 -2
- package/dist/components/dropdown-menu/DropdownMenu.d.cts.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.d.mts +2 -2
- 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.d.cts +2 -2
- package/dist/components/grid/Grid.d.mts +2 -2
- package/dist/components/grid/Grid.mjs +11 -1
- package/dist/components/grid/Grid.mjs.map +1 -1
- package/dist/components/input-group/InputGroup.cjs +50 -0
- package/dist/components/input-group/InputGroup.cjs.map +1 -0
- package/dist/components/input-group/InputGroup.d.cts +33 -0
- package/dist/components/input-group/InputGroup.d.cts.map +1 -0
- package/dist/components/input-group/InputGroup.d.mts +33 -0
- package/dist/components/input-group/InputGroup.d.mts.map +1 -0
- package/dist/components/input-group/InputGroup.mjs +45 -0
- package/dist/components/input-group/InputGroup.mjs.map +1 -0
- package/dist/components/input-group/index.d.cts +3 -0
- package/dist/components/input-group/index.d.mts +3 -0
- 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 +1 -1
- package/dist/components/link/Link.d.cts.map +1 -1
- package/dist/components/link/Link.d.mts +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/message/index.d.cts +2 -0
- package/dist/components/message/index.d.mts +2 -0
- package/dist/components/message-scroller/index.d.cts +2 -0
- package/dist/components/message-scroller/index.d.mts +2 -0
- 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 +23 -0
- package/dist/components/slider/Slider.cjs.map +1 -0
- package/dist/components/slider/Slider.d.cts +20 -0
- package/dist/components/slider/Slider.d.cts.map +1 -0
- package/dist/components/slider/Slider.d.mts +20 -0
- package/dist/components/slider/Slider.d.mts.map +1 -0
- package/dist/components/slider/Slider.mjs +23 -0
- package/dist/components/slider/Slider.mjs.map +1 -0
- package/dist/components/slider/index.d.cts +2 -0
- package/dist/components/slider/index.d.mts +2 -0
- 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/tooltip/Tooltip.d.cts +1 -1
- package/dist/components/tooltip/Tooltip.d.mts +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/dist/index.cjs +49 -1
- package/dist/index.d.cts +12 -1
- package/dist/index.d.mts +12 -1
- package/dist/index.mjs +8 -2
- package/dist/primitives/bubble.cjs +80 -0
- package/dist/primitives/bubble.cjs.map +1 -0
- package/dist/primitives/bubble.d.cts +19 -0
- package/dist/primitives/bubble.d.cts.map +1 -0
- package/dist/primitives/bubble.d.mts +19 -0
- package/dist/primitives/bubble.d.mts.map +1 -0
- package/dist/primitives/bubble.mjs +75 -0
- package/dist/primitives/bubble.mjs.map +1 -0
- package/dist/primitives/button.cjs +1 -2
- package/dist/primitives/button.cjs.map +1 -1
- package/dist/primitives/button.d.cts +2 -2
- package/dist/primitives/button.d.cts.map +1 -1
- package/dist/primitives/button.d.mts +2 -2
- package/dist/primitives/button.d.mts.map +1 -1
- package/dist/primitives/button.mjs +1 -2
- package/dist/primitives/button.mjs.map +1 -1
- package/dist/primitives/field.d.cts +1 -1
- package/dist/primitives/field.d.mts +1 -1
- package/dist/primitives/input-group.cjs +37 -1
- package/dist/primitives/input-group.cjs.map +1 -1
- package/dist/primitives/input-group.d.cts +21 -0
- package/dist/primitives/input-group.d.cts.map +1 -0
- package/dist/primitives/input-group.d.mts +21 -0
- package/dist/primitives/input-group.d.mts.map +1 -0
- package/dist/primitives/input-group.mjs +34 -2
- package/dist/primitives/input-group.mjs.map +1 -1
- package/dist/primitives/item.d.cts +1 -1
- package/dist/primitives/item.d.mts +1 -1
- package/dist/primitives/message-scroller.cjs +69 -0
- package/dist/primitives/message-scroller.cjs.map +1 -0
- package/dist/primitives/message-scroller.d.cts +13 -0
- package/dist/primitives/message-scroller.d.cts.map +1 -0
- package/dist/primitives/message-scroller.d.mts +13 -0
- package/dist/primitives/message-scroller.d.mts.map +1 -0
- package/dist/primitives/message-scroller.mjs +62 -0
- package/dist/primitives/message-scroller.mjs.map +1 -0
- package/dist/primitives/message.cjs +58 -0
- package/dist/primitives/message.cjs.map +1 -0
- package/dist/primitives/message.d.cts +13 -0
- package/dist/primitives/message.d.cts.map +1 -0
- package/dist/primitives/message.d.mts +13 -0
- package/dist/primitives/message.d.mts.map +1 -0
- package/dist/primitives/message.mjs +51 -0
- package/dist/primitives/message.mjs.map +1 -0
- package/dist/primitives/sidebar.cjs +1 -1
- package/dist/primitives/sidebar.mjs +1 -1
- package/dist/primitives/slider.cjs +35 -0
- package/dist/primitives/slider.cjs.map +1 -0
- package/dist/primitives/slider.d.cts +6 -0
- package/dist/primitives/slider.d.cts.map +1 -0
- package/dist/primitives/slider.d.mts +6 -0
- package/dist/primitives/slider.d.mts.map +1 -0
- package/dist/primitives/slider.mjs +35 -0
- package/dist/primitives/slider.mjs.map +1 -0
- package/package.json +2 -1
|
@@ -24,29 +24,32 @@ function CodeBlock({ code, language = "text", title, className }) {
|
|
|
24
24
|
}, [code]);
|
|
25
25
|
const copyButton = /* @__PURE__ */ jsx("button", {
|
|
26
26
|
onClick: handleCopy,
|
|
27
|
-
className: "flex items-center justify-center
|
|
27
|
+
className: "\n flex size-6 items-center justify-center text-berget-muted-foreground\n transition-colors\n hover:text-berget-foreground\n ",
|
|
28
28
|
"aria-label": "Copy code",
|
|
29
|
-
children: copied ? /* @__PURE__ */ jsx(Check, { className: "
|
|
29
|
+
children: copied ? /* @__PURE__ */ jsx(Check, { className: "size-3.5" }) : /* @__PURE__ */ jsx(Copy, { className: "size-3.5" })
|
|
30
30
|
});
|
|
31
31
|
return /* @__PURE__ */ jsxs("div", {
|
|
32
|
-
className: cn(
|
|
32
|
+
className: cn(`
|
|
33
|
+
relative isolate overflow-hidden rounded-berget-xs border
|
|
34
|
+
border-berget-border bg-berget-codeblock-bg backdrop-blur-md
|
|
35
|
+
`, className),
|
|
33
36
|
children: [
|
|
34
37
|
title && /* @__PURE__ */ jsx("div", {
|
|
35
|
-
className: "
|
|
38
|
+
className: "\n flex h-10! items-center border-b border-berget-border\n bg-berget-codeblock-header-bg px-4! text-xs/normal!\n ",
|
|
36
39
|
children: /* @__PURE__ */ jsx("span", {
|
|
37
40
|
className: "text-berget-muted-foreground",
|
|
38
41
|
children: title
|
|
39
42
|
})
|
|
40
43
|
}),
|
|
41
44
|
/* @__PURE__ */ jsx("div", {
|
|
42
|
-
className: "absolute
|
|
45
|
+
className: "absolute top-2 right-2 z-10",
|
|
43
46
|
children: copyButton
|
|
44
47
|
}),
|
|
45
48
|
html ? /* @__PURE__ */ jsx("div", {
|
|
46
|
-
className: "[&_.shiki]
|
|
49
|
+
className: "\n [&_.shiki]:m-0! [&_.shiki]:overflow-x-auto [&_.shiki]:bg-transparent\n [&_.shiki]:p-4! [&_.shiki]:text-caption/relaxed!\n ",
|
|
47
50
|
dangerouslySetInnerHTML: { __html: html }
|
|
48
51
|
}) : /* @__PURE__ */ jsx("pre", {
|
|
49
|
-
className: "
|
|
52
|
+
className: "\n m-0! overflow-x-auto p-4! text-caption/relaxed!\n text-berget-muted-foreground\n ",
|
|
50
53
|
children: /* @__PURE__ */ jsx("code", { children: code })
|
|
51
54
|
})
|
|
52
55
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlock.mjs","names":[],"sources":["../../../src/components/code-block/CodeBlock.tsx"],"sourcesContent":["'use client';\n\nimport { useState, useEffect, useCallback } from 'react';\nimport { Copy, Check } from 'lucide-react';\nimport { cn } from '../../lib/utils';\nimport { getHighlighter } from '../../lib/shiki';\n\nexport interface CodeBlockProps {\n code: string;\n language?: string;\n title?: string;\n className?: string;\n}\n\nexport function CodeBlock({ code, language = 'text', title, className }: CodeBlockProps) {\n const [html, setHtml] = useState<string | null>(null);\n const [copied, setCopied] = useState(false);\n\n useEffect(() => {\n getHighlighter().then((highlighter) => {\n const loadedLangs = highlighter.getLoadedLanguages();\n const lang = loadedLangs.includes(language) ? language : 'text';\n setHtml(highlighter.codeToHtml(code, { lang, theme: 'berget' }));\n });\n }, [code, language]);\n\n const handleCopy = useCallback(async () => {\n await navigator.clipboard.writeText(code);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n }, [code]);\n\n const copyButton = (\n <button\n onClick={handleCopy}\n className=\"flex items-center justify-center
|
|
1
|
+
{"version":3,"file":"CodeBlock.mjs","names":[],"sources":["../../../src/components/code-block/CodeBlock.tsx"],"sourcesContent":["'use client';\n\nimport { useState, useEffect, useCallback } from 'react';\nimport { Copy, Check } from 'lucide-react';\nimport { cn } from '../../lib/utils';\nimport { getHighlighter } from '../../lib/shiki';\n\nexport interface CodeBlockProps {\n code: string;\n language?: string;\n title?: string;\n className?: string;\n}\n\nexport function CodeBlock({ code, language = 'text', title, className }: CodeBlockProps) {\n const [html, setHtml] = useState<string | null>(null);\n const [copied, setCopied] = useState(false);\n\n useEffect(() => {\n getHighlighter().then((highlighter) => {\n const loadedLangs = highlighter.getLoadedLanguages();\n const lang = loadedLangs.includes(language) ? language : 'text';\n setHtml(highlighter.codeToHtml(code, { lang, theme: 'berget' }));\n });\n }, [code, language]);\n\n const handleCopy = useCallback(async () => {\n await navigator.clipboard.writeText(code);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n }, [code]);\n\n const copyButton = (\n <button\n onClick={handleCopy}\n className=\"\n flex size-6 items-center justify-center text-berget-muted-foreground\n transition-colors\n hover:text-berget-foreground\n \"\n aria-label=\"Copy code\"\n >\n {copied ? <Check className=\"size-3.5\" /> : <Copy className=\"size-3.5\" />}\n </button>\n );\n\n return (\n <div\n className={cn(\n `\n relative isolate overflow-hidden rounded-berget-xs border\n border-berget-border bg-berget-codeblock-bg backdrop-blur-md\n `,\n className,\n )}\n >\n {title && (\n <div\n className=\"\n flex h-10! items-center border-b border-berget-border\n bg-berget-codeblock-header-bg px-4! text-xs/normal!\n \"\n >\n <span className=\"text-berget-muted-foreground\">{title}</span>\n </div>\n )}\n <div className=\"absolute top-2 right-2 z-10\">{copyButton}</div>\n {html ? (\n <div\n className=\"\n [&_.shiki]:m-0! [&_.shiki]:overflow-x-auto [&_.shiki]:bg-transparent\n [&_.shiki]:p-4! [&_.shiki]:text-caption/relaxed!\n \"\n dangerouslySetInnerHTML={{ __html: html }}\n />\n ) : (\n <pre\n className=\"\n m-0! overflow-x-auto p-4! text-caption/relaxed!\n text-berget-muted-foreground\n \"\n >\n <code>{code}</code>\n </pre>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;AAcA,SAAgB,UAAU,EAAE,MAAM,WAAW,QAAQ,OAAO,aAA6B;CACvF,MAAM,CAAC,MAAM,WAAW,SAAwB,IAAI;CACpD,MAAM,CAAC,QAAQ,aAAa,SAAS,KAAK;CAE1C,gBAAgB;EACd,eAAe,CAAC,CAAC,MAAM,gBAAgB;GAErC,MAAM,OADc,YAAY,mBACT,CAAC,CAAC,SAAS,QAAQ,IAAI,WAAW;GACzD,QAAQ,YAAY,WAAW,MAAM;IAAE;IAAM,OAAO;GAAS,CAAC,CAAC;EACjE,CAAC;CACH,GAAG,CAAC,MAAM,QAAQ,CAAC;CAEnB,MAAM,aAAa,YAAY,YAAY;EACzC,MAAM,UAAU,UAAU,UAAU,IAAI;EACxC,UAAU,IAAI;EACd,iBAAiB,UAAU,KAAK,GAAG,GAAI;CACzC,GAAG,CAAC,IAAI,CAAC;CAET,MAAM,aACJ,oBAAC,UAAD;EACE,SAAS;EACT,WAAU;EAKV,cAAW;EAEV,UAAA,SAAS,oBAAC,OAAD,EAAO,WAAU,WAAY,CAAA,IAAI,oBAAC,MAAD,EAAM,WAAU,WAAY,CAAA;CACjE,CAAA;CAGV,OACE,qBAAC,OAAD;EACE,WAAW,GACT;;;WAIA,SACF;EAPF,UAAA;GASG,SACC,oBAAC,OAAD;IACE,WAAU;IAKV,UAAA,oBAAC,QAAD;KAAM,WAAU;KAAgC,UAAA;IAAY,CAAA;GACzD,CAAA;GAEP,oBAAC,OAAD;IAAK,WAAU;IAA+B,UAAA;GAAgB,CAAA;GAC7D,OACC,oBAAC,OAAD;IACE,WAAU;IAIV,yBAAyB,EAAE,QAAQ,KAAK;GACzC,CAAA,IAED,oBAAC,OAAD;IACE,WAAU;IAKV,UAAA,oBAAC,QAAD,EAAA,UAAO,KAAW,CAAA;GACf,CAAA;EAEJ;;AAET"}
|
|
@@ -7,20 +7,31 @@ let class_variance_authority = require("class-variance-authority");
|
|
|
7
7
|
let _base_ui_react_merge_props = require("@base-ui/react/merge-props");
|
|
8
8
|
let _base_ui_react_use_render = require("@base-ui/react/use-render");
|
|
9
9
|
//#region src/components/container/Container.tsx
|
|
10
|
-
const containerVariants = (0, class_variance_authority.cva)("w-full
|
|
10
|
+
const containerVariants = (0, class_variance_authority.cva)("mx-auto w-full", {
|
|
11
11
|
variants: {
|
|
12
12
|
size: {
|
|
13
13
|
sm: "max-w-3xl",
|
|
14
14
|
md: "max-w-5xl",
|
|
15
15
|
lg: "max-w-7xl",
|
|
16
|
-
xl: "max-w-
|
|
16
|
+
xl: "max-w-7xl",
|
|
17
17
|
full: "max-w-full"
|
|
18
18
|
},
|
|
19
19
|
padding: {
|
|
20
20
|
none: "px-0",
|
|
21
|
-
sm:
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
sm: `
|
|
22
|
+
px-4
|
|
23
|
+
sm:px-6
|
|
24
|
+
`,
|
|
25
|
+
md: `
|
|
26
|
+
px-4
|
|
27
|
+
sm:px-6
|
|
28
|
+
lg:px-8
|
|
29
|
+
`,
|
|
30
|
+
lg: `
|
|
31
|
+
px-4
|
|
32
|
+
sm:px-8
|
|
33
|
+
lg:px-12
|
|
34
|
+
`
|
|
24
35
|
}
|
|
25
36
|
},
|
|
26
37
|
defaultVariants: {
|
|
@@ -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"}
|