@pcoi/tokens 0.1.0 → 0.1.1

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/build/index.d.ts CHANGED
@@ -228,6 +228,7 @@ declare const tokens: {
228
228
  readonly semanticFocusBorder: string;
229
229
  readonly semanticFocusGlow: string;
230
230
  readonly semanticSpacingSectionY: string;
231
+ readonly semanticSpacingSectionYMd: string;
231
232
  readonly semanticSpacingSectionYLg: string;
232
233
  readonly semanticSpacingComponentGap: string;
233
234
  readonly semanticSpacingCardPadding: string;
@@ -235,17 +236,40 @@ declare const tokens: {
235
236
  readonly semanticSpacingFormGap: string;
236
237
  readonly semanticSpacingFormPadding: string;
237
238
  readonly semanticSpacingInputX: string;
239
+ readonly semanticSpacingInputXCompact: string;
238
240
  readonly semanticSpacingInputY: string;
239
241
  readonly semanticSpacingBtnX: string;
242
+ readonly semanticSpacingBtnXComfortable: string;
243
+ readonly semanticSpacingBtnXNav: string;
240
244
  readonly semanticSpacingBtnY: string;
245
+ readonly semanticSpacingBtnYComfortable: string;
241
246
  readonly semanticSpacingBtnXLg: string;
242
247
  readonly semanticSpacingBtnYLg: string;
248
+ readonly semanticSpacingPanelPadding: string;
249
+ readonly semanticSpacingPanelPaddingSm: string;
250
+ readonly semanticSpacingPanelGap: string;
251
+ readonly semanticSpacingControlPadding2xs: string;
252
+ readonly semanticSpacingControlPaddingXs: string;
253
+ readonly semanticSpacingControlPaddingSm: string;
254
+ readonly semanticSpacingToggleThumbInset: string;
255
+ readonly semanticSpacingToggleThumbTravel: string;
256
+ readonly semanticSpacingHamburgerBarOffset: string;
257
+ readonly semanticSpacingHamburgerGap: string;
258
+ readonly semanticSpacingInline2xs: string;
259
+ readonly semanticSpacingFormGapCompact: string;
260
+ readonly semanticSpacingTextGapSm: string;
243
261
  readonly semanticSpacingNavHeight: string;
244
262
  readonly semanticSpacingStackSm: string;
245
263
  readonly semanticSpacingStackMd: string;
246
264
  readonly semanticSpacingStackLg: string;
265
+ readonly semanticSpacingStackCompact: string;
266
+ readonly semanticSpacingStackXl: string;
247
267
  readonly semanticSpacingInlineSm: string;
248
268
  readonly semanticSpacingInlineMd: string;
269
+ readonly semanticSpacingInlineLg: string;
270
+ readonly semanticSpacingInlineXl: string;
271
+ readonly semanticSpacingChipX: string;
272
+ readonly semanticSpacingSectionHeaderMargin: string;
249
273
  readonly semanticRadiusBtn: string;
250
274
  readonly semanticRadiusInput: string;
251
275
  readonly semanticRadiusCard: string;
@@ -294,6 +318,13 @@ declare const tokens: {
294
318
  readonly semanticTypeSectionLabelLetterSpacing: string;
295
319
  readonly semanticTypeBadgeLetterSpacing: string;
296
320
  readonly semanticTypeLogoLetterSpacing: string;
321
+ readonly semanticLayoutZBase: string;
322
+ readonly semanticLayoutZContent: string;
323
+ readonly semanticLayoutZMobileMenu: string;
324
+ readonly semanticLayoutZDropdown: string;
325
+ readonly semanticLayoutZModal: string;
326
+ readonly semanticLayoutZToast: string;
327
+ readonly semanticLayoutZNav: string;
297
328
  readonly semanticSizingInputHeight: string;
298
329
  readonly semanticSizingBtnHeight: string;
299
330
  readonly semanticSizingBtnHeightLg: string;
@@ -302,6 +333,27 @@ declare const tokens: {
302
333
  readonly semanticSizingBadgeHeight: string;
303
334
  readonly semanticSizingStepNumber: string;
304
335
  readonly semanticSizingIconBox: string;
336
+ readonly semanticSizingToggleTrackWidth: string;
337
+ readonly semanticSizingToggleTrackHeight: string;
338
+ readonly semanticSizingToggleThumbSize: string;
339
+ readonly semanticSizingToggleCheckWidth: string;
340
+ readonly semanticSizingToggleCheckHeight: string;
341
+ readonly semanticSizingToggleCheckStroke: string;
342
+ readonly semanticSizingHamburgerSize: string;
343
+ readonly semanticSizingContainerMax: string;
344
+ readonly semanticSizingContainerNarrow: string;
345
+ readonly semanticSizingToastWidthMin: string;
346
+ readonly semanticSizingToastWidthMax: string;
347
+ readonly semanticSizingComparisonWidth: string;
348
+ readonly semanticSizingComparisonScrollWidth: string;
349
+ readonly semanticSizingModalWidth: string;
350
+ readonly semanticSizingDocumentWidth: string;
351
+ readonly semanticSizingCalloutWidth: string;
352
+ readonly semanticSizingControlBoxSize: string;
353
+ readonly semanticSizingRadioDotSize: string;
354
+ readonly semanticSizingBulletSize: string;
355
+ readonly semanticSizingAccentBorderWidth: string;
356
+ readonly semanticSizingAccentLineWidth: string;
305
357
  };
306
358
 
307
359
  export default tokens;
package/build/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  // @pcoi/tokens — CommonJS
3
- // Generated 2026-03-03
3
+ // Generated 2026-03-07
4
4
 
5
5
  const tokens = {
6
6
  "colorBg": "#0C0C14",
@@ -230,6 +230,7 @@ const tokens = {
230
230
  "semanticFocusBorder": "{color.focus-border}",
231
231
  "semanticFocusGlow": "{color.focus-glow}",
232
232
  "semanticSpacingSectionY": "{spacing.80}",
233
+ "semanticSpacingSectionYMd": "{spacing.60}",
233
234
  "semanticSpacingSectionYLg": "{spacing.120}",
234
235
  "semanticSpacingComponentGap": "{spacing.40}",
235
236
  "semanticSpacingCardPadding": "{spacing.36}",
@@ -237,17 +238,40 @@ const tokens = {
237
238
  "semanticSpacingFormGap": "{spacing.20}",
238
239
  "semanticSpacingFormPadding": "{spacing.40}",
239
240
  "semanticSpacingInputX": "{spacing.16}",
241
+ "semanticSpacingInputXCompact": "{spacing.14}",
240
242
  "semanticSpacingInputY": "{spacing.12}",
241
243
  "semanticSpacingBtnX": "{spacing.24}",
244
+ "semanticSpacingBtnXComfortable": "{spacing.28}",
245
+ "semanticSpacingBtnXNav": "{spacing.22}",
242
246
  "semanticSpacingBtnY": "{spacing.10}",
247
+ "semanticSpacingBtnYComfortable": "{spacing.14}",
243
248
  "semanticSpacingBtnXLg": "{spacing.36}",
244
249
  "semanticSpacingBtnYLg": "{spacing.16}",
250
+ "semanticSpacingPanelPadding": "{spacing.24}",
251
+ "semanticSpacingPanelPaddingSm": "{spacing.16}",
252
+ "semanticSpacingPanelGap": "{spacing.12}",
253
+ "semanticSpacingControlPadding2xs": "{spacing.4}",
254
+ "semanticSpacingControlPaddingXs": "{spacing.6}",
255
+ "semanticSpacingControlPaddingSm": "{spacing.8}",
256
+ "semanticSpacingToggleThumbInset": "3px",
257
+ "semanticSpacingToggleThumbTravel": "18px",
258
+ "semanticSpacingHamburgerBarOffset": "7px",
259
+ "semanticSpacingHamburgerGap": "5px",
260
+ "semanticSpacingInline2xs": "{spacing.4}",
261
+ "semanticSpacingFormGapCompact": "{spacing.6}",
262
+ "semanticSpacingTextGapSm": "{spacing.10}",
245
263
  "semanticSpacingNavHeight": "{spacing.72}",
246
264
  "semanticSpacingStackSm": "{spacing.8}",
247
265
  "semanticSpacingStackMd": "{spacing.16}",
248
266
  "semanticSpacingStackLg": "{spacing.32}",
267
+ "semanticSpacingStackCompact": "{spacing.14}",
268
+ "semanticSpacingStackXl": "{spacing.48}",
249
269
  "semanticSpacingInlineSm": "{spacing.8}",
250
270
  "semanticSpacingInlineMd": "{spacing.16}",
271
+ "semanticSpacingInlineLg": "{spacing.28}",
272
+ "semanticSpacingInlineXl": "{spacing.48}",
273
+ "semanticSpacingChipX": "{spacing.10}",
274
+ "semanticSpacingSectionHeaderMargin": "{spacing.64}",
251
275
  "semanticRadiusBtn": "{radius.sm}",
252
276
  "semanticRadiusInput": "{radius.sm}",
253
277
  "semanticRadiusCard": "{radius.md}",
@@ -296,6 +320,13 @@ const tokens = {
296
320
  "semanticTypeSectionLabelLetterSpacing": "{font.letterSpacing.section}",
297
321
  "semanticTypeBadgeLetterSpacing": "{font.letterSpacing.badge}",
298
322
  "semanticTypeLogoLetterSpacing": "{font.letterSpacing.logo}",
323
+ "semanticLayoutZBase": "{layout.zIndex.base}",
324
+ "semanticLayoutZContent": "{layout.zIndex.content}",
325
+ "semanticLayoutZMobileMenu": "{layout.zIndex.mobile-menu}",
326
+ "semanticLayoutZDropdown": "{layout.zIndex.dropdown}",
327
+ "semanticLayoutZModal": "{layout.zIndex.modal}",
328
+ "semanticLayoutZToast": "{layout.zIndex.toast}",
329
+ "semanticLayoutZNav": "{layout.zIndex.nav}",
299
330
  "semanticSizingInputHeight": "{sizing.height.md}",
300
331
  "semanticSizingBtnHeight": "{sizing.height.md}",
301
332
  "semanticSizingBtnHeightLg": "{sizing.height.lg}",
@@ -303,7 +334,28 @@ const tokens = {
303
334
  "semanticSizingTextareaMinHeight": "{sizing.height.2xl}",
304
335
  "semanticSizingBadgeHeight": "{sizing.height.xs}",
305
336
  "semanticSizingStepNumber": "{sizing.height.lg}",
306
- "semanticSizingIconBox": "52px"
337
+ "semanticSizingIconBox": "52px",
338
+ "semanticSizingToggleTrackWidth": "40px",
339
+ "semanticSizingToggleTrackHeight": "22px",
340
+ "semanticSizingToggleThumbSize": "16px",
341
+ "semanticSizingToggleCheckWidth": "4px",
342
+ "semanticSizingToggleCheckHeight": "7px",
343
+ "semanticSizingToggleCheckStroke": "1.5px",
344
+ "semanticSizingHamburgerSize": "28px",
345
+ "semanticSizingContainerMax": "1200px",
346
+ "semanticSizingContainerNarrow": "800px",
347
+ "semanticSizingToastWidthMin": "280px",
348
+ "semanticSizingToastWidthMax": "420px",
349
+ "semanticSizingComparisonWidth": "900px",
350
+ "semanticSizingComparisonScrollWidth": "500px",
351
+ "semanticSizingModalWidth": "520px",
352
+ "semanticSizingDocumentWidth": "900px",
353
+ "semanticSizingCalloutWidth": "640px",
354
+ "semanticSizingControlBoxSize": "18px",
355
+ "semanticSizingRadioDotSize": "8px",
356
+ "semanticSizingBulletSize": "8px",
357
+ "semanticSizingAccentBorderWidth": "3px",
358
+ "semanticSizingAccentLineWidth": "60px"
307
359
  };
308
360
 
309
361
  module.exports = tokens;
package/build/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  // @pcoi/tokens — ES Module
2
- // Generated 2026-03-03
2
+ // Generated 2026-03-07
3
3
 
4
4
  const tokens = {
5
5
  "colorBg": "#0C0C14",
@@ -229,6 +229,7 @@ const tokens = {
229
229
  "semanticFocusBorder": "{color.focus-border}",
230
230
  "semanticFocusGlow": "{color.focus-glow}",
231
231
  "semanticSpacingSectionY": "{spacing.80}",
232
+ "semanticSpacingSectionYMd": "{spacing.60}",
232
233
  "semanticSpacingSectionYLg": "{spacing.120}",
233
234
  "semanticSpacingComponentGap": "{spacing.40}",
234
235
  "semanticSpacingCardPadding": "{spacing.36}",
@@ -236,17 +237,40 @@ const tokens = {
236
237
  "semanticSpacingFormGap": "{spacing.20}",
237
238
  "semanticSpacingFormPadding": "{spacing.40}",
238
239
  "semanticSpacingInputX": "{spacing.16}",
240
+ "semanticSpacingInputXCompact": "{spacing.14}",
239
241
  "semanticSpacingInputY": "{spacing.12}",
240
242
  "semanticSpacingBtnX": "{spacing.24}",
243
+ "semanticSpacingBtnXComfortable": "{spacing.28}",
244
+ "semanticSpacingBtnXNav": "{spacing.22}",
241
245
  "semanticSpacingBtnY": "{spacing.10}",
246
+ "semanticSpacingBtnYComfortable": "{spacing.14}",
242
247
  "semanticSpacingBtnXLg": "{spacing.36}",
243
248
  "semanticSpacingBtnYLg": "{spacing.16}",
249
+ "semanticSpacingPanelPadding": "{spacing.24}",
250
+ "semanticSpacingPanelPaddingSm": "{spacing.16}",
251
+ "semanticSpacingPanelGap": "{spacing.12}",
252
+ "semanticSpacingControlPadding2xs": "{spacing.4}",
253
+ "semanticSpacingControlPaddingXs": "{spacing.6}",
254
+ "semanticSpacingControlPaddingSm": "{spacing.8}",
255
+ "semanticSpacingToggleThumbInset": "3px",
256
+ "semanticSpacingToggleThumbTravel": "18px",
257
+ "semanticSpacingHamburgerBarOffset": "7px",
258
+ "semanticSpacingHamburgerGap": "5px",
259
+ "semanticSpacingInline2xs": "{spacing.4}",
260
+ "semanticSpacingFormGapCompact": "{spacing.6}",
261
+ "semanticSpacingTextGapSm": "{spacing.10}",
244
262
  "semanticSpacingNavHeight": "{spacing.72}",
245
263
  "semanticSpacingStackSm": "{spacing.8}",
246
264
  "semanticSpacingStackMd": "{spacing.16}",
247
265
  "semanticSpacingStackLg": "{spacing.32}",
266
+ "semanticSpacingStackCompact": "{spacing.14}",
267
+ "semanticSpacingStackXl": "{spacing.48}",
248
268
  "semanticSpacingInlineSm": "{spacing.8}",
249
269
  "semanticSpacingInlineMd": "{spacing.16}",
270
+ "semanticSpacingInlineLg": "{spacing.28}",
271
+ "semanticSpacingInlineXl": "{spacing.48}",
272
+ "semanticSpacingChipX": "{spacing.10}",
273
+ "semanticSpacingSectionHeaderMargin": "{spacing.64}",
250
274
  "semanticRadiusBtn": "{radius.sm}",
251
275
  "semanticRadiusInput": "{radius.sm}",
252
276
  "semanticRadiusCard": "{radius.md}",
@@ -295,6 +319,13 @@ const tokens = {
295
319
  "semanticTypeSectionLabelLetterSpacing": "{font.letterSpacing.section}",
296
320
  "semanticTypeBadgeLetterSpacing": "{font.letterSpacing.badge}",
297
321
  "semanticTypeLogoLetterSpacing": "{font.letterSpacing.logo}",
322
+ "semanticLayoutZBase": "{layout.zIndex.base}",
323
+ "semanticLayoutZContent": "{layout.zIndex.content}",
324
+ "semanticLayoutZMobileMenu": "{layout.zIndex.mobile-menu}",
325
+ "semanticLayoutZDropdown": "{layout.zIndex.dropdown}",
326
+ "semanticLayoutZModal": "{layout.zIndex.modal}",
327
+ "semanticLayoutZToast": "{layout.zIndex.toast}",
328
+ "semanticLayoutZNav": "{layout.zIndex.nav}",
298
329
  "semanticSizingInputHeight": "{sizing.height.md}",
299
330
  "semanticSizingBtnHeight": "{sizing.height.md}",
300
331
  "semanticSizingBtnHeightLg": "{sizing.height.lg}",
@@ -302,7 +333,28 @@ const tokens = {
302
333
  "semanticSizingTextareaMinHeight": "{sizing.height.2xl}",
303
334
  "semanticSizingBadgeHeight": "{sizing.height.xs}",
304
335
  "semanticSizingStepNumber": "{sizing.height.lg}",
305
- "semanticSizingIconBox": "52px"
336
+ "semanticSizingIconBox": "52px",
337
+ "semanticSizingToggleTrackWidth": "40px",
338
+ "semanticSizingToggleTrackHeight": "22px",
339
+ "semanticSizingToggleThumbSize": "16px",
340
+ "semanticSizingToggleCheckWidth": "4px",
341
+ "semanticSizingToggleCheckHeight": "7px",
342
+ "semanticSizingToggleCheckStroke": "1.5px",
343
+ "semanticSizingHamburgerSize": "28px",
344
+ "semanticSizingContainerMax": "1200px",
345
+ "semanticSizingContainerNarrow": "800px",
346
+ "semanticSizingToastWidthMin": "280px",
347
+ "semanticSizingToastWidthMax": "420px",
348
+ "semanticSizingComparisonWidth": "900px",
349
+ "semanticSizingComparisonScrollWidth": "500px",
350
+ "semanticSizingModalWidth": "520px",
351
+ "semanticSizingDocumentWidth": "900px",
352
+ "semanticSizingCalloutWidth": "640px",
353
+ "semanticSizingControlBoxSize": "18px",
354
+ "semanticSizingRadioDotSize": "8px",
355
+ "semanticSizingBulletSize": "8px",
356
+ "semanticSizingAccentBorderWidth": "3px",
357
+ "semanticSizingAccentLineWidth": "60px"
306
358
  };
307
359
 
308
360
  export default tokens;
package/build/tokens.css CHANGED
@@ -1,6 +1,6 @@
1
1
  /* ============================================
2
2
  @pcoi/tokens — CSS Custom Properties
3
- Generated 2026-03-03
3
+ Generated 2026-03-07
4
4
 
5
5
  Three-Tier Hierarchy:
6
6
  Tier 1: Primitives (--pcoi-color-*, --pcoi-spacing-*, etc.)
@@ -256,6 +256,7 @@
256
256
 
257
257
  /* ── Tier 3: Semantic Spacing Tokens ── */
258
258
  --pcoi-semantic-spacing-section-y: var(--pcoi-spacing-80); /* Vertical padding for page sections */
259
+ --pcoi-semantic-spacing-section-y-md: var(--pcoi-spacing-60); /* Medium vertical section padding for compact long-form sections */
259
260
  --pcoi-semantic-spacing-section-y-lg: var(--pcoi-spacing-120); /* Vertical padding for large/hero sections */
260
261
  --pcoi-semantic-spacing-component-gap: var(--pcoi-spacing-40); /* Default gap between stacked components */
261
262
  --pcoi-semantic-spacing-card-padding: var(--pcoi-spacing-36); /* Internal padding for cards and panels */
@@ -263,17 +264,40 @@
263
264
  --pcoi-semantic-spacing-form-gap: var(--pcoi-spacing-20); /* Gap between form fields */
264
265
  --pcoi-semantic-spacing-form-padding: var(--pcoi-spacing-40); /* Internal padding for form containers */
265
266
  --pcoi-semantic-spacing-input-x: var(--pcoi-spacing-16); /* Horizontal padding inside inputs */
267
+ --pcoi-semantic-spacing-input-x-compact: var(--pcoi-spacing-14); /* Compact horizontal padding inside dense inputs and fields */
266
268
  --pcoi-semantic-spacing-input-y: var(--pcoi-spacing-12); /* Vertical padding inside inputs */
267
269
  --pcoi-semantic-spacing-btn-x: var(--pcoi-spacing-24); /* Horizontal padding for default buttons */
270
+ --pcoi-semantic-spacing-btn-x-comfortable: var(--pcoi-spacing-28); /* Horizontal padding for comfortable primary button sizing */
271
+ --pcoi-semantic-spacing-btn-x-nav: var(--pcoi-spacing-22); /* Horizontal padding for compact navigation CTA buttons */
268
272
  --pcoi-semantic-spacing-btn-y: var(--pcoi-spacing-10); /* Vertical padding for default buttons */
273
+ --pcoi-semantic-spacing-btn-y-comfortable: var(--pcoi-spacing-14); /* Vertical padding for comfortable primary button sizing */
269
274
  --pcoi-semantic-spacing-btn-x-lg: var(--pcoi-spacing-36); /* Horizontal padding for large buttons */
270
275
  --pcoi-semantic-spacing-btn-y-lg: var(--pcoi-spacing-16); /* Vertical padding for large buttons */
276
+ --pcoi-semantic-spacing-panel-padding: var(--pcoi-spacing-24); /* Default internal padding for modal and overlay panels */
277
+ --pcoi-semantic-spacing-panel-padding-sm: var(--pcoi-spacing-16); /* Compact internal padding for panel footers and dense panel regions */
278
+ --pcoi-semantic-spacing-panel-gap: var(--pcoi-spacing-12); /* Inline or row gap for panel action groups */
279
+ --pcoi-semantic-spacing-control-padding-2xs: var(--pcoi-spacing-4); /* Extra-compact control padding for icon-only affordances */
280
+ --pcoi-semantic-spacing-control-padding-xs: var(--pcoi-spacing-6); /* Compact control padding for dense icon buttons */
281
+ --pcoi-semantic-spacing-control-padding-sm: var(--pcoi-spacing-8); /* Small control/container padding for narrow viewports */
282
+ --pcoi-semantic-spacing-toggle-thumb-inset: 3px; /* Inset from toggle track edge to toggle thumb origin */
283
+ --pcoi-semantic-spacing-toggle-thumb-travel: 18px; /* Horizontal travel distance for toggle thumb in checked state */
284
+ --pcoi-semantic-spacing-hamburger-bar-offset: 7px; /* Vertical offset used when morphing hamburger bars into an X */
285
+ --pcoi-semantic-spacing-hamburger-gap: 5px; /* Vertical gap between hamburger bars */
286
+ --pcoi-semantic-spacing-inline-2xs: var(--pcoi-spacing-4); /* Extra-small inline spacing for compact adornments */
287
+ --pcoi-semantic-spacing-form-gap-compact: var(--pcoi-spacing-6); /* Compact gap between form label, control, and messages */
288
+ --pcoi-semantic-spacing-text-gap-sm: var(--pcoi-spacing-10); /* Small vertical text gap between titles and supporting content */
271
289
  --pcoi-semantic-spacing-nav-height: var(--pcoi-spacing-72); /* Navigation bar height */
272
290
  --pcoi-semantic-spacing-stack-sm: var(--pcoi-spacing-8); /* Small vertical stack spacing (labels, badges) */
273
291
  --pcoi-semantic-spacing-stack-md: var(--pcoi-spacing-16); /* Medium vertical stack spacing (headings, paragraphs) */
274
292
  --pcoi-semantic-spacing-stack-lg: var(--pcoi-spacing-32); /* Large vertical stack spacing (content blocks) */
293
+ --pcoi-semantic-spacing-stack-compact: var(--pcoi-spacing-14); /* Compact vertical stack spacing between closely related content rows */
294
+ --pcoi-semantic-spacing-stack-xl: var(--pcoi-spacing-48); /* Extra-large vertical stack spacing between major content groups */
275
295
  --pcoi-semantic-spacing-inline-sm: var(--pcoi-spacing-8); /* Small inline spacing (icon + text) */
276
296
  --pcoi-semantic-spacing-inline-md: var(--pcoi-spacing-16); /* Medium inline spacing (nav links) */
297
+ --pcoi-semantic-spacing-inline-lg: var(--pcoi-spacing-28); /* Large inline spacing for sparse horizontal groups */
298
+ --pcoi-semantic-spacing-inline-xl: var(--pcoi-spacing-48); /* Extra-large inline spacing for desktop message offsets and wide gutters */
299
+ --pcoi-semantic-spacing-chip-x: var(--pcoi-spacing-10); /* Horizontal padding for compact chips and citation marks */
300
+ --pcoi-semantic-spacing-section-header-margin: var(--pcoi-spacing-64); /* Bottom margin between section headers and subsequent section content */
277
301
 
278
302
  /* ── Tier 3: Semantic Radius Tokens ── */
279
303
  --pcoi-semantic-radius-btn: var(--pcoi-radius-sm); /* Border radius for buttons */
@@ -336,6 +360,36 @@
336
360
  --pcoi-semantic-sizing-badge-height: var(--pcoi-sizing-height-xs); /* Badge and tag height */
337
361
  --pcoi-semantic-sizing-step-number: var(--pcoi-sizing-height-lg); /* HowStep number circle diameter (48px) */
338
362
  --pcoi-semantic-sizing-icon-box: 52px; /* Card icon container size (custom — between lg and xl) */
363
+ --pcoi-semantic-sizing-toggle-track-width: 40px; /* Toggle track width */
364
+ --pcoi-semantic-sizing-toggle-track-height: 22px; /* Toggle track height */
365
+ --pcoi-semantic-sizing-toggle-thumb-size: 16px; /* Toggle thumb diameter */
366
+ --pcoi-semantic-sizing-toggle-check-width: 4px; /* Toggle checkmark width */
367
+ --pcoi-semantic-sizing-toggle-check-height: 7px; /* Toggle checkmark height */
368
+ --pcoi-semantic-sizing-toggle-check-stroke: 1.5px; /* Toggle checkmark stroke width */
369
+ --pcoi-semantic-sizing-hamburger-size: 28px; /* Hamburger button width and height */
370
+ --pcoi-semantic-sizing-container-max: 1200px; /* Maximum width for wide containers such as global navigation */
371
+ --pcoi-semantic-sizing-container-narrow: 800px; /* Maximum width for narrow content containers */
372
+ --pcoi-semantic-sizing-toast-width-min: 280px; /* Minimum width for toast notifications */
373
+ --pcoi-semantic-sizing-toast-width-max: 420px; /* Maximum width for toast notifications */
374
+ --pcoi-semantic-sizing-comparison-width: 900px; /* Maximum width for comparison tables */
375
+ --pcoi-semantic-sizing-comparison-scroll-width: 500px; /* Minimum table width before horizontal scrolling on mobile */
376
+ --pcoi-semantic-sizing-modal-width: 520px; /* Default modal dialog width */
377
+ --pcoi-semantic-sizing-document-width: 900px; /* Wide dialog/document overlay width */
378
+ --pcoi-semantic-sizing-callout-width: 640px; /* Maximum width for callout quote blocks */
379
+ --pcoi-semantic-sizing-control-box-size: 18px; /* Checkbox/radio control box size */
380
+ --pcoi-semantic-sizing-radio-dot-size: 8px; /* Radio selected-state dot size */
381
+ --pcoi-semantic-sizing-bullet-size: 8px; /* Bullet indicator size in compact signal lists */
382
+ --pcoi-semantic-sizing-accent-border-width: 3px; /* Accent border width for status callouts and toast variants */
383
+ --pcoi-semantic-sizing-accent-line-width: 60px; /* Decorative accent line width used in callouts */
384
+
385
+ /* ── Tier 3: Semantic Layout Tokens ── */
386
+ --pcoi-semantic-layout-z-base: var(--pcoi-layout-zIndex-base); /* Base layer for regular document flow */
387
+ --pcoi-semantic-layout-z-content: var(--pcoi-layout-zIndex-content); /* Content layer above decorative backgrounds */
388
+ --pcoi-semantic-layout-z-mobile-menu: var(--pcoi-layout-zIndex-mobile-menu); /* Mobile menu layer */
389
+ --pcoi-semantic-layout-z-dropdown: var(--pcoi-layout-zIndex-dropdown); /* Dropdown and popover layer */
390
+ --pcoi-semantic-layout-z-modal: var(--pcoi-layout-zIndex-modal); /* Modal and dialog layer */
391
+ --pcoi-semantic-layout-z-toast: var(--pcoi-layout-zIndex-toast); /* Toast/notification layer */
392
+ --pcoi-semantic-layout-z-nav: var(--pcoi-layout-zIndex-nav); /* Fixed navigation layer */
339
393
 
340
394
  /* ── Legacy Compatibility (matches original CSS vars from pcoi.ai) ── */
341
395
  --color-bg: var(--pcoi-color-bg);
package/build/tokens.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://design-tokens.org/schema.json",
3
3
  "$description": "PCOI Design System Tokens — Complete merged output",
4
- "$generated": "2026-03-03T05:56:04.038Z",
4
+ "$generated": "2026-03-07T17:32:03.590Z",
5
5
  "color": {
6
6
  "$type": "color",
7
7
  "$description": "Tier 1: Primitive color values. Never apply directly to designs.",
@@ -480,6 +480,10 @@
480
480
  "$value": "{spacing.80}",
481
481
  "$description": "Vertical padding for page sections"
482
482
  },
483
+ "section-y-md": {
484
+ "$value": "{spacing.60}",
485
+ "$description": "Medium vertical section padding for compact long-form sections"
486
+ },
483
487
  "section-y-lg": {
484
488
  "$value": "{spacing.120}",
485
489
  "$description": "Vertical padding for large/hero sections"
@@ -508,6 +512,10 @@
508
512
  "$value": "{spacing.16}",
509
513
  "$description": "Horizontal padding inside inputs"
510
514
  },
515
+ "input-x-compact": {
516
+ "$value": "{spacing.14}",
517
+ "$description": "Compact horizontal padding inside dense inputs and fields"
518
+ },
511
519
  "input-y": {
512
520
  "$value": "{spacing.12}",
513
521
  "$description": "Vertical padding inside inputs"
@@ -516,10 +524,22 @@
516
524
  "$value": "{spacing.24}",
517
525
  "$description": "Horizontal padding for default buttons"
518
526
  },
527
+ "btn-x-comfortable": {
528
+ "$value": "{spacing.28}",
529
+ "$description": "Horizontal padding for comfortable primary button sizing"
530
+ },
531
+ "btn-x-nav": {
532
+ "$value": "{spacing.22}",
533
+ "$description": "Horizontal padding for compact navigation CTA buttons"
534
+ },
519
535
  "btn-y": {
520
536
  "$value": "{spacing.10}",
521
537
  "$description": "Vertical padding for default buttons"
522
538
  },
539
+ "btn-y-comfortable": {
540
+ "$value": "{spacing.14}",
541
+ "$description": "Vertical padding for comfortable primary button sizing"
542
+ },
523
543
  "btn-x-lg": {
524
544
  "$value": "{spacing.36}",
525
545
  "$description": "Horizontal padding for large buttons"
@@ -528,6 +548,58 @@
528
548
  "$value": "{spacing.16}",
529
549
  "$description": "Vertical padding for large buttons"
530
550
  },
551
+ "panel-padding": {
552
+ "$value": "{spacing.24}",
553
+ "$description": "Default internal padding for modal and overlay panels"
554
+ },
555
+ "panel-padding-sm": {
556
+ "$value": "{spacing.16}",
557
+ "$description": "Compact internal padding for panel footers and dense panel regions"
558
+ },
559
+ "panel-gap": {
560
+ "$value": "{spacing.12}",
561
+ "$description": "Inline or row gap for panel action groups"
562
+ },
563
+ "control-padding-2xs": {
564
+ "$value": "{spacing.4}",
565
+ "$description": "Extra-compact control padding for icon-only affordances"
566
+ },
567
+ "control-padding-xs": {
568
+ "$value": "{spacing.6}",
569
+ "$description": "Compact control padding for dense icon buttons"
570
+ },
571
+ "control-padding-sm": {
572
+ "$value": "{spacing.8}",
573
+ "$description": "Small control/container padding for narrow viewports"
574
+ },
575
+ "toggle-thumb-inset": {
576
+ "$value": "3px",
577
+ "$description": "Inset from toggle track edge to toggle thumb origin"
578
+ },
579
+ "toggle-thumb-travel": {
580
+ "$value": "18px",
581
+ "$description": "Horizontal travel distance for toggle thumb in checked state"
582
+ },
583
+ "hamburger-bar-offset": {
584
+ "$value": "7px",
585
+ "$description": "Vertical offset used when morphing hamburger bars into an X"
586
+ },
587
+ "hamburger-gap": {
588
+ "$value": "5px",
589
+ "$description": "Vertical gap between hamburger bars"
590
+ },
591
+ "inline-2xs": {
592
+ "$value": "{spacing.4}",
593
+ "$description": "Extra-small inline spacing for compact adornments"
594
+ },
595
+ "form-gap-compact": {
596
+ "$value": "{spacing.6}",
597
+ "$description": "Compact gap between form label, control, and messages"
598
+ },
599
+ "text-gap-sm": {
600
+ "$value": "{spacing.10}",
601
+ "$description": "Small vertical text gap between titles and supporting content"
602
+ },
531
603
  "nav-height": {
532
604
  "$value": "{spacing.72}",
533
605
  "$description": "Navigation bar height"
@@ -544,6 +616,14 @@
544
616
  "$value": "{spacing.32}",
545
617
  "$description": "Large vertical stack spacing (content blocks)"
546
618
  },
619
+ "stack-compact": {
620
+ "$value": "{spacing.14}",
621
+ "$description": "Compact vertical stack spacing between closely related content rows"
622
+ },
623
+ "stack-xl": {
624
+ "$value": "{spacing.48}",
625
+ "$description": "Extra-large vertical stack spacing between major content groups"
626
+ },
547
627
  "inline-sm": {
548
628
  "$value": "{spacing.8}",
549
629
  "$description": "Small inline spacing (icon + text)"
@@ -551,6 +631,22 @@
551
631
  "inline-md": {
552
632
  "$value": "{spacing.16}",
553
633
  "$description": "Medium inline spacing (nav links)"
634
+ },
635
+ "inline-lg": {
636
+ "$value": "{spacing.28}",
637
+ "$description": "Large inline spacing for sparse horizontal groups"
638
+ },
639
+ "inline-xl": {
640
+ "$value": "{spacing.48}",
641
+ "$description": "Extra-large inline spacing for desktop message offsets and wide gutters"
642
+ },
643
+ "chip-x": {
644
+ "$value": "{spacing.10}",
645
+ "$description": "Horizontal padding for compact chips and citation marks"
646
+ },
647
+ "section-header-margin": {
648
+ "$value": "{spacing.64}",
649
+ "$description": "Bottom margin between section headers and subsequent section content"
554
650
  }
555
651
  },
556
652
  "radius": {
@@ -1353,6 +1449,37 @@
1353
1449
  }
1354
1450
  }
1355
1451
  },
1452
+ "semantic-layout": {
1453
+ "$description": "Semantic layout tokens. Map layout primitives to component-level layout intent.",
1454
+ "z-base": {
1455
+ "$value": "{layout.zIndex.base}",
1456
+ "$description": "Base layer for regular document flow"
1457
+ },
1458
+ "z-content": {
1459
+ "$value": "{layout.zIndex.content}",
1460
+ "$description": "Content layer above decorative backgrounds"
1461
+ },
1462
+ "z-mobile-menu": {
1463
+ "$value": "{layout.zIndex.mobile-menu}",
1464
+ "$description": "Mobile menu layer"
1465
+ },
1466
+ "z-dropdown": {
1467
+ "$value": "{layout.zIndex.dropdown}",
1468
+ "$description": "Dropdown and popover layer"
1469
+ },
1470
+ "z-modal": {
1471
+ "$value": "{layout.zIndex.modal}",
1472
+ "$description": "Modal and dialog layer"
1473
+ },
1474
+ "z-toast": {
1475
+ "$value": "{layout.zIndex.toast}",
1476
+ "$description": "Toast/notification layer"
1477
+ },
1478
+ "z-nav": {
1479
+ "$value": "{layout.zIndex.nav}",
1480
+ "$description": "Fixed navigation layer"
1481
+ }
1482
+ },
1356
1483
  "sizing": {
1357
1484
  "$type": "dimension",
1358
1485
  "$description": "Tier 1: Sizing primitives — standardized height scale for component constraints. Based on 8px grid. Separate from spacing (padding/margin/gap).",
@@ -1418,6 +1545,90 @@
1418
1545
  "icon-box": {
1419
1546
  "$value": "52px",
1420
1547
  "$description": "Card icon container size (custom — between lg and xl)"
1548
+ },
1549
+ "toggle-track-width": {
1550
+ "$value": "40px",
1551
+ "$description": "Toggle track width"
1552
+ },
1553
+ "toggle-track-height": {
1554
+ "$value": "22px",
1555
+ "$description": "Toggle track height"
1556
+ },
1557
+ "toggle-thumb-size": {
1558
+ "$value": "16px",
1559
+ "$description": "Toggle thumb diameter"
1560
+ },
1561
+ "toggle-check-width": {
1562
+ "$value": "4px",
1563
+ "$description": "Toggle checkmark width"
1564
+ },
1565
+ "toggle-check-height": {
1566
+ "$value": "7px",
1567
+ "$description": "Toggle checkmark height"
1568
+ },
1569
+ "toggle-check-stroke": {
1570
+ "$value": "1.5px",
1571
+ "$description": "Toggle checkmark stroke width"
1572
+ },
1573
+ "hamburger-size": {
1574
+ "$value": "28px",
1575
+ "$description": "Hamburger button width and height"
1576
+ },
1577
+ "container-max": {
1578
+ "$value": "1200px",
1579
+ "$description": "Maximum width for wide containers such as global navigation"
1580
+ },
1581
+ "container-narrow": {
1582
+ "$value": "800px",
1583
+ "$description": "Maximum width for narrow content containers"
1584
+ },
1585
+ "toast-width-min": {
1586
+ "$value": "280px",
1587
+ "$description": "Minimum width for toast notifications"
1588
+ },
1589
+ "toast-width-max": {
1590
+ "$value": "420px",
1591
+ "$description": "Maximum width for toast notifications"
1592
+ },
1593
+ "comparison-width": {
1594
+ "$value": "900px",
1595
+ "$description": "Maximum width for comparison tables"
1596
+ },
1597
+ "comparison-scroll-width": {
1598
+ "$value": "500px",
1599
+ "$description": "Minimum table width before horizontal scrolling on mobile"
1600
+ },
1601
+ "modal-width": {
1602
+ "$value": "520px",
1603
+ "$description": "Default modal dialog width"
1604
+ },
1605
+ "document-width": {
1606
+ "$value": "900px",
1607
+ "$description": "Wide dialog/document overlay width"
1608
+ },
1609
+ "callout-width": {
1610
+ "$value": "640px",
1611
+ "$description": "Maximum width for callout quote blocks"
1612
+ },
1613
+ "control-box-size": {
1614
+ "$value": "18px",
1615
+ "$description": "Checkbox/radio control box size"
1616
+ },
1617
+ "radio-dot-size": {
1618
+ "$value": "8px",
1619
+ "$description": "Radio selected-state dot size"
1620
+ },
1621
+ "bullet-size": {
1622
+ "$value": "8px",
1623
+ "$description": "Bullet indicator size in compact signal lists"
1624
+ },
1625
+ "accent-border-width": {
1626
+ "$value": "3px",
1627
+ "$description": "Accent border width for status callouts and toast variants"
1628
+ },
1629
+ "accent-line-width": {
1630
+ "$value": "60px",
1631
+ "$description": "Decorative accent line width used in callouts"
1421
1632
  }
1422
1633
  }
1423
1634
  }
package/build/tokens.scss CHANGED
@@ -1,5 +1,5 @@
1
1
  // @pcoi/tokens — SCSS Variables
2
- // Generated 2026-03-03
2
+ // Generated 2026-03-07
3
3
 
4
4
  // Color Primitives
5
5
  $pcoi-color-bg: #0C0C14;
@@ -188,6 +188,7 @@ $pcoi-sizing-height-2xl: 80px;
188
188
 
189
189
  // Semantic Spacing
190
190
  $pcoi-semantic-spacing-section-y: {spacing.80};
191
+ $pcoi-semantic-spacing-section-y-md: {spacing.60};
191
192
  $pcoi-semantic-spacing-section-y-lg: {spacing.120};
192
193
  $pcoi-semantic-spacing-component-gap: {spacing.40};
193
194
  $pcoi-semantic-spacing-card-padding: {spacing.36};
@@ -195,17 +196,40 @@ $pcoi-semantic-spacing-card-gap: {spacing.20};
195
196
  $pcoi-semantic-spacing-form-gap: {spacing.20};
196
197
  $pcoi-semantic-spacing-form-padding: {spacing.40};
197
198
  $pcoi-semantic-spacing-input-x: {spacing.16};
199
+ $pcoi-semantic-spacing-input-x-compact: {spacing.14};
198
200
  $pcoi-semantic-spacing-input-y: {spacing.12};
199
201
  $pcoi-semantic-spacing-btn-x: {spacing.24};
202
+ $pcoi-semantic-spacing-btn-x-comfortable: {spacing.28};
203
+ $pcoi-semantic-spacing-btn-x-nav: {spacing.22};
200
204
  $pcoi-semantic-spacing-btn-y: {spacing.10};
205
+ $pcoi-semantic-spacing-btn-y-comfortable: {spacing.14};
201
206
  $pcoi-semantic-spacing-btn-x-lg: {spacing.36};
202
207
  $pcoi-semantic-spacing-btn-y-lg: {spacing.16};
208
+ $pcoi-semantic-spacing-panel-padding: {spacing.24};
209
+ $pcoi-semantic-spacing-panel-padding-sm: {spacing.16};
210
+ $pcoi-semantic-spacing-panel-gap: {spacing.12};
211
+ $pcoi-semantic-spacing-control-padding-2xs: {spacing.4};
212
+ $pcoi-semantic-spacing-control-padding-xs: {spacing.6};
213
+ $pcoi-semantic-spacing-control-padding-sm: {spacing.8};
214
+ $pcoi-semantic-spacing-toggle-thumb-inset: 3px;
215
+ $pcoi-semantic-spacing-toggle-thumb-travel: 18px;
216
+ $pcoi-semantic-spacing-hamburger-bar-offset: 7px;
217
+ $pcoi-semantic-spacing-hamburger-gap: 5px;
218
+ $pcoi-semantic-spacing-inline-2xs: {spacing.4};
219
+ $pcoi-semantic-spacing-form-gap-compact: {spacing.6};
220
+ $pcoi-semantic-spacing-text-gap-sm: {spacing.10};
203
221
  $pcoi-semantic-spacing-nav-height: {spacing.72};
204
222
  $pcoi-semantic-spacing-stack-sm: {spacing.8};
205
223
  $pcoi-semantic-spacing-stack-md: {spacing.16};
206
224
  $pcoi-semantic-spacing-stack-lg: {spacing.32};
225
+ $pcoi-semantic-spacing-stack-compact: {spacing.14};
226
+ $pcoi-semantic-spacing-stack-xl: {spacing.48};
207
227
  $pcoi-semantic-spacing-inline-sm: {spacing.8};
208
228
  $pcoi-semantic-spacing-inline-md: {spacing.16};
229
+ $pcoi-semantic-spacing-inline-lg: {spacing.28};
230
+ $pcoi-semantic-spacing-inline-xl: {spacing.48};
231
+ $pcoi-semantic-spacing-chip-x: {spacing.10};
232
+ $pcoi-semantic-spacing-section-header-margin: {spacing.64};
209
233
 
210
234
  // Semantic Radius
211
235
  $pcoi-semantic-radius-btn: {radius.sm};
@@ -224,6 +248,36 @@ $pcoi-semantic-sizing-textarea-min-height: {sizing.height.2xl};
224
248
  $pcoi-semantic-sizing-badge-height: {sizing.height.xs};
225
249
  $pcoi-semantic-sizing-step-number: {sizing.height.lg};
226
250
  $pcoi-semantic-sizing-icon-box: 52px;
251
+ $pcoi-semantic-sizing-toggle-track-width: 40px;
252
+ $pcoi-semantic-sizing-toggle-track-height: 22px;
253
+ $pcoi-semantic-sizing-toggle-thumb-size: 16px;
254
+ $pcoi-semantic-sizing-toggle-check-width: 4px;
255
+ $pcoi-semantic-sizing-toggle-check-height: 7px;
256
+ $pcoi-semantic-sizing-toggle-check-stroke: 1.5px;
257
+ $pcoi-semantic-sizing-hamburger-size: 28px;
258
+ $pcoi-semantic-sizing-container-max: 1200px;
259
+ $pcoi-semantic-sizing-container-narrow: 800px;
260
+ $pcoi-semantic-sizing-toast-width-min: 280px;
261
+ $pcoi-semantic-sizing-toast-width-max: 420px;
262
+ $pcoi-semantic-sizing-comparison-width: 900px;
263
+ $pcoi-semantic-sizing-comparison-scroll-width: 500px;
264
+ $pcoi-semantic-sizing-modal-width: 520px;
265
+ $pcoi-semantic-sizing-document-width: 900px;
266
+ $pcoi-semantic-sizing-callout-width: 640px;
267
+ $pcoi-semantic-sizing-control-box-size: 18px;
268
+ $pcoi-semantic-sizing-radio-dot-size: 8px;
269
+ $pcoi-semantic-sizing-bullet-size: 8px;
270
+ $pcoi-semantic-sizing-accent-border-width: 3px;
271
+ $pcoi-semantic-sizing-accent-line-width: 60px;
272
+
273
+ // Semantic Layout
274
+ $pcoi-semantic-layout-z-base: {layout.zIndex.base};
275
+ $pcoi-semantic-layout-z-content: {layout.zIndex.content};
276
+ $pcoi-semantic-layout-z-mobile-menu: {layout.zIndex.mobile-menu};
277
+ $pcoi-semantic-layout-z-dropdown: {layout.zIndex.dropdown};
278
+ $pcoi-semantic-layout-z-modal: {layout.zIndex.modal};
279
+ $pcoi-semantic-layout-z-toast: {layout.zIndex.toast};
280
+ $pcoi-semantic-layout-z-nav: {layout.zIndex.nav};
227
281
 
228
282
  // Semantic Typography
229
283
  $pcoi-semantic-type-heading-font: {font.family.sans};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pcoi/tokens",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "PCOI Design System — Foundation tokens (colors, spacing, typography, effects)",
5
5
  "main": "build/index.js",
6
6
  "module": "build/index.mjs",
@@ -23,7 +23,11 @@
23
23
  "build": "node build-tokens.js",
24
24
  "clean": "rm -rf build"
25
25
  },
26
- "keywords": ["design-tokens", "pcoi", "design-system"],
26
+ "keywords": [
27
+ "design-tokens",
28
+ "pcoi",
29
+ "design-system"
30
+ ],
27
31
  "license": "MIT",
28
32
  "sideEffects": false
29
33
  }
@@ -0,0 +1,33 @@
1
+ {
2
+ "semantic-layout": {
3
+ "$description": "Semantic layout tokens. Map layout primitives to component-level layout intent.",
4
+ "z-base": {
5
+ "$value": "{layout.zIndex.base}",
6
+ "$description": "Base layer for regular document flow"
7
+ },
8
+ "z-content": {
9
+ "$value": "{layout.zIndex.content}",
10
+ "$description": "Content layer above decorative backgrounds"
11
+ },
12
+ "z-mobile-menu": {
13
+ "$value": "{layout.zIndex.mobile-menu}",
14
+ "$description": "Mobile menu layer"
15
+ },
16
+ "z-dropdown": {
17
+ "$value": "{layout.zIndex.dropdown}",
18
+ "$description": "Dropdown and popover layer"
19
+ },
20
+ "z-modal": {
21
+ "$value": "{layout.zIndex.modal}",
22
+ "$description": "Modal and dialog layer"
23
+ },
24
+ "z-toast": {
25
+ "$value": "{layout.zIndex.toast}",
26
+ "$description": "Toast/notification layer"
27
+ },
28
+ "z-nav": {
29
+ "$value": "{layout.zIndex.nav}",
30
+ "$description": "Fixed navigation layer"
31
+ }
32
+ }
33
+ }
@@ -9,6 +9,27 @@
9
9
  "textarea-min-height": { "$value": "{sizing.height.2xl}", "$description": "Textarea minimum height" },
10
10
  "badge-height": { "$value": "{sizing.height.xs}", "$description": "Badge and tag height" },
11
11
  "step-number": { "$value": "{sizing.height.lg}", "$description": "HowStep number circle diameter (48px)" },
12
- "icon-box": { "$value": "52px", "$description": "Card icon container size (custom — between lg and xl)" }
12
+ "icon-box": { "$value": "52px", "$description": "Card icon container size (custom — between lg and xl)" },
13
+ "toggle-track-width": { "$value": "40px", "$description": "Toggle track width" },
14
+ "toggle-track-height": { "$value": "22px", "$description": "Toggle track height" },
15
+ "toggle-thumb-size": { "$value": "16px", "$description": "Toggle thumb diameter" },
16
+ "toggle-check-width": { "$value": "4px", "$description": "Toggle checkmark width" },
17
+ "toggle-check-height": { "$value": "7px", "$description": "Toggle checkmark height" },
18
+ "toggle-check-stroke": { "$value": "1.5px", "$description": "Toggle checkmark stroke width" },
19
+ "hamburger-size": { "$value": "28px", "$description": "Hamburger button width and height" },
20
+ "container-max": { "$value": "1200px", "$description": "Maximum width for wide containers such as global navigation" },
21
+ "container-narrow": { "$value": "800px", "$description": "Maximum width for narrow content containers" },
22
+ "toast-width-min": { "$value": "280px", "$description": "Minimum width for toast notifications" },
23
+ "toast-width-max": { "$value": "420px", "$description": "Maximum width for toast notifications" },
24
+ "comparison-width": { "$value": "900px", "$description": "Maximum width for comparison tables" },
25
+ "comparison-scroll-width": { "$value": "500px", "$description": "Minimum table width before horizontal scrolling on mobile" },
26
+ "modal-width": { "$value": "520px", "$description": "Default modal dialog width" },
27
+ "document-width": { "$value": "900px", "$description": "Wide dialog/document overlay width" },
28
+ "callout-width": { "$value": "640px", "$description": "Maximum width for callout quote blocks" },
29
+ "control-box-size": { "$value": "18px", "$description": "Checkbox/radio control box size" },
30
+ "radio-dot-size": { "$value": "8px", "$description": "Radio selected-state dot size" },
31
+ "bullet-size": { "$value": "8px", "$description": "Bullet indicator size in compact signal lists" },
32
+ "accent-border-width": { "$value": "3px", "$description": "Accent border width for status callouts and toast variants" },
33
+ "accent-line-width": { "$value": "60px", "$description": "Decorative accent line width used in callouts" }
13
34
  }
14
35
  }
@@ -7,6 +7,10 @@
7
7
  "$value": "{spacing.80}",
8
8
  "$description": "Vertical padding for page sections"
9
9
  },
10
+ "section-y-md": {
11
+ "$value": "{spacing.60}",
12
+ "$description": "Medium vertical section padding for compact long-form sections"
13
+ },
10
14
  "section-y-lg": {
11
15
  "$value": "{spacing.120}",
12
16
  "$description": "Vertical padding for large/hero sections"
@@ -35,6 +39,10 @@
35
39
  "$value": "{spacing.16}",
36
40
  "$description": "Horizontal padding inside inputs"
37
41
  },
42
+ "input-x-compact": {
43
+ "$value": "{spacing.14}",
44
+ "$description": "Compact horizontal padding inside dense inputs and fields"
45
+ },
38
46
  "input-y": {
39
47
  "$value": "{spacing.12}",
40
48
  "$description": "Vertical padding inside inputs"
@@ -43,10 +51,22 @@
43
51
  "$value": "{spacing.24}",
44
52
  "$description": "Horizontal padding for default buttons"
45
53
  },
54
+ "btn-x-comfortable": {
55
+ "$value": "{spacing.28}",
56
+ "$description": "Horizontal padding for comfortable primary button sizing"
57
+ },
58
+ "btn-x-nav": {
59
+ "$value": "{spacing.22}",
60
+ "$description": "Horizontal padding for compact navigation CTA buttons"
61
+ },
46
62
  "btn-y": {
47
63
  "$value": "{spacing.10}",
48
64
  "$description": "Vertical padding for default buttons"
49
65
  },
66
+ "btn-y-comfortable": {
67
+ "$value": "{spacing.14}",
68
+ "$description": "Vertical padding for comfortable primary button sizing"
69
+ },
50
70
  "btn-x-lg": {
51
71
  "$value": "{spacing.36}",
52
72
  "$description": "Horizontal padding for large buttons"
@@ -55,6 +75,58 @@
55
75
  "$value": "{spacing.16}",
56
76
  "$description": "Vertical padding for large buttons"
57
77
  },
78
+ "panel-padding": {
79
+ "$value": "{spacing.24}",
80
+ "$description": "Default internal padding for modal and overlay panels"
81
+ },
82
+ "panel-padding-sm": {
83
+ "$value": "{spacing.16}",
84
+ "$description": "Compact internal padding for panel footers and dense panel regions"
85
+ },
86
+ "panel-gap": {
87
+ "$value": "{spacing.12}",
88
+ "$description": "Inline or row gap for panel action groups"
89
+ },
90
+ "control-padding-2xs": {
91
+ "$value": "{spacing.4}",
92
+ "$description": "Extra-compact control padding for icon-only affordances"
93
+ },
94
+ "control-padding-xs": {
95
+ "$value": "{spacing.6}",
96
+ "$description": "Compact control padding for dense icon buttons"
97
+ },
98
+ "control-padding-sm": {
99
+ "$value": "{spacing.8}",
100
+ "$description": "Small control/container padding for narrow viewports"
101
+ },
102
+ "toggle-thumb-inset": {
103
+ "$value": "3px",
104
+ "$description": "Inset from toggle track edge to toggle thumb origin"
105
+ },
106
+ "toggle-thumb-travel": {
107
+ "$value": "18px",
108
+ "$description": "Horizontal travel distance for toggle thumb in checked state"
109
+ },
110
+ "hamburger-bar-offset": {
111
+ "$value": "7px",
112
+ "$description": "Vertical offset used when morphing hamburger bars into an X"
113
+ },
114
+ "hamburger-gap": {
115
+ "$value": "5px",
116
+ "$description": "Vertical gap between hamburger bars"
117
+ },
118
+ "inline-2xs": {
119
+ "$value": "{spacing.4}",
120
+ "$description": "Extra-small inline spacing for compact adornments"
121
+ },
122
+ "form-gap-compact": {
123
+ "$value": "{spacing.6}",
124
+ "$description": "Compact gap between form label, control, and messages"
125
+ },
126
+ "text-gap-sm": {
127
+ "$value": "{spacing.10}",
128
+ "$description": "Small vertical text gap between titles and supporting content"
129
+ },
58
130
  "nav-height": {
59
131
  "$value": "{spacing.72}",
60
132
  "$description": "Navigation bar height"
@@ -71,6 +143,14 @@
71
143
  "$value": "{spacing.32}",
72
144
  "$description": "Large vertical stack spacing (content blocks)"
73
145
  },
146
+ "stack-compact": {
147
+ "$value": "{spacing.14}",
148
+ "$description": "Compact vertical stack spacing between closely related content rows"
149
+ },
150
+ "stack-xl": {
151
+ "$value": "{spacing.48}",
152
+ "$description": "Extra-large vertical stack spacing between major content groups"
153
+ },
74
154
  "inline-sm": {
75
155
  "$value": "{spacing.8}",
76
156
  "$description": "Small inline spacing (icon + text)"
@@ -78,6 +158,22 @@
78
158
  "inline-md": {
79
159
  "$value": "{spacing.16}",
80
160
  "$description": "Medium inline spacing (nav links)"
161
+ },
162
+ "inline-lg": {
163
+ "$value": "{spacing.28}",
164
+ "$description": "Large inline spacing for sparse horizontal groups"
165
+ },
166
+ "inline-xl": {
167
+ "$value": "{spacing.48}",
168
+ "$description": "Extra-large inline spacing for desktop message offsets and wide gutters"
169
+ },
170
+ "chip-x": {
171
+ "$value": "{spacing.10}",
172
+ "$description": "Horizontal padding for compact chips and citation marks"
173
+ },
174
+ "section-header-margin": {
175
+ "$value": "{spacing.64}",
176
+ "$description": "Bottom margin between section headers and subsequent section content"
81
177
  }
82
178
  }
83
179
  }