@7shifts/sous-chef 4.6.0 → 4.7.0-beta-20260625201656

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.
Files changed (47) hide show
  1. package/dist/forms/CheckboxField/CheckboxField.d.ts +1 -0
  2. package/dist/forms/ColorField/ColorField.d.ts +4 -2
  3. package/dist/forms/ColorField/ColorOverlay/ColorOverlay.d.ts +4 -1
  4. package/dist/forms/ColorField/ColorOverlay/useColorKeyboardNavigation.d.ts +2 -1
  5. package/dist/forms/ColorField/CustomColorPicker/CustomColorPicker.d.ts +18 -0
  6. package/dist/forms/ColorField/CustomColorPicker/index.d.ts +2 -0
  7. package/dist/forms/ColorField/constants.d.ts +1 -0
  8. package/dist/forms/ColorField/domain.d.ts +14 -0
  9. package/dist/forms/PasswordField/PasswordField.d.ts +2 -0
  10. package/dist/forms/WeekSelectField/WeekSelectField.d.ts +17 -0
  11. package/dist/forms/WeekSelectField/index.d.ts +1 -0
  12. package/dist/forms/index.d.ts +2 -1
  13. package/dist/foundation/tokens/color/color-codes.d.ts +46 -0
  14. package/dist/i18n/locales/en.json +10 -0
  15. package/dist/i18n/locales/es.json +10 -0
  16. package/dist/i18n/locales/fr.json +10 -0
  17. package/dist/index.css +211 -10
  18. package/dist/index.css.map +1 -1
  19. package/dist/index.js +934 -409
  20. package/dist/index.js.map +1 -1
  21. package/dist/index.modern.js +1115 -611
  22. package/dist/index.modern.js.map +1 -1
  23. package/dist/navigation/Tab/Tab.d.ts +10 -0
  24. package/dist/navigation/Tab/index.d.ts +1 -0
  25. package/dist/navigation/TabList/TabList.d.ts +7 -0
  26. package/dist/navigation/TabList/index.d.ts +1 -0
  27. package/dist/navigation/TabPanel/TabPanel.d.ts +9 -0
  28. package/dist/navigation/TabPanel/index.d.ts +1 -0
  29. package/dist/navigation/Tabs/Tabs.d.ts +9 -0
  30. package/dist/navigation/Tabs/TabsContext.d.ts +15 -0
  31. package/dist/navigation/Tabs/index.d.ts +1 -0
  32. package/dist/navigation/index.d.ts +5 -1
  33. package/dist/overlay/Tooltip/Tooltip.d.ts +2 -0
  34. package/dist/utils/date.d.ts +1 -0
  35. package/dist/utils/elements.d.ts +2 -0
  36. package/llms-instructions/guidelines/Calendar.guidelines.md +17 -0
  37. package/llms-instructions/guidelines/EmptyState.guidelines.md +3 -3
  38. package/llms-instructions/guidelines/PaginationControls.guidelines.md +1 -1
  39. package/llms-instructions/guidelines/PersistentBanner.guidelines.md +0 -1
  40. package/llms-instructions/guidelines/SegmentedControl.guidelines.md +2 -0
  41. package/llms-instructions/guidelines/Spinner.guidelines.md +4 -6
  42. package/llms-instructions/guidelines/Tabs.guidelines.md +65 -0
  43. package/llms-instructions/guidelines/WeekSelectField.guidelines.md +52 -0
  44. package/llms-instructions/llms-components.md +10 -2
  45. package/llms-instructions/llms-icons-and-illustrations.md +1 -0
  46. package/llms-instructions/llms-tokens.md +3 -7
  47. package/package.json +2 -2
