@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
|
@@ -36,7 +36,17 @@ const Grid = React.forwardRef(({ className, align, justify, cols, rows, gap, gap
|
|
|
36
36
|
className: cn(gridVariants({
|
|
37
37
|
align,
|
|
38
38
|
justify
|
|
39
|
-
}), cols !== void 0 && `
|
|
39
|
+
}), cols !== void 0 && `
|
|
40
|
+
grid-cols-${cols}
|
|
41
|
+
`, rows !== void 0 && `
|
|
42
|
+
grid-rows-${rows}
|
|
43
|
+
`, gap !== void 0 && `
|
|
44
|
+
gap-${gap}
|
|
45
|
+
`, gapX !== void 0 && `
|
|
46
|
+
gap-x-${gapX}
|
|
47
|
+
`, gapY !== void 0 && `
|
|
48
|
+
gap-y-${gapY}
|
|
49
|
+
`, className),
|
|
40
50
|
children: asChild ? void 0 : children
|
|
41
51
|
}, props)
|
|
42
52
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grid.mjs","names":[],"sources":["../../../src/components/grid/Grid.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { cn } from '../../lib/utils';\n\nconst gridVariants = cva('grid', {\n variants: {\n align: {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n stretch: 'items-stretch',\n },\n justify: {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n },\n },\n defaultVariants: {\n align: 'stretch',\n justify: 'start',\n },\n});\n\nexport type SpacingScale =\n | 0\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 8\n | 10\n | 12\n | 16\n | 20\n | 24\n | 32\n | 40\n | 48\n | 56\n | 64\n | 72\n | 80\n | 96;\n\nexport type GridColsScale = 1 | 2 | 3 | 4 | 6 | 12;\n\nexport type GridRowsScale = 1 | 2 | 3 | 4 | 5 | 6;\n\nexport interface GridProps\n extends useRender.ComponentProps<'div'>, VariantProps<typeof gridVariants> {\n children?: React.ReactNode;\n cols?: GridColsScale;\n rows?: GridRowsScale;\n gap?: SpacingScale;\n gapX?: SpacingScale;\n gapY?: SpacingScale;\n /** Render as a different element/component. Replaces the Radix `asChild` prop. */\n asChild?: boolean;\n}\n\nconst Grid = React.forwardRef<HTMLElement, GridProps>(\n (\n { className, align, justify, cols, rows, gap, gapX, gapY, asChild = false, children, ...props },\n ref,\n ) => {\n return useRender({\n ref,\n defaultTagName: 'div',\n render: asChild ? (children as React.ReactElement) : undefined,\n props: mergeProps<'div'>(\n {\n className: cn(\n gridVariants({ align, justify }),\n cols !== undefined
|
|
1
|
+
{"version":3,"file":"Grid.mjs","names":[],"sources":["../../../src/components/grid/Grid.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { cn } from '../../lib/utils';\n\nconst gridVariants = cva('grid', {\n variants: {\n align: {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n stretch: 'items-stretch',\n },\n justify: {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n },\n },\n defaultVariants: {\n align: 'stretch',\n justify: 'start',\n },\n});\n\nexport type SpacingScale =\n | 0\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 8\n | 10\n | 12\n | 16\n | 20\n | 24\n | 32\n | 40\n | 48\n | 56\n | 64\n | 72\n | 80\n | 96;\n\nexport type GridColsScale = 1 | 2 | 3 | 4 | 6 | 12;\n\nexport type GridRowsScale = 1 | 2 | 3 | 4 | 5 | 6;\n\nexport interface GridProps\n extends useRender.ComponentProps<'div'>, VariantProps<typeof gridVariants> {\n children?: React.ReactNode;\n cols?: GridColsScale;\n rows?: GridRowsScale;\n gap?: SpacingScale;\n gapX?: SpacingScale;\n gapY?: SpacingScale;\n /** Render as a different element/component. Replaces the Radix `asChild` prop. */\n asChild?: boolean;\n}\n\nconst Grid = React.forwardRef<HTMLElement, GridProps>(\n (\n { className, align, justify, cols, rows, gap, gapX, gapY, asChild = false, children, ...props },\n ref,\n ) => {\n return useRender({\n ref,\n defaultTagName: 'div',\n render: asChild ? (children as React.ReactElement) : undefined,\n props: mergeProps<'div'>(\n {\n className: cn(\n gridVariants({ align, justify }),\n cols !== undefined &&\n `\n grid-cols-${cols}\n `,\n rows !== undefined &&\n `\n grid-rows-${rows}\n `,\n gap !== undefined &&\n `\n gap-${gap}\n `,\n gapX !== undefined &&\n `\n gap-x-${gapX}\n `,\n gapY !== undefined &&\n `\n gap-y-${gapY}\n `,\n className,\n ),\n children: asChild ? undefined : children,\n } as React.ComponentProps<'div'>,\n props,\n ),\n });\n },\n);\nGrid.displayName = 'Grid';\n\nexport { Grid, gridVariants };\n"],"mappings":";;;;;;;AAQA,MAAM,eAAe,IAAI,QAAQ;CAC/B,UAAU;EACR,OAAO;GACL,OAAO;GACP,QAAQ;GACR,KAAK;GACL,SAAS;EACX;EACA,SAAS;GACP,OAAO;GACP,QAAQ;GACR,KAAK;GACL,SAAS;GACT,QAAQ;GACR,QAAQ;EACV;CACF;CACA,iBAAiB;EACf,OAAO;EACP,SAAS;CACX;AACF,CAAC;AAyCD,MAAM,OAAO,MAAM,YAEf,EAAE,WAAW,OAAO,SAAS,MAAM,MAAM,KAAK,MAAM,MAAM,UAAU,OAAO,UAAU,GAAG,SACxF,QACG;CACH,OAAO,UAAU;EACf;EACA,gBAAgB;EAChB,QAAQ,UAAW,WAAkC,KAAA;EACrD,OAAO,WACL;GACE,WAAW,GACT,aAAa;IAAE;IAAO;GAAQ,CAAC,GAC/B,SAAS,KAAA,KACP;4BACc,KAAK;iBAErB,SAAS,KAAA,KACP;4BACc,KAAK;iBAErB,QAAQ,KAAA,KACN;sBACQ,IAAI;iBAEd,SAAS,KAAA,KACP;wBACU,KAAK;iBAEjB,SAAS,KAAA,KACP;wBACU,KAAK;iBAEjB,SACF;GACA,UAAU,UAAU,KAAA,IAAY;EAClC,GACA,KACF;CACF,CAAC;AACH,CACF;AACA,KAAK,cAAc"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const require_utils = require("../../lib/utils.cjs");
|
|
3
|
+
const require_input_group = require("../../primitives/input-group.cjs");
|
|
4
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
|
+
//#region src/components/input-group/InputGroup.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Berget wrapper for the base-nova InputGroup primitive.
|
|
8
|
+
*
|
|
9
|
+
* Reproduces the Playground chat-composer treatment that lived in the
|
|
10
|
+
* console's legacy `src/components/ui/input-group.tsx` so migration causes
|
|
11
|
+
* no visual regression:
|
|
12
|
+
*
|
|
13
|
+
* - Filled composer look: `--berget-surface-raised` fill with a transparent
|
|
14
|
+
* resting border (the primitive ships a hard `border-input` border).
|
|
15
|
+
* - Focus ring: `--berget-ring` at 30% — same as the console's
|
|
16
|
+
* `ring-ring/30`, expressed with Berget tokens.
|
|
17
|
+
* - Radius: 16px (`rounded-berget-sm`), matching the console's
|
|
18
|
+
* `rounded-2xl` composer.
|
|
19
|
+
*
|
|
20
|
+
* `Addon` carries the console's kbd chrome overrides. The other parts are
|
|
21
|
+
* re-exported unchanged from the primitive.
|
|
22
|
+
*/
|
|
23
|
+
const InputGroup = ({ className, ...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input_group.InputGroup, {
|
|
24
|
+
className: require_utils.cn(`
|
|
25
|
+
rounded-berget-sm border-transparent bg-berget-surface-raised
|
|
26
|
+
dark:bg-berget-surface-raised
|
|
27
|
+
`, `
|
|
28
|
+
has-[[data-slot=input-group-control]:focus-visible]:border-transparent
|
|
29
|
+
has-[[data-slot=input-group-control]:focus-visible]:ring-berget-ring/30
|
|
30
|
+
`, className),
|
|
31
|
+
...props
|
|
32
|
+
});
|
|
33
|
+
InputGroup.displayName = "InputGroup";
|
|
34
|
+
const InputGroupAddon = ({ className, ...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input_group.InputGroupAddon, {
|
|
35
|
+
className: require_utils.cn(`
|
|
36
|
+
**:data-[slot=kbd]:rounded-berget-sm
|
|
37
|
+
**:data-[slot=kbd]:bg-berget-surface-raised **:data-[slot=kbd]:px-1.5
|
|
38
|
+
`, className),
|
|
39
|
+
...props
|
|
40
|
+
});
|
|
41
|
+
InputGroupAddon.displayName = "InputGroupAddon";
|
|
42
|
+
//#endregion
|
|
43
|
+
exports.InputGroup = InputGroup;
|
|
44
|
+
exports.InputGroupAddon = InputGroupAddon;
|
|
45
|
+
exports.InputGroupButton = require_input_group.InputGroupButton;
|
|
46
|
+
exports.InputGroupInput = require_input_group.InputGroupInput;
|
|
47
|
+
exports.InputGroupText = require_input_group.InputGroupText;
|
|
48
|
+
exports.InputGroupTextarea = require_input_group.InputGroupTextarea;
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=InputGroup.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputGroup.cjs","names":["InputGroupPrimitive","cn","InputGroupAddonPrimitive"],"sources":["../../../src/components/input-group/InputGroup.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { cn } from '../../lib/utils';\nimport {\n InputGroup as InputGroupPrimitive,\n InputGroupAddon as InputGroupAddonPrimitive,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n} from '../../primitives/input-group';\n\nexport type InputGroupProps = React.ComponentProps<typeof InputGroupPrimitive>;\nexport type InputGroupAddonProps = React.ComponentProps<typeof InputGroupAddonPrimitive>;\n\n/**\n * Berget wrapper for the base-nova InputGroup primitive.\n *\n * Reproduces the Playground chat-composer treatment that lived in the\n * console's legacy `src/components/ui/input-group.tsx` so migration causes\n * no visual regression:\n *\n * - Filled composer look: `--berget-surface-raised` fill with a transparent\n * resting border (the primitive ships a hard `border-input` border).\n * - Focus ring: `--berget-ring` at 30% — same as the console's\n * `ring-ring/30`, expressed with Berget tokens.\n * - Radius: 16px (`rounded-berget-sm`), matching the console's\n * `rounded-2xl` composer.\n *\n * `Addon` carries the console's kbd chrome overrides. The other parts are\n * re-exported unchanged from the primitive.\n */\nconst InputGroup = ({ className, ...props }: InputGroupProps) => (\n <InputGroupPrimitive\n className={cn(\n `\n rounded-berget-sm border-transparent bg-berget-surface-raised\n dark:bg-berget-surface-raised\n `,\n `\n has-[[data-slot=input-group-control]:focus-visible]:border-transparent\n has-[[data-slot=input-group-control]:focus-visible]:ring-berget-ring/30\n `,\n className,\n )}\n {...props}\n />\n);\nInputGroup.displayName = 'InputGroup';\n\nconst InputGroupAddon = ({ className, ...props }: InputGroupAddonProps) => (\n <InputGroupAddonPrimitive\n className={cn(\n `\n **:data-[slot=kbd]:rounded-berget-sm\n **:data-[slot=kbd]:bg-berget-surface-raised **:data-[slot=kbd]:px-1.5\n `,\n className,\n )}\n {...props}\n />\n);\nInputGroupAddon.displayName = 'InputGroupAddon';\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAiCA,MAAM,cAAc,EAAE,WAAW,GAAG,YAClC,iBAAA,GAAA,kBAAA,IAAA,CAACA,oBAAAA,YAAD;CACE,WAAWC,cAAAA,GACT;;;SAIA;;;SAIA,SACF;CACA,GAAI;AACL,CAAA;AAEH,WAAW,cAAc;AAEzB,MAAM,mBAAmB,EAAE,WAAW,GAAG,YACvC,iBAAA,GAAA,kBAAA,IAAA,CAACC,oBAAAA,iBAAD;CACE,WAAWD,cAAAA,GACT;;;SAIA,SACF;CACA,GAAI;AACL,CAAA;AAEH,gBAAgB,cAAc"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { InputGroup as InputGroup$1, InputGroupAddon as InputGroupAddon$1, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "../../primitives/input-group.cjs";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
//#region src/components/input-group/InputGroup.d.ts
|
|
4
|
+
export type InputGroupProps = React.ComponentProps<typeof InputGroup$1>;
|
|
5
|
+
export type InputGroupAddonProps = React.ComponentProps<typeof InputGroupAddon$1>;
|
|
6
|
+
/**
|
|
7
|
+
* Berget wrapper for the base-nova InputGroup primitive.
|
|
8
|
+
*
|
|
9
|
+
* Reproduces the Playground chat-composer treatment that lived in the
|
|
10
|
+
* console's legacy `src/components/ui/input-group.tsx` so migration causes
|
|
11
|
+
* no visual regression:
|
|
12
|
+
*
|
|
13
|
+
* - Filled composer look: `--berget-surface-raised` fill with a transparent
|
|
14
|
+
* resting border (the primitive ships a hard `border-input` border).
|
|
15
|
+
* - Focus ring: `--berget-ring` at 30% — same as the console's
|
|
16
|
+
* `ring-ring/30`, expressed with Berget tokens.
|
|
17
|
+
* - Radius: 16px (`rounded-berget-sm`), matching the console's
|
|
18
|
+
* `rounded-2xl` composer.
|
|
19
|
+
*
|
|
20
|
+
* `Addon` carries the console's kbd chrome overrides. The other parts are
|
|
21
|
+
* re-exported unchanged from the primitive.
|
|
22
|
+
*/
|
|
23
|
+
declare const InputGroup: {
|
|
24
|
+
({ className, ...props }: InputGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
displayName: string;
|
|
26
|
+
};
|
|
27
|
+
declare const InputGroupAddon: {
|
|
28
|
+
({ className, ...props }: InputGroupAddonProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
displayName: string;
|
|
30
|
+
};
|
|
31
|
+
//#endregion
|
|
32
|
+
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea };
|
|
33
|
+
//# sourceMappingURL=InputGroup.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputGroup.d.cts","names":["InputGroupPrimitive","InputGroupAddonPrimitive"],"sources":["../../../src/components/input-group/InputGroup.tsx"],"mappings":";;;YAaY,kBAAkB,MAAM,sBAAsBA;YAC9C,uBAAuB,MAAM,sBAAsBC;;;;;;;;;;;;;;;;;;cAmBzD;KAAuC,cAAA,SAAA,8CAAe,IAAA;;;cAkBtD;KAA4C,cAAA,SAAA,mDAAoB,IAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { InputGroup as InputGroup$1, InputGroupAddon as InputGroupAddon$1, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "../../primitives/input-group.mjs";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
//#region src/components/input-group/InputGroup.d.ts
|
|
4
|
+
export type InputGroupProps = React.ComponentProps<typeof InputGroup$1>;
|
|
5
|
+
export type InputGroupAddonProps = React.ComponentProps<typeof InputGroupAddon$1>;
|
|
6
|
+
/**
|
|
7
|
+
* Berget wrapper for the base-nova InputGroup primitive.
|
|
8
|
+
*
|
|
9
|
+
* Reproduces the Playground chat-composer treatment that lived in the
|
|
10
|
+
* console's legacy `src/components/ui/input-group.tsx` so migration causes
|
|
11
|
+
* no visual regression:
|
|
12
|
+
*
|
|
13
|
+
* - Filled composer look: `--berget-surface-raised` fill with a transparent
|
|
14
|
+
* resting border (the primitive ships a hard `border-input` border).
|
|
15
|
+
* - Focus ring: `--berget-ring` at 30% — same as the console's
|
|
16
|
+
* `ring-ring/30`, expressed with Berget tokens.
|
|
17
|
+
* - Radius: 16px (`rounded-berget-sm`), matching the console's
|
|
18
|
+
* `rounded-2xl` composer.
|
|
19
|
+
*
|
|
20
|
+
* `Addon` carries the console's kbd chrome overrides. The other parts are
|
|
21
|
+
* re-exported unchanged from the primitive.
|
|
22
|
+
*/
|
|
23
|
+
declare const InputGroup: {
|
|
24
|
+
({ className, ...props }: InputGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
displayName: string;
|
|
26
|
+
};
|
|
27
|
+
declare const InputGroupAddon: {
|
|
28
|
+
({ className, ...props }: InputGroupAddonProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
displayName: string;
|
|
30
|
+
};
|
|
31
|
+
//#endregion
|
|
32
|
+
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea };
|
|
33
|
+
//# sourceMappingURL=InputGroup.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputGroup.d.mts","names":["InputGroupPrimitive","InputGroupAddonPrimitive"],"sources":["../../../src/components/input-group/InputGroup.tsx"],"mappings":";;;YAaY,kBAAkB,MAAM,sBAAsBA;YAC9C,uBAAuB,MAAM,sBAAsBC;;;;;;;;;;;;;;;;;;cAmBzD;KAAuC,cAAA,SAAA,8CAAe,IAAA;;;cAkBtD;KAA4C,cAAA,SAAA,mDAAoB,IAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../../lib/utils.mjs";
|
|
3
|
+
import { InputGroup as InputGroup$1, InputGroupAddon as InputGroupAddon$1, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "../../primitives/input-group.mjs";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/input-group/InputGroup.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Berget wrapper for the base-nova InputGroup primitive.
|
|
8
|
+
*
|
|
9
|
+
* Reproduces the Playground chat-composer treatment that lived in the
|
|
10
|
+
* console's legacy `src/components/ui/input-group.tsx` so migration causes
|
|
11
|
+
* no visual regression:
|
|
12
|
+
*
|
|
13
|
+
* - Filled composer look: `--berget-surface-raised` fill with a transparent
|
|
14
|
+
* resting border (the primitive ships a hard `border-input` border).
|
|
15
|
+
* - Focus ring: `--berget-ring` at 30% — same as the console's
|
|
16
|
+
* `ring-ring/30`, expressed with Berget tokens.
|
|
17
|
+
* - Radius: 16px (`rounded-berget-sm`), matching the console's
|
|
18
|
+
* `rounded-2xl` composer.
|
|
19
|
+
*
|
|
20
|
+
* `Addon` carries the console's kbd chrome overrides. The other parts are
|
|
21
|
+
* re-exported unchanged from the primitive.
|
|
22
|
+
*/
|
|
23
|
+
const InputGroup = ({ className, ...props }) => /* @__PURE__ */ jsx(InputGroup$1, {
|
|
24
|
+
className: cn(`
|
|
25
|
+
rounded-berget-sm border-transparent bg-berget-surface-raised
|
|
26
|
+
dark:bg-berget-surface-raised
|
|
27
|
+
`, `
|
|
28
|
+
has-[[data-slot=input-group-control]:focus-visible]:border-transparent
|
|
29
|
+
has-[[data-slot=input-group-control]:focus-visible]:ring-berget-ring/30
|
|
30
|
+
`, className),
|
|
31
|
+
...props
|
|
32
|
+
});
|
|
33
|
+
InputGroup.displayName = "InputGroup";
|
|
34
|
+
const InputGroupAddon = ({ className, ...props }) => /* @__PURE__ */ jsx(InputGroupAddon$1, {
|
|
35
|
+
className: cn(`
|
|
36
|
+
**:data-[slot=kbd]:rounded-berget-sm
|
|
37
|
+
**:data-[slot=kbd]:bg-berget-surface-raised **:data-[slot=kbd]:px-1.5
|
|
38
|
+
`, className),
|
|
39
|
+
...props
|
|
40
|
+
});
|
|
41
|
+
InputGroupAddon.displayName = "InputGroupAddon";
|
|
42
|
+
//#endregion
|
|
43
|
+
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=InputGroup.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputGroup.mjs","names":["InputGroupPrimitive","InputGroupAddonPrimitive"],"sources":["../../../src/components/input-group/InputGroup.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { cn } from '../../lib/utils';\nimport {\n InputGroup as InputGroupPrimitive,\n InputGroupAddon as InputGroupAddonPrimitive,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n} from '../../primitives/input-group';\n\nexport type InputGroupProps = React.ComponentProps<typeof InputGroupPrimitive>;\nexport type InputGroupAddonProps = React.ComponentProps<typeof InputGroupAddonPrimitive>;\n\n/**\n * Berget wrapper for the base-nova InputGroup primitive.\n *\n * Reproduces the Playground chat-composer treatment that lived in the\n * console's legacy `src/components/ui/input-group.tsx` so migration causes\n * no visual regression:\n *\n * - Filled composer look: `--berget-surface-raised` fill with a transparent\n * resting border (the primitive ships a hard `border-input` border).\n * - Focus ring: `--berget-ring` at 30% — same as the console's\n * `ring-ring/30`, expressed with Berget tokens.\n * - Radius: 16px (`rounded-berget-sm`), matching the console's\n * `rounded-2xl` composer.\n *\n * `Addon` carries the console's kbd chrome overrides. The other parts are\n * re-exported unchanged from the primitive.\n */\nconst InputGroup = ({ className, ...props }: InputGroupProps) => (\n <InputGroupPrimitive\n className={cn(\n `\n rounded-berget-sm border-transparent bg-berget-surface-raised\n dark:bg-berget-surface-raised\n `,\n `\n has-[[data-slot=input-group-control]:focus-visible]:border-transparent\n has-[[data-slot=input-group-control]:focus-visible]:ring-berget-ring/30\n `,\n className,\n )}\n {...props}\n />\n);\nInputGroup.displayName = 'InputGroup';\n\nconst InputGroupAddon = ({ className, ...props }: InputGroupAddonProps) => (\n <InputGroupAddonPrimitive\n className={cn(\n `\n **:data-[slot=kbd]:rounded-berget-sm\n **:data-[slot=kbd]:bg-berget-surface-raised **:data-[slot=kbd]:px-1.5\n `,\n className,\n )}\n {...props}\n />\n);\nInputGroupAddon.displayName = 'InputGroupAddon';\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAiCA,MAAM,cAAc,EAAE,WAAW,GAAG,YAClC,oBAACA,cAAD;CACE,WAAW,GACT;;;SAIA;;;SAIA,SACF;CACA,GAAI;AACL,CAAA;AAEH,WAAW,cAAc;AAEzB,MAAM,mBAAmB,EAAE,WAAW,GAAG,YACvC,oBAACC,mBAAD;CACE,WAAW,GACT;;;SAIA,SACF;CACA,GAAI;AACL,CAAA;AAEH,gBAAgB,cAAc"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "../../primitives/input-group.cjs";
|
|
2
|
+
import { InputGroup, InputGroupAddon, InputGroupAddonProps, InputGroupProps } from "./InputGroup.cjs";
|
|
3
|
+
export { InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, InputGroupInput, type InputGroupProps, InputGroupText, InputGroupTextarea };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "../../primitives/input-group.mjs";
|
|
2
|
+
import { InputGroup, InputGroupAddon, InputGroupAddonProps, InputGroupProps } from "./InputGroup.mjs";
|
|
3
|
+
export { InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, InputGroupInput, type InputGroupProps, InputGroupText, InputGroupTextarea };
|
|
@@ -9,7 +9,10 @@ let react_jsx_runtime = require("react/jsx-runtime");
|
|
|
9
9
|
function Item({ className, asChild, children, ...props }) {
|
|
10
10
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_item.Item, {
|
|
11
11
|
render: asChild ? children : void 0,
|
|
12
|
-
className: require_utils.cn("data-[variant=outline]:border-berget-item-outline-border", "data-[variant=muted]:bg-berget-item-muted-bg", "data-[variant=muted]:text-berget-item-muted-fg", "[&_a]:hover:bg-berget-item-link-hover-surface",
|
|
12
|
+
className: require_utils.cn("data-[variant=outline]:border-berget-item-outline-border", "data-[variant=muted]:bg-berget-item-muted-bg", "data-[variant=muted]:text-berget-item-muted-fg", "[&_a]:hover:bg-berget-item-link-hover-surface", `
|
|
13
|
+
focus-visible:border-berget-item-focus-ring
|
|
14
|
+
focus-visible:ring-berget-item-focus-ring/50
|
|
15
|
+
`, className),
|
|
13
16
|
...props,
|
|
14
17
|
children: asChild ? void 0 : children
|
|
15
18
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.cjs","names":["ItemPrimitive","cn","React","ItemMediaPrimitive","ItemTitlePrimitive","ItemDescriptionPrimitive","ItemSeparatorPrimitive"],"sources":["../../../src/components/item/Item.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\nimport {\n Item as ItemPrimitive,\n ItemGroup,\n ItemSeparator as ItemSeparatorPrimitive,\n ItemMedia as ItemMediaPrimitive,\n ItemContent,\n ItemTitle as ItemTitlePrimitive,\n ItemDescription as ItemDescriptionPrimitive,\n ItemActions,\n ItemHeader,\n ItemFooter,\n} from '@/primitives/item';\nimport type { VariantProps } from 'class-variance-authority';\n\nexport interface ItemProps extends React.ComponentProps<typeof ItemPrimitive> {\n variant?: VariantProps<typeof ItemPrimitive>['variant'];\n size?: VariantProps<typeof ItemPrimitive>['size'];\n /** Render as a different element/component. Replaces the Radix `asChild` prop. */\n asChild?: boolean;\n}\n\nexport function Item({ className, asChild, children, ...props }: ItemProps) {\n return (\n <ItemPrimitive\n render={asChild ? (children as React.ReactElement) : undefined}\n className={cn(\n /* Variant colours — override primitive defaults */\n 'data-[variant=outline]:border-berget-item-outline-border',\n 'data-[variant=muted]:bg-berget-item-muted-bg',\n 'data-[variant=muted]:text-berget-item-muted-fg',\n /* Hover / focus */\n '[&_a]:hover:bg-berget-item-link-hover-surface',\n
|
|
1
|
+
{"version":3,"file":"Item.cjs","names":["ItemPrimitive","cn","React","ItemMediaPrimitive","ItemTitlePrimitive","ItemDescriptionPrimitive","ItemSeparatorPrimitive"],"sources":["../../../src/components/item/Item.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\nimport {\n Item as ItemPrimitive,\n ItemGroup,\n ItemSeparator as ItemSeparatorPrimitive,\n ItemMedia as ItemMediaPrimitive,\n ItemContent,\n ItemTitle as ItemTitlePrimitive,\n ItemDescription as ItemDescriptionPrimitive,\n ItemActions,\n ItemHeader,\n ItemFooter,\n} from '@/primitives/item';\nimport type { VariantProps } from 'class-variance-authority';\n\nexport interface ItemProps extends React.ComponentProps<typeof ItemPrimitive> {\n variant?: VariantProps<typeof ItemPrimitive>['variant'];\n size?: VariantProps<typeof ItemPrimitive>['size'];\n /** Render as a different element/component. Replaces the Radix `asChild` prop. */\n asChild?: boolean;\n}\n\nexport function Item({ className, asChild, children, ...props }: ItemProps) {\n return (\n <ItemPrimitive\n render={asChild ? (children as React.ReactElement) : undefined}\n className={cn(\n /* Variant colours — override primitive defaults */\n 'data-[variant=outline]:border-berget-item-outline-border',\n 'data-[variant=muted]:bg-berget-item-muted-bg',\n 'data-[variant=muted]:text-berget-item-muted-fg',\n /* Hover / focus */\n '[&_a]:hover:bg-berget-item-link-hover-surface',\n `\n focus-visible:border-berget-item-focus-ring\n focus-visible:ring-berget-item-focus-ring/50\n `,\n className,\n )}\n {...props}\n >\n {asChild ? undefined : children}\n </ItemPrimitive>\n );\n}\n\n/** Re-export unchanged sub-components. */\nexport { ItemGroup, ItemContent, ItemActions, ItemHeader, ItemFooter };\n\n/** ItemMedia — override icon background. */\nexport const ItemMedia = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof ItemMediaPrimitive>\n>(({ className, ...props }, ref) => {\n return (\n <ItemMediaPrimitive\n ref={ref}\n className={cn('data-[variant=icon]:bg-berget-item-media-icon-bg', className)}\n {...props}\n />\n );\n});\nItemMedia.displayName = 'ItemMedia';\n\n/** ItemTitle — override to use semantic foreground. */\nexport const ItemTitle = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof ItemTitlePrimitive>\n>(({ className, ...props }, ref) => {\n return (\n <ItemTitlePrimitive\n ref={ref}\n className={cn('text-berget-item-default-fg', className)}\n {...props}\n />\n );\n});\nItemTitle.displayName = 'ItemTitle';\n\n/** ItemDescription — override muted text colour. */\nexport const ItemDescription = React.forwardRef<\n HTMLParagraphElement,\n React.ComponentProps<typeof ItemDescriptionPrimitive>\n>(({ className, ...props }, ref) => {\n return (\n <ItemDescriptionPrimitive\n ref={ref}\n className={cn('text-berget-item-description-fg', className)}\n {...props}\n />\n );\n});\nItemDescription.displayName = 'ItemDescription';\n\n/** ItemSeparator — override colour. */\nexport const ItemSeparator = React.forwardRef<\n React.ComponentRef<typeof ItemSeparatorPrimitive>,\n React.ComponentProps<typeof ItemSeparatorPrimitive>\n>(({ className, ...props }, ref) => {\n return (\n <ItemSeparatorPrimitive\n ref={ref}\n className={cn('bg-berget-item-separator', className)}\n {...props}\n />\n );\n});\nItemSeparator.displayName = 'ItemSeparator';\n"],"mappings":";;;;;;;;AAyBA,SAAgB,KAAK,EAAE,WAAW,SAAS,UAAU,GAAG,SAAoB;CAC1E,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,aAAAA,MAAD;EACE,QAAQ,UAAW,WAAkC,KAAA;EACrD,WAAWC,cAAAA,GAET,4DACA,gDACA,kDAEA,iDACA;;;WAIA,SACF;EACA,GAAI;EAEH,UAAA,UAAU,KAAA,IAAY;CACV,CAAA;AAEnB;;AAMA,MAAa,YAAYC,MAAM,YAG5B,EAAE,WAAW,GAAG,SAAS,QAAQ;CAClC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,WAAD;EACO;EACL,WAAWF,cAAAA,GAAG,oDAAoD,SAAS;EAC3E,GAAI;CACL,CAAA;AAEL,CAAC;AACD,UAAU,cAAc;;AAGxB,MAAa,YAAYC,MAAM,YAG5B,EAAE,WAAW,GAAG,SAAS,QAAQ;CAClC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACE,aAAAA,WAAD;EACO;EACL,WAAWH,cAAAA,GAAG,+BAA+B,SAAS;EACtD,GAAI;CACL,CAAA;AAEL,CAAC;AACD,UAAU,cAAc;;AAGxB,MAAa,kBAAkBC,MAAM,YAGlC,EAAE,WAAW,GAAG,SAAS,QAAQ;CAClC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACG,aAAAA,iBAAD;EACO;EACL,WAAWJ,cAAAA,GAAG,mCAAmC,SAAS;EAC1D,GAAI;CACL,CAAA;AAEL,CAAC;AACD,gBAAgB,cAAc;;AAG9B,MAAa,gBAAgBC,MAAM,YAGhC,EAAE,WAAW,GAAG,SAAS,QAAQ;CAClC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACI,aAAAA,eAAD;EACO;EACL,WAAWL,cAAAA,GAAG,4BAA4B,SAAS;EACnD,GAAI;CACL,CAAA;AAEL,CAAC;AACD,cAAc,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.d.cts","names":["ItemPrimitive"],"sources":["../../../src/components/item/Item.tsx"],"mappings":";;;;iBAkBiB,kBAAkB,MAAM,sBAAsBA;EAC7D,UAAU,oBAAoBA;EAC9B,OAAO,oBAAoBA;;EAE3B;;wBAGc,OAAO,WAAW,SAAS,aAAa,SAAS,wCAAS,IAAA;;
|
|
1
|
+
{"version":3,"file":"Item.d.cts","names":["ItemPrimitive"],"sources":["../../../src/components/item/Item.tsx"],"mappings":";;;;iBAkBiB,kBAAkB,MAAM,sBAAsBA;EAC7D,UAAU,oBAAoBA;EAC9B,OAAO,oBAAoBA;;EAE3B;;wBAGc,OAAO,WAAW,SAAS,aAAa,SAAS,wCAAS,IAAA;;qBA4B7D,WAAS,MAAA,0BAAA,KAAA,MAAA,gBAAA,kBAAA,MAAA,eAAA,kBAAA,cAAA;;6CAWpB,6CAAA,MAAA,cAAA;;qBAIW,WAAS,MAAA,0BAAA,KAAA,MAAA,gBAAA,kBAAA,MAAA,eAAA,0BAAA,MAAA,cAAA;;qBAeT,iBAAe,MAAA,0BAAA,KAAA,MAAA,gBAAA,wBAAA,MAAA,eAAA,gCAAA,MAAA,cAAA;;qBAef,eAAa,MAAA,0BAAA,8BAAA,yBAAA,MAAA,cAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.d.mts","names":["ItemPrimitive"],"sources":["../../../src/components/item/Item.tsx"],"mappings":";;;;iBAkBiB,kBAAkB,MAAM,sBAAsBA;EAC7D,UAAU,oBAAoBA;EAC9B,OAAO,oBAAoBA;;EAE3B;;wBAGc,OAAO,WAAW,SAAS,aAAa,SAAS,wCAAS,IAAA;;
|
|
1
|
+
{"version":3,"file":"Item.d.mts","names":["ItemPrimitive"],"sources":["../../../src/components/item/Item.tsx"],"mappings":";;;;iBAkBiB,kBAAkB,MAAM,sBAAsBA;EAC7D,UAAU,oBAAoBA;EAC9B,OAAO,oBAAoBA;;EAE3B;;wBAGc,OAAO,WAAW,SAAS,aAAa,SAAS,wCAAS,IAAA;;qBA4B7D,WAAS,MAAA,0BAAA,KAAA,MAAA,gBAAA,kBAAA,MAAA,eAAA,kBAAA,cAAA;;6CAWpB,6CAAA,MAAA,cAAA;;qBAIW,WAAS,MAAA,0BAAA,KAAA,MAAA,gBAAA,kBAAA,MAAA,eAAA,0BAAA,MAAA,cAAA;;qBAeT,iBAAe,MAAA,0BAAA,KAAA,MAAA,gBAAA,wBAAA,MAAA,eAAA,gCAAA,MAAA,cAAA;;qBAef,eAAa,MAAA,0BAAA,8BAAA,yBAAA,MAAA,cAAA"}
|
|
@@ -7,7 +7,10 @@ import { jsx } from "react/jsx-runtime";
|
|
|
7
7
|
function Item({ className, asChild, children, ...props }) {
|
|
8
8
|
return /* @__PURE__ */ jsx(Item$1, {
|
|
9
9
|
render: asChild ? children : void 0,
|
|
10
|
-
className: cn("data-[variant=outline]:border-berget-item-outline-border", "data-[variant=muted]:bg-berget-item-muted-bg", "data-[variant=muted]:text-berget-item-muted-fg", "[&_a]:hover:bg-berget-item-link-hover-surface",
|
|
10
|
+
className: cn("data-[variant=outline]:border-berget-item-outline-border", "data-[variant=muted]:bg-berget-item-muted-bg", "data-[variant=muted]:text-berget-item-muted-fg", "[&_a]:hover:bg-berget-item-link-hover-surface", `
|
|
11
|
+
focus-visible:border-berget-item-focus-ring
|
|
12
|
+
focus-visible:ring-berget-item-focus-ring/50
|
|
13
|
+
`, className),
|
|
11
14
|
...props,
|
|
12
15
|
children: asChild ? void 0 : children
|
|
13
16
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.mjs","names":["ItemPrimitive","ItemMediaPrimitive","ItemTitlePrimitive","ItemDescriptionPrimitive","ItemSeparatorPrimitive"],"sources":["../../../src/components/item/Item.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\nimport {\n Item as ItemPrimitive,\n ItemGroup,\n ItemSeparator as ItemSeparatorPrimitive,\n ItemMedia as ItemMediaPrimitive,\n ItemContent,\n ItemTitle as ItemTitlePrimitive,\n ItemDescription as ItemDescriptionPrimitive,\n ItemActions,\n ItemHeader,\n ItemFooter,\n} from '@/primitives/item';\nimport type { VariantProps } from 'class-variance-authority';\n\nexport interface ItemProps extends React.ComponentProps<typeof ItemPrimitive> {\n variant?: VariantProps<typeof ItemPrimitive>['variant'];\n size?: VariantProps<typeof ItemPrimitive>['size'];\n /** Render as a different element/component. Replaces the Radix `asChild` prop. */\n asChild?: boolean;\n}\n\nexport function Item({ className, asChild, children, ...props }: ItemProps) {\n return (\n <ItemPrimitive\n render={asChild ? (children as React.ReactElement) : undefined}\n className={cn(\n /* Variant colours — override primitive defaults */\n 'data-[variant=outline]:border-berget-item-outline-border',\n 'data-[variant=muted]:bg-berget-item-muted-bg',\n 'data-[variant=muted]:text-berget-item-muted-fg',\n /* Hover / focus */\n '[&_a]:hover:bg-berget-item-link-hover-surface',\n
|
|
1
|
+
{"version":3,"file":"Item.mjs","names":["ItemPrimitive","ItemMediaPrimitive","ItemTitlePrimitive","ItemDescriptionPrimitive","ItemSeparatorPrimitive"],"sources":["../../../src/components/item/Item.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\nimport {\n Item as ItemPrimitive,\n ItemGroup,\n ItemSeparator as ItemSeparatorPrimitive,\n ItemMedia as ItemMediaPrimitive,\n ItemContent,\n ItemTitle as ItemTitlePrimitive,\n ItemDescription as ItemDescriptionPrimitive,\n ItemActions,\n ItemHeader,\n ItemFooter,\n} from '@/primitives/item';\nimport type { VariantProps } from 'class-variance-authority';\n\nexport interface ItemProps extends React.ComponentProps<typeof ItemPrimitive> {\n variant?: VariantProps<typeof ItemPrimitive>['variant'];\n size?: VariantProps<typeof ItemPrimitive>['size'];\n /** Render as a different element/component. Replaces the Radix `asChild` prop. */\n asChild?: boolean;\n}\n\nexport function Item({ className, asChild, children, ...props }: ItemProps) {\n return (\n <ItemPrimitive\n render={asChild ? (children as React.ReactElement) : undefined}\n className={cn(\n /* Variant colours — override primitive defaults */\n 'data-[variant=outline]:border-berget-item-outline-border',\n 'data-[variant=muted]:bg-berget-item-muted-bg',\n 'data-[variant=muted]:text-berget-item-muted-fg',\n /* Hover / focus */\n '[&_a]:hover:bg-berget-item-link-hover-surface',\n `\n focus-visible:border-berget-item-focus-ring\n focus-visible:ring-berget-item-focus-ring/50\n `,\n className,\n )}\n {...props}\n >\n {asChild ? undefined : children}\n </ItemPrimitive>\n );\n}\n\n/** Re-export unchanged sub-components. */\nexport { ItemGroup, ItemContent, ItemActions, ItemHeader, ItemFooter };\n\n/** ItemMedia — override icon background. */\nexport const ItemMedia = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof ItemMediaPrimitive>\n>(({ className, ...props }, ref) => {\n return (\n <ItemMediaPrimitive\n ref={ref}\n className={cn('data-[variant=icon]:bg-berget-item-media-icon-bg', className)}\n {...props}\n />\n );\n});\nItemMedia.displayName = 'ItemMedia';\n\n/** ItemTitle — override to use semantic foreground. */\nexport const ItemTitle = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof ItemTitlePrimitive>\n>(({ className, ...props }, ref) => {\n return (\n <ItemTitlePrimitive\n ref={ref}\n className={cn('text-berget-item-default-fg', className)}\n {...props}\n />\n );\n});\nItemTitle.displayName = 'ItemTitle';\n\n/** ItemDescription — override muted text colour. */\nexport const ItemDescription = React.forwardRef<\n HTMLParagraphElement,\n React.ComponentProps<typeof ItemDescriptionPrimitive>\n>(({ className, ...props }, ref) => {\n return (\n <ItemDescriptionPrimitive\n ref={ref}\n className={cn('text-berget-item-description-fg', className)}\n {...props}\n />\n );\n});\nItemDescription.displayName = 'ItemDescription';\n\n/** ItemSeparator — override colour. */\nexport const ItemSeparator = React.forwardRef<\n React.ComponentRef<typeof ItemSeparatorPrimitive>,\n React.ComponentProps<typeof ItemSeparatorPrimitive>\n>(({ className, ...props }, ref) => {\n return (\n <ItemSeparatorPrimitive\n ref={ref}\n className={cn('bg-berget-item-separator', className)}\n {...props}\n />\n );\n});\nItemSeparator.displayName = 'ItemSeparator';\n"],"mappings":";;;;;;AAyBA,SAAgB,KAAK,EAAE,WAAW,SAAS,UAAU,GAAG,SAAoB;CAC1E,OACE,oBAACA,QAAD;EACE,QAAQ,UAAW,WAAkC,KAAA;EACrD,WAAW,GAET,4DACA,gDACA,kDAEA,iDACA;;;WAIA,SACF;EACA,GAAI;EAEH,UAAA,UAAU,KAAA,IAAY;CACV,CAAA;AAEnB;;AAMA,MAAa,YAAY,MAAM,YAG5B,EAAE,WAAW,GAAG,SAAS,QAAQ;CAClC,OACE,oBAACC,aAAD;EACO;EACL,WAAW,GAAG,oDAAoD,SAAS;EAC3E,GAAI;CACL,CAAA;AAEL,CAAC;AACD,UAAU,cAAc;;AAGxB,MAAa,YAAY,MAAM,YAG5B,EAAE,WAAW,GAAG,SAAS,QAAQ;CAClC,OACE,oBAACC,aAAD;EACO;EACL,WAAW,GAAG,+BAA+B,SAAS;EACtD,GAAI;CACL,CAAA;AAEL,CAAC;AACD,UAAU,cAAc;;AAGxB,MAAa,kBAAkB,MAAM,YAGlC,EAAE,WAAW,GAAG,SAAS,QAAQ;CAClC,OACE,oBAACC,mBAAD;EACO;EACL,WAAW,GAAG,mCAAmC,SAAS;EAC1D,GAAI;CACL,CAAA;AAEL,CAAC;AACD,gBAAgB,cAAc;;AAG9B,MAAa,gBAAgB,MAAM,YAGhC,EAAE,WAAW,GAAG,SAAS,QAAQ;CAClC,OACE,oBAACC,iBAAD;EACO;EACL,WAAW,GAAG,4BAA4B,SAAS;EACnD,GAAI;CACL,CAAA;AAEL,CAAC;AACD,cAAc,cAAc"}
|
|
@@ -8,15 +8,39 @@ let react_jsx_runtime = require("react/jsx-runtime");
|
|
|
8
8
|
let class_variance_authority = require("class-variance-authority");
|
|
9
9
|
let lucide_react = require("lucide-react");
|
|
10
10
|
//#region src/components/link/Link.tsx
|
|
11
|
-
const linkVariants = (0, class_variance_authority.cva)(
|
|
11
|
+
const linkVariants = (0, class_variance_authority.cva)(`
|
|
12
|
+
inline-flex cursor-pointer items-center gap-2 transition-all duration-200
|
|
13
|
+
focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2
|
|
14
|
+
focus-visible:ring-offset-background focus-visible:outline-none
|
|
15
|
+
disabled:pointer-events-none disabled:opacity-50
|
|
16
|
+
`, {
|
|
12
17
|
variants: {
|
|
13
18
|
variant: {
|
|
14
|
-
default:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
default: `
|
|
20
|
+
text-foreground
|
|
21
|
+
hover:text-foreground/80
|
|
22
|
+
`,
|
|
23
|
+
primary: `
|
|
24
|
+
text-berget-brand-moss-400
|
|
25
|
+
hover:text-berget-brand-moss-500
|
|
26
|
+
`,
|
|
27
|
+
secondary: `
|
|
28
|
+
text-berget-accent
|
|
29
|
+
hover:text-berget-accent/80
|
|
30
|
+
`,
|
|
31
|
+
ghost: `
|
|
32
|
+
text-muted-foreground
|
|
33
|
+
hover:text-foreground
|
|
34
|
+
`,
|
|
35
|
+
muted: `
|
|
36
|
+
text-muted-foreground
|
|
37
|
+
hover:text-muted-foreground/80
|
|
38
|
+
`,
|
|
39
|
+
code: `
|
|
40
|
+
rounded-sm bg-berget-primary-tint px-2 py-1 font-mono text-sm
|
|
41
|
+
text-berget-brand-moss-400
|
|
42
|
+
hover:bg-berget-primary-tint-hover hover:text-berget-brand-moss-500
|
|
43
|
+
`
|
|
20
44
|
},
|
|
21
45
|
size: {
|
|
22
46
|
sm: "text-sm",
|
|
@@ -53,7 +77,7 @@ const Link = react.forwardRef(({ className, variant, size, external = false, ico
|
|
|
53
77
|
children: icon
|
|
54
78
|
}),
|
|
55
79
|
showExternalIcon && isExternal && !disabled && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
56
|
-
className: "inline-flex items-center
|
|
80
|
+
className: "ml-1 inline-flex items-center opacity-60",
|
|
57
81
|
"aria-hidden": "true",
|
|
58
82
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
|
|
59
83
|
icon: lucide_react.ExternalLink,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.cjs","names":["cva","React","cn","Icon","ExternalLink"],"sources":["../../../src/components/link/Link.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\nimport { Icon } from '../icon/Icon';\nimport { ExternalLink } from 'lucide-react';\n\nconst linkVariants = cva(\n
|
|
1
|
+
{"version":3,"file":"Link.cjs","names":["cva","React","cn","Icon","ExternalLink"],"sources":["../../../src/components/link/Link.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\nimport { Icon } from '../icon/Icon';\nimport { ExternalLink } from 'lucide-react';\n\nconst linkVariants = cva(\n `\n inline-flex cursor-pointer items-center gap-2 transition-all duration-200\n focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2\n focus-visible:ring-offset-background focus-visible:outline-none\n disabled:pointer-events-none disabled:opacity-50\n `,\n {\n variants: {\n variant: {\n default: `\n text-foreground\n hover:text-foreground/80\n `,\n primary: `\n text-berget-brand-moss-400\n hover:text-berget-brand-moss-500\n `,\n secondary: `\n text-berget-accent\n hover:text-berget-accent/80\n `,\n ghost: `\n text-muted-foreground\n hover:text-foreground\n `,\n muted: `\n text-muted-foreground\n hover:text-muted-foreground/80\n `,\n code: `\n rounded-sm bg-berget-primary-tint px-2 py-1 font-mono text-sm\n text-berget-brand-moss-400\n hover:bg-berget-primary-tint-hover hover:text-berget-brand-moss-500\n `,\n },\n size: {\n sm: 'text-sm',\n default: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport interface LinkProps\n extends React.AnchorHTMLAttributes<HTMLAnchorElement>, VariantProps<typeof linkVariants> {\n children: React.ReactNode;\n external?: boolean;\n icon?: React.ReactNode;\n showExternalIcon?: boolean;\n disabled?: boolean;\n}\n\nconst Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n (\n {\n className,\n variant,\n size,\n external = false,\n icon,\n showExternalIcon = false,\n disabled = false,\n children,\n ...props\n },\n ref,\n ) => {\n const isExternal =\n external ||\n (typeof props.href === 'string' &&\n (props.href.startsWith('http://') ||\n props.href.startsWith('https://') ||\n props.href.startsWith('mailto:') ||\n props.href.startsWith('tel:')));\n\n return (\n <a\n ref={ref}\n className={cn(linkVariants({ variant, size }), className)}\n {...(disabled && {\n 'aria-disabled': true,\n onClick: (e: React.MouseEvent) => e.preventDefault(),\n })}\n {...props}\n {...(isExternal &&\n !disabled && {\n rel: 'noopener noreferrer',\n target: '_blank',\n })}\n >\n {children}\n {icon && <span className=\"inline-flex items-center\">{icon}</span>}\n {showExternalIcon && isExternal && !disabled && (\n <span className=\"ml-1 inline-flex items-center opacity-60\" aria-hidden=\"true\">\n <Icon icon={ExternalLink} size={16} />\n </span>\n )}\n </a>\n );\n },\n);\nLink.displayName = 'Link';\n\nexport { Link, linkVariants };\n"],"mappings":";;;;;;;;;;AAQA,MAAM,gBAAA,GAAeA,yBAAAA,IAAAA,CACnB;;;;;KAMA;CACE,UAAU;EACR,SAAS;GACP,SAAS;;;;GAIT,SAAS;;;;GAIT,WAAW;;;;GAIX,OAAO;;;;GAIP,OAAO;;;;GAIP,MAAM;;;;;EAKR;EACA,MAAM;GACJ,IAAI;GACJ,SAAS;GACT,IAAI;EACN;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF;AAWA,MAAM,OAAOC,MAAM,YAEf,EACE,WACA,SACA,MACA,WAAW,OACX,MACA,mBAAmB,OACnB,WAAW,OACX,UACA,GAAG,SAEL,QACG;CACH,MAAM,aACJ,YACC,OAAO,MAAM,SAAS,aACpB,MAAM,KAAK,WAAW,SAAS,KAC9B,MAAM,KAAK,WAAW,UAAU,KAChC,MAAM,KAAK,WAAW,SAAS,KAC/B,MAAM,KAAK,WAAW,MAAM;CAElC,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,KAAD;EACO;EACL,WAAWC,cAAAA,GAAG,aAAa;GAAE;GAAS;EAAK,CAAC,GAAG,SAAS;EACxD,GAAK,YAAY;GACf,iBAAiB;GACjB,UAAU,MAAwB,EAAE,eAAe;EACrD;EACA,GAAI;EACJ,GAAK,cACH,CAAC,YAAY;GACX,KAAK;GACL,QAAQ;EACV;EAZJ,UAAA;GAcG;GACA,QAAQ,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;IAAM,WAAU;IAA4B,UAAA;GAAW,CAAA;GAC/D,oBAAoB,cAAc,CAAC,YAClC,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;IAAM,WAAU;IAA2C,eAAY;IACrE,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,MAAD;KAAM,MAAMC,aAAAA;KAAc,MAAM;IAAK,CAAA;GACjC,CAAA;EAEP;;AAEP,CACF;AACA,KAAK,cAAc"}
|
|
@@ -2,7 +2,7 @@ import * as React from "react";
|
|
|
2
2
|
import { VariantProps } from "class-variance-authority";
|
|
3
3
|
//#region src/components/link/Link.d.ts
|
|
4
4
|
declare const linkVariants: (props?: ({
|
|
5
|
-
variant?: "code" | "default" | "
|
|
5
|
+
variant?: "code" | "default" | "secondary" | "muted" | "ghost" | "primary" | null | undefined;
|
|
6
6
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
7
7
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
8
|
export interface LinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement>, VariantProps<typeof linkVariants> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.d.cts","names":[],"sources":["../../../src/components/link/Link.tsx"],"mappings":";;;cAQM,eAAY;;;
|
|
1
|
+
{"version":3,"file":"Link.d.cts","names":[],"sources":["../../../src/components/link/Link.tsx"],"mappings":";;;cAQM,eAAY;;;6CA+CjB;iBAEgB,kBACP,MAAM,qBAAqB,oBAAoB,oBAAoB;EAC3E,UAAU,MAAM;EAChB;EACA,OAAO,MAAM;EACb;EACA;;cAGI,MAAI,MAAA,0BAAA,YAAA,MAAA,cAAA"}
|
|
@@ -2,7 +2,7 @@ import * as React from "react";
|
|
|
2
2
|
import { VariantProps } from "class-variance-authority";
|
|
3
3
|
//#region src/components/link/Link.d.ts
|
|
4
4
|
declare const linkVariants: (props?: ({
|
|
5
|
-
variant?: "code" | "default" | "
|
|
5
|
+
variant?: "code" | "default" | "secondary" | "muted" | "ghost" | "primary" | null | undefined;
|
|
6
6
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
7
7
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
8
|
export interface LinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement>, VariantProps<typeof linkVariants> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.d.mts","names":[],"sources":["../../../src/components/link/Link.tsx"],"mappings":";;;cAQM,eAAY;;;
|
|
1
|
+
{"version":3,"file":"Link.d.mts","names":[],"sources":["../../../src/components/link/Link.tsx"],"mappings":";;;cAQM,eAAY;;;6CA+CjB;iBAEgB,kBACP,MAAM,qBAAqB,oBAAoB,oBAAoB;EAC3E,UAAU,MAAM;EAChB;EACA,OAAO,MAAM;EACb;EACA;;cAGI,MAAI,MAAA,0BAAA,YAAA,MAAA,cAAA"}
|
|
@@ -6,15 +6,39 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
6
6
|
import { cva } from "class-variance-authority";
|
|
7
7
|
import { ExternalLink } from "lucide-react";
|
|
8
8
|
//#region src/components/link/Link.tsx
|
|
9
|
-
const linkVariants = cva(
|
|
9
|
+
const linkVariants = cva(`
|
|
10
|
+
inline-flex cursor-pointer items-center gap-2 transition-all duration-200
|
|
11
|
+
focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2
|
|
12
|
+
focus-visible:ring-offset-background focus-visible:outline-none
|
|
13
|
+
disabled:pointer-events-none disabled:opacity-50
|
|
14
|
+
`, {
|
|
10
15
|
variants: {
|
|
11
16
|
variant: {
|
|
12
|
-
default:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
default: `
|
|
18
|
+
text-foreground
|
|
19
|
+
hover:text-foreground/80
|
|
20
|
+
`,
|
|
21
|
+
primary: `
|
|
22
|
+
text-berget-brand-moss-400
|
|
23
|
+
hover:text-berget-brand-moss-500
|
|
24
|
+
`,
|
|
25
|
+
secondary: `
|
|
26
|
+
text-berget-accent
|
|
27
|
+
hover:text-berget-accent/80
|
|
28
|
+
`,
|
|
29
|
+
ghost: `
|
|
30
|
+
text-muted-foreground
|
|
31
|
+
hover:text-foreground
|
|
32
|
+
`,
|
|
33
|
+
muted: `
|
|
34
|
+
text-muted-foreground
|
|
35
|
+
hover:text-muted-foreground/80
|
|
36
|
+
`,
|
|
37
|
+
code: `
|
|
38
|
+
rounded-sm bg-berget-primary-tint px-2 py-1 font-mono text-sm
|
|
39
|
+
text-berget-brand-moss-400
|
|
40
|
+
hover:bg-berget-primary-tint-hover hover:text-berget-brand-moss-500
|
|
41
|
+
`
|
|
18
42
|
},
|
|
19
43
|
size: {
|
|
20
44
|
sm: "text-sm",
|
|
@@ -51,7 +75,7 @@ const Link = React.forwardRef(({ className, variant, size, external = false, ico
|
|
|
51
75
|
children: icon
|
|
52
76
|
}),
|
|
53
77
|
showExternalIcon && isExternal && !disabled && /* @__PURE__ */ jsx("span", {
|
|
54
|
-
className: "inline-flex items-center
|
|
78
|
+
className: "ml-1 inline-flex items-center opacity-60",
|
|
55
79
|
"aria-hidden": "true",
|
|
56
80
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
57
81
|
icon: ExternalLink,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.mjs","names":[],"sources":["../../../src/components/link/Link.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\nimport { Icon } from '../icon/Icon';\nimport { ExternalLink } from 'lucide-react';\n\nconst linkVariants = cva(\n
|
|
1
|
+
{"version":3,"file":"Link.mjs","names":[],"sources":["../../../src/components/link/Link.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\nimport { Icon } from '../icon/Icon';\nimport { ExternalLink } from 'lucide-react';\n\nconst linkVariants = cva(\n `\n inline-flex cursor-pointer items-center gap-2 transition-all duration-200\n focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2\n focus-visible:ring-offset-background focus-visible:outline-none\n disabled:pointer-events-none disabled:opacity-50\n `,\n {\n variants: {\n variant: {\n default: `\n text-foreground\n hover:text-foreground/80\n `,\n primary: `\n text-berget-brand-moss-400\n hover:text-berget-brand-moss-500\n `,\n secondary: `\n text-berget-accent\n hover:text-berget-accent/80\n `,\n ghost: `\n text-muted-foreground\n hover:text-foreground\n `,\n muted: `\n text-muted-foreground\n hover:text-muted-foreground/80\n `,\n code: `\n rounded-sm bg-berget-primary-tint px-2 py-1 font-mono text-sm\n text-berget-brand-moss-400\n hover:bg-berget-primary-tint-hover hover:text-berget-brand-moss-500\n `,\n },\n size: {\n sm: 'text-sm',\n default: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport interface LinkProps\n extends React.AnchorHTMLAttributes<HTMLAnchorElement>, VariantProps<typeof linkVariants> {\n children: React.ReactNode;\n external?: boolean;\n icon?: React.ReactNode;\n showExternalIcon?: boolean;\n disabled?: boolean;\n}\n\nconst Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n (\n {\n className,\n variant,\n size,\n external = false,\n icon,\n showExternalIcon = false,\n disabled = false,\n children,\n ...props\n },\n ref,\n ) => {\n const isExternal =\n external ||\n (typeof props.href === 'string' &&\n (props.href.startsWith('http://') ||\n props.href.startsWith('https://') ||\n props.href.startsWith('mailto:') ||\n props.href.startsWith('tel:')));\n\n return (\n <a\n ref={ref}\n className={cn(linkVariants({ variant, size }), className)}\n {...(disabled && {\n 'aria-disabled': true,\n onClick: (e: React.MouseEvent) => e.preventDefault(),\n })}\n {...props}\n {...(isExternal &&\n !disabled && {\n rel: 'noopener noreferrer',\n target: '_blank',\n })}\n >\n {children}\n {icon && <span className=\"inline-flex items-center\">{icon}</span>}\n {showExternalIcon && isExternal && !disabled && (\n <span className=\"ml-1 inline-flex items-center opacity-60\" aria-hidden=\"true\">\n <Icon icon={ExternalLink} size={16} />\n </span>\n )}\n </a>\n );\n },\n);\nLink.displayName = 'Link';\n\nexport { Link, linkVariants };\n"],"mappings":";;;;;;;;AAQA,MAAM,eAAe,IACnB;;;;;KAMA;CACE,UAAU;EACR,SAAS;GACP,SAAS;;;;GAIT,SAAS;;;;GAIT,WAAW;;;;GAIX,OAAO;;;;GAIP,OAAO;;;;GAIP,MAAM;;;;;EAKR;EACA,MAAM;GACJ,IAAI;GACJ,SAAS;GACT,IAAI;EACN;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF;AAWA,MAAM,OAAO,MAAM,YAEf,EACE,WACA,SACA,MACA,WAAW,OACX,MACA,mBAAmB,OACnB,WAAW,OACX,UACA,GAAG,SAEL,QACG;CACH,MAAM,aACJ,YACC,OAAO,MAAM,SAAS,aACpB,MAAM,KAAK,WAAW,SAAS,KAC9B,MAAM,KAAK,WAAW,UAAU,KAChC,MAAM,KAAK,WAAW,SAAS,KAC/B,MAAM,KAAK,WAAW,MAAM;CAElC,OACE,qBAAC,KAAD;EACO;EACL,WAAW,GAAG,aAAa;GAAE;GAAS;EAAK,CAAC,GAAG,SAAS;EACxD,GAAK,YAAY;GACf,iBAAiB;GACjB,UAAU,MAAwB,EAAE,eAAe;EACrD;EACA,GAAI;EACJ,GAAK,cACH,CAAC,YAAY;GACX,KAAK;GACL,QAAQ;EACV;EAZJ,UAAA;GAcG;GACA,QAAQ,oBAAC,QAAD;IAAM,WAAU;IAA4B,UAAA;GAAW,CAAA;GAC/D,oBAAoB,cAAc,CAAC,YAClC,oBAAC,QAAD;IAAM,WAAU;IAA2C,eAAY;IACrE,UAAA,oBAAC,MAAD;KAAM,MAAM;KAAc,MAAM;IAAK,CAAA;GACjC,CAAA;EAEP;;AAEP,CACF;AACA,KAAK,cAAc"}
|
|
@@ -21,20 +21,29 @@ const List = react.forwardRef(({ className, children, ...props }, ref) => {
|
|
|
21
21
|
List.displayName = "List";
|
|
22
22
|
const ListItem = react.forwardRef(({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
23
23
|
ref,
|
|
24
|
-
className: require_utils.cn(
|
|
24
|
+
className: require_utils.cn(`
|
|
25
|
+
flex items-center gap-4 px-4 py-3
|
|
26
|
+
sm:px-6 sm:py-4
|
|
27
|
+
`, interactive && `
|
|
28
|
+
cursor-pointer transition-all duration-200
|
|
29
|
+
hover:bg-berget-surface-hover
|
|
30
|
+
`, className),
|
|
25
31
|
...props,
|
|
26
32
|
children: [icon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
27
|
-
className: "flex
|
|
33
|
+
className: "flex shrink-0 items-center justify-center",
|
|
28
34
|
children: icon
|
|
29
35
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
30
|
-
className: "
|
|
36
|
+
className: "min-w-0 flex-1",
|
|
31
37
|
children
|
|
32
38
|
})]
|
|
33
39
|
}));
|
|
34
40
|
ListItem.displayName = "ListItem";
|
|
35
41
|
const ListHeader = react.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
36
42
|
ref,
|
|
37
|
-
className: require_utils.cn(
|
|
43
|
+
className: require_utils.cn(`
|
|
44
|
+
px-4 py-2 text-sm text-muted-foreground
|
|
45
|
+
sm:px-6 sm:py-3
|
|
46
|
+
`, className),
|
|
38
47
|
...props,
|
|
39
48
|
children
|
|
40
49
|
}));
|
|
@@ -46,8 +55,8 @@ const FeatureList = react.forwardRef(({ items, variant = "bullet", className, ..
|
|
|
46
55
|
...props,
|
|
47
56
|
children: items.map((item, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("li", {
|
|
48
57
|
className: "flex items-start gap-fluid-md",
|
|
49
|
-
children: [variant === "bullet" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "
|
|
50
|
-
className: "
|
|
58
|
+
children: [variant === "bullet" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "\n mt-2 size-1.5 shrink-0 rounded-full bg-berget-icon-muted\n " }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
59
|
+
className: "mt-0.5 shrink-0",
|
|
51
60
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
|
|
52
61
|
icon: lucide_react.Check,
|
|
53
62
|
size: 24,
|