@castui/cast-ui 4.7.0 → 4.9.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.
Files changed (78) hide show
  1. package/README.md +61 -0
  2. package/dist/components/Accordion/Accordion.d.ts +80 -0
  3. package/dist/components/Accordion/Accordion.js +157 -0
  4. package/dist/components/Accordion/index.d.ts +1 -0
  5. package/dist/components/Accordion/index.js +6 -0
  6. package/dist/components/AppBar/AppBar.d.ts +47 -0
  7. package/dist/components/AppBar/AppBar.js +47 -0
  8. package/dist/components/AppBar/index.d.ts +1 -0
  9. package/dist/components/AppBar/index.js +5 -0
  10. package/dist/components/Autocomplete/Autocomplete.d.ts +70 -0
  11. package/dist/components/Autocomplete/Autocomplete.js +249 -0
  12. package/dist/components/Autocomplete/index.d.ts +1 -0
  13. package/dist/components/Autocomplete/index.js +5 -0
  14. package/dist/components/Backdrop/Backdrop.d.ts +32 -0
  15. package/dist/components/Backdrop/Backdrop.js +74 -0
  16. package/dist/components/Backdrop/index.d.ts +1 -0
  17. package/dist/components/Backdrop/index.js +5 -0
  18. package/dist/components/BottomSheet/BottomSheet.d.ts +50 -0
  19. package/dist/components/BottomSheet/BottomSheet.js +159 -0
  20. package/dist/components/BottomSheet/index.d.ts +1 -0
  21. package/dist/components/BottomSheet/index.js +6 -0
  22. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +63 -0
  23. package/dist/components/Breadcrumbs/Breadcrumbs.js +143 -0
  24. package/dist/components/Breadcrumbs/index.d.ts +1 -0
  25. package/dist/components/Breadcrumbs/index.js +6 -0
  26. package/dist/components/CodeBlock/CodeBlock.d.ts +42 -0
  27. package/dist/components/CodeBlock/CodeBlock.js +110 -0
  28. package/dist/components/CodeBlock/index.d.ts +1 -0
  29. package/dist/components/CodeBlock/index.js +5 -0
  30. package/dist/components/Drawer/Drawer.d.ts +51 -0
  31. package/dist/components/Drawer/Drawer.js +168 -0
  32. package/dist/components/Drawer/index.d.ts +1 -0
  33. package/dist/components/Drawer/index.js +6 -0
  34. package/dist/components/Link/Link.d.ts +51 -0
  35. package/dist/components/Link/Link.js +73 -0
  36. package/dist/components/Link/index.d.ts +1 -0
  37. package/dist/components/Link/index.js +5 -0
  38. package/dist/components/Menu/Menu.d.ts +91 -0
  39. package/dist/components/Menu/Menu.js +211 -0
  40. package/dist/components/Menu/index.d.ts +1 -0
  41. package/dist/components/Menu/index.js +9 -0
  42. package/dist/components/Slider/Slider.d.ts +47 -0
  43. package/dist/components/Slider/Slider.js +132 -0
  44. package/dist/components/Slider/index.d.ts +1 -0
  45. package/dist/components/Slider/index.js +5 -0
  46. package/dist/components/SpeedDial/SpeedDial.d.ts +72 -0
  47. package/dist/components/SpeedDial/SpeedDial.js +189 -0
  48. package/dist/components/SpeedDial/index.d.ts +1 -0
  49. package/dist/components/SpeedDial/index.js +6 -0
  50. package/dist/components/Table/Table.d.ts +74 -0
  51. package/dist/components/Table/Table.js +176 -0
  52. package/dist/components/Table/index.d.ts +1 -0
  53. package/dist/components/Table/index.js +9 -0
  54. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.d.ts +69 -0
  55. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.js +158 -0
  56. package/dist/components/ToggleButtonGroup/index.d.ts +1 -0
  57. package/dist/components/ToggleButtonGroup/index.js +6 -0
  58. package/dist/hooks/index.d.ts +1 -0
  59. package/dist/hooks/index.js +7 -0
  60. package/dist/hooks/useBreakpoint.d.ts +22 -0
  61. package/dist/hooks/useBreakpoint.js +45 -0
  62. package/dist/index.d.ts +17 -2
  63. package/dist/index.js +59 -2
  64. package/dist/theme/ThemeContext.d.ts +8 -1
  65. package/dist/theme/ThemeContext.js +7 -4
  66. package/dist/theme/applyCastTheme.d.ts +75 -0
  67. package/dist/theme/applyCastTheme.js +95 -0
  68. package/dist/theme/index.d.ts +2 -1
  69. package/dist/theme/index.js +3 -1
  70. package/dist/theme/themes.js +177 -0
  71. package/dist/theme/types.d.ts +177 -0
  72. package/dist/tokens/breakpoints.d.ts +57 -0
  73. package/dist/tokens/breakpoints.js +92 -0
  74. package/dist/tokens/colors.d.ts +44 -0
  75. package/dist/tokens/colors.js +47 -1
  76. package/dist/tokens/index.d.ts +2 -1
  77. package/dist/tokens/index.js +9 -1
  78. package/package.json +2 -1
