@idealyst/theme 1.0.83 → 1.0.85

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 (68) hide show
  1. package/package.json +2 -1
  2. package/src/components/CLAUDE.md +468 -0
  3. package/src/components/accordion.ts +34 -0
  4. package/src/components/activity-indicator.ts +28 -0
  5. package/src/components/alert.ts +32 -0
  6. package/src/components/avatar.ts +27 -0
  7. package/src/components/badge.ts +28 -0
  8. package/src/components/breadcrumb.ts +36 -0
  9. package/src/components/button.ts +32 -0
  10. package/src/components/card.ts +31 -0
  11. package/src/components/checkbox.ts +37 -0
  12. package/src/components/chip.ts +34 -0
  13. package/src/components/dialog.ts +31 -0
  14. package/src/components/divider.ts +36 -0
  15. package/src/components/icon.ts +26 -0
  16. package/src/components/image.ts +22 -0
  17. package/src/components/index.ts +37 -0
  18. package/src/components/input.ts +35 -0
  19. package/src/components/list.ts +40 -0
  20. package/src/components/menu-item.ts +29 -0
  21. package/src/components/menu.ts +32 -0
  22. package/src/components/popover.ts +25 -0
  23. package/src/components/pressable.ts +20 -0
  24. package/src/components/progress.ts +35 -0
  25. package/src/components/radio-button.ts +38 -0
  26. package/src/components/screen.ts +25 -0
  27. package/src/components/select.ts +62 -0
  28. package/src/components/skeleton.ts +26 -0
  29. package/src/components/slider.ts +62 -0
  30. package/src/components/svg-image.ts +24 -0
  31. package/src/components/switch.ts +54 -0
  32. package/src/components/tab-bar.ts +54 -0
  33. package/src/components/table.ts +57 -0
  34. package/src/components/text.ts +29 -0
  35. package/src/components/textarea.ts +53 -0
  36. package/src/components/tooltip.ts +29 -0
  37. package/src/components/video.ts +18 -0
  38. package/src/components/view.ts +31 -0
  39. package/src/darkTheme.ts +890 -0
  40. package/src/index.ts +7 -166
  41. package/src/lightTheme.ts +873 -0
  42. package/src/styles.ts +14 -0
  43. package/src/theme/color.ts +15 -0
  44. package/src/theme/index.ts +16 -0
  45. package/src/theme/intent.ts +8 -0
  46. package/src/theme/shadow.ts +18 -0
  47. package/src/theme/size.ts +182 -0
  48. package/src/theme/surface.ts +3 -0
  49. package/src/unistyles.ts +6 -14
  50. package/src/variants/color.ts +9 -0
  51. package/src/variants/index.ts +2 -0
  52. package/src/variants/intent.ts +16 -0
  53. package/src/variants/size.ts +0 -0
  54. package/CLAUDE.md +0 -447
  55. package/LLM-ACCESS-GUIDE.md +0 -208
  56. package/README.md +0 -633
  57. package/src/README.md +0 -138
  58. package/src/breakpoints.ts +0 -8
  59. package/src/colorResolver.ts +0 -218
  60. package/src/colors.md +0 -353
  61. package/src/colors.ts +0 -315
  62. package/src/common.ts +0 -92
  63. package/src/defaultThemes.md +0 -407
  64. package/src/defaultThemes.ts +0 -238
  65. package/src/themeBuilder.md +0 -400
  66. package/src/themeBuilder.ts +0 -602
  67. package/src/variantHelpers.ts +0 -584
  68. package/src/variants.ts +0 -56
