ksk-design-system 2.7.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/native/ui.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../semantic-icons-CP9aRQ9C.js";
2
- import { a as c, i as l, n as u, r as d, t as f } from "../native-BsJ3ntN3.js";
2
+ import { a as c, i as l, n as u, r as d, t as f } from "../native-_H0V_r0X.js";
3
3
  import * as p from "react";
4
4
  import m, { createContext as h, useCallback as g, useContext as _, useEffect as v, useId as y, useMemo as b, useRef as x, useState as S } from "react";
5
5
  import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
@@ -3069,48 +3069,52 @@ function Pn({ open: e, onClose: t, side: n = "bottom", title: r, children: i, sa
3069
3069
  let { theme: s, scales: c } = W(), l = G(), [u] = S(() => new O.Value(0)), d = x(e), [f] = S(() => xt({
3070
3070
  animationFallbackDelay: Nn,
3071
3071
  showFallbackDelay: An
3072
- })), p = g(() => {
3073
- d.current && (u.stopAnimation(), u.setValue(1));
3072
+ })), [p, m] = S(!1), [h, _] = S(e);
3073
+ h !== e && (_(e), m(!1));
3074
+ let y = g(() => {
3075
+ d.current && (u.stopAnimation(), u.setValue(1), m(!0));
3074
3076
  }, [u]);
3075
3077
  v(() => {
3076
- d.current = e, f.cancel(), u.stopAnimation(), u.setValue(0), e && f.onOpen(p);
3078
+ d.current = e, f.cancel(), u.stopAnimation(), u.setValue(0), e && f.onOpen(y);
3077
3079
  }, [
3078
3080
  e,
3079
3081
  u,
3080
3082
  f,
3081
- p
3083
+ y
3082
3084
  ]), v(() => () => f.cancel(), [f]);
3083
- let m = () => {
3085
+ let b = () => {
3084
3086
  f.onModalShow((e) => {
3085
3087
  u.stopAnimation(), u.setValue(0), O.timing(u, {
3086
3088
  toValue: 1,
3087
3089
  duration: Mn,
3088
3090
  useNativeDriver: !0
3089
- }).start(({ finished: t }) => e(t));
3090
- }, p);
3091
- }, { width: h, height: _ } = k.get("window"), y = {
3091
+ }).start(({ finished: t }) => {
3092
+ e(t), t && d.current && m(!0);
3093
+ });
3094
+ }, y);
3095
+ }, { width: C, height: E } = k.get("window"), D = {
3092
3096
  bottom: { translateY: u.interpolate({
3093
3097
  inputRange: [0, 1],
3094
- outputRange: [_, 0]
3098
+ outputRange: [E, 0]
3095
3099
  }) },
3096
3100
  top: { translateY: u.interpolate({
3097
3101
  inputRange: [0, 1],
3098
- outputRange: [-_, 0]
3102
+ outputRange: [-E, 0]
3099
3103
  }) },
3100
3104
  left: { translateX: u.interpolate({
3101
3105
  inputRange: [0, 1],
3102
- outputRange: [-h, 0]
3106
+ outputRange: [-C, 0]
3103
3107
  }) },
3104
3108
  right: { translateX: u.interpolate({
3105
3109
  inputRange: [0, 1],
3106
- outputRange: [h, 0]
3110
+ outputRange: [C, 0]
3107
3111
  }) }
3108
3112
  };