@@ -15,7 +15,7 @@
15
15
  * the light-scheme values, kept for backwards compatibility.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.listColors = exports.skeletonColors = exports.avatarColors = exports.tabsColors = exports.progressColors = exports.toggleColors = exports.radioColors = exports.checkboxColors = exports.errorTokens = exports.tagTokens = exports.selectColors = exports.overlayTokens = exports.textTokens = exports.surfaceTokens = exports.controlTokens = exports.disabledColors = exports.intentColors = exports.colorSchemes = exports.darkColors = exports.lightColors = void 0;
18
+ exports.listColors = exports.tableColors = exports.sliderColors = exports.skeletonColors = exports.avatarColors = exports.tabsColors = exports.progressColors = exports.toggleColors = exports.radioColors = exports.checkboxColors = exports.errorTokens = exports.tagTokens = exports.menuColors = exports.selectColors = exports.overlayTokens = exports.textTokens = exports.surfaceTokens = exports.controlTokens = exports.disabledColors = exports.intentColors = exports.colorSchemes = exports.darkColors = exports.lightColors = void 0;
19
19
  // ---------------------------------------------------------------------------
20
20
  // Light scheme — semantic-light mode
21
21
  // ---------------------------------------------------------------------------
@@ -96,6 +96,16 @@ exports.lightColors = {
96
96
  },
97
97
  separator: '#E5E7EB',
98
98
  },
99
+ menu: {
100
+ item: {
101
+ default: { bg: 'transparent', fg: '#374151' },
102
+ hover: { bg: '#F9FAFB', fg: '#111827' },
103
+ selected: { bg: '#EFF6FF', fg: '#1D4ED8' },
104
+ selectedHover: { bg: '#DBEAFE', fg: '#1D4ED8' },
105
+ disabled: { bg: 'transparent', fg: '#9CA3AF' },
106
+ },
107
+ separator: '#E5E7EB',
108
+ },
99
109
  tag: {
100
110
  bg: '#F3F4F6',
101
111
  fg: '#374151',
@@ -142,6 +152,7 @@ exports.lightColors = {
142
152
  progress: { track: '#E5E7EB' }, // control/progress/track/bg → cool-grey/200
143
153
  tabs: { track: '#E5E7EB' }, // control/tabs/track/bg → cool-grey/200
144
154
  spinner: { track: '#E5E7EB' }, // control/spinner/track/bg → cool-grey/200
155
+ bottomSheet: { handle: '#D1D5DB' }, // control/bottom-sheet/handle/bg → cool-grey/300
145
156
  avatar: { bg: '#F3F4F6', fg: '#374151' },
146
157
  skeleton: { bg: '#F3F4F6', highlight: '#E5E7EB' },
147
158
  list: {
@@ -157,6 +168,15 @@ exports.lightColors = {
157
168
  separator: '#E5E7EB',
158
169
  containerBg: '#FFFFFF',
159
170
  },
171
+ slider: { track: '#E5E7EB' }, // control/slider/track/bg -> cool-grey/200
172
+ table: {
173
+ headerBg: '#F3F4F6',
174
+ border: '#E5E7EB',
175
+ rowHover: '#F3F4F6',
176
+ stripe: '#F9FAFB',
177
+ selectedBg: '#EFF6FF',
178
+ selectedHoverBg: '#DBEAFE',
179
+ },
160
180
  };
161
181
  // ---------------------------------------------------------------------------
162
182
  // Dark scheme — semantic-dark mode
@@ -240,6 +260,16 @@ exports.darkColors = {
240
260
  },
241
261
  separator: '#374151',
242
262
  },
263
+ menu: {
264
+ item: {
265
+ default: { bg: 'transparent', fg: '#E5E7EB' },
266
+ hover: { bg: '#374151', fg: '#F9FAFB' },
267
+ selected: { bg: '#1E3A8A', fg: '#93C5FD' },
268
+ selectedHover: { bg: '#1E40AF', fg: '#93C5FD' },
269
+ disabled: { bg: 'transparent', fg: '#6B7280' },
270
+ },
271
+ separator: '#374151',
272
+ },
243
273
  tag: {
244
274
  bg: '#374151',
245
275
  fg: '#E5E7EB',
@@ -286,6 +316,7 @@ exports.darkColors = {
286
316
  progress: { track: '#374151' }, // control/progress/track/bg → cool-grey/700
287
317
  tabs: { track: '#374151' }, // control/tabs/track/bg → cool-grey/700
288
318
  spinner: { track: '#374151' }, // control/spinner/track/bg → cool-grey/700
319
+ bottomSheet: { handle: '#4B5563' }, // control/bottom-sheet/handle/bg → cool-grey/600
289
320
  avatar: { bg: '#374151', fg: '#E5E7EB' },
290
321
  skeleton: { bg: '#1F2937', highlight: '#374151' },
291
322
  list: {
@@ -301,6 +332,15 @@ exports.darkColors = {
301
332
  separator: '#374151',
302
333
  containerBg: '#1F2937',
303
334
  },
335
+ slider: { track: '#374151' }, // control/slider/track/bg -> cool-grey/700
336
+ table: {
337
+ headerBg: '#1F2937',
338
+ border: '#374151',
339
+ rowHover: '#374151',
340
+ stripe: '#111827',
341
+ selectedBg: '#1E3A8A',
342
+ selectedHoverBg: '#1E40AF',
343
+ },
304
344
  };
305
345
  /** Scheme lookup by colour mode */
306
346
  exports.colorSchemes = {
@@ -334,6 +374,8 @@ exports.overlayTokens = {
334
374
  };
335
375
  /** Option state colours — used by SelectOption (neutral intent) */
336
376
  exports.selectColors = exports.lightColors.select;
377
+ /** Menu colours — item state colours + separator (mirrors select). */
378
+ exports.menuColors = exports.lightColors.menu;
337
379
  /** Tag tokens — multi-select pill styling (constant across densities) */
338
380
  exports.tagTokens = exports.lightColors.tag;
339
381
  /** Error/danger colour for form field borders and helper text */
@@ -352,5 +394,9 @@ exports.tabsColors = exports.lightColors.tabs;
352
394
  exports.avatarColors = exports.lightColors.avatar;
353
395
  /** Skeleton colours — placeholder surface for loading states */
354
396
  exports.skeletonColors = exports.lightColors.skeleton;
397
+ /** Slider colours — track background (fill comes from the intent system). */
398
+ exports.sliderColors = exports.lightColors.slider;
399
+ /** Table colours — header, borders, and row states. */
400
+ exports.tableColors = exports.lightColors.table;
355
401
  /** List colours — used by List / ListItem / ListSubheader */
356
402
  exports.listColors = exports.lightColors.list;
@@ -1,3 +1,4 @@
1
- export { lightColors, darkColors, colorSchemes, intentColors, disabledColors, controlTokens, surfaceTokens, textTokens, overlayTokens, selectColors, tagTokens, errorTokens, listColors, checkboxColors, toggleColors, progressColors, tabsColors, radioColors, avatarColors, skeletonColors, type IntentName, type ProminenceName, type StateName, type ColorMode, type ColorScheme, } from './colors';
1
+ export { lightColors, darkColors, colorSchemes, intentColors, disabledColors, controlTokens, surfaceTokens, textTokens, overlayTokens, selectColors, menuColors, tagTokens, errorTokens, listColors, checkboxColors, toggleColors, progressColors, tabsColors, radioColors, avatarColors, skeletonColors, sliderColors, tableColors, type IntentName, type ProminenceName, type StateName, type ColorMode, type ColorScheme, } from './colors';
2
2
  export { fontFamily, fontWeight, label, title, body, heading, display, caption, type LabelSize, } from './typography';
3
3
  export { iconSize, type IconSize } from './icon';
4
+ export { breakpoints, breakpointOrder, resolveBreakpoint, resolveResponsiveValue, type Breakpoint, type BreakpointKey, } from './breakpoints';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.iconSize = exports.caption = exports.display = exports.heading = exports.body = exports.title = exports.label = exports.fontWeight = exports.fontFamily = exports.skeletonColors = exports.avatarColors = exports.radioColors = exports.tabsColors = exports.progressColors = exports.toggleColors = exports.checkboxColors = exports.listColors = exports.errorTokens = exports.tagTokens = exports.selectColors = exports.overlayTokens = exports.textTokens = exports.surfaceTokens = exports.controlTokens = exports.disabledColors = exports.intentColors = exports.colorSchemes = exports.darkColors = exports.lightColors = void 0;
3
+ exports.resolveResponsiveValue = exports.resolveBreakpoint = exports.breakpointOrder = exports.breakpoints = exports.iconSize = exports.caption = exports.display = exports.heading = exports.body = exports.title = exports.label = exports.fontWeight = exports.fontFamily = exports.tableColors = exports.sliderColors = exports.skeletonColors = exports.avatarColors = exports.radioColors = exports.tabsColors = exports.progressColors = exports.toggleColors = exports.checkboxColors = exports.listColors = exports.errorTokens = exports.tagTokens = exports.menuColors = exports.selectColors = exports.overlayTokens = exports.textTokens = exports.surfaceTokens = exports.controlTokens = exports.disabledColors = exports.intentColors = exports.colorSchemes = exports.darkColors = exports.lightColors = void 0;
4
4
  var colors_1 = require("./colors");
5
5
  Object.defineProperty(exports, "lightColors", { enumerable: true, get: function () { return colors_1.lightColors; } });
6
6
  Object.defineProperty(exports, "darkColors", { enumerable: true, get: function () { return colors_1.darkColors; } });
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "surfaceTokens", { enumerable: true, get: functio
12
12
  Object.defineProperty(exports, "textTokens", { enumerable: true, get: function () { return colors_1.textTokens; } });
13
13
  Object.defineProperty(exports, "overlayTokens", { enumerable: true, get: function () { return colors_1.overlayTokens; } });
14
14
  Object.defineProperty(exports, "selectColors", { enumerable: true, get: function () { return colors_1.selectColors; } });
15
+ Object.defineProperty(exports, "menuColors", { enumerable: true, get: function () { return colors_1.menuColors; } });
15
16
  Object.defineProperty(exports, "tagTokens", { enumerable: true, get: function () { return colors_1.tagTokens; } });
16
17
  Object.defineProperty(exports, "errorTokens", { enumerable: true, get: function () { return colors_1.errorTokens; } });
17
18
  Object.defineProperty(exports, "listColors", { enumerable: true, get: function () { return colors_1.listColors; } });
@@ -22,6 +23,8 @@ Object.defineProperty(exports, "tabsColors", { enumerable: true, get: function (
22
23
  Object.defineProperty(exports, "radioColors", { enumerable: true, get: function () { return colors_1.radioColors; } });
23
24
  Object.defineProperty(exports, "avatarColors", { enumerable: true, get: function () { return colors_1.avatarColors; } });
24
25
  Object.defineProperty(exports, "skeletonColors", { enumerable: true, get: function () { return colors_1.skeletonColors; } });
26
+ Object.defineProperty(exports, "sliderColors", { enumerable: true, get: function () { return colors_1.sliderColors; } });
27
+ Object.defineProperty(exports, "tableColors", { enumerable: true, get: function () { return colors_1.tableColors; } });
25
28
  var typography_1 = require("./typography");
26
29
  Object.defineProperty(exports, "fontFamily", { enumerable: true, get: function () { return typography_1.fontFamily; } });
27
30
  Object.defineProperty(exports, "fontWeight", { enumerable: true, get: function () { return typography_1.fontWeight; } });
@@ -33,3 +36,8 @@ Object.defineProperty(exports, "display", { enumerable: true, get: function () {
33
36
  Object.defineProperty(exports, "caption", { enumerable: true, get: function () { return typography_1.caption; } });
34
37
  var icon_1 = require("./icon");
35
38
  Object.defineProperty(exports, "iconSize", { enumerable: true, get: function () { return icon_1.iconSize; } });
39
+ var breakpoints_1 = require("./breakpoints");
40
+ Object.defineProperty(exports, "breakpoints", { enumerable: true, get: function () { return breakpoints_1.breakpoints; } });
41
+ Object.defineProperty(exports, "breakpointOrder", { enumerable: true, get: function () { return breakpoints_1.breakpointOrder; } });
42
+ Object.defineProperty(exports, "resolveBreakpoint", { enumerable: true, get: function () { return breakpoints_1.resolveBreakpoint; } });
43
+ Object.defineProperty(exports, "resolveResponsiveValue", { enumerable: true, get: function () { return breakpoints_1.resolveResponsiveValue; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@castui/cast-ui",
3
- "version": "4.7.0",
3
+ "version": "4.9.0",
4
4
  "description": "A cross-platform design system for React Native (iOS, Android, Web) with multi-theme support.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -14,6 +14,7 @@
14
14
  "sideEffects": false,
15
15
  "files": [
16
16
  "dist/",
17
+ "skills/",
17
18
  "README.md",
18
19
  "LICENSE"
19
20
  ],