@salemcobalt/ui 0.2.0-rc.12 → 0.2.0-rc.14

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/styles.css CHANGED
@@ -1,4 +1,4 @@
1
- /* @salemcobalt/ui 0.2.0-rc.12 — requires @salemcobalt/tokens/css. */
1
+ /* @salemcobalt/ui 0.2.0-rc.14 — requires @salemcobalt/tokens/css. */
2
2
  @layer sc {
3
3
  /* ---- base.css ---- */
4
4
  /* Shared: focus ring, reduced motion. Component files follow. */
@@ -971,6 +971,69 @@
971
971
  flex: 1 1 100%;
972
972
  }
973
973
  }
974
+ /* Full screen: covers the viewport and slides in from the inline end. Title and actions stay put while
975
+ `Dialog.Body` scrolls, as in a sheet. The surface is `surface-default`, not raised, because it replaces
976
+ the page rather than floating over it, so the hover washes go back to the page's own. */
977
+ .sc-dialog__popup[data-variant='fullscreen'] {
978
+ --_slide: 1;
979
+ inset: 0;
980
+ margin: 0;
981
+ inline-size: auto;
982
+ max-inline-size: none;
983
+ block-size: auto;
984
+ max-block-size: none;
985
+ display: flex;
986
+ flex-direction: column;
987
+ overflow: hidden;
988
+ padding-block: calc(var(--sc-spacing-lg) + env(safe-area-inset-top, 0px))
989
+ calc(var(--sc-spacing-lg) + env(safe-area-inset-bottom, 0px));
990
+ padding-inline: calc(var(--sc-spacing-lg) + env(safe-area-inset-left, 0px))
991
+ calc(var(--sc-spacing-lg) + env(safe-area-inset-right, 0px));
992
+ border: 0;
993
+ border-radius: 0;
994
+ box-shadow: none;
995
+ background: var(--sc-color-surface-default);
996
+ --sc-color-surface-hover: inherit;
997
+ --sc-color-surface-active: inherit;
998
+ transition:
999
+ opacity var(--sc-duration-slower) var(--sc-ease-enter),
1000
+ translate var(--sc-duration-slower) var(--sc-ease-enter);
1001
+ }
1002
+ .sc-dialog__popup[data-variant='fullscreen'][data-starting-style] {
1003
+ opacity: 0;
1004
+ translate: calc(var(--_slide) * 96px) 0;
1005
+ scale: none;
1006
+ }
1007
+ .sc-dialog__popup[data-variant='fullscreen'][data-ending-style] {
1008
+ opacity: 0;
1009
+ translate: calc(var(--_slide) * 64px) 0;
1010
+ scale: none;
1011
+ transition-duration: var(--sc-duration-slow);
1012
+ transition-timing-function: var(--sc-ease-exit);
1013
+ }
1014
+ .sc-dialog__popup[data-variant='fullscreen']:dir(rtl) {
1015
+ --_slide: -1;
1016
+ }
1017
+ .sc-dialog__popup[data-variant='fullscreen'] > .sc-dialog__title,
1018
+ .sc-dialog__popup[data-variant='fullscreen'] > .sc-dialog__description,
1019
+ .sc-dialog__popup[data-variant='fullscreen'] > .sc-dialog__actions {
1020
+ flex: none;
1021
+ }
1022
+ .sc-dialog__popup[data-variant='fullscreen'] > .sc-dialog__body {
1023
+ flex: 1 1 auto;
1024
+ min-block-size: 0;
1025
+ overflow: auto;
1026
+ overscroll-behavior: contain;
1027
+ }
1028
+ /* From 900px the backdrop shows a margin around it, so it still reads as a layer over the app. */
1029
+ @media (width >= 900px) {
1030
+ .sc-dialog__popup[data-variant='fullscreen'] {
1031
+ inset: var(--sc-spacing-md);
1032
+ border: var(--sc-border-width-hairline) solid var(--sc-color-border-default);
1033
+ border-radius: var(--sc-radius-xl);
1034
+ box-shadow: var(--sc-elevation-3);
1035
+ }
1036
+ }
974
1037
  @media (prefers-reduced-motion: reduce) {
975
1038
  .sc-dialog__backdrop,
976
1039
  .sc-dialog__popup {
@@ -982,6 +1045,19 @@
982
1045
  scale: none;
983
1046
  }
984
1047
  }