@@ -5,6 +5,7 @@ type Props = {
5
5
  /** If not provided it will generate a random id so the label links properly with the text input */
6
6
  id?: string;
7
7
  checked?: boolean;
8
+ indeterminate?: boolean;
8
9
  onChange?: (e: boolean) => void;
9
10
  onBlur?: (e: boolean) => void;
10
11
  label?: React.ReactNode;
@@ -1,5 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { Props as TextFieldProps } from '../TextField/TextField';
3
- type Props = Omit<TextFieldProps, 'suffix' | 'prefix' | 'autoComplete' | 'defaultValue' | 'maxLength'>;
4
- declare const ColorField: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLInputElement>>;
3
+ declare const ColorField: React.ForwardRefExoticComponent<{
4
+ /** When true, allows the user to select a custom color */
5
+ allowCustomColor?: boolean | undefined;
6
+ } & Omit<TextFieldProps, "suffix" | "prefix" | "autoComplete" | "defaultValue" | "maxLength"> & React.RefAttributes<HTMLInputElement>>;
5
7
  export default ColorField;
@@ -1,9 +1,12 @@
1
1
  import React from 'react';
2
+ import { SequentialColor } from '../constants';
2
3
  type Props = {
3
4
  onClose: () => void;
4
5
  triggerRef: React.RefObject<HTMLElement>;
5
- selectedColor?: string;
6
+ selectedColor?: SequentialColor;
6
7
  onSelect: (color: string) => void;
8
+ onCustomColor: () => void;
9
+ allowCustomColor?: boolean;
7
10
  };
8
11
  declare const ColorsOverlay: (props: Props) => React.JSX.Element;
9
12
  export default ColorsOverlay;
@@ -1,4 +1,5 @@
1
- export declare const useColorKeyboardNavigation: (selectedColor: string) => {
1
+ export declare const CUSTOM_COLOR_INDEX: 20;
2
+ export declare const useColorKeyboardNavigation: (selectedColor: string, allowCustomColor?: boolean) => {
2
3
  selectedColorIndex: number | null;
3
4
  setSelectedColorIndex: import("react").Dispatch<import("react").SetStateAction<number | null>>;
4
5
  };
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ export type CustomColorPickerHandle = {
3
+ /** Open the native color picker at the field's current color. */
4
+ open: () => void;
5
+ };
6
+ type Props = {
7
+ /** The current field color; the picker opens seeded with this value. */
8
+ color?: string;
9
+ /** Called with the committed hex once the user closes the picker. */
10
+ onSelect: (color: string) => void;
11
+ };
12
+ /**
13
+ * A visually hidden native color input. It is kept mounted on the field (not
14
+ * inside the swatch overlay) so the browser's picker survives the overlay
15
+ * closing, and it is opened imperatively via the `open` handle.
16
+ */
17
+ declare const CustomColorPicker: React.ForwardRefExoticComponent<Props & React.RefAttributes<CustomColorPickerHandle>>;
18
+ export default CustomColorPicker;
@@ -0,0 +1,2 @@
1
+ export { default } from './CustomColorPicker';
2
+ export type { CustomColorPickerHandle } from './CustomColorPicker';
@@ -1 +1,2 @@
1
1
  export declare const SEQUENTIAL_COLORS: readonly ["seq-18", "seq-4", "seq-7", "seq-16", "seq-12", "seq-6", "seq-9", "seq-3", "seq-11", "seq-1", "seq-13", "seq-10", "seq-14", "seq-8", "seq-19", "seq-20", "seq-2", "seq-17", "seq-15", "seq-5"];
2
+ export type SequentialColor = (typeof SEQUENTIAL_COLORS)[number];
@@ -0,0 +1,14 @@
1
+ import { SequentialColor } from './constants';
2
+ export declare const isSeqToken: (value: string) => value is "seq-18" | "seq-4" | "seq-7" | "seq-16" | "seq-12" | "seq-6" | "seq-9" | "seq-3" | "seq-11" | "seq-1" | "seq-13" | "seq-10" | "seq-14" | "seq-8" | "seq-19" | "seq-20" | "seq-2" | "seq-17" | "seq-15" | "seq-5";
3
+ /**
4
+ * Whether a value is a 6-digit hex color, which is the only format the native
5
+ * color picker accepts.
6
+ */
7
+ export declare const isHexColor: (value: string | undefined) => value is string;
8
+ /**
9
+ * Resolves a stored field value to the sequential color token it represents.
10
+ * Accepts both a token name directly (e.g. `seq-1`) and a hex color string so
11
+ * that fields migrated from hex storage continue to resolve correctly.
12
+ */
13
+ export declare const findSeqToken: (value: string | undefined) => SequentialColor | undefined;
14
+ export declare const findSeqTokenByHex: (value: string | undefined) => SequentialColor | undefined;
@@ -14,6 +14,8 @@ type Props = {
14
14
  defaultValue?: string;
15
15
  criterias?: PasswordCriteria[];
16
16
  testId?: string;
17
+ /** Sets the autocomplete attribute on the input for password manager compatibility (e.g. "current-password", "new-password") */
18
+ autoComplete?: string;
17
19
  };
18
20
  /** A field used for passwords. It obfuscates the input by default, but has the option to reveal the input. Can also include required password criteria. */
19
21
  declare const PasswordField: React.FC<Props>;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ name: string;
4
+ id?: string;
5
+ /** The dates to display as pills, in chronological order. Typically 7 days representing a week. */
6
+ days: Date[];
7
+ value?: Date[];
8
+ onChange?: (selected: Date[]) => void;
9
+ label?: React.ReactNode;
10
+ caption?: React.ReactNode;
11
+ error?: React.ReactNode;
12
+ disabled?: boolean;
13
+ displayFormat?: 'weekday' | 'month';
14
+ testId?: string;
15
+ };
16
+ declare const WeekSelectField: ({ name, id: inputId, days, value: controlledValue, onChange, label, caption, error: errorProp, disabled, displayFormat, testId }: Props) => React.JSX.Element;
17
+ export default WeekSelectField;
@@ -0,0 +1 @@
1
+ export { default } from './WeekSelectField';
@@ -4,6 +4,7 @@ import TextAreaField from './TextAreaField';
4
4
  import TextField from './TextField';
5
5
  import CheckboxField from './CheckboxField';
6
6
  import PillSelectField from './PillSelectField';
7
+ import WeekSelectField from './WeekSelectField';
7
8
  import RadioGroupField from './RadioGroupField';
8
9
  import RadioGroupOption from './RadioGroupOption';
9
10
  import RadioGroupBoxOption from './RadioGroupBoxOption';
@@ -24,7 +25,7 @@ import FormFeedback from './FormFeedback';
24
25
  import PhoneField from './PhoneField';
25
26
  import NumberField from './NumberField';
26
27
  import ColorField from './ColorField';
27
- export { Form, FormRow, TextAreaField, TextField, CheckboxField, PillSelectField, RadioGroupField, RadioGroupOption, RadioGroupBoxOption, PasswordField, MultiSelectField, SelectField, AsyncSelectField, DateField, DateRangeField, WeekField, TimeField, TimeRangeField, CurrencyField, PercentageField, FormSection, FormFooter, FormFeedback, PhoneField, NumberField, ColorField, SIZE_25_PERCENT, SIZE_33_PERCENT, SIZE_50_PERCENT, SIZE_66_PERCENT, SIZE_75_PERCENT };
28
+ export { Form, FormRow, TextAreaField, TextField, CheckboxField, PillSelectField, WeekSelectField, RadioGroupField, RadioGroupOption, RadioGroupBoxOption, PasswordField, MultiSelectField, SelectField, AsyncSelectField, DateField, DateRangeField, WeekField, TimeField, TimeRangeField, CurrencyField, PercentageField, FormSection, FormFooter, FormFeedback, PhoneField, NumberField, ColorField, SIZE_25_PERCENT, SIZE_33_PERCENT, SIZE_50_PERCENT, SIZE_66_PERCENT, SIZE_75_PERCENT };
28
29
  export type { PasswordCriteria } from './PasswordField/types';
29
30
  export type { SelectOption, SelectOptions, GroupOption, CustomOptionProps, SelectedOptionPrefixProps } from './SelectField/types';
30
31
  export type { PillSelectOption } from './PillSelectField/types';
@@ -82,3 +82,49 @@ export declare const COLOR_CODES: {
82
82
  readonly 'seq-19': " #2f80ed";
83
83
  readonly 'seq-20': " #be3434";
84
84
  };
85
+ export declare const SEQUENTIAL_COLOR_CODES: {
86
+ readonly light: {
87
+ readonly 'seq-1': "#00b5d8";
88
+ readonly 'seq-2': "#f9922b";
89
+ readonly 'seq-3': "#28cc6d";
90
+ readonly 'seq-4': "#d83f87";
91
+ readonly 'seq-5': "#4359ce";
92
+ readonly 'seq-6': "#ff6f61";
93
+ readonly 'seq-7': "#35e5c6";
94
+ readonly 'seq-8': "#a966e7";
95
+ readonly 'seq-9': "#905642";
96
+ readonly 'seq-10': "#ffb300";
97
+ readonly 'seq-11': "#708238";
98
+ readonly 'seq-12': "#4fc3f7";
99
+ readonly 'seq-13': "#e94057";
100
+ readonly 'seq-14': "#00a896";
101
+ readonly 'seq-15': "#6a4c93";
102
+ readonly 'seq-16': "#a3cb38";
103
+ readonly 'seq-17': "#546e7a";
104
+ readonly 'seq-18': "#fc9999";
105
+ readonly 'seq-19': "#2f80ed";
106
+ readonly 'seq-20': "#be3434";
107
+ };
108
+ readonly dark: {
109
+ readonly 'seq-1': "#28d2f3";
110
+ readonly 'seq-2': "#f9ad61";
111
+ readonly 'seq-3': "#31e17b";
112
+ readonly 'seq-4': "#ef5ca1";
113
+ readonly 'seq-5': "#7288ff";
114
+ readonly 'seq-6': "#ff867a";
115
+ readonly 'seq-7': "#43f2d3";
116
+ readonly 'seq-8': "#cb93ff";
117
+ readonly 'seq-9': "#b66d54";
118
+ readonly 'seq-10': "#ffc437";
119
+ readonly 'seq-11': "#8a9c52";
120
+ readonly 'seq-12': "#8adbff";
121
+ readonly 'seq-13': "#fa5c71";
122
+ readonly 'seq-14': "#15c7b4";
123
+ readonly 'seq-15': "#a978ec";
124
+ readonly 'seq-16': "#aed83e";
125
+ readonly 'seq-17': "#82adc0";
126
+ readonly 'seq-18': "#ffa9a9";
127
+ readonly 'seq-19': "#4594ff";
128
+ readonly 'seq-20': "#e45555";
129
+ };
130
+ };
@@ -25,6 +25,13 @@
25
25
  "thursday": "Thursday",
26
26
  "friday": "Friday",
27
27
  "saturday": "Saturday",
28
+ "sundayShort": "Sun",
29
+ "mondayShort": "Mon",
30
+ "tuesdayShort": "Tue",
31
+ "wednesdayShort": "Wed",
32
+ "thursdayShort": "Thu",
33
+ "fridayShort": "Fri",
34
+ "saturdayShort": "Sat",
28
35
  "january": "January",
29
36
  "february": "February",
30
37
  "march": "March",
@@ -62,5 +69,8 @@
62
69
  },
