@hjmds/design-contracts 1.9.0 → 1.11.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 (190) hide show
  1. package/dist/action-session.d.ts +47 -0
  2. package/dist/action-session.d.ts.map +1 -0
  3. package/dist/action-session.js +60 -0
  4. package/dist/action-session.js.map +1 -0
  5. package/dist/activity-heatmap.d.ts +22 -0
  6. package/dist/activity-heatmap.d.ts.map +1 -0
  7. package/dist/activity-heatmap.js +29 -0
  8. package/dist/activity-heatmap.js.map +1 -0
  9. package/dist/auth-screen.d.ts +4 -0
  10. package/dist/auth-screen.d.ts.map +1 -1
  11. package/dist/auth-screen.js +2 -0
  12. package/dist/auth-screen.js.map +1 -1
  13. package/dist/avatar-fallback.d.ts +25 -0
  14. package/dist/avatar-fallback.d.ts.map +1 -0
  15. package/dist/avatar-fallback.js +17 -0
  16. package/dist/avatar-fallback.js.map +1 -0
  17. package/dist/behaviors.d.ts +2 -2
  18. package/dist/bottom-navigation-defaults.d.ts +1 -1
  19. package/dist/bottom-navigation-defaults.d.ts.map +1 -1
  20. package/dist/bottom-navigation-defaults.js.map +1 -1
  21. package/dist/bottom-navigation.d.ts.map +1 -1
  22. package/dist/bottom-navigation.js +5 -1
  23. package/dist/bottom-navigation.js.map +1 -1
  24. package/dist/catalog.d.ts +67 -5
  25. package/dist/catalog.d.ts.map +1 -1
  26. package/dist/code-block.d.ts +23 -0
  27. package/dist/code-block.d.ts.map +1 -0
  28. package/dist/code-block.js +13 -0
  29. package/dist/code-block.js.map +1 -0
  30. package/dist/component-definitions.d.ts +2 -3
  31. package/dist/component-definitions.d.ts.map +1 -1
  32. package/dist/component-definitions.js +1 -2
  33. package/dist/component-definitions.js.map +1 -1
  34. package/dist/component-recipes.d.ts +63 -5
  35. package/dist/component-recipes.d.ts.map +1 -1
  36. package/dist/component-recipes.js +33 -6
  37. package/dist/component-recipes.js.map +1 -1
  38. package/dist/component-references.d.ts +0 -6
  39. package/dist/component-references.d.ts.map +1 -1
  40. package/dist/component-references.js +0 -5
  41. package/dist/component-references.js.map +1 -1
  42. package/dist/content-transition.d.ts +17 -0
  43. package/dist/content-transition.d.ts.map +1 -0
  44. package/dist/content-transition.js +15 -0
  45. package/dist/content-transition.js.map +1 -0
  46. package/dist/duration-field.d.ts +22 -0
  47. package/dist/duration-field.d.ts.map +1 -0
  48. package/dist/duration-field.js +20 -0
  49. package/dist/duration-field.js.map +1 -0
  50. package/dist/effect-surface.d.ts +29 -0
  51. package/dist/effect-surface.d.ts.map +1 -0
  52. package/dist/effect-surface.js +26 -0
  53. package/dist/effect-surface.js.map +1 -0
  54. package/dist/gooey-navigation.d.ts +13 -0
  55. package/dist/gooey-navigation.d.ts.map +1 -0
  56. package/dist/gooey-navigation.js +11 -0
  57. package/dist/gooey-navigation.js.map +1 -0
  58. package/dist/gravity-letters.d.ts +12 -0
  59. package/dist/gravity-letters.d.ts.map +1 -0
  60. package/dist/gravity-letters.js +11 -0
  61. package/dist/gravity-letters.js.map +1 -0
  62. package/dist/grid-reveal.d.ts +8 -0
  63. package/dist/grid-reveal.d.ts.map +1 -0
  64. package/dist/grid-reveal.js +5 -0
  65. package/dist/grid-reveal.js.map +1 -0
  66. package/dist/internal/object-validation.d.ts +3 -0
  67. package/dist/internal/object-validation.d.ts.map +1 -0
  68. package/dist/internal/object-validation.js +12 -0
  69. package/dist/internal/object-validation.js.map +1 -0
  70. package/dist/internal/thinking-orb/braid.d.ts.map +1 -1
  71. package/dist/internal/thinking-orb/braid.js +2 -9
  72. package/dist/internal/thinking-orb/braid.js.map +1 -1
  73. package/dist/internal/thinking-orb/core.d.ts +1 -0
  74. package/dist/internal/thinking-orb/core.d.ts.map +1 -1
  75. package/dist/internal/thinking-orb/core.js +12 -0
  76. package/dist/internal/thinking-orb/core.js.map +1 -1
  77. package/dist/internal/thinking-orb/presentation.d.ts +4 -0
  78. package/dist/internal/thinking-orb/presentation.d.ts.map +1 -0
  79. package/dist/internal/thinking-orb/presentation.js +28 -0
  80. package/dist/internal/thinking-orb/presentation.js.map +1 -0
  81. package/dist/internal/thinking-orb/ribbon.d.ts.map +1 -1
  82. package/dist/internal/thinking-orb/ribbon.js +2 -9
  83. package/dist/internal/thinking-orb/ribbon.js.map +1 -1
  84. package/dist/layout.d.ts +0 -5
  85. package/dist/layout.d.ts.map +1 -1
  86. package/dist/layout.js +0 -7
  87. package/dist/layout.js.map +1 -1
  88. package/dist/otp-field.d.ts +2 -0
  89. package/dist/otp-field.d.ts.map +1 -1
  90. package/dist/otp-field.js.map +1 -1
  91. package/dist/popover.d.ts.map +1 -1
  92. package/dist/popover.js +3 -12
  93. package/dist/popover.js.map +1 -1
  94. package/dist/reactions.d.ts +10 -0
  95. package/dist/reactions.d.ts.map +1 -0
  96. package/dist/reactions.js +20 -0
  97. package/dist/reactions.js.map +1 -0
  98. package/dist/scroll-progress.d.ts +8 -0
  99. package/dist/scroll-progress.d.ts.map +1 -0
  100. package/dist/scroll-progress.js +10 -0
  101. package/dist/scroll-progress.js.map +1 -0
  102. package/dist/task-list.d.ts +7 -0
  103. package/dist/task-list.d.ts.map +1 -0
  104. package/dist/task-list.js +4 -0
  105. package/dist/task-list.js.map +1 -0
  106. package/dist/theme-studio.d.ts +14 -0
  107. package/dist/theme-studio.d.ts.map +1 -0
  108. package/dist/theme-studio.js +16 -0
  109. package/dist/theme-studio.js.map +1 -0
  110. package/dist/thinking-orb.d.ts +4 -2
  111. package/dist/thinking-orb.d.ts.map +1 -1
  112. package/dist/thinking-orb.js +8 -3
  113. package/dist/thinking-orb.js.map +1 -1
  114. package/dist/toast-liquid.d.ts +4 -4
  115. package/dist/toast-liquid.d.ts.map +1 -1
  116. package/dist/toast-liquid.js +11 -10
  117. package/dist/toast-liquid.js.map +1 -1
  118. package/dist/toast.d.ts +4 -4
  119. package/dist/toast.d.ts.map +1 -1
  120. package/dist/toast.js +4 -3
  121. package/dist/toast.js.map +1 -1
  122. package/dist/tooltip.d.ts.map +1 -1
  123. package/dist/tooltip.js +3 -12
  124. package/dist/tooltip.js.map +1 -1
  125. package/dist/version.d.ts +1 -1
  126. package/dist/version.d.ts.map +1 -1
  127. package/dist/version.js +1 -1
  128. package/dist/version.js.map +1 -1
  129. package/dist/voice-note.d.ts +20 -0
  130. package/dist/voice-note.d.ts.map +1 -0
  131. package/dist/voice-note.js +16 -0
  132. package/dist/voice-note.js.map +1 -0
  133. package/docs/action-session.md +73 -0
  134. package/docs/activity-heatmap.md +32 -0
  135. package/docs/anchor.md +1 -1
  136. package/docs/auth-screen.md +44 -4
  137. package/docs/authoring-brief.md +5 -0
  138. package/docs/avatar-fallback.md +74 -0
  139. package/docs/bottom-navigation.md +16 -1
  140. package/docs/breadcrumb.md +1 -1
  141. package/docs/calendar.md +1 -1
  142. package/docs/cascader.md +1 -1
  143. package/docs/code-block.md +32 -0
  144. package/docs/command-palette.md +1 -1
  145. package/docs/compound-controls.md +83 -0
  146. package/docs/confirm-popover.md +1 -1
  147. package/docs/consumer-policy.md +30 -23
  148. package/docs/cross-platform-core-normalization.md +19 -21
  149. package/docs/data-table.md +8 -5
  150. package/docs/dialog.md +2 -0
  151. package/docs/effect-surface.md +50 -0
  152. package/docs/floating-action-button.md +1 -1
  153. package/docs/folder-preview.md +26 -0
  154. package/docs/generated/component-maturity.md +1 -1
  155. package/docs/generated/renderer-evidence.json +3 -3
  156. package/docs/generated/renderer-evidence.md +1 -1
  157. package/docs/generated/showcase-manifest.json +1 -1
  158. package/docs/gooey-navigation.md +36 -0
  159. package/docs/gravity-letters.md +26 -0
  160. package/docs/grid-reveal.md +11 -0
  161. package/docs/icon.md +26 -0
  162. package/docs/image.md +2 -2
  163. package/docs/layout.md +1 -2
  164. package/docs/migration-0.5.md +4 -1
  165. package/docs/migration-native-legacy-removal.md +59 -0
  166. package/docs/navigation-bar.md +28 -0
  167. package/docs/optional-adapters.md +24 -1
  168. package/docs/otp-field.md +15 -0
  169. package/docs/pagination.md +1 -1
  170. package/docs/popover.md +2 -2
  171. package/docs/product-adoption-1.4.md +7 -0
  172. package/docs/product-audit-2026-09-15.md +1 -1
  173. package/docs/provider-button.md +6 -3
  174. package/docs/rating.md +1 -1
  175. package/docs/react-native-completion.md +4 -4
  176. package/docs/screen-chrome.md +1 -1
  177. package/docs/scroll-progress.md +29 -0
  178. package/docs/sheet.md +2 -0
  179. package/docs/sidebar.md +6 -0
  180. package/docs/splitter.md +1 -1
  181. package/docs/step-player.md +16 -0
  182. package/docs/task-list.md +32 -0
  183. package/docs/theme-studio.md +13 -0
  184. package/docs/thinking-orb.md +9 -2
  185. package/docs/time-picker.md +1 -1
  186. package/docs/toast.md +27 -8
  187. package/docs/tour.md +1 -1
  188. package/docs/tree-select.md +2 -2
  189. package/docs/voice-note.md +19 -0
  190. package/package.json +91 -1