@@ -0,0 +1,32 @@
1
+ import { StylesheetStyles } from "../styles";
2
+ import { Intent } from "../theme/intent";
3
+ import { Size } from "../theme/size";
4
+
5
+ type ButtonSize = Size;
6
+ type ButtonIntent = Intent;
7
+ type ButtonType = 'contained' | 'outlined' | 'text';
8
+
9
+ type ButtonVariants = {
10
+ size: ButtonSize;
11
+ intent: ButtonIntent;
12
+ type: ButtonType;
13
+ disabled: boolean;
14
+ }
15
+
16
+ export type ExpandedButtonStyles = StylesheetStyles<keyof ButtonVariants>;
17
+
18
+ export type ButtonStylesheet = {
19
+ button: ExpandedButtonStyles;
20
+ icon: ExpandedButtonStyles;
21
+ iconContainer: ExpandedButtonStyles;
22
+ text: ExpandedButtonStyles;
23
+ }
24
+
25
+ /**
26
+ * NOTE: The button stylesheet implementation has been moved to
27
+ * @idealyst/components/src/Button/Button.styles.tsx
28
+ *
29
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
30
+ * function calls to extract variant structures at compile time. The styles must be
31
+ * inlined directly in StyleSheet.create() for variants to work on native.
32
+ */
@@ -0,0 +1,31 @@
1
+ import { StylesheetStyles } from "../styles";
2
+ import { Intent } from "../theme/intent";
3
+
4
+ type CardType = 'default' | 'outlined' | 'elevated' | 'filled';
5
+ type CardPadding = 'none' | 'sm' | 'md' | 'lg';
6
+ type CardRadius = 'none' | 'sm' | 'md' | 'lg';
7
+ type CardIntent = Intent | 'info' | 'neutral';
8
+
9
+ type CardVariants = {
10
+ type: CardType;
11
+ padding: CardPadding;
12
+ radius: CardRadius;
13
+ intent: CardIntent;
14
+ clickable: boolean;
15
+ disabled: boolean;
16
+ }
17
+
18
+ export type ExpandedCardStyles = StylesheetStyles<keyof CardVariants>;
19
+
20
+ export type CardStylesheet = {
21
+ card: ExpandedCardStyles;
22
+ }
23
+
24
+ /**
25
+ * NOTE: The card stylesheet implementation has been moved to
26
+ * @idealyst/components/src/Card/Card.styles.tsx
27
+ *
28
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
29
+ * function calls to extract variant structures at compile time. The styles must be
30
+ * inlined directly in StyleSheet.create() for variants to work on native.
31
+ */
@@ -0,0 +1,37 @@
1
+ import { StylesheetStyles } from "../styles";
2
+ import { Intent } from "../theme/intent";
3
+ import { Size } from "../theme/size";
4
+
5
+ type CheckboxSize = Size;
6
+ type CheckboxIntent = Intent | 'info';
7
+ type CheckboxType = 'default' | 'outlined';
8
+
9
+ type CheckboxVariants = {
10
+ size: CheckboxSize;
11
+ intent: CheckboxIntent;
12
+ type: CheckboxType;
13
+ checked: boolean;
14
+ disabled: boolean;
15
+ visible: boolean;
16
+ error: boolean;
17
+ }
18
+
19
+ export type ExpandedCheckboxStyles = StylesheetStyles<keyof CheckboxVariants>;
20
+
21
+ export type CheckboxStylesheet = {
22
+ wrapper: ExpandedCheckboxStyles;
23
+ container: ExpandedCheckboxStyles;
24
+ checkbox: ExpandedCheckboxStyles;
25
+ label: ExpandedCheckboxStyles;
26
+ checkmark: ExpandedCheckboxStyles;
27
+ helperText: ExpandedCheckboxStyles;
28
+ }
29
+
30
+ /**
31
+ * NOTE: The checkbox stylesheet implementation has been moved to
32
+ * @idealyst/components/src/Checkbox/Checkbox.styles.tsx
33
+ *
34
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
35
+ * function calls to extract variant structures at compile time. The styles must be
36
+ * inlined directly in StyleSheet.create() for variants to work on native.
37
+ */
@@ -0,0 +1,34 @@
1
+ import { StylesheetStyles } from "../styles";
2
+ import { Intent } from "../theme/intent";
3
+
4
+ type ChipSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
+ type ChipType = 'filled' | 'outlined' | 'soft';
6
+ type ChipIntent = Intent;
7
+
8
+ type ChipVariants = {
9
+ size: ChipSize;
10
+ type: ChipType;
11
+ intent: ChipIntent;
12
+ selected: boolean;
13
+ disabled: boolean;
14
+ selectable: boolean;
15
+ }
16
+
17
+ export type ExpandedChipStyles = StylesheetStyles<keyof ChipVariants>;
18
+
19
+ export type ChipStylesheet = {
20
+ container: ExpandedChipStyles;
21
+ label: ExpandedChipStyles;
22
+ icon: ExpandedChipStyles;
23
+ deleteButton: ExpandedChipStyles;
24
+ deleteIcon: ExpandedChipStyles;
25
+ }
26
+
27
+ /**
28
+ * NOTE: The chip stylesheet implementation has been moved to
29
+ * @idealyst/components/src/Chip/Chip.styles.tsx
30
+ *
31
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
32
+ * function calls to extract variant structures at compile time. The styles must be
33
+ * inlined directly in StyleSheet.create() for variants to work on native.
34
+ */
@@ -0,0 +1,31 @@
1
+ import { StylesheetStyles } from "../styles";
2
+
3
+ type DialogSize = 'sm' | 'md' | 'lg' | 'fullscreen';
4
+ type DialogType = 'default' | 'alert' | 'confirmation';
5
+
6
+ type DialogVariants = {
7
+ size: DialogSize;
8
+ type: DialogType;
9
+ }
10
+
11
+ export type ExpandedDialogStyles = StylesheetStyles<keyof DialogVariants>;
12
+
13
+ export type DialogStylesheet = {
14
+ backdrop: ExpandedDialogStyles;
15
+ container: ExpandedDialogStyles;
16
+ header: ExpandedDialogStyles;
17
+ title: ExpandedDialogStyles;
18
+ closeButton: ExpandedDialogStyles;
19
+ closeButtonText: ExpandedDialogStyles;
20
+ content: ExpandedDialogStyles;
21
+ modal: ExpandedDialogStyles;
22
+ }
23
+
24
+ /**
25
+ * NOTE: The dialog stylesheet implementation has been moved to
26
+ * @idealyst/components/src/Dialog/Dialog.styles.tsx
27
+ *
28
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
29
+ * function calls to extract variant structures at compile time. The styles must be
30
+ * inlined directly in StyleSheet.create() for variants to work on native.
31
+ */
@@ -0,0 +1,36 @@
1
+ import { CompoundVariants, StylesheetStyles } from "../styles";
2
+ import { Intent } from "../theme/intent";
3
+
4
+ type DividerOrientation = 'horizontal' | 'vertical';
5
+ type DividerThickness = 'thin' | 'md' | 'thick';
6
+ type DividerType = 'solid' | 'dashed' | 'dotted';
7
+ type DividerIntent = Intent | 'secondary' | 'neutral' | 'info';
8
+ type DividerLength = 'full' | 'auto';
9
+ type DividerSpacing = 'none' | 'sm' | 'md' | 'lg';
10
+
11
+ type DividerVariants = {
12
+ orientation: DividerOrientation;
13
+ thickness: DividerThickness;
14
+ type: DividerType;
15
+ intent: DividerIntent;
16
+ length: DividerLength;
17
+ spacing: DividerSpacing;
18
+ }
19
+
20
+ export type ExpandedDividerStyles = StylesheetStyles<keyof DividerVariants>;
21
+
22
+ export type DividerStylesheet = {
23
+ divider: ExpandedDividerStyles;
24
+ container: ExpandedDividerStyles;
25
+ content: ExpandedDividerStyles;
26
+ line: ExpandedDividerStyles;
27
+ }
28
+
29
+ /**
30
+ * NOTE: The divider stylesheet implementation has been moved to
31
+ * @idealyst/components/src/Divider/Divider.styles.tsx
32
+ *
33
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
34
+ * function calls to extract variant structures at compile time. The styles must be
35
+ * inlined directly in StyleSheet.create() for variants to work on native.
36
+ */
@@ -0,0 +1,26 @@
1
+ import { StylesheetStyles } from "../styles";
2
+ import { Intent } from "../theme/intent";
3
+ import { Color } from "../theme/color";
4
+
5
+ type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
6
+
7
+ type IconVariants = {
8
+ size: IconSize;
9
+ intent?: Intent;
10
+ color?: Color;
11
+ }
12
+
13
+ export type ExpandedIconStyles = StylesheetStyles<keyof IconVariants>;
14
+
15
+ export type IconStylesheet = {
16
+ icon: ExpandedIconStyles;
17
+ }
18
+
19
+ /**
20
+ * NOTE: The icon stylesheet implementation has been moved to
21
+ * @idealyst/components/src/Icon/Icon.styles.tsx
22
+ *
23
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
24
+ * function calls to extract variant structures at compile time. The styles must be
25
+ * inlined directly in StyleSheet.create() for variants to work on native.
26
+ */
@@ -0,0 +1,22 @@
1
+ import { StylesheetStyles } from "../styles";
2
+
3
+ type ImageVariants = {}
4
+
5
+ export type ExpandedImageStyles = StylesheetStyles<keyof ImageVariants>;
6
+
7
+ export type ImageStylesheet = {
8
+ container: ExpandedImageStyles;
9
+ image: ExpandedImageStyles;
10
+ placeholder: ExpandedImageStyles;
11
+ fallback: ExpandedImageStyles;
12
+ loadingIndicator: ExpandedImageStyles;
13
+ }
14
+
15
+ /**
16
+ * NOTE: The image stylesheet implementation has been moved to
17
+ * @idealyst/components/src/Image/Image.styles.tsx
18
+ *
19
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
20
+ * function calls to extract variant structures at compile time. The styles must be
21
+ * inlined directly in StyleSheet.create() for variants to work on native.
22
+ */
@@ -0,0 +1,37 @@
1
+ export * from "./accordion";
2
+ export * from "./activity-indicator";
3
+ export * from "./alert";
4
+ export * from "./avatar";
5
+ export * from "./badge";
6
+ export * from "./breadcrumb";
7
+ export * from "./button";
8
+ export * from "./card";
9
+ export * from "./checkbox";
10
+ export * from "./chip";
11
+ export * from "./dialog";
12
+ export * from "./divider";
13
+ export * from "./icon";
14
+ export * from "./image";
15
+ export * from "./input";
16
+ export * from "./list";
17
+ export * from "./menu";
18
+ export * from "./menu-item";
19
+ export * from "./popover";
20
+ export * from "./pressable";
21
+ export * from "./progress";
22
+ export * from "./radio-button";
23
+ export * from "./screen";
24
+ export * from "./select";
25
+ export * from "./skeleton";
26
+ export * from "./slider";
27
+ export * from "./svg-image";
28
+ export * from "./switch";
29
+ export * from "./tab-bar";
30
+ export * from "./table";
31
+ export * from "./text";
32
+ export * from "./textarea";
33
+ export * from "./tooltip";
34
+ export * from "./video";
35
+ export * from "./view";
36
+
37
+ export type StyledComponent = 'accordion' | 'activity-indicator' | 'alert' | 'avatar' | 'badge' | 'breadcrumb' | 'button' | 'card' | 'checkbox' | 'chip' | 'dialog' | 'divider' | 'icon' | 'image' | 'input' | 'list' | 'menu' | 'menu-item' | 'popover' | 'pressable' | 'progress' | 'radio-button' | 'screen' | 'select' | 'skeleton' | 'slider' | 'svg-image' | 'switch' | 'tab-bar' | 'table' | 'text' | 'textarea' | 'tooltip' | 'video' | 'view'
@@ -0,0 +1,35 @@
1
+ import { StylesheetStyles } from "../styles";
2
+ import { Size } from "../theme/size";
3
+
4
+ type InputSize = Size;
5
+ type InputType = 'default' | 'outlined' | 'filled' | 'bare';
6
+
7
+ type InputVariants = {
8
+ size: InputSize;
9
+ type: InputType;
10
+ focused: boolean;
11
+ hasError: boolean;
12
+ disabled: boolean;
13
+ }
14
+
15
+ export type ExpandedInputStyles = StylesheetStyles<keyof InputVariants>;
16
+
17
+ export type InputStylesheet = {
18
+ container: ExpandedInputStyles;
19
+ leftIconContainer: ExpandedInputStyles;
20
+ rightIconContainer: ExpandedInputStyles;
21
+ leftIcon: ExpandedInputStyles;
22
+ rightIcon: ExpandedInputStyles;
23
+ passwordToggle: ExpandedInputStyles;
24
+ passwordToggleIcon: ExpandedInputStyles;
25
+ input: ExpandedInputStyles;
26
+ }
27
+
28
+ /**
29
+ * NOTE: The input stylesheet implementation has been moved to
30
+ * @idealyst/components/src/Input/Input.styles.tsx
31
+ *
32
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
33
+ * function calls to extract variant structures at compile time. The styles must be
34
+ * inlined directly in StyleSheet.create() for variants to work on native.
35
+ */
@@ -0,0 +1,40 @@
1
+ import { StylesheetStyles } from "../styles";
2
+ import { Size } from "../theme/size";
3
+
4
+ type ListSize = Size;
5
+ type ListType = 'default' | 'bordered' | 'divided';
6
+
7
+ type ListVariants = {
8
+ size: ListSize;
9
+ type: ListType;
10
+ scrollable: boolean;
11
+ active: boolean;
12
+ selected: boolean;
13
+ disabled: boolean;
14
+ clickable: boolean;
15
+ }
16
+
17
+ export type ExpandedListStyles = StylesheetStyles<keyof ListVariants>;
18
+
19
+ export type ListStylesheet = {
20
+ container: ExpandedListStyles;
21
+ item: ExpandedListStyles;
22
+ itemContent: ExpandedListStyles;
23
+ leading: ExpandedListStyles;
24
+ labelContainer: ExpandedListStyles;
25
+ label: ExpandedListStyles;
26
+ trailing: ExpandedListStyles;
27
+ trailingIcon: ExpandedListStyles;
28
+ section: ExpandedListStyles;
29
+ sectionTitle: ExpandedListStyles;
30
+ sectionContent: ExpandedListStyles;
31
+ }
32
+
33
+ /**
34
+ * NOTE: The list stylesheet implementation has been moved to
35
+ * @idealyst/components/src/List/List.styles.tsx
36
+ *
37
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
38
+ * function calls to extract variant structures at compile time. The styles must be
39
+ * inlined directly in StyleSheet.create() for variants to work on native.
40
+ */
@@ -0,0 +1,29 @@
1
+ import { StylesheetStyles } from "../styles";
2
+ import { Intent } from "../theme/intent";
3
+ import { Size } from "../theme/size";
4
+
5
+ type MenuItemSize = Size;
6
+ type MenuItemIntent = Intent;
7
+
8
+ type MenuItemVariants = {
9
+ size: MenuItemSize;
10
+ intent: MenuItemIntent;
11
+ disabled: boolean;
12
+ }
13
+
14
+ export type ExpandedMenuItemStyles = StylesheetStyles<keyof MenuItemVariants>;
15
+
16
+ export type MenuItemStylesheet = {
17
+ item: ExpandedMenuItemStyles;
18
+ icon: ExpandedMenuItemStyles;
19
+ label: ExpandedMenuItemStyles;
20
+ }
21
+
22
+ /**
23
+ * NOTE: The menu-item stylesheet implementation has been moved to
24
+ * @idealyst/components/src/Menu/MenuItem.styles.tsx
25
+ *
26
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
27
+ * function calls to extract variant structures at compile time. The styles must be
28
+ * inlined directly in StyleSheet.create() for variants to work on native.
29
+ */
@@ -0,0 +1,32 @@
1
+ import { StylesheetStyles } from "../styles";
2
+ import { Intent } from "../theme/intent";
3
+ import { Size } from "../theme/size";
4
+
5
+ type MenuSize = Size;
6
+ type MenuIntent = Intent;
7
+
8
+ type MenuVariants = {
9
+ size: MenuSize;
10
+ intent: MenuIntent;
11
+ disabled: boolean;
12
+ }
13
+
14
+ export type ExpandedMenuStyles = StylesheetStyles<keyof MenuVariants>;
15
+
16
+ export type MenuStylesheet = {
17
+ overlay: ExpandedMenuStyles;
18
+ menu: ExpandedMenuStyles;
19
+ separator: ExpandedMenuStyles;
20
+ item: ExpandedMenuStyles;
21
+ icon: ExpandedMenuStyles;
22
+ label: ExpandedMenuStyles;
23
+ }
24
+
25
+ /**
26
+ * NOTE: The menu stylesheet implementation has been moved to
27
+ * @idealyst/components/src/Menu/Menu.styles.tsx
28
+ *
29
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
30
+ * function calls to extract variant structures at compile time. The styles must be
31
+ * inlined directly in StyleSheet.create() for variants to work on native.
32
+ */
@@ -0,0 +1,25 @@
1
+ import { StylesheetStyles } from "../styles";
2
+
3
+ type PopoverPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
4
+
5
+ type PopoverVariants = {
6
+ placement: PopoverPlacement;
7
+ }
8
+
9
+ export type ExpandedPopoverStyles = StylesheetStyles<keyof PopoverVariants>;
10
+
11
+ export type PopoverStylesheet = {
12
+ container: ExpandedPopoverStyles;
13
+ content: ExpandedPopoverStyles;
14
+ arrow: ExpandedPopoverStyles;
15
+ backdrop: ExpandedPopoverStyles;
16
+ }
17
+
18
+ /**
19
+ * NOTE: The popover stylesheet implementation has been moved to
20
+ * @idealyst/components/src/Popover/Popover.styles.tsx
21
+ *
22
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
23
+ * function calls to extract variant structures at compile time. The styles must be
24
+ * inlined directly in StyleSheet.create() for variants to work on native.
25
+ */
@@ -0,0 +1,20 @@
1
+ import { StylesheetStyles } from "../styles";
2
+
3
+ type PressableVariants = {
4
+ disabled: boolean;
5
+ }
6
+
7
+ export type ExpandedPressableStyles = StylesheetStyles<keyof PressableVariants>;
8
+
9
+ export type PressableStylesheet = {
10
+ container: ExpandedPressableStyles;
11
+ }
12
+
13
+ /**
14
+ * NOTE: The pressable stylesheet implementation has been moved to
15
+ * @idealyst/components/src/Pressable/Pressable.styles.tsx
16
+ *
17
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
18
+ * function calls to extract variant structures at compile time. The styles must be
19
+ * inlined directly in StyleSheet.create() for variants to work on native.
20
+ */
@@ -0,0 +1,35 @@
1
+ import { StylesheetStyles } from "../styles";
2
+ import { Intent } from "../theme/intent";
3
+ import { Size } from "../theme/size";
4
+
5
+ type ProgressSize = Size;
6
+ type ProgressIntent = Intent;
7
+
8
+ type ProgressVariants = {
9
+ size: ProgressSize;
10
+ intent: ProgressIntent;
11
+ rounded: boolean;
12
+ }
13
+
14
+ export type ExpandedProgressStyles = StylesheetStyles<keyof ProgressVariants>;
15
+
16
+ export type ProgressStylesheet = {
17
+ container: ExpandedProgressStyles;
18
+ linearTrack: ExpandedProgressStyles;
19
+ linearBar: ExpandedProgressStyles;
20
+ indeterminateBar: ExpandedProgressStyles;
21
+ circularContainer: ExpandedProgressStyles;
22
+ circularTrack: ExpandedProgressStyles;
23
+ circularBar: ExpandedProgressStyles;
24
+ label: ExpandedProgressStyles;
25
+ circularLabel: ExpandedProgressStyles;
26
+ }
27
+
28
+ /**
29
+ * NOTE: The progress stylesheet implementation has been moved to
30
+ * @idealyst/components/src/Progress/Progress.styles.tsx
31
+ *
32
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
33
+ * function calls to extract variant structures at compile time. The styles must be
34
+ * inlined directly in StyleSheet.create() for variants to work on native.
35
+ */
@@ -0,0 +1,38 @@
1
+ import { StylesheetStyles } from "../styles";
2
+ import { Intent } from "../theme/intent";
3
+ import { Size } from "../theme/size";
4
+
5
+ type RadioButtonSize = Size;
6
+ type RadioButtonIntent = Intent;
7
+ type RadioGroupOrientation = 'horizontal' | 'vertical';
8
+
9
+ type RadioButtonVariants = {
10
+ size: RadioButtonSize;
11
+ intent: RadioButtonIntent;
12
+ checked: boolean;
13
+ disabled: boolean;
14
+ }
15
+
16
+ type RadioGroupVariants = {
17
+ orientation: RadioGroupOrientation;
18
+ }
19
+
20
+ export type ExpandedRadioButtonStyles = StylesheetStyles<keyof RadioButtonVariants>;
21
+ export type ExpandedRadioGroupStyles = StylesheetStyles<keyof RadioGroupVariants>;
22
+
23
+ export type RadioButtonStylesheet = {
24
+ container: ExpandedRadioButtonStyles;
25
+ radio: ExpandedRadioButtonStyles;
26
+ radioDot: ExpandedRadioButtonStyles;
27
+ label: ExpandedRadioButtonStyles;
28
+ groupContainer: ExpandedRadioGroupStyles;
29
+ }
30
+
31
+ /**
32
+ * NOTE: The radio-button stylesheet implementation has been moved to
33
+ * @idealyst/components/src/RadioButton/RadioButton.styles.tsx
34
+ *
35
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
36
+ * function calls to extract variant structures at compile time. The styles must be
37
+ * inlined directly in StyleSheet.create() for variants to work on native.
38
+ */
@@ -0,0 +1,25 @@
1
+ import { StylesheetStyles } from "../styles";
2
+ import { Surface } from "../theme/surface";
3
+
4
+ type ScreenBackground = Surface | 'transparent';
5
+ type ScreenPadding = 'none' | 'sm' | 'md' | 'lg' | 'xl';
6
+
7
+ type ScreenVariants = {
8
+ background: ScreenBackground;
9
+ padding: ScreenPadding;
10
+ }
11
+
12
+ export type ExpandedScreenStyles = StylesheetStyles<keyof ScreenVariants>;
13
+
14
+ export type ScreenStylesheet = {
15
+ screen: ExpandedScreenStyles;
16
+ }
17
+
18
+ /**
19
+ * NOTE: The screen stylesheet implementation has been moved to
20
+ * @idealyst/components/src/Screen/Screen.styles.tsx
21
+ *
22
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
23
+ * function calls to extract variant structures at compile time. The styles must be
24
+ * inlined directly in StyleSheet.create() for variants to work on native.
25
+ */
@@ -0,0 +1,62 @@
1
+ import { StylesheetStyles } from "../styles";
2
+ import { Intent } from "../theme/intent";
3
+ import { Size } from "../theme/size";
4
+
5
+ type SelectSize = Size;
6
+ type SelectType = 'outlined' | 'filled';
7
+ type SelectIntent = Intent;
8
+
9
+ type SelectTriggerVariants = {
10
+ type: SelectType;
11
+ size: SelectSize;
12
+ intent: SelectIntent;
13
+ disabled: boolean;
14
+ error: boolean;
15
+ focused: boolean;
16
+ }
17
+
18
+ type SelectOptionVariants = {
19
+ selected: boolean;
20
+ disabled: boolean;
21
+ }
22
+
23
+ type SelectHelperTextVariants = {
24
+ error: boolean;
25
+ }
26
+
27
+ export type ExpandedSelectTriggerStyles = StylesheetStyles<keyof SelectTriggerVariants>;
28
+ export type ExpandedSelectOptionStyles = StylesheetStyles<keyof SelectOptionVariants>;
29
+ export type ExpandedSelectHelperTextStyles = StylesheetStyles<keyof SelectHelperTextVariants>;
30
+ export type ExpandedSelectStyles = StylesheetStyles<never>;
31
+
32
+ export type SelectStylesheet = {
33
+ container: ExpandedSelectStyles;
34
+ label: ExpandedSelectStyles;
35
+ trigger: ExpandedSelectTriggerStyles;
36
+ triggerContent: ExpandedSelectStyles;
37
+ triggerText: ExpandedSelectStyles;
38
+ placeholder: ExpandedSelectStyles;
39
+ icon: ExpandedSelectStyles;
40
+ chevron: ExpandedSelectStyles;
41
+ chevronOpen: ExpandedSelectStyles;
42
+ dropdown: ExpandedSelectStyles;
43
+ searchContainer: ExpandedSelectStyles;
44
+ searchInput: ExpandedSelectStyles;
45
+ optionsList: ExpandedSelectStyles;
46
+ option: ExpandedSelectOptionStyles;
47
+ optionContent: ExpandedSelectStyles;
48
+ optionIcon: ExpandedSelectStyles;
49
+ optionText: ExpandedSelectStyles;
50
+ optionTextDisabled: ExpandedSelectStyles;
51
+ helperText: ExpandedSelectHelperTextStyles;
52
+ overlay: ExpandedSelectStyles;
53
+ }
54
+
55
+ /**
56
+ * NOTE: The select stylesheet implementation has been moved to
57
+ * @idealyst/components/src/Select/Select.styles.tsx
58
+ *
59
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
60
+ * function calls to extract variant structures at compile time. The styles must be
61
+ * inlined directly in StyleSheet.create() for variants to work on native.
62
+ */
@@ -0,0 +1,26 @@
1
+ import { StylesheetStyles } from "../styles";
2
+
3
+ type SkeletonShape = 'rectangle' | 'rounded' | 'circle';
4
+ type SkeletonAnimation = 'pulse' | 'wave' | 'none';
5
+
6
+ type SkeletonVariants = {
7
+ shape: SkeletonShape;
8
+ animation: SkeletonAnimation;
9
+ }
10
+
11
+ export type ExpandedSkeletonStyles = StylesheetStyles<keyof SkeletonVariants>;
12
+ export type ExpandedSkeletonGroupStyles = StylesheetStyles<never>;
13
+
14
+ export type SkeletonStylesheet = {
15
+ skeleton: ExpandedSkeletonStyles;
16
+ group: ExpandedSkeletonGroupStyles;
17
+ }
18
+
19
+ /**
20
+ * NOTE: The skeleton stylesheet implementation has been moved to
21
+ * @idealyst/components/src/Skeleton/Skeleton.styles.tsx
22
+ *
23
+ * This was necessary because Unistyles' Babel transform on native cannot resolve
24
+ * function calls to extract variant structures at compile time. The styles must be
25
+ * inlined directly in StyleSheet.create() for variants to work on native.
26
+ */