63
70
  "PhoneField": {
64
71
  "malformedPhoneNumber": "Please enter a valid phone number."
72
+ },
73
+ "ColorField": {
74
+ "customColorButtonLabel": "Custom color"
65
75
  }
66
76
  }
@@ -25,6 +25,13 @@
25
25
  "thursday": "Jueves",
26
26
  "friday": "Viernes",
27
27
  "saturday": "Sábado",
28
+ "sundayShort": "Dom",
29
+ "mondayShort": "Lun",
30
+ "tuesdayShort": "Mar",
31
+ "wednesdayShort": "Mié",
32
+ "thursdayShort": "Jue",
33
+ "fridayShort": "Vie",
34
+ "saturdayShort": "Sáb",
28
35
  "january": "Enero",
29
36
  "february": "Febrero",
30
37
  "march": "Marzo",
@@ -62,5 +69,8 @@
62
69
  },
63
70
  "PhoneField": {
64
71
  "malformedPhoneNumber": "Por favor, ingresa un número de teléfono válido."
72
+ },
73
+ "ColorField": {
74
+ "customColorButtonLabel": "Color personalizado"
65
75
  }
66
76
  }
@@ -25,6 +25,13 @@
25
25
  "thursday": "Jeudi",
26
26
  "friday": "Vendredi",