@@ -831,6 +831,17 @@ export const bottomNavigationRecipe = {
831
831
  native: "navigator-tab-bar",
832
832
  },
833
833
  presentations: {
834
+ capsule: {
835
+ background: semanticColors.surface.default,
836
+ border: semanticColors.border.default,
837
+ borderWidth: stroke.default,
838
+ borderEdges: ["all"],
839
+ radius: "full",
840
+ shadow: floatingSurfaceContract.shadow,
841
+ maxWidth: 480,
842
+ outerPaddingHorizontal: spacing.md,
843
+ outerPaddingTop: spacing.xs,
844
+ },
834
845
  bar: {
835
846
  background: semanticColors.canvas,
836
847
  border: semanticColors.border.default,
@@ -1365,7 +1376,7 @@ export const toastRecipe = {
1365
1376
  "action",
1366
1377
  "close",
1367
1378
  ],
1368
- defaults: { tone: "neutral", placement: "bottom", durationMs: 5000 },
1379
+ defaults: { tone: "neutral", placement: "bottom", durationMs: 3000 },
1369
1380
  adaptive: { web: "fixed-viewport", native: "safe-area-overlay" },
1370
1381
  viewport: {
1371
1382
  layer: layer.toast,
@@ -1382,62 +1393,78 @@ export const toastRecipe = {
1382
1393
  "bottom-start": { blockEdge: "bottom", inlineEdge: "start", stackFrom: "bottom" },
1383
1394
  "bottom-end": { blockEdge: "bottom", inlineEdge: "end", stackFrom: "bottom" },
1384
1395
  },
1396
+ // 1.10.0: tone is carried by a tinted icon badge, not a 2px edge strip — the strip plus a bare glyph read
1397
+ // as a grey dot on neutral toasts (BurnTok 2026-09-30 feedback "알림 ui 구려"). `badge` is the badge fill.
1385
1398
  tones: {
1386
1399
  neutral: {
1387
1400
  foreground: semanticColors.content.primary,
1388
1401
  accent: semanticColors.content.secondary,
1402
+ badge: semanticColors.surface.sunken,
1389
1403
  mark: "notifications",
1390
1404
  },
1391
1405
  info: {
1392
1406
  foreground: semanticColors.content.primary,
1393
1407
  accent: semanticColors.feedback.info.foreground,
1408
+ badge: semanticColors.feedback.info.badgeBackground,
1394
1409
  mark: "info",
1395
1410
  },
1396
1411
  success: {
1397
1412
  foreground: semanticColors.content.primary,
1398
1413
  accent: semanticColors.feedback.success.foreground,
1414
+ badge: semanticColors.feedback.success.badgeBackground,
1399
1415
  mark: "success",
1400
1416
  },
1401
1417
  warning: {
1402
1418
  foreground: semanticColors.content.primary,
1403
1419
  accent: semanticColors.feedback.warning.foreground,
1420
+ badge: semanticColors.feedback.warning.badgeBackground,
1404
1421
  mark: "warning",
1405
1422
  },
1406
1423
  danger: {
1407
1424
  foreground: semanticColors.content.primary,
1408
1425
  accent: semanticColors.content.danger,
1426
+ badge: semanticColors.feedback.danger.badgeBackground,
1409
1427
  mark: "alert",
1410
1428
  },
1411
1429
  },
1412
1430
  surface: {
1413
1431
  background: semanticColors.canvas,
1432
+ // Strong border stays: the card boundary must keep 3:1 against the page (toast.test.ts, WCAG 1.4.11).
1433
+ // 1.10.0 only softens the shape (lg radius).
1414
1434
  border: semanticColors.border.strong,
1415
1435
  borderWidth: stroke.default,
1416
- radius: "md",
1436
+ radius: "lg",
1417
1437
  shadow: floatingSurfaceContract.shadow,
1418
1438
  minHeight: layout.rowHeight.singleLine,
1419
1439
  padding: spacing.md,
1420
1440
  gap: spacing.sm,
1421
1441
  maxWidth: 420,
1422
1442
  },
1423
- toneMark: { width: stroke.strong, radius: "full" },
1424
- icon: { glyph: "sm" },
1443
+ // Retired in 1.10.0 (width 0): the icon badge carries tone. Kept so the slot contract stays additive.
1444
+ toneMark: { width: 0, radius: "full" },
1445
+ icon: { glyph: "sm", badgeDiameter: 32, badgeRadius: "full" },
1425
1446
  content: { gap: spacing.xxs },
1426
1447
  title: {
1427
1448
  color: semanticColors.content.primary,
1428
1449
  textVariant: "body",
1429
1450
  fontWeight: fontWeight.bold,
1430
1451
  },
1452
+ // Secondary copy so the title leads; body-on-body read as one grey block.
1431
1453
  description: {
1432
- color: semanticColors.content.body,
1454
+ color: semanticColors.content.secondary,
1433
1455
  textVariant: "body",
1434
1456
  },
1457
+ // 1.10.0: a tinted pill button aligned to the end instead of a bare text link, so the one thing a toast
1458
+ // asks for is recognisable as a control. Hit area stays the 44pt touch target.
1435
1459
  action: {
1436
1460
  color: semanticColors.content.brand,
1461
+ background: semanticColors.surface.brand,
1462
+ radius: "full",
1463
+ align: "end",
1437
1464
  textVariant: "body",
1438
1465
  fontWeight: fontWeight.bold,
1439
1466
  minHeight: control.minTouchTarget,
1440
- paddingHorizontal: spacing.xs,
1467
+ paddingHorizontal: spacing.md,
1441
1468
  },
1442
1469
  close: {
1443
1470
  color: semanticColors.content.secondary,