@crisp-ui-kit/crisp 0.31.4 → 0.31.6

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 (130) hide show
  1. package/dist/authshell.css +1 -1
  2. package/dist/cjs/components/accordion/accordion.recipe.js +1 -1
  3. package/dist/cjs/components/barchart/barchart.recipe.js +1 -1
  4. package/dist/cjs/components/breadcrumb/breadcrumb.recipe.js +1 -1
  5. package/dist/cjs/components/bulkbar/bulkbar.recipe.js +1 -1
  6. package/dist/cjs/components/callout/callout.recipe.js +1 -1
  7. package/dist/cjs/components/checkbox/checkbox.recipe.js +1 -1
  8. package/dist/cjs/components/columncalc/columncalc.recipe.js +2 -2
  9. package/dist/cjs/components/datatable/datatable.recipe.js +5 -5
  10. package/dist/cjs/components/datepicker/datepicker.recipe.js +3 -3
  11. package/dist/cjs/components/datepickerfield/datepickerfield.recipe.js +2 -2
  12. package/dist/cjs/components/dialog/dialog.recipe.js +1 -1
  13. package/dist/cjs/components/donutchart/donutchart.recipe.js +1 -1
  14. package/dist/cjs/components/emptystate/emptystate.recipe.js +2 -2
  15. package/dist/cjs/components/fileupload/fileupload.recipe.js +6 -6
  16. package/dist/cjs/components/formfield/formfield.recipe.js +1 -1
  17. package/dist/cjs/components/input/input.recipe.js +1 -1
  18. package/dist/cjs/components/linechart/linechart.recipe.js +1 -1
  19. package/dist/cjs/components/menu/menu.recipe.js +2 -2
  20. package/dist/cjs/components/multiselect/multiselect.recipe.js +1 -1
  21. package/dist/cjs/components/progress/progress.recipe.js +1 -1
  22. package/dist/cjs/components/quantitypicker/quantitypicker.recipe.js +2 -2
  23. package/dist/cjs/components/radiogroup/radiogroup.recipe.js +1 -1
  24. package/dist/cjs/components/resizablepanel/resizablepanel.recipe.js +2 -2
  25. package/dist/cjs/components/segmented/segmented.recipe.js +1 -1
  26. package/dist/cjs/components/select/select.recipe.js +2 -2
  27. package/dist/cjs/components/slider/slider.recipe.js +2 -2
  28. package/dist/cjs/components/stagebar/stagebar.recipe.js +1 -1
  29. package/dist/cjs/components/statcard/statcard.recipe.js +2 -2
  30. package/dist/cjs/components/switch/switch.recipe.js +1 -1
  31. package/dist/cjs/components/table/table.recipe.js +1 -1
  32. package/dist/cjs/components/tabletoolbar/tabletoolbar.chrome.js +2 -2
  33. package/dist/cjs/components/tabletoolbar/tabletoolbar.recipe.js +1 -1
  34. package/dist/cjs/components/tabs/tabs.recipe.js +1 -1
  35. package/dist/cjs/components/textarea/textarea.recipe.js +1 -1
  36. package/dist/cjs/components/tooltip/tooltip.recipe.js +1 -1
  37. package/dist/cjs/core/dialog-description.js +1 -1
  38. package/dist/cjs/index.js +1 -1
  39. package/dist/cjs/product/appshell/appshell.recipe.js +1 -1
  40. package/dist/cjs/product/authshell/authshell.recipe.js +3 -3
  41. package/dist/cjs/product/board/board.recipe.js +1 -1
  42. package/dist/cjs/product/entitycard/entitycard.recipe.js +1 -1
  43. package/dist/cjs/product/flowcanvas/flowcanvas.recipe.js +1 -1
  44. package/dist/cjs/product/inbox/inbox.recipe.js +1 -1
  45. package/dist/cjs/product/listpage/listpage.recipe.js +1 -1
  46. package/dist/cjs/product/onboarding/onboarding.recipe.js +1 -1
  47. package/dist/cjs/product/recordpage/recordpage.recipe.js +2 -2
  48. package/dist/cjs/product/recordpanel/recordpanel.recipe.js +1 -1
  49. package/dist/cjs/product/recordstable/recordstable.recipe.js +2 -2
  50. package/dist/cjs/product/recordstable/recordstable.tag.js +1 -1
  51. package/dist/cjs/product/richtext/richtext.recipe.js +1 -1
  52. package/dist/cjs/product/settingssection/settingssection.recipe.js +1 -1
  53. package/dist/cjs/product/settingsshell/settingsshell.recipe.js +2 -2
  54. package/dist/cjs/product/tasklist/tasklist.recipe.js +1 -1
  55. package/dist/cjs/product/trialbanner/trialbanner.recipe.js +2 -2
  56. package/dist/cjs/product/viewtoggle/viewtoggle.recipe.js +1 -1
  57. package/dist/cjs/tokens/elevation.js +4 -4
  58. package/dist/cjs/tokens/palette.js +2 -2
  59. package/dist/cjs/tokens/scale.js +6 -6
  60. package/dist/cjs/tokens/semantic.js +1 -1
  61. package/dist/columncalc.css +1 -1
  62. package/dist/datatable.css +5 -5
  63. package/dist/esm/components/accordion/accordion.recipe.js +1 -1
  64. package/dist/esm/components/barchart/barchart.recipe.js +1 -1
  65. package/dist/esm/components/breadcrumb/breadcrumb.recipe.js +1 -1
  66. package/dist/esm/components/bulkbar/bulkbar.recipe.js +1 -1
  67. package/dist/esm/components/callout/callout.recipe.js +1 -1
  68. package/dist/esm/components/checkbox/checkbox.recipe.js +1 -1
  69. package/dist/esm/components/columncalc/columncalc.recipe.js +2 -2
  70. package/dist/esm/components/datatable/datatable.recipe.js +5 -5
  71. package/dist/esm/components/datepicker/datepicker.recipe.js +3 -3
  72. package/dist/esm/components/datepickerfield/datepickerfield.recipe.js +2 -2
  73. package/dist/esm/components/dialog/dialog.recipe.js +1 -1
  74. package/dist/esm/components/donutchart/donutchart.recipe.js +1 -1
  75. package/dist/esm/components/emptystate/emptystate.recipe.js +2 -2
  76. package/dist/esm/components/fileupload/fileupload.recipe.js +6 -6
  77. package/dist/esm/components/formfield/formfield.recipe.js +1 -1
  78. package/dist/esm/components/input/input.recipe.js +1 -1
  79. package/dist/esm/components/linechart/linechart.recipe.js +1 -1
  80. package/dist/esm/components/menu/menu.recipe.js +2 -2
  81. package/dist/esm/components/multiselect/multiselect.recipe.js +1 -1
  82. package/dist/esm/components/progress/progress.recipe.js +1 -1
  83. package/dist/esm/components/quantitypicker/quantitypicker.recipe.js +2 -2
  84. package/dist/esm/components/radiogroup/radiogroup.recipe.js +1 -1
  85. package/dist/esm/components/resizablepanel/resizablepanel.recipe.js +2 -2
  86. package/dist/esm/components/segmented/segmented.recipe.js +1 -1
  87. package/dist/esm/components/select/select.recipe.js +2 -2
  88. package/dist/esm/components/slider/slider.recipe.js +2 -2
  89. package/dist/esm/components/stagebar/stagebar.recipe.js +1 -1
  90. package/dist/esm/components/statcard/statcard.recipe.js +2 -2
  91. package/dist/esm/components/switch/switch.recipe.js +1 -1
  92. package/dist/esm/components/table/table.recipe.js +1 -1
  93. package/dist/esm/components/tabletoolbar/tabletoolbar.chrome.js +2 -2
  94. package/dist/esm/components/tabletoolbar/tabletoolbar.recipe.js +1 -1
  95. package/dist/esm/components/tabs/tabs.recipe.js +1 -1
  96. package/dist/esm/components/textarea/textarea.recipe.js +1 -1
  97. package/dist/esm/components/tooltip/tooltip.recipe.js +1 -1
  98. package/dist/esm/core/dialog-description.js +1 -1
  99. package/dist/esm/index.js +1 -1
  100. package/dist/esm/product/appshell/appshell.recipe.js +1 -1
  101. package/dist/esm/product/authshell/authshell.recipe.js +3 -3
  102. package/dist/esm/product/board/board.recipe.js +1 -1
  103. package/dist/esm/product/entitycard/entitycard.recipe.js +1 -1
  104. package/dist/esm/product/flowcanvas/flowcanvas.recipe.js +1 -1
  105. package/dist/esm/product/inbox/inbox.recipe.js +1 -1
  106. package/dist/esm/product/listpage/listpage.recipe.js +1 -1
  107. package/dist/esm/product/onboarding/onboarding.recipe.js +1 -1
  108. package/dist/esm/product/recordpage/recordpage.recipe.js +2 -2
  109. package/dist/esm/product/recordpanel/recordpanel.recipe.js +1 -1
  110. package/dist/esm/product/recordstable/recordstable.recipe.js +2 -2
  111. package/dist/esm/product/recordstable/recordstable.tag.js +1 -1
  112. package/dist/esm/product/richtext/richtext.recipe.js +1 -1
  113. package/dist/esm/product/settingssection/settingssection.recipe.js +1 -1
  114. package/dist/esm/product/settingsshell/settingsshell.recipe.js +2 -2
  115. package/dist/esm/product/tasklist/tasklist.recipe.js +1 -1
  116. package/dist/esm/product/trialbanner/trialbanner.recipe.js +2 -2
  117. package/dist/esm/product/viewtoggle/viewtoggle.recipe.js +1 -1
  118. package/dist/esm/tokens/elevation.js +4 -4
  119. package/dist/esm/tokens/palette.js +2 -2
  120. package/dist/esm/tokens/scale.js +6 -6
  121. package/dist/esm/tokens/semantic.js +1 -1
  122. package/dist/fileupload.css +2 -2
  123. package/dist/recordpage.css +1 -1
  124. package/dist/recordstable.css +1 -1
  125. package/dist/settingsshell.css +1 -1
  126. package/dist/styles.css +12 -12
  127. package/dist/types/core/dialog-description.d.ts +1 -1
  128. package/dist/types/product/recordstable/recordstable.tag.d.ts +1 -1
  129. package/dist/types/tokens/elevation.d.ts +4 -4
  130. package/package.json +1 -1