27
27
  "saturday": "Samedi",
28
+ "sundayShort": "Dim",
29
+ "mondayShort": "Lun",
30
+ "tuesdayShort": "Mar",
31
+ "wednesdayShort": "Mer",
32
+ "thursdayShort": "Jeu",
33
+ "fridayShort": "Ven",
34
+ "saturdayShort": "Sam",
28
35
  "january": "Janvier",
29
36
  "february": "Février",
30
37
  "march": "Mars",
@@ -62,5 +69,8 @@
62
69
  },
63
70
  "PhoneField": {
64
71
  "malformedPhoneNumber": "Veuillez entrer un numéro de téléphone valide."
72
+ },
73
+ "ColorField": {
74
+ "customColorButtonLabel": "Couleur personnalisée"
65
75
  }
66
76
  }
package/dist/index.css CHANGED
@@ -194,7 +194,7 @@
194
194
  --color-neutral-container: #e2ded6;
195
195
  --color-neutral-on-container: #323232;
196
196
  --color-neutral-container-variant: #f1f0ec;
197
- --color-neutral-on-container-variant: #383430;
197
+ --color-neutral-on-container-variant: #413E3E;
198
198
  --color-neutral-black-transparent-05: rgba(var(--color-black-rgb), 0.05);
199
199
  --color-neutral-black-transparent-10: rgba(var(--color-black-rgb), 0.1);
