@landtrustinc/design-system 1.1.3 → 1.1.4-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import * as _emotion_utils from '@emotion/utils';
1
+ import * as _emotion_react from '@emotion/react';
2
+ import { Interpolation, Theme } from '@emotion/react';
2
3
  import * as _emotion_react_jsx_runtime from '@emotion/react/jsx-runtime';
3
4
  import * as React$1 from 'react';
4
5
  import React__default, { HTMLAttributes, FC, PropsWithChildren, SVGProps, ReactNode } from 'react';
@@ -6,11 +7,9 @@ import * as _emotion_styled from '@emotion/styled';
6
7
  import * as csstype from 'csstype';
7
8
  import * as styled_system from 'styled-system';
8
9
  import { BorderProps, SpaceProps, ColorProps, FlexboxProps, GridProps as GridProps$1, LayoutProps, PositionProps, TypographyProps, WidthProps } from 'styled-system';
9
- import * as _emotion_react from '@emotion/react';
10
- import { Interpolation, Theme } from '@emotion/react';
11
10
 
12
- declare const globalStyles: _emotion_utils.SerializedStyles;
13
- declare const GlobalStyle: _emotion_utils.SerializedStyles;
11
+ declare const globalStyles: _emotion_react.SerializedStyles;
12
+ declare const GlobalStyle: _emotion_react.SerializedStyles;
14
13
 
