@crisp-ui-kit/crisp 0.7.2 → 0.7.4

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 (58) hide show
  1. package/dist/cjs/components/avatar/avatar.recipe.js +0 -7
  2. package/dist/cjs/components/badge/badge.recipe.js +0 -8
  3. package/dist/cjs/components/button/button.recipe.js +0 -10
  4. package/dist/cjs/components/checkbox/checkbox.recipe.js +0 -6
  5. package/dist/cjs/components/datepicker/datepicker.recipe.js +22 -20
  6. package/dist/cjs/components/input/input.recipe.js +0 -1
  7. package/dist/cjs/components/kbd/kbd.recipe.js +0 -7
  8. package/dist/cjs/components/switch/switch.recipe.js +0 -1
  9. package/dist/cjs/components/wheelpicker/wheelpicker.recipe.js +0 -1
  10. package/dist/cjs/product/appshell/appshell.recipe.js +0 -1
  11. package/dist/cjs/product/command/command.recipe.js +0 -6
  12. package/dist/cjs/product/navitem/navitem.recipe.js +0 -8
  13. package/dist/cjs/product/recordpanel/recordpanel.recipe.js +0 -1
  14. package/dist/cjs/product/recordstable/recordstable.recipe.js +12 -8
  15. package/dist/cjs/product/sidebar/sidebar.recipe.js +0 -5
  16. package/dist/cjs/tokens/scale.js +6 -2
  17. package/dist/datepicker.css +17 -17
  18. package/dist/esm/components/avatar/avatar.recipe.js +0 -7
  19. package/dist/esm/components/badge/badge.recipe.js +0 -8
  20. package/dist/esm/components/button/button.recipe.js +0 -10
  21. package/dist/esm/components/checkbox/checkbox.recipe.js +0 -6
  22. package/dist/esm/components/datepicker/datepicker.recipe.js +22 -20
  23. package/dist/esm/components/input/input.recipe.js +0 -1
  24. package/dist/esm/components/kbd/kbd.recipe.js +0 -7
  25. package/dist/esm/components/switch/switch.recipe.js +0 -1
  26. package/dist/esm/components/wheelpicker/wheelpicker.recipe.js +0 -1
  27. package/dist/esm/product/appshell/appshell.recipe.js +0 -1
  28. package/dist/esm/product/command/command.recipe.js +0 -6
  29. package/dist/esm/product/navitem/navitem.recipe.js +0 -8
  30. package/dist/esm/product/recordpanel/recordpanel.recipe.js +0 -1
  31. package/dist/esm/product/recordstable/recordstable.recipe.js +12 -8
  32. package/dist/esm/product/sidebar/sidebar.recipe.js +0 -5
  33. package/dist/esm/tokens/scale.js +6 -2
  34. package/dist/native/tokens.js +2 -2
  35. package/dist/recordstable.css +12 -2
  36. package/dist/styles.css +1648 -1638
  37. package/dist/tokens.css +2 -2
  38. package/dist/tokens.json +2 -2
  39. package/dist/types/components/avatar/avatar.d.ts +0 -7
  40. package/dist/types/components/avatar/avatar.recipe.d.ts +0 -7
  41. package/dist/types/components/badge/badge.d.ts +0 -8
  42. package/dist/types/components/badge/badge.recipe.d.ts +0 -8
  43. package/dist/types/components/button/button.d.ts +0 -10
  44. package/dist/types/components/button/button.recipe.d.ts +0 -10
  45. package/dist/types/components/checkbox/checkbox.recipe.d.ts +0 -6
  46. package/dist/types/components/input/input.d.ts +0 -7
  47. package/dist/types/components/input/input.recipe.d.ts +0 -7
  48. package/dist/types/components/kbd/kbd.recipe.d.ts +0 -7
  49. package/dist/types/components/switch/switch.recipe.d.ts +0 -9
  50. package/dist/types/components/wheelpicker/wheelpicker.recipe.d.ts +0 -6
  51. package/dist/types/product/appshell/appshell.recipe.d.ts +0 -5
  52. package/dist/types/product/command/command.recipe.d.ts +0 -6
  53. package/dist/types/product/navitem/navitem.recipe.d.ts +0 -8
  54. package/dist/types/product/recordpanel/recordpanel.recipe.d.ts +0 -5
  55. package/dist/types/product/recordstable/recordstable.recipe.d.ts +0 -6
  56. package/dist/types/product/sidebar/sidebar.recipe.d.ts +0 -5
  57. package/dist/types/tokens/scale.d.ts +2 -2
  58. package/package.json +2 -1