200
200
  --color-neutral-black-transparent-15: rgba(var(--color-black-rgb), 0.15);
@@ -419,7 +419,7 @@
419
419
  --color-neutral-on-color: #323232;
420
420
  --color-neutral-container: #4c4b49;
421
421
  --color-neutral-on-container: #fff;
422
- --color-neutral-container-variant: #383430;
422
+ --color-neutral-container-variant: #413E3E;
423
423
  --color-neutral-on-container-variant: #c7c0b2;
424
424
  --color-shadow-overlay: var(--color-neutral-black-transparent-40);
425
425
  --color-shadow-active: #4570ff;
@@ -2424,6 +2424,7 @@ h5._i2LHD {
2424
2424
  }
2425
2425
  ._kmvBP {
2426
2426
  display: block;
2427
+ position: relative;
2427
2428
  top: 0;
2428
2429
  left: 0;
2429
2430
  height: 14px;
@@ -2439,11 +2440,11 @@ h5._i2LHD {
2439
2440
  opacity: 0;
2440
2441
  }
2441
2442
  input:checked ~ ._kmvBP {
2442
- background-color: var(--color-primary-color);
2443
+ background-color: var(--color-surface-inverse);
2443
2444
  border-radius: 4px;
2444
2445
  transform: rotate(0deg) scale(1);
2445
2446
  opacity: 1;
2446
- border: 1px solid var(--color-primary-color);
2447
+ border: 1px solid var(--color-surface-inverse);
2447
2448
  }
2448
2449
  input:checked ~ ._kmvBP::after {
2449
2450
  opacity: 1;
@@ -2452,26 +2453,46 @@ input:checked ~ ._kmvBP::after {
2452
2453
  top: 1px;
2453
2454
  width: 4px;
2454
2455
  height: 8px;
2455
- border: solid var(--color-primary-on-color);
2456
+ border: solid var(--color-surface-on-inverse);
2456
2457
  border-width: 0 2px 2px 0;
2457
2458
  background-color: transparent;
2458
2459
  border-radius: 0;
2459
2460
  }
2460
- input:focus-visible + ._kmvBP {
2461
+ input[data-indeterminate=true] ~ ._kmvBP {
2462
+ background-color: var(--color-surface-inverse);
2463
+ border: 1px solid var(--color-surface-inverse);
2464
+ opacity: 1;
2465
+ }
2466
+ input[data-indeterminate=true] ~ ._kmvBP::after {
2467
+ opacity: 1;
2468
+ left: 3px;
2469
+ top: 6px;
2470
+ width: 8px;
2471
+ height: 0;
2472
+ transform: rotate(0deg) scale(1);
2473
+ border: solid var(--color-surface-on-inverse);
2474
+ border-width: 0 0 2px 0;
2475
+ background-color: transparent;
2476
+ border-radius: 0;
2477
+ }
2478
+ input:focus-visible ~ ._kmvBP {
2461
2479
  outline: var(--color-primary-color) solid 1px;
2462
2480
  }
2463
2481
  ._Id4qm input:disabled {
2464
2482
  cursor: default;
2465
2483
  }
2466
- input:disabled + ._kmvBP {
2484
+ input:disabled ~ ._kmvBP {
2467
2485
  background-color: var(--color-surface-container-disabled);
2468
2486
  border: 1px solid var(--color-outline);
2469
2487
  }
2470
- input:disabled + ._kmvBP::after {
2488
+ input:disabled ~ ._kmvBP::after {
2471
2489
  box-shadow: none;
2472
- border: solid #9f9f9f !important;
2490
+ border: solid var(--color-surface-on-container-disabled) !important;
2473
2491
  border-width: 0 2px 2px 0 !important;
2474
2492
  }
2493
+ input:disabled[data-indeterminate=true] ~ ._kmvBP::after {
2494
+ border-width: 0 0 2px 0 !important;
2495
+ }
2475
2496
  ._NwD6V {
2476
2497
  box-shadow: 0 0 12px -3px var(--color-shadow-overlay);
2477
2498
  border: 1px solid var(--color-outline);
@@ -3989,6 +4010,78 @@ input:focus-visible + ._JXakU, input:focus-visible + ._ZxEwG {
3989
4010
  box-shadow: 0 0 8px 0 var(--color-shadow-active);
3990
4011
  outline: none;
3991
4012
  }
4013
+ ._IYHYX {
4014
+ display: flex;
4015
+ width: 100%;
4016
+ gap: 4px;
4017
+ }
4018
+ ._JnbPv {
4019
+ position: relative;
4020
+ flex: 1 0 0;
4021
+ min-width: 40px;
4022
+ }
4023
+ ._JnbPv input {
4024
+ position: absolute;
4025
+ opacity: 0;
4026
+ z-index: var(--z-index-base);
4027
+ width: 100%;
4028
+ height: 100%;
4029
+ margin: 0;
4030
+ box-sizing: border-box;
4031
+ }
4032
+ ._JnbPv input:hover:not(:disabled) {
4033
+ cursor: pointer;
4034
+ }
4035
+ ._9GwLj {
4036
+ display: flex;
4037
+ flex-direction: column;
4038
+ align-items: center;
4039
+ justify-content: center;
4040
+ height: 54px;
4041
+ padding: 10px 16px;
4042
+ border-radius: 8px;
4043
+ background-color: var(--color-surface-container-high);
4044
+ color: var(--color-surface-on-color-bold);
4045
+ box-sizing: border-box;
4046
+ transition: background-color 0.2s, color 0.2s;
4047
+ -webkit-user-select: none;
4048
+ -moz-user-select: none;
4049
+ user-select: none;
4050
+ }
4051
+ ._WcKdi {
4052
+ font-size: var(--font-size-100);
4053
+ line-height: var(--font-line-height-100);
4054
+ font-weight: var(--p-font-weight-normal);
4055
+ }
4056
+ ._MQ3xL {
4057
+ font-size: var(--font-size-300);
4058
+ line-height: var(--font-line-height-200);
4059
+ font-weight: var(--p-font-weight-semibold);
4060
+ }
4061
+ ._JnbPv:hover > input:not(:disabled) ~ ._9GwLj {
4062
+ background: linear-gradient(0deg, var(--color-hover-darken) 0%, var(--color-hover-darken) 100%), var(--color-surface-container-high);
4063
+ cursor: pointer;
4064
+ }
4065
+ ._JnbPv:hover > input:not(:disabled):checked ~ ._9GwLj {
4066
+ background: linear-gradient(0deg, var(--color-hover-lighten) 0%, var(--color-hover-lighten) 100%), var(--color-surface-inverse);
4067
+ color: var(--color-surface-on-inverse);
4068
+ }
4069
+ ._JnbPv input:checked ~ ._9GwLj {
4070
+ background-color: var(--color-surface-inverse);
4071
+ color: var(--color-surface-on-inverse);
4072
+ }
4073
+ ._JnbPv input:disabled ~ ._9GwLj {
4074
+ background-color: var(--color-surface-container-disabled);
4075
+ color: var(--color-surface-on-container-disabled);
4076
+ }
4077
+ ._JnbPv input:disabled:checked ~ ._9GwLj {
4078
+ background-color: var(--color-surface-inverse);
4079
+ color: var(--color-surface-on-inverse-disabled);
4080
+ }
4081
+ ._JnbPv input:focus-visible ~ ._9GwLj {
4082
+ box-shadow: 0 0 8px 0 var(--color-shadow-active);
4083
+ outline: none;
4084
+ }
3992
4085
  ._xzukU {
3993
4086
  font-family: var(--font-family-body);
3994
4087
  font-size: var(--font-size-200);
@@ -5743,11 +5836,29 @@ input._TEU6N {
5743
5836
  ._M-8rP:hover:not(._o92fv)::after {
5744
5837
  border-color: var(--color-outline);
5745
5838
  }
5839
+ ._iQoTb {
5840
+ grid-column: 1/-1;
5841
+ }
5746
5842
  ._UUuiJ {
5747
5843
  border-radius: 100%;
5748
5844
  width: 16px;
5749
5845
  height: 16px;
5750
5846
  }
5847
+ ._OHgPk {
5848
+ position: absolute;
5849
+ left: 0;
5850
+ bottom: 0;
5851
+ width: 100%;
5852
+ height: 0;
5853
+ margin: 0;
5854
+ padding: 0;
5855
+ border: 0;
5856
+ opacity: 0;
5857
+ pointer-events: none;
5858
+ }
5859
+ ._KJawn {
5860
+ position: relative;
5861
+ }
5751
5862
  ._V1U8v {
5752
5863
  display: flex;
5753
5864
  justify-content: center;
@@ -5844,7 +5955,7 @@ input._TEU6N {
5844
5955
  color: var(--color-neutral-on-container);
5845
5956
  }
5846
5957
  ._e3zFF {
5847
- gap: 4px;
5958
+ gap: 6px;
5848
5959
  display: flex;
5849
5960
  align-items: center;
5850
5961
  flex-shrink: 0;
@@ -5898,6 +6009,13 @@ input._TEU6N {
5898
6009
  ._vOTWZ::first-letter {
5899
6010
  text-transform: capitalize;
5900
6011
  }
6012
+ ._fCrWy {
6013
+ gap: 6px;
6014
+ display: flex;
6015
+ align-items: center;
6016
+ flex-shrink: 0;
6017
+ flex-grow: 0;
6018
+ }
5901
6019
  ._j2h8A {
5902
6020
  background-color: var(--color-neutral-container);
5903
6021
  color: var(--color-neutral-on-container);
@@ -6260,6 +6378,89 @@ input._TEU6N {
6260
6378
  border-top: 1px solid var(--nav-foreground-color);
6261
6379
  transition: box-shadow 0.4s ease-in-out;
6262
6380
  }
6381
+ ._j3-Gu {
6382
+ display: flex;
6383
+ flex-direction: row;
6384
+ gap: 8px;
6385
+ border-bottom: 1px solid var(--color-outline);
6386
+ list-style: none;
6387
+ margin: 0;
6388
+ padding: 0;
6389
+ }
6390
+ ._-BgMZ {
6391
+ font-family: var(--font-family-body);
6392
+ font-size: var(--font-size-200);
6393
+ line-height: var(--font-line-height-200);
6394
+ font-weight: var(--p-font-weight-normal);
6395
+ display: inline-flex;
6396
+ align-items: center;
6397
+ gap: 8px;
6398
+ height: 42px;
6399
+ padding: 0 16px;
6400
+ border-radius: var(--border-radius-400) var(--border-radius-400) 0 0;
6401
+ border: none;
6402
+ border-bottom: 2px solid transparent;
6403
+ background: transparent;
6404
+ color: var(--color-surface-on-color);
6405
+ cursor: pointer;
6406
+ white-space: nowrap;
6407
+ box-sizing: border-box;
6408
+ text-decoration: none;
6409
+ }
6410
+ ._-BgMZ:hover {
6411
+ color: var(--color-surface-on-color-bold);
6412
+ border-bottom-color: var(--color-surface-on-color-bold);
6413
+ }
6414
+ ._-BgMZ:focus-visible {
6415
+ outline: 2px solid var(--color-primary-color);
6416
+ outline-offset: -2px;
6417
+ border-radius: var(--border-radius-400) var(--border-radius-400) 0 0;
6418
+ }
6419
+ ._tZ-HE {
6420
+ background: var(--color-neutral-container-variant);
6421
+ border-bottom-color: var(--color-surface-on-color-bold);
6422
+ color: var(--color-surface-on-color-bold);
6423
+ font-family: var(--font-family-body);
6424
+ font-size: var(--font-size-200);
6425
+ line-height: var(--font-line-height-200);
6426
+ font-weight: var(--p-font-weight-normal);
6427
+ font-weight: var(--p-font-weight-bold);
6428
+ }
6429
+ ._AyUHY {
6430
+ color: var(--color-surface-on-container-disabled);
6431
+ cursor: default;
6432
+ pointer-events: none;
6433
+ }
6434
+ ._WVws4 {
6435
+ display: flex;
6436
+ flex-direction: column;
6437
+ align-items: flex-start;
6438
+ overflow: hidden;
6439
+ }
6440
+ ._WVws4::after {
6441
+ content: attr(data-text);
6442
+ font-weight: var(--p-font-weight-bold);
6443
+ height: 0;
6444
+ visibility: hidden;
6445
+ pointer-events: none;
6446
+ -webkit-user-select: none;
6447
+ -moz-user-select: none;
6448
+ user-select: none;
6449
+ }
6450
+ ._nQB7q {
6451
+ display: inline-flex;
6452
+ align-items: center;
6453
+ flex-shrink: 0;
6454
+ }
6455
+ ._GW3Wi {
6456
+ padding-top: 20px;
6457
+ padding-bottom: 20px;
6458
+ padding-left: 0px;
6459
+ padding-right: 20px;
6460
+ }
6461
+ ._DVRRE {
6462
+ display: none;
6463
+ }
6263
6464
  ._mhyqH {
6264
6465
  display: flex;
6265
6466
  flex-direction: row;