package/dist/styles.css CHANGED
@@ -415,7 +415,7 @@
415
415
  shrink the button back to its text. Make the wrapper fill too, so the
416
416
  whole cell stays clickable. */
417
417
  & .menu { width: 100%; height: 100%; }
418
- /* Attio's hit target is the WHOLE summary cell -- measured 246x37 with
418
+ /* The hit target is the WHOLE summary cell -- measured 246x37 with
419
419
  padding 0 12px, not a content-sized chip. Clicking anywhere in the cell
420
420
  opens the aggregation menu. */
421
421
  & .columncalc-trigger { display: flex; align-items: center; gap: var(--space-1); width: 100%; height: 100%; min-height: var(--size-tableRow); margin: 0; padding: 0 var(--space-3); border: none; border-radius: var(--radius-md); background: transparent; color: var(--fg-muted); font-family: inherit; font-size: var(--text-md); font-weight: var(--weight-medium); white-space: nowrap; cursor: pointer; transition: background-color .12s, color .12s; }
@@ -466,7 +466,7 @@
466
466
  & .datatable-search input::placeholder { color: var(--fg-muted); }
467
467
  & .datatable-search input:focus { box-shadow: inset 0 0 0 1px var(--bg-brand-solid); }
468
468
  & .datatable-count { margin-inline-start: auto; font-size: var(--text-md); color: var(--fg-muted); }
