@helloimjolopez-pathway/pathway-tokens 5.2.0 → 5.3.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/tokens.css CHANGED
@@ -432,6 +432,21 @@
432
432
  --primitive-unit-unit-0-point-5: 0.5px;
433
433
  --primitive-unit-unit-0-point-75: 0.75px;
434
434
  --primitive-unit-unit-1-point-5: 1.5px;
435
+ --motion-duration-1: 100ms; /** Instant tap feedback, tiny opacity flickers */
436
+ --motion-duration-2: 150ms; /** Hover fills, small opacity fades, colour transitions — the most common micro-interaction timing */
437
+ --motion-duration-3: 200ms; /** Micro-interactions needing slightly more presence; small reveals, focus rings */
438
+ --motion-duration-4: 300ms; /** Chevron / disclosure rotation, dropdown & popover content, in-component state */
439
+ --motion-duration-5: 380ms; /** Panel state changes: accordions, expand/collapse, item enter/exit */
440
+ --motion-duration-6: 460ms; /** Large physical-scale moves (e.g. SideNav width expand/collapse) */
441
+ --motion-duration-7: 680ms; /** Cross-component transitions: page content sliding, large layout shifts */
442
+ --motion-duration-8: 1100ms; /** Continuous loops only: spinners, skeleton shimmer, indeterminate progress */
443
+ --motion-easing-standard: cubic-bezier(0.4, 0, 0.2, 1); /** Most transitions — enters AND exits. Smooth, no overshoot. Default for colour, fill, opacity, focus rings. */
444
+ --motion-easing-spring: cubic-bezier(0.34, 1.04, 0.64, 1); /** Signature Pathway curve. Interactive element entrances: dropdown/popover panel opens. A whisper of overshoot (y2=1.04) — easeful, only *ever so slightly* alive. Softened 2026-06-08 from 1.08, which read as too bouncy. Not for chevrons — see chevron rule below. */
445
+ --motion-easing-decelerate: cubic-bezier(0, 0, 0.2, 1); /** Enters where the element should glide in smoothly — overlay panels, popovers, anything appearing from outside. Pure ease-out, no bounce. */
446
+ --motion-easing-accelerate: cubic-bezier(0.4, 0, 1, 1); /** Exits where the element leaves cleanly — dismissing overlays, scaling down. */
447
+ --motion-easing-emphasized: cubic-bezier(0.32, 0.72, 0, 1); /** Large physical-scale transitions: full-panel width changes, SideNav width. Smooth glide, no overshoot. */
448
+ --motion-easing-accordion: cubic-bezier(0.33, 1.03, 0.68, 1); /** Accordion settle — content reveal/hide, chevron rotation. The gentlest overshoot in the system (y2=1.03). Softened 2026-06-08 from 0.22,1.12,0.36,1, which was visibly bouncy. */
449
+ --motion-easing-linear: cubic-bezier(0, 0, 1, 1); /** Continuous loops only (spinners, shimmer). Never for bounded transitions. */
435
450
  --primitive-type-size-10: var(--primitive-unit-unit-10);
436
451
  --primitive-type-size-11: var(--primitive-unit-unit-11);
437
452
  --primitive-type-size-12: var(--primitive-unit-unit-12);
package/dist/tokens.js CHANGED
@@ -69110,4 +69110,353 @@ export default {
69110
69110
  },
69111
69111
  },
69112
69112
  },