1048
+ /* Reduced motion: the full-screen surface crossfades instead of sliding. */
1049
+ @media (prefers-reduced-motion: reduce) {
1050
+ .sc-dialog__popup[data-variant='fullscreen'] {
1051
+ transition-duration: var(--sc-duration-base);
1052
+ }
1053
+ .sc-dialog__popup[data-variant='fullscreen'][data-starting-style],
1054
+ .sc-dialog__popup[data-variant='fullscreen'][data-ending-style] {
1055
+ translate: none;
1056
+ }
1057
+ .sc-dialog__popup[data-variant='fullscreen'][data-ending-style] {
1058
+ transition-duration: var(--sc-duration-fast);
1059
+ }
1060
+ }
985
1061
 
986
1062
  /* ---- tooltip.css ---- */
987
1063
  /* ---- Tooltip --------------------------------------------------------------- */
@@ -4786,4 +4862,438 @@
4786
4862
  margin: 0;
4787
4863
  }
4788
4864
 
4865
+ /* ---- full-screen-flow.css ---- */
4866
+ /* ---- FullScreenFlow -------------------------------------------------------- */
4867
+ /* The flow is `Dialog variant="fullscreen"` with this class on the popup: header, body and footer rows,
4868
+ no padding of its own (each row clears the safe areas itself). */
4869
+ .sc-dialog__popup.sc-flow {
4870
+ display: grid;
4871
+ grid-template-rows: auto minmax(0, 1fr) auto;
4872
+ padding: 0;
4873
+ isolation: isolate;
4874
+ font-size: var(--sc-font-size-md);
4875
+ line-height: var(--sc-font-line-height-normal);
4876
+ }
4877
+ .sc-flow__decoration {
4878
+ position: absolute;
4879
+ inset: 0;
4880
+ z-index: 0;
4881
+ overflow: hidden;
4882
+ border-radius: inherit;
4883
+ pointer-events: none;
4884
+ }
4885
+ .sc-flow__header,
4886
+ .sc-flow__body,
4887
+ .sc-flow__footer {
4888
+ position: relative;
4889
+ z-index: 1;
4890
+ min-inline-size: 0;
4891
+ }
4892
+
4893
+ /* Header: title, progress centred in the space left, status, ×. */
4894
+ .sc-flow__header {
4895
+ display: flex;
4896
+ align-items: center;
4897
+ gap: var(--sc-spacing-sm) var(--sc-spacing-md);
4898
+ padding-block: calc(var(--sc-spacing-xs) + env(safe-area-inset-top, 0px)) var(--sc-spacing-xs);
4899
+ padding-inline: calc(var(--sc-spacing-md) + env(safe-area-inset-left, 0px))
4900
+ calc(var(--sc-spacing-xs) + env(safe-area-inset-right, 0px));
4901
+ border-block-end: var(--sc-border-width-hairline) solid var(--sc-color-border-default);
4902
+ background: color-mix(in oklab, var(--sc-color-surface-default) 88%, transparent);
4903
+ backdrop-filter: blur(6px);
4904
+ }
4905
+ .sc-flow__heading {
4906
+ display: inline-flex;
4907
+ align-items: center;
4908
+ gap: var(--sc-spacing-xs);
4909
+ min-inline-size: 0;
4910
+ }
4911
+ .sc-flow__logo {
4912
+ display: inline-flex;
4913
+ flex: none;
4914
+ }
4915
+ .sc-flow .sc-flow__title {
4916
+ margin: 0;
4917
+ padding: 0;
4918
+ font-size: var(--sc-font-size-sm);
4919
+ line-height: var(--sc-font-line-height-snug);
4920
+ font-weight: var(--sc-font-weight-semibold);
4921
+ letter-spacing: var(--sc-font-tracking-normal);
4922
+ white-space: nowrap;
4923
+ overflow-wrap: normal;
4924
+ }
4925
+ .sc-flow__compact-title {
4926
+ display: none;
4927
+ min-inline-size: 0;
4928
+ overflow: hidden;
4929
+ font-size: var(--sc-font-size-sm);
4930
+ font-weight: var(--sc-font-weight-medium);
4931
+ text-overflow: ellipsis;
4932
+ white-space: nowrap;
4933
+ }
4934
+ .sc-flow__status {
4935
+ display: inline-flex;
4936
+ align-items: center;
4937
+ gap: var(--sc-spacing-2xs);
4938
+ margin-inline-start: auto;
4939
+ font-size: var(--sc-font-size-xs);
4940
+ color: var(--sc-color-text-subtle);
4941
+ white-space: nowrap;
4942
+ }
4943
+ .sc-flow__close {
4944
+ flex: none;
4945
+ margin-inline-start: auto;
4946
+ }
4947
+ .sc-flow__status + .sc-flow__close {
4948
+ margin-inline-start: 0;
4949
+ }
4950
+
4951
+ /* Progress: one segment per chapter, as wide as its share of the steps (flex-grow set inline). */
4952
+ .sc-flow__progress {
4953
+ flex: 1 1 12rem;
4954
+ display: grid;
4955
+ gap: var(--sc-spacing-2xs);
4956
+ min-inline-size: 0;
4957
+ max-inline-size: 32.5rem;
4958
+ margin-inline: auto;
4959
+ }
4960
+ .sc-flow__progress + .sc-flow__status,
4961
+ .sc-flow__progress + .sc-flow__close {
4962
+ margin-inline-start: 0;
4963
+ }
4964
+ .sc-flow__progress-label {
4965
+ overflow: hidden;
4966
+ font-size: var(--sc-font-size-xs);
4967
+ color: var(--sc-color-text-muted);
4968
+ text-align: center;
4969
+ text-overflow: ellipsis;
4970
+ white-space: nowrap;
4971
+ }
4972
+ .sc-flow__progress-label :where(b, strong) {
4973
+ color: var(--sc-color-text-default);
4974
+ font-weight: var(--sc-font-weight-medium);
4975
+ }
4976
+ .sc-flow__segments {
4977
+ display: flex;
4978
+ gap: var(--sc-spacing-2xs);
4979
+ margin: 0;
4980
+ padding: 0;
4981
+ list-style: none;
4982
+ }
4983
+ .sc-flow__segment {
4984
+ flex: 1 1 0;
4985
+ block-size: 4px;
4986
+ overflow: hidden;
4987
+ border-radius: var(--sc-radius-full);
4988
+ background: var(--sc-color-surface-active);
4989
+ }
4990
+ .sc-flow__segment-fill {
4991
+ display: block;
4992
+ block-size: 100%;
4993
+ border-radius: inherit;
4994
+ background: var(--sc-color-accent-default);
4995
+ transition: inline-size var(--sc-duration-slower) var(--sc-ease-standard);
4996
+ }
4997
+
4998
+ /* Body: rail beside the viewport from 1000px. */
4999
+ .sc-flow__body {
5000
+ display: grid;
5001
+ grid-template-columns: minmax(0, 1fr);
5002
+ min-block-size: 0;
5003
+ }
5004
+ .sc-flow__rail {
5005
+ display: none;
5006
+ }
5007
+ @media (width >= 1000px) {
5008
+ .sc-flow__body:has(> .sc-flow__rail) {
5009
+ grid-template-columns: 14.5rem minmax(0, 1fr);
5010
+ }
5011
+ .sc-flow__rail {
5012
+ display: block;
5013
+ overflow-y: auto;
5014
+ padding-block: var(--sc-spacing-lg);
5015
+ padding-inline: var(--sc-spacing-md) var(--sc-spacing-sm);
5016
+ border-inline-end: var(--sc-border-width-hairline) solid var(--sc-color-border-default);
5017
+ }
5018
+ }
5019
+ .sc-flow__rail-group {
5020
+ margin-block-end: var(--sc-spacing-sm);
5021
+ }
5022
+ .sc-flow__rail-label {
5023
+ display: block;
5024
+ padding: 0 var(--sc-spacing-xs) var(--sc-spacing-2xs);
5025
+ font-size: var(--sc-font-size-xs);
5026
+ font-weight: var(--sc-font-weight-medium);
5027
+ letter-spacing: var(--sc-font-tracking-wide);
5028
+ text-transform: uppercase;
5029
+ color: var(--sc-color-text-subtle);
5030
+ }
5031
+ .sc-flow__rail-list {
5032
+ margin: 0;
5033
+ padding: 0;
5034
+ list-style: none;
5035
+ }
5036
+ .sc-flow__rail-item {
5037
+ display: grid;
5038
+ grid-template-columns: 1.25rem minmax(0, 1fr) auto;
5039
+ align-items: center;
5040
+ gap: var(--sc-spacing-xs);
5041
+ box-sizing: border-box;
5042
+ inline-size: 100%;
5043
+ min-block-size: var(--sc-size-control-sm);
5044
+ padding: 0 var(--sc-spacing-xs);
5045
+ border: 0;
5046
+ border-radius: var(--sc-radius-md);
5047
+ background: transparent;
5048
+ color: var(--sc-color-text-muted);
5049
+ font: inherit;
5050
+ font-size: var(--sc-font-size-sm);
5051
+ text-align: start;
5052
+ cursor: pointer;
5053
+ transition:
5054
+ background-color var(--sc-duration-fast) var(--sc-ease-standard),
5055
+ color var(--sc-duration-fast) var(--sc-ease-standard);
5056
+ }
5057
+ .sc-flow__rail-item:hover:not(:disabled) {
5058
+ background: var(--sc-color-surface-hover);
5059
+ color: var(--sc-color-text-default);
5060
+ }
5061
+ .sc-flow__rail-item:disabled {
5062
+ color: var(--sc-color-text-subtle);
5063
+ cursor: not-allowed;
5064
+ }
5065
+ .sc-flow__rail-item[aria-current='step'] {
5066
+ background: var(--sc-color-accent-subtle);
5067
+ color: var(--sc-color-accent-text);
5068
+ font-weight: var(--sc-font-weight-medium);
5069
+ }
5070
+ .sc-flow__rail-mark {
5071
+ display: grid;
5072
+ place-items: center;
5073
+ inline-size: 1.25rem;
5074
+ block-size: 1.25rem;
5075
+ }
5076
+ .sc-flow__rail-item:not([data-done]) .sc-flow__rail-mark::before {
5077
+ content: '';
5078
+ inline-size: 7px;
5079
+ block-size: 7px;
5080
+ border-radius: var(--sc-radius-full);
5081
+ background: currentColor;
5082
+ opacity: 0.55;
5083
+ }
5084
+ .sc-flow__rail-item[data-done] .sc-flow__rail-mark {
5085
+ color: var(--sc-color-success-text);
5086
+ }
5087
+ .sc-flow__rail-adornment {
5088
+ display: inline-flex;
5089
+ color: var(--sc-color-accent-text);
5090
+ }
5091
+ .sc-flow__rail-note {
5092
+ display: grid;
5093
+ gap: var(--sc-spacing-2xs);
5094
+ margin-block-start: var(--sc-spacing-md);
5095
+ padding: var(--sc-spacing-xs) var(--sc-spacing-sm);
5096
+ border-radius: var(--sc-radius-lg);
5097
+ background: var(--sc-color-surface-sunken);
5098
+ font-size: var(--sc-font-size-xs);
5099
+ color: var(--sc-color-text-muted);
5100
+ }
5101
+ @media (height <= 820px) {
5102
+ .sc-flow__rail-note {
5103
+ display: none;
5104
+ }
5105
+ }
5106
+
5107
+ /* Viewport: the leaving and arriving steps share one grid cell while they animate. */
5108
+ .sc-flow__viewport {
5109
+ position: relative;
5110
+ display: grid;
5111
+ min-block-size: 0;
5112
+ overflow-x: hidden;
5113
+ overflow-y: auto;
5114
+ overscroll-behavior: contain;
5115
+ }
5116
+ .sc-flow__frame {
5117
+ --_dir: 1;
5118
+ --_flip: 1;
5119
+ grid-area: 1 / 1;
5120
+ min-inline-size: 0;
5121
+ }
5122
+ .sc-flow__frame[data-direction='back'] {
5123
+ --_dir: -1;
5124
+ }
5125
+ .sc-flow__frame:dir(rtl) {
5126
+ --_flip: -1;
5127
+ }
5128
+ .sc-flow__frame[data-phase='enter'] {
5129
+ animation: sc-flow-step-in var(--sc-duration-slower) var(--sc-ease-enter) both;
5130
+ }
5131
+ .sc-flow__frame[data-phase='exit'] {
5132
+ pointer-events: none;
5133
+ animation: sc-flow-step-out var(--sc-duration-base) var(--sc-ease-exit) forwards;
5134
+ }
5135
+ @keyframes sc-flow-step-in {
5136
+ from {
5137
+ opacity: 0;
5138
+ translate: calc(var(--_dir) * var(--_flip) * 72px) 0;
5139
+ }
5140
+ }
5141
+ @keyframes sc-flow-step-out {
5142
+ to {
5143
+ opacity: 0;
5144
+ translate: calc(var(--_dir) * var(--_flip) * -40px) 0;
5145
+ scale: 0.985;
5146
+ }
5147
+ }
5148
+ @keyframes sc-flow-fade-in {
5149
+ from {
5150
+ opacity: 0;
5151
+ }
5152
+ }
5153
+ @keyframes sc-flow-fade-out {
5154
+ to {
5155
+ opacity: 0;
5156
+ }
5157
+ }
5158
+
5159
+ /* Step */
5160
+ .sc-flow__step {
5161
+ display: grid;
5162
+ align-content: start;
5163
+ gap: var(--sc-spacing-lg);
5164
+ box-sizing: border-box;
5165
+ inline-size: 100%;
5166
+ max-inline-size: 45rem;
5167
+ margin-inline: auto;
5168
+ padding: var(--sc-spacing-xl) var(--sc-spacing-md) var(--sc-spacing-2xl);
5169
+ }
5170
+ @media (width >= 700px) {
5171
+ .sc-flow__step {
5172
+ padding-block-start: var(--sc-spacing-2xl);
5173
+ padding-inline: var(--sc-spacing-xl);
5174
+ }
5175
+ }
5176
+ .sc-flow__step-head {
5177
+ display: grid;
5178
+ gap: var(--sc-spacing-xs);
5179
+ }
5180
+ .sc-flow__eyebrow {
5181
+ margin: 0;
5182
+ font-size: var(--sc-font-size-xs);
5183
+ font-weight: var(--sc-font-weight-medium);
5184
+ letter-spacing: var(--sc-font-tracking-wide);
5185
+ text-transform: uppercase;
5186
+ color: var(--sc-color-accent-text);
5187
+ }
5188
+ .sc-flow__step-title {
5189
+ margin: 0;
5190
+ font-size: var(--sc-font-size-3xl);
5191
+ line-height: var(--sc-font-line-height-snug);
5192
+ font-weight: var(--sc-font-weight-semibold);
5193
+ letter-spacing: var(--sc-font-tracking-tight);
5194
+ text-wrap: balance;
5195
+ }
5196
+ /* Focus lands here only by script, to move the reading position; Tab never reaches it. */
5197
+ .sc-flow__step-title:focus,
5198
+ .sc-flow__step-title:focus-visible {
5199
+ outline: none;
5200
+ }
5201
+ .sc-flow__step-description {
5202
+ max-inline-size: 60ch;
5203
+ color: var(--sc-color-text-muted);
5204
+ }
5205
+
5206
+ /* Footer: back at the start, hint and primary action at the end, every button a 44px target. */
5207
+ .sc-flow__footer {
5208
+ display: flex;
5209
+ align-items: center;
5210
+ gap: var(--sc-spacing-sm);
5211
+ padding-block: var(--sc-spacing-sm) calc(var(--sc-spacing-sm) + env(safe-area-inset-bottom, 0px));
5212
+ padding-inline: calc(var(--sc-spacing-md) + env(safe-area-inset-left, 0px))
5213
+ calc(var(--sc-spacing-md) + env(safe-area-inset-right, 0px));
5214
+ border-block-start: var(--sc-border-width-hairline) solid var(--sc-color-border-default);
5215
+ background: color-mix(in oklab, var(--sc-color-surface-default) 92%, transparent);
5216
+ backdrop-filter: blur(6px);
5217
+ }
5218
+ .sc-flow__footer .sc-button {
5219
+ min-block-size: var(--sc-size-touch-target);
5220
+ min-inline-size: max(var(--_h), var(--sc-size-touch-target));
5221
+ }
5222
+ .sc-flow__footer-hint {
5223
+ display: none;
5224
+ align-items: center;
5225
+ gap: var(--sc-spacing-2xs);
5226
+ font-size: var(--sc-font-size-xs);
5227
+ color: var(--sc-color-text-subtle);
5228
+ }
5229
+ .sc-flow__footer-actions {
5230
+ display: flex;
5231
+ gap: var(--sc-spacing-xs);
5232
+ margin-inline-start: auto;
5233
+ }
5234
+ .sc-flow__footer-actions > .sc-button:last-child {
5235
+ min-inline-size: 10rem;
5236
+ }
5237
+
5238
+ @media (width >= 760px) {
5239
+ .sc-flow__footer-hint {
5240
+ display: inline-flex;
5241
+ margin-inline-start: auto;
5242
+ }
5243
+ .sc-flow__footer-hint + .sc-flow__footer-actions {
5244
+ margin-inline-start: 0;
5245
+ }
5246
+ }
5247
+ @media (width < 760px) {
5248
+ .sc-flow__header {
5249
+ flex-wrap: wrap;
5250
+ row-gap: var(--sc-spacing-xs);
5251
+ }
5252
+ .sc-flow__heading {
5253
+ flex: 1 1 0;
5254
+ }
5255
+ .sc-flow__progress {
5256
+ order: 1;
5257
+ flex-basis: 100%;
5258
+ max-inline-size: none;
5259
+ padding-inline-end: var(--sc-spacing-xs);
5260
+ }
5261
+ .sc-flow__progress-label {
5262
+ display: none;
5263
+ }
5264
+ .sc-flow__heading[data-compact] > .sc-flow__title {
5265
+ position: absolute;
5266
+ inline-size: 1px;
5267
+ block-size: 1px;
5268
+ margin: -1px;
5269
+ overflow: hidden;
5270
+ clip-path: inset(50%);
5271
+ }
5272
+ .sc-flow__compact-title {
5273
+ display: inline;
5274
+ }
5275
+ .sc-flow__step-title {
5276
+ font-size: var(--sc-font-size-2xl);
5277
+ }
5278
+ }
5279
+ @media (width < 520px) {
5280
+ .sc-flow__footer-actions {
5281
+ flex: 1 1 auto;
5282
+ }
5283
+ .sc-flow__footer-actions > :last-child {
5284
+ flex: 1 1 auto;
5285
+ }
5286
+ }
5287
+ @media (prefers-reduced-motion: reduce) {
5288
+ .sc-flow__frame[data-phase='enter'] {
5289
+ animation: sc-flow-fade-in var(--sc-duration-base) var(--sc-ease-enter) both;
5290
+ }
5291
+ .sc-flow__frame[data-phase='exit'] {
5292
+ animation: sc-flow-fade-out var(--sc-duration-fast) var(--sc-ease-exit) forwards;
5293
+ }
5294
+ .sc-flow__segment-fill {
5295
+ transition: none;
5296
+ }
5297
+ }
5298
+
4789
5299
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@salemcobalt/ui",
3
- "version": "0.2.0-rc.12",
4
- "description": "React components for the Salem Cobalt design system: Button, IconButton, Icon set, BroomIcon, Badge, Card, Stack, Inline, Kbd, Dialog, Tooltip, Menu, Popover, PriorityNav, Toolbar, Banner, Spinner, Progress, Tabs, Input, Textarea, Select, FileInput, Checkbox, Switch, Heading, Text, Table, Stat, Chip, Disclosure, EmptyState, Skeleton.",
3
+ "version": "0.2.0-rc.14",
4
+ "description": "React components for the Salem Cobalt design system: Button, IconButton, Icon set, BroomIcon, Badge, Card, Stack, Inline, Kbd, Dialog, FullScreenFlow, Tooltip, Menu, Popover, PriorityNav, Toolbar, Banner, Spinner, Progress, Tabs, Input, Textarea, Select, FileInput, Checkbox, Switch, Heading, Text, Table, Stat, Chip, Disclosure, EmptyState, Skeleton.",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -33,7 +33,7 @@
33
33
  "peerDependencies": {
34
34
  "react": "^19.0.0",
35
35
  "react-dom": "^19.0.0",
36
- "@salemcobalt/tokens": "^0.2.0-rc.12"
36
+ "@salemcobalt/tokens": "^0.2.0-rc.14"
37
37
  },
38
38
  "dependencies": {
39
39
  "@base-ui/react": "^1.9.0",
@@ -57,7 +57,7 @@
57
57
  "tsup": "^9.0.0",
58
58
  "typescript": "^5.9.3",
59
59
  "vitest": "^5.0.5",
60
- "@salemcobalt/tokens": "^0.2.0-rc.12"
60
+ "@salemcobalt/tokens": "^0.2.0-rc.14"
61
61
  },
62
62
  "publishConfig": {
63
63
  "access": "public"