469
- /* Attio's header cell has no padding of its own -- the button owns the
469
+ /* The header cell has no padding of its own -- the button owns the
470
470
  full cell so the whole header is clickable (its own inset is 12px).
471
471
  Mirrors the summary-row fix. */
472
472
  & th { padding: 0; }
@@ -480,11 +480,11 @@
480
480
  & th .menu { width: 100%; height: 100%; }
481
481
  & .datatable-th-inner { display: inline-flex; align-items: center; gap: var(--space-1-5); width: 100%; min-width: 0; height: 100%; }
482
482
  & .datatable-th-inner > svg { flex-shrink: 0; color: var(--fg-muted); }
483
- /* Attio's summary cell has NO padding of its own -- the calculation trigger
483
+ /* The summary cell has NO padding of its own -- the calculation trigger
484
484
  owns the whole 246x37 area so a click anywhere in the cell opens the
485
485
  menu. Zero the cell's inset and let ColumnCalc supply the 12px. */
486
486
  & tfoot td { padding: 0; }
487
- /* Group heading row -- Attio groups a view under a subtle label with the
487
+ /* Group heading row -- a view is grouped under a subtle label with the
488
488
  bucket's count beside it. */
489
489
  & .datatable-viewsettings { display: inline-flex; align-items: center; gap: var(--space-1-5); height: var(--size-row); margin: 0; padding: 0 var(--space-2); border: none; border-radius: var(--radius-md); background: transparent; color: var(--fg-muted); font-family: inherit; font-size: var(--text-md); font-weight: var(--weight-medium); white-space: nowrap; cursor: pointer; transition: background-color .12s, color .12s; }