69113
+ motion: {
69114
+ duration: {
69115
+ 1: {
69116
+ key: "{motion.duration.1}",
69117
+ $type: "duration",
69118
+ $value: "100ms",
69119
+ $description: "Instant tap feedback, tiny opacity flickers",
69120
+ filePath: "tokens/motion-tokens.json",
69121
+ isSource: true,
69122
+ original: {
69123
+ $type: "duration",
69124
+ $value: "100ms",
69125
+ $description: "Instant tap feedback, tiny opacity flickers",
69126
+ key: "{motion.duration.1}",
69127
+ },
69128
+ name: "MotionDuration1",
69129
+ attributes: {
69130
+ category: "motion",
69131
+ type: "duration",
69132
+ item: "1",
69133
+ },
69134
+ path: ["motion", "duration", "1"],
69135
+ },
69136
+ 2: {
69137
+ key: "{motion.duration.2}",
69138
+ $type: "duration",
69139
+ $value: "150ms",
69140
+ $description:
69141
+ "Hover fills, small opacity fades, colour transitions — the most common micro-interaction timing",
69142
+ filePath: "tokens/motion-tokens.json",
69143
+ isSource: true,
69144
+ original: {
69145
+ $type: "duration",
69146
+ $value: "150ms",
69147
+ $description:
69148
+ "Hover fills, small opacity fades, colour transitions — the most common micro-interaction timing",
69149
+ key: "{motion.duration.2}",
69150
+ },
69151
+ name: "MotionDuration2",
69152
+ attributes: {
69153
+ category: "motion",
69154
+ type: "duration",
69155
+ item: "2",
69156
+ },
69157
+ path: ["motion", "duration", "2"],
69158
+ },
69159
+ 3: {
69160
+ key: "{motion.duration.3}",
69161
+ $type: "duration",
69162
+ $value: "200ms",
69163
+ $description:
69164
+ "Micro-interactions needing slightly more presence; small reveals, focus rings",
69165
+ filePath: "tokens/motion-tokens.json",
69166
+ isSource: true,
69167
+ original: {
69168
+ $type: "duration",
69169
+ $value: "200ms",
69170
+ $description:
69171
+ "Micro-interactions needing slightly more presence; small reveals, focus rings",
69172
+ key: "{motion.duration.3}",
69173
+ },
69174
+ name: "MotionDuration3",
69175
+ attributes: {
69176
+ category: "motion",
69177
+ type: "duration",
69178
+ item: "3",
69179
+ },
69180
+ path: ["motion", "duration", "3"],
69181
+ },
69182
+ 4: {
69183
+ key: "{motion.duration.4}",
69184
+ $type: "duration",
69185
+ $value: "300ms",
69186
+ $description:
69187
+ "Chevron / disclosure rotation, dropdown & popover content, in-component state",
69188
+ filePath: "tokens/motion-tokens.json",
69189
+ isSource: true,
69190
+ original: {
69191
+ $type: "duration",
69192
+ $value: "300ms",
69193
+ $description:
69194
+ "Chevron / disclosure rotation, dropdown & popover content, in-component state",
69195
+ key: "{motion.duration.4}",
69196
+ },
69197
+ name: "MotionDuration4",
69198
+ attributes: {
69199
+ category: "motion",
69200
+ type: "duration",
69201
+ item: "4",
69202
+ },
69203
+ path: ["motion", "duration", "4"],
69204
+ },
69205
+ 5: {
69206
+ key: "{motion.duration.5}",
69207
+ $type: "duration",
69208
+ $value: "380ms",
69209
+ $description:
69210
+ "Panel state changes: accordions, expand/collapse, item enter/exit",
69211
+ filePath: "tokens/motion-tokens.json",
69212
+ isSource: true,
69213
+ original: {
69214
+ $type: "duration",
69215
+ $value: "380ms",
69216
+ $description:
69217
+ "Panel state changes: accordions, expand/collapse, item enter/exit",
69218
+ key: "{motion.duration.5}",
69219
+ },
69220
+ name: "MotionDuration5",
69221
+ attributes: {
69222
+ category: "motion",
69223
+ type: "duration",
69224
+ item: "5",
69225
+ },
69226
+ path: ["motion", "duration", "5"],
69227
+ },
69228
+ 6: {
69229
+ key: "{motion.duration.6}",
69230
+ $type: "duration",
69231
+ $value: "460ms",
69232
+ $description:
69233
+ "Large physical-scale moves (e.g. SideNav width expand/collapse)",
69234
+ filePath: "tokens/motion-tokens.json",
69235
+ isSource: true,
69236
+ original: {
69237
+ $type: "duration",
69238
+ $value: "460ms",
69239
+ $description:
69240
+ "Large physical-scale moves (e.g. SideNav width expand/collapse)",
69241
+ key: "{motion.duration.6}",
69242
+ },
69243
+ name: "MotionDuration6",
69244
+ attributes: {
69245
+ category: "motion",
69246
+ type: "duration",
69247
+ item: "6",
69248
+ },
69249
+ path: ["motion", "duration", "6"],
69250
+ },
69251
+ 7: {
69252
+ key: "{motion.duration.7}",
69253
+ $type: "duration",
69254
+ $value: "680ms",
69255
+ $description:
69256
+ "Cross-component transitions: page content sliding, large layout shifts",
69257
+ filePath: "tokens/motion-tokens.json",
69258
+ isSource: true,
69259
+ original: {
69260
+ $type: "duration",
69261
+ $value: "680ms",
69262
+ $description:
69263
+ "Cross-component transitions: page content sliding, large layout shifts",
69264
+ key: "{motion.duration.7}",
69265
+ },
69266
+ name: "MotionDuration7",
69267
+ attributes: {
69268
+ category: "motion",
69269
+ type: "duration",
69270
+ item: "7",
69271
+ },
69272
+ path: ["motion", "duration", "7"],
69273
+ },
69274
+ 8: {
69275
+ key: "{motion.duration.8}",
69276
+ $type: "duration",
69277
+ $value: "1100ms",
69278
+ $description:
69279
+ "Continuous loops only: spinners, skeleton shimmer, indeterminate progress",
69280
+ filePath: "tokens/motion-tokens.json",
69281
+ isSource: true,
69282
+ original: {
69283
+ $type: "duration",
69284
+ $value: "1100ms",
69285
+ $description:
69286
+ "Continuous loops only: spinners, skeleton shimmer, indeterminate progress",
69287
+ key: "{motion.duration.8}",
69288
+ },
69289
+ name: "MotionDuration8",
69290
+ attributes: {
69291
+ category: "motion",
69292
+ type: "duration",
69293
+ item: "8",
69294
+ },
69295
+ path: ["motion", "duration", "8"],
69296
+ },
69297
+ },
69298
+ easing: {
69299
+ standard: {
69300
+ key: "{motion.easing.standard}",
69301
+ $type: "cubicBezier",
69302
+ $value: [0.4, 0, 0.2, 1],
69303
+ $description:
69304
+ "Most transitions — enters AND exits. Smooth, no overshoot. Default for colour, fill, opacity, focus rings.",
69305
+ filePath: "tokens/motion-tokens.json",
69306
+ isSource: true,
69307
+ original: {
69308
+ $type: "cubicBezier",
69309
+ $value: [0.4, 0, 0.2, 1],
69310
+ $description:
69311
+ "Most transitions — enters AND exits. Smooth, no overshoot. Default for colour, fill, opacity, focus rings.",
69312
+ key: "{motion.easing.standard}",
69313
+ },
69314
+ name: "MotionEasingStandard",
69315
+ attributes: {
69316
+ category: "motion",
69317
+ type: "easing",
69318
+ item: "standard",
69319
+ },
69320
+ path: ["motion", "easing", "standard"],
69321
+ },
69322
+ spring: {
69323
+ key: "{motion.easing.spring}",
69324
+ $type: "cubicBezier",
69325
+ $value: [0.34, 1.04, 0.64, 1],
69326
+ $description:
69327
+ "Signature Pathway curve. Interactive element entrances: dropdown/popover panel opens. A whisper of overshoot (y2=1.04) — easeful, only *ever so slightly* alive. Softened 2026-06-08 from 1.08, which read as too bouncy. Not for chevrons — see chevron rule below.",
69328
+ filePath: "tokens/motion-tokens.json",
69329
+ isSource: true,
69330
+ original: {
69331
+ $type: "cubicBezier",
69332
+ $value: [0.34, 1.04, 0.64, 1],
69333
+ $description:
69334
+ "Signature Pathway curve. Interactive element entrances: dropdown/popover panel opens. A whisper of overshoot (y2=1.04) — easeful, only *ever so slightly* alive. Softened 2026-06-08 from 1.08, which read as too bouncy. Not for chevrons — see chevron rule below.",
69335
+ key: "{motion.easing.spring}",
69336
+ },
69337
+ name: "MotionEasingSpring",
69338
+ attributes: {
69339
+ category: "motion",
69340
+ type: "easing",
69341
+ item: "spring",
69342
+ },
69343
+ path: ["motion", "easing", "spring"],
69344
+ },
69345
+ decelerate: {
69346
+ key: "{motion.easing.decelerate}",
69347
+ $type: "cubicBezier",
69348
+ $value: [0, 0, 0.2, 1],
69349
+ $description:
69350
+ "Enters where the element should glide in smoothly — overlay panels, popovers, anything appearing from outside. Pure ease-out, no bounce.",
69351
+ filePath: "tokens/motion-tokens.json",
69352
+ isSource: true,
69353
+ original: {
69354
+ $type: "cubicBezier",
69355
+ $value: [0, 0, 0.2, 1],
69356
+ $description:
69357
+ "Enters where the element should glide in smoothly — overlay panels, popovers, anything appearing from outside. Pure ease-out, no bounce.",
69358
+ key: "{motion.easing.decelerate}",
69359
+ },
69360
+ name: "MotionEasingDecelerate",
69361
+ attributes: {
69362
+ category: "motion",
69363
+ type: "easing",
69364
+ item: "decelerate",
69365
+ },
69366
+ path: ["motion", "easing", "decelerate"],
69367
+ },
69368
+ accelerate: {
69369
+ key: "{motion.easing.accelerate}",
69370
+ $type: "cubicBezier",
69371
+ $value: [0.4, 0, 1, 1],
69372
+ $description:
69373
+ "Exits where the element leaves cleanly — dismissing overlays, scaling down.",
69374
+ filePath: "tokens/motion-tokens.json",
69375
+ isSource: true,
69376
+ original: {
69377
+ $type: "cubicBezier",
69378
+ $value: [0.4, 0, 1, 1],
69379
+ $description:
69380
+ "Exits where the element leaves cleanly — dismissing overlays, scaling down.",
69381
+ key: "{motion.easing.accelerate}",
69382
+ },
69383
+ name: "MotionEasingAccelerate",
69384
+ attributes: {
69385
+ category: "motion",
69386
+ type: "easing",
69387
+ item: "accelerate",
69388
+ },
69389
+ path: ["motion", "easing", "accelerate"],
69390
+ },
69391
+ emphasized: {
69392
+ key: "{motion.easing.emphasized}",
69393
+ $type: "cubicBezier",
69394
+ $value: [0.32, 0.72, 0, 1],
69395
+ $description:
69396
+ "Large physical-scale transitions: full-panel width changes, SideNav width. Smooth glide, no overshoot.",
69397
+ filePath: "tokens/motion-tokens.json",
69398
+ isSource: true,
69399
+ original: {
69400
+ $type: "cubicBezier",
69401
+ $value: [0.32, 0.72, 0, 1],
69402
+ $description:
69403
+ "Large physical-scale transitions: full-panel width changes, SideNav width. Smooth glide, no overshoot.",
69404
+ key: "{motion.easing.emphasized}",
69405
+ },
69406
+ name: "MotionEasingEmphasized",
69407
+ attributes: {
69408
+ category: "motion",
69409
+ type: "easing",
69410
+ item: "emphasized",
69411
+ },
69412
+ path: ["motion", "easing", "emphasized"],
69413
+ },
69414
+ accordion: {
69415
+ key: "{motion.easing.accordion}",
69416
+ $type: "cubicBezier",
69417
+ $value: [0.33, 1.03, 0.68, 1],
69418
+ $description:
69419
+ "Accordion settle — content reveal/hide, chevron rotation. The gentlest overshoot in the system (y2=1.03). Softened 2026-06-08 from 0.22,1.12,0.36,1, which was visibly bouncy.",
69420
+ filePath: "tokens/motion-tokens.json",
69421
+ isSource: true,
69422
+ original: {
69423
+ $type: "cubicBezier",
69424
+ $value: [0.33, 1.03, 0.68, 1],
69425
+ $description:
69426
+ "Accordion settle — content reveal/hide, chevron rotation. The gentlest overshoot in the system (y2=1.03). Softened 2026-06-08 from 0.22,1.12,0.36,1, which was visibly bouncy.",
69427
+ key: "{motion.easing.accordion}",
69428
+ },
69429
+ name: "MotionEasingAccordion",
69430
+ attributes: {
69431
+ category: "motion",
69432
+ type: "easing",
69433
+ item: "accordion",
69434
+ },
69435
+ path: ["motion", "easing", "accordion"],
69436
+ },
69437
+ linear: {
69438
+ key: "{motion.easing.linear}",
69439
+ $type: "cubicBezier",
69440
+ $value: [0, 0, 1, 1],
69441
+ $description:
69442
+ "Continuous loops only (spinners, shimmer). Never for bounded transitions.",
69443
+ filePath: "tokens/motion-tokens.json",
69444
+ isSource: true,
69445
+ original: {
69446
+ $type: "cubicBezier",
69447
+ $value: [0, 0, 1, 1],
69448
+ $description:
69449
+ "Continuous loops only (spinners, shimmer). Never for bounded transitions.",
69450
+ key: "{motion.easing.linear}",
69451
+ },
69452
+ name: "MotionEasingLinear",
69453
+ attributes: {
69454
+ category: "motion",
69455
+ type: "easing",
69456
+ item: "linear",
69457
+ },
69458
+ path: ["motion", "easing", "linear"],
69459
+ },
69460
+ },
69461
+ },
69113
69462
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helloimjolopez-pathway/pathway-tokens",
3
- "version": "5.2.0",
3
+ "version": "5.3.0",
4
4
  "description": "Pathway Design System tokens — CSS custom properties, JS export, and DTCG JSON",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -23,13 +23,14 @@
23
23
  },
24
24
  "scripts": {
25
25
  "sync-tokens": "node scripts/sync-tokens.js",
26
+ "sync-motion-tokens": "node scripts/sync-motion-tokens.js",
26
27
  "push-tokens": "node scripts/push-tokens.js",
27
28
  "sync-and-push": "node scripts/sync-tokens.js && node scripts/push-tokens.js",
28
29
  "audit-tokens": "node scripts/audit-tokens.js",
29
30
  "fix-tokens": "node scripts/fix-tokens.js",
30
31
  "fix-tokens-preview": "node scripts/fix-tokens.js --dry-run",
31
- "build-tokens": "node style-dictionary.config.js",
32
- "build-dist": "node style-dictionary.config.js && node scripts/build-dist.js",
32
+ "build-tokens": "node scripts/sync-motion-tokens.js && node style-dictionary.config.js",
33
+ "build-dist": "node scripts/sync-motion-tokens.js && node style-dictionary.config.js && node scripts/build-dist.js",
33
34
  "storybook": "node style-dictionary.config.js && storybook dev -p 6006",
34
35
  "build-storybook": "storybook build"
35
36
  },