15
14
  declare const screens: {
16
15
  sm: string;
@@ -524,32 +523,60 @@ declare namespace styles {
524
523
  export { styles_ThemeTokens as ThemeTokens, styles_borderRadius as borderRadius, styles_boxShadow as boxShadow, styles_colors as colors, styles_fontSizes as fontSizes, styles_fontWeights as fontWeights, styles_fonts as fonts, styles_headingSizes as headingSizes, styles_lineHeights as lineHeights, styles_media as media, styles_opacity as opacity, styles_screens as screens, styles_sizes as sizes, styles_space as space, styles_textShadow as textShadow, styles_transition as transition, styles_zIndex as zIndex };
525
524
  }
526
525
 
527
- type Props$f = {
526
+ type AIResponseProps = {
527
+ /**
528
+ * Optional title for the AI response
529
+ */
528
530
  title?: string;
531
+ /**
532
+ * Whether to show disclaimer text
533
+ */
529
534
  showDisclaimer?: boolean;
535
+ /**
536
+ * Whether to show helpful feedback question
537
+ */
530
538
  showHelpfulQuestion?: boolean;
539
+ /**
540
+ * Additional CSS class names
541
+ */
531
542
  className?: string;
543
+ /**
544
+ * Content to display in the response
545
+ */
532
546
  children?: React__default.ReactNode;
547
+ /**
548
+ * Callback when user clicks "Yes" for helpful feedback
549
+ */
533
550
  onHelpfulYes?: () => void;
551
+ /**
552
+ * Callback when user clicks "No" for helpful feedback
553
+ */
534
554
  onHelpfulNo?: () => void;
555
+ /**
556
+ * Visual variant of the response
557
+ */
535
558
  variant?: 'default' | 'error';
559
+ /**
560
+ * Callback for retry button in error state
561
+ */
536
562
  onErrorRetry?: () => void;
563
+ /**
564
+ * Debounce time for helpful feedback in milliseconds
565
+ */
537
566
  helpfulDebounceMs?: number;
538
567
  };
539
- declare const AIResponse: ({ title, showDisclaimer, showHelpfulQuestion, className, children, onHelpfulYes, onHelpfulNo, variant, onErrorRetry, helpfulDebounceMs, }: Props$f) => _emotion_react_jsx_runtime.JSX.Element;
568
+ declare const AIResponse: ({ title, showDisclaimer, showHelpfulQuestion, className, children, onHelpfulYes, onHelpfulNo, variant, onErrorRetry, helpfulDebounceMs, }: AIResponseProps) => _emotion_react_jsx_runtime.JSX.Element;
540
569
 
541
570
  type AvailabilityChipVariant = 'primary' | 'error' | 'action' | 'warning';
542
- type AvailabilityChipProps$1 = HTMLAttributes<HTMLSpanElement> & {
543
- /** The visual variant of the chip */
544
- variant: AvailabilityChipVariant;
545
- /** Optional custom className */
546
- className?: string;
547
- };
548
571
 
549
572
  type AvailabilityChipProps = HTMLAttributes<HTMLSpanElement> & {
550
- /** The visual variant of the chip */
573
+ /**
574
+ * Visual variant of the chip
575
+ */
551
576
  variant: AvailabilityChipVariant;
552
- /** Optional custom className */
577
+ /**
578
+ * Additional CSS class names
579
+ */
553
580
  className?: string;
554
581
  };
555
582
  declare const AvailabilityChip: FC<PropsWithChildren<AvailabilityChipProps>>;
@@ -568,10 +595,10 @@ declare const Box: _emotion_styled.StyledComponent<{
568
595
  className?: string | undefined;
569
596
  }, React$1.DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
570
597
 
571
- type Props$e = BoxProps & {
598
+ type Props = BoxProps & {
572
599
  isFullWidth?: boolean;
573
600
  };
574
- declare const Container: ({ children, className, isFullWidth, ...props }: Props$e) => _emotion_react_jsx_runtime.JSX.Element;
601
+ declare const Container: ({ children, className, isFullWidth, ...props }: Props) => _emotion_react_jsx_runtime.JSX.Element;
575
602
 
576
603
  declare const SvgAiMagic: (props: SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
577
604
 
@@ -966,7 +993,7 @@ declare namespace Icons {
966
993
  }
967
994
 
968
995
  type IconVariantTypes$1 = keyof typeof Icons;
969
- type Props$d = {
996
+ type IconProps = {
970
997
  variant: IconVariantTypes$1;
971
998
  size?: keyof typeof space;
972
999
  className?: string;
@@ -974,149 +1001,323 @@ type Props$d = {
974
1001
  onClick?: () => void;
975
1002
  fill?: string;
976
1003
  };
977
- declare const Icon: ({ variant, size, className, setAutoHeight, fill, ...rest }: Props$d) => _emotion_react_jsx_runtime.JSX.Element;
1004
+ declare const Icon: ({ variant, size, className, setAutoHeight, fill, ...rest }: IconProps) => _emotion_react_jsx_runtime.JSX.Element;
978
1005
 
979
1006
  type ButtonVariants = 'primary' | 'secondary' | 'tertiary' | 'plus' | 'simple' | 'text' | 'topo';
980
1007
 
981
1008
  type ButtonAndAnchorProps = React__default.HTMLProps<HTMLButtonElement> & React__default.HTMLProps<HTMLAnchorElement>;
982
- type Props$c = Omit<ButtonAndAnchorProps, 'size' | 'as' | 'onClick'> & {
1009
+ type ButtonProps = {
1010
+ /**
1011
+ * Element type to render as (button, a, etc.)
1012
+ */
983
1013
  as?: React__default.ElementType;
1014
+ /**
1015
+ * Visual style variant of the button
1016
+ */
984
1017
  variant?: ButtonVariants;
1018
+ /**
1019
+ * Whether the button should take full width
1020
+ */
985
1021
  fullWidth?: boolean;
1022
+ /**
1023
+ * Whether to show loading state
1024
+ */
986
1025
  isLoading?: boolean;
1026
+ /**
1027
+ * Whether the button is disabled
1028
+ */
987
1029
  disabled?: boolean;
1030
+ /**
1031
+ * Button content
1032
+ */
988
1033
  children?: React__default.ReactNode;
1034
+ /**
1035
+ * Button type attribute
1036
+ */
989
1037
  type?: 'submit' | 'button';
1038
+ /**
1039
+ * Size variant of the button
1040
+ */
990
1041
  size?: 'xs' | 'base' | 'sm' | 'lg';
1042
+ /**
1043
+ * Additional CSS class names
1044
+ */
991
1045
  className?: string;
1046
+ /**
1047
+ * Custom styles for the button label
1048
+ */
992
1049
  labelStyleOverrides?: Interpolation<Theme>;
1050
+ /**
1051
+ * Click event handler
1052
+ */
993
1053
  onClick?: React__default.MouseEventHandler<HTMLElement>;
1054
+ /**
1055
+ * Icon element to display in the button
1056
+ */
994
1057
  icon?: React__default.ReactElement<React__default.ComponentProps<typeof Icon>>;
995
- };
996
- declare const Button: React__default.ForwardRefExoticComponent<Omit<Props$c, "ref"> & React__default.RefAttributes<HTMLElement>>;
997
-
998
- type Variant = 'sent' | 'received';
999
- type Props$b = {
1000
- variant?: Variant;
1058
+ } & Omit<ButtonAndAnchorProps, 'size' | 'as' | 'onClick'>;
1059
+ declare const Button: React__default.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & React__default.RefAttributes<HTMLElement>>;
1060
+
1061
+ type MessageBubbleVariant = 'sent' | 'received';
1062
+
1063
+ type MessageBubbleProps = {
1064
+ /**
1065
+ * Visual variant of the message bubble
1066
+ */
1067
+ variant?: MessageBubbleVariant;
1068
+ /**
1069
+ * Optional timestamp to display
1070
+ */
1001
1071
  timestamp?: string;
1072
+ /**
1073
+ * Additional CSS class names
1074
+ */
1002
1075
  className?: string;
1076
+ /**
1077
+ * Content to display in the message bubble
1078
+ */
1003
1079
  children?: React__default.ReactNode;
1004
1080
  };
1005
- declare const MessageBubble: ({ variant, timestamp, className, children, }: Props$b) => _emotion_react_jsx_runtime.JSX.Element;
1081
+ declare const MessageBubble: ({ variant, timestamp, className, children, }: MessageBubbleProps) => _emotion_react_jsx_runtime.JSX.Element;
1006
1082
 
1007
1083
  type ChatWidgetMessage = React__default.ReactElement<React__default.ComponentProps<typeof AIResponse>, typeof AIResponse> | React__default.ReactElement<React__default.ComponentProps<typeof MessageBubble>, typeof MessageBubble>;
1008
- type Props$a = {
1084
+ type ChatWidgetProps = {
1085
+ /**
1086
+ * Title displayed in the chat widget header
1087
+ */
1009
1088
  title: string;
1089
+ /**
1090
+ * Array of messages to display
1091
+ */
1010
1092
  messages: ChatWidgetMessage[];
1093
+ /**
1094
+ * Callback when user submits a message
1095
+ */
1011
1096
  onSubmit: (value: string) => void;
1097
+ /**
1098
+ * Placeholder text for the input field
1099
+ */
1012
1100
  placeholder?: string;
1101
+ /**
1102
+ * Whether the chat widget is disabled
1103
+ */
1013
1104
  disabled?: boolean;
1105
+ /**
1106
+ * Additional CSS class names
1107
+ */
1014
1108
  className?: string;
1109
+ /**
1110
+ * ARIA label for accessibility
1111
+ */
1015
1112
  ariaLabel?: string;
1113
+ /**
1114
+ * Width of the chat panel
1115
+ */
1016
1116
  panelWidth?: number | string;
1117
+ /**
1118
+ * Whether the widget is expanded (controlled)
1119
+ */
1017
1120
  expanded?: boolean;
1121
+ /**
1122
+ * Default expanded state (uncontrolled)
1123
+ */
1018
1124
  defaultExpanded?: boolean;
1125
+ /**
1126
+ * Callback when expanded state changes
1127
+ */
1019
1128
  onExpandedChange?: (expanded: boolean) => void;
1129
+ /**
1130
+ * Whether to show thinking indicator
1131
+ */
1020
1132
  isThinking?: boolean;
1133
+ /**
1134
+ * Messages to show when chat is empty
1135
+ */
1021
1136
  emptyState?: ChatWidgetMessage[];
1137
+ /**
1138
+ * Additional props for the container
1139
+ */
1022
1140
  containerProps?: BoxProps;
1023
1141
  };
1024
- declare const ChatWidget: ({ title, messages, onSubmit, placeholder, disabled, className, ariaLabel, panelWidth, expanded, defaultExpanded, onExpandedChange, isThinking, emptyState, containerProps, }: Props$a) => _emotion_react_jsx_runtime.JSX.Element;
1142
+ declare const ChatWidget: ({ title, messages, onSubmit, placeholder, disabled, className, ariaLabel, panelWidth, expanded, defaultExpanded, onExpandedChange, isThinking, emptyState, containerProps, }: ChatWidgetProps) => _emotion_react_jsx_runtime.JSX.Element;
1025
1143
 
1026
1144
  type DividerProps = React__default.HTMLAttributes<HTMLHRElement> & SpaceProps & {
1145
+ /**
1146
+ * Additional CSS class names
1147
+ */
1027
1148
  className?: string;
1028
1149
  };
1029
1150
  declare const Divider: React__default.FC<DividerProps>;
1030
1151
 
1031
- type Props$9 = {
1152
+ type FieldNoteCardProps = {
1153
+ /**
1154
+ * URL of the background image
1155
+ */
1032
1156
  backgroundImage: string;
1157
+ /**
1158
+ * Title text displayed on the card
1159
+ */
1033
1160
  title: string;
1161
+ /**
1162
+ * Text displayed on the action button
1163
+ */
1034
1164
  buttonLabel: string;
1165
+ /**
1166
+ * Callback when the card or button is clicked
1167
+ */
1035
1168
  onClick?: () => void;
1169
+ /**
1170
+ * Additional CSS class names
1171
+ */
1036
1172
  className?: string;
1037
1173
  };
1038
- declare const FieldNoteCard: ({ backgroundImage, title, buttonLabel, onClick, className, ...rest }: Props$9) => _emotion_react_jsx_runtime.JSX.Element;
1174
+ declare const FieldNoteCard: ({ backgroundImage, title, buttonLabel, onClick, className, ...rest }: FieldNoteCardProps) => _emotion_react_jsx_runtime.JSX.Element;
1175
+
1176
+ interface FormFieldProps {
1177
+ /**
1178
+ * Field label
1179
+ */
1180
+ label?: string;
1181
+ /**
1182
+ * Whether to hide the label visually
1183
+ */
1184
+ hideLabel?: boolean;
1185
+ /**
1186
+ * Whether the field is required
1187
+ */
1188
+ required?: boolean;
1189
+ /**
1190
+ * Error message
1191
+ */
1192
+ error?: string;
1193
+ /**
1194
+ * Success message
1195
+ */
1196
+ success?: string;
1197
+ /**
1198
+ * Help text
1199
+ */
1200
+ helpText?: string;
1201
+ /**
1202
+ * Field ID for accessibility
1203
+ */
1204
+ htmlFor?: string;
1205
+ /**
1206
+ * Children components
1207
+ */
1208
+ children: ReactNode;
1209
+ /**
1210
+ * Additional CSS class names
1211
+ */
1212
+ className?: string;
1213
+ }
1214
+ declare const FormField: React__default.FC<FormFieldProps>;
1039
1215
 
1040
1216
  type InputSize = 'sm' | 'md' | 'lg';
1041
1217
  type InputVariant = 'default' | 'error' | 'success';
1218
+
1042
1219
  interface BaseInputProps {
1043
- /** Size variant of the input */
1220
+ /**
1221
+ * Size variant of the input
1222
+ */
1044
1223
  size?: InputSize;
1045
- /** Visual variant of the input */
1224
+ /**
1225
+ * Visual variant of the input
1226
+ */
1046
1227
  variant?: InputVariant;
1047
- /** Whether the input is disabled */
1228
+ /**
1229
+ * Whether the input is disabled
1230
+ */
1048
1231
  disabled?: boolean;
1049
- /** Whether the input is required */
1232
+ /**
1233
+ * Whether the input is required
1234
+ */
1050
1235
  required?: boolean;
1051
- /** Whether the input is read-only */
1236
+ /**
1237
+ * Whether the input is read-only
1238
+ */
1052
1239
  readOnly?: boolean;
1053
- /** Help text displayed below the input */
1240
+ /**
1241
+ * Help text displayed below the input
1242
+ */
1054
1243
  helpText?: string;
1055
- /** Error message displayed below the input */
1244
+ /**
1245
+ * Error message displayed below the input
1246
+ */
1056
1247
  error?: string;
1057
- /** Success message displayed below the input */
1248
+ /**
1249
+ * Success message displayed below the input
1250
+ */
1058
1251
  success?: string;
1059
- /** Label text for the input */
1252
+ /**
1253
+ * Label text for the input
1254
+ */
1060
1255
  label?: string;
1061
- /** Whether to hide the label visually (for accessibility) */
1256
+ /**
1257
+ * Whether to hide the label visually (for accessibility)
1258
+ */
1062
1259
  hideLabel?: boolean;
1063
- /** Icon to display at the start of the input */
1260
+ /**
1261
+ * Icon to display at the start of the input
1262
+ */
1064
1263
  startIcon?: ReactNode;
1065
- /** Icon to display at the end of the input */
1264
+ /**
1265
+ * Icon to display at the end of the input
1266
+ */
1066
1267
  endIcon?: ReactNode;
1067
- /** Additional className */
1268
+ /**
1269
+ * Additional CSS class names
1270
+ */
1068
1271
  className?: string;
1069
- /** Placeholder text */
1272
+ /**
1273
+ * Placeholder text
1274
+ */
1070
1275
  placeholder?: string;
1071
1276
  }
1072
- interface InputProps extends BaseInputProps, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
1073
- /** Input type */
1277
+ interface InputProps extends BaseInputProps, Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'size'> {
1278
+ /**
1279
+ * Input type
1280
+ */
1074
1281
  type?: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search';
1075
1282
  }
1283
+ declare const Input: React__default.ForwardRefExoticComponent<InputProps & React__default.RefAttributes<HTMLInputElement>>;
1284
+
1076
1285
  interface SelectOption {
1286
+ /**
1287
+ * Option value
1288
+ */
1077
1289
  value: string | number;
1290
+ /**
1291
+ * Option label text
1292
+ */
1078
1293
  label: string;
1294
+ /**
1295
+ * Whether the option is disabled
1296
+ */
1079
1297
  disabled?: boolean;
1080
1298
  }
1081
- interface SelectProps extends BaseInputProps, Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'> {
1082
- /** Select options */
1299
+ interface SelectProps extends BaseInputProps, Omit<React__default.SelectHTMLAttributes<HTMLSelectElement>, 'size'> {
1300
+ /**
1301
+ * Select options
1302
+ */
1083
1303
  options: SelectOption[];
1084
- /** Placeholder option text */
1304
+ /**
1305
+ * Placeholder option text
1306
+ */
1085
1307
  placeholderOption?: string;
1086
1308
  }
1087
- interface TextareaProps extends BaseInputProps, Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'> {
1088
- /** Number of visible text lines */
1309
+ declare const Select: React__default.ForwardRefExoticComponent<SelectProps & React__default.RefAttributes<HTMLSelectElement>>;
1310
+
1311
+ interface TextareaProps extends BaseInputProps, Omit<React__default.TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'> {
1312
+ /**
1313
+ * Number of visible text lines
1314
+ */
1089
1315
  rows?: number;
1090
- /** Whether the textarea can be resized */
1316
+ /**
1317
+ * Whether the textarea can be resized
1318
+ */
1091
1319
  resize?: 'none' | 'both' | 'horizontal' | 'vertical';
1092
1320
  }
1093
- interface FormFieldProps {
1094
- /** Field label */
1095
- label?: string;
1096
- /** Whether to hide the label visually */
1097
- hideLabel?: boolean;
1098
- /** Whether the field is required */
1099
- required?: boolean;
1100
- /** Error message */
1101
- error?: string;
1102
- /** Success message */
1103
- success?: string;
1104
- /** Help text */
1105
- helpText?: string;
1106
- /** Field ID for accessibility */
1107
- htmlFor?: string;
1108
- /** Children components */
1109
- children: ReactNode;
1110
- /** Additional className */
1111
- className?: string;
1112
- }
1113
-
1114
- declare const FormField: React__default.FC<FormFieldProps>;
1115
-
1116
- declare const Input: React__default.ForwardRefExoticComponent<InputProps & React__default.RefAttributes<HTMLInputElement>>;
1117
-
1118
- declare const Select: React__default.ForwardRefExoticComponent<SelectProps & React__default.RefAttributes<HTMLSelectElement>>;
1119
-
1120
1321
  type ExtraProps = {
1121
1322
  autoExpand?: boolean;
1122
1323
  maxHeight?: number | string;
@@ -1128,6 +1329,7 @@ type ExtraProps = {
1128
1329
  };
1129
1330
  declare const TextArea: React__default.ForwardRefExoticComponent<TextareaProps & ExtraProps & React__default.RefAttributes<HTMLTextAreaElement>>;
1130
1331
 
1332
+ type GridBreakpoint = 'sm' | 'md' | 'lg' | 'xl';
1131
1333
  type ResponsiveValue<T> = T | {
1132
1334
  sm?: T;
1133
1335
  md?: T;
@@ -1135,56 +1337,101 @@ type ResponsiveValue<T> = T | {
1135
1337
  xl?: T;
1136
1338
  _?: T;
1137
1339
  };
1340
+
1341
+ interface ColumnProps extends BoxProps {
1342
+ /**
1343
+ * Column span at different breakpoints
1344
+ */
1345
+ span?: ResponsiveValue<number | 'auto'>;
1346
+ /**
1347
+ * Column start position
1348
+ */
1349
+ start?: ResponsiveValue<number>;
1350
+ /**
1351
+ * Column end position
1352
+ */
1353
+ end?: ResponsiveValue<number>;
1354
+ /**
1355
+ * Row position
1356
+ */
1357
+ row?: ResponsiveValue<number>;
1358
+ /**
1359
+ * Row span
1360
+ */
1361
+ rowSpan?: ResponsiveValue<number>;
1362
+ /**
1363
+ * Grid area name
1364
+ */
1365
+ area?: string;
1366
+ /**
1367
+ * Column children
1368
+ */
1369
+ children: ReactNode;
1370
+ }
1371
+ declare const Column: ({ span, start, end, row, rowSpan, area, children, ...props }: ColumnProps) => _emotion_react_jsx_runtime.JSX.Element;
1372
+
1138
1373
  interface GridProps extends Omit<BoxProps, 'display'> {
1139
- /** Number of columns at different breakpoints */
1374
+ /**
1375
+ * Number of columns at different breakpoints
1376
+ */
1140
1377
  columns?: ResponsiveValue<number>;
1141
- /** Gap between grid items using space tokens */
1378
+ /**
1379
+ * Gap between grid items using space tokens
1380
+ */
1142
1381
  gap?: ResponsiveValue<keyof typeof space>;
1143
- /** Row gap between grid items using space tokens */
1382
+ /**
1383
+ * Row gap between grid items using space tokens
1384
+ */
1144
1385
  rowGap?: ResponsiveValue<keyof typeof space>;
1145
- /** Column gap between grid items using space tokens */
1386
+ /**
1387
+ * Column gap between grid items using space tokens
1388
+ */
1146
1389
  columnGap?: ResponsiveValue<keyof typeof space>;
1147
- /** Size of auto-generated rows */
1390
+ /**
1391
+ * Size of auto-generated rows
1392
+ */
1148
1393
  autoRows?: string;
1149
- /** Size of auto-generated columns */
1394
+ /**
1395
+ * Size of auto-generated columns
1396
+ */
1150
1397
  autoColumns?: string;
1151
- /** Grid template areas for named layouts */
1398
+ /**
1399
+ * Grid template areas for named layouts
1400
+ */
1152
1401
  templateAreas?: ResponsiveValue<string>;
1153
- /** Align items in the grid */
1402
+ /**
1403
+ * Align items in the grid
1404
+ */
1154
1405
  alignItems?: ResponsiveValue<'start' | 'end' | 'center' | 'stretch'>;
1155
- /** Justify items in the grid */
1406
+ /**
1407
+ * Justify items in the grid
1408
+ */
1156
1409
  justifyItems?: ResponsiveValue<'start' | 'end' | 'center' | 'stretch'>;
1157
- /** Justify content in the grid */
1410
+ /**
1411
+ * Justify content in the grid
1412
+ */
1158
1413
  justifyContent?: ResponsiveValue<'start' | 'end' | 'center' | 'stretch' | 'space-between' | 'space-around' | 'space-evenly'>;
1414
+ /**
1415
+ * Grid children
1416
+ */
1159
1417
  children: ReactNode;
1160
1418
  }
1161
- interface ColumnProps extends BoxProps {
1162
- /** Column span at different breakpoints */
1163
- span?: ResponsiveValue<number | 'auto'>;
1164
- /** Column start position */
1165
- start?: ResponsiveValue<number>;
1166
- /** Column end position */
1167
- end?: ResponsiveValue<number>;
1168
- /** Row position */
1169
- row?: ResponsiveValue<number>;
1170
- /** Row span */
1171
- rowSpan?: ResponsiveValue<number>;
1172
- /** Grid area name */
1173
- area?: string;
1174
- children: ReactNode;
1175
- }
1419
+ declare const Grid: ({ columns, gap, rowGap, columnGap, autoRows, autoColumns, templateAreas, alignItems, justifyItems, justifyContent, children, ...props }: GridProps) => _emotion_react_jsx_runtime.JSX.Element;
1420
+
1176
1421
  interface GridContainerProps extends HTMLAttributes<HTMLDivElement> {
1177
- /** Maximum width constraint */
1422
+ /**
1423
+ * Maximum width constraint
1424
+ */
1178
1425
  maxWidth?: 'sm' | 'md' | 'lg' | 'xl' | 'content' | 'wide' | 'full' | string;
1426
+ /**
1427
+ * Container children
1428
+ */
1179
1429
  children: ReactNode;
1430
+ /**
1431
+ * Additional CSS class names
1432
+ */
1180
1433
  className?: string;
1181
1434
  }
1182
- type GridBreakpoint = 'sm' | 'md' | 'lg' | 'xl';
1183
-
1184
- declare const Column: ({ span, start, end, row, rowSpan, area, children, ...props }: ColumnProps) => _emotion_react_jsx_runtime.JSX.Element;
1185
-
1186
- declare const Grid: ({ columns, gap, rowGap, columnGap, autoRows, autoColumns, templateAreas, alignItems, justifyItems, justifyContent, children, ...props }: GridProps) => _emotion_react_jsx_runtime.JSX.Element;
1187
-
1188
1435
  declare const GridContainer: ({ maxWidth, children, className, ...props }: GridContainerProps) => _emotion_react_jsx_runtime.JSX.Element;
1189
1436
 
1190
1437
  /**
@@ -1208,96 +1455,235 @@ declare const LayoutTokens: {
1208
1455
  };
1209
1456
  };
1210
1457
 
1211
- type Props$8 = {
1458
+ type HuntCardProps = {
1459
+ /**
1460
+ * URL of the background image
1461
+ */
1212
1462
  backgroundImage: string;
1463
+ /**
1464
+ * Title text displayed on the card
1465
+ */
1213
1466
  title: string;
1467
+ /**
1468
+ * Text displayed on the action button
1469
+ */
1214
1470
  buttonLabel: string;
1471
+ /**
1472
+ * Callback when the card or button is clicked
1473
+ */
1215
1474
  onClick?: () => void;
1475
+ /**
1476
+ * Additional CSS class names
1477
+ */
1216
1478
  className?: string;
1217
1479
  };
1218
- declare const HuntCard: ({ backgroundImage, title, buttonLabel, onClick, className, ...rest }: Props$8) => _emotion_react_jsx_runtime.JSX.Element;
1480
+ declare const HuntCard: ({ backgroundImage, title, buttonLabel, onClick, className, ...rest }: HuntCardProps) => _emotion_react_jsx_runtime.JSX.Element;
1219
1481
 
1220
- type Props$7 = {
1482
+ type IconLabelProps = {
1483
+ /**
1484
+ * Icon variant to display
1485
+ */
1221
1486
  variant: IconVariantTypes$1;
1487
+ /**
1488
+ * Text label to display next to the icon
1489
+ */
1222
1490
  label: string;
1491
+ /**
1492
+ * Size of the icon
1493
+ */
1223
1494
  iconSize?: keyof typeof space;
1495
+ /**
1496
+ * Additional CSS class names
1497
+ */
1224
1498
  className?: string;
1225
1499
  };
1226
- declare const IconLabel: ({ variant, label, iconSize, className, ...rest }: Props$7) => _emotion_react_jsx_runtime.JSX.Element;
1500
+ declare const IconLabel: ({ variant, label, iconSize, className, ...rest }: IconLabelProps) => _emotion_react_jsx_runtime.JSX.Element;
1227
1501
 
1228
- type Props$6 = {
1229
- /** Called when the user submits text. Receives the submitted string. */
1502
+ type ListingChatProps = {
1503
+ /**
1504
+ * Called when the user submits text
1505
+ */
1230
1506
  onSubmit: (value: string) => void;
1231
- /** Placeholder text for the input area */
1507
+ /**
1508
+ * Placeholder text for the input area
1509
+ */
1232
1510
  placeholder?: string;
1233
- /** Optional className */
1511
+ /**
1512
+ * Additional CSS class names
1513
+ */
1234
1514
  className?: string;
1235
- /** Optional label next to the AIMagic icon */
1515
+ /**
1516
+ * Optional label next to the AI Magic icon
1517
+ */
1236
1518
  title?: string;
1237
- /** Suggested tags the user can click to submit quickly */
1519
+ /**
1520
+ * Array of suggested tags/questions to display as chips
1521
+ */
1238
1522
  tags?: string[];
1239
- /** Disable the input and submit button */
1523
+ /**
1524
+ * Whether the input is disabled
1525
+ */
1240
1526
  disabled?: boolean;
1241
1527
  };
1242
- declare const ListingChat: ({ onSubmit, placeholder, className, title, tags, disabled, ...rest }: Props$6) => _emotion_react_jsx_runtime.JSX.Element;
1528
+ declare const ListingChat: ({ onSubmit, placeholder, className, title, tags, disabled, ...rest }: ListingChatProps) => _emotion_react_jsx_runtime.JSX.Element;
1243
1529
 
1244
1530
  type LogoVariant = 'standard' | 'plus';
1245
1531
  type LogoTheme = 'light' | 'dark';
1246
- type Props$5 = {
1532
+
1533
+ type LogoProps = {
1534
+ /**
1535
+ * Logo variant ('standard' or 'plus')
1536
+ */
1247
1537
  variant: LogoVariant;
1538
+ /**
1539
+ * Color theme ('light' or 'dark')
1540
+ */
1248
1541
  theme?: LogoTheme;
1542
+ /**
1543
+ * Size of the logo using space tokens
1544
+ */
1249
1545
  size?: keyof typeof space;
1546
+ /**
1547
+ * Additional CSS class names
1548
+ */
1250
1549
  className?: string;
1550
+ /**
1551
+ * Click event handler
1552
+ */
1251
1553
  onClick?: () => void;
1252
1554
  };
1253
- declare const Logo: ({ variant, theme, size, className, ...rest }: Props$5) => _emotion_react_jsx_runtime.JSX.Element;
1555
+ declare const Logo: ({ variant, theme, size, className, ...rest }: LogoProps) => _emotion_react_jsx_runtime.JSX.Element;
1254
1556
 
1255
1557
  type NavLink = {
1558
+ /**
1559
+ * Text label for the navigation link
1560
+ */
1256
1561
  label: string;
1562
+ /**
1563
+ * URL or path for the navigation link
1564
+ */
1257
1565
  href: string;
1566
+ /**
1567
+ * Optional click handler
1568
+ */
1258
1569
  onClick?: () => void;
1259
1570
  };
1260
- type Props$4 = {
1571
+ type NavigationProps = {
1572
+ /**
1573
+ * Callback when the mobile menu is toggled
1574
+ */
1261
1575
  onMenuToggle?: () => void;
1576
+ /**
1577
+ * Additional CSS class names
1578
+ */
1262
1579
  className?: string;
1580
+ /**
1581
+ * Logo variant
1582
+ */
1263
1583
  logoVariant?: 'standard' | 'plus';
1584
+ /**
1585
+ * Logo theme
1586
+ */
1264
1587
  logoTheme?: 'light' | 'dark';
1588
+ /**
1589
+ * Array of navigation links
1590
+ */
1265
1591
  navLinks?: NavLink[];
1592
+ /**
1593
+ * Callback when the avatar is clicked
1594
+ */
1266
1595
  onAvatarClick?: () => void;
1267
1596
  };
1268
- declare const Navigation: ({ onMenuToggle, className, logoVariant, logoTheme, navLinks, onAvatarClick, ...rest }: Props$4) => _emotion_react_jsx_runtime.JSX.Element;
1597
+ declare const Navigation: ({ onMenuToggle, className, logoVariant, logoTheme, navLinks, onAvatarClick, ...rest }: NavigationProps) => _emotion_react_jsx_runtime.JSX.Element;
1269
1598
 
1270
- type Props$3 = {
1599
+ type PackageCardProps = {
1600
+ /**
1601
+ * Array of image URLs to display
1602
+ */
1271
1603
  images: string[];
1604
+ /**
1605
+ * Main title of the package
1606
+ */
1272
1607
  title: string;
1608
+ /**
1609
+ * Subtitle or description
1610
+ */
1273
1611
  subtitle: string;
1612
+ /**
1613
+ * Starting price text
1614
+ */
1274
1615
  startingPrice: string;
1616
+ /**
1617
+ * Number of trips remaining
1618
+ */
1275
1619
  tripsLeft?: number;
1620
+ /**
1621
+ * Whether the package is favorited
1622
+ */
1276
1623
  isFavorited?: boolean;
1624
+ /**
1625
+ * Callback when favorite button is clicked
1626
+ */
1277
1627
  onFavoriteClick?: () => void;
1628
+ /**
1629
+ * Callback when card is clicked
1630
+ */
1278
1631
  onClick?: () => void;
1632
+ /**
1633
+ * Additional CSS class names
1634
+ */
1279
1635
  className?: string;
1636
+ /**
1637
+ * Number of days for the package
1638
+ */
1280
1639
  days?: number;
1640
+ /**
1641
+ * Number of guests
1642
+ */
1281
1643
  guests?: number;
1644
+ /**
1645
+ * Whether lodging is included
1646
+ */
1282
1647
  hasLodging?: boolean;
1648
+ /**
1649
+ * Optional badge element to display
1650
+ */
1651
+ badge?: React__default.ReactNode;
1652
+ /**
1653
+ * Availability status text
1654
+ */
1655
+ availability?: string;
1283
1656
  };
1284
- declare const PackageCard: ({ images, title, subtitle, startingPrice, tripsLeft, isFavorited, onFavoriteClick, onClick, className, days, guests, hasLodging, ...rest }: Props$3) => _emotion_react_jsx_runtime.JSX.Element;
1657
+ declare const PackageCard: ({ images, title, subtitle, startingPrice, tripsLeft, isFavorited, onFavoriteClick, onClick, className, days, guests, hasLodging, ...rest }: PackageCardProps) => _emotion_react_jsx_runtime.JSX.Element;
1285
1658
 
1286
- type Props$2 = {
1659
+ type SpinnerProps = {
1660
+ /**
1661
+ * Size of the spinner using space tokens
1662
+ */
1287
1663
  size?: keyof typeof space;
1664
+ /**
1665
+ * Additional CSS class names
1666
+ */
1288
1667
  className?: string;
1668
+ /**
1669
+ * Fill color for the spinner
1670
+ */
1289
1671
  fill?: string;
1290
1672
  };
1291
- declare const Spinner: ({ size, className, fill }: Props$2) => _emotion_react_jsx_runtime.JSX.Element;
1673
+ declare const Spinner: ({ size, className, fill }: SpinnerProps) => _emotion_react_jsx_runtime.JSX.Element;
1292
1674
 
1293
1675
  type TagChipVariant = 'primary' | 'success' | 'warning' | 'error';
1676
+
1294
1677
  type TagChipProps = HTMLAttributes<HTMLSpanElement> & {
1295
- /** The visual variant of the chip */
1678
+ /**
1679
+ * Visual variant of the chip
1680
+ */
1296
1681
  variant?: TagChipVariant;
1297
- /** Optional custom className */
1682
+ /**
1683
+ * Additional CSS class names
1684
+ */
1298
1685
  className?: string;
1299
1686
  };
1300
-
1301
1687
  declare const TagChip: FC<PropsWithChildren<TagChipProps>>;
1302
1688
 
1303
1689
  type THeadingSize = 'xl' | 'lg' | 'md' | 'sm' | 'xs' | '2xs';
@@ -1306,74 +1692,146 @@ type TFontWeight = 'normal' | 'semibold' | 'bold' | 'extrabold';
1306
1692
  type TTextAlign = 'left' | 'center' | 'right' | 'justify' | 'start' | 'end';
1307
1693
  type TTextWrap = 'pretty' | 'balance' | 'nowrap' | 'wrap' | 'stable';
1308
1694
 
1309
- type Props$1 = HTMLAttributes<HTMLElement> & {
1695
+ type HeadingProps = HTMLAttributes<HTMLElement> & {
1696
+ /**
1697
+ * Size variant of the heading
1698
+ */
1310
1699
  size?: THeadingSize;
1311
- /** DOM element name that will be rendered */
1700
+ /**
1701
+ * DOM element name to render as
1702
+ */
1312
1703
  as?: string;
1313
- /** Optional custom className */
1704
+ /**
1705
+ * Additional CSS class names
1706
+ */
1314
1707
  className?: string;
1315
- /** Optional prop to set the uppercase */
1708
+ /**
1709
+ * Whether to transform text to uppercase
1710
+ */
1316
1711
  uppercase?: boolean;
1317
- /** Optional prop to set the font weight */
1712
+ /**
1713
+ * Font weight of the heading
1714
+ */
1318
1715
  fontWeight?: TFontWeight;
1319
- /** Optional prop to set the text align */
1716
+ /**
1717
+ * Text alignment
1718
+ */
1320
1719
  textAlign?: TTextAlign;
1321
- /** Optional prop to set the text wrap */
1720
+ /**
1721
+ * Text wrapping behavior
1722
+ */
1322
1723
  textWrap?: TTextWrap;
1323
- /** Color token (e.g., "gray.100") or CSS color value */
1724
+ /**
1725
+ * Color token or CSS color value
1726
+ */
1324
1727
  color?: string;
1325
1728
  };
1326
- declare const Heading: FC<PropsWithChildren<Props$1>>;
1729
+ declare const Heading: FC<PropsWithChildren<HeadingProps>>;
1327
1730
 
1328
- type Props = HTMLAttributes<HTMLElement> & {
1731
+ type TextProps = HTMLAttributes<HTMLElement> & {
1732
+ /**
1733
+ * Size variant of the text
1734
+ */
1329
1735
  size?: TTextSize;
1330
- /** DOM element name that will be rendered */
1736
+ /**
1737
+ * DOM element name to render as
1738
+ */
1331
1739
  as?: string;
1332
- /** Optional custom className */
1740
+ /**
1741
+ * Additional CSS class names
1742
+ */
1333
1743
  className?: string;
1334
- /** Optional prop to set the font weight */
1744
+ /**
1745
+ * Font weight of the text
1746
+ */
1335
1747
  fontWeight?: TFontWeight;
1336
- /** Optional prop to set the uppercase */
1748
+ /**
1749
+ * Whether to transform text to uppercase
1750
+ */
1337
1751
  uppercase?: boolean;
1338
- /** Optional prop to set the text align */
1752
+ /**
1753
+ * Text alignment
1754
+ */
1339
1755
  textAlign?: TTextAlign;
1340
- /** Optional prop to set the text wrap */
1756
+ /**
1757
+ * Text wrapping behavior
1758
+ */
1341
1759
  textWrap?: TTextWrap;
1342
- /** Color token (e.g., "gray.100") or CSS color value */
1760
+ /**
1761
+ * Color token or CSS color value
1762
+ */
1343
1763
  color?: string;
1344
1764
  };
1345
- declare const Text: FC<PropsWithChildren<Props>>;
1765
+ declare const Text: FC<PropsWithChildren<TextProps>>;
1346
1766
 
1347
1767
  type IconVariantTypes = Parameters<typeof Icon>[0]['variant'];
1348
1768
  type WidgetProps = {
1769
+ /**
1770
+ * ARIA label for accessibility
1771
+ */
1349
1772
  ariaLabel: string;
1773
+ /**
1774
+ * Icon to display when widget is collapsed
1775
+ */
1350
1776
  icon?: IconVariantTypes;
1777
+ /**
1778
+ * Icon to display when widget is expanded
1779
+ */
1351
1780
  expandedIcon?: IconVariantTypes;
1781
+ /**
1782
+ * Default expanded state (uncontrolled)
1783
+ */
1352
1784
  defaultExpanded?: boolean;
1785
+ /**
1786
+ * Expanded state (controlled)
1787
+ */
1353
1788
  expanded?: boolean;
1789
+ /**
1790
+ * Callback when expanded state changes
1791
+ */
1354
1792
  onExpandedChange?: (expanded: boolean) => void;
1793
+ /**
1794
+ * Width of the widget panel (defaults to 480)
1795
+ */
1355
1796
  panelWidth?: number | string;
1797
+ /**
1798
+ * Additional CSS class names
1799
+ */
1356
1800
  className?: string;
1801
+ /**
1802
+ * Widget content
1803
+ */
1357
1804
  children?: React__default.ReactNode;
1805
+ /**
1806
+ * Additional props for the container
1807
+ */
1358
1808
  containerProps?: BoxProps;
1359
1809
  };
1360
- declare const WidgetTrigger: React__default.FC<{
1810
+ type WidgetTriggerProps = {
1811
+ /**
1812
+ * Additional CSS class names
1813
+ */
1361
1814
  className?: string;
1362
- }>;
1363
- declare const WidgetPanel: React__default.FC<{
1815
+ };
1816
+ type WidgetPanelProps = {
1817
+ /**
1818
+ * Additional CSS class names
1819
+ */
1364
1820
  className?: string;
1365
- style?: React__default.CSSProperties;
1821
+ /**
1822
+ * Content to display within the widget panel
1823
+ */
1366
1824
  children?: React__default.ReactNode;
1825
+ };
1826
+ declare const WidgetTrigger: React__default.FC<WidgetTriggerProps>;
1827
+ declare const WidgetPanel: React__default.FC<WidgetPanelProps & {
1828
+ style?: React__default.CSSProperties;
1367
1829
  }>;
1368
1830
  declare const Widget: React__default.FC<WidgetProps> & {
1369
- Trigger: React__default.FC<{
1370
- className?: string | undefined;
1371
- }>;
1372
- Panel: React__default.FC<{
1373
- className?: string | undefined;
1831
+ Trigger: React__default.FC<WidgetTriggerProps>;
1832
+ Panel: React__default.FC<WidgetPanelProps & {
1374
1833
  style?: React__default.CSSProperties | undefined;
1375
- children?: React__default.ReactNode;
1376
1834
  }>;
1377
1835
  };
1378
1836
 
1379
- export { AIResponse, AvailabilityChip, type AvailabilityChipProps$1 as AvailabilityChipProps, type AvailabilityChipVariant, type BaseInputProps, Box, type BoxProps, Button, type ButtonVariants, ChatWidget, type ChatWidgetMessage, Column, type ColumnProps, Container, Divider, FieldNoteCard, FormField, type FormFieldProps, GlobalStyle, Grid, type GridBreakpoint, GridContainer, type GridContainerProps, type GridProps, Heading, HuntCard, Icon, IconLabel, type IconVariantTypes$1 as IconVariantTypes, Input, type InputProps, type InputSize, type InputVariant, LayoutTokens, ListingChat, Logo, type LogoTheme, type LogoVariant, MessageBubble, Navigation, PackageCard, type ResponsiveValue, Select, type SelectOption, type SelectProps, Spinner, TagChip, type TagChipProps, Text, TextArea, type TextareaProps, ThemeTokens, Widget, WidgetPanel, WidgetTrigger, globalStyles, styles };
1837
+ export { AIResponse, type AIResponseProps, AvailabilityChip, type AvailabilityChipProps, type AvailabilityChipVariant, type BaseInputProps, Box, type BoxProps, Button, type ButtonProps, type ButtonVariants, ChatWidget, type ChatWidgetMessage, type ChatWidgetProps, Column, type ColumnProps, Container, Divider, type DividerProps, FieldNoteCard, type FieldNoteCardProps, FormField, type FormFieldProps, GlobalStyle, Grid, type GridBreakpoint, GridContainer, type GridContainerProps, type GridProps, Heading, type HeadingProps, HuntCard, type HuntCardProps, Icon, IconLabel, type IconLabelProps, type IconProps, type IconVariantTypes$1 as IconVariantTypes, Input, type InputProps, type InputSize, type InputVariant, LayoutTokens, ListingChat, type ListingChatProps, Logo, type LogoProps, type LogoTheme, type LogoVariant, MessageBubble, type MessageBubbleProps, type NavLink, Navigation, type NavigationProps, PackageCard, type PackageCardProps, type ResponsiveValue, Select, type SelectOption, type SelectProps, Spinner, type SpinnerProps, type TFontWeight, type THeadingSize, type TTextAlign, type TTextSize, type TTextWrap, TagChip, type TagChipProps, type TagChipVariant, Text, TextArea, type TextProps, type TextareaProps, ThemeTokens, Widget, WidgetPanel, type WidgetPanelProps, type WidgetProps, WidgetTrigger, type WidgetTriggerProps, globalStyles, styles };