490
490
  & .datatable-viewsettings:hover { background: color-mix(in srgb, var(--fg-primary) 4%, transparent); color: var(--fg-primary); }
@@ -542,13 +542,13 @@
542
542
  & .datatable-tag[data-tone="orange"] { background: color-mix(in srgb, var(--bg-orange) 16%, transparent); color: color-mix(in srgb, var(--bg-orange) 82%, var(--fg-primary)); }
543
543
  & .datatable-num { font-variant-numeric: tabular-nums; }
544
544
  & .datatable-muted { color: var(--fg-muted); }
545
- /* row drag-to-reorder -- Attio's Settings > Objects > Attributes measures
545
+ /* row drag-to-reorder -- a Settings > Objects > Attributes screen measures
546
546
  a leading 20px grip column, a 16px grip icon, and the row's own
547
547
  hairline doubling as the drop indicator (it tints toward the brand
548
548
  colour as the active drop target). The affordance + geometry are
549
549
  measured; the drag MECHANISM is crisp's existing house idiom -- HTML5
550
550
  draggable + dataTransfer, the same one column reorder already uses
551
- (RecordsTable's reorderColumn) -- not Attio's own proprietary
551
+ (RecordsTable's reorderColumn) -- not a proprietary
552
552
  pointer-events implementation. */
553
553
  & .datatable-col-grip { width: 20px; padding: 0; text-align: center; }
554
554
  & .datatable-grip { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 100%; margin: 0; border: none; border-radius: 0; background: none; font-family: inherit; color: var(--fg-muted); cursor: grab; }
@@ -901,12 +901,12 @@
901
901
  & .fileupload-zone[data-disabled] { opacity: .5; cursor: not-allowed; }
902
902
  & .fileupload-zone[data-invalid] { border-color: var(--bg-danger); }
903
903
 
904
- /* Attio: "No files" 16/20 weight 600 */
904
+ /* "No files" 16/20 weight 600 */
905
905
  & .fileupload-title {
906
906
  color: var(--fg-primary); font-size: var(--text-xl); line-height: 20px;
907
907
  font-weight: var(--weight-semibold);
908
908
  }