@@ -87,6 +87,5 @@ const config = defineRecipe({
87
87
  });
88
88
  export const wheelpickerRecipe = Object.assign(resolveRecipe(config), {
89
89
  config,
90
- meta: { medium: { height: "220px", itemHeight: "44px" } },
91
90
  });
92
91
  export default config;
@@ -22,6 +22,5 @@ const config = defineRecipe({
22
22
  });
23
23
  export const appshellRecipe = Object.assign(resolveRecipe(config), {
24
24
  config,
25
- meta: { sidebar: { defaultWidth: "275px" } },
26
25
  });
27
26
  export default config;
@@ -34,11 +34,5 @@ const config = defineRecipe({
34
34
  });
35
35
  export const commandRecipe = Object.assign(resolveRecipe(config), {
36
36
  config,
37
- meta: {
38
- content: {
39
- maxWidth: "720px",
40
- borderRadius: "16px",
41
- },
42
- },
43
37
  });
44
38
  export default config;
@@ -21,13 +21,5 @@ const config = defineRecipe({
21
21
  });
22
22
  export const navitemRecipe = Object.assign(resolveRecipe(config), {
23
23
  config,
24
- meta: {
25
- row: {
26
- height: "28px",
27
- borderRadius: "9px",
28
- fontSize: "14px",
29
- fontWeight: "500",
30
- },
31
- },
32
24
  });
33
25
  export default config;
@@ -43,6 +43,5 @@ const config = defineRecipe({
43
43
  });
44
44
  export const recordpanelRecipe = Object.assign(resolveRecipe(config), {
45
45
  config,
46
- meta: { panel: { width: "420px" } },
47
46
  });
48
47
  export default config;
@@ -94,11 +94,21 @@ ${toolbarChromeBody("recordstable")}
94
94
  & .recordstable-col-check { width: 40px; min-width: 40px; padding: 0; }
95
95
  & .recordstable-check-inner { display: flex; align-items: center; justify-content: center; height: 100%; }
96
96
  & .recordstable-col-check, & .recordstable-col-entity { position: sticky; z-index: 3; background: ${c.bgSurface}; }
97
- & .recordstable-col-check { left: 0; }
98
- & .recordstable-col-entity { left: 40px; clip-path: inset(0 -38px 0 0); transition: box-shadow .2s ease; }
97
+ /* The sticky pin is a LOGICAL offset: with physical \`left\` these columns
98
+ were not pinned at all under RTL -- scrolled, they left the viewport
99
+ entirely (measured: viewport 13..773, check column at x=1333). Nothing in
100
+ JS measures these, so converting them is safe; the two properties below
101
+ that have no logical form get an explicit RTL rule rather than being
102
+ left to point the wrong way. */
103
+ & .recordstable-col-check { inset-inline-start: 0; }
104
+ & .recordstable-col-entity { inset-inline-start: 40px; clip-path: inset(0 -38px 0 0); transition: box-shadow .2s ease; }
105
+ [dir="rtl"] & .recordstable-col-entity { clip-path: inset(0 0 0 -38px); }
99
106
  & thead .recordstable-col-check, & thead .recordstable-col-entity { z-index: 4; }
100
107
  /* soft shadow on the sticky column edge once the grid is scrolled horizontally */
101
108
  & .recordstable-scroll[data-scrolled] .recordstable-col-entity { box-shadow: 6px 0 16px 4px rgba(0,0,0,0.12); }
