@knkcs/anker 2.6.3 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/atoms/index.d.ts +14 -1
- package/dist/atoms/index.js +26 -4
- package/dist/atoms/index.js.map +1 -1
- package/dist/{chunk-GMHVY3F5.js → chunk-I7Z6NCRB.js} +3 -3
- package/dist/chunk-I7Z6NCRB.js.map +1 -0
- package/dist/{chunk-XJAGNQAP.js → chunk-MIEUXFSK.js} +3 -3
- package/dist/chunk-MIEUXFSK.js.map +1 -0
- package/dist/{chunk-EECXKCNV.js → chunk-OTA26SAL.js} +3 -3
- package/dist/{chunk-EECXKCNV.js.map → chunk-OTA26SAL.js.map} +1 -1
- package/dist/components/index.js +3 -3
- package/dist/forms/index.js +1 -1
- package/dist/primitives/index.js +3 -3
- package/dist/primitives/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-GMHVY3F5.js.map +0 -1
- package/dist/chunk-XJAGNQAP.js.map +0 -1
package/dist/atoms/index.d.ts
CHANGED
|
@@ -360,6 +360,19 @@ declare function formatRelativeDateTime(date: DateType, baseDate?: DateType): st
|
|
|
360
360
|
*/
|
|
361
361
|
declare function formatRelativeToCurrentWeekDateTime(date: DateType, baseDate?: DateType): string;
|
|
362
362
|
|
|
363
|
+
interface DirtyDotProps {
|
|
364
|
+
/** Render nothing when false. @default true */
|
|
365
|
+
active?: boolean;
|
|
366
|
+
/** aria-label for screen readers. @default "ungespeicherte Änderungen" */
|
|
367
|
+
label?: string;
|
|
368
|
+
/** Box prop overrides (ml, color, size if anyone needs them). */
|
|
369
|
+
boxProps?: BoxProps;
|
|
370
|
+
}
|
|
371
|
+
declare function DirtyDot({ active, label, boxProps, }: DirtyDotProps): react_jsx_runtime.JSX.Element | null;
|
|
372
|
+
declare namespace DirtyDot {
|
|
373
|
+
var displayName: string;
|
|
374
|
+
}
|
|
375
|
+
|
|
363
376
|
interface EmptyStateProps {
|
|
364
377
|
/** Main heading text. */
|
|
365
378
|
header: string;
|
|
@@ -584,4 +597,4 @@ interface TypeBadgeProps extends Omit<BadgeProps, "children"> {
|
|
|
584
597
|
}
|
|
585
598
|
declare const TypeBadge: React__default.FC<TypeBadgeProps>;
|
|
586
599
|
|
|
587
|
-
export { Action, type ActionProps, type BaseOption, BaseSelect, type BaseSelectProps, Button, type ButtonProps, CheckboxCard, CheckboxCardGroup, type CheckboxCardGroupProps, type CheckboxCardProps, ClipboardButton, type ClipboardButtonProps, ClipboardInput, type ClipboardInputProps, ClipboardLink, type ClipboardLinkProps, Collapse, type CollapseProps, ColorSwatchPicker, type ColorSwatchPickerProps, Comment, CommentAction, type CommentActionProps, type CommentFooterProps, type CommentHeaderProps, type CommentProps, CommentReplyBox, type CommentReplyBoxProps, type CreateTableMenuComponentsOptions, DataList, DataListItem, DataListItemLabel, type DataListItemType, DataListItemValue, type DataListProps, type DataListRootProps, type DateFormat, DateInput, type DateInputProps, type DateType, Edit, type EditProps, EmptyState, type EmptyStateProps, Filter, type FilterProps, Handle, type HandleProps, IconButton, Persona, PersonaAvatar, PersonaContainer, type PersonaContainerProps, PersonaDetails, PersonaLabel, type PersonaProps, RelativeDateTime, type RelativeDateTimeProps, Remove, type RemoveProps, SplitButton, type SplitButtonMenuItem, type SplitButtonProps, Stat, type StatProps, StatusBadge, type StatusBadgeProps, type TableMenuColumn, TableMenuList, type TableMenuListProps, TableOption, TextInput, type TextInputProps, TextOverflow, type TextOverflowProps, TypeBadge, type TypeBadgeProps, createTableMenuComponents, formatDate, formatDateAndTime, formatMachineReadableDateTime, formatRelativeDateTime, formatRelativeToCurrentWeekDateTime, formatTime, formatWeekdayDate };
|
|
600
|
+
export { Action, type ActionProps, type BaseOption, BaseSelect, type BaseSelectProps, Button, type ButtonProps, CheckboxCard, CheckboxCardGroup, type CheckboxCardGroupProps, type CheckboxCardProps, ClipboardButton, type ClipboardButtonProps, ClipboardInput, type ClipboardInputProps, ClipboardLink, type ClipboardLinkProps, Collapse, type CollapseProps, ColorSwatchPicker, type ColorSwatchPickerProps, Comment, CommentAction, type CommentActionProps, type CommentFooterProps, type CommentHeaderProps, type CommentProps, CommentReplyBox, type CommentReplyBoxProps, type CreateTableMenuComponentsOptions, DataList, DataListItem, DataListItemLabel, type DataListItemType, DataListItemValue, type DataListProps, type DataListRootProps, type DateFormat, DateInput, type DateInputProps, type DateType, DirtyDot, type DirtyDotProps, Edit, type EditProps, EmptyState, type EmptyStateProps, Filter, type FilterProps, Handle, type HandleProps, IconButton, Persona, PersonaAvatar, PersonaContainer, type PersonaContainerProps, PersonaDetails, PersonaLabel, type PersonaProps, RelativeDateTime, type RelativeDateTimeProps, Remove, type RemoveProps, SplitButton, type SplitButtonMenuItem, type SplitButtonProps, Stat, type StatProps, StatusBadge, type StatusBadgeProps, type TableMenuColumn, TableMenuList, type TableMenuListProps, TableOption, TextInput, type TextInputProps, TextOverflow, type TextOverflowProps, TypeBadge, type TypeBadgeProps, createTableMenuComponents, formatDate, formatDateAndTime, formatMachineReadableDateTime, formatRelativeDateTime, formatRelativeToCurrentWeekDateTime, formatTime, formatWeekdayDate };
|
package/dist/atoms/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Prose } from '../chunk-VOGT33LU.js';
|
|
2
|
-
import { formatRelativeToCurrentWeekDateTime, formatRelativeDateTime } from '../chunk-
|
|
3
|
-
export { StatusBadge, formatRelativeDateTime, formatRelativeToCurrentWeekDateTime } from '../chunk-
|
|
4
|
-
import { Tooltip, Avatar, Table, MenuRoot, MenuTrigger, MenuContent, MenuItem, Badge } from '../chunk-
|
|
2
|
+
import { formatRelativeToCurrentWeekDateTime, formatRelativeDateTime } from '../chunk-OTA26SAL.js';
|
|
3
|
+
export { StatusBadge, formatRelativeDateTime, formatRelativeToCurrentWeekDateTime } from '../chunk-OTA26SAL.js';
|
|
4
|
+
import { Tooltip, Avatar, Table, MenuRoot, MenuTrigger, MenuContent, MenuItem, Badge } from '../chunk-I7Z6NCRB.js';
|
|
5
5
|
export { SearchInput } from '../chunk-E7KRPPCQ.js';
|
|
6
6
|
import { Textarea } from '../chunk-NFZMG6ZL.js';
|
|
7
7
|
import { text_input_default } from '../chunk-OU6H3KU4.js';
|
|
@@ -547,6 +547,28 @@ var DateInput = ({
|
|
|
547
547
|
};
|
|
548
548
|
DateInput.displayName = "DateInput";
|
|
549
549
|
var date_input_default = DateInput;
|
|
550
|
+
function DirtyDot({
|
|
551
|
+
active = true,
|
|
552
|
+
label = "ungespeicherte \xC4nderungen",
|
|
553
|
+
boxProps
|
|
554
|
+
}) {
|
|
555
|
+
if (!active) return null;
|
|
556
|
+
return /* @__PURE__ */ jsx(
|
|
557
|
+
Box,
|
|
558
|
+
{
|
|
559
|
+
as: "span",
|
|
560
|
+
display: "inline-block",
|
|
561
|
+
width: "6px",
|
|
562
|
+
height: "6px",
|
|
563
|
+
bg: "yellow.500",
|
|
564
|
+
borderRadius: "full",
|
|
565
|
+
ml: "2",
|
|
566
|
+
"aria-label": label,
|
|
567
|
+
...boxProps
|
|
568
|
+
}
|
|
569
|
+
);
|
|
570
|
+
}
|
|
571
|
+
DirtyDot.displayName = "DirtyDot";
|
|
550
572
|
var EmptyState = (props) => {
|
|
551
573
|
const { header, description, icon, actions } = props;
|
|
552
574
|
return /* @__PURE__ */ jsxs(
|
|
@@ -962,6 +984,6 @@ var TypeBadge = ({
|
|
|
962
984
|
};
|
|
963
985
|
TypeBadge.displayName = "TypeBadge";
|
|
964
986
|
|
|
965
|
-
export { Action, BaseSelect, CheckboxCard, CheckboxCardGroup, ClipboardButton, ClipboardInput, ClipboardLink, Collapse, ColorSwatchPicker, Comment, CommentAction, CommentReplyBox, DataList, DataListItem, DataListItemLabel, DataListItemValue, date_input_default as DateInput, Edit, EmptyState, Filter, Handle, Persona, PersonaAvatar, PersonaContainer, PersonaDetails, PersonaLabel, RelativeDateTime, Remove, SplitButton, Stat, TableMenuList, TableOption, TextOverflow, TypeBadge, createTableMenuComponents, formatDate, formatDateAndTime, formatMachineReadableDateTime, formatTime, formatWeekdayDate };
|
|
987
|
+
export { Action, BaseSelect, CheckboxCard, CheckboxCardGroup, ClipboardButton, ClipboardInput, ClipboardLink, Collapse, ColorSwatchPicker, Comment, CommentAction, CommentReplyBox, DataList, DataListItem, DataListItemLabel, DataListItemValue, date_input_default as DateInput, DirtyDot, Edit, EmptyState, Filter, Handle, Persona, PersonaAvatar, PersonaContainer, PersonaDetails, PersonaLabel, RelativeDateTime, Remove, SplitButton, Stat, TableMenuList, TableOption, TextOverflow, TypeBadge, createTableMenuComponents, formatDate, formatDateAndTime, formatMachineReadableDateTime, formatTime, formatWeekdayDate };
|
|
966
988
|
//# sourceMappingURL=index.js.map
|
|
967
989
|
//# sourceMappingURL=index.js.map
|
package/dist/atoms/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/atoms/actions/action.tsx","../../src/atoms/actions/collapse.tsx","../../src/atoms/actions/edit.tsx","../../src/atoms/actions/filter.tsx","../../src/atoms/actions/handle.tsx","../../src/atoms/actions/remove.tsx","../../src/atoms/checkbox-card/checkbox-card.tsx","../../src/atoms/clipboard/clipboard.tsx","../../src/atoms/color-swatch-picker/color-swatch-picker.tsx","../../src/atoms/datetime/utils/format-date-time-utils.ts","../../src/atoms/datetime/relative-datetime.tsx","../../src/atoms/comment/comment.tsx","../../src/atoms/comment/comment-reply-box.tsx","../../src/atoms/data-list/data-list.tsx","../../src/atoms/date-input/date-input.tsx","../../src/atoms/empty-state/empty-state.tsx","../../src/atoms/persona/persona.tsx","../../src/atoms/select/base-select.tsx","../../src/atoms/select/table-menu-list.tsx","../../src/atoms/split-button/split-button.tsx","../../src/atoms/stat/stat.tsx","../../src/atoms/text-overflow/text-overflow.tsx","../../src/atoms/type-badge/type-badge.tsx"],"names":["jsx","Icon","FilterIcon","Stack","Box","jsxs","ClipboardButton","ChakraClipboard","IconButton","Clipboard","ClipboardInput","ClipboardLink","dayjs","utcPlugin","useState","e","Button","DataList","ChakraDataList","Input","createContext","useContext","chakra","Circle","chakraComponents","ChevronDown","useRef","useEffect"],"mappings":"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","file":"index.js","sourcesContent":["import type React from \"react\";\nimport { Box } from \"../../primitives/layout\";\n\nexport interface ActionProps extends React.HTMLAttributes<HTMLButtonElement> {\n\tcursor?: string;\n}\n\nexport const Action = ({\n\tref,\n\tcursor,\n\tcolor,\n\t...props\n}: ActionProps & { ref?: React.Ref<HTMLButtonElement> }) => {\n\treturn (\n\t\t<Box\n\t\t\tdisplay=\"flex\"\n\t\t\talignItems={\"center\"}\n\t\t\tjustifyContent={\"center\"}\n\t\t\tborderRadius={\"5px\"}\n\t\t\tp={\"15px\"}\n\t\t\ttabIndex={0}\n\t\t\tcursor={cursor}\n\t\t\ttransition={\"background-color 150ms, color 150ms, opacity 150ms\"}\n\t\t\tbg={color}\n\t\t\tasChild\n\t\t>\n\t\t\t<button type=\"button\" ref={ref} {...props} />\n\t\t</Box>\n\t);\n};\nAction.displayName = \"Action\";\n","import { Icon } from \"@chakra-ui/react\";\nimport { ChevronDown, ChevronRight } from \"lucide-react\";\nimport type React from \"react\";\nimport { Action, type ActionProps } from \"./action\";\n\nexport interface CollapseProps extends ActionProps {\n\tcollapsed: boolean;\n\t/** Accessible label for the collapse button */\n\tcollapseLabel?: string;\n}\n\nexport const Collapse = ({\n\tref,\n\tcollapseLabel = \"Collapse\",\n\t...props\n}: CollapseProps & { ref?: React.Ref<HTMLButtonElement> }) => {\n\tconst { collapsed, ...rest } = props;\n\n\treturn (\n\t\t<Action ref={ref} cursor=\"pointer\" aria-label={collapseLabel} {...rest}>\n\t\t\t<Icon color=\"subtle\">\n\t\t\t\t{collapsed ? <ChevronRight /> : <ChevronDown />}\n\t\t\t</Icon>\n\t\t</Action>\n\t);\n};\nCollapse.displayName = \"Collapse\";\n","import { Icon } from \"@chakra-ui/react\";\nimport { Pencil } from \"lucide-react\";\nimport type React from \"react\";\nimport { Action, type ActionProps } from \"./action\";\n\nexport interface EditProps extends ActionProps {\n\t/** Accessible label for the edit button */\n\teditLabel?: string;\n}\n\nexport const Edit = ({\n\tref,\n\teditLabel = \"Edit\",\n\t...props\n}: EditProps & { ref?: React.Ref<HTMLButtonElement> }) => {\n\treturn (\n\t\t<Action ref={ref} cursor=\"pointer\" aria-label={editLabel} {...props}>\n\t\t\t<Icon color=\"subtle\" asChild>\n\t\t\t\t<Pencil />\n\t\t\t</Icon>\n\t\t</Action>\n\t);\n};\nEdit.displayName = \"Edit\";\n","import { Circle } from \"@chakra-ui/react\";\nimport { Filter as FilterIcon } from \"lucide-react\";\nimport type React from \"react\";\nimport { Box } from \"../../primitives/layout\";\nimport { Text } from \"../../primitives/typography\";\nimport { IconButton, type IconButtonProps } from \"../button\";\n\nexport type FilterProps = Omit<\n\tIconButtonProps,\n\t\"aria-label\" | \"cursor\" | \"icon\"\n> & {\n\tactiveFilterCount?: number;\n\t/** Accessible label for the filter button */\n\tfilterLabel?: string;\n};\n\nexport const Filter = ({\n\tref,\n\tfilterLabel = \"Filter\",\n\t...props\n}: FilterProps & { ref?: React.Ref<HTMLButtonElement> }) => {\n\tconst { activeFilterCount, ...rest } = props;\n\n\treturn (\n\t\t<Box position=\"relative\">\n\t\t\t<IconButton\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tcursor=\"pointer\"\n\t\t\t\tref={ref}\n\t\t\t\taria-label={filterLabel}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<FilterIcon />\n\t\t\t</IconButton>\n\t\t\t{activeFilterCount && activeFilterCount > 0 ? (\n\t\t\t\t<Circle\n\t\t\t\t\tsize=\"24px\"\n\t\t\t\t\tbg=\"accent\"\n\t\t\t\t\tcolor=\"on-accent\"\n\t\t\t\t\tposition=\"absolute\"\n\t\t\t\t\ttop={5}\n\t\t\t\t\tinsetInlineEnd={-1.5}\n\t\t\t\t>\n\t\t\t\t\t<Text fontSize=\"xs\" fontWeight={800}>\n\t\t\t\t\t\t{activeFilterCount}\n\t\t\t\t\t</Text>\n\t\t\t\t</Circle>\n\t\t\t) : null}\n\t\t</Box>\n\t);\n};\nFilter.displayName = \"Filter\";\n","import { Icon } from \"@chakra-ui/react\";\nimport { GripVertical } from \"lucide-react\";\nimport type React from \"react\";\nimport { Action, type ActionProps } from \"./action\";\n\nexport interface HandleProps extends ActionProps {\n\t/** Accessible label for the drag handle */\n\thandleLabel?: string;\n}\n\nexport const Handle = ({\n\tref,\n\thandleLabel = \"Drag to reorder\",\n\t...props\n}: HandleProps & { ref?: React.Ref<HTMLButtonElement> }) => {\n\treturn (\n\t\t<Action ref={ref} cursor=\"grab\" aria-label={handleLabel} {...props}>\n\t\t\t<Icon color=\"subtle\" asChild>\n\t\t\t\t<GripVertical />\n\t\t\t</Icon>\n\t\t</Action>\n\t);\n};\nHandle.displayName = \"Handle\";\n","import { Icon } from \"@chakra-ui/react\";\nimport { X } from \"lucide-react\";\nimport type React from \"react\";\nimport { Action, type ActionProps } from \"./action\";\n\nexport interface RemoveProps extends ActionProps {\n\t/** Accessible label for the remove button */\n\tremoveLabel?: string;\n}\n\nexport const Remove = ({\n\tref,\n\tremoveLabel = \"Remove\",\n\t...props\n}: RemoveProps & { ref?: React.Ref<HTMLButtonElement> }) => {\n\treturn (\n\t\t<Action ref={ref} aria-label={removeLabel} {...props}>\n\t\t\t<Icon color=\"subtle\" asChild>\n\t\t\t\t<X />\n\t\t\t</Icon>\n\t\t</Action>\n\t);\n};\nRemove.displayName = \"Remove\";\n","import {\n\tBox,\n\ttype BoxProps,\n\tStack,\n\ttype StackProps,\n\ttype UseCheckboxGroupProps,\n\tuseCheckboxGroup,\n} from \"@chakra-ui/react\";\nimport React from \"react\";\n\nexport type CheckboxCardGroupProps = StackProps & {\n\tdefaultValue?: UseCheckboxGroupProps[\"defaultValue\"];\n\tvalue?: UseCheckboxGroupProps[\"value\"];\n\tonValueChange?: (value: string[]) => void;\n};\n\nexport const CheckboxCardGroup = (props: CheckboxCardGroupProps) => {\n\tconst { children, defaultValue, value, onValueChange, ...rest } = props;\n\tconst group = useCheckboxGroup({\n\t\tdefaultValue,\n\t\tvalue,\n\t\tonValueChange,\n\t});\n\n\tconst cards = React.useMemo(\n\t\t() =>\n\t\t\tReact.Children.toArray(children)\n\t\t\t\t.filter<React.ReactElement<CheckboxCardProps>>(React.isValidElement)\n\t\t\t\t.map((card) => {\n\t\t\t\t\treturn React.cloneElement(card, {\n\t\t\t\t\t\tcheckboxProps: group.getItemProps({\n\t\t\t\t\t\t\tvalue: card.props.value,\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t[children, group],\n\t);\n\n\treturn <Stack {...rest}>{cards}</Stack>;\n};\n\nCheckboxCardGroup.displayName = \"CheckboxCardGroup\";\n\n// Infer the item props type directly from the hook to avoid invalid imports\ntype CheckboxItemProps = ReturnType<\n\tReturnType<typeof useCheckboxGroup>[\"getItemProps\"]\n>;\n\nexport interface CheckboxCardProps extends BoxProps {\n\tvalue: string;\n\tcheckboxProps?: CheckboxItemProps;\n}\n\nexport const CheckboxCard = (props: CheckboxCardProps) => {\n\tconst { checkboxProps, children, ...rest } = props;\n\n\tconst id = React.useId();\n\n\treturn (\n\t\t<Box\n\t\t\tcursor=\"pointer\"\n\t\t\tcss={{\n\t\t\t\t\"& .focus-visible + [data-focus]\": {\n\t\t\t\t\tboxShadow: \"outline\",\n\t\t\t\t\tzIndex: 1,\n\t\t\t\t},\n\t\t\t}}\n\t\t\tasChild\n\t\t>\n\t\t\t<label>\n\t\t\t\t<input type=\"checkbox\" aria-labelledby={id} {...checkboxProps} />\n\t\t\t\t<Box {...rest}>\n\t\t\t\t\t<Stack direction=\"row\">\n\t\t\t\t\t\t<Box flex=\"1\" id={id}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t</Stack>\n\t\t\t\t</Box>\n\t\t\t</label>\n\t\t</Box>\n\t);\n};\n\nCheckboxCard.displayName = \"CheckboxCard\";\n","import {\n\tClipboard as ChakraClipboard,\n\tIconButton,\n\tInput,\n\ttype InputProps,\n} from \"@chakra-ui/react\";\nimport { Check, Clipboard, Link } from \"lucide-react\";\nimport type * as React from \"react\";\n\nexport interface ClipboardButtonProps extends ChakraClipboard.RootProps {\n\t/** Label for the copy button. @default \"Copy\" */\n\tlabel?: string;\n}\n\nexport const ClipboardButton = function ClipboardButton({\n\tref,\n\t...props\n}: ClipboardButtonProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { label = \"Copy\", ...rest } = props;\n\treturn (\n\t\t<ChakraClipboard.Root ref={ref} {...rest}>\n\t\t\t<ChakraClipboard.Trigger asChild>\n\t\t\t\t<IconButton variant=\"ghost\" size=\"sm\" aria-label={label}>\n\t\t\t\t\t<ChakraClipboard.Indicator copied={<Check size={16} />}>\n\t\t\t\t\t\t<Clipboard size={16} />\n\t\t\t\t\t</ChakraClipboard.Indicator>\n\t\t\t\t</IconButton>\n\t\t\t</ChakraClipboard.Trigger>\n\t\t</ChakraClipboard.Root>\n\t);\n};\nClipboardButton.displayName = \"ClipboardButton\";\n\nexport interface ClipboardInputProps extends ChakraClipboard.RootProps {\n\t/** Props passed to the input element. */\n\tinputProps?: InputProps;\n\t/** Label for the copy button. @default \"Copy\" */\n\tlabel?: string;\n}\n\nexport const ClipboardInput = function ClipboardInput({\n\tref,\n\t...props\n}: ClipboardInputProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { inputProps, label = \"Copy\", ...rest } = props;\n\treturn (\n\t\t<ChakraClipboard.Root ref={ref} {...rest}>\n\t\t\t<ChakraClipboard.Control>\n\t\t\t\t<ChakraClipboard.Input asChild>\n\t\t\t\t\t<Input readOnly {...inputProps} />\n\t\t\t\t</ChakraClipboard.Input>\n\t\t\t\t<ChakraClipboard.Trigger asChild>\n\t\t\t\t\t<IconButton variant=\"outline\" size=\"sm\" aria-label={label}>\n\t\t\t\t\t\t<ChakraClipboard.Indicator copied={<Check size={16} />}>\n\t\t\t\t\t\t\t<Clipboard size={16} />\n\t\t\t\t\t\t</ChakraClipboard.Indicator>\n\t\t\t\t\t</IconButton>\n\t\t\t\t</ChakraClipboard.Trigger>\n\t\t\t</ChakraClipboard.Control>\n\t\t</ChakraClipboard.Root>\n\t);\n};\nClipboardInput.displayName = \"ClipboardInput\";\n\nexport interface ClipboardLinkProps extends ChakraClipboard.RootProps {\n\t/** Label for the copy link button. @default \"Copy Link\" */\n\tlabel?: string;\n}\n\nexport const ClipboardLink = function ClipboardLink({\n\tref,\n\t...props\n}: ClipboardLinkProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { label = \"Copy Link\", ...rest } = props;\n\treturn (\n\t\t<ChakraClipboard.Root ref={ref} {...rest}>\n\t\t\t<ChakraClipboard.Trigger asChild>\n\t\t\t\t<IconButton variant=\"ghost\" size=\"xs\" aria-label={label}>\n\t\t\t\t\t<ChakraClipboard.Indicator copied={<Check size={14} />}>\n\t\t\t\t\t\t<Link size={14} />\n\t\t\t\t\t</ChakraClipboard.Indicator>\n\t\t\t\t</IconButton>\n\t\t\t</ChakraClipboard.Trigger>\n\t\t</ChakraClipboard.Root>\n\t);\n};\nClipboardLink.displayName = \"ClipboardLink\";\n","import type React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { Box, Flex, HStack, Stack } from \"../../primitives/layout\";\nimport { TextInput } from \"../text-input\";\n\nconst DEFAULT_PRESETS = [\n\t\"#3b82f6\",\n\t\"#10b981\",\n\t\"#f59e0b\",\n\t\"#ef4444\",\n\t\"#8b5cf6\",\n\t\"#ec4899\",\n\t\"#14b8a6\",\n\t\"#6b7280\",\n];\n\nexport interface ColorSwatchPickerProps {\n\tvalue?: string;\n\tonChange: (color: string) => void;\n\tpresets?: string[];\n\tshowHexInput?: boolean;\n\tshowPreview?: boolean;\n\tsize?: \"sm\" | \"md\" | \"lg\";\n}\n\nconst SWATCH_SIZES = { sm: 4, md: 5, lg: 7 } as const;\n\nexport const ColorSwatchPicker: React.FC<ColorSwatchPickerProps> = ({\n\tvalue,\n\tonChange,\n\tpresets = DEFAULT_PRESETS,\n\tshowHexInput = false,\n\tshowPreview = false,\n\tsize = \"md\",\n}) => {\n\tconst [hexInput, setHexInput] = useState(value ?? \"\");\n\n\tuseEffect(() => {\n\t\tsetHexInput(value ?? \"\");\n\t}, [value]);\n\n\tconst swatchSize = SWATCH_SIZES[size];\n\n\tconst handleHexSubmit = () => {\n\t\tconst trimmed = hexInput.trim();\n\t\tif (/^#[0-9a-fA-F]{6}$/.test(trimmed)) {\n\t\t\tonChange(trimmed);\n\t\t}\n\t};\n\n\treturn (\n\t\t<Stack gap={3}>\n\t\t\t<Flex wrap=\"wrap\" gap={2}>\n\t\t\t\t{presets.map((color) => (\n\t\t\t\t\t<Box\n\t\t\t\t\t\tkey={color}\n\t\t\t\t\t\tw={swatchSize}\n\t\t\t\t\t\th={swatchSize}\n\t\t\t\t\t\trounded=\"sm\"\n\t\t\t\t\t\tbg={color}\n\t\t\t\t\t\tcursor=\"pointer\"\n\t\t\t\t\t\tborderWidth=\"2px\"\n\t\t\t\t\t\tborderColor={value === color ? \"border.emphasized\" : \"transparent\"}\n\t\t\t\t\t\tonClick={() => onChange(color)}\n\t\t\t\t\t\t_hover={{ transform: \"scale(1.1)\" }}\n\t\t\t\t\t\ttransition=\"transform 0.1s\"\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</Flex>\n\t\t\t{(showHexInput || showPreview) && (\n\t\t\t\t<HStack gap={2}>\n\t\t\t\t\t{showPreview && (\n\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\tw={9}\n\t\t\t\t\t\t\th={9}\n\t\t\t\t\t\t\trounded=\"md\"\n\t\t\t\t\t\t\tbg={value || \"transparent\"}\n\t\t\t\t\t\t\tborderWidth=\"1px\"\n\t\t\t\t\t\t\tborderColor=\"border\"\n\t\t\t\t\t\t\tflexShrink={0}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{showHexInput && (\n\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\tvalue={hexInput}\n\t\t\t\t\t\t\tonChange={(e) => setHexInput(e.target.value)}\n\t\t\t\t\t\t\tonBlur={handleHexSubmit}\n\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\tif (e.key === \"Enter\") handleHexSubmit();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder=\"#000000\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tmaxW=\"120px\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</HStack>\n\t\t\t)}\n\t\t</Stack>\n\t);\n};\nColorSwatchPicker.displayName = \"ColorSwatchPicker\";\n","import dayjs from \"dayjs\";\nimport utcPlugin from \"dayjs/plugin/utc.js\";\n\ndayjs.extend(utcPlugin);\n\nimport type { DateFormat, DateType } from \"../types\";\n\n/**\n * A function that will return a formatted date string. The format will depend on the option\n * passed in the second argument.\n * By default, it will return a string with \"full\" format (e.g. Tue, 17 Aug 2021 at 3:45 PM)\n *\n * @param date - the date to be formatted\n * @param format - the desired format (\"full\", \"day\", \"weekday\", or \"time\")\n * @returns a formatted date\n *\n * @example\n * formatDateAndTime('2021-08-17T15:45:00') // returns \"Tue, 17 Aug 2021 at 3:45 PM\"\n *\n * @example\n * formatDateAndTime('2021-08-17T15:45:00', 'day') // returns \"17 Aug 2021\"\n */\nexport function formatDateAndTime(\n\tdate: DateType,\n\tformat: DateFormat = \"full\",\n): string {\n\tlet template: string;\n\n\tswitch (format) {\n\t\tcase \"day\":\n\t\t\ttemplate = \"DD MMM YYYY\"; // 17 Aug 2021\n\t\t\tbreak;\n\t\tcase \"weekday\":\n\t\t\ttemplate = \"ddd, DD MMM\"; // Tue, 17 Aug\n\t\t\tbreak;\n\t\tcase \"time\":\n\t\t\ttemplate = \"h:mm A\"; // 3:45 PM\n\t\t\tbreak;\n\t\tcase \"fullWithSeconds\":\n\t\t\ttemplate = \"ddd, DD MMM YYYY [at] h:mm:ss A\"; // Tue, 17 Aug 2021 at 3:45:67 PM\n\t\t\tbreak;\n\t\tdefault:\n\t\t\ttemplate = \"ddd, DD MMM YYYY [at] h:mm A\"; // Tue, 17 Aug 2021 at 3:45 PM\n\t}\n\n\treturn dayjs(date).format(template);\n}\n\n/**\n * A function that will return a machine-readable date string that should be passed to the `datetime` attribute of a `<time>` tag\n * By default, it will return a string with \"YYYY-MM-DDTHH:mm:ss.SSS[Z]\" format\n *\n * @param date - the date to be formatted\n * @param format - the desired format (\"full\", \"day\", \"weekday\", or \"time\")\n * @returns a formatted date\n *\n * @example\n * formatMachineReadableDateTime(date) // returns 2019-08-13T10:00:00.000Z\n *\n * @example\n * formatMachineReadableDateTime(date, 'day') // returns 2019-08-13\n */\nexport function formatMachineReadableDateTime(\n\tdate: DateType,\n\tformat: DateFormat = \"full\",\n): string {\n\tlet template: string;\n\n\tswitch (format) {\n\t\tcase \"day\":\n\t\t\ttemplate = \"YYYY-MM-DD\"; // 2019-08-24\n\t\t\tbreak;\n\t\tcase \"weekday\":\n\t\t\ttemplate = \"MM-DD\"; // 08-24\n\t\t\tbreak;\n\t\tcase \"time\":\n\t\t\ttemplate = \"HH:mm:ss.SSS\"; // 15:44:07.000\n\t\t\tbreak;\n\t\tdefault:\n\t\t\ttemplate = \"YYYY-MM-DDTHH:mm:ss.SSS[Z]\"; // 2019-08-24T15:44:07.000Z\n\t}\n\n\treturn dayjs(date).utc().format(template);\n}\n\n/**\n * @example\n * > formatDate(date)\n * 13 Aug 2019\n */\nexport const formatDate = (date: DateType): string => {\n\treturn formatDateAndTime(date, \"day\");\n};\n\n/**\n * @example\n * > formatTime(date)\n * 8:00 AM\n */\nexport const formatTime = (date: DateType): string => {\n\treturn formatDateAndTime(date, \"time\");\n};\n\n/**\n * @example\n * > formatWeekdayDate(date)\n * Mon, 12 Aug\n */\nexport const formatWeekdayDate = (date: DateType): string => {\n\treturn formatDateAndTime(date, \"weekday\");\n};\n","import dayjs from \"dayjs\";\nimport calendarPlugin from \"dayjs/plugin/calendar.js\";\nimport relativeTime from \"dayjs/plugin/relativeTime.js\";\nimport utcPlugin from \"dayjs/plugin/utc.js\";\nimport type React from \"react\";\nimport type { DateType } from \"./types\";\nimport { formatMachineReadableDateTime } from \"./utils/format-date-time-utils\";\nimport {\n\tformatRelativeDateTime,\n\tformatRelativeToCurrentWeekDateTime,\n} from \"./utils/relative-date-time-utils\";\n\ndayjs.extend(utcPlugin);\ndayjs.extend(relativeTime);\ndayjs.extend(calendarPlugin);\n\nexport interface RelativeDateTimeProps {\n\t/**\n\t * The date that will be displayed. It accepts a JS Date, an ISO8601 Timestamp string, or Unix Epoch Milliseconds number\n\t */\n\tdate: DateType;\n\t/**\n\t * If a value is passed to baseDate, then the component will compare both dates and return the time between them.\n\t * If no value is passed then the date will be compared to \"now\"\n\t *\n\t * @default \"Now\"\n\t */\n\tbaseDate?: DateType;\n\t/**\n\t * Sets the date to be relative only if it is in the current week\n\t * @default false\n\t */\n\tisRelativeToCurrentWeek?: boolean;\n}\n\nexport const RelativeDateTime: React.FC<RelativeDateTimeProps> = (props) => {\n\tconst { date, baseDate, isRelativeToCurrentWeek, ...otherProps } = props;\n\n\tconst now = new Date();\n\tconst referenceDate = baseDate ?? now;\n\tconst dayjsDate = dayjs(date);\n\tconst machineReadableDate = formatMachineReadableDateTime(date);\n\n\tlet relativeDate: string;\n\n\tif (isRelativeToCurrentWeek && !dayjsDate.isSame(referenceDate, \"day\")) {\n\t\trelativeDate = formatRelativeToCurrentWeekDateTime(date, referenceDate);\n\t} else {\n\t\trelativeDate = formatRelativeDateTime(date, referenceDate);\n\t}\n\n\treturn (\n\t\t<time dateTime={machineReadableDate} {...otherProps}>\n\t\t\t{relativeDate}\n\t\t</time>\n\t);\n};\nRelativeDateTime.displayName = \"RelativeDateTime\";\n","import { chakra } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport { createContext, useContext } from \"react\";\nimport { HStack, Stack } from \"../../primitives/layout\";\nimport { Prose } from \"../../primitives/prose\";\nimport { Button, type ButtonProps } from \"../button\";\nimport { RelativeDateTime } from \"../datetime/relative-datetime\";\nimport type {\n\tCommentFooterProps,\n\tCommentHeaderProps,\n\tCommentProps,\n} from \"./types\";\n\ntype CommentStyles = Record<string, React.CSSProperties | object>;\n\nconst CommentStylesContext = createContext<CommentStyles>({});\nconst useStyles = () => useContext(CommentStylesContext);\n\nexport const Comment: React.FC<CommentProps> = (props) => {\n\tconst {\n\t\tavatar,\n\t\tcontent,\n\t\tchildren,\n\t\tauthor,\n\t\tcommentedAt,\n\t\tactions,\n\t\tid,\n\t\tisDeleted,\n\t\tdeletedLabel = \"This comment has been deleted\",\n\t\t...rest\n\t} = props;\n\n\tconst styles: CommentStyles = {};\n\n\tconst headerProps = {\n\t\tauthor,\n\t\tcommentedAt,\n\t};\n\n\tconst footerProps = {\n\t\tactions,\n\t};\n\n\treturn (\n\t\t<chakra.div css={styles.container} data-id={id} {...rest}>\n\t\t\t<CommentStylesContext.Provider value={styles}>\n\t\t\t\t{avatar && <AvatarSlot>{avatar}</AvatarSlot>}\n\t\t\t\t{(content || isDeleted) && (\n\t\t\t\t\t<ContentContainer>\n\t\t\t\t\t\t<Stack gap={3}>\n\t\t\t\t\t\t\t<Stack gap={2}>\n\t\t\t\t\t\t\t\t<CommentHeader {...headerProps} />\n\t\t\t\t\t\t\t\t<Prose\n\t\t\t\t\t\t\t\t\tcss={{\n\t\t\t\t\t\t\t\t\t\t\"& p\": {\n\t\t\t\t\t\t\t\t\t\t\tfontSize: \"inherit!important\",\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"& *:first-child\": {\n\t\t\t\t\t\t\t\t\t\t\tmarginTop: 0,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"& *:last-child\": {\n\t\t\t\t\t\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{isDeleted ? (\n\t\t\t\t\t\t\t\t\t\t<chakra.span css={styles.deletedText}>\n\t\t\t\t\t\t\t\t\t\t\t{deletedLabel}\n\t\t\t\t\t\t\t\t\t\t</chakra.span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tcontent\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Prose>\n\t\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t\t<CommentFooter {...footerProps} />\n\t\t\t\t\t\t</Stack>\n\t\t\t\t\t</ContentContainer>\n\t\t\t\t)}\n\t\t\t\t{children && (\n\t\t\t\t\t<Stack gap={4} css={styles.children}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Stack>\n\t\t\t\t)}\n\t\t\t</CommentStylesContext.Provider>\n\t\t</chakra.div>\n\t);\n};\n\nComment.displayName = \"Comment\";\n\nconst AvatarSlot: React.FC<{\n\tchildren: React.ReactNode;\n}> = ({ children }) => {\n\tconst styles = useStyles();\n\n\treturn <chakra.div css={styles.avatar}>{children}</chakra.div>;\n};\n\nconst ContentContainer = ({ children }: { children: React.ReactNode }) => {\n\tconst styles = useStyles();\n\n\treturn <chakra.div css={styles.contentContainer}>{children}</chakra.div>;\n};\n\nconst CommentHeader: React.FC<CommentHeaderProps> = (props) => {\n\tconst { author, commentedAt } = props;\n\n\tconst shouldRender = !!author || !!commentedAt;\n\n\treturn shouldRender ? (\n\t\t<HStack>\n\t\t\t{author && <Author>{author.name}</Author>}\n\t\t\t{commentedAt && <RelativeDateTime date={commentedAt} />}\n\t\t</HStack>\n\t) : null;\n};\n\nconst Author: React.FC<{\n\tchildren: React.ReactNode;\n}> = (props) => {\n\tconst { children } = props;\n\tconst styles = useStyles();\n\n\treturn <chakra.span css={styles.field}>{children}</chakra.span>;\n};\n\nconst CommentFooter: React.FC<CommentFooterProps> = (props) => {\n\tconst { actions } = props;\n\treturn (\n\t\t<HStack alignItems=\"center\" gap={4} flexWrap=\"wrap\">\n\t\t\t{actions?.map((item, key) => Object.assign({}, item, { key }))}\n\t\t</HStack>\n\t);\n};\n\nexport interface CommentActionProps extends ButtonProps {\n\tchildren: React.ReactNode;\n}\n\nexport const CommentAction: React.FC<CommentActionProps> = (props) => {\n\treturn <Button variant=\"outline\" size=\"xs\" {...props} />;\n};\nCommentAction.displayName = \"CommentAction\";\n","import { Button, ButtonGroup } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport { useRef, useState } from \"react\";\nimport { Box, Flex } from \"../../primitives/layout\";\nimport { Textarea } from \"../../primitives/textarea\";\n\nexport interface CommentReplyBoxProps {\n\tonReply: (value: string) => Promise<void>;\n\tonCancel?: () => void;\n\t/** Placeholder text for the reply textarea */\n\tplaceholder?: string;\n\t/** Label for the cancel button */\n\tcancelLabel?: string;\n\t/** Label for the reply/submit button */\n\treplyLabel?: string;\n}\n\nexport const CommentReplyBox = ({\n\tref,\n\t...props\n}: CommentReplyBoxProps & { ref?: React.Ref<HTMLTextAreaElement> }) => {\n\tconst {\n\t\tonReply,\n\t\tonCancel,\n\t\tplaceholder = \"Write a reply...\",\n\t\tcancelLabel = \"Cancel\",\n\t\treplyLabel = \"Reply\",\n\t} = props;\n\n\tconst textBoxRef = useRef<HTMLTextAreaElement>(null);\n\n\tconst mergedRef = (node: HTMLTextAreaElement | null) => {\n\t\t(textBoxRef as React.MutableRefObject<HTMLTextAreaElement | null>).current =\n\t\t\tnode;\n\t\tif (typeof ref === \"function\") {\n\t\t\tref(node);\n\t\t} else if (ref) {\n\t\t\t(ref as React.MutableRefObject<HTMLTextAreaElement | null>).current =\n\t\t\t\tnode;\n\t\t}\n\t};\n\n\tconst [isFocused, setIsFocused] = useState<boolean>(false);\n\tconst [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\tconst [value, setValue] = useState<string>(\"\");\n\n\tconst handleReply = async (e: React.FormEvent) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tif (!value || !value.trim() || value === \"\") {\n\t\t\treturn;\n\t\t}\n\t\ttry {\n\t\t\tsetIsSubmitting(true);\n\t\t\tawait onReply?.(value);\n\t\t\tsetValue(\"\");\n\t\t\tsetIsFocused(false);\n\t\t} catch (e) {\n\t\t\tconsole.error(e);\n\t\t}\n\n\t\tsetIsSubmitting(false);\n\t};\n\n\tconst handleCancel = () => {\n\t\tsetValue(\"\");\n\t\tsetIsFocused(false);\n\t\tonCancel?.();\n\t};\n\n\treturn (\n\t\t<Box w=\"full\" onFocus={() => setIsFocused(true)}>\n\t\t\t<form onSubmit={handleReply}>\n\t\t\t\t<Textarea\n\t\t\t\t\tvalue={String(value)}\n\t\t\t\t\tonChange={(e) => setValue(e.target.value)}\n\t\t\t\t\tminH={isFocused ? undefined : \"2.5rem\"}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\tref={mergedRef}\n\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t// modifier + enter\n\t\t\t\t\t\tif ((e.ctrlKey || e.metaKey) && e.key === \"Enter\") {\n\t\t\t\t\t\t\thandleReply(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tdisabled={isSubmitting}\n\t\t\t\t/>\n\n\t\t\t\t<Flex\n\t\t\t\t\tmt={2}\n\t\t\t\t\tdisplay={isFocused ? \"flex\" : \"none\"}\n\t\t\t\t\tjustifyContent=\"flex-end\"\n\t\t\t\t>\n\t\t\t\t\t<ButtonGroup marginInlineStart=\"auto\" size=\"sm\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\tloading={isSubmitting}\n\t\t\t\t\t\t\tonClick={handleCancel}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{cancelLabel}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tvariant=\"solid\"\n\t\t\t\t\t\t\tcolorPalette=\"primary\"\n\t\t\t\t\t\t\tloading={isSubmitting}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{replyLabel}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</ButtonGroup>\n\t\t\t\t</Flex>\n\t\t\t</form>\n\t\t</Box>\n\t);\n};\nCommentReplyBox.displayName = \"CommentReplyBox\";\n","import { DataList as ChakraDataList } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface DataListItemType {\n\tlabel: React.ReactNode;\n\tvalue: React.ReactNode;\n}\n\nexport interface DataListProps extends ChakraDataList.RootProps {\n\t/** Items to render as label-value pairs. If provided, renders automatically. */\n\titems?: DataListItemType[];\n}\n\nexport const DataList = function DataList({\n\tref,\n\t...props\n}: DataListProps & { ref?: React.Ref<HTMLDListElement> }) {\n\tconst { items, children, ...rest } = props;\n\treturn (\n\t\t<ChakraDataList.Root ref={ref} {...rest}>\n\t\t\t{items\n\t\t\t\t? items.map((item) => (\n\t\t\t\t\t\t<ChakraDataList.Item key={String(item.label)}>\n\t\t\t\t\t\t\t<ChakraDataList.ItemLabel>{item.label}</ChakraDataList.ItemLabel>\n\t\t\t\t\t\t\t<ChakraDataList.ItemValue>{item.value}</ChakraDataList.ItemValue>\n\t\t\t\t\t\t</ChakraDataList.Item>\n\t\t\t\t\t))\n\t\t\t\t: children}\n\t\t</ChakraDataList.Root>\n\t);\n};\nDataList.displayName = \"DataList\";\n\n// Pass-through exports for manual composition\nexport const DataListItem = ChakraDataList.Item;\nDataListItem.displayName = \"DataListItem\";\n\nexport const DataListItemLabel = ChakraDataList.ItemLabel;\nDataListItemLabel.displayName = \"DataListItemLabel\";\n\nexport const DataListItemValue = ChakraDataList.ItemValue;\nDataListItemValue.displayName = \"DataListItemValue\";\n\nexport type DataListRootProps = ChakraDataList.RootProps;\n","import { Input, type InputProps } from \"@chakra-ui/react\";\nimport type React from \"react\";\n\nexport interface DateInputProps\n\textends Omit<InputProps, \"type\" | \"value\" | \"onChange\"> {\n\t/** The date value as an ISO date string (YYYY-MM-DD) or ISO datetime string */\n\tvalue?: string;\n\t/** Called when the date value changes */\n\tonChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n\t/** Minimum date in YYYY-MM-DD format */\n\tminDate?: string;\n\t/** Maximum date in YYYY-MM-DD format */\n\tmaxDate?: string;\n}\n\nconst datePattern = /^\\d{4}-\\d{2}-\\d{2}$/;\n\n/**\n * Extracts a YYYY-MM-DD date string from various input formats.\n */\nfunction toDateString(value: string): string {\n\tif (!value) return \"\";\n\tif (datePattern.test(value)) return value;\n\t// Try to parse ISO datetime strings\n\ttry {\n\t\tconst date = new Date(value);\n\t\tif (Number.isNaN(date.getTime())) return \"\";\n\t\treturn date.toISOString().slice(0, 10);\n\t} catch {\n\t\treturn \"\";\n\t}\n}\n\nconst DateInput = ({\n\tref,\n\t...props\n}: DateInputProps & { ref?: React.Ref<HTMLInputElement> }) => {\n\tconst { value, minDate, maxDate, onChange, ...rest } = props;\n\n\tconst dateValue = value ? toDateString(value) : \"\";\n\n\treturn (\n\t\t<Input\n\t\t\ttype=\"date\"\n\t\t\tvalue={dateValue}\n\t\t\tmin={minDate}\n\t\t\tmax={maxDate}\n\t\t\tonChange={onChange}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t);\n};\nDateInput.displayName = \"DateInput\";\n\nexport default DateInput;\n","import type React from \"react\";\nimport { Stack } from \"../../primitives/layout\";\nimport { Heading, Text } from \"../../primitives/typography\";\n\nexport interface EmptyStateProps {\n\t/** Main heading text. */\n\theader: string;\n\t/** Description text or rich content. */\n\tdescription?: React.ReactNode;\n\t/** Optional icon displayed above the heading. */\n\ticon?: React.ReactNode;\n\t/** Optional action buttons below the description. */\n\tactions?: React.ReactNode;\n}\n\nexport const EmptyState: React.FC<EmptyStateProps> = (props) => {\n\tconst { header, description, icon, actions } = props;\n\n\treturn (\n\t\t<Stack\n\t\t\tjustifyContent=\"center\"\n\t\t\talignItems=\"center\"\n\t\t\ttextAlign=\"center\"\n\t\t\tgap={4}\n\t\t\tp={16}\n\t\t\tborderRadius=\"lg\"\n\t\t>\n\t\t\t{icon}\n\t\t\t<Heading size=\"lg\">{header}</Heading>\n\t\t\t{description && (\n\t\t\t\t<Text color=\"muted\" fontSize=\"sm\">\n\t\t\t\t\t{description}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t\t{actions && (\n\t\t\t\t<Stack pt={4} gap={2}>\n\t\t\t\t\t{actions}\n\t\t\t\t</Stack>\n\t\t\t)}\n\t\t</Stack>\n\t);\n};\n\nEmptyState.displayName = \"EmptyState\";\n","import { chakra, type HTMLChakraProps } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport { createContext, useContext } from \"react\";\nimport { Avatar, type AvatarProps } from \"../../primitives/avatar\";\n\nexport interface PersonaProps {\n\t/**\n\t * The name of the person in the avatar.\n\t *\n\t * - if `src` has loaded, the name will be used as the `alt` attribute of the `img`\n\t * - If `src` is not loaded, the name will be used to create the initials\n\t */\n\tname?: string;\n\n\t/**\n\t * Primary label of the persona, defaults to the name\n\t */\n\tlabel?: React.ReactNode;\n\t/**\n\t * Hide the persona details next to the avatar.\n\t */\n\thideDetails?: boolean;\n\t/**\n\t * The size of the persona, from 2xs to 2xl.\n\t */\n\tsize?: \"2xs\" | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\";\n\t/**\n\t * When true, adds hover styling and pointer cursor for clickable personas.\n\t */\n\tinteractive?: boolean;\n}\n\ninterface PersonaStyles {\n\tcontainer?: React.CSSProperties;\n\tdetails?: React.CSSProperties;\n\tlabel?: React.CSSProperties;\n}\n\nconst PersonaStylesContext = createContext<PersonaStyles>({});\nconst usePersonaStyles = () => useContext(PersonaStylesContext);\n\nexport const Persona: React.FC<PersonaProps> = (props) => {\n\tconst { name, size = \"sm\", hideDetails, label, interactive } = props;\n\n\treturn (\n\t\t<PersonaContainer interactive={interactive}>\n\t\t\t<PersonaAvatar name={name} size={size} />\n\t\t\t{!hideDetails && (\n\t\t\t\t<PersonaDetails>\n\t\t\t\t\t<PersonaLabel>{label || name}</PersonaLabel>\n\t\t\t\t</PersonaDetails>\n\t\t\t)}\n\t\t</PersonaContainer>\n\t);\n};\n\nPersona.displayName = \"Persona\";\n\nexport interface PersonaContainerProps extends HTMLChakraProps<\"div\"> {\n\tchildren: React.ReactNode;\n\t/**\n\t * Optional style overrides passed down to child components via context.\n\t */\n\tstyles?: PersonaStyles;\n\t/**\n\t * When true, adds hover styling and pointer cursor for clickable personas.\n\t */\n\tinteractive?: boolean;\n}\n\nexport const PersonaContainer = ({\n\tref,\n\t...props\n}: PersonaContainerProps & { ref?: React.Ref<HTMLDivElement> }) => {\n\tconst { children, styles = {}, interactive, ...rest } = props;\n\n\treturn (\n\t\t<PersonaStylesContext.Provider value={styles}>\n\t\t\t<chakra.div\n\t\t\t\tref={ref}\n\t\t\t\tdisplay=\"flex\"\n\t\t\t\tflexDirection=\"row\"\n\t\t\t\talignItems=\"center\"\n\t\t\t\t{...(interactive && {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tborderRadius: \"md\",\n\t\t\t\t\ttransition: \"background-color 150ms\",\n\t\t\t\t\t_hover: { bg: \"bg-subtle\" },\n\t\t\t\t\tpx: 2,\n\t\t\t\t\tpy: 1,\n\t\t\t\t})}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</chakra.div>\n\t\t</PersonaStylesContext.Provider>\n\t);\n};\n\ninterface PersonaAvatarOptions extends Pick<PersonaProps, \"name\" | \"size\"> {}\n\ninterface PersonaAvatarProps\n\textends PersonaAvatarOptions,\n\t\tOmit<AvatarProps, \"size\"> {}\n\nexport const PersonaAvatar = ({\n\tref,\n\t...props\n}: PersonaAvatarProps & { ref?: React.Ref<HTMLDivElement> }) => {\n\tconst { name, size, ...rest } = props;\n\n\treturn <Avatar ref={ref} name={name} size={size} {...rest} />;\n};\nPersonaAvatar.displayName = \"PersonaAvatar\";\n\nexport const PersonaDetails = ({\n\tref,\n\t...props\n}: HTMLChakraProps<\"div\"> & { ref?: React.Ref<HTMLDivElement> }) => {\n\tconst { children, ...rest } = props;\n\tconst styles = usePersonaStyles();\n\n\treturn (\n\t\t<chakra.div\n\t\t\tref={ref}\n\t\t\tdisplay=\"flex\"\n\t\t\tflexDirection=\"column\"\n\t\t\tstyle={styles.details}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</chakra.div>\n\t);\n};\nPersonaDetails.displayName = \"PersonaDetails\";\n\nexport const PersonaLabel = ({\n\tref,\n\t...props\n}: HTMLChakraProps<\"span\"> & { ref?: React.Ref<HTMLSpanElement> }) => {\n\tconst styles = usePersonaStyles();\n\n\treturn <chakra.span ref={ref} style={styles.label} {...props} />;\n};\nPersonaLabel.displayName = \"PersonaLabel\";\n","import { Circle } from \"@chakra-ui/react\";\nimport {\n\ttype ActionMeta,\n\tchakraComponents,\n\ttype GroupBase,\n\ttype MultiValue,\n\ttype MultiValueProps,\n\ttype OptionProps,\n\ttype Props,\n\tSelect,\n\ttype SelectInstance,\n\ttype SingleValue,\n\ttype SingleValueProps,\n} from \"chakra-react-select\";\nimport type React from \"react\";\nimport { Avatar } from \"../../primitives/avatar\";\nimport { HStack } from \"../../primitives/layout\";\nimport { Text } from \"../../primitives/typography\";\nimport type { BaseOption } from \"./types\";\n\nexport interface BaseSelectProps<T extends BaseOption>\n\textends Omit<\n\t\tProps<T, boolean, GroupBase<T>>,\n\t\t\"value\" | \"onChange\" | \"isLoading\" | \"isDisabled\"\n\t> {\n\tvalue: T | T[] | null;\n\tonChange?: (\n\t\tnewValue: MultiValue<T> | SingleValue<T>,\n\t\tactionMeta: ActionMeta<T>,\n\t) => void;\n\tloading?: boolean;\n\tdisabled?: boolean;\n}\n\nconst BaseSingleValue = <T extends BaseOption>({\n\tdata,\n\t...props\n}: SingleValueProps<T, boolean, GroupBase<T>>) => {\n\treturn (\n\t\t<chakraComponents.SingleValue data={data} {...props}>\n\t\t\t<HStack gap={2}>\n\t\t\t\t{data.avatar && <Avatar name={data.avatar} size=\"xs\" />}\n\t\t\t\t{data.color && <Circle bg={data.color} size={5} />}\n\t\t\t\t{data.icon && data.icon}\n\t\t\t\t<Text>{data.label}</Text>\n\t\t\t</HStack>\n\t\t</chakraComponents.SingleValue>\n\t);\n};\n\nconst BaseMultiValue = <T extends BaseOption>({\n\tchildren,\n\t...props\n}: MultiValueProps<T, boolean, GroupBase<T>>) => {\n\tconst { data } = props;\n\n\treturn (\n\t\t// @ts-expect-error -- strict mode: duplicate property\n\t\t<chakraComponents.MultiValue data={data} {...props}>\n\t\t\t<HStack gap={2}>\n\t\t\t\t{data.avatar && <Avatar name={data.avatar} size=\"xs\" />}\n\t\t\t\t{data.color && <Circle bg={data.color} size={5} />}\n\t\t\t\t{data.icon && data.icon}\n\t\t\t\t<Text>{data.label}</Text>\n\t\t\t</HStack>\n\t\t</chakraComponents.MultiValue>\n\t);\n};\n\nconst BaseSelectOption = <T extends BaseOption>({\n\tdata,\n\t...props\n}: OptionProps<T, boolean, GroupBase<T>>) => {\n\treturn (\n\t\t<chakraComponents.Option data={data} {...props}>\n\t\t\t<HStack gap={2}>\n\t\t\t\t{data.avatar && <Avatar name={data.avatar} size=\"xs\" />}\n\t\t\t\t{data.color && <Circle bg={data.color} size={5} />}\n\t\t\t\t{data.icon && data.icon}\n\t\t\t\t<Text>{data.label}</Text>\n\t\t\t</HStack>\n\t\t</chakraComponents.Option>\n\t);\n};\n\nconst getSelectComponents = (\n\tvariant?: string,\n\tcustomComponents?: Record<string, React.ComponentType<unknown>>,\n) => ({\n\t...(variant === \"link\"\n\t\t? {\n\t\t\t\tDropdownIndicator: null,\n\t\t\t\tIndicatorSeparator: null,\n\t\t\t}\n\t\t: {}),\n\tSingleValue: BaseSingleValue,\n\tMultiValue: BaseMultiValue,\n\tOption: BaseSelectOption,\n\t...customComponents,\n});\n\nexport const BaseSelect = <T extends BaseOption>({\n\tref,\n\tvalue,\n\tonChange,\n\toptions,\n\tisMulti = false,\n\tloading = false,\n\tdisabled = false,\n\tisClearable = true,\n\tplaceholder,\n\tmenuPortalTarget = document.body,\n\tvariant = \"outline\",\n\tstyles,\n\t...restSelectProps\n}: BaseSelectProps<T> & {\n\tref?: React.Ref<SelectInstance<T, boolean, GroupBase<T>>>;\n}) => {\n\treturn (\n\t\t<Select<T, boolean, GroupBase<T>>\n\t\t\t{...restSelectProps}\n\t\t\tref={ref}\n\t\t\tvalue={value}\n\t\t\tvariant={variant}\n\t\t\tonChange={onChange}\n\t\t\toptions={options}\n\t\t\tisMulti={isMulti}\n\t\t\tisLoading={loading}\n\t\t\tisDisabled={disabled}\n\t\t\tisClearable={isClearable}\n\t\t\tplaceholder={placeholder}\n\t\t\tmenuPortalTarget={menuPortalTarget}\n\t\t\tstyles={{\n\t\t\t\tmenuPortal: (provided) => ({\n\t\t\t\t\t...provided,\n\t\t\t\t\tzIndex: 1800,\n\t\t\t\t\tpointerEvents: \"auto\" as const,\n\t\t\t\t}),\n\t\t\t\t...styles,\n\t\t\t}}\n\t\t\tgetOptionValue={(option) => option.id}\n\t\t\tgetOptionLabel={(option) => option.label}\n\t\t\tcomponents={getSelectComponents(\n\t\t\t\tvariant as string,\n\t\t\t\t// @ts-expect-error -- strict mode: argument type\n\t\t\t\trestSelectProps.components,\n\t\t\t)}\n\t\t/>\n\t);\n};\n(BaseSelect as { displayName?: string }).displayName = \"BaseSelect\";\n","import {\n\tchakraComponents,\n\ttype GroupBase,\n\ttype MenuListProps,\n\ttype OptionProps,\n} from \"chakra-react-select\";\nimport type React from \"react\";\nimport { useMemo } from \"react\";\nimport { Box } from \"../../primitives/layout\";\nimport { Table } from \"../../primitives/table\";\nimport type { BaseOption } from \"./types\";\n\nexport interface TableMenuColumn {\n\tkey: string;\n\theader: string;\n\twidth?: string;\n}\n\nexport interface TableMenuListProps<T extends BaseOption>\n\textends MenuListProps<T, boolean, GroupBase<T>> {\n\tcolumns?: TableMenuColumn[];\n\t/** Minimum width of the table menu. Defaults to \"400px\" */\n\tminWidth?: string;\n\t/** Maximum width of the table menu. Defaults to \"600px\" */\n\tmaxWidth?: string;\n}\n\n/**\n * A custom MenuList component that renders options as table rows.\n *\n * Use with BaseSelect by passing it via the `components` prop:\n * ```tsx\n * <BaseSelect\n * components={{\n * MenuList: (props) => (\n * <TableMenuList\n * {...props}\n * columns={[\n * { key: \"label\", header: \"Name\" },\n * { key: \"valid_from\", header: \"Valid From\" },\n * ]}\n * />\n * ),\n * Option: TableOption,\n * }}\n * />\n * ```\n */\nexport const TableMenuList = <T extends BaseOption>({\n\tchildren,\n\tcolumns,\n\tminWidth = \"400px\",\n\tmaxWidth = \"600px\",\n\t...props\n}: TableMenuListProps<T>) => {\n\tconst { options } = props;\n\n\t// If no columns specified, derive from first option's data keys\n\tconst derivedColumns = useMemo<TableMenuColumn[]>(() => {\n\t\tif (columns) return columns;\n\n\t\tconst firstOption = options?.[0] as T | undefined;\n\t\tif (!firstOption?.data) {\n\t\t\treturn [{ key: \"label\", header: \"Name\" }];\n\t\t}\n\n\t\treturn [\n\t\t\t{ key: \"label\", header: \"Name\" },\n\t\t\t...Object.keys(firstOption.data).map((key) => ({\n\t\t\t\tkey,\n\t\t\t\theader: key.charAt(0).toUpperCase() + key.slice(1).replace(/_/g, \" \"),\n\t\t\t})),\n\t\t];\n\t}, [columns, options]);\n\n\treturn (\n\t\t<chakraComponents.MenuList {...props}>\n\t\t\t<Box\n\t\t\t\toverflowX=\"auto\"\n\t\t\t\tminWidth={minWidth}\n\t\t\t\tmaxWidth={maxWidth}\n\t\t\t\twidth=\"max-content\"\n\t\t\t>\n\t\t\t\t<Table.Root size=\"sm\">\n\t\t\t\t\t<Table.Header>\n\t\t\t\t\t\t<Table.Row>\n\t\t\t\t\t\t\t{derivedColumns.map((col) => (\n\t\t\t\t\t\t\t\t<Table.ColumnHeader\n\t\t\t\t\t\t\t\t\tkey={col.key}\n\t\t\t\t\t\t\t\t\twidth={col.width}\n\t\t\t\t\t\t\t\t\twhiteSpace=\"nowrap\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{col.header}\n\t\t\t\t\t\t\t\t</Table.ColumnHeader>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t</Table.Header>\n\t\t\t\t\t<Table.Body>{children}</Table.Body>\n\t\t\t\t</Table.Root>\n\t\t\t</Box>\n\t\t</chakraComponents.MenuList>\n\t);\n};\n(TableMenuList as { displayName?: string }).displayName = \"TableMenuList\";\n\n/**\n * A custom Option component that renders as a table row.\n * Use together with TableMenuList.\n */\nexport const TableOption = <T extends BaseOption>({\n\tdata,\n\tinnerProps,\n\tisSelected,\n\tisFocused,\n\tcolumns,\n}: OptionProps<T, boolean, GroupBase<T>> & { columns?: TableMenuColumn[] }) => {\n\t// Derive columns from data if not provided\n\tconst derivedColumns = useMemo<TableMenuColumn[]>(() => {\n\t\tif (columns) return columns;\n\n\t\tif (!data.data) {\n\t\t\treturn [{ key: \"label\", header: \"Name\" }];\n\t\t}\n\n\t\treturn [\n\t\t\t{ key: \"label\", header: \"Name\" },\n\t\t\t...Object.keys(data.data).map((key) => ({\n\t\t\t\tkey,\n\t\t\t\theader: key,\n\t\t\t})),\n\t\t];\n\t}, [columns, data.data]);\n\n\tconst getCellValue = (col: TableMenuColumn): React.ReactNode => {\n\t\tif (col.key === \"label\") {\n\t\t\treturn data.label;\n\t\t}\n\t\tif (col.key === \"id\") {\n\t\t\treturn data.id;\n\t\t}\n\t\tif (data.data && col.key in data.data) {\n\t\t\tconst value = data.data[col.key];\n\t\t\tif (value === null || value === undefined) return \"-\";\n\t\t\treturn String(value);\n\t\t}\n\t\treturn \"-\";\n\t};\n\n\t// Extract only the event handlers and data attributes from innerProps\n\t// The ref is incompatible with table rows, so we exclude it\n\tconst { ref: _ref, ...rowProps } = innerProps;\n\n\treturn (\n\t\t<Table.Row\n\t\t\t{...rowProps}\n\t\t\t_hover={{ bg: isFocused ? \"bg-muted\" : \"bg-subtle\" }}\n\t\t\tcursor=\"pointer\"\n\t\t\t_even={{\n\t\t\t\tbg: isSelected ? \"primary.subtle\" : isFocused ? \"bg-muted\" : undefined,\n\t\t\t}}\n\t\t>\n\t\t\t{derivedColumns.map((col) => (\n\t\t\t\t<Table.Cell key={col.key} width={col.width} whiteSpace=\"nowrap\">\n\t\t\t\t\t{getCellValue(col)}\n\t\t\t\t</Table.Cell>\n\t\t\t))}\n\t\t</Table.Row>\n\t);\n};\n(TableOption as { displayName?: string }).displayName = \"TableOption\";\n\nexport interface CreateTableMenuComponentsOptions {\n\tcolumns: TableMenuColumn[];\n\t/** Minimum width of the table menu. Defaults to \"400px\" */\n\tminWidth?: string;\n\t/** Maximum width of the table menu. Defaults to \"600px\" */\n\tmaxWidth?: string;\n}\n\n/**\n * Helper to create table menu components with predefined columns.\n *\n * Usage:\n * ```tsx\n * const { MenuList, Option } = createTableMenuComponents({\n * columns: [\n * { key: \"label\", header: \"Release\" },\n * { key: \"valid_from\", header: \"Valid From\" },\n * { key: \"valid_until\", header: \"Valid Until\" },\n * ],\n * minWidth: \"500px\",\n * maxWidth: \"800px\",\n * });\n *\n * <BaseSelect components={{ MenuList, Option }} />\n * ```\n */\nexport const createTableMenuComponents = <T extends BaseOption>(\n\toptions: CreateTableMenuComponentsOptions,\n) => ({\n\tMenuList: (props: MenuListProps<T, boolean, GroupBase<T>>) => (\n\t\t<TableMenuList\n\t\t\t{...props}\n\t\t\tcolumns={options.columns}\n\t\t\tminWidth={options.minWidth}\n\t\t\tmaxWidth={options.maxWidth}\n\t\t/>\n\t),\n\tOption: (props: OptionProps<T, boolean, GroupBase<T>>) => (\n\t\t<TableOption {...props} columns={options.columns} />\n\t),\n});\n","import { ChevronDown, Plus } from \"lucide-react\";\nimport type React from \"react\";\nimport { HStack } from \"../../primitives/layout\";\nimport {\n\tMenuContent,\n\tMenuItem,\n\tMenuRoot,\n\tMenuTrigger,\n} from \"../../primitives/menu\";\nimport { Button, type ButtonProps } from \"../button\";\n\nexport interface SplitButtonMenuItem {\n\tlabel: string;\n\tonClick: () => void;\n\ticon?: React.ReactNode;\n\tcolor?: string;\n}\n\nexport interface SplitButtonProps extends ButtonProps {\n\tlabel: string;\n\tmenuItems?: SplitButtonMenuItem[];\n}\n\nexport const SplitButton: React.FC<SplitButtonProps> = (props) => {\n\tconst { label, menuItems, onClick, ...rest } = props;\n\tconst hasMenuItems = menuItems && menuItems.length > 0;\n\n\treturn (\n\t\t<HStack gap={0.5}>\n\t\t\t{onClick && (\n\t\t\t\t<Button\n\t\t\t\t\t{...rest}\n\t\t\t\t\tcolorPalette=\"blue\"\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\tborderEndRadius={hasMenuItems ? \"none\" : undefined}\n\t\t\t\t>\n\t\t\t\t\t<Plus size={16} />\n\t\t\t\t\t{label}\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t\t{hasMenuItems && (\n\t\t\t\t<MenuRoot>\n\t\t\t\t\t<MenuTrigger asChild>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\tcolorPalette=\"blue\"\n\t\t\t\t\t\t\tborderStartRadius={onClick ? \"none\" : undefined}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDown size={16} />\n\t\t\t\t\t\t\t{onClick ? null : label}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</MenuTrigger>\n\t\t\t\t\t<MenuContent>\n\t\t\t\t\t\t{menuItems.map((menuItem) => (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tkey={menuItem.label}\n\t\t\t\t\t\t\t\tvalue={menuItem.label}\n\t\t\t\t\t\t\t\tonClick={menuItem.onClick}\n\t\t\t\t\t\t\t\tcolor={menuItem.color}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{menuItem.icon}\n\t\t\t\t\t\t\t\t{menuItem.label}\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</MenuContent>\n\t\t\t\t</MenuRoot>\n\t\t\t)}\n\t\t</HStack>\n\t);\n};\nSplitButton.displayName = \"SplitButton\";\n","import { Square } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport { Box, type BoxProps, HStack, Stack } from \"../../primitives/layout\";\nimport { Spinner } from \"../../primitives/spinner\";\nimport { Heading, Text } from \"../../primitives/typography\";\n\nexport interface StatProps extends BoxProps {\n\t/** An icon element rendered as React node (e.g., a lucide-react icon) */\n\ticon?: React.ReactNode;\n\tlabel: string;\n\tvalue?: React.ReactNode;\n\tloading?: boolean;\n}\n\nexport const Stat: React.FC<StatProps> = (props) => {\n\tconst { label, value, icon, loading, ...boxProps } = props;\n\n\treturn (\n\t\t<Box\n\t\t\tpx={{ base: \"4\", md: \"6\" }}\n\t\t\tpy={{ base: \"5\", md: \"6\" }}\n\t\t\tbg=\"bg-surface\"\n\t\t\tborderRadius=\"lg\"\n\t\t\tboxShadow=\"sm\"\n\t\t\t{...boxProps}\n\t\t>\n\t\t\t<Stack gap={{ base: \"5\", md: \"6\" }}>\n\t\t\t\t<Stack direction=\"row\" justify=\"space-between\">\n\t\t\t\t\t<HStack gap=\"4\">\n\t\t\t\t\t\t{icon && (\n\t\t\t\t\t\t\t<Square size=\"8\" bg=\"bg-accent-subtle\" borderRadius=\"md\">\n\t\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t\t</Square>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<Text fontWeight=\"medium\">{label}</Text>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Stack>\n\t\t\t\t<Stack gap=\"4\">\n\t\t\t\t\t{loading ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Heading size={{ base: \"sm\", md: \"md\" }}>{value ?? 0}</Heading>\n\t\t\t\t\t)}\n\t\t\t\t</Stack>\n\t\t\t</Stack>\n\t\t</Box>\n\t);\n};\n\nStat.displayName = \"Stat\";\n","import { memo, useCallback, useEffect, useRef, useState } from \"react\";\nimport { Tooltip } from \"../../primitives/tooltip\";\nimport { Text, type TextProps } from \"../../primitives/typography\";\n\nexport interface TextOverflowProps extends TextProps {}\n\nexport const TextOverflow: React.FC<TextOverflowProps> = memo((props) => {\n\tconst { children, ...rest } = props;\n\tconst textElementRef = useRef<HTMLDivElement>(null);\n\tconst [isOverflown, setIsOverflown] = useState(false);\n\n\tconst compareSize = useCallback(() => {\n\t\tconst element = textElementRef.current;\n\n\t\tconst compare = element\n\t\t\t? element.scrollWidth > element.clientWidth ||\n\t\t\t\telement.offsetWidth < element.scrollWidth ||\n\t\t\t\telement.offsetHeight < element.scrollHeight\n\t\t\t: false;\n\n\t\tsetIsOverflown(compare);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tcompareSize();\n\t\tconst element = textElementRef.current;\n\t\tif (!element) return;\n\t\tconst observer = new ResizeObserver(compareSize);\n\t\tobserver.observe(element);\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [compareSize]);\n\n\treturn (\n\t\t<Tooltip content={children} disabled={!isOverflown}>\n\t\t\t<Text\n\t\t\t\tas=\"div\"\n\t\t\t\tposition=\"relative\"\n\t\t\t\twhiteSpace={isOverflown ? \"nowrap\" : \"normal\"}\n\t\t\t\t{...rest}\n\t\t\t\tref={textElementRef}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Text>\n\t\t</Tooltip>\n\t);\n});\n\nTextOverflow.displayName = \"TextOverflow\";\n","import type React from \"react\";\nimport { Badge, type BadgeProps } from \"../../primitives/badge\";\n\nexport interface TypeBadgeProps extends Omit<BadgeProps, \"children\"> {\n\t/** Display name for the badge. */\n\tname: string;\n\t/** Chakra color palette for visual differentiation. @default \"gray\" */\n\tcolorPalette?: string;\n}\n\nexport const TypeBadge: React.FC<TypeBadgeProps> = ({\n\tname,\n\tcolorPalette = \"gray\",\n\t...rest\n}) => {\n\treturn (\n\t\t<Badge\n\t\t\trounded=\"base\"\n\t\t\tpx={2}\n\t\t\tmarginInlineStart={1}\n\t\t\tcolorPalette={colorPalette}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{name}\n\t\t</Badge>\n\t);\n};\nTypeBadge.displayName = \"TypeBadge\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/atoms/actions/action.tsx","../../src/atoms/actions/collapse.tsx","../../src/atoms/actions/edit.tsx","../../src/atoms/actions/filter.tsx","../../src/atoms/actions/handle.tsx","../../src/atoms/actions/remove.tsx","../../src/atoms/checkbox-card/checkbox-card.tsx","../../src/atoms/clipboard/clipboard.tsx","../../src/atoms/color-swatch-picker/color-swatch-picker.tsx","../../src/atoms/datetime/utils/format-date-time-utils.ts","../../src/atoms/datetime/relative-datetime.tsx","../../src/atoms/comment/comment.tsx","../../src/atoms/comment/comment-reply-box.tsx","../../src/atoms/data-list/data-list.tsx","../../src/atoms/date-input/date-input.tsx","../../src/atoms/dirty-dot/dirty-dot.tsx","../../src/atoms/empty-state/empty-state.tsx","../../src/atoms/persona/persona.tsx","../../src/atoms/select/base-select.tsx","../../src/atoms/select/table-menu-list.tsx","../../src/atoms/split-button/split-button.tsx","../../src/atoms/stat/stat.tsx","../../src/atoms/text-overflow/text-overflow.tsx","../../src/atoms/type-badge/type-badge.tsx"],"names":["jsx","Icon","FilterIcon","Stack","Box","jsxs","ClipboardButton","ChakraClipboard","IconButton","Clipboard","ClipboardInput","ClipboardLink","dayjs","utcPlugin","useState","e","Button","DataList","ChakraDataList","Input","createContext","useContext","chakra","Circle","chakraComponents","ChevronDown","useRef","useEffect"],"mappings":"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","file":"index.js","sourcesContent":["import type React from \"react\";\nimport { Box } from \"../../primitives/layout\";\n\nexport interface ActionProps extends React.HTMLAttributes<HTMLButtonElement> {\n\tcursor?: string;\n}\n\nexport const Action = ({\n\tref,\n\tcursor,\n\tcolor,\n\t...props\n}: ActionProps & { ref?: React.Ref<HTMLButtonElement> }) => {\n\treturn (\n\t\t<Box\n\t\t\tdisplay=\"flex\"\n\t\t\talignItems={\"center\"}\n\t\t\tjustifyContent={\"center\"}\n\t\t\tborderRadius={\"5px\"}\n\t\t\tp={\"15px\"}\n\t\t\ttabIndex={0}\n\t\t\tcursor={cursor}\n\t\t\ttransition={\"background-color 150ms, color 150ms, opacity 150ms\"}\n\t\t\tbg={color}\n\t\t\tasChild\n\t\t>\n\t\t\t<button type=\"button\" ref={ref} {...props} />\n\t\t</Box>\n\t);\n};\nAction.displayName = \"Action\";\n","import { Icon } from \"@chakra-ui/react\";\nimport { ChevronDown, ChevronRight } from \"lucide-react\";\nimport type React from \"react\";\nimport { Action, type ActionProps } from \"./action\";\n\nexport interface CollapseProps extends ActionProps {\n\tcollapsed: boolean;\n\t/** Accessible label for the collapse button */\n\tcollapseLabel?: string;\n}\n\nexport const Collapse = ({\n\tref,\n\tcollapseLabel = \"Collapse\",\n\t...props\n}: CollapseProps & { ref?: React.Ref<HTMLButtonElement> }) => {\n\tconst { collapsed, ...rest } = props;\n\n\treturn (\n\t\t<Action ref={ref} cursor=\"pointer\" aria-label={collapseLabel} {...rest}>\n\t\t\t<Icon color=\"subtle\">\n\t\t\t\t{collapsed ? <ChevronRight /> : <ChevronDown />}\n\t\t\t</Icon>\n\t\t</Action>\n\t);\n};\nCollapse.displayName = \"Collapse\";\n","import { Icon } from \"@chakra-ui/react\";\nimport { Pencil } from \"lucide-react\";\nimport type React from \"react\";\nimport { Action, type ActionProps } from \"./action\";\n\nexport interface EditProps extends ActionProps {\n\t/** Accessible label for the edit button */\n\teditLabel?: string;\n}\n\nexport const Edit = ({\n\tref,\n\teditLabel = \"Edit\",\n\t...props\n}: EditProps & { ref?: React.Ref<HTMLButtonElement> }) => {\n\treturn (\n\t\t<Action ref={ref} cursor=\"pointer\" aria-label={editLabel} {...props}>\n\t\t\t<Icon color=\"subtle\" asChild>\n\t\t\t\t<Pencil />\n\t\t\t</Icon>\n\t\t</Action>\n\t);\n};\nEdit.displayName = \"Edit\";\n","import { Circle } from \"@chakra-ui/react\";\nimport { Filter as FilterIcon } from \"lucide-react\";\nimport type React from \"react\";\nimport { Box } from \"../../primitives/layout\";\nimport { Text } from \"../../primitives/typography\";\nimport { IconButton, type IconButtonProps } from \"../button\";\n\nexport type FilterProps = Omit<\n\tIconButtonProps,\n\t\"aria-label\" | \"cursor\" | \"icon\"\n> & {\n\tactiveFilterCount?: number;\n\t/** Accessible label for the filter button */\n\tfilterLabel?: string;\n};\n\nexport const Filter = ({\n\tref,\n\tfilterLabel = \"Filter\",\n\t...props\n}: FilterProps & { ref?: React.Ref<HTMLButtonElement> }) => {\n\tconst { activeFilterCount, ...rest } = props;\n\n\treturn (\n\t\t<Box position=\"relative\">\n\t\t\t<IconButton\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tcursor=\"pointer\"\n\t\t\t\tref={ref}\n\t\t\t\taria-label={filterLabel}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<FilterIcon />\n\t\t\t</IconButton>\n\t\t\t{activeFilterCount && activeFilterCount > 0 ? (\n\t\t\t\t<Circle\n\t\t\t\t\tsize=\"24px\"\n\t\t\t\t\tbg=\"accent\"\n\t\t\t\t\tcolor=\"on-accent\"\n\t\t\t\t\tposition=\"absolute\"\n\t\t\t\t\ttop={5}\n\t\t\t\t\tinsetInlineEnd={-1.5}\n\t\t\t\t>\n\t\t\t\t\t<Text fontSize=\"xs\" fontWeight={800}>\n\t\t\t\t\t\t{activeFilterCount}\n\t\t\t\t\t</Text>\n\t\t\t\t</Circle>\n\t\t\t) : null}\n\t\t</Box>\n\t);\n};\nFilter.displayName = \"Filter\";\n","import { Icon } from \"@chakra-ui/react\";\nimport { GripVertical } from \"lucide-react\";\nimport type React from \"react\";\nimport { Action, type ActionProps } from \"./action\";\n\nexport interface HandleProps extends ActionProps {\n\t/** Accessible label for the drag handle */\n\thandleLabel?: string;\n}\n\nexport const Handle = ({\n\tref,\n\thandleLabel = \"Drag to reorder\",\n\t...props\n}: HandleProps & { ref?: React.Ref<HTMLButtonElement> }) => {\n\treturn (\n\t\t<Action ref={ref} cursor=\"grab\" aria-label={handleLabel} {...props}>\n\t\t\t<Icon color=\"subtle\" asChild>\n\t\t\t\t<GripVertical />\n\t\t\t</Icon>\n\t\t</Action>\n\t);\n};\nHandle.displayName = \"Handle\";\n","import { Icon } from \"@chakra-ui/react\";\nimport { X } from \"lucide-react\";\nimport type React from \"react\";\nimport { Action, type ActionProps } from \"./action\";\n\nexport interface RemoveProps extends ActionProps {\n\t/** Accessible label for the remove button */\n\tremoveLabel?: string;\n}\n\nexport const Remove = ({\n\tref,\n\tremoveLabel = \"Remove\",\n\t...props\n}: RemoveProps & { ref?: React.Ref<HTMLButtonElement> }) => {\n\treturn (\n\t\t<Action ref={ref} aria-label={removeLabel} {...props}>\n\t\t\t<Icon color=\"subtle\" asChild>\n\t\t\t\t<X />\n\t\t\t</Icon>\n\t\t</Action>\n\t);\n};\nRemove.displayName = \"Remove\";\n","import {\n\tBox,\n\ttype BoxProps,\n\tStack,\n\ttype StackProps,\n\ttype UseCheckboxGroupProps,\n\tuseCheckboxGroup,\n} from \"@chakra-ui/react\";\nimport React from \"react\";\n\nexport type CheckboxCardGroupProps = StackProps & {\n\tdefaultValue?: UseCheckboxGroupProps[\"defaultValue\"];\n\tvalue?: UseCheckboxGroupProps[\"value\"];\n\tonValueChange?: (value: string[]) => void;\n};\n\nexport const CheckboxCardGroup = (props: CheckboxCardGroupProps) => {\n\tconst { children, defaultValue, value, onValueChange, ...rest } = props;\n\tconst group = useCheckboxGroup({\n\t\tdefaultValue,\n\t\tvalue,\n\t\tonValueChange,\n\t});\n\n\tconst cards = React.useMemo(\n\t\t() =>\n\t\t\tReact.Children.toArray(children)\n\t\t\t\t.filter<React.ReactElement<CheckboxCardProps>>(React.isValidElement)\n\t\t\t\t.map((card) => {\n\t\t\t\t\treturn React.cloneElement(card, {\n\t\t\t\t\t\tcheckboxProps: group.getItemProps({\n\t\t\t\t\t\t\tvalue: card.props.value,\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t[children, group],\n\t);\n\n\treturn <Stack {...rest}>{cards}</Stack>;\n};\n\nCheckboxCardGroup.displayName = \"CheckboxCardGroup\";\n\n// Infer the item props type directly from the hook to avoid invalid imports\ntype CheckboxItemProps = ReturnType<\n\tReturnType<typeof useCheckboxGroup>[\"getItemProps\"]\n>;\n\nexport interface CheckboxCardProps extends BoxProps {\n\tvalue: string;\n\tcheckboxProps?: CheckboxItemProps;\n}\n\nexport const CheckboxCard = (props: CheckboxCardProps) => {\n\tconst { checkboxProps, children, ...rest } = props;\n\n\tconst id = React.useId();\n\n\treturn (\n\t\t<Box\n\t\t\tcursor=\"pointer\"\n\t\t\tcss={{\n\t\t\t\t\"& .focus-visible + [data-focus]\": {\n\t\t\t\t\tboxShadow: \"outline\",\n\t\t\t\t\tzIndex: 1,\n\t\t\t\t},\n\t\t\t}}\n\t\t\tasChild\n\t\t>\n\t\t\t<label>\n\t\t\t\t<input type=\"checkbox\" aria-labelledby={id} {...checkboxProps} />\n\t\t\t\t<Box {...rest}>\n\t\t\t\t\t<Stack direction=\"row\">\n\t\t\t\t\t\t<Box flex=\"1\" id={id}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t</Stack>\n\t\t\t\t</Box>\n\t\t\t</label>\n\t\t</Box>\n\t);\n};\n\nCheckboxCard.displayName = \"CheckboxCard\";\n","import {\n\tClipboard as ChakraClipboard,\n\tIconButton,\n\tInput,\n\ttype InputProps,\n} from \"@chakra-ui/react\";\nimport { Check, Clipboard, Link } from \"lucide-react\";\nimport type * as React from \"react\";\n\nexport interface ClipboardButtonProps extends ChakraClipboard.RootProps {\n\t/** Label for the copy button. @default \"Copy\" */\n\tlabel?: string;\n}\n\nexport const ClipboardButton = function ClipboardButton({\n\tref,\n\t...props\n}: ClipboardButtonProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { label = \"Copy\", ...rest } = props;\n\treturn (\n\t\t<ChakraClipboard.Root ref={ref} {...rest}>\n\t\t\t<ChakraClipboard.Trigger asChild>\n\t\t\t\t<IconButton variant=\"ghost\" size=\"sm\" aria-label={label}>\n\t\t\t\t\t<ChakraClipboard.Indicator copied={<Check size={16} />}>\n\t\t\t\t\t\t<Clipboard size={16} />\n\t\t\t\t\t</ChakraClipboard.Indicator>\n\t\t\t\t</IconButton>\n\t\t\t</ChakraClipboard.Trigger>\n\t\t</ChakraClipboard.Root>\n\t);\n};\nClipboardButton.displayName = \"ClipboardButton\";\n\nexport interface ClipboardInputProps extends ChakraClipboard.RootProps {\n\t/** Props passed to the input element. */\n\tinputProps?: InputProps;\n\t/** Label for the copy button. @default \"Copy\" */\n\tlabel?: string;\n}\n\nexport const ClipboardInput = function ClipboardInput({\n\tref,\n\t...props\n}: ClipboardInputProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { inputProps, label = \"Copy\", ...rest } = props;\n\treturn (\n\t\t<ChakraClipboard.Root ref={ref} {...rest}>\n\t\t\t<ChakraClipboard.Control>\n\t\t\t\t<ChakraClipboard.Input asChild>\n\t\t\t\t\t<Input readOnly {...inputProps} />\n\t\t\t\t</ChakraClipboard.Input>\n\t\t\t\t<ChakraClipboard.Trigger asChild>\n\t\t\t\t\t<IconButton variant=\"outline\" size=\"sm\" aria-label={label}>\n\t\t\t\t\t\t<ChakraClipboard.Indicator copied={<Check size={16} />}>\n\t\t\t\t\t\t\t<Clipboard size={16} />\n\t\t\t\t\t\t</ChakraClipboard.Indicator>\n\t\t\t\t\t</IconButton>\n\t\t\t\t</ChakraClipboard.Trigger>\n\t\t\t</ChakraClipboard.Control>\n\t\t</ChakraClipboard.Root>\n\t);\n};\nClipboardInput.displayName = \"ClipboardInput\";\n\nexport interface ClipboardLinkProps extends ChakraClipboard.RootProps {\n\t/** Label for the copy link button. @default \"Copy Link\" */\n\tlabel?: string;\n}\n\nexport const ClipboardLink = function ClipboardLink({\n\tref,\n\t...props\n}: ClipboardLinkProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { label = \"Copy Link\", ...rest } = props;\n\treturn (\n\t\t<ChakraClipboard.Root ref={ref} {...rest}>\n\t\t\t<ChakraClipboard.Trigger asChild>\n\t\t\t\t<IconButton variant=\"ghost\" size=\"xs\" aria-label={label}>\n\t\t\t\t\t<ChakraClipboard.Indicator copied={<Check size={14} />}>\n\t\t\t\t\t\t<Link size={14} />\n\t\t\t\t\t</ChakraClipboard.Indicator>\n\t\t\t\t</IconButton>\n\t\t\t</ChakraClipboard.Trigger>\n\t\t</ChakraClipboard.Root>\n\t);\n};\nClipboardLink.displayName = \"ClipboardLink\";\n","import type React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { Box, Flex, HStack, Stack } from \"../../primitives/layout\";\nimport { TextInput } from \"../text-input\";\n\nconst DEFAULT_PRESETS = [\n\t\"#3b82f6\",\n\t\"#10b981\",\n\t\"#f59e0b\",\n\t\"#ef4444\",\n\t\"#8b5cf6\",\n\t\"#ec4899\",\n\t\"#14b8a6\",\n\t\"#6b7280\",\n];\n\nexport interface ColorSwatchPickerProps {\n\tvalue?: string;\n\tonChange: (color: string) => void;\n\tpresets?: string[];\n\tshowHexInput?: boolean;\n\tshowPreview?: boolean;\n\tsize?: \"sm\" | \"md\" | \"lg\";\n}\n\nconst SWATCH_SIZES = { sm: 4, md: 5, lg: 7 } as const;\n\nexport const ColorSwatchPicker: React.FC<ColorSwatchPickerProps> = ({\n\tvalue,\n\tonChange,\n\tpresets = DEFAULT_PRESETS,\n\tshowHexInput = false,\n\tshowPreview = false,\n\tsize = \"md\",\n}) => {\n\tconst [hexInput, setHexInput] = useState(value ?? \"\");\n\n\tuseEffect(() => {\n\t\tsetHexInput(value ?? \"\");\n\t}, [value]);\n\n\tconst swatchSize = SWATCH_SIZES[size];\n\n\tconst handleHexSubmit = () => {\n\t\tconst trimmed = hexInput.trim();\n\t\tif (/^#[0-9a-fA-F]{6}$/.test(trimmed)) {\n\t\t\tonChange(trimmed);\n\t\t}\n\t};\n\n\treturn (\n\t\t<Stack gap={3}>\n\t\t\t<Flex wrap=\"wrap\" gap={2}>\n\t\t\t\t{presets.map((color) => (\n\t\t\t\t\t<Box\n\t\t\t\t\t\tkey={color}\n\t\t\t\t\t\tw={swatchSize}\n\t\t\t\t\t\th={swatchSize}\n\t\t\t\t\t\trounded=\"sm\"\n\t\t\t\t\t\tbg={color}\n\t\t\t\t\t\tcursor=\"pointer\"\n\t\t\t\t\t\tborderWidth=\"2px\"\n\t\t\t\t\t\tborderColor={value === color ? \"border.emphasized\" : \"transparent\"}\n\t\t\t\t\t\tonClick={() => onChange(color)}\n\t\t\t\t\t\t_hover={{ transform: \"scale(1.1)\" }}\n\t\t\t\t\t\ttransition=\"transform 0.1s\"\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</Flex>\n\t\t\t{(showHexInput || showPreview) && (\n\t\t\t\t<HStack gap={2}>\n\t\t\t\t\t{showPreview && (\n\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\tw={9}\n\t\t\t\t\t\t\th={9}\n\t\t\t\t\t\t\trounded=\"md\"\n\t\t\t\t\t\t\tbg={value || \"transparent\"}\n\t\t\t\t\t\t\tborderWidth=\"1px\"\n\t\t\t\t\t\t\tborderColor=\"border\"\n\t\t\t\t\t\t\tflexShrink={0}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{showHexInput && (\n\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\tvalue={hexInput}\n\t\t\t\t\t\t\tonChange={(e) => setHexInput(e.target.value)}\n\t\t\t\t\t\t\tonBlur={handleHexSubmit}\n\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\tif (e.key === \"Enter\") handleHexSubmit();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder=\"#000000\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tmaxW=\"120px\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</HStack>\n\t\t\t)}\n\t\t</Stack>\n\t);\n};\nColorSwatchPicker.displayName = \"ColorSwatchPicker\";\n","import dayjs from \"dayjs\";\nimport utcPlugin from \"dayjs/plugin/utc.js\";\n\ndayjs.extend(utcPlugin);\n\nimport type { DateFormat, DateType } from \"../types\";\n\n/**\n * A function that will return a formatted date string. The format will depend on the option\n * passed in the second argument.\n * By default, it will return a string with \"full\" format (e.g. Tue, 17 Aug 2021 at 3:45 PM)\n *\n * @param date - the date to be formatted\n * @param format - the desired format (\"full\", \"day\", \"weekday\", or \"time\")\n * @returns a formatted date\n *\n * @example\n * formatDateAndTime('2021-08-17T15:45:00') // returns \"Tue, 17 Aug 2021 at 3:45 PM\"\n *\n * @example\n * formatDateAndTime('2021-08-17T15:45:00', 'day') // returns \"17 Aug 2021\"\n */\nexport function formatDateAndTime(\n\tdate: DateType,\n\tformat: DateFormat = \"full\",\n): string {\n\tlet template: string;\n\n\tswitch (format) {\n\t\tcase \"day\":\n\t\t\ttemplate = \"DD MMM YYYY\"; // 17 Aug 2021\n\t\t\tbreak;\n\t\tcase \"weekday\":\n\t\t\ttemplate = \"ddd, DD MMM\"; // Tue, 17 Aug\n\t\t\tbreak;\n\t\tcase \"time\":\n\t\t\ttemplate = \"h:mm A\"; // 3:45 PM\n\t\t\tbreak;\n\t\tcase \"fullWithSeconds\":\n\t\t\ttemplate = \"ddd, DD MMM YYYY [at] h:mm:ss A\"; // Tue, 17 Aug 2021 at 3:45:67 PM\n\t\t\tbreak;\n\t\tdefault:\n\t\t\ttemplate = \"ddd, DD MMM YYYY [at] h:mm A\"; // Tue, 17 Aug 2021 at 3:45 PM\n\t}\n\n\treturn dayjs(date).format(template);\n}\n\n/**\n * A function that will return a machine-readable date string that should be passed to the `datetime` attribute of a `<time>` tag\n * By default, it will return a string with \"YYYY-MM-DDTHH:mm:ss.SSS[Z]\" format\n *\n * @param date - the date to be formatted\n * @param format - the desired format (\"full\", \"day\", \"weekday\", or \"time\")\n * @returns a formatted date\n *\n * @example\n * formatMachineReadableDateTime(date) // returns 2019-08-13T10:00:00.000Z\n *\n * @example\n * formatMachineReadableDateTime(date, 'day') // returns 2019-08-13\n */\nexport function formatMachineReadableDateTime(\n\tdate: DateType,\n\tformat: DateFormat = \"full\",\n): string {\n\tlet template: string;\n\n\tswitch (format) {\n\t\tcase \"day\":\n\t\t\ttemplate = \"YYYY-MM-DD\"; // 2019-08-24\n\t\t\tbreak;\n\t\tcase \"weekday\":\n\t\t\ttemplate = \"MM-DD\"; // 08-24\n\t\t\tbreak;\n\t\tcase \"time\":\n\t\t\ttemplate = \"HH:mm:ss.SSS\"; // 15:44:07.000\n\t\t\tbreak;\n\t\tdefault:\n\t\t\ttemplate = \"YYYY-MM-DDTHH:mm:ss.SSS[Z]\"; // 2019-08-24T15:44:07.000Z\n\t}\n\n\treturn dayjs(date).utc().format(template);\n}\n\n/**\n * @example\n * > formatDate(date)\n * 13 Aug 2019\n */\nexport const formatDate = (date: DateType): string => {\n\treturn formatDateAndTime(date, \"day\");\n};\n\n/**\n * @example\n * > formatTime(date)\n * 8:00 AM\n */\nexport const formatTime = (date: DateType): string => {\n\treturn formatDateAndTime(date, \"time\");\n};\n\n/**\n * @example\n * > formatWeekdayDate(date)\n * Mon, 12 Aug\n */\nexport const formatWeekdayDate = (date: DateType): string => {\n\treturn formatDateAndTime(date, \"weekday\");\n};\n","import dayjs from \"dayjs\";\nimport calendarPlugin from \"dayjs/plugin/calendar.js\";\nimport relativeTime from \"dayjs/plugin/relativeTime.js\";\nimport utcPlugin from \"dayjs/plugin/utc.js\";\nimport type React from \"react\";\nimport type { DateType } from \"./types\";\nimport { formatMachineReadableDateTime } from \"./utils/format-date-time-utils\";\nimport {\n\tformatRelativeDateTime,\n\tformatRelativeToCurrentWeekDateTime,\n} from \"./utils/relative-date-time-utils\";\n\ndayjs.extend(utcPlugin);\ndayjs.extend(relativeTime);\ndayjs.extend(calendarPlugin);\n\nexport interface RelativeDateTimeProps {\n\t/**\n\t * The date that will be displayed. It accepts a JS Date, an ISO8601 Timestamp string, or Unix Epoch Milliseconds number\n\t */\n\tdate: DateType;\n\t/**\n\t * If a value is passed to baseDate, then the component will compare both dates and return the time between them.\n\t * If no value is passed then the date will be compared to \"now\"\n\t *\n\t * @default \"Now\"\n\t */\n\tbaseDate?: DateType;\n\t/**\n\t * Sets the date to be relative only if it is in the current week\n\t * @default false\n\t */\n\tisRelativeToCurrentWeek?: boolean;\n}\n\nexport const RelativeDateTime: React.FC<RelativeDateTimeProps> = (props) => {\n\tconst { date, baseDate, isRelativeToCurrentWeek, ...otherProps } = props;\n\n\tconst now = new Date();\n\tconst referenceDate = baseDate ?? now;\n\tconst dayjsDate = dayjs(date);\n\tconst machineReadableDate = formatMachineReadableDateTime(date);\n\n\tlet relativeDate: string;\n\n\tif (isRelativeToCurrentWeek && !dayjsDate.isSame(referenceDate, \"day\")) {\n\t\trelativeDate = formatRelativeToCurrentWeekDateTime(date, referenceDate);\n\t} else {\n\t\trelativeDate = formatRelativeDateTime(date, referenceDate);\n\t}\n\n\treturn (\n\t\t<time dateTime={machineReadableDate} {...otherProps}>\n\t\t\t{relativeDate}\n\t\t</time>\n\t);\n};\nRelativeDateTime.displayName = \"RelativeDateTime\";\n","import { chakra } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport { createContext, useContext } from \"react\";\nimport { HStack, Stack } from \"../../primitives/layout\";\nimport { Prose } from \"../../primitives/prose\";\nimport { Button, type ButtonProps } from \"../button\";\nimport { RelativeDateTime } from \"../datetime/relative-datetime\";\nimport type {\n\tCommentFooterProps,\n\tCommentHeaderProps,\n\tCommentProps,\n} from \"./types\";\n\ntype CommentStyles = Record<string, React.CSSProperties | object>;\n\nconst CommentStylesContext = createContext<CommentStyles>({});\nconst useStyles = () => useContext(CommentStylesContext);\n\nexport const Comment: React.FC<CommentProps> = (props) => {\n\tconst {\n\t\tavatar,\n\t\tcontent,\n\t\tchildren,\n\t\tauthor,\n\t\tcommentedAt,\n\t\tactions,\n\t\tid,\n\t\tisDeleted,\n\t\tdeletedLabel = \"This comment has been deleted\",\n\t\t...rest\n\t} = props;\n\n\tconst styles: CommentStyles = {};\n\n\tconst headerProps = {\n\t\tauthor,\n\t\tcommentedAt,\n\t};\n\n\tconst footerProps = {\n\t\tactions,\n\t};\n\n\treturn (\n\t\t<chakra.div css={styles.container} data-id={id} {...rest}>\n\t\t\t<CommentStylesContext.Provider value={styles}>\n\t\t\t\t{avatar && <AvatarSlot>{avatar}</AvatarSlot>}\n\t\t\t\t{(content || isDeleted) && (\n\t\t\t\t\t<ContentContainer>\n\t\t\t\t\t\t<Stack gap={3}>\n\t\t\t\t\t\t\t<Stack gap={2}>\n\t\t\t\t\t\t\t\t<CommentHeader {...headerProps} />\n\t\t\t\t\t\t\t\t<Prose\n\t\t\t\t\t\t\t\t\tcss={{\n\t\t\t\t\t\t\t\t\t\t\"& p\": {\n\t\t\t\t\t\t\t\t\t\t\tfontSize: \"inherit!important\",\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"& *:first-child\": {\n\t\t\t\t\t\t\t\t\t\t\tmarginTop: 0,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"& *:last-child\": {\n\t\t\t\t\t\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{isDeleted ? (\n\t\t\t\t\t\t\t\t\t\t<chakra.span css={styles.deletedText}>\n\t\t\t\t\t\t\t\t\t\t\t{deletedLabel}\n\t\t\t\t\t\t\t\t\t\t</chakra.span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tcontent\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Prose>\n\t\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t\t<CommentFooter {...footerProps} />\n\t\t\t\t\t\t</Stack>\n\t\t\t\t\t</ContentContainer>\n\t\t\t\t)}\n\t\t\t\t{children && (\n\t\t\t\t\t<Stack gap={4} css={styles.children}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Stack>\n\t\t\t\t)}\n\t\t\t</CommentStylesContext.Provider>\n\t\t</chakra.div>\n\t);\n};\n\nComment.displayName = \"Comment\";\n\nconst AvatarSlot: React.FC<{\n\tchildren: React.ReactNode;\n}> = ({ children }) => {\n\tconst styles = useStyles();\n\n\treturn <chakra.div css={styles.avatar}>{children}</chakra.div>;\n};\n\nconst ContentContainer = ({ children }: { children: React.ReactNode }) => {\n\tconst styles = useStyles();\n\n\treturn <chakra.div css={styles.contentContainer}>{children}</chakra.div>;\n};\n\nconst CommentHeader: React.FC<CommentHeaderProps> = (props) => {\n\tconst { author, commentedAt } = props;\n\n\tconst shouldRender = !!author || !!commentedAt;\n\n\treturn shouldRender ? (\n\t\t<HStack>\n\t\t\t{author && <Author>{author.name}</Author>}\n\t\t\t{commentedAt && <RelativeDateTime date={commentedAt} />}\n\t\t</HStack>\n\t) : null;\n};\n\nconst Author: React.FC<{\n\tchildren: React.ReactNode;\n}> = (props) => {\n\tconst { children } = props;\n\tconst styles = useStyles();\n\n\treturn <chakra.span css={styles.field}>{children}</chakra.span>;\n};\n\nconst CommentFooter: React.FC<CommentFooterProps> = (props) => {\n\tconst { actions } = props;\n\treturn (\n\t\t<HStack alignItems=\"center\" gap={4} flexWrap=\"wrap\">\n\t\t\t{actions?.map((item, key) => Object.assign({}, item, { key }))}\n\t\t</HStack>\n\t);\n};\n\nexport interface CommentActionProps extends ButtonProps {\n\tchildren: React.ReactNode;\n}\n\nexport const CommentAction: React.FC<CommentActionProps> = (props) => {\n\treturn <Button variant=\"outline\" size=\"xs\" {...props} />;\n};\nCommentAction.displayName = \"CommentAction\";\n","import { Button, ButtonGroup } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport { useRef, useState } from \"react\";\nimport { Box, Flex } from \"../../primitives/layout\";\nimport { Textarea } from \"../../primitives/textarea\";\n\nexport interface CommentReplyBoxProps {\n\tonReply: (value: string) => Promise<void>;\n\tonCancel?: () => void;\n\t/** Placeholder text for the reply textarea */\n\tplaceholder?: string;\n\t/** Label for the cancel button */\n\tcancelLabel?: string;\n\t/** Label for the reply/submit button */\n\treplyLabel?: string;\n}\n\nexport const CommentReplyBox = ({\n\tref,\n\t...props\n}: CommentReplyBoxProps & { ref?: React.Ref<HTMLTextAreaElement> }) => {\n\tconst {\n\t\tonReply,\n\t\tonCancel,\n\t\tplaceholder = \"Write a reply...\",\n\t\tcancelLabel = \"Cancel\",\n\t\treplyLabel = \"Reply\",\n\t} = props;\n\n\tconst textBoxRef = useRef<HTMLTextAreaElement>(null);\n\n\tconst mergedRef = (node: HTMLTextAreaElement | null) => {\n\t\t(textBoxRef as React.MutableRefObject<HTMLTextAreaElement | null>).current =\n\t\t\tnode;\n\t\tif (typeof ref === \"function\") {\n\t\t\tref(node);\n\t\t} else if (ref) {\n\t\t\t(ref as React.MutableRefObject<HTMLTextAreaElement | null>).current =\n\t\t\t\tnode;\n\t\t}\n\t};\n\n\tconst [isFocused, setIsFocused] = useState<boolean>(false);\n\tconst [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\tconst [value, setValue] = useState<string>(\"\");\n\n\tconst handleReply = async (e: React.FormEvent) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tif (!value || !value.trim() || value === \"\") {\n\t\t\treturn;\n\t\t}\n\t\ttry {\n\t\t\tsetIsSubmitting(true);\n\t\t\tawait onReply?.(value);\n\t\t\tsetValue(\"\");\n\t\t\tsetIsFocused(false);\n\t\t} catch (e) {\n\t\t\tconsole.error(e);\n\t\t}\n\n\t\tsetIsSubmitting(false);\n\t};\n\n\tconst handleCancel = () => {\n\t\tsetValue(\"\");\n\t\tsetIsFocused(false);\n\t\tonCancel?.();\n\t};\n\n\treturn (\n\t\t<Box w=\"full\" onFocus={() => setIsFocused(true)}>\n\t\t\t<form onSubmit={handleReply}>\n\t\t\t\t<Textarea\n\t\t\t\t\tvalue={String(value)}\n\t\t\t\t\tonChange={(e) => setValue(e.target.value)}\n\t\t\t\t\tminH={isFocused ? undefined : \"2.5rem\"}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\tref={mergedRef}\n\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t// modifier + enter\n\t\t\t\t\t\tif ((e.ctrlKey || e.metaKey) && e.key === \"Enter\") {\n\t\t\t\t\t\t\thandleReply(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tdisabled={isSubmitting}\n\t\t\t\t/>\n\n\t\t\t\t<Flex\n\t\t\t\t\tmt={2}\n\t\t\t\t\tdisplay={isFocused ? \"flex\" : \"none\"}\n\t\t\t\t\tjustifyContent=\"flex-end\"\n\t\t\t\t>\n\t\t\t\t\t<ButtonGroup marginInlineStart=\"auto\" size=\"sm\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\tloading={isSubmitting}\n\t\t\t\t\t\t\tonClick={handleCancel}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{cancelLabel}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tvariant=\"solid\"\n\t\t\t\t\t\t\tcolorPalette=\"primary\"\n\t\t\t\t\t\t\tloading={isSubmitting}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{replyLabel}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</ButtonGroup>\n\t\t\t\t</Flex>\n\t\t\t</form>\n\t\t</Box>\n\t);\n};\nCommentReplyBox.displayName = \"CommentReplyBox\";\n","import { DataList as ChakraDataList } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface DataListItemType {\n\tlabel: React.ReactNode;\n\tvalue: React.ReactNode;\n}\n\nexport interface DataListProps extends ChakraDataList.RootProps {\n\t/** Items to render as label-value pairs. If provided, renders automatically. */\n\titems?: DataListItemType[];\n}\n\nexport const DataList = function DataList({\n\tref,\n\t...props\n}: DataListProps & { ref?: React.Ref<HTMLDListElement> }) {\n\tconst { items, children, ...rest } = props;\n\treturn (\n\t\t<ChakraDataList.Root ref={ref} {...rest}>\n\t\t\t{items\n\t\t\t\t? items.map((item) => (\n\t\t\t\t\t\t<ChakraDataList.Item key={String(item.label)}>\n\t\t\t\t\t\t\t<ChakraDataList.ItemLabel>{item.label}</ChakraDataList.ItemLabel>\n\t\t\t\t\t\t\t<ChakraDataList.ItemValue>{item.value}</ChakraDataList.ItemValue>\n\t\t\t\t\t\t</ChakraDataList.Item>\n\t\t\t\t\t))\n\t\t\t\t: children}\n\t\t</ChakraDataList.Root>\n\t);\n};\nDataList.displayName = \"DataList\";\n\n// Pass-through exports for manual composition\nexport const DataListItem = ChakraDataList.Item;\nDataListItem.displayName = \"DataListItem\";\n\nexport const DataListItemLabel = ChakraDataList.ItemLabel;\nDataListItemLabel.displayName = \"DataListItemLabel\";\n\nexport const DataListItemValue = ChakraDataList.ItemValue;\nDataListItemValue.displayName = \"DataListItemValue\";\n\nexport type DataListRootProps = ChakraDataList.RootProps;\n","import { Input, type InputProps } from \"@chakra-ui/react\";\nimport type React from \"react\";\n\nexport interface DateInputProps\n\textends Omit<InputProps, \"type\" | \"value\" | \"onChange\"> {\n\t/** The date value as an ISO date string (YYYY-MM-DD) or ISO datetime string */\n\tvalue?: string;\n\t/** Called when the date value changes */\n\tonChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n\t/** Minimum date in YYYY-MM-DD format */\n\tminDate?: string;\n\t/** Maximum date in YYYY-MM-DD format */\n\tmaxDate?: string;\n}\n\nconst datePattern = /^\\d{4}-\\d{2}-\\d{2}$/;\n\n/**\n * Extracts a YYYY-MM-DD date string from various input formats.\n */\nfunction toDateString(value: string): string {\n\tif (!value) return \"\";\n\tif (datePattern.test(value)) return value;\n\t// Try to parse ISO datetime strings\n\ttry {\n\t\tconst date = new Date(value);\n\t\tif (Number.isNaN(date.getTime())) return \"\";\n\t\treturn date.toISOString().slice(0, 10);\n\t} catch {\n\t\treturn \"\";\n\t}\n}\n\nconst DateInput = ({\n\tref,\n\t...props\n}: DateInputProps & { ref?: React.Ref<HTMLInputElement> }) => {\n\tconst { value, minDate, maxDate, onChange, ...rest } = props;\n\n\tconst dateValue = value ? toDateString(value) : \"\";\n\n\treturn (\n\t\t<Input\n\t\t\ttype=\"date\"\n\t\t\tvalue={dateValue}\n\t\t\tmin={minDate}\n\t\t\tmax={maxDate}\n\t\t\tonChange={onChange}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t);\n};\nDateInput.displayName = \"DateInput\";\n\nexport default DateInput;\n","import type { BoxProps } from \"../../primitives/layout\";\nimport { Box } from \"../../primitives/layout\";\n\nexport interface DirtyDotProps {\n\t/** Render nothing when false. @default true */\n\tactive?: boolean;\n\t/** aria-label for screen readers. @default \"ungespeicherte Änderungen\" */\n\tlabel?: string;\n\t/** Box prop overrides (ml, color, size if anyone needs them). */\n\tboxProps?: BoxProps;\n}\n\nexport function DirtyDot({\n\tactive = true,\n\tlabel = \"ungespeicherte Änderungen\",\n\tboxProps,\n}: DirtyDotProps) {\n\tif (!active) return null;\n\treturn (\n\t\t<Box\n\t\t\tas=\"span\"\n\t\t\tdisplay=\"inline-block\"\n\t\t\twidth=\"6px\"\n\t\t\theight=\"6px\"\n\t\t\tbg=\"yellow.500\"\n\t\t\tborderRadius=\"full\"\n\t\t\tml=\"2\"\n\t\t\taria-label={label}\n\t\t\t{...boxProps}\n\t\t/>\n\t);\n}\nDirtyDot.displayName = \"DirtyDot\";\n","import type React from \"react\";\nimport { Stack } from \"../../primitives/layout\";\nimport { Heading, Text } from \"../../primitives/typography\";\n\nexport interface EmptyStateProps {\n\t/** Main heading text. */\n\theader: string;\n\t/** Description text or rich content. */\n\tdescription?: React.ReactNode;\n\t/** Optional icon displayed above the heading. */\n\ticon?: React.ReactNode;\n\t/** Optional action buttons below the description. */\n\tactions?: React.ReactNode;\n}\n\nexport const EmptyState: React.FC<EmptyStateProps> = (props) => {\n\tconst { header, description, icon, actions } = props;\n\n\treturn (\n\t\t<Stack\n\t\t\tjustifyContent=\"center\"\n\t\t\talignItems=\"center\"\n\t\t\ttextAlign=\"center\"\n\t\t\tgap={4}\n\t\t\tp={16}\n\t\t\tborderRadius=\"lg\"\n\t\t>\n\t\t\t{icon}\n\t\t\t<Heading size=\"lg\">{header}</Heading>\n\t\t\t{description && (\n\t\t\t\t<Text color=\"muted\" fontSize=\"sm\">\n\t\t\t\t\t{description}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t\t{actions && (\n\t\t\t\t<Stack pt={4} gap={2}>\n\t\t\t\t\t{actions}\n\t\t\t\t</Stack>\n\t\t\t)}\n\t\t</Stack>\n\t);\n};\n\nEmptyState.displayName = \"EmptyState\";\n","import { chakra, type HTMLChakraProps } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport { createContext, useContext } from \"react\";\nimport { Avatar, type AvatarProps } from \"../../primitives/avatar\";\n\nexport interface PersonaProps {\n\t/**\n\t * The name of the person in the avatar.\n\t *\n\t * - if `src` has loaded, the name will be used as the `alt` attribute of the `img`\n\t * - If `src` is not loaded, the name will be used to create the initials\n\t */\n\tname?: string;\n\n\t/**\n\t * Primary label of the persona, defaults to the name\n\t */\n\tlabel?: React.ReactNode;\n\t/**\n\t * Hide the persona details next to the avatar.\n\t */\n\thideDetails?: boolean;\n\t/**\n\t * The size of the persona, from 2xs to 2xl.\n\t */\n\tsize?: \"2xs\" | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\";\n\t/**\n\t * When true, adds hover styling and pointer cursor for clickable personas.\n\t */\n\tinteractive?: boolean;\n}\n\ninterface PersonaStyles {\n\tcontainer?: React.CSSProperties;\n\tdetails?: React.CSSProperties;\n\tlabel?: React.CSSProperties;\n}\n\nconst PersonaStylesContext = createContext<PersonaStyles>({});\nconst usePersonaStyles = () => useContext(PersonaStylesContext);\n\nexport const Persona: React.FC<PersonaProps> = (props) => {\n\tconst { name, size = \"sm\", hideDetails, label, interactive } = props;\n\n\treturn (\n\t\t<PersonaContainer interactive={interactive}>\n\t\t\t<PersonaAvatar name={name} size={size} />\n\t\t\t{!hideDetails && (\n\t\t\t\t<PersonaDetails>\n\t\t\t\t\t<PersonaLabel>{label || name}</PersonaLabel>\n\t\t\t\t</PersonaDetails>\n\t\t\t)}\n\t\t</PersonaContainer>\n\t);\n};\n\nPersona.displayName = \"Persona\";\n\nexport interface PersonaContainerProps extends HTMLChakraProps<\"div\"> {\n\tchildren: React.ReactNode;\n\t/**\n\t * Optional style overrides passed down to child components via context.\n\t */\n\tstyles?: PersonaStyles;\n\t/**\n\t * When true, adds hover styling and pointer cursor for clickable personas.\n\t */\n\tinteractive?: boolean;\n}\n\nexport const PersonaContainer = ({\n\tref,\n\t...props\n}: PersonaContainerProps & { ref?: React.Ref<HTMLDivElement> }) => {\n\tconst { children, styles = {}, interactive, ...rest } = props;\n\n\treturn (\n\t\t<PersonaStylesContext.Provider value={styles}>\n\t\t\t<chakra.div\n\t\t\t\tref={ref}\n\t\t\t\tdisplay=\"flex\"\n\t\t\t\tflexDirection=\"row\"\n\t\t\t\talignItems=\"center\"\n\t\t\t\t{...(interactive && {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tborderRadius: \"md\",\n\t\t\t\t\ttransition: \"background-color 150ms\",\n\t\t\t\t\t_hover: { bg: \"bg-subtle\" },\n\t\t\t\t\tpx: 2,\n\t\t\t\t\tpy: 1,\n\t\t\t\t})}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</chakra.div>\n\t\t</PersonaStylesContext.Provider>\n\t);\n};\n\ninterface PersonaAvatarOptions extends Pick<PersonaProps, \"name\" | \"size\"> {}\n\ninterface PersonaAvatarProps\n\textends PersonaAvatarOptions,\n\t\tOmit<AvatarProps, \"size\"> {}\n\nexport const PersonaAvatar = ({\n\tref,\n\t...props\n}: PersonaAvatarProps & { ref?: React.Ref<HTMLDivElement> }) => {\n\tconst { name, size, ...rest } = props;\n\n\treturn <Avatar ref={ref} name={name} size={size} {...rest} />;\n};\nPersonaAvatar.displayName = \"PersonaAvatar\";\n\nexport const PersonaDetails = ({\n\tref,\n\t...props\n}: HTMLChakraProps<\"div\"> & { ref?: React.Ref<HTMLDivElement> }) => {\n\tconst { children, ...rest } = props;\n\tconst styles = usePersonaStyles();\n\n\treturn (\n\t\t<chakra.div\n\t\t\tref={ref}\n\t\t\tdisplay=\"flex\"\n\t\t\tflexDirection=\"column\"\n\t\t\tstyle={styles.details}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</chakra.div>\n\t);\n};\nPersonaDetails.displayName = \"PersonaDetails\";\n\nexport const PersonaLabel = ({\n\tref,\n\t...props\n}: HTMLChakraProps<\"span\"> & { ref?: React.Ref<HTMLSpanElement> }) => {\n\tconst styles = usePersonaStyles();\n\n\treturn <chakra.span ref={ref} style={styles.label} {...props} />;\n};\nPersonaLabel.displayName = \"PersonaLabel\";\n","import { Circle } from \"@chakra-ui/react\";\nimport {\n\ttype ActionMeta,\n\tchakraComponents,\n\ttype GroupBase,\n\ttype MultiValue,\n\ttype MultiValueProps,\n\ttype OptionProps,\n\ttype Props,\n\tSelect,\n\ttype SelectInstance,\n\ttype SingleValue,\n\ttype SingleValueProps,\n} from \"chakra-react-select\";\nimport type React from \"react\";\nimport { Avatar } from \"../../primitives/avatar\";\nimport { HStack } from \"../../primitives/layout\";\nimport { Text } from \"../../primitives/typography\";\nimport type { BaseOption } from \"./types\";\n\nexport interface BaseSelectProps<T extends BaseOption>\n\textends Omit<\n\t\tProps<T, boolean, GroupBase<T>>,\n\t\t\"value\" | \"onChange\" | \"isLoading\" | \"isDisabled\"\n\t> {\n\tvalue: T | T[] | null;\n\tonChange?: (\n\t\tnewValue: MultiValue<T> | SingleValue<T>,\n\t\tactionMeta: ActionMeta<T>,\n\t) => void;\n\tloading?: boolean;\n\tdisabled?: boolean;\n}\n\nconst BaseSingleValue = <T extends BaseOption>({\n\tdata,\n\t...props\n}: SingleValueProps<T, boolean, GroupBase<T>>) => {\n\treturn (\n\t\t<chakraComponents.SingleValue data={data} {...props}>\n\t\t\t<HStack gap={2}>\n\t\t\t\t{data.avatar && <Avatar name={data.avatar} size=\"xs\" />}\n\t\t\t\t{data.color && <Circle bg={data.color} size={5} />}\n\t\t\t\t{data.icon && data.icon}\n\t\t\t\t<Text>{data.label}</Text>\n\t\t\t</HStack>\n\t\t</chakraComponents.SingleValue>\n\t);\n};\n\nconst BaseMultiValue = <T extends BaseOption>({\n\tchildren,\n\t...props\n}: MultiValueProps<T, boolean, GroupBase<T>>) => {\n\tconst { data } = props;\n\n\treturn (\n\t\t// @ts-expect-error -- strict mode: duplicate property\n\t\t<chakraComponents.MultiValue data={data} {...props}>\n\t\t\t<HStack gap={2}>\n\t\t\t\t{data.avatar && <Avatar name={data.avatar} size=\"xs\" />}\n\t\t\t\t{data.color && <Circle bg={data.color} size={5} />}\n\t\t\t\t{data.icon && data.icon}\n\t\t\t\t<Text>{data.label}</Text>\n\t\t\t</HStack>\n\t\t</chakraComponents.MultiValue>\n\t);\n};\n\nconst BaseSelectOption = <T extends BaseOption>({\n\tdata,\n\t...props\n}: OptionProps<T, boolean, GroupBase<T>>) => {\n\treturn (\n\t\t<chakraComponents.Option data={data} {...props}>\n\t\t\t<HStack gap={2}>\n\t\t\t\t{data.avatar && <Avatar name={data.avatar} size=\"xs\" />}\n\t\t\t\t{data.color && <Circle bg={data.color} size={5} />}\n\t\t\t\t{data.icon && data.icon}\n\t\t\t\t<Text>{data.label}</Text>\n\t\t\t</HStack>\n\t\t</chakraComponents.Option>\n\t);\n};\n\nconst getSelectComponents = (\n\tvariant?: string,\n\tcustomComponents?: Record<string, React.ComponentType<unknown>>,\n) => ({\n\t...(variant === \"link\"\n\t\t? {\n\t\t\t\tDropdownIndicator: null,\n\t\t\t\tIndicatorSeparator: null,\n\t\t\t}\n\t\t: {}),\n\tSingleValue: BaseSingleValue,\n\tMultiValue: BaseMultiValue,\n\tOption: BaseSelectOption,\n\t...customComponents,\n});\n\nexport const BaseSelect = <T extends BaseOption>({\n\tref,\n\tvalue,\n\tonChange,\n\toptions,\n\tisMulti = false,\n\tloading = false,\n\tdisabled = false,\n\tisClearable = true,\n\tplaceholder,\n\tmenuPortalTarget = document.body,\n\tvariant = \"outline\",\n\tstyles,\n\t...restSelectProps\n}: BaseSelectProps<T> & {\n\tref?: React.Ref<SelectInstance<T, boolean, GroupBase<T>>>;\n}) => {\n\treturn (\n\t\t<Select<T, boolean, GroupBase<T>>\n\t\t\t{...restSelectProps}\n\t\t\tref={ref}\n\t\t\tvalue={value}\n\t\t\tvariant={variant}\n\t\t\tonChange={onChange}\n\t\t\toptions={options}\n\t\t\tisMulti={isMulti}\n\t\t\tisLoading={loading}\n\t\t\tisDisabled={disabled}\n\t\t\tisClearable={isClearable}\n\t\t\tplaceholder={placeholder}\n\t\t\tmenuPortalTarget={menuPortalTarget}\n\t\t\tstyles={{\n\t\t\t\tmenuPortal: (provided) => ({\n\t\t\t\t\t...provided,\n\t\t\t\t\tzIndex: 1800,\n\t\t\t\t\tpointerEvents: \"auto\" as const,\n\t\t\t\t}),\n\t\t\t\t...styles,\n\t\t\t}}\n\t\t\tgetOptionValue={(option) => option.id}\n\t\t\tgetOptionLabel={(option) => option.label}\n\t\t\tcomponents={getSelectComponents(\n\t\t\t\tvariant as string,\n\t\t\t\t// @ts-expect-error -- strict mode: argument type\n\t\t\t\trestSelectProps.components,\n\t\t\t)}\n\t\t/>\n\t);\n};\n(BaseSelect as { displayName?: string }).displayName = \"BaseSelect\";\n","import {\n\tchakraComponents,\n\ttype GroupBase,\n\ttype MenuListProps,\n\ttype OptionProps,\n} from \"chakra-react-select\";\nimport type React from \"react\";\nimport { useMemo } from \"react\";\nimport { Box } from \"../../primitives/layout\";\nimport { Table } from \"../../primitives/table\";\nimport type { BaseOption } from \"./types\";\n\nexport interface TableMenuColumn {\n\tkey: string;\n\theader: string;\n\twidth?: string;\n}\n\nexport interface TableMenuListProps<T extends BaseOption>\n\textends MenuListProps<T, boolean, GroupBase<T>> {\n\tcolumns?: TableMenuColumn[];\n\t/** Minimum width of the table menu. Defaults to \"400px\" */\n\tminWidth?: string;\n\t/** Maximum width of the table menu. Defaults to \"600px\" */\n\tmaxWidth?: string;\n}\n\n/**\n * A custom MenuList component that renders options as table rows.\n *\n * Use with BaseSelect by passing it via the `components` prop:\n * ```tsx\n * <BaseSelect\n * components={{\n * MenuList: (props) => (\n * <TableMenuList\n * {...props}\n * columns={[\n * { key: \"label\", header: \"Name\" },\n * { key: \"valid_from\", header: \"Valid From\" },\n * ]}\n * />\n * ),\n * Option: TableOption,\n * }}\n * />\n * ```\n */\nexport const TableMenuList = <T extends BaseOption>({\n\tchildren,\n\tcolumns,\n\tminWidth = \"400px\",\n\tmaxWidth = \"600px\",\n\t...props\n}: TableMenuListProps<T>) => {\n\tconst { options } = props;\n\n\t// If no columns specified, derive from first option's data keys\n\tconst derivedColumns = useMemo<TableMenuColumn[]>(() => {\n\t\tif (columns) return columns;\n\n\t\tconst firstOption = options?.[0] as T | undefined;\n\t\tif (!firstOption?.data) {\n\t\t\treturn [{ key: \"label\", header: \"Name\" }];\n\t\t}\n\n\t\treturn [\n\t\t\t{ key: \"label\", header: \"Name\" },\n\t\t\t...Object.keys(firstOption.data).map((key) => ({\n\t\t\t\tkey,\n\t\t\t\theader: key.charAt(0).toUpperCase() + key.slice(1).replace(/_/g, \" \"),\n\t\t\t})),\n\t\t];\n\t}, [columns, options]);\n\n\treturn (\n\t\t<chakraComponents.MenuList {...props}>\n\t\t\t<Box\n\t\t\t\toverflowX=\"auto\"\n\t\t\t\tminWidth={minWidth}\n\t\t\t\tmaxWidth={maxWidth}\n\t\t\t\twidth=\"max-content\"\n\t\t\t>\n\t\t\t\t<Table.Root size=\"sm\">\n\t\t\t\t\t<Table.Header>\n\t\t\t\t\t\t<Table.Row>\n\t\t\t\t\t\t\t{derivedColumns.map((col) => (\n\t\t\t\t\t\t\t\t<Table.ColumnHeader\n\t\t\t\t\t\t\t\t\tkey={col.key}\n\t\t\t\t\t\t\t\t\twidth={col.width}\n\t\t\t\t\t\t\t\t\twhiteSpace=\"nowrap\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{col.header}\n\t\t\t\t\t\t\t\t</Table.ColumnHeader>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t</Table.Header>\n\t\t\t\t\t<Table.Body>{children}</Table.Body>\n\t\t\t\t</Table.Root>\n\t\t\t</Box>\n\t\t</chakraComponents.MenuList>\n\t);\n};\n(TableMenuList as { displayName?: string }).displayName = \"TableMenuList\";\n\n/**\n * A custom Option component that renders as a table row.\n * Use together with TableMenuList.\n */\nexport const TableOption = <T extends BaseOption>({\n\tdata,\n\tinnerProps,\n\tisSelected,\n\tisFocused,\n\tcolumns,\n}: OptionProps<T, boolean, GroupBase<T>> & { columns?: TableMenuColumn[] }) => {\n\t// Derive columns from data if not provided\n\tconst derivedColumns = useMemo<TableMenuColumn[]>(() => {\n\t\tif (columns) return columns;\n\n\t\tif (!data.data) {\n\t\t\treturn [{ key: \"label\", header: \"Name\" }];\n\t\t}\n\n\t\treturn [\n\t\t\t{ key: \"label\", header: \"Name\" },\n\t\t\t...Object.keys(data.data).map((key) => ({\n\t\t\t\tkey,\n\t\t\t\theader: key,\n\t\t\t})),\n\t\t];\n\t}, [columns, data.data]);\n\n\tconst getCellValue = (col: TableMenuColumn): React.ReactNode => {\n\t\tif (col.key === \"label\") {\n\t\t\treturn data.label;\n\t\t}\n\t\tif (col.key === \"id\") {\n\t\t\treturn data.id;\n\t\t}\n\t\tif (data.data && col.key in data.data) {\n\t\t\tconst value = data.data[col.key];\n\t\t\tif (value === null || value === undefined) return \"-\";\n\t\t\treturn String(value);\n\t\t}\n\t\treturn \"-\";\n\t};\n\n\t// Extract only the event handlers and data attributes from innerProps\n\t// The ref is incompatible with table rows, so we exclude it\n\tconst { ref: _ref, ...rowProps } = innerProps;\n\n\treturn (\n\t\t<Table.Row\n\t\t\t{...rowProps}\n\t\t\t_hover={{ bg: isFocused ? \"bg-muted\" : \"bg-subtle\" }}\n\t\t\tcursor=\"pointer\"\n\t\t\t_even={{\n\t\t\t\tbg: isSelected ? \"primary.subtle\" : isFocused ? \"bg-muted\" : undefined,\n\t\t\t}}\n\t\t>\n\t\t\t{derivedColumns.map((col) => (\n\t\t\t\t<Table.Cell key={col.key} width={col.width} whiteSpace=\"nowrap\">\n\t\t\t\t\t{getCellValue(col)}\n\t\t\t\t</Table.Cell>\n\t\t\t))}\n\t\t</Table.Row>\n\t);\n};\n(TableOption as { displayName?: string }).displayName = \"TableOption\";\n\nexport interface CreateTableMenuComponentsOptions {\n\tcolumns: TableMenuColumn[];\n\t/** Minimum width of the table menu. Defaults to \"400px\" */\n\tminWidth?: string;\n\t/** Maximum width of the table menu. Defaults to \"600px\" */\n\tmaxWidth?: string;\n}\n\n/**\n * Helper to create table menu components with predefined columns.\n *\n * Usage:\n * ```tsx\n * const { MenuList, Option } = createTableMenuComponents({\n * columns: [\n * { key: \"label\", header: \"Release\" },\n * { key: \"valid_from\", header: \"Valid From\" },\n * { key: \"valid_until\", header: \"Valid Until\" },\n * ],\n * minWidth: \"500px\",\n * maxWidth: \"800px\",\n * });\n *\n * <BaseSelect components={{ MenuList, Option }} />\n * ```\n */\nexport const createTableMenuComponents = <T extends BaseOption>(\n\toptions: CreateTableMenuComponentsOptions,\n) => ({\n\tMenuList: (props: MenuListProps<T, boolean, GroupBase<T>>) => (\n\t\t<TableMenuList\n\t\t\t{...props}\n\t\t\tcolumns={options.columns}\n\t\t\tminWidth={options.minWidth}\n\t\t\tmaxWidth={options.maxWidth}\n\t\t/>\n\t),\n\tOption: (props: OptionProps<T, boolean, GroupBase<T>>) => (\n\t\t<TableOption {...props} columns={options.columns} />\n\t),\n});\n","import { ChevronDown, Plus } from \"lucide-react\";\nimport type React from \"react\";\nimport { HStack } from \"../../primitives/layout\";\nimport {\n\tMenuContent,\n\tMenuItem,\n\tMenuRoot,\n\tMenuTrigger,\n} from \"../../primitives/menu\";\nimport { Button, type ButtonProps } from \"../button\";\n\nexport interface SplitButtonMenuItem {\n\tlabel: string;\n\tonClick: () => void;\n\ticon?: React.ReactNode;\n\tcolor?: string;\n}\n\nexport interface SplitButtonProps extends ButtonProps {\n\tlabel: string;\n\tmenuItems?: SplitButtonMenuItem[];\n}\n\nexport const SplitButton: React.FC<SplitButtonProps> = (props) => {\n\tconst { label, menuItems, onClick, ...rest } = props;\n\tconst hasMenuItems = menuItems && menuItems.length > 0;\n\n\treturn (\n\t\t<HStack gap={0.5}>\n\t\t\t{onClick && (\n\t\t\t\t<Button\n\t\t\t\t\t{...rest}\n\t\t\t\t\tcolorPalette=\"blue\"\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\tborderEndRadius={hasMenuItems ? \"none\" : undefined}\n\t\t\t\t>\n\t\t\t\t\t<Plus size={16} />\n\t\t\t\t\t{label}\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t\t{hasMenuItems && (\n\t\t\t\t<MenuRoot>\n\t\t\t\t\t<MenuTrigger asChild>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\tcolorPalette=\"blue\"\n\t\t\t\t\t\t\tborderStartRadius={onClick ? \"none\" : undefined}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDown size={16} />\n\t\t\t\t\t\t\t{onClick ? null : label}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</MenuTrigger>\n\t\t\t\t\t<MenuContent>\n\t\t\t\t\t\t{menuItems.map((menuItem) => (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tkey={menuItem.label}\n\t\t\t\t\t\t\t\tvalue={menuItem.label}\n\t\t\t\t\t\t\t\tonClick={menuItem.onClick}\n\t\t\t\t\t\t\t\tcolor={menuItem.color}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{menuItem.icon}\n\t\t\t\t\t\t\t\t{menuItem.label}\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</MenuContent>\n\t\t\t\t</MenuRoot>\n\t\t\t)}\n\t\t</HStack>\n\t);\n};\nSplitButton.displayName = \"SplitButton\";\n","import { Square } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport { Box, type BoxProps, HStack, Stack } from \"../../primitives/layout\";\nimport { Spinner } from \"../../primitives/spinner\";\nimport { Heading, Text } from \"../../primitives/typography\";\n\nexport interface StatProps extends BoxProps {\n\t/** An icon element rendered as React node (e.g., a lucide-react icon) */\n\ticon?: React.ReactNode;\n\tlabel: string;\n\tvalue?: React.ReactNode;\n\tloading?: boolean;\n}\n\nexport const Stat: React.FC<StatProps> = (props) => {\n\tconst { label, value, icon, loading, ...boxProps } = props;\n\n\treturn (\n\t\t<Box\n\t\t\tpx={{ base: \"4\", md: \"6\" }}\n\t\t\tpy={{ base: \"5\", md: \"6\" }}\n\t\t\tbg=\"bg-surface\"\n\t\t\tborderRadius=\"lg\"\n\t\t\tboxShadow=\"sm\"\n\t\t\t{...boxProps}\n\t\t>\n\t\t\t<Stack gap={{ base: \"5\", md: \"6\" }}>\n\t\t\t\t<Stack direction=\"row\" justify=\"space-between\">\n\t\t\t\t\t<HStack gap=\"4\">\n\t\t\t\t\t\t{icon && (\n\t\t\t\t\t\t\t<Square size=\"8\" bg=\"bg-accent-subtle\" borderRadius=\"md\">\n\t\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t\t</Square>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<Text fontWeight=\"medium\">{label}</Text>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Stack>\n\t\t\t\t<Stack gap=\"4\">\n\t\t\t\t\t{loading ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Heading size={{ base: \"sm\", md: \"md\" }}>{value ?? 0}</Heading>\n\t\t\t\t\t)}\n\t\t\t\t</Stack>\n\t\t\t</Stack>\n\t\t</Box>\n\t);\n};\n\nStat.displayName = \"Stat\";\n","import { memo, useCallback, useEffect, useRef, useState } from \"react\";\nimport { Tooltip } from \"../../primitives/tooltip\";\nimport { Text, type TextProps } from \"../../primitives/typography\";\n\nexport interface TextOverflowProps extends TextProps {}\n\nexport const TextOverflow: React.FC<TextOverflowProps> = memo((props) => {\n\tconst { children, ...rest } = props;\n\tconst textElementRef = useRef<HTMLDivElement>(null);\n\tconst [isOverflown, setIsOverflown] = useState(false);\n\n\tconst compareSize = useCallback(() => {\n\t\tconst element = textElementRef.current;\n\n\t\tconst compare = element\n\t\t\t? element.scrollWidth > element.clientWidth ||\n\t\t\t\telement.offsetWidth < element.scrollWidth ||\n\t\t\t\telement.offsetHeight < element.scrollHeight\n\t\t\t: false;\n\n\t\tsetIsOverflown(compare);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tcompareSize();\n\t\tconst element = textElementRef.current;\n\t\tif (!element) return;\n\t\tconst observer = new ResizeObserver(compareSize);\n\t\tobserver.observe(element);\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [compareSize]);\n\n\treturn (\n\t\t<Tooltip content={children} disabled={!isOverflown}>\n\t\t\t<Text\n\t\t\t\tas=\"div\"\n\t\t\t\tposition=\"relative\"\n\t\t\t\twhiteSpace={isOverflown ? \"nowrap\" : \"normal\"}\n\t\t\t\t{...rest}\n\t\t\t\tref={textElementRef}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Text>\n\t\t</Tooltip>\n\t);\n});\n\nTextOverflow.displayName = \"TextOverflow\";\n","import type React from \"react\";\nimport { Badge, type BadgeProps } from \"../../primitives/badge\";\n\nexport interface TypeBadgeProps extends Omit<BadgeProps, \"children\"> {\n\t/** Display name for the badge. */\n\tname: string;\n\t/** Chakra color palette for visual differentiation. @default \"gray\" */\n\tcolorPalette?: string;\n}\n\nexport const TypeBadge: React.FC<TypeBadgeProps> = ({\n\tname,\n\tcolorPalette = \"gray\",\n\t...rest\n}) => {\n\treturn (\n\t\t<Badge\n\t\t\trounded=\"base\"\n\t\t\tpx={2}\n\t\t\tmarginInlineStart={1}\n\t\t\tcolorPalette={colorPalette}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{name}\n\t\t</Badge>\n\t);\n};\nTypeBadge.displayName = \"TypeBadge\";\n"]}
|
|
@@ -23,7 +23,7 @@ var MenuContent = function MenuContent2({
|
|
|
23
23
|
...props
|
|
24
24
|
}) {
|
|
25
25
|
const { portalled = true, portalRef, ...rest } = props;
|
|
26
|
-
return /* @__PURE__ */ jsx(Portal, { disabled: !portalled, container: portalRef, children: /* @__PURE__ */ jsx(Menu.Positioner, { zIndex: 1500, children: /* @__PURE__ */ jsx(Menu.Content, { ref, ...rest }) }) });
|
|
26
|
+
return /* @__PURE__ */ jsx(Portal, { disabled: !portalled, container: portalRef, children: /* @__PURE__ */ jsx(Menu.Positioner, { style: { zIndex: 1500 }, children: /* @__PURE__ */ jsx(Menu.Content, { ref, ...rest }) }) });
|
|
27
27
|
};
|
|
28
28
|
MenuContent.displayName = "MenuContent";
|
|
29
29
|
var MenuArrow = function MenuArrow2({
|
|
@@ -119,5 +119,5 @@ var Tooltip = function Tooltip2({
|
|
|
119
119
|
Tooltip.displayName = "Tooltip";
|
|
120
120
|
|
|
121
121
|
export { Avatar, AvatarGroup, MenuArrow, MenuCheckboxItem, MenuContent, MenuContextTrigger, MenuItem, MenuItemCommand, MenuItemGroup, MenuItemText, MenuRadioItem, MenuRadioItemGroup, MenuRoot, MenuSeparator, MenuTrigger, MenuTriggerItem, Tooltip };
|
|
122
|
-
//# sourceMappingURL=chunk-
|
|
123
|
-
//# sourceMappingURL=chunk-
|
|
122
|
+
//# sourceMappingURL=chunk-I7Z6NCRB.js.map
|
|
123
|
+
//# sourceMappingURL=chunk-I7Z6NCRB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/primitives/avatar.tsx","../src/primitives/menu.tsx","../src/primitives/tooltip.tsx"],"names":["Avatar","ChakraAvatar","ChakraAvatarGroup","MenuContent","jsx","ChakraMenu","MenuArrow","MenuCheckboxItem","jsxs","MenuRadioItem","MenuItemGroup","MenuTriggerItem","Tooltip","ChakraTooltip","Portal"],"mappings":"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","file":"chunk-I7Z6NCRB.js","sourcesContent":["import {\n\tAvatar as ChakraAvatar,\n\tAvatarGroup as ChakraAvatarGroup,\n} from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\ntype ImageProps = React.ImgHTMLAttributes<HTMLImageElement>;\n\nexport interface AvatarProps extends ChakraAvatar.RootProps {\n\t/** Display name used to generate initials for the fallback. */\n\tname?: string;\n\t/** Image source URL. */\n\tsrc?: string;\n\t/** Image srcSet attribute for responsive images. */\n\tsrcSet?: string;\n\t/** Image loading strategy. */\n\tloading?: ImageProps[\"loading\"];\n\t/** Custom icon element shown as fallback. */\n\ticon?: React.ReactElement;\n\t/** Custom fallback content when no image or icon is provided. */\n\tfallback?: React.ReactNode;\n}\n\nexport const Avatar = function Avatar({\n\tref,\n\t...props\n}: AvatarProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { name, src, srcSet, loading, icon, fallback, children, ...rest } =\n\t\tprops;\n\treturn (\n\t\t<ChakraAvatar.Root ref={ref} {...rest}>\n\t\t\t<ChakraAvatar.Fallback name={name}>\n\t\t\t\t{icon || fallback}\n\t\t\t</ChakraAvatar.Fallback>\n\t\t\t<ChakraAvatar.Image src={src} srcSet={srcSet} loading={loading} />\n\t\t\t{children}\n\t\t</ChakraAvatar.Root>\n\t);\n};\nAvatar.displayName = \"Avatar\";\n\nexport const AvatarGroup = ChakraAvatarGroup;\nAvatarGroup.displayName = \"AvatarGroup\";\n","\"use client\";\n\nimport { AbsoluteCenter, Menu as ChakraMenu, Portal } from \"@chakra-ui/react\";\nimport { Check, ChevronRight } from \"lucide-react\";\nimport type * as React from \"react\";\n\ninterface MenuContentProps extends ChakraMenu.ContentProps {\n\t/** Whether to render the menu content inside a portal. @default true */\n\tportalled?: boolean;\n\t/** Container ref for the portal. */\n\tportalRef?: React.RefObject<HTMLElement | null>;\n}\n\nexport const MenuContent = function MenuContent({\n\tref,\n\t...props\n}: MenuContentProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { portalled = true, portalRef, ...rest } = props;\n\treturn (\n\t\t<Portal disabled={!portalled} container={portalRef}>\n\t\t\t{/* Explicit zIndex on the positioner ensures menus render above\n\t\t\t layout chrome with `docked` z-index (10) — sidebar, sticky page\n\t\t\t header, etc. Chakra's default left this implicit, which broke\n\t\t\t AccountPopup rendering when the AppShell sidebar was bumped\n\t\t\t above `docked` to keep its protruding collapse toggle above the\n\t\t\t sticky page header. */}\n\t\t\t<ChakraMenu.Positioner style={{ zIndex: 1500 }}>\n\t\t\t\t<ChakraMenu.Content ref={ref} {...rest} />\n\t\t\t</ChakraMenu.Positioner>\n\t\t</Portal>\n\t);\n};\nMenuContent.displayName = \"MenuContent\";\n\nexport const MenuArrow = function MenuArrow({\n\tref,\n\t...props\n}: ChakraMenu.ArrowProps & { ref?: React.Ref<HTMLDivElement> }) {\n\treturn (\n\t\t<ChakraMenu.Arrow ref={ref} {...props}>\n\t\t\t<ChakraMenu.ArrowTip />\n\t\t</ChakraMenu.Arrow>\n\t);\n};\nMenuArrow.displayName = \"MenuArrow\";\n\nexport const MenuCheckboxItem = function MenuCheckboxItem({\n\tref,\n\t...props\n}: ChakraMenu.CheckboxItemProps & { ref?: React.Ref<HTMLDivElement> }) {\n\treturn (\n\t\t<ChakraMenu.CheckboxItem ps=\"8\" ref={ref} {...props}>\n\t\t\t<AbsoluteCenter axis=\"horizontal\" insetStart=\"4\" asChild>\n\t\t\t\t<ChakraMenu.ItemIndicator>\n\t\t\t\t\t<Check />\n\t\t\t\t</ChakraMenu.ItemIndicator>\n\t\t\t</AbsoluteCenter>\n\t\t\t{props.children}\n\t\t</ChakraMenu.CheckboxItem>\n\t);\n};\nMenuCheckboxItem.displayName = \"MenuCheckboxItem\";\n\nexport const MenuRadioItem = function MenuRadioItem({\n\tref,\n\t...props\n}: ChakraMenu.RadioItemProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { children, ...rest } = props;\n\treturn (\n\t\t<ChakraMenu.RadioItem ps=\"8\" ref={ref} {...rest}>\n\t\t\t<AbsoluteCenter axis=\"horizontal\" insetStart=\"4\" asChild>\n\t\t\t\t<ChakraMenu.ItemIndicator>\n\t\t\t\t\t<Check />\n\t\t\t\t</ChakraMenu.ItemIndicator>\n\t\t\t</AbsoluteCenter>\n\t\t\t<ChakraMenu.ItemText>{children}</ChakraMenu.ItemText>\n\t\t</ChakraMenu.RadioItem>\n\t);\n};\nMenuRadioItem.displayName = \"MenuRadioItem\";\n\nexport const MenuItemGroup = function MenuItemGroup({\n\tref,\n\t...props\n}: ChakraMenu.ItemGroupProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { title, children, ...rest } = props;\n\treturn (\n\t\t<ChakraMenu.ItemGroup ref={ref} {...rest}>\n\t\t\t{title && (\n\t\t\t\t<ChakraMenu.ItemGroupLabel userSelect=\"none\">\n\t\t\t\t\t{title}\n\t\t\t\t</ChakraMenu.ItemGroupLabel>\n\t\t\t)}\n\t\t\t{children}\n\t\t</ChakraMenu.ItemGroup>\n\t);\n};\nMenuItemGroup.displayName = \"MenuItemGroup\";\n\nexport interface MenuTriggerItemProps extends ChakraMenu.ItemProps {\n\t/** Icon rendered before the trigger item label. */\n\tstartIcon?: React.ReactNode;\n}\n\nexport const MenuTriggerItem = function MenuTriggerItem({\n\tref,\n\t...props\n}: MenuTriggerItemProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { startIcon, children, ...rest } = props;\n\treturn (\n\t\t<ChakraMenu.TriggerItem ref={ref} {...rest}>\n\t\t\t{startIcon}\n\t\t\t{children}\n\t\t\t<ChevronRight />\n\t\t</ChakraMenu.TriggerItem>\n\t);\n};\nMenuTriggerItem.displayName = \"MenuTriggerItem\";\n\nexport const MenuRadioItemGroup = ChakraMenu.RadioItemGroup;\nMenuRadioItemGroup.displayName = \"MenuRadioItemGroup\";\nexport const MenuContextTrigger = ChakraMenu.ContextTrigger;\nMenuContextTrigger.displayName = \"MenuContextTrigger\";\nexport const MenuRoot = ChakraMenu.Root;\nMenuRoot.displayName = \"MenuRoot\";\nexport const MenuSeparator = ChakraMenu.Separator;\nMenuSeparator.displayName = \"MenuSeparator\";\n\nexport const MenuItem = ChakraMenu.Item;\nMenuItem.displayName = \"MenuItem\";\nexport const MenuItemText = ChakraMenu.ItemText;\nMenuItemText.displayName = \"MenuItemText\";\nexport const MenuItemCommand = ChakraMenu.ItemCommand;\nMenuItemCommand.displayName = \"MenuItemCommand\";\nexport const MenuTrigger = ChakraMenu.Trigger;\nMenuTrigger.displayName = \"MenuTrigger\";\n","import { Tooltip as ChakraTooltip, Portal } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface TooltipProps extends ChakraTooltip.RootProps {\n\tshowArrow?: boolean;\n\tportalled?: boolean;\n\tportalRef?: React.RefObject<HTMLElement | null>;\n\tcontent: React.ReactNode;\n\tcontentProps?: ChakraTooltip.ContentProps;\n\tdisabled?: boolean;\n}\n\nexport const Tooltip = function Tooltip({\n\tref,\n\t...props\n}: TooltipProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst {\n\t\tshowArrow,\n\t\tchildren,\n\t\tdisabled,\n\t\tportalled = true,\n\t\tcontent,\n\t\tcontentProps,\n\t\tportalRef,\n\t\t...rest\n\t} = props;\n\n\tif (disabled) return children;\n\n\treturn (\n\t\t<ChakraTooltip.Root {...rest}>\n\t\t\t<ChakraTooltip.Trigger asChild>{children}</ChakraTooltip.Trigger>\n\t\t\t<Portal disabled={!portalled} container={portalRef}>\n\t\t\t\t<ChakraTooltip.Positioner>\n\t\t\t\t\t<ChakraTooltip.Content ref={ref} {...contentProps}>\n\t\t\t\t\t\t{showArrow && (\n\t\t\t\t\t\t\t<ChakraTooltip.Arrow>\n\t\t\t\t\t\t\t\t<ChakraTooltip.ArrowTip />\n\t\t\t\t\t\t\t</ChakraTooltip.Arrow>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</ChakraTooltip.Content>\n\t\t\t\t</ChakraTooltip.Positioner>\n\t\t\t</Portal>\n\t\t</ChakraTooltip.Root>\n\t);\n};\nTooltip.displayName = \"Tooltip\";\n"]}
|
|
@@ -13,7 +13,7 @@ var PopoverContent = function PopoverContent2({
|
|
|
13
13
|
...props
|
|
14
14
|
}) {
|
|
15
15
|
const { showArrow, portalled = true, portalRef, children, ...rest } = props;
|
|
16
|
-
return /* @__PURE__ */ jsx(Portal, { disabled: !portalled, container: portalRef, children: /* @__PURE__ */ jsx(Popover$1.Positioner, { zIndex: 1500, children: /* @__PURE__ */ jsxs(Popover$1.Content, { ref, ...rest, children: [
|
|
16
|
+
return /* @__PURE__ */ jsx(Portal, { disabled: !portalled, container: portalRef, children: /* @__PURE__ */ jsx(Popover$1.Positioner, { style: { zIndex: 1500 }, children: /* @__PURE__ */ jsxs(Popover$1.Content, { ref, ...rest, children: [
|
|
17
17
|
showArrow && /* @__PURE__ */ jsx(Popover$1.Arrow, { children: /* @__PURE__ */ jsx(Popover$1.ArrowTip, {}) }),
|
|
18
18
|
children
|
|
19
19
|
] }) }) });
|
|
@@ -48,5 +48,5 @@ var Switch = function Switch2({
|
|
|
48
48
|
Switch.displayName = "Switch";
|
|
49
49
|
|
|
50
50
|
export { Popover, PopoverBody, PopoverCloseTrigger, PopoverContent, PopoverDescription, PopoverFooter, PopoverHeader, PopoverTitle, PopoverTrigger, Switch };
|
|
51
|
-
//# sourceMappingURL=chunk-
|
|
52
|
-
//# sourceMappingURL=chunk-
|
|
51
|
+
//# sourceMappingURL=chunk-MIEUXFSK.js.map
|
|
52
|
+
//# sourceMappingURL=chunk-MIEUXFSK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/primitives/popover.tsx","../src/primitives/switch.tsx"],"names":["Popover","ChakraPopover","PopoverContent","Switch","jsxs","ChakraSwitch","jsx"],"mappings":";;;;AAKO,IAAM,OAAA,GAAU,SAASA,QAAAA,CAAQ,KAAA,EAAqB;AAC5D,EAAA,2BAAQC,SAAA,CAAc,IAAA,EAAd,EAAoB,GAAG,KAAA,EAAQ,gBAAM,QAAA,EAAS,CAAA;AACvD;AACA,OAAA,CAAQ,WAAA,GAAc,SAAA;AAEf,IAAM,iBAAiBA,SAAA,CAAc;AAC5C,cAAA,CAAe,WAAA,GAAc,gBAAA;AAWtB,IAAM,cAAA,GAAiB,SAASC,eAAAA,CAAe;AAAA,EACrD,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAA8D;AAC7D,EAAA,MAAM,EAAE,WAAW,SAAA,GAAY,IAAA,EAAM,WAAW,QAAA,EAAU,GAAG,MAAK,GAAI,KAAA;AACtE,EAAA,uBACC,GAAA,CAAC,UAAO,QAAA,EAAU,CAAC,WAAW,SAAA,EAAW,SAAA,EAIxC,QAAA,kBAAA,GAAA,CAACD,SAAA,CAAc,UAAA,EAAd,EAAyB,OAAO,EAAE,MAAA,EAAQ,MAAK,EAC/C,QAAA,kBAAA,IAAA,CAACA,UAAc,OAAA,EAAd,EAAsB,GAAA,EAAW,GAAG,IAAA,EACnC,QAAA,EAAA;AAAA,IAAA,SAAA,oBACA,GAAA,CAACA,UAAc,KAAA,EAAd,EACA,8BAACA,SAAA,CAAc,QAAA,EAAd,EAAuB,CAAA,EACzB,CAAA;AAAA,IAEA;AAAA,GAAA,EACF,GACD,CAAA,EACD,CAAA;AAEF;AACA,cAAA,CAAe,WAAA,GAAc,gBAAA;AAEtB,IAAM,gBAAgBA,SAAA,CAAc;AAC3C,aAAA,CAAc,WAAA,GAAc,eAAA;AAErB,IAAM,cAAcA,SAAA,CAAc;AACzC,WAAA,CAAY,WAAA,GAAc,aAAA;AAEnB,IAAM,gBAAgBA,SAAA,CAAc;AAC3C,aAAA,CAAc,WAAA,GAAc,eAAA;AAErB,IAAM,sBAAsBA,SAAA,CAAc;AACjD,mBAAA,CAAoB,WAAA,GAAc,qBAAA;AAE3B,IAAM,eAAeA,SAAA,CAAc;AAC1C,YAAA,CAAa,WAAA,GAAc,cAAA;AAEpB,IAAM,qBAAqBA,SAAA,CAAc;AAChD,kBAAA,CAAmB,WAAA,GAAc,oBAAA;ACjD1B,IAAM,MAAA,GAAS,SAASE,OAAAA,CAAO;AAAA,EACrC,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAwD;AACvD,EAAA,MAAM,EAAE,YAAY,QAAA,EAAU,OAAA,EAAS,YAAY,UAAA,EAAY,GAAG,MAAK,GACtE,KAAA;AAED,EAAA,uBACCC,KAACC,QAAA,CAAa,IAAA,EAAb,EAAkB,GAAA,EAAK,OAAA,EAAU,GAAG,IAAA,EACpC,QAAA,EAAA;AAAA,oBAAAC,IAACD,QAAA,CAAa,WAAA,EAAb,EAAyB,GAAA,EAAW,GAAG,UAAA,EAAY,CAAA;AAAA,oBACpDD,IAAAA,CAACC,QAAA,CAAa,OAAA,EAAb,EACA,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAACD,QAAA,CAAa,KAAA,EAAb,EACC,wCACAC,GAAAA,CAACD,QAAA,CAAa,cAAA,EAAb,EAA4B,QAAA,EAAU,UAAA,EAAY,GAAA,EACjD,QAAA,EAAA,UAAA,EAAY,IACd,CAAA,EAEF,CAAA;AAAA,MACC,UAAA,oBACAC,GAAAA,CAACD,QAAA,CAAa,SAAA,EAAb,EAAuB,QAAA,EAAU,UAAA,CAAW,GAAA,EAC3C,QAAA,EAAA,UAAA,CAAW,EAAA,EACb;AAAA,KAAA,EAEF,CAAA;AAAA,IACC,YAAY,IAAA,oBAAQC,IAACD,QAAA,CAAa,KAAA,EAAb,EAAoB,QAAA,EAAS;AAAA,GAAA,EACpD,CAAA;AAEF;AACA,MAAA,CAAO,WAAA,GAAc,QAAA","file":"chunk-MIEUXFSK.js","sourcesContent":["import { Popover as ChakraPopover, Portal } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport type PopoverProps = ChakraPopover.RootProps;\n\nexport const Popover = function Popover(props: PopoverProps) {\n\treturn <ChakraPopover.Root {...props}>{props.children}</ChakraPopover.Root>;\n};\nPopover.displayName = \"Popover\";\n\nexport const PopoverTrigger = ChakraPopover.Trigger;\nPopoverTrigger.displayName = \"PopoverTrigger\";\n\nexport interface PopoverContentProps extends ChakraPopover.ContentProps {\n\t/** Whether to show an arrow. @default false */\n\tshowArrow?: boolean;\n\t/** Whether to render in a portal. @default true */\n\tportalled?: boolean;\n\t/** Container ref for portal. */\n\tportalRef?: React.RefObject<HTMLElement | null>;\n}\n\nexport const PopoverContent = function PopoverContent({\n\tref,\n\t...props\n}: PopoverContentProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { showArrow, portalled = true, portalRef, children, ...rest } = props;\n\treturn (\n\t\t<Portal disabled={!portalled} container={portalRef}>\n\t\t\t{/* Explicit zIndex so popovers render above sticky layout chrome\n\t\t\t (sidebar / page header) at `docked` (10). See the matching\n\t\t\t note in primitives/menu.tsx. */}\n\t\t\t<ChakraPopover.Positioner style={{ zIndex: 1500 }}>\n\t\t\t\t<ChakraPopover.Content ref={ref} {...rest}>\n\t\t\t\t\t{showArrow && (\n\t\t\t\t\t\t<ChakraPopover.Arrow>\n\t\t\t\t\t\t\t<ChakraPopover.ArrowTip />\n\t\t\t\t\t\t</ChakraPopover.Arrow>\n\t\t\t\t\t)}\n\t\t\t\t\t{children}\n\t\t\t\t</ChakraPopover.Content>\n\t\t\t</ChakraPopover.Positioner>\n\t\t</Portal>\n\t);\n};\nPopoverContent.displayName = \"PopoverContent\";\n\nexport const PopoverHeader = ChakraPopover.Header;\nPopoverHeader.displayName = \"PopoverHeader\";\n\nexport const PopoverBody = ChakraPopover.Body;\nPopoverBody.displayName = \"PopoverBody\";\n\nexport const PopoverFooter = ChakraPopover.Footer;\nPopoverFooter.displayName = \"PopoverFooter\";\n\nexport const PopoverCloseTrigger = ChakraPopover.CloseTrigger;\nPopoverCloseTrigger.displayName = \"PopoverCloseTrigger\";\n\nexport const PopoverTitle = ChakraPopover.Title;\nPopoverTitle.displayName = \"PopoverTitle\";\n\nexport const PopoverDescription = ChakraPopover.Description;\nPopoverDescription.displayName = \"PopoverDescription\";\n","import { Switch as ChakraSwitch } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface SwitchProps extends ChakraSwitch.RootProps {\n\t/** Additional props forwarded to the hidden input element. */\n\tinputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n\t/** Ref attached to the root label element. */\n\trootRef?: React.RefObject<HTMLLabelElement | null>;\n\t/** Labels displayed inside the track for on/off states. */\n\ttrackLabel?: { on: React.ReactNode; off: React.ReactNode };\n\t/** Labels displayed inside the thumb for on/off states. */\n\tthumbLabel?: { on: React.ReactNode; off: React.ReactNode };\n}\n\nexport const Switch = function Switch({\n\tref,\n\t...props\n}: SwitchProps & { ref?: React.Ref<HTMLInputElement> }) {\n\tconst { inputProps, children, rootRef, trackLabel, thumbLabel, ...rest } =\n\t\tprops;\n\n\treturn (\n\t\t<ChakraSwitch.Root ref={rootRef} {...rest}>\n\t\t\t<ChakraSwitch.HiddenInput ref={ref} {...inputProps} />\n\t\t\t<ChakraSwitch.Control>\n\t\t\t\t<ChakraSwitch.Thumb>\n\t\t\t\t\t{thumbLabel && (\n\t\t\t\t\t\t<ChakraSwitch.ThumbIndicator fallback={thumbLabel?.off}>\n\t\t\t\t\t\t\t{thumbLabel?.on}\n\t\t\t\t\t\t</ChakraSwitch.ThumbIndicator>\n\t\t\t\t\t)}\n\t\t\t\t</ChakraSwitch.Thumb>\n\t\t\t\t{trackLabel && (\n\t\t\t\t\t<ChakraSwitch.Indicator fallback={trackLabel.off}>\n\t\t\t\t\t\t{trackLabel.on}\n\t\t\t\t\t</ChakraSwitch.Indicator>\n\t\t\t\t)}\n\t\t\t</ChakraSwitch.Control>\n\t\t\t{children != null && <ChakraSwitch.Label>{children}</ChakraSwitch.Label>}\n\t\t</ChakraSwitch.Root>\n\t);\n};\nSwitch.displayName = \"Switch\";\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Badge } from './chunk-
|
|
1
|
+
import { Badge } from './chunk-I7Z6NCRB.js';
|
|
2
2
|
import dayjs from 'dayjs';
|
|
3
3
|
import calendarPlugin from 'dayjs/plugin/calendar.js';
|
|
4
4
|
import relativeTime from 'dayjs/plugin/relativeTime.js';
|
|
@@ -50,5 +50,5 @@ var StatusBadge = (props) => {
|
|
|
50
50
|
StatusBadge.displayName = "StatusBadge";
|
|
51
51
|
|
|
52
52
|
export { StatusBadge, formatRelativeDateTime, formatRelativeToCurrentWeekDateTime };
|
|
53
|
-
//# sourceMappingURL=chunk-
|
|
54
|
-
//# sourceMappingURL=chunk-
|
|
53
|
+
//# sourceMappingURL=chunk-OTA26SAL.js.map
|
|
54
|
+
//# sourceMappingURL=chunk-OTA26SAL.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/atoms/datetime/utils/relative-date-time-utils.ts","../src/atoms/status-badge/status-badge.tsx"],"names":[],"mappings":";;;;;;;;;AAKA,KAAA,CAAM,OAAO,SAAS,CAAA;AACtB,KAAA,CAAM,OAAO,YAAY,CAAA;AACzB,KAAA,CAAM,OAAO,cAAc,CAAA;AAmBpB,SAAS,sBAAA,CACf,IAAA,EACA,QAAA,mBAAqB,IAAI,MAAK,EAC7B;AACD,EAAA,OAAO,KAAA,CAAM,IAAI,CAAA,CAAE,IAAA,CAAK,QAAQ,CAAA;AACjC;AAmBO,SAAS,mCAAA,CACf,IAAA,EACA,QAAA,mBAAqB,IAAI,MAAK,EAC7B;AACD,EAAA,MAAM,UAAU,KAAA,CAAM,IAAI,CAAA,CAAE,MAAA,CAAO,UAAU,KAAK,CAAA;AAElD,EAAA,IAAI,CAAC,OAAA,EAAS;AAGb,IAAA,OAAO,KAAA,CAAM,IAAI,CAAA,CAAE,QAAA,CAAS,QAAA,EAAU;AAAA,MACrC,QAAA,EAAU;AAAA,KACV,CAAA;AAAA,EACF;AAGA,EAAA,OAAO,sBAAA,CAAuB,MAAM,QAAQ,CAAA;AAC7C;ACpDO,IAAM,WAAA,GAA0C,CAAC,KAAA,KAAU;AACjE,EAAA,MAAM,EAAE,KAAA,EAAO,KAAA,EAAO,IAAA,EAAK,GAAI,KAAA;AAE/B,EAAA,MAAM,SAAA,GAAY,QAAQ,MAAM;AAC/B,IAAA,IAAI;AACH,MAAA,OAAO,cAAc,KAAK,CAAA;AAAA,IAC3B,CAAA,CAAA,MAAQ;AACP,MAAA,OAAO,OAAA;AAAA,IACR;AAAA,EACD,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,uBACC,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,EAAA,EAAI,KAAA;AAAA,MACJ,KAAA,EAAO,SAAA;AAAA,MACP,OAAA,EAAQ,MAAA;AAAA,MACR,EAAA,EAAI,CAAA;AAAA,MACJ,iBAAA,EAAmB,CAAA;AAAA,MACnB,GAAA,EAAK,CAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,QAAA,IAAA;AAAA,QACA;AAAA;AAAA;AAAA,GACF;AAEF;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/atoms/datetime/utils/relative-date-time-utils.ts","../src/atoms/status-badge/status-badge.tsx"],"names":[],"mappings":";;;;;;;;;AAKA,KAAA,CAAM,OAAO,SAAS,CAAA;AACtB,KAAA,CAAM,OAAO,YAAY,CAAA;AACzB,KAAA,CAAM,OAAO,cAAc,CAAA;AAmBpB,SAAS,sBAAA,CACf,IAAA,EACA,QAAA,mBAAqB,IAAI,MAAK,EAC7B;AACD,EAAA,OAAO,KAAA,CAAM,IAAI,CAAA,CAAE,IAAA,CAAK,QAAQ,CAAA;AACjC;AAmBO,SAAS,mCAAA,CACf,IAAA,EACA,QAAA,mBAAqB,IAAI,MAAK,EAC7B;AACD,EAAA,MAAM,UAAU,KAAA,CAAM,IAAI,CAAA,CAAE,MAAA,CAAO,UAAU,KAAK,CAAA;AAElD,EAAA,IAAI,CAAC,OAAA,EAAS;AAGb,IAAA,OAAO,KAAA,CAAM,IAAI,CAAA,CAAE,QAAA,CAAS,QAAA,EAAU;AAAA,MACrC,QAAA,EAAU;AAAA,KACV,CAAA;AAAA,EACF;AAGA,EAAA,OAAO,sBAAA,CAAuB,MAAM,QAAQ,CAAA;AAC7C;ACpDO,IAAM,WAAA,GAA0C,CAAC,KAAA,KAAU;AACjE,EAAA,MAAM,EAAE,KAAA,EAAO,KAAA,EAAO,IAAA,EAAK,GAAI,KAAA;AAE/B,EAAA,MAAM,SAAA,GAAY,QAAQ,MAAM;AAC/B,IAAA,IAAI;AACH,MAAA,OAAO,cAAc,KAAK,CAAA;AAAA,IAC3B,CAAA,CAAA,MAAQ;AACP,MAAA,OAAO,OAAA;AAAA,IACR;AAAA,EACD,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,uBACC,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,EAAA,EAAI,KAAA;AAAA,MACJ,KAAA,EAAO,SAAA;AAAA,MACP,OAAA,EAAQ,MAAA;AAAA,MACR,EAAA,EAAI,CAAA;AAAA,MACJ,iBAAA,EAAmB,CAAA;AAAA,MACnB,GAAA,EAAK,CAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,QAAA,IAAA;AAAA,QACA;AAAA;AAAA;AAAA,GACF;AAEF;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-OTA26SAL.js","sourcesContent":["import dayjs from \"dayjs\";\nimport calendarPlugin from \"dayjs/plugin/calendar.js\";\nimport relativeTime from \"dayjs/plugin/relativeTime.js\";\nimport utcPlugin from \"dayjs/plugin/utc.js\";\n\ndayjs.extend(utcPlugin);\ndayjs.extend(relativeTime);\ndayjs.extend(calendarPlugin);\n\nimport type { DateType } from \"../types\";\n\n/**\n * A function that will return a string with how far a given date is in the past or future,\n * using a baseDate as reference. If the baseDate is not passed, the function will use today as reference.\n *\n * @param date - the date to be formatted\n * @param baseDate - the date that should be used as a reference (default is \"today\")\n * @returns a relative date\n *\n * @example\n * // Considering today as 18.08.2021\n * formatRelativeDateTime('2021-08-17T15:45:00') // returns \"a day ago\"\n *\n * @example\n * formatRelativeDateTime('2021-08-17T15:45:00', '2021-08-16') // returns \"in a day\"\n */\nexport function formatRelativeDateTime(\n\tdate: DateType,\n\tbaseDate: DateType = new Date(),\n) {\n\treturn dayjs(date).from(baseDate);\n}\n\n/**\n * A function that formats a date relative to Today or to the `baseDate` if passed.\n * If the date is not today, it will return a string with \"Yesterday ...\", \"Tomorrow ...\", etc\n * If the date is not in the current week, it return a string with \"DD MMM YYYY\" format\n * If the date is today, it will return a string with \"... ago\" or \"in ...\"\n *\n * @param date - the date to be formatted\n * @param baseDate - the date that should be used as a reference (default is \"today\")\n * @returns a relative date\n *\n * @example\n * // Considering today as 18.08.2021\n * formatRelativeToCurrentWeekDateTime('2021-08-17T15:45:00') // returns \"Yesterday at 3:45 PM\"\n *\n * @example\n * formatRelativeToCurrentWeekDateTime('2021-08-17T15:45:00', '2021-08-16') // returns \"Tomorrow at 3:45 PM\"\n */\nexport function formatRelativeToCurrentWeekDateTime(\n\tdate: DateType,\n\tbaseDate: DateType = new Date(),\n) {\n\tconst isToday = dayjs(date).isSame(baseDate, \"day\");\n\n\tif (!isToday) {\n\t\t// if the date is not today, we display it with \"Yesterday\", \"Tomorrow\", etc.\n\t\t// and if the date is not in the current week then it will display \"17 Aug 2021\"\n\t\treturn dayjs(date).calendar(baseDate, {\n\t\t\tsameElse: \"DD MMM YYYY\",\n\t\t});\n\t}\n\n\t// returns \"... ago\"\n\treturn formatRelativeDateTime(date, baseDate);\n}\n","import { readableColor } from \"color2k\";\nimport type React from \"react\";\nimport { useMemo } from \"react\";\nimport { Badge } from \"../../primitives/badge\";\n\nexport interface StatusBadgeProps {\n\t/** The display label for the badge */\n\tlabel: string;\n\t/** The background color for the badge (hex format, e.g. \"#ff0000\") */\n\tcolor: string;\n\t/** Optional icon rendered inline before the label inside the badge. */\n\ticon?: React.ReactNode;\n}\n\nexport const StatusBadge: React.FC<StatusBadgeProps> = (props) => {\n\tconst { label, color, icon } = props;\n\n\tconst textColor = useMemo(() => {\n\t\ttry {\n\t\t\treturn readableColor(color);\n\t\t} catch {\n\t\t\treturn \"black\";\n\t\t}\n\t}, [color]);\n\n\treturn (\n\t\t<Badge\n\t\t\tbg={color}\n\t\t\tcolor={textColor}\n\t\t\trounded=\"base\"\n\t\t\tpx={2}\n\t\t\tmarginInlineStart={1}\n\t\t\tgap={1}\n\t\t>\n\t\t\t{icon}\n\t\t\t{label}\n\t\t</Badge>\n\t);\n};\n\nStatusBadge.displayName = \"StatusBadge\";\n"]}
|
package/dist/components/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Collapsible, Skeleton, Separator, Checkbox as Checkbox$1 } from '../chunk-TXGJ7BNX.js';
|
|
2
|
-
import { formatRelativeDateTime, StatusBadge } from '../chunk-
|
|
3
|
-
import { Tooltip, MenuItem, MenuRoot, MenuTrigger, MenuContent, Badge, Avatar, Table } from '../chunk-
|
|
4
|
-
import { Popover, PopoverTrigger, PopoverContent, PopoverBody, Switch } from '../chunk-
|
|
2
|
+
import { formatRelativeDateTime, StatusBadge } from '../chunk-OTA26SAL.js';
|
|
3
|
+
import { Tooltip, MenuItem, MenuRoot, MenuTrigger, MenuContent, Badge, Avatar, Table } from '../chunk-I7Z6NCRB.js';
|
|
4
|
+
import { Popover, PopoverTrigger, PopoverContent, PopoverBody, Switch } from '../chunk-MIEUXFSK.js';
|
|
5
5
|
import { text_input_default } from '../chunk-OU6H3KU4.js';
|
|
6
6
|
import { useNavListMode, NavListModeProvider } from '../chunk-PLXVGYFW.js';
|
|
7
7
|
export { AuthCard, NavListModeProvider, PageHeader, useNavListMode } from '../chunk-PLXVGYFW.js';
|
package/dist/forms/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LeavePageConfirmation, NumberInputRoot, NumberInputField, RadioGroup, Radio, NativeSelect } from '../chunk-M5WNB4K6.js';
|
|
2
|
-
import { Popover, PopoverTrigger, PopoverContent, PopoverBody, Switch } from '../chunk-
|
|
2
|
+
import { Popover, PopoverTrigger, PopoverContent, PopoverBody, Switch } from '../chunk-MIEUXFSK.js';
|
|
3
3
|
export { SearchInput } from '../chunk-E7KRPPCQ.js';
|
|
4
4
|
import { Textarea } from '../chunk-NFZMG6ZL.js';
|
|
5
5
|
import { text_input_default } from '../chunk-OU6H3KU4.js';
|
package/dist/primitives/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { theme_default } from '../chunk-UOXSDSBY.js';
|
|
2
2
|
export { Checkbox, CheckboxGroup, Collapsible, Separator, Skeleton, SkeletonCircle, SkeletonText } from '../chunk-TXGJ7BNX.js';
|
|
3
3
|
export { Prose } from '../chunk-VOGT33LU.js';
|
|
4
|
-
export { Avatar, AvatarGroup, Badge, MenuArrow, MenuCheckboxItem, MenuContent, MenuContextTrigger, MenuItem, MenuItemCommand, MenuItemGroup, MenuItemText, MenuRadioItem, MenuRadioItemGroup, MenuRoot, MenuSeparator, MenuTrigger, MenuTriggerItem, Table, Tooltip } from '../chunk-
|
|
4
|
+
export { Avatar, AvatarGroup, Badge, MenuArrow, MenuCheckboxItem, MenuContent, MenuContextTrigger, MenuItem, MenuItemCommand, MenuItemGroup, MenuItemText, MenuRadioItem, MenuRadioItemGroup, MenuRoot, MenuSeparator, MenuTrigger, MenuTriggerItem, Table, Tooltip } from '../chunk-I7Z6NCRB.js';
|
|
5
5
|
export { LeavePageConfirmation, NativeSelect, NumberInputField, NumberInputLabel, NumberInputRoot, NumberInputScrubber, Radio, RadioGroup } from '../chunk-M5WNB4K6.js';
|
|
6
|
-
export { Popover, PopoverBody, PopoverCloseTrigger, PopoverContent, PopoverDescription, PopoverFooter, PopoverHeader, PopoverTitle, PopoverTrigger, Switch } from '../chunk-
|
|
6
|
+
export { Popover, PopoverBody, PopoverCloseTrigger, PopoverContent, PopoverDescription, PopoverFooter, PopoverHeader, PopoverTitle, PopoverTrigger, Switch } from '../chunk-MIEUXFSK.js';
|
|
7
7
|
export { Textarea } from '../chunk-NFZMG6ZL.js';
|
|
8
8
|
export { Progress, ProgressCircle } from '../chunk-WEP2AIQ5.js';
|
|
9
9
|
export { Spinner } from '../chunk-5YDCDC4B.js';
|
|
@@ -158,7 +158,7 @@ var HoverCard = function HoverCard2(props) {
|
|
|
158
158
|
} = props;
|
|
159
159
|
return /* @__PURE__ */ jsxs(HoverCard$1.Root, { ...rest, children: [
|
|
160
160
|
/* @__PURE__ */ jsx(HoverCard$1.Trigger, { asChild: true, children }),
|
|
161
|
-
/* @__PURE__ */ jsx(Portal, { disabled: !portalled, container: portalRef, children: /* @__PURE__ */ jsx(HoverCard$1.Positioner, { zIndex: 1500, children: /* @__PURE__ */ jsxs(HoverCard$1.Content, { ...contentProps, children: [
|
|
161
|
+
/* @__PURE__ */ jsx(Portal, { disabled: !portalled, container: portalRef, children: /* @__PURE__ */ jsx(HoverCard$1.Positioner, { style: { zIndex: 1500 }, children: /* @__PURE__ */ jsxs(HoverCard$1.Content, { ...contentProps, children: [
|
|
162
162
|
showArrow && /* @__PURE__ */ jsx(HoverCard$1.Arrow, { children: /* @__PURE__ */ jsx(HoverCard$1.ArrowTip, {}) }),
|
|
163
163
|
content
|
|
164
164
|
] }) }) })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/primitives/accordion.tsx","../../src/primitives/alert.tsx","../../src/primitives/breadcrumb.tsx","../../src/primitives/color-mode.tsx","../../src/primitives/hover-card.tsx","../../src/primitives/pin-input.tsx","../../src/primitives/provider.tsx","../../src/primitives/segmented-control.tsx","../../src/primitives/slider.tsx","../../src/primitives/toggle-tip.tsx","../../src/primitives/stat.tsx","../../src/primitives/toaster.tsx"],"names":["AccordionItem","ChakraAccordion","Alert","jsxs","ChakraAlert","jsx","ChakraBreadcrumb","ColorModeButton","Skeleton","LightMode","DarkMode","HoverCard","ChakraHoverCard","PinInput","ChakraPinInput","SegmentedControl","ChakraSegmentGroup","Slider","ChakraSlider","ToggleTip","ChakraPopover","Portal","InfoTip","IconButton","StatLabel","ChakraStat","StatValueText","StatUpTrend","Badge","StatDownTrend","toaster","ChakraToaster","Spinner","Stack"],"mappings":"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","file":"index.js","sourcesContent":["import { Accordion as ChakraAccordion } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface AccordionItemProps extends ChakraAccordion.ItemProps {\n\t/** The trigger label shown in the accordion header. */\n\tlabel: React.ReactNode;\n\t/** Content revealed when the item is expanded. */\n\tchildren: React.ReactNode;\n}\n\nexport const AccordionItem = function AccordionItem({\n\tref,\n\t...props\n}: AccordionItemProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { label, children, ...rest } = props;\n\treturn (\n\t\t<ChakraAccordion.Item ref={ref} {...rest}>\n\t\t\t<ChakraAccordion.ItemTrigger>\n\t\t\t\t{label}\n\t\t\t\t<ChakraAccordion.ItemIndicator />\n\t\t\t</ChakraAccordion.ItemTrigger>\n\t\t\t<ChakraAccordion.ItemContent>\n\t\t\t\t<ChakraAccordion.ItemBody>{children}</ChakraAccordion.ItemBody>\n\t\t\t</ChakraAccordion.ItemContent>\n\t\t</ChakraAccordion.Item>\n\t);\n};\nAccordionItem.displayName = \"AccordionItem\";\n\n// Pass-through exports for composition\nexport const AccordionRoot = ChakraAccordion.Root;\nAccordionRoot.displayName = \"AccordionRoot\";\n\nexport type AccordionRootProps = ChakraAccordion.RootProps;\n","import { Alert as ChakraAlert } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface AlertProps extends Omit<ChakraAlert.RootProps, \"title\"> {\n\tstartElement?: React.ReactNode;\n\tendElement?: React.ReactNode;\n\ttitle?: React.ReactNode;\n\ticon?: React.ReactElement;\n}\n\nexport const Alert = function Alert({\n\tref,\n\t...props\n}: AlertProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { title, children, icon, startElement, endElement, ...rest } = props;\n\treturn (\n\t\t<ChakraAlert.Root ref={ref} {...rest}>\n\t\t\t{startElement || <ChakraAlert.Indicator>{icon}</ChakraAlert.Indicator>}\n\t\t\t{children ? (\n\t\t\t\t<ChakraAlert.Content>\n\t\t\t\t\t<ChakraAlert.Title>{title}</ChakraAlert.Title>\n\t\t\t\t\t<ChakraAlert.Description>{children}</ChakraAlert.Description>\n\t\t\t\t</ChakraAlert.Content>\n\t\t\t) : (\n\t\t\t\t<ChakraAlert.Title flex=\"1\">{title}</ChakraAlert.Title>\n\t\t\t)}\n\t\t\t{endElement}\n\t\t</ChakraAlert.Root>\n\t);\n};\nAlert.displayName = \"Alert\";\n","import { Breadcrumb as ChakraBreadcrumb } from \"@chakra-ui/react\";\n\n// Pass-through exports with stable API\nexport const BreadcrumbRoot = ChakraBreadcrumb.Root;\nBreadcrumbRoot.displayName = \"BreadcrumbRoot\";\n\nexport const BreadcrumbList = ChakraBreadcrumb.List;\nBreadcrumbList.displayName = \"BreadcrumbList\";\n\nexport const BreadcrumbItem = ChakraBreadcrumb.Item;\nBreadcrumbItem.displayName = \"BreadcrumbItem\";\n\nexport const BreadcrumbLink = ChakraBreadcrumb.Link;\nBreadcrumbLink.displayName = \"BreadcrumbLink\";\n\nexport const BreadcrumbCurrentLink = ChakraBreadcrumb.CurrentLink;\nBreadcrumbCurrentLink.displayName = \"BreadcrumbCurrentLink\";\n\nexport const BreadcrumbSeparator = ChakraBreadcrumb.Separator;\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\";\n\nexport const BreadcrumbEllipsis = ChakraBreadcrumb.Ellipsis;\nBreadcrumbEllipsis.displayName = \"BreadcrumbEllipsis\";\n\nexport type BreadcrumbRootProps = ChakraBreadcrumb.RootProps;\nexport type BreadcrumbLinkProps = ChakraBreadcrumb.LinkProps;\n","import type { IconButtonProps, SpanProps } from \"@chakra-ui/react\";\nimport { ClientOnly, IconButton, Skeleton, Span } from \"@chakra-ui/react\";\nimport { Moon, Sun } from \"lucide-react\";\nimport type { ThemeProviderProps } from \"next-themes\";\nimport { ThemeProvider, useTheme } from \"next-themes\";\nimport type * as React from \"react\";\n\nexport interface ColorModeProviderProps extends ThemeProviderProps {}\n\nexport function ColorModeProvider(props: ColorModeProviderProps) {\n\treturn (\n\t\t<ThemeProvider attribute=\"class\" disableTransitionOnChange {...props} />\n\t);\n}\nColorModeProvider.displayName = \"ColorModeProvider\";\n\nexport type ColorMode = \"light\" | \"dark\";\n\nexport interface UseColorModeReturn {\n\tcolorMode: ColorMode;\n\tsetColorMode: (colorMode: ColorMode) => void;\n\ttoggleColorMode: () => void;\n}\n\nexport function useColorMode(): UseColorModeReturn {\n\tconst { resolvedTheme, setTheme, forcedTheme } = useTheme();\n\tconst colorMode = forcedTheme || resolvedTheme;\n\tconst toggleColorMode = () => {\n\t\tsetTheme(resolvedTheme === \"dark\" ? \"light\" : \"dark\");\n\t};\n\treturn {\n\t\tcolorMode: colorMode as ColorMode,\n\t\tsetColorMode: setTheme,\n\t\ttoggleColorMode,\n\t};\n}\n\nexport function useColorModeValue<T>(light: T, dark: T) {\n\tconst { colorMode } = useColorMode();\n\treturn colorMode === \"dark\" ? dark : light;\n}\n\nexport function ColorModeIcon() {\n\tconst { colorMode } = useColorMode();\n\treturn colorMode === \"dark\" ? <Moon /> : <Sun />;\n}\nColorModeIcon.displayName = \"ColorModeIcon\";\n\ninterface ColorModeButtonProps extends Omit<IconButtonProps, \"aria-label\"> {\n\t/** Accessible label for the color mode toggle button. @default \"Toggle color mode\" */\n\tlabel?: string;\n}\n\nexport const ColorModeButton = function ColorModeButton({\n\tref,\n\tlabel = \"Toggle color mode\",\n\t...props\n}: ColorModeButtonProps & { ref?: React.Ref<HTMLButtonElement> }) {\n\tconst { toggleColorMode } = useColorMode();\n\treturn (\n\t\t<ClientOnly fallback={<Skeleton boxSize=\"9\" />}>\n\t\t\t<IconButton\n\t\t\t\tonClick={toggleColorMode}\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\taria-label={label}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\tcss={{\n\t\t\t\t\t_icon: {\n\t\t\t\t\t\twidth: \"5\",\n\t\t\t\t\t\theight: \"5\",\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<ColorModeIcon />\n\t\t\t</IconButton>\n\t\t</ClientOnly>\n\t);\n};\nColorModeButton.displayName = \"ColorModeButton\";\n\nexport const LightMode = function LightMode({\n\tref,\n\t...props\n}: SpanProps & { ref?: React.Ref<HTMLSpanElement> }) {\n\treturn (\n\t\t<Span\n\t\t\tcolor=\"fg\"\n\t\t\tdisplay=\"contents\"\n\t\t\tclassName=\"chakra-theme light\"\n\t\t\tcolorPalette=\"gray\"\n\t\t\tdata-theme=\"light\"\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\nLightMode.displayName = \"LightMode\";\n\nexport const DarkMode = function DarkMode({\n\tref,\n\t...props\n}: SpanProps & { ref?: React.Ref<HTMLSpanElement> }) {\n\treturn (\n\t\t<Span\n\t\t\tcolor=\"fg\"\n\t\t\tdisplay=\"contents\"\n\t\t\tclassName=\"chakra-theme dark\"\n\t\t\tcolorPalette=\"gray\"\n\t\t\tdata-theme=\"dark\"\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\nDarkMode.displayName = \"DarkMode\";\n","import { HoverCard as ChakraHoverCard, Portal } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface HoverCardProps extends ChakraHoverCard.RootProps {\n\t/** Content displayed in the hover card. */\n\tcontent: React.ReactNode;\n\t/** Whether to show an arrow. @default false */\n\tshowArrow?: boolean;\n\t/** Whether to render in a portal. @default true */\n\tportalled?: boolean;\n\t/** Container ref for portal. */\n\tportalRef?: React.RefObject<HTMLElement | null>;\n\t/** Props passed to the content element. */\n\tcontentProps?: ChakraHoverCard.ContentProps;\n}\n\nexport const HoverCard = function HoverCard(props: HoverCardProps) {\n\tconst {\n\t\tcontent,\n\t\tshowArrow,\n\t\tchildren,\n\t\tportalled = true,\n\t\tportalRef,\n\t\tcontentProps,\n\t\t...rest\n\t} = props;\n\treturn (\n\t\t<ChakraHoverCard.Root {...rest}>\n\t\t\t<ChakraHoverCard.Trigger asChild>{children}</ChakraHoverCard.Trigger>\n\t\t\t<Portal disabled={!portalled} container={portalRef}>\n\t\t\t\t{/* Explicit zIndex so hover cards render above sticky layout\n\t\t\t\t chrome (sidebar / page header) at `docked` (10). See the\n\t\t\t\t matching note in primitives/menu.tsx. */}\n\t\t\t\t<ChakraHoverCard.Positioner zIndex={1500}>\n\t\t\t\t\t<ChakraHoverCard.Content {...contentProps}>\n\t\t\t\t\t\t{showArrow && (\n\t\t\t\t\t\t\t<ChakraHoverCard.Arrow>\n\t\t\t\t\t\t\t\t<ChakraHoverCard.ArrowTip />\n\t\t\t\t\t\t\t</ChakraHoverCard.Arrow>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</ChakraHoverCard.Content>\n\t\t\t\t</ChakraHoverCard.Positioner>\n\t\t\t</Portal>\n\t\t</ChakraHoverCard.Root>\n\t);\n};\nHoverCard.displayName = \"HoverCard\";\n","import { PinInput as ChakraPinInput } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface PinInputProps\n\textends Omit<ChakraPinInput.RootProps, \"children\"> {\n\t/** Number of input fields. @default 4 */\n\tlength?: number;\n}\n\nexport const PinInput = function PinInput({\n\tref,\n\t...props\n}: PinInputProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { length = 4, ...rest } = props;\n\treturn (\n\t\t<ChakraPinInput.Root ref={ref} {...rest}>\n\t\t\t<ChakraPinInput.HiddenInput />\n\t\t\t<ChakraPinInput.Control>\n\t\t\t\t{Array.from({ length }).map((_, i) => (\n\t\t\t\t\t// biome-ignore lint/suspicious/noArrayIndexKey: index is the stable identity for pin input fields\n\t\t\t\t\t<ChakraPinInput.Input key={i} index={i} />\n\t\t\t\t))}\n\t\t\t</ChakraPinInput.Control>\n\t\t</ChakraPinInput.Root>\n\t);\n};\nPinInput.displayName = \"PinInput\";\n","import type { SystemContext } from \"@chakra-ui/react\";\nimport { ChakraProvider } from \"@chakra-ui/react\";\nimport defaultSystem from \"../theme\";\nimport { ColorModeProvider, type ColorModeProviderProps } from \"./color-mode\";\n\nexport interface ProviderProps extends ColorModeProviderProps {\n\t/** Override the default anker theme system. */\n\tsystem?: SystemContext;\n}\n\nexport function Provider({ system, ...props }: ProviderProps) {\n\treturn (\n\t\t<ChakraProvider value={system ?? defaultSystem}>\n\t\t\t<ColorModeProvider {...props} />\n\t\t</ChakraProvider>\n\t);\n}\nProvider.displayName = \"Provider\";\n","import { SegmentGroup as ChakraSegmentGroup } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface SegmentedControlItem {\n\tvalue: string;\n\tlabel: React.ReactNode;\n\tdisabled?: boolean;\n}\n\nexport interface SegmentedControlProps\n\textends Omit<ChakraSegmentGroup.RootProps, \"children\"> {\n\t/** Items to render as segments. */\n\titems: Array<string | SegmentedControlItem>;\n}\n\nexport const SegmentedControl = function SegmentedControl({\n\tref,\n\t...props\n}: SegmentedControlProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { items, ...rest } = props;\n\treturn (\n\t\t<ChakraSegmentGroup.Root ref={ref} {...rest}>\n\t\t\t<ChakraSegmentGroup.Indicator />\n\t\t\t{items.map((item) => {\n\t\t\t\tconst value = typeof item === \"string\" ? item : item.value;\n\t\t\t\tconst label = typeof item === \"string\" ? item : item.label;\n\t\t\t\tconst disabled = typeof item === \"string\" ? false : item.disabled;\n\t\t\t\treturn (\n\t\t\t\t\t<ChakraSegmentGroup.Item\n\t\t\t\t\t\tkey={value}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChakraSegmentGroup.ItemText>{label}</ChakraSegmentGroup.ItemText>\n\t\t\t\t\t\t<ChakraSegmentGroup.ItemHiddenInput />\n\t\t\t\t\t</ChakraSegmentGroup.Item>\n\t\t\t\t);\n\t\t\t})}\n\t\t</ChakraSegmentGroup.Root>\n\t);\n};\nSegmentedControl.displayName = \"SegmentedControl\";\n","import { Slider as ChakraSlider } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface SliderProps extends ChakraSlider.RootProps {\n\t/** Whether to show the current value label. @default false */\n\tshowValue?: boolean;\n\t/** Label text displayed alongside the slider. */\n\tlabel?: React.ReactNode;\n\t/** Marks to display on the track. */\n\tmarks?: Array<number | { value: number; label: React.ReactNode }>;\n}\n\nexport const Slider = function Slider({\n\tref,\n\t...props\n}: SliderProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { showValue, label, marks, ...rest } = props;\n\treturn (\n\t\t<ChakraSlider.Root ref={ref} {...rest}>\n\t\t\t{(label || showValue) && (\n\t\t\t\t<ChakraSlider.Label>\n\t\t\t\t\t{label}\n\t\t\t\t\t{showValue && <ChakraSlider.ValueText />}\n\t\t\t\t</ChakraSlider.Label>\n\t\t\t)}\n\t\t\t<ChakraSlider.Control>\n\t\t\t\t<ChakraSlider.Track>\n\t\t\t\t\t<ChakraSlider.Range />\n\t\t\t\t</ChakraSlider.Track>\n\t\t\t\t<ChakraSlider.Thumbs />\n\t\t\t</ChakraSlider.Control>\n\t\t\t{marks && <ChakraSlider.Marks marks={marks} />}\n\t\t</ChakraSlider.Root>\n\t);\n};\nSlider.displayName = \"Slider\";\n","import {\n\tPopover as ChakraPopover,\n\tIconButton,\n\ttype IconButtonProps,\n\tPortal,\n} from \"@chakra-ui/react\";\nimport { Info } from \"lucide-react\";\nimport type * as React from \"react\";\n\nexport interface ToggleTipProps extends ChakraPopover.RootProps {\n\tshowArrow?: boolean;\n\tportalled?: boolean;\n\tportalRef?: React.RefObject<HTMLElement | null>;\n\tcontent?: React.ReactNode;\n\tcontentProps?: ChakraPopover.ContentProps;\n}\n\nexport const ToggleTip = function ToggleTip({\n\tref,\n\t...props\n}: ToggleTipProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst {\n\t\tshowArrow,\n\t\tchildren,\n\t\tportalled = true,\n\t\tcontent,\n\t\tcontentProps,\n\t\tportalRef,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<ChakraPopover.Root\n\t\t\t{...rest}\n\t\t\tpositioning={{ ...rest.positioning, gutter: 4 }}\n\t\t>\n\t\t\t<ChakraPopover.Trigger asChild>{children}</ChakraPopover.Trigger>\n\t\t\t<Portal disabled={!portalled} container={portalRef}>\n\t\t\t\t<ChakraPopover.Positioner>\n\t\t\t\t\t<ChakraPopover.Content\n\t\t\t\t\t\twidth=\"auto\"\n\t\t\t\t\t\tpx=\"2\"\n\t\t\t\t\t\tpy=\"1\"\n\t\t\t\t\t\ttextStyle=\"xs\"\n\t\t\t\t\t\trounded=\"sm\"\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t{...contentProps}\n\t\t\t\t\t>\n\t\t\t\t\t\t{showArrow && (\n\t\t\t\t\t\t\t<ChakraPopover.Arrow>\n\t\t\t\t\t\t\t\t<ChakraPopover.ArrowTip />\n\t\t\t\t\t\t\t</ChakraPopover.Arrow>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</ChakraPopover.Content>\n\t\t\t\t</ChakraPopover.Positioner>\n\t\t\t</Portal>\n\t\t</ChakraPopover.Root>\n\t);\n};\nToggleTip.displayName = \"ToggleTip\";\n\nexport interface InfoTipProps extends Partial<ToggleTipProps> {\n\tbuttonProps?: IconButtonProps | undefined;\n\t/** Accessible label for the info tip button. @default \"info\" */\n\tlabel?: string;\n}\n\nexport const InfoTip = function InfoTip({\n\tref,\n\t...props\n}: InfoTipProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { children, buttonProps, label = \"info\", ...rest } = props;\n\treturn (\n\t\t<ToggleTip content={children} {...rest} ref={ref}>\n\t\t\t<IconButton\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\taria-label={label}\n\t\t\t\tsize=\"2xs\"\n\t\t\t\tcolorPalette=\"gray\"\n\t\t\t\tminWidth=\"44px\"\n\t\t\t\tminHeight=\"44px\"\n\t\t\t\t{...buttonProps}\n\t\t\t>\n\t\t\t\t<Info />\n\t\t\t</IconButton>\n\t\t</ToggleTip>\n\t);\n};\nInfoTip.displayName = \"InfoTip\";\n","import {\n\tBadge,\n\ttype BadgeProps,\n\tStat as ChakraStat,\n\tFormatNumber,\n} from \"@chakra-ui/react\";\nimport type * as React from \"react\";\nimport { InfoTip } from \"./toggle-tip\";\n\nexport interface StatLabelProps extends ChakraStat.LabelProps {\n\tinfo?: React.ReactNode;\n}\n\nexport const StatLabel = function StatLabel({\n\tref,\n\t...props\n}: StatLabelProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { info, children, ...rest } = props;\n\treturn (\n\t\t<ChakraStat.Label {...rest} ref={ref}>\n\t\t\t{children}\n\t\t\t{info && <InfoTip>{info}</InfoTip>}\n\t\t</ChakraStat.Label>\n\t);\n};\nStatLabel.displayName = \"StatLabel\";\n\nexport interface StatValueTextProps extends ChakraStat.ValueTextProps {\n\tvalue?: number;\n\tformatOptions?: Intl.NumberFormatOptions;\n}\n\nexport const StatValueText = function StatValueText({\n\tref,\n\t...props\n}: StatValueTextProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { value, formatOptions, children, ...rest } = props;\n\treturn (\n\t\t<ChakraStat.ValueText {...rest} ref={ref}>\n\t\t\t{children ||\n\t\t\t\t(value != null && <FormatNumber value={value} {...formatOptions} />)}\n\t\t</ChakraStat.ValueText>\n\t);\n};\nStatValueText.displayName = \"StatValueText\";\n\nexport const StatUpTrend = function StatUpTrend({\n\tref,\n\t...props\n}: BadgeProps & { ref?: React.Ref<HTMLDivElement> }) {\n\treturn (\n\t\t<Badge colorPalette=\"green\" gap=\"0\" {...props} ref={ref}>\n\t\t\t<ChakraStat.UpIndicator />\n\t\t\t{props.children}\n\t\t</Badge>\n\t);\n};\nStatUpTrend.displayName = \"StatUpTrend\";\n\nexport const StatDownTrend = function StatDownTrend({\n\tref,\n\t...props\n}: BadgeProps & { ref?: React.Ref<HTMLDivElement> }) {\n\treturn (\n\t\t<Badge colorPalette=\"red\" gap=\"0\" {...props} ref={ref}>\n\t\t\t<ChakraStat.DownIndicator />\n\t\t\t{props.children}\n\t\t</Badge>\n\t);\n};\nStatDownTrend.displayName = \"StatDownTrend\";\n\nexport const StatRoot = ChakraStat.Root;\nStatRoot.displayName = \"StatRoot\";\nexport const StatHelpText = ChakraStat.HelpText;\nStatHelpText.displayName = \"StatHelpText\";\nexport const StatValueUnit = ChakraStat.ValueUnit;\nStatValueUnit.displayName = \"StatValueUnit\";\n","import {\n\tToaster as ChakraToaster,\n\tcreateToaster,\n\tPortal,\n\tSpinner,\n\tStack,\n\tToast,\n} from \"@chakra-ui/react\";\n\nexport interface CreateToasterOptions {\n\tplacement?:\n\t\t| \"top\"\n\t\t| \"top-start\"\n\t\t| \"top-end\"\n\t\t| \"bottom\"\n\t\t| \"bottom-start\"\n\t\t| \"bottom-end\";\n\tpauseOnPageIdle?: boolean;\n}\n\nexport function createAnkerToaster(options: CreateToasterOptions = {}) {\n\tconst { placement = \"bottom-end\", pauseOnPageIdle = true } = options;\n\n\tconst toaster = createToaster({\n\t\tplacement,\n\t\tpauseOnPageIdle,\n\t});\n\n\tconst ToasterComponent = () => {\n\t\treturn (\n\t\t\t<Portal>\n\t\t\t\t<ChakraToaster toaster={toaster} insetInline={{ mdDown: \"4\" }}>\n\t\t\t\t\t{(toast) => (\n\t\t\t\t\t\t<Toast.Root width={{ md: \"sm\" }}>\n\t\t\t\t\t\t\t{toast.type === \"loading\" ? (\n\t\t\t\t\t\t\t\t<Spinner size=\"sm\" color=\"accent\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Toast.Indicator />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Stack gap=\"1\" flex=\"1\" maxWidth=\"100%\">\n\t\t\t\t\t\t\t\t{toast.title && <Toast.Title>{toast.title}</Toast.Title>}\n\t\t\t\t\t\t\t\t{toast.description && (\n\t\t\t\t\t\t\t\t\t<Toast.Description>{toast.description}</Toast.Description>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t\t{toast.action && (\n\t\t\t\t\t\t\t\t<Toast.ActionTrigger>{toast.action.label}</Toast.ActionTrigger>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{toast.closable && <Toast.CloseTrigger />}\n\t\t\t\t\t\t</Toast.Root>\n\t\t\t\t\t)}\n\t\t\t\t</ChakraToaster>\n\t\t\t</Portal>\n\t\t);\n\t};\n\n\treturn { toaster, Toaster: ToasterComponent };\n}\n\n// Default instance for convenience\nconst { toaster, Toaster } = createAnkerToaster();\n\n(Toaster as { displayName?: string }).displayName = \"Toaster\";\n\nexport { toaster, Toaster };\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/primitives/accordion.tsx","../../src/primitives/alert.tsx","../../src/primitives/breadcrumb.tsx","../../src/primitives/color-mode.tsx","../../src/primitives/hover-card.tsx","../../src/primitives/pin-input.tsx","../../src/primitives/provider.tsx","../../src/primitives/segmented-control.tsx","../../src/primitives/slider.tsx","../../src/primitives/toggle-tip.tsx","../../src/primitives/stat.tsx","../../src/primitives/toaster.tsx"],"names":["AccordionItem","ChakraAccordion","Alert","jsxs","ChakraAlert","jsx","ChakraBreadcrumb","ColorModeButton","Skeleton","LightMode","DarkMode","HoverCard","ChakraHoverCard","PinInput","ChakraPinInput","SegmentedControl","ChakraSegmentGroup","Slider","ChakraSlider","ToggleTip","ChakraPopover","Portal","InfoTip","IconButton","StatLabel","ChakraStat","StatValueText","StatUpTrend","Badge","StatDownTrend","toaster","ChakraToaster","Spinner","Stack"],"mappings":"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","file":"index.js","sourcesContent":["import { Accordion as ChakraAccordion } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface AccordionItemProps extends ChakraAccordion.ItemProps {\n\t/** The trigger label shown in the accordion header. */\n\tlabel: React.ReactNode;\n\t/** Content revealed when the item is expanded. */\n\tchildren: React.ReactNode;\n}\n\nexport const AccordionItem = function AccordionItem({\n\tref,\n\t...props\n}: AccordionItemProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { label, children, ...rest } = props;\n\treturn (\n\t\t<ChakraAccordion.Item ref={ref} {...rest}>\n\t\t\t<ChakraAccordion.ItemTrigger>\n\t\t\t\t{label}\n\t\t\t\t<ChakraAccordion.ItemIndicator />\n\t\t\t</ChakraAccordion.ItemTrigger>\n\t\t\t<ChakraAccordion.ItemContent>\n\t\t\t\t<ChakraAccordion.ItemBody>{children}</ChakraAccordion.ItemBody>\n\t\t\t</ChakraAccordion.ItemContent>\n\t\t</ChakraAccordion.Item>\n\t);\n};\nAccordionItem.displayName = \"AccordionItem\";\n\n// Pass-through exports for composition\nexport const AccordionRoot = ChakraAccordion.Root;\nAccordionRoot.displayName = \"AccordionRoot\";\n\nexport type AccordionRootProps = ChakraAccordion.RootProps;\n","import { Alert as ChakraAlert } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface AlertProps extends Omit<ChakraAlert.RootProps, \"title\"> {\n\tstartElement?: React.ReactNode;\n\tendElement?: React.ReactNode;\n\ttitle?: React.ReactNode;\n\ticon?: React.ReactElement;\n}\n\nexport const Alert = function Alert({\n\tref,\n\t...props\n}: AlertProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { title, children, icon, startElement, endElement, ...rest } = props;\n\treturn (\n\t\t<ChakraAlert.Root ref={ref} {...rest}>\n\t\t\t{startElement || <ChakraAlert.Indicator>{icon}</ChakraAlert.Indicator>}\n\t\t\t{children ? (\n\t\t\t\t<ChakraAlert.Content>\n\t\t\t\t\t<ChakraAlert.Title>{title}</ChakraAlert.Title>\n\t\t\t\t\t<ChakraAlert.Description>{children}</ChakraAlert.Description>\n\t\t\t\t</ChakraAlert.Content>\n\t\t\t) : (\n\t\t\t\t<ChakraAlert.Title flex=\"1\">{title}</ChakraAlert.Title>\n\t\t\t)}\n\t\t\t{endElement}\n\t\t</ChakraAlert.Root>\n\t);\n};\nAlert.displayName = \"Alert\";\n","import { Breadcrumb as ChakraBreadcrumb } from \"@chakra-ui/react\";\n\n// Pass-through exports with stable API\nexport const BreadcrumbRoot = ChakraBreadcrumb.Root;\nBreadcrumbRoot.displayName = \"BreadcrumbRoot\";\n\nexport const BreadcrumbList = ChakraBreadcrumb.List;\nBreadcrumbList.displayName = \"BreadcrumbList\";\n\nexport const BreadcrumbItem = ChakraBreadcrumb.Item;\nBreadcrumbItem.displayName = \"BreadcrumbItem\";\n\nexport const BreadcrumbLink = ChakraBreadcrumb.Link;\nBreadcrumbLink.displayName = \"BreadcrumbLink\";\n\nexport const BreadcrumbCurrentLink = ChakraBreadcrumb.CurrentLink;\nBreadcrumbCurrentLink.displayName = \"BreadcrumbCurrentLink\";\n\nexport const BreadcrumbSeparator = ChakraBreadcrumb.Separator;\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\";\n\nexport const BreadcrumbEllipsis = ChakraBreadcrumb.Ellipsis;\nBreadcrumbEllipsis.displayName = \"BreadcrumbEllipsis\";\n\nexport type BreadcrumbRootProps = ChakraBreadcrumb.RootProps;\nexport type BreadcrumbLinkProps = ChakraBreadcrumb.LinkProps;\n","import type { IconButtonProps, SpanProps } from \"@chakra-ui/react\";\nimport { ClientOnly, IconButton, Skeleton, Span } from \"@chakra-ui/react\";\nimport { Moon, Sun } from \"lucide-react\";\nimport type { ThemeProviderProps } from \"next-themes\";\nimport { ThemeProvider, useTheme } from \"next-themes\";\nimport type * as React from \"react\";\n\nexport interface ColorModeProviderProps extends ThemeProviderProps {}\n\nexport function ColorModeProvider(props: ColorModeProviderProps) {\n\treturn (\n\t\t<ThemeProvider attribute=\"class\" disableTransitionOnChange {...props} />\n\t);\n}\nColorModeProvider.displayName = \"ColorModeProvider\";\n\nexport type ColorMode = \"light\" | \"dark\";\n\nexport interface UseColorModeReturn {\n\tcolorMode: ColorMode;\n\tsetColorMode: (colorMode: ColorMode) => void;\n\ttoggleColorMode: () => void;\n}\n\nexport function useColorMode(): UseColorModeReturn {\n\tconst { resolvedTheme, setTheme, forcedTheme } = useTheme();\n\tconst colorMode = forcedTheme || resolvedTheme;\n\tconst toggleColorMode = () => {\n\t\tsetTheme(resolvedTheme === \"dark\" ? \"light\" : \"dark\");\n\t};\n\treturn {\n\t\tcolorMode: colorMode as ColorMode,\n\t\tsetColorMode: setTheme,\n\t\ttoggleColorMode,\n\t};\n}\n\nexport function useColorModeValue<T>(light: T, dark: T) {\n\tconst { colorMode } = useColorMode();\n\treturn colorMode === \"dark\" ? dark : light;\n}\n\nexport function ColorModeIcon() {\n\tconst { colorMode } = useColorMode();\n\treturn colorMode === \"dark\" ? <Moon /> : <Sun />;\n}\nColorModeIcon.displayName = \"ColorModeIcon\";\n\ninterface ColorModeButtonProps extends Omit<IconButtonProps, \"aria-label\"> {\n\t/** Accessible label for the color mode toggle button. @default \"Toggle color mode\" */\n\tlabel?: string;\n}\n\nexport const ColorModeButton = function ColorModeButton({\n\tref,\n\tlabel = \"Toggle color mode\",\n\t...props\n}: ColorModeButtonProps & { ref?: React.Ref<HTMLButtonElement> }) {\n\tconst { toggleColorMode } = useColorMode();\n\treturn (\n\t\t<ClientOnly fallback={<Skeleton boxSize=\"9\" />}>\n\t\t\t<IconButton\n\t\t\t\tonClick={toggleColorMode}\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\taria-label={label}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\tcss={{\n\t\t\t\t\t_icon: {\n\t\t\t\t\t\twidth: \"5\",\n\t\t\t\t\t\theight: \"5\",\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<ColorModeIcon />\n\t\t\t</IconButton>\n\t\t</ClientOnly>\n\t);\n};\nColorModeButton.displayName = \"ColorModeButton\";\n\nexport const LightMode = function LightMode({\n\tref,\n\t...props\n}: SpanProps & { ref?: React.Ref<HTMLSpanElement> }) {\n\treturn (\n\t\t<Span\n\t\t\tcolor=\"fg\"\n\t\t\tdisplay=\"contents\"\n\t\t\tclassName=\"chakra-theme light\"\n\t\t\tcolorPalette=\"gray\"\n\t\t\tdata-theme=\"light\"\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\nLightMode.displayName = \"LightMode\";\n\nexport const DarkMode = function DarkMode({\n\tref,\n\t...props\n}: SpanProps & { ref?: React.Ref<HTMLSpanElement> }) {\n\treturn (\n\t\t<Span\n\t\t\tcolor=\"fg\"\n\t\t\tdisplay=\"contents\"\n\t\t\tclassName=\"chakra-theme dark\"\n\t\t\tcolorPalette=\"gray\"\n\t\t\tdata-theme=\"dark\"\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\nDarkMode.displayName = \"DarkMode\";\n","import { HoverCard as ChakraHoverCard, Portal } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface HoverCardProps extends ChakraHoverCard.RootProps {\n\t/** Content displayed in the hover card. */\n\tcontent: React.ReactNode;\n\t/** Whether to show an arrow. @default false */\n\tshowArrow?: boolean;\n\t/** Whether to render in a portal. @default true */\n\tportalled?: boolean;\n\t/** Container ref for portal. */\n\tportalRef?: React.RefObject<HTMLElement | null>;\n\t/** Props passed to the content element. */\n\tcontentProps?: ChakraHoverCard.ContentProps;\n}\n\nexport const HoverCard = function HoverCard(props: HoverCardProps) {\n\tconst {\n\t\tcontent,\n\t\tshowArrow,\n\t\tchildren,\n\t\tportalled = true,\n\t\tportalRef,\n\t\tcontentProps,\n\t\t...rest\n\t} = props;\n\treturn (\n\t\t<ChakraHoverCard.Root {...rest}>\n\t\t\t<ChakraHoverCard.Trigger asChild>{children}</ChakraHoverCard.Trigger>\n\t\t\t<Portal disabled={!portalled} container={portalRef}>\n\t\t\t\t{/* Explicit zIndex so hover cards render above sticky layout\n\t\t\t\t chrome (sidebar / page header) at `docked` (10). See the\n\t\t\t\t matching note in primitives/menu.tsx. */}\n\t\t\t\t<ChakraHoverCard.Positioner style={{ zIndex: 1500 }}>\n\t\t\t\t\t<ChakraHoverCard.Content {...contentProps}>\n\t\t\t\t\t\t{showArrow && (\n\t\t\t\t\t\t\t<ChakraHoverCard.Arrow>\n\t\t\t\t\t\t\t\t<ChakraHoverCard.ArrowTip />\n\t\t\t\t\t\t\t</ChakraHoverCard.Arrow>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</ChakraHoverCard.Content>\n\t\t\t\t</ChakraHoverCard.Positioner>\n\t\t\t</Portal>\n\t\t</ChakraHoverCard.Root>\n\t);\n};\nHoverCard.displayName = \"HoverCard\";\n","import { PinInput as ChakraPinInput } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface PinInputProps\n\textends Omit<ChakraPinInput.RootProps, \"children\"> {\n\t/** Number of input fields. @default 4 */\n\tlength?: number;\n}\n\nexport const PinInput = function PinInput({\n\tref,\n\t...props\n}: PinInputProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { length = 4, ...rest } = props;\n\treturn (\n\t\t<ChakraPinInput.Root ref={ref} {...rest}>\n\t\t\t<ChakraPinInput.HiddenInput />\n\t\t\t<ChakraPinInput.Control>\n\t\t\t\t{Array.from({ length }).map((_, i) => (\n\t\t\t\t\t// biome-ignore lint/suspicious/noArrayIndexKey: index is the stable identity for pin input fields\n\t\t\t\t\t<ChakraPinInput.Input key={i} index={i} />\n\t\t\t\t))}\n\t\t\t</ChakraPinInput.Control>\n\t\t</ChakraPinInput.Root>\n\t);\n};\nPinInput.displayName = \"PinInput\";\n","import type { SystemContext } from \"@chakra-ui/react\";\nimport { ChakraProvider } from \"@chakra-ui/react\";\nimport defaultSystem from \"../theme\";\nimport { ColorModeProvider, type ColorModeProviderProps } from \"./color-mode\";\n\nexport interface ProviderProps extends ColorModeProviderProps {\n\t/** Override the default anker theme system. */\n\tsystem?: SystemContext;\n}\n\nexport function Provider({ system, ...props }: ProviderProps) {\n\treturn (\n\t\t<ChakraProvider value={system ?? defaultSystem}>\n\t\t\t<ColorModeProvider {...props} />\n\t\t</ChakraProvider>\n\t);\n}\nProvider.displayName = \"Provider\";\n","import { SegmentGroup as ChakraSegmentGroup } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface SegmentedControlItem {\n\tvalue: string;\n\tlabel: React.ReactNode;\n\tdisabled?: boolean;\n}\n\nexport interface SegmentedControlProps\n\textends Omit<ChakraSegmentGroup.RootProps, \"children\"> {\n\t/** Items to render as segments. */\n\titems: Array<string | SegmentedControlItem>;\n}\n\nexport const SegmentedControl = function SegmentedControl({\n\tref,\n\t...props\n}: SegmentedControlProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { items, ...rest } = props;\n\treturn (\n\t\t<ChakraSegmentGroup.Root ref={ref} {...rest}>\n\t\t\t<ChakraSegmentGroup.Indicator />\n\t\t\t{items.map((item) => {\n\t\t\t\tconst value = typeof item === \"string\" ? item : item.value;\n\t\t\t\tconst label = typeof item === \"string\" ? item : item.label;\n\t\t\t\tconst disabled = typeof item === \"string\" ? false : item.disabled;\n\t\t\t\treturn (\n\t\t\t\t\t<ChakraSegmentGroup.Item\n\t\t\t\t\t\tkey={value}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChakraSegmentGroup.ItemText>{label}</ChakraSegmentGroup.ItemText>\n\t\t\t\t\t\t<ChakraSegmentGroup.ItemHiddenInput />\n\t\t\t\t\t</ChakraSegmentGroup.Item>\n\t\t\t\t);\n\t\t\t})}\n\t\t</ChakraSegmentGroup.Root>\n\t);\n};\nSegmentedControl.displayName = \"SegmentedControl\";\n","import { Slider as ChakraSlider } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface SliderProps extends ChakraSlider.RootProps {\n\t/** Whether to show the current value label. @default false */\n\tshowValue?: boolean;\n\t/** Label text displayed alongside the slider. */\n\tlabel?: React.ReactNode;\n\t/** Marks to display on the track. */\n\tmarks?: Array<number | { value: number; label: React.ReactNode }>;\n}\n\nexport const Slider = function Slider({\n\tref,\n\t...props\n}: SliderProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { showValue, label, marks, ...rest } = props;\n\treturn (\n\t\t<ChakraSlider.Root ref={ref} {...rest}>\n\t\t\t{(label || showValue) && (\n\t\t\t\t<ChakraSlider.Label>\n\t\t\t\t\t{label}\n\t\t\t\t\t{showValue && <ChakraSlider.ValueText />}\n\t\t\t\t</ChakraSlider.Label>\n\t\t\t)}\n\t\t\t<ChakraSlider.Control>\n\t\t\t\t<ChakraSlider.Track>\n\t\t\t\t\t<ChakraSlider.Range />\n\t\t\t\t</ChakraSlider.Track>\n\t\t\t\t<ChakraSlider.Thumbs />\n\t\t\t</ChakraSlider.Control>\n\t\t\t{marks && <ChakraSlider.Marks marks={marks} />}\n\t\t</ChakraSlider.Root>\n\t);\n};\nSlider.displayName = \"Slider\";\n","import {\n\tPopover as ChakraPopover,\n\tIconButton,\n\ttype IconButtonProps,\n\tPortal,\n} from \"@chakra-ui/react\";\nimport { Info } from \"lucide-react\";\nimport type * as React from \"react\";\n\nexport interface ToggleTipProps extends ChakraPopover.RootProps {\n\tshowArrow?: boolean;\n\tportalled?: boolean;\n\tportalRef?: React.RefObject<HTMLElement | null>;\n\tcontent?: React.ReactNode;\n\tcontentProps?: ChakraPopover.ContentProps;\n}\n\nexport const ToggleTip = function ToggleTip({\n\tref,\n\t...props\n}: ToggleTipProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst {\n\t\tshowArrow,\n\t\tchildren,\n\t\tportalled = true,\n\t\tcontent,\n\t\tcontentProps,\n\t\tportalRef,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<ChakraPopover.Root\n\t\t\t{...rest}\n\t\t\tpositioning={{ ...rest.positioning, gutter: 4 }}\n\t\t>\n\t\t\t<ChakraPopover.Trigger asChild>{children}</ChakraPopover.Trigger>\n\t\t\t<Portal disabled={!portalled} container={portalRef}>\n\t\t\t\t<ChakraPopover.Positioner>\n\t\t\t\t\t<ChakraPopover.Content\n\t\t\t\t\t\twidth=\"auto\"\n\t\t\t\t\t\tpx=\"2\"\n\t\t\t\t\t\tpy=\"1\"\n\t\t\t\t\t\ttextStyle=\"xs\"\n\t\t\t\t\t\trounded=\"sm\"\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t{...contentProps}\n\t\t\t\t\t>\n\t\t\t\t\t\t{showArrow && (\n\t\t\t\t\t\t\t<ChakraPopover.Arrow>\n\t\t\t\t\t\t\t\t<ChakraPopover.ArrowTip />\n\t\t\t\t\t\t\t</ChakraPopover.Arrow>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</ChakraPopover.Content>\n\t\t\t\t</ChakraPopover.Positioner>\n\t\t\t</Portal>\n\t\t</ChakraPopover.Root>\n\t);\n};\nToggleTip.displayName = \"ToggleTip\";\n\nexport interface InfoTipProps extends Partial<ToggleTipProps> {\n\tbuttonProps?: IconButtonProps | undefined;\n\t/** Accessible label for the info tip button. @default \"info\" */\n\tlabel?: string;\n}\n\nexport const InfoTip = function InfoTip({\n\tref,\n\t...props\n}: InfoTipProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { children, buttonProps, label = \"info\", ...rest } = props;\n\treturn (\n\t\t<ToggleTip content={children} {...rest} ref={ref}>\n\t\t\t<IconButton\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\taria-label={label}\n\t\t\t\tsize=\"2xs\"\n\t\t\t\tcolorPalette=\"gray\"\n\t\t\t\tminWidth=\"44px\"\n\t\t\t\tminHeight=\"44px\"\n\t\t\t\t{...buttonProps}\n\t\t\t>\n\t\t\t\t<Info />\n\t\t\t</IconButton>\n\t\t</ToggleTip>\n\t);\n};\nInfoTip.displayName = \"InfoTip\";\n","import {\n\tBadge,\n\ttype BadgeProps,\n\tStat as ChakraStat,\n\tFormatNumber,\n} from \"@chakra-ui/react\";\nimport type * as React from \"react\";\nimport { InfoTip } from \"./toggle-tip\";\n\nexport interface StatLabelProps extends ChakraStat.LabelProps {\n\tinfo?: React.ReactNode;\n}\n\nexport const StatLabel = function StatLabel({\n\tref,\n\t...props\n}: StatLabelProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { info, children, ...rest } = props;\n\treturn (\n\t\t<ChakraStat.Label {...rest} ref={ref}>\n\t\t\t{children}\n\t\t\t{info && <InfoTip>{info}</InfoTip>}\n\t\t</ChakraStat.Label>\n\t);\n};\nStatLabel.displayName = \"StatLabel\";\n\nexport interface StatValueTextProps extends ChakraStat.ValueTextProps {\n\tvalue?: number;\n\tformatOptions?: Intl.NumberFormatOptions;\n}\n\nexport const StatValueText = function StatValueText({\n\tref,\n\t...props\n}: StatValueTextProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { value, formatOptions, children, ...rest } = props;\n\treturn (\n\t\t<ChakraStat.ValueText {...rest} ref={ref}>\n\t\t\t{children ||\n\t\t\t\t(value != null && <FormatNumber value={value} {...formatOptions} />)}\n\t\t</ChakraStat.ValueText>\n\t);\n};\nStatValueText.displayName = \"StatValueText\";\n\nexport const StatUpTrend = function StatUpTrend({\n\tref,\n\t...props\n}: BadgeProps & { ref?: React.Ref<HTMLDivElement> }) {\n\treturn (\n\t\t<Badge colorPalette=\"green\" gap=\"0\" {...props} ref={ref}>\n\t\t\t<ChakraStat.UpIndicator />\n\t\t\t{props.children}\n\t\t</Badge>\n\t);\n};\nStatUpTrend.displayName = \"StatUpTrend\";\n\nexport const StatDownTrend = function StatDownTrend({\n\tref,\n\t...props\n}: BadgeProps & { ref?: React.Ref<HTMLDivElement> }) {\n\treturn (\n\t\t<Badge colorPalette=\"red\" gap=\"0\" {...props} ref={ref}>\n\t\t\t<ChakraStat.DownIndicator />\n\t\t\t{props.children}\n\t\t</Badge>\n\t);\n};\nStatDownTrend.displayName = \"StatDownTrend\";\n\nexport const StatRoot = ChakraStat.Root;\nStatRoot.displayName = \"StatRoot\";\nexport const StatHelpText = ChakraStat.HelpText;\nStatHelpText.displayName = \"StatHelpText\";\nexport const StatValueUnit = ChakraStat.ValueUnit;\nStatValueUnit.displayName = \"StatValueUnit\";\n","import {\n\tToaster as ChakraToaster,\n\tcreateToaster,\n\tPortal,\n\tSpinner,\n\tStack,\n\tToast,\n} from \"@chakra-ui/react\";\n\nexport interface CreateToasterOptions {\n\tplacement?:\n\t\t| \"top\"\n\t\t| \"top-start\"\n\t\t| \"top-end\"\n\t\t| \"bottom\"\n\t\t| \"bottom-start\"\n\t\t| \"bottom-end\";\n\tpauseOnPageIdle?: boolean;\n}\n\nexport function createAnkerToaster(options: CreateToasterOptions = {}) {\n\tconst { placement = \"bottom-end\", pauseOnPageIdle = true } = options;\n\n\tconst toaster = createToaster({\n\t\tplacement,\n\t\tpauseOnPageIdle,\n\t});\n\n\tconst ToasterComponent = () => {\n\t\treturn (\n\t\t\t<Portal>\n\t\t\t\t<ChakraToaster toaster={toaster} insetInline={{ mdDown: \"4\" }}>\n\t\t\t\t\t{(toast) => (\n\t\t\t\t\t\t<Toast.Root width={{ md: \"sm\" }}>\n\t\t\t\t\t\t\t{toast.type === \"loading\" ? (\n\t\t\t\t\t\t\t\t<Spinner size=\"sm\" color=\"accent\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Toast.Indicator />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Stack gap=\"1\" flex=\"1\" maxWidth=\"100%\">\n\t\t\t\t\t\t\t\t{toast.title && <Toast.Title>{toast.title}</Toast.Title>}\n\t\t\t\t\t\t\t\t{toast.description && (\n\t\t\t\t\t\t\t\t\t<Toast.Description>{toast.description}</Toast.Description>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t\t{toast.action && (\n\t\t\t\t\t\t\t\t<Toast.ActionTrigger>{toast.action.label}</Toast.ActionTrigger>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{toast.closable && <Toast.CloseTrigger />}\n\t\t\t\t\t\t</Toast.Root>\n\t\t\t\t\t)}\n\t\t\t\t</ChakraToaster>\n\t\t\t</Portal>\n\t\t);\n\t};\n\n\treturn { toaster, Toaster: ToasterComponent };\n}\n\n// Default instance for convenience\nconst { toaster, Toaster } = createAnkerToaster();\n\n(Toaster as { displayName?: string }).displayName = \"Toaster\";\n\nexport { toaster, Toaster };\n"]}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/primitives/avatar.tsx","../src/primitives/menu.tsx","../src/primitives/tooltip.tsx"],"names":["Avatar","ChakraAvatar","ChakraAvatarGroup","MenuContent","jsx","ChakraMenu","MenuArrow","MenuCheckboxItem","jsxs","MenuRadioItem","MenuItemGroup","MenuTriggerItem","Tooltip","ChakraTooltip","Portal"],"mappings":"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","file":"chunk-GMHVY3F5.js","sourcesContent":["import {\n\tAvatar as ChakraAvatar,\n\tAvatarGroup as ChakraAvatarGroup,\n} from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\ntype ImageProps = React.ImgHTMLAttributes<HTMLImageElement>;\n\nexport interface AvatarProps extends ChakraAvatar.RootProps {\n\t/** Display name used to generate initials for the fallback. */\n\tname?: string;\n\t/** Image source URL. */\n\tsrc?: string;\n\t/** Image srcSet attribute for responsive images. */\n\tsrcSet?: string;\n\t/** Image loading strategy. */\n\tloading?: ImageProps[\"loading\"];\n\t/** Custom icon element shown as fallback. */\n\ticon?: React.ReactElement;\n\t/** Custom fallback content when no image or icon is provided. */\n\tfallback?: React.ReactNode;\n}\n\nexport const Avatar = function Avatar({\n\tref,\n\t...props\n}: AvatarProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { name, src, srcSet, loading, icon, fallback, children, ...rest } =\n\t\tprops;\n\treturn (\n\t\t<ChakraAvatar.Root ref={ref} {...rest}>\n\t\t\t<ChakraAvatar.Fallback name={name}>\n\t\t\t\t{icon || fallback}\n\t\t\t</ChakraAvatar.Fallback>\n\t\t\t<ChakraAvatar.Image src={src} srcSet={srcSet} loading={loading} />\n\t\t\t{children}\n\t\t</ChakraAvatar.Root>\n\t);\n};\nAvatar.displayName = \"Avatar\";\n\nexport const AvatarGroup = ChakraAvatarGroup;\nAvatarGroup.displayName = \"AvatarGroup\";\n","\"use client\";\n\nimport { AbsoluteCenter, Menu as ChakraMenu, Portal } from \"@chakra-ui/react\";\nimport { Check, ChevronRight } from \"lucide-react\";\nimport type * as React from \"react\";\n\ninterface MenuContentProps extends ChakraMenu.ContentProps {\n\t/** Whether to render the menu content inside a portal. @default true */\n\tportalled?: boolean;\n\t/** Container ref for the portal. */\n\tportalRef?: React.RefObject<HTMLElement | null>;\n}\n\nexport const MenuContent = function MenuContent({\n\tref,\n\t...props\n}: MenuContentProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { portalled = true, portalRef, ...rest } = props;\n\treturn (\n\t\t<Portal disabled={!portalled} container={portalRef}>\n\t\t\t{/* Explicit zIndex on the positioner ensures menus render above\n\t\t\t layout chrome with `docked` z-index (10) — sidebar, sticky page\n\t\t\t header, etc. Chakra's default left this implicit, which broke\n\t\t\t AccountPopup rendering when the AppShell sidebar was bumped\n\t\t\t above `docked` to keep its protruding collapse toggle above the\n\t\t\t sticky page header. */}\n\t\t\t<ChakraMenu.Positioner zIndex={1500}>\n\t\t\t\t<ChakraMenu.Content ref={ref} {...rest} />\n\t\t\t</ChakraMenu.Positioner>\n\t\t</Portal>\n\t);\n};\nMenuContent.displayName = \"MenuContent\";\n\nexport const MenuArrow = function MenuArrow({\n\tref,\n\t...props\n}: ChakraMenu.ArrowProps & { ref?: React.Ref<HTMLDivElement> }) {\n\treturn (\n\t\t<ChakraMenu.Arrow ref={ref} {...props}>\n\t\t\t<ChakraMenu.ArrowTip />\n\t\t</ChakraMenu.Arrow>\n\t);\n};\nMenuArrow.displayName = \"MenuArrow\";\n\nexport const MenuCheckboxItem = function MenuCheckboxItem({\n\tref,\n\t...props\n}: ChakraMenu.CheckboxItemProps & { ref?: React.Ref<HTMLDivElement> }) {\n\treturn (\n\t\t<ChakraMenu.CheckboxItem ps=\"8\" ref={ref} {...props}>\n\t\t\t<AbsoluteCenter axis=\"horizontal\" insetStart=\"4\" asChild>\n\t\t\t\t<ChakraMenu.ItemIndicator>\n\t\t\t\t\t<Check />\n\t\t\t\t</ChakraMenu.ItemIndicator>\n\t\t\t</AbsoluteCenter>\n\t\t\t{props.children}\n\t\t</ChakraMenu.CheckboxItem>\n\t);\n};\nMenuCheckboxItem.displayName = \"MenuCheckboxItem\";\n\nexport const MenuRadioItem = function MenuRadioItem({\n\tref,\n\t...props\n}: ChakraMenu.RadioItemProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { children, ...rest } = props;\n\treturn (\n\t\t<ChakraMenu.RadioItem ps=\"8\" ref={ref} {...rest}>\n\t\t\t<AbsoluteCenter axis=\"horizontal\" insetStart=\"4\" asChild>\n\t\t\t\t<ChakraMenu.ItemIndicator>\n\t\t\t\t\t<Check />\n\t\t\t\t</ChakraMenu.ItemIndicator>\n\t\t\t</AbsoluteCenter>\n\t\t\t<ChakraMenu.ItemText>{children}</ChakraMenu.ItemText>\n\t\t</ChakraMenu.RadioItem>\n\t);\n};\nMenuRadioItem.displayName = \"MenuRadioItem\";\n\nexport const MenuItemGroup = function MenuItemGroup({\n\tref,\n\t...props\n}: ChakraMenu.ItemGroupProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { title, children, ...rest } = props;\n\treturn (\n\t\t<ChakraMenu.ItemGroup ref={ref} {...rest}>\n\t\t\t{title && (\n\t\t\t\t<ChakraMenu.ItemGroupLabel userSelect=\"none\">\n\t\t\t\t\t{title}\n\t\t\t\t</ChakraMenu.ItemGroupLabel>\n\t\t\t)}\n\t\t\t{children}\n\t\t</ChakraMenu.ItemGroup>\n\t);\n};\nMenuItemGroup.displayName = \"MenuItemGroup\";\n\nexport interface MenuTriggerItemProps extends ChakraMenu.ItemProps {\n\t/** Icon rendered before the trigger item label. */\n\tstartIcon?: React.ReactNode;\n}\n\nexport const MenuTriggerItem = function MenuTriggerItem({\n\tref,\n\t...props\n}: MenuTriggerItemProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { startIcon, children, ...rest } = props;\n\treturn (\n\t\t<ChakraMenu.TriggerItem ref={ref} {...rest}>\n\t\t\t{startIcon}\n\t\t\t{children}\n\t\t\t<ChevronRight />\n\t\t</ChakraMenu.TriggerItem>\n\t);\n};\nMenuTriggerItem.displayName = \"MenuTriggerItem\";\n\nexport const MenuRadioItemGroup = ChakraMenu.RadioItemGroup;\nMenuRadioItemGroup.displayName = \"MenuRadioItemGroup\";\nexport const MenuContextTrigger = ChakraMenu.ContextTrigger;\nMenuContextTrigger.displayName = \"MenuContextTrigger\";\nexport const MenuRoot = ChakraMenu.Root;\nMenuRoot.displayName = \"MenuRoot\";\nexport const MenuSeparator = ChakraMenu.Separator;\nMenuSeparator.displayName = \"MenuSeparator\";\n\nexport const MenuItem = ChakraMenu.Item;\nMenuItem.displayName = \"MenuItem\";\nexport const MenuItemText = ChakraMenu.ItemText;\nMenuItemText.displayName = \"MenuItemText\";\nexport const MenuItemCommand = ChakraMenu.ItemCommand;\nMenuItemCommand.displayName = \"MenuItemCommand\";\nexport const MenuTrigger = ChakraMenu.Trigger;\nMenuTrigger.displayName = \"MenuTrigger\";\n","import { Tooltip as ChakraTooltip, Portal } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface TooltipProps extends ChakraTooltip.RootProps {\n\tshowArrow?: boolean;\n\tportalled?: boolean;\n\tportalRef?: React.RefObject<HTMLElement | null>;\n\tcontent: React.ReactNode;\n\tcontentProps?: ChakraTooltip.ContentProps;\n\tdisabled?: boolean;\n}\n\nexport const Tooltip = function Tooltip({\n\tref,\n\t...props\n}: TooltipProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst {\n\t\tshowArrow,\n\t\tchildren,\n\t\tdisabled,\n\t\tportalled = true,\n\t\tcontent,\n\t\tcontentProps,\n\t\tportalRef,\n\t\t...rest\n\t} = props;\n\n\tif (disabled) return children;\n\n\treturn (\n\t\t<ChakraTooltip.Root {...rest}>\n\t\t\t<ChakraTooltip.Trigger asChild>{children}</ChakraTooltip.Trigger>\n\t\t\t<Portal disabled={!portalled} container={portalRef}>\n\t\t\t\t<ChakraTooltip.Positioner>\n\t\t\t\t\t<ChakraTooltip.Content ref={ref} {...contentProps}>\n\t\t\t\t\t\t{showArrow && (\n\t\t\t\t\t\t\t<ChakraTooltip.Arrow>\n\t\t\t\t\t\t\t\t<ChakraTooltip.ArrowTip />\n\t\t\t\t\t\t\t</ChakraTooltip.Arrow>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</ChakraTooltip.Content>\n\t\t\t\t</ChakraTooltip.Positioner>\n\t\t\t</Portal>\n\t\t</ChakraTooltip.Root>\n\t);\n};\nTooltip.displayName = \"Tooltip\";\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/primitives/popover.tsx","../src/primitives/switch.tsx"],"names":["Popover","ChakraPopover","PopoverContent","Switch","jsxs","ChakraSwitch","jsx"],"mappings":";;;;AAKO,IAAM,OAAA,GAAU,SAASA,QAAAA,CAAQ,KAAA,EAAqB;AAC5D,EAAA,2BAAQC,SAAA,CAAc,IAAA,EAAd,EAAoB,GAAG,KAAA,EAAQ,gBAAM,QAAA,EAAS,CAAA;AACvD;AACA,OAAA,CAAQ,WAAA,GAAc,SAAA;AAEf,IAAM,iBAAiBA,SAAA,CAAc;AAC5C,cAAA,CAAe,WAAA,GAAc,gBAAA;AAWtB,IAAM,cAAA,GAAiB,SAASC,eAAAA,CAAe;AAAA,EACrD,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAA8D;AAC7D,EAAA,MAAM,EAAE,WAAW,SAAA,GAAY,IAAA,EAAM,WAAW,QAAA,EAAU,GAAG,MAAK,GAAI,KAAA;AACtE,EAAA,2BACE,MAAA,EAAA,EAAO,QAAA,EAAU,CAAC,SAAA,EAAW,SAAA,EAAW,WAIxC,QAAA,kBAAA,GAAA,CAACD,SAAA,CAAc,YAAd,EAAyB,MAAA,EAAQ,MACjC,QAAA,kBAAA,IAAA,CAACA,SAAA,CAAc,SAAd,EAAsB,GAAA,EAAW,GAAG,IAAA,EACnC,QAAA,EAAA;AAAA,IAAA,SAAA,oBACA,GAAA,CAACA,UAAc,KAAA,EAAd,EACA,8BAACA,SAAA,CAAc,QAAA,EAAd,EAAuB,CAAA,EACzB,CAAA;AAAA,IAEA;AAAA,GAAA,EACF,GACD,CAAA,EACD,CAAA;AAEF;AACA,cAAA,CAAe,WAAA,GAAc,gBAAA;AAEtB,IAAM,gBAAgBA,SAAA,CAAc;AAC3C,aAAA,CAAc,WAAA,GAAc,eAAA;AAErB,IAAM,cAAcA,SAAA,CAAc;AACzC,WAAA,CAAY,WAAA,GAAc,aAAA;AAEnB,IAAM,gBAAgBA,SAAA,CAAc;AAC3C,aAAA,CAAc,WAAA,GAAc,eAAA;AAErB,IAAM,sBAAsBA,SAAA,CAAc;AACjD,mBAAA,CAAoB,WAAA,GAAc,qBAAA;AAE3B,IAAM,eAAeA,SAAA,CAAc;AAC1C,YAAA,CAAa,WAAA,GAAc,cAAA;AAEpB,IAAM,qBAAqBA,SAAA,CAAc;AAChD,kBAAA,CAAmB,WAAA,GAAc,oBAAA;ACjD1B,IAAM,MAAA,GAAS,SAASE,OAAAA,CAAO;AAAA,EACrC,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAwD;AACvD,EAAA,MAAM,EAAE,YAAY,QAAA,EAAU,OAAA,EAAS,YAAY,UAAA,EAAY,GAAG,MAAK,GACtE,KAAA;AAED,EAAA,uBACCC,KAACC,QAAA,CAAa,IAAA,EAAb,EAAkB,GAAA,EAAK,OAAA,EAAU,GAAG,IAAA,EACpC,QAAA,EAAA;AAAA,oBAAAC,IAACD,QAAA,CAAa,WAAA,EAAb,EAAyB,GAAA,EAAW,GAAG,UAAA,EAAY,CAAA;AAAA,oBACpDD,IAAAA,CAACC,QAAA,CAAa,OAAA,EAAb,EACA,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAACD,QAAA,CAAa,KAAA,EAAb,EACC,wCACAC,GAAAA,CAACD,QAAA,CAAa,cAAA,EAAb,EAA4B,QAAA,EAAU,UAAA,EAAY,GAAA,EACjD,QAAA,EAAA,UAAA,EAAY,IACd,CAAA,EAEF,CAAA;AAAA,MACC,UAAA,oBACAC,GAAAA,CAACD,QAAA,CAAa,SAAA,EAAb,EAAuB,QAAA,EAAU,UAAA,CAAW,GAAA,EAC3C,QAAA,EAAA,UAAA,CAAW,EAAA,EACb;AAAA,KAAA,EAEF,CAAA;AAAA,IACC,YAAY,IAAA,oBAAQC,IAACD,QAAA,CAAa,KAAA,EAAb,EAAoB,QAAA,EAAS;AAAA,GAAA,EACpD,CAAA;AAEF;AACA,MAAA,CAAO,WAAA,GAAc,QAAA","file":"chunk-XJAGNQAP.js","sourcesContent":["import { Popover as ChakraPopover, Portal } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport type PopoverProps = ChakraPopover.RootProps;\n\nexport const Popover = function Popover(props: PopoverProps) {\n\treturn <ChakraPopover.Root {...props}>{props.children}</ChakraPopover.Root>;\n};\nPopover.displayName = \"Popover\";\n\nexport const PopoverTrigger = ChakraPopover.Trigger;\nPopoverTrigger.displayName = \"PopoverTrigger\";\n\nexport interface PopoverContentProps extends ChakraPopover.ContentProps {\n\t/** Whether to show an arrow. @default false */\n\tshowArrow?: boolean;\n\t/** Whether to render in a portal. @default true */\n\tportalled?: boolean;\n\t/** Container ref for portal. */\n\tportalRef?: React.RefObject<HTMLElement | null>;\n}\n\nexport const PopoverContent = function PopoverContent({\n\tref,\n\t...props\n}: PopoverContentProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { showArrow, portalled = true, portalRef, children, ...rest } = props;\n\treturn (\n\t\t<Portal disabled={!portalled} container={portalRef}>\n\t\t\t{/* Explicit zIndex so popovers render above sticky layout chrome\n\t\t\t (sidebar / page header) at `docked` (10). See the matching\n\t\t\t note in primitives/menu.tsx. */}\n\t\t\t<ChakraPopover.Positioner zIndex={1500}>\n\t\t\t\t<ChakraPopover.Content ref={ref} {...rest}>\n\t\t\t\t\t{showArrow && (\n\t\t\t\t\t\t<ChakraPopover.Arrow>\n\t\t\t\t\t\t\t<ChakraPopover.ArrowTip />\n\t\t\t\t\t\t</ChakraPopover.Arrow>\n\t\t\t\t\t)}\n\t\t\t\t\t{children}\n\t\t\t\t</ChakraPopover.Content>\n\t\t\t</ChakraPopover.Positioner>\n\t\t</Portal>\n\t);\n};\nPopoverContent.displayName = \"PopoverContent\";\n\nexport const PopoverHeader = ChakraPopover.Header;\nPopoverHeader.displayName = \"PopoverHeader\";\n\nexport const PopoverBody = ChakraPopover.Body;\nPopoverBody.displayName = \"PopoverBody\";\n\nexport const PopoverFooter = ChakraPopover.Footer;\nPopoverFooter.displayName = \"PopoverFooter\";\n\nexport const PopoverCloseTrigger = ChakraPopover.CloseTrigger;\nPopoverCloseTrigger.displayName = \"PopoverCloseTrigger\";\n\nexport const PopoverTitle = ChakraPopover.Title;\nPopoverTitle.displayName = \"PopoverTitle\";\n\nexport const PopoverDescription = ChakraPopover.Description;\nPopoverDescription.displayName = \"PopoverDescription\";\n","import { Switch as ChakraSwitch } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface SwitchProps extends ChakraSwitch.RootProps {\n\t/** Additional props forwarded to the hidden input element. */\n\tinputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n\t/** Ref attached to the root label element. */\n\trootRef?: React.RefObject<HTMLLabelElement | null>;\n\t/** Labels displayed inside the track for on/off states. */\n\ttrackLabel?: { on: React.ReactNode; off: React.ReactNode };\n\t/** Labels displayed inside the thumb for on/off states. */\n\tthumbLabel?: { on: React.ReactNode; off: React.ReactNode };\n}\n\nexport const Switch = function Switch({\n\tref,\n\t...props\n}: SwitchProps & { ref?: React.Ref<HTMLInputElement> }) {\n\tconst { inputProps, children, rootRef, trackLabel, thumbLabel, ...rest } =\n\t\tprops;\n\n\treturn (\n\t\t<ChakraSwitch.Root ref={rootRef} {...rest}>\n\t\t\t<ChakraSwitch.HiddenInput ref={ref} {...inputProps} />\n\t\t\t<ChakraSwitch.Control>\n\t\t\t\t<ChakraSwitch.Thumb>\n\t\t\t\t\t{thumbLabel && (\n\t\t\t\t\t\t<ChakraSwitch.ThumbIndicator fallback={thumbLabel?.off}>\n\t\t\t\t\t\t\t{thumbLabel?.on}\n\t\t\t\t\t\t</ChakraSwitch.ThumbIndicator>\n\t\t\t\t\t)}\n\t\t\t\t</ChakraSwitch.Thumb>\n\t\t\t\t{trackLabel && (\n\t\t\t\t\t<ChakraSwitch.Indicator fallback={trackLabel.off}>\n\t\t\t\t\t\t{trackLabel.on}\n\t\t\t\t\t</ChakraSwitch.Indicator>\n\t\t\t\t)}\n\t\t\t</ChakraSwitch.Control>\n\t\t\t{children != null && <ChakraSwitch.Label>{children}</ChakraSwitch.Label>}\n\t\t</ChakraSwitch.Root>\n\t);\n};\nSwitch.displayName = \"Switch\";\n"]}
|