909
- /* Attio: the hint line, 14/20 weight 500 at 63% of the foreground */
909
+ /* The hint line, 14/20 weight 500 at 63% of the foreground */
910
910
  & .fileupload-hint {
911
911
  color: color-mix(in srgb, var(--fg-primary) 63%, transparent);
912
912
  font-size: var(--text-lg); line-height: 20px;
@@ -1926,7 +1926,7 @@
1926
1926
  & .authshell-body .button { height: 36px; padding-inline: var(--space-3); border-radius: 10px; }
1927
1927
  & .authshell-body .button--intent_primary { box-shadow: inset 0 0 0 1px rgba(0,0,0,0.06), 0 2px 4px -2px rgba(38,109,240,0.12), 0 3px 6px -2px rgba(38,109,240,0.08); }
1928
1928
 
1929
- /* Attio drops the preview pane in JS on narrow viewports (measured: two
1929
+ /* The preview pane drops out in JS on narrow viewports (measured: two
1930
1930
  panes at 1393px, one at 954px), so 1200px is a chosen threshold inside
1931
1931
  that bracket, not a measured value. A CONTAINER query, not a media
1932
1932
  query: the shell is embedded in the docs inside an ~800px column, where
@@ -2248,7 +2248,7 @@
2248
2248
  & .recordpage-section { padding-top: var(--space-2); }
2249
2249
  & .recordpage-section-title { font-size: var(--text-sm); font-weight: var(--weight-medium); letter-spacing: -0.12px; color: color-mix(in srgb, var(--fg-primary) 63%, transparent); padding: var(--space-1); }
2250
2250
  /* main-area section headers (Highlights / Activity / Emails / Notes / Tasks)
2251
- are 14px in Attio; the left column's (Record Details / Lists) stay 12px. */
2251
+ are 14px; the left column's (Record Details / Lists) stay 12px. */
2252
2252
  & .recordpage-main .recordpage-section-title { font-size: var(--text-lg); }
2253
2253
  & .recordpage-detailhead { display: flex; align-items: center; gap: var(--space-0-5); margin-bottom: var(--space-3); padding-inline-end: var(--space-0-5); }
2254
2254
  & .recordpage-collapse { display: inline-flex; align-items: center; gap: 2px; flex: 1; min-width: 0; margin: 0; border: none; background: none; padding: var(--space-1); border-radius: var(--radius-md); font-family: inherit; font-size: var(--text-sm); font-weight: var(--weight-medium); letter-spacing: -0.12px; color: var(--fg-muted); cursor: pointer; text-align: start; }
@@ -2575,7 +2575,7 @@
2575
2575
  /* box-shadow has no logical form either: the bleed follows the scrolled
2576
2576
  content, which is the opposite side under RTL. */
2577
2577
  [dir="rtl"] & .recordstable-scroll[data-scrolled] .recordstable-col-entity { box-shadow: -6px 0 16px 4px rgba(0,0,0,0.12); }
2578
- /* AI-enriched values carry a purple wash. Measured from Attio:
2578
+ /* AI-enriched values carry a purple wash. Measured live:
2579
2579
  a full-bleed overlay at #9b69ff 4% (== bgPurple), composited OVER
2580
2580
  whatever row-state background the cell already has, which is why it
2581
2581
  is an ::after and not a background. */
@@ -2685,7 +2685,7 @@
2685
2685
 
2686
2686
  & .settingsshell-search { display: flex; align-items: center; gap: var(--space-2); height: 32px; margin-bottom: var(--space-2); padding: 0 var(--space-2-5); border-radius: var(--radius-md); background: var(--bg-surface); box-shadow: inset 0 0 0 1px var(--border-default); color: var(--fg-muted); }
2687
2687
  /* The field box owns the ring, so focus has to move it -- the inner
2688
- input kills its own outline. Measured on Attio: a focused field's
2688
+ input kills its own outline. Measured live: a focused field's
2689
2689
  input carries box-shadow: none while its wrapper carries
2690
2690
  inset 0 0 0 1px #266df0. */
2691
2691
  & .settingsshell-search:focus-within { box-shadow: inset 0 0 0 1px var(--bg-brand-solid); }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Zag's dialog machine always advertises a description: `getContentProps()`
3
3
  * returns an `aria-describedby` pointing at the id of a description element.
4
- * crisp renders no such element — Attio's modals have a title and a body, no
4
+ * crisp renders no such element — the measured modals have a title and a body, no
5
5
  * description line — so the reference dangles, and a dangling id is not a
6
6
  * relationship a screen reader can follow.
7
7
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * The record tag/chip, measured from Attio: 22px tall, `padding: 0 4px`,
2
+ * The record tag/chip, measured live: 22px tall, `padding: 0 4px`,
3
3
  * `border-radius: ${c.radius.chip}`, 14px/20px at weight 500, and a 1px inset ring in the
4
4
  * tone's colour.
5
5
  *
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Attio's measured elevation recipes, written **once**.
2
+ * The measured elevation recipes, written **once**.
3
3
  *
4
4
  * The whole product runs on two elevation tiers plus one control shadow
5
- * (measured live — see `docs/study/attio-panels.md` §4). Before this module each
5
+ * (measured live — see the panels study §4). Before this module each
6
6
  * surface carried its own copy of the string: the tier-1 stack appeared in 9
7
7
  * places, the control shadow in 12. Copies drift, and every drift was a real
8
8
  * bug — `Drawer`/`RecordPanel` grew invented directional shadows, `BulkBar`'s
@@ -19,14 +19,14 @@ export declare const elevation: {
19
19
  /**
20
20
  * Tier 2 — the modal frosted bezel (Dialog, Command). Sits on the
21
21
  * `bgOverlayFrost` 60% + `blur(15px)` surface at radius 16, wrapping an inner
22
- * card at radius 12. Attio dims nothing behind it; the blur does the work.
22
+ * card at radius 12. Nothing is dimmed behind it; the blur does the work.
23
23
  */
24
24
  readonly modal: `0 8px 28px -6px var(--${string}), 0 18px 88px -4px var(--${string}), 0 0 1px var(--${string})`;
25
25
  /**
26
26
  * The neutral/outlined control shadow — buttons, inputs, textareas, the
27
27
  * sidebar search, record-page actions.
28
28
  *
29
- * The two raw values **are** the measured Attio value (Lessons 22 and 29) and
29
+ * The two raw values **are** the measured value (Lessons 22 and 29) and
30
30
  * must stay raw. `rgba(0,0,0,0.04)` equals `tileActiveShadow`'s light value by
31
31
  * coincidence, not by meaning; tokenizing it would delete a measured layer in
32
32
  * dark mode. Only the ring is theme-aware, via `ringNeutral`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crisp-ui-kit/crisp",
3
- "version": "0.31.4",
3
+ "version": "0.31.6",
4
4
  "description": "A lean React design system, measured pixel-for-pixel from Attio.",
5
5
  "license": "MIT",
6
6
  "type": "module",