109
+ /* box-shadow has no logical form either: the bleed follows the scrolled
110
+ content, which is the opposite side under RTL. */
111
+ [dir="rtl"] & .recordstable-scroll[data-scrolled] .recordstable-col-entity { box-shadow: -6px 0 16px 4px rgba(0,0,0,0.12); }
102
112
  /* AI-enriched values carry a purple wash. Measured from Attio:
103
113
  a full-bleed overlay at #9b69ff 4% (== bgPurple), composited OVER
104
114
  whatever row-state background the cell already has, which is why it
@@ -139,11 +149,5 @@ ${toolbarChromeBody("recordstable")}
139
149
  });
140
150
  export const recordstableRecipe = Object.assign(resolveRecipe(config), {
141
151
  config,
142
- meta: {
143
- row: {
144
- height: "36px",
145
- gridLine: "1px",
146
- },
147
- },
148
152
  });
149
153
  export default config;
@@ -34,10 +34,5 @@ const config = defineRecipe({
34
34
  });
35
35
  export const sidebarRecipe = Object.assign(resolveRecipe(config), {
36
36
  config,
37
- meta: {
38
- container: {
39
- width: "275px",
40
- },
41
- },
42
37
  });
43
38
  export default config;
@@ -43,8 +43,12 @@ export const size = {
43
43
  tableRow: "36px", // data-grid row height
44
44
  tableHeader: "40px", // data-grid header row height
45
45
  header: "48px", // workspace-switcher header height
46
- calendarCell: "48px", // calendar day cell / header rhythm (seed x12)
47
- calendarPill: "42px", // round day highlight inside a calendar cell
46
+ // Attio's date picker, measured: a 32px day with a 2px gap on both axes, so
47
+ // the pitch is 34. The gap is expressed as the cell being 2px taller than the
48
+ // highlight rather than as a grid gap, because crisp's range bridge spans
49
+ // whole cells and a column gap would cut it.
50
+ calendarCell: "34px", // calendar day pitch (32px day + 2px gap)
51
+ calendarPill: "32px", // the day highlight itself
48
52
  };
49
53
  // Typography — Attio's UI runs entirely on Inter. Sizes measured in the sidebar
50
54
  // collapse onto 11/12/13/14/16 (lg = 14px is the default body/label size);
@@ -198,8 +198,8 @@ export const tokens = {
198
198
  "tableRow": 36,
199
199
  "tableHeader": 40,
200
200
  "header": 48,
201
- "calendarCell": 48,
202
- "calendarPill": 42
201
+ "calendarCell": 34,
202
+ "calendarPill": 32
203
203
  },
204
204
  "text": {
205
205
  "xs": 11,
@@ -149,11 +149,21 @@
149
149
  & .recordstable-col-check { width: 40px; min-width: 40px; padding: 0; }
150
150
  & .recordstable-check-inner { display: flex; align-items: center; justify-content: center; height: 100%; }
151
151
  & .recordstable-col-check, & .recordstable-col-entity { position: sticky; z-index: 3; background: var(--bg-surface); }
152
- & .recordstable-col-check { left: 0; }
153
- & .recordstable-col-entity { left: 40px; clip-path: inset(0 -38px 0 0); transition: box-shadow .2s ease; }
152
+ /* The sticky pin is a LOGICAL offset: with physical `left` these columns
153
+ were not pinned at all under RTL -- scrolled, they left the viewport
154
+ entirely (measured: viewport 13..773, check column at x=1333). Nothing in
155
+ JS measures these, so converting them is safe; the two properties below
156
+ that have no logical form get an explicit RTL rule rather than being
157
+ left to point the wrong way. */
158
+ & .recordstable-col-check { inset-inline-start: 0; }
159
+ & .recordstable-col-entity { inset-inline-start: 40px; clip-path: inset(0 -38px 0 0); transition: box-shadow .2s ease; }
160
+ [dir="rtl"] & .recordstable-col-entity { clip-path: inset(0 0 0 -38px); }
154
161
  & thead .recordstable-col-check, & thead .recordstable-col-entity { z-index: 4; }
155
162
  /* soft shadow on the sticky column edge once the grid is scrolled horizontally */
156
163
  & .recordstable-scroll[data-scrolled] .recordstable-col-entity { box-shadow: 6px 0 16px 4px rgba(0,0,0,0.12); }
164
+ /* box-shadow has no logical form either: the bleed follows the scrolled
165
+ content, which is the opposite side under RTL. */
166
+ [dir="rtl"] & .recordstable-scroll[data-scrolled] .recordstable-col-entity { box-shadow: -6px 0 16px 4px rgba(0,0,0,0.12); }
157
167
  /* AI-enriched values carry a purple wash. Measured from Attio:
158
168
  a full-bleed overlay at #9b69ff 4% (== bgPurple), composited OVER
159
169
  whatever row-state background the cell already has, which is why it