3109
3113
  return /* @__PURE__ */ w(te, {
3110
3114
  visible: e,
3111
3115
  transparent: !0,
3112
3116
  animationType: "none",
3113
- onShow: m,
3117
+ onShow: b,
3114
3118
  onRequestClose: t,
3115
3119
  children: /* @__PURE__ */ w(L, {
3116
3120
  onPress: t,
@@ -3126,7 +3130,7 @@ function Pn({ open: e, onClose: t, side: n = "bottom", title: r, children: i, sa
3126
3130
  },
3127
3131
  children: /* @__PURE__ */ w(O.View, {
3128
3132
  style: {
3129
- transform: [y[n].translateX ? { translateX: y[n].translateX } : { translateX: 0 }, y[n].translateY ? { translateY: y[n].translateY } : { translateY: 0 }],
3133
+ transform: p ? [{ translateX: 0 }, { translateY: 0 }] : [D[n].translateX ? { translateX: D[n].translateX } : { translateX: 0 }, D[n].translateY ? { translateY: D[n].translateY } : { translateY: 0 }],
3130
3134
  backgroundColor: o ?? s.surface.primary,
3131
3135
  ...n === "bottom" || n === "top" ? {
3132
3136
  width: "100%",
@@ -7972,25 +7976,25 @@ var Na = {
7972
7976
  x: "X でログイン"
7973
7977
  };
7974
7978
  function Pa({ provider: e, label: t, onPress: n, disabled: r = !1 }) {
7975
- let { theme: i, scales: a } = W(), o = a.brandExternal, s = {
7979
+ let { theme: i, scales: a } = W(), o = a.brandExternal, s = i.text["on-media"], c = {
7976
7980
  google: {
7977
7981
  bg: i.surface.primary,
7978
7982
  fg: i.text["high-emphasis"],
7979
7983
  border: o.googleBorder
7980
7984
  },
7981
7985
  apple: {
7982
- bg: o.apple,
7983
- fg: i.text["on-inverse"],
7984
- border: o.apple
7986
+ bg: i.brand["apple-surface"],
7987
+ fg: i.brand["on-apple"],
7988
+ border: i.brand["apple-surface"]
7985
7989
  },
7986
7990
  line: {
7987
7991
  bg: o.line,
7988
- fg: i.text["on-inverse"],
7992
+ fg: s,
7989
7993
  border: o.line
7990
7994
  },
7991
7995
  amazon: {
7992
7996
  bg: o.amazon,
7993
- fg: i.text["on-inverse"],
7997
+ fg: s,
7994
7998
  border: o.amazon
7995
7999
  },
7996
8000
  github: {
@@ -8014,8 +8018,8 @@ function Pa({ provider: e, label: t, onPress: n, disabled: r = !1 }) {
8014
8018
  justifyContent: "center",
8015
8019
  borderRadius: a.borderRadius.lg,
8016
8020
  borderWidth: 1,
8017
- backgroundColor: s.bg,
8018
- borderColor: s.border,
8021
+ backgroundColor: c.bg,
8022
+ borderColor: c.border,
8019
8023
  opacity: r ? .5 : e ? .85 : 1
8020
8024
  }),
8021
8025
  children: /* @__PURE__ */ w(V, {
@@ -8025,7 +8029,7 @@ function Pa({ provider: e, label: t, onPress: n, disabled: r = !1 }) {
8025
8029
  gap: a.spacing.scale[2]
8026
8030
  },
8027
8031
  children: /* @__PURE__ */ w(z, {
8028
- style: [q("label.md"), { color: s.fg }],
8032
+ style: [q("label.md"), { color: c.fg }],
8029
8033
  children: t ?? Na[e]
8030
8034
  })
8031
8035
  })
@@ -73,6 +73,8 @@ var e = {
73
73
  line: "#06C755",
74
74
  "google-border": "#DADCE0",
75
75
  apple: "#000000",
76
+ "apple-surface": "#000000",
77
+ "on-apple": "#FFFFFF",
76
78
  amazon: "#232F3E"
77
79
  },
78
80
  hover: {
@@ -170,7 +172,9 @@ var e = {
170
172
  primary: "#60A5FA",
171
173
  action: "#93C5FD",
172
174
  light: "#1E3A8A",
173
- "ultra-light": "#1E3A8A"
175
+ "ultra-light": "#1E3A8A",
176
+ "apple-surface": "#FFFFFF",
177
+ "on-apple": "#000000"
174
178
  },
175
179
  hover: {
176
180
  "primary-button": "#3B82F6",
@@ -273,6 +277,8 @@ var e = {
273
277
  line: "#06C755",
274
278
  "google-border": "#DADCE0",
275
279
  apple: "#000000",
280
+ "apple-surface": "#000000",
281
+ "on-apple": "#FFFFFF",
276
282
  amazon: "#232F3E"
277
283
  },
278
284
  hover: {
@@ -370,7 +376,9 @@ var e = {
370
376
  primary: "#60A5FA",
371
377
  action: "#93C5FD",
372
378
  light: "#1E3A8A",
373
- "ultra-light": "#1E3A8A"
379
+ "ultra-light": "#1E3A8A",
380
+ "apple-surface": "#FFFFFF",
381
+ "on-apple": "#000000"
374
382
  },
375
383
  hover: {
376
384
  "primary-button": "#3B82F6",
@@ -473,6 +481,8 @@ var e = {
473
481
  line: "#06C755",
474
482
  "google-border": "#DADCE0",
475
483
  apple: "#000000",
484
+ "apple-surface": "#000000",
485
+ "on-apple": "#FFFFFF",
476
486
  amazon: "#232F3E"
477
487
  },
478
488
  hover: {
@@ -570,7 +580,9 @@ var e = {
570
580
  primary: "#4398F8",
571
581
  action: "#7FAAFB",
572
582
  light: "#03155A",
573
- "ultra-light": "#03155A"
583
+ "ultra-light": "#03155A",
584
+ "apple-surface": "#FFFFFF",
585
+ "on-apple": "#000000"
574
586
  },
575
587
  hover: {
576
588
  "primary-button": "#2053F5",
@@ -673,6 +685,8 @@ var e = {
673
685
  line: "#06C755",
674
686
  "google-border": "#DADCE0",
675
687
  apple: "#000000",
688
+ "apple-surface": "#000000",
689
+ "on-apple": "#FFFFFF",
676
690
  amazon: "#232F3E"
677
691
  },
678
692
  hover: {
@@ -770,7 +784,9 @@ var e = {
770
784
  primary: "#FB923C",
771
785
  action: "#FDBA74",
772
786
  light: "#431407",
773
- "ultra-light": "#431407"
787
+ "ultra-light": "#431407",
788
+ "apple-surface": "#FFFFFF",
789
+ "on-apple": "#000000"
774
790
  },
775
791
  hover: {
776
792
  "primary-button": "#F97316",
@@ -873,6 +889,8 @@ var e = {
873
889
  line: "#06C755",
874
890
  "google-border": "#DADCE0",
875
891
  apple: "#000000",
892
+ "apple-surface": "#000000",
893
+ "on-apple": "#FFFFFF",
876
894
  amazon: "#232F3E"
877
895
  },
878
896
  hover: {
@@ -970,7 +988,9 @@ var e = {
970
988
  primary: "#4ADE80",
971
989
  action: "#86EFAC",
972
990
  light: "#052E16",
973
- "ultra-light": "#052E16"
991
+ "ultra-light": "#052E16",
992
+ "apple-surface": "#FFFFFF",
993
+ "on-apple": "#000000"
974
994
  },
975
995
  hover: {
976
996
  "primary-button": "#16A34A",
@@ -1073,6 +1093,8 @@ var e = {
1073
1093
  line: "#06C755",
1074
1094
  "google-border": "#DADCE0",
1075
1095
  apple: "#000000",
1096
+ "apple-surface": "#000000",
1097
+ "on-apple": "#FFFFFF",
1076
1098
  amazon: "#232F3E"
1077
1099
  },
1078
1100
  hover: {
@@ -1170,7 +1192,9 @@ var e = {
1170
1192
  primary: "#A78BFA",
1171
1193
  action: "#C4B5FD",
1172
1194
  light: "#3B0764",
1173
- "ultra-light": "#3B0764"
1195
+ "ultra-light": "#3B0764",
1196
+ "apple-surface": "#FFFFFF",
1197
+ "on-apple": "#000000"
1174
1198
  },
1175
1199
  hover: {
1176
1200
  "primary-button": "#7C3AED",
package/dist/native.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, r, t as i } from "./native-BsJ3ntN3.js";
1
+ import { a as e, i as t, n, r, t as i } from "./native-_H0V_r0X.js";
2
2
  export { i as getTheme, r as primitives, t as scales, n as themeNames, e as themes };
@@ -173,5 +173,33 @@ interface BottomTabBarProps extends React.ComponentProps<"nav"> {
173
173
  * いずれも呼び出し側の義務にしていない(明示値があればそちらが優先)。
174
174
  */
175
175
  declare function BottomTabBar({ className, items, centerAction, showLabels, tone, maxWidth, variant, pillPosition, floatingPosition, keyboardBehavior, scrollEdge, navLabel, showOnDesktop, ...props }: BottomTabBarProps): React.JSX.Element;
176
+ interface PlatterRect {
177
+ x: number;
178
+ y: number;
179
+ w: number;
180
+ h: number;
181
+ }
182
+ /**
183
+ * platter overlay の配置量を求める。
184
+ *
185
+ * overlay は nav の絶対配置子 (`absolute left-0 top-0`) なので、原点は nav の
186
+ * **padding box**。一方 rect 同士の差は **border box** 基準なので、そのまま
187
+ * translate に渡すと nav の border 分だけ右下にずれる (#591)。border 幅
188
+ * (clientLeft / clientTop) を引いて padding box 基準へ揃える。
189
+ *
190
+ * テストから参照するため named export(公開 API ではない)。
191
+ */
192
+ export declare function computePlatterOffset(navBox: {
193
+ left: number;
194
+ top: number;
195
+ }, anchorBox: {
196
+ left: number;
197
+ top: number;
198
+ width: number;
199
+ height: number;
200
+ }, navBorder: {
201
+ left: number;
202
+ top: number;
203
+ }): PlatterRect;
176
204
  export { BottomTabBar };
177
205
  export type { BottomTabBarAction, BottomTabBarFloatingPosition, BottomTabBarItem, BottomTabBarKeyboardBehavior, BottomTabBarProps, };
@@ -72,6 +72,8 @@ export declare const themes: {
72
72
  readonly line: "#06C755";
73
73
  readonly "google-border": "#DADCE0";
74
74
  readonly apple: "#000000";
75
+ readonly "apple-surface": "#000000";
76
+ readonly "on-apple": "#FFFFFF";
75
77
  readonly amazon: "#232F3E";
76
78
  };
77
79
  readonly hover: {
@@ -178,6 +180,8 @@ export declare const themes: {
178
180
  readonly action: "#93C5FD";
179
181
  readonly light: "#1E3A8A";
180
182
  readonly "ultra-light": "#1E3A8A";
183
+ readonly "apple-surface": "#FFFFFF";
184
+ readonly "on-apple": "#000000";
181
185
  };
182
186
  readonly hover: {
183
187
  readonly "primary-button": "#3B82F6";
@@ -288,6 +292,8 @@ export declare const themes: {
288
292
  readonly line: "#06C755";
289
293
  readonly "google-border": "#DADCE0";
290
294
  readonly apple: "#000000";
295
+ readonly "apple-surface": "#000000";
296
+ readonly "on-apple": "#FFFFFF";
291
297
  readonly amazon: "#232F3E";
292
298
  };
293
299
  readonly hover: {
@@ -394,6 +400,8 @@ export declare const themes: {
394
400
  readonly action: "#93C5FD";
395
401
  readonly light: "#1E3A8A";
396
402
  readonly "ultra-light": "#1E3A8A";
403
+ readonly "apple-surface": "#FFFFFF";
404
+ readonly "on-apple": "#000000";
397
405
  };
398
406
  readonly hover: {
399
407
  readonly "primary-button": "#3B82F6";
@@ -504,6 +512,8 @@ export declare const themes: {
504
512
  readonly line: "#06C755";
505
513
  readonly "google-border": "#DADCE0";
506
514
  readonly apple: "#000000";
515
+ readonly "apple-surface": "#000000";
516
+ readonly "on-apple": "#FFFFFF";
507
517
  readonly amazon: "#232F3E";
508
518
  };
509
519
  readonly hover: {
@@ -610,6 +620,8 @@ export declare const themes: {
610
620
  readonly action: "#7FAAFB";
611
621
  readonly light: "#03155A";
612
622
  readonly "ultra-light": "#03155A";
623
+ readonly "apple-surface": "#FFFFFF";
624
+ readonly "on-apple": "#000000";
613
625
  };
614
626
  readonly hover: {
615
627
  readonly "primary-button": "#2053F5";
@@ -720,6 +732,8 @@ export declare const themes: {
720
732
  readonly line: "#06C755";
721
733
  readonly "google-border": "#DADCE0";
722
734
  readonly apple: "#000000";
735
+ readonly "apple-surface": "#000000";
736
+ readonly "on-apple": "#FFFFFF";
723
737
  readonly amazon: "#232F3E";
724
738
  };
725
739
  readonly hover: {
@@ -826,6 +840,8 @@ export declare const themes: {
826
840
  readonly action: "#FDBA74";
827
841
  readonly light: "#431407";
828
842
  readonly "ultra-light": "#431407";
843
+ readonly "apple-surface": "#FFFFFF";
844
+ readonly "on-apple": "#000000";
829
845
  };
830
846
  readonly hover: {
831
847
  readonly "primary-button": "#F97316";
@@ -936,6 +952,8 @@ export declare const themes: {
936
952
  readonly line: "#06C755";
937
953
  readonly "google-border": "#DADCE0";
938
954
  readonly apple: "#000000";
955
+ readonly "apple-surface": "#000000";
956
+ readonly "on-apple": "#FFFFFF";
939
957
  readonly amazon: "#232F3E";
940
958
  };
941
959
  readonly hover: {
@@ -1042,6 +1060,8 @@ export declare const themes: {
1042
1060
  readonly action: "#86EFAC";
1043
1061
  readonly light: "#052E16";
1044
1062
  readonly "ultra-light": "#052E16";
1063
+ readonly "apple-surface": "#FFFFFF";
1064
+ readonly "on-apple": "#000000";
1045
1065
  };
1046
1066
  readonly hover: {
1047
1067
  readonly "primary-button": "#16A34A";
@@ -1152,6 +1172,8 @@ export declare const themes: {
1152
1172
  readonly line: "#06C755";
1153
1173
  readonly "google-border": "#DADCE0";
1154
1174
  readonly apple: "#000000";
1175
+ readonly "apple-surface": "#000000";
1176
+ readonly "on-apple": "#FFFFFF";
1155
1177
  readonly amazon: "#232F3E";
1156
1178
  };
1157
1179
  readonly hover: {
@@ -1258,6 +1280,8 @@ export declare const themes: {
1258
1280
  readonly action: "#C4B5FD";
1259
1281
  readonly light: "#3B0764";
1260
1282
  readonly "ultra-light": "#3B0764";
1283
+ readonly "apple-surface": "#FFFFFF";
1284
+ readonly "on-apple": "#000000";
1261
1285
  };
1262
1286
  readonly hover: {
1263
1287
  readonly "primary-button": "#7C3AED";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ksk-design-system",
3
- "version": "2.7.0",
3
+ "version": "2.8.0",
4
4
  "type": "module",
5
5
  "description": "KSK Design System — フリーランス向けマルチテーマ対応デザインシステム",
6
6
  "license": "MIT",
@@ -69,7 +69,7 @@
69
69
  | Slider | `@/components/ui/slider` | — | Default, Range, WithLabel, Range — 最小値/最大値を別々にラベル付け, Disabled |
70
70
  | SOCIAL_ICON_LABELS, SOCIAL_ICON_DATA, SOCIAL_ICON_PLATFORMS | `@/components/ui/social-icon-data` | — | — |
71
71
  | SocialIcon, SOCIAL_ICON_PLATFORMS, SOCIAL_ICON_LABELS | `@/components/ui/social-icon` | — | Default, AllPlatforms, AllMono, Tones |
72
- | SocialLoginButton | `@/components/ui/social-login-button` | — | Line, Google, Apple, Amazon, AllProviders, Loading |
72
+ | SocialLoginButton | `@/components/ui/social-login-button` | — | Line, Google, Apple, Amazon, AllProviders, LightAndDark, Loading |
73
73
  | Spinner | `@/components/ui/spinner` | — | Default, AllSizes |
74
74
  | StarRating | `@/components/ui/star-rating` | — | Interactive, AllowClear, ReadOnly, Sizes |
75
75
  | StatusActionBadge, SyncStatusButton | `@/components/ui/status-action-badge` | — | AllStates, Actionable, Compact |
@@ -111,6 +111,12 @@
111
111
  --Brand-Google-Border: #DADCE0; /* Google ボタンの罫線(Google 推奨グレー) */
112
112
  --Brand-Apple: #000000;
113
113
  --Brand-Amazon: #232F3E;
114
+ /* Sign in with Apple のボタン面と前景(文字・ロゴ)。Apple HIG に従い
115
+ ライト背景では黒ボタン、ダーク背景では白ボタンにするため mode で反転する
116
+ (.dark 側で上書き)。--Text-on-Inverse は他用途の反転色で、Apple の固定黒面と
117
+ 組み合わせるとダークで黒地に黒文字になる(issue #595)。 */
118
+ --Brand-Apple-Surface: var(--Primitive-Black);
119
+ --Brand-on-Apple: var(--Primitive-White);
114
120
 
115
121
  /* ─── Interactive States ─── */
116
122
  --Hover-Primary-Button: var(--Primitive-Brand-700);
@@ -213,6 +219,9 @@
213
219
  --Brand-Action: var(--Primitive-Brand-300);
214
220
  --Brand-Light: var(--Primitive-Brand-900);
215
221
  --Brand-Ultra-Light: var(--Primitive-Brand-900);
222
+ /* Apple HIG: ダーク背景では白い Sign in with Apple ボタン(issue #595) */
223
+ --Brand-Apple-Surface: var(--Primitive-White);
224
+ --Brand-on-Apple: var(--Primitive-Black);
216
225
 
217
226
  --Hover-Primary-Button: var(--Primitive-Brand-500);
218
227
  --Active-Primary-Button: var(--Primitive-Brand-600);
@@ -126,7 +126,7 @@
126
126
  @source inline("bg-[color-mix(in_srgb,var(--Text-on-Inverse)_30%,transparent)]");
127
127
  @source inline("bg-[var(--Border-Low-Emphasis)]");
128
128
  @source inline("bg-[var(--Border-Medium-Emphasis)]");
129
- @source inline("bg-[var(--Brand-Apple)]");
129
+ @source inline("bg-[var(--Brand-Apple-Surface)]");
130
130
  @source inline("bg-[var(--Brand-Line)]");
131
131
  @source inline("bg-[var(--Brand-Primary)]");
132
132
  @source inline("bg-[var(--Brand-Primary)]!");
@@ -227,7 +227,7 @@
227
227
  @source inline("border-[var(--Border-Success)]");
228
228
  @source inline("border-[var(--Border-Warning)]");
229
229
  @source inline("border-[var(--Brand-Amazon)]");
230
- @source inline("border-[var(--Brand-Apple)]");
230
+ @source inline("border-[var(--Brand-Apple-Surface)]");
231
231
  @source inline("border-[var(--Brand-Google-Border)]");
232
232
  @source inline("border-[var(--Brand-Line)]");
233
233
  @source inline("border-[var(--Brand-Primary)]");
@@ -434,6 +434,7 @@
434
434
  @source inline("gap-[var(--Settings-Row-Gap)]");
435
435
  @source inline("gap-x-2");
436
436
  @source inline("gap-x-4");
437
+ @source inline("gap-y-0");
437
438
  @source inline("gap-y-1");
438
439
  @source inline("grid");
439
440
  @source inline("grid-cols-1");
@@ -992,6 +993,7 @@
992
993
  @source inline("text-8xl");
993
994
  @source inline("text-[var(--Border-Medium-Emphasis)]");
994
995
  @source inline("text-[var(--Brand-Primary)]");
996
+ @source inline("text-[var(--Brand-on-Apple)]");
995
997
  @source inline("text-[var(--Categorical-1-Bold)]");
996
998
  @source inline("text-[var(--Categorical-10-Bold)]");
997
999
  @source inline("text-[var(--Categorical-11-Bold)]");
package/tokens.json CHANGED
@@ -230,6 +230,8 @@
230
230
  "line": "#06C755",
231
231
  "google-border": "#DADCE0",
232
232
  "apple": "#000000",
233
+ "apple-surface": "var(--Primitive-Black)",
234
+ "on-apple": "var(--Primitive-White)",
233
235
  "amazon": "#232F3E"
234
236
  },
235
237
  "hover": {
@@ -441,7 +443,9 @@
441
443
  "primary": "var(--Primitive-Brand-400)",
442
444
  "action": "var(--Primitive-Brand-300)",
443
445
  "light": "var(--Primitive-Brand-900)",
444
- "ultra-light": "var(--Primitive-Brand-900)"
446
+ "ultra-light": "var(--Primitive-Brand-900)",
447
+ "apple-surface": "var(--Primitive-White)",
448
+ "on-apple": "var(--Primitive-Black)"
445
449
  },
446
450
  "hover": {
447
451
  "primary-button": "var(--Primitive-Brand-500)",