@crisp-ui-kit/crisp 0.57.1 → 0.57.3

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 (277) hide show
  1. package/dist/authshell.css +9 -4
  2. package/dist/authshell.layered.css +9 -4
  3. package/dist/badge.css +3 -3
  4. package/dist/badge.layered.css +3 -3
  5. package/dist/board.css +28 -8
  6. package/dist/board.layered.css +28 -8
  7. package/dist/bottomsheet.css +26 -0
  8. package/dist/bottomsheet.d.ts +7 -0
  9. package/dist/bottomsheet.layered.css +28 -0
  10. package/dist/button.css +10 -6
  11. package/dist/button.d.ts +2 -2
  12. package/dist/button.layered.css +10 -6
  13. package/dist/checkbox.css +7 -3
  14. package/dist/checkbox.layered.css +7 -3
  15. package/dist/chip.css +16 -1
  16. package/dist/chip.d.ts +3 -1
  17. package/dist/chip.layered.css +16 -1
  18. package/dist/chipgroup.css +5 -0
  19. package/dist/chipgroup.d.ts +7 -0
  20. package/dist/chipgroup.layered.css +7 -0
  21. package/dist/cjs/components/badge/badge.recipe.js +22 -8
  22. package/dist/cjs/components/bottomsheet/bottomsheet.js +90 -0
  23. package/dist/cjs/components/bottomsheet/bottomsheet.recipe.js +77 -0
  24. package/dist/cjs/components/bottomsheet/index.js +9 -0
  25. package/dist/cjs/components/breadcrumb/breadcrumb.js +1 -1
  26. package/dist/cjs/components/button/button.recipe.js +67 -15
  27. package/dist/cjs/components/checkbox/checkbox.recipe.js +61 -9
  28. package/dist/cjs/components/chip/chip.js +14 -2
  29. package/dist/cjs/components/chip/chip.recipe.js +72 -2
  30. package/dist/cjs/components/chipgroup/chipgroup.js +51 -0
  31. package/dist/cjs/components/chipgroup/chipgroup.recipe.js +36 -0
  32. package/dist/cjs/components/chipgroup/index.js +7 -0
  33. package/dist/cjs/components/datatable/datatable.js +5 -1
  34. package/dist/cjs/components/datatable/datatable.recipe.js +21 -6
  35. package/dist/cjs/components/datepickerfield/datepickerfield.js +2 -2
  36. package/dist/cjs/components/datepickerfield/datepickerfield.recipe.js +16 -3
  37. package/dist/cjs/components/dialog/dialog.recipe.js +21 -10
  38. package/dist/cjs/components/emptystate/emptystate.recipe.js +7 -2
  39. package/dist/cjs/components/fileupload/fileupload.js +21 -4
  40. package/dist/cjs/components/input/index.js +2 -1
  41. package/dist/cjs/components/input/input.js +31 -1
  42. package/dist/cjs/components/input/input.recipe.js +16 -9
  43. package/dist/cjs/components/menu/menu.js +18 -2
  44. package/dist/cjs/components/menu/menu.recipe.js +21 -7
  45. package/dist/cjs/components/menusheet/index.js +9 -0
  46. package/dist/cjs/components/menusheet/menusheet.js +133 -0
  47. package/dist/cjs/components/menusheet/menusheet.recipe.js +103 -0
  48. package/dist/cjs/components/multiselect/multiselect.js +1 -1
  49. package/dist/cjs/components/multiselect/multiselect.recipe.js +33 -9
  50. package/dist/cjs/components/select/select.js +1 -1
  51. package/dist/cjs/components/select/select.recipe.js +38 -12
  52. package/dist/cjs/components/snackbar/index.js +8 -0
  53. package/dist/cjs/components/snackbar/snackbar.js +121 -0
  54. package/dist/cjs/components/snackbar/snackbar.recipe.js +71 -0
  55. package/dist/cjs/components/table/table.recipe.js +7 -1
  56. package/dist/cjs/components/tabletoolbar/tabletoolbar.chrome.js +7 -2
  57. package/dist/cjs/components/tabletoolbar/tabletoolbar.js +37 -12
  58. package/dist/cjs/components/tabs/tabs.js +10 -4
  59. package/dist/cjs/components/tabs/tabs.recipe.js +23 -6
  60. package/dist/cjs/components/textarea/textarea.recipe.js +11 -8
  61. package/dist/cjs/core/floating-portal.js +7 -4
  62. package/dist/cjs/index.js +7 -0
  63. package/dist/cjs/product/authshell/authshell.recipe.js +5 -1
  64. package/dist/cjs/product/command/command.recipe.js +4 -1
  65. package/dist/cjs/product/comments/comments.js +7 -2
  66. package/dist/cjs/product/comments/comments.recipe.js +25 -7
  67. package/dist/cjs/product/inbox/inbox.js +11 -3
  68. package/dist/cjs/product/memberssettings/index.js +6 -0
  69. package/dist/cjs/product/memberssettings/memberssettings.js +99 -0
  70. package/dist/cjs/product/memberssettings/memberssettings.recipe.js +83 -0
  71. package/dist/cjs/product/notificationssettings/index.js +5 -0
  72. package/dist/cjs/product/notificationssettings/notificationssettings.js +19 -0
  73. package/dist/cjs/product/notificationssettings/notificationssettings.recipe.js +44 -0
  74. package/dist/cjs/product/recordpage/index.js +2 -1
  75. package/dist/cjs/product/recordpage/recordpage.js +106 -9
  76. package/dist/cjs/product/recordpage/recordpage.recipe.js +68 -6
  77. package/dist/cjs/product/workspacegeneralsettings/index.js +5 -0
  78. package/dist/cjs/product/workspacegeneralsettings/workspacegeneralsettings.js +21 -0
  79. package/dist/cjs/product/workspacegeneralsettings/workspacegeneralsettings.recipe.js +51 -0
  80. package/dist/cjs/tokens/contract.js +1 -0
  81. package/dist/cjs/tokens/elevation.js +8 -5
  82. package/dist/cjs/tokens/palette.js +28 -8
  83. package/dist/cjs/tokens/scale.js +44 -2
  84. package/dist/cjs/tokens/semantic.js +2 -0
  85. package/dist/columncalc.css +15 -7
  86. package/dist/columncalc.layered.css +15 -7
  87. package/dist/command.css +23 -19
  88. package/dist/command.layered.css +23 -19
  89. package/dist/comments.css +28 -19
  90. package/dist/comments.d.ts +2 -2
  91. package/dist/comments.layered.css +28 -19
  92. package/dist/datatable.css +171 -71
  93. package/dist/datatable.layered.css +171 -71
  94. package/dist/datepicker.css +13 -41
  95. package/dist/datepicker.layered.css +13 -41
  96. package/dist/datepickerfield.css +12 -3
  97. package/dist/datepickerfield.d.ts +2 -2
  98. package/dist/datepickerfield.layered.css +12 -3
  99. package/dist/dialog.css +12 -7
  100. package/dist/dialog.layered.css +12 -7
  101. package/dist/emptystate.css +5 -3
  102. package/dist/emptystate.layered.css +5 -3
  103. package/dist/esm/components/badge/badge.recipe.js +22 -8
  104. package/dist/esm/components/bottomsheet/bottomsheet.js +52 -0
  105. package/dist/esm/components/bottomsheet/bottomsheet.recipe.js +74 -0
  106. package/dist/esm/components/bottomsheet/index.js +2 -0
  107. package/dist/esm/components/breadcrumb/breadcrumb.js +1 -1
  108. package/dist/esm/components/button/button.recipe.js +68 -16
  109. package/dist/esm/components/checkbox/checkbox.recipe.js +61 -9
  110. package/dist/esm/components/chip/chip.js +14 -2
  111. package/dist/esm/components/chip/chip.recipe.js +72 -2
  112. package/dist/esm/components/chipgroup/chipgroup.js +15 -0
  113. package/dist/esm/components/chipgroup/chipgroup.recipe.js +33 -0
  114. package/dist/esm/components/chipgroup/index.js +2 -0
  115. package/dist/esm/components/datatable/datatable.js +5 -1
  116. package/dist/esm/components/datatable/datatable.recipe.js +21 -6
  117. package/dist/esm/components/datepickerfield/datepickerfield.js +2 -2
  118. package/dist/esm/components/datepickerfield/datepickerfield.recipe.js +16 -3
  119. package/dist/esm/components/dialog/dialog.recipe.js +22 -11
  120. package/dist/esm/components/emptystate/emptystate.recipe.js +7 -2
  121. package/dist/esm/components/fileupload/fileupload.js +20 -5
  122. package/dist/esm/components/input/index.js +1 -1
  123. package/dist/esm/components/input/input.js +30 -0
  124. package/dist/esm/components/input/input.recipe.js +17 -10
  125. package/dist/esm/components/menu/menu.js +18 -2
  126. package/dist/esm/components/menu/menu.recipe.js +21 -7
  127. package/dist/esm/components/menusheet/index.js +2 -0
  128. package/dist/esm/components/menusheet/menusheet.js +95 -0
  129. package/dist/esm/components/menusheet/menusheet.recipe.js +100 -0
  130. package/dist/esm/components/multiselect/multiselect.js +1 -1
  131. package/dist/esm/components/multiselect/multiselect.recipe.js +33 -9
  132. package/dist/esm/components/select/select.js +1 -1
  133. package/dist/esm/components/select/select.recipe.js +38 -12
  134. package/dist/esm/components/snackbar/index.js +2 -0
  135. package/dist/esm/components/snackbar/snackbar.js +84 -0
  136. package/dist/esm/components/snackbar/snackbar.recipe.js +68 -0
  137. package/dist/esm/components/table/table.recipe.js +7 -1
  138. package/dist/esm/components/tabletoolbar/tabletoolbar.chrome.js +7 -2
  139. package/dist/esm/components/tabletoolbar/tabletoolbar.js +37 -12
  140. package/dist/esm/components/tabs/tabs.js +10 -4
  141. package/dist/esm/components/tabs/tabs.recipe.js +23 -6
  142. package/dist/esm/components/textarea/textarea.recipe.js +12 -9
  143. package/dist/esm/core/floating-portal.js +7 -4
  144. package/dist/esm/index.js +7 -0
  145. package/dist/esm/product/authshell/authshell.recipe.js +5 -1
  146. package/dist/esm/product/command/command.recipe.js +4 -1
  147. package/dist/esm/product/comments/comments.js +7 -2
  148. package/dist/esm/product/comments/comments.recipe.js +25 -7
  149. package/dist/esm/product/inbox/inbox.js +11 -3
  150. package/dist/esm/product/memberssettings/index.js +1 -0
  151. package/dist/esm/product/memberssettings/memberssettings.js +62 -0
  152. package/dist/esm/product/memberssettings/memberssettings.recipe.js +80 -0
  153. package/dist/esm/product/notificationssettings/index.js +1 -0
  154. package/dist/esm/product/notificationssettings/notificationssettings.js +16 -0
  155. package/dist/esm/product/notificationssettings/notificationssettings.recipe.js +41 -0
  156. package/dist/esm/product/recordpage/index.js +1 -1
  157. package/dist/esm/product/recordpage/recordpage.js +106 -10
  158. package/dist/esm/product/recordpage/recordpage.recipe.js +68 -6
  159. package/dist/esm/product/workspacegeneralsettings/index.js +1 -0
  160. package/dist/esm/product/workspacegeneralsettings/workspacegeneralsettings.js +18 -0
  161. package/dist/esm/product/workspacegeneralsettings/workspacegeneralsettings.recipe.js +48 -0
  162. package/dist/esm/tokens/contract.js +2 -1
  163. package/dist/esm/tokens/elevation.js +8 -5
  164. package/dist/esm/tokens/palette.js +28 -8
  165. package/dist/esm/tokens/scale.js +43 -1
  166. package/dist/esm/tokens/semantic.js +2 -0
  167. package/dist/fileupload.css +3 -1
  168. package/dist/fileupload.layered.css +3 -1
  169. package/dist/input.css +6 -4
  170. package/dist/input.layered.css +6 -4
  171. package/dist/listpage.css +3 -1
  172. package/dist/listpage.layered.css +3 -1
  173. package/dist/memberssettings.css +67 -0
  174. package/dist/memberssettings.d.ts +7 -0
  175. package/dist/memberssettings.layered.css +69 -0
  176. package/dist/menu.css +2 -2
  177. package/dist/menu.layered.css +2 -2
  178. package/dist/menusheet.css +36 -0
  179. package/dist/menusheet.d.ts +7 -0
  180. package/dist/menusheet.layered.css +38 -0
  181. package/dist/multiselect.css +13 -6
  182. package/dist/multiselect.layered.css +13 -6
  183. package/dist/native/tokens.d.ts +2 -1
  184. package/dist/native/tokens.js +20 -3
  185. package/dist/notificationssettings.css +22 -0
  186. package/dist/notificationssettings.d.ts +7 -0
  187. package/dist/notificationssettings.layered.css +24 -0
  188. package/dist/objectsettings.css +4 -4
  189. package/dist/objectsettings.layered.css +4 -4
  190. package/dist/recordpage.css +90 -23
  191. package/dist/recordpage.layered.css +90 -23
  192. package/dist/recordpanel.css +35 -16
  193. package/dist/recordpanel.layered.css +35 -16
  194. package/dist/resizablepanel.css +8 -5
  195. package/dist/resizablepanel.layered.css +8 -5
  196. package/dist/richtext.css +24 -8
  197. package/dist/richtext.layered.css +24 -8
  198. package/dist/savedviews.css +9 -2
  199. package/dist/savedviews.layered.css +9 -2
  200. package/dist/select.css +25 -5
  201. package/dist/select.layered.css +25 -5
  202. package/dist/settingsshell.css +2 -3
  203. package/dist/settingsshell.layered.css +2 -3
  204. package/dist/slider.css +6 -27
  205. package/dist/slider.layered.css +6 -27
  206. package/dist/snackbar.css +24 -0
  207. package/dist/snackbar.d.ts +7 -0
  208. package/dist/snackbar.layered.css +26 -0
  209. package/dist/statcard.css +3 -1
  210. package/dist/statcard.layered.css +3 -1
  211. package/dist/styles.css +911 -354
  212. package/dist/styles.layered.css +911 -354
  213. package/dist/table.css +35 -12
  214. package/dist/table.layered.css +35 -12
  215. package/dist/tabletoolbar.css +35 -24
  216. package/dist/tabletoolbar.layered.css +35 -24
  217. package/dist/tabs.css +18 -4
  218. package/dist/tabs.layered.css +18 -4
  219. package/dist/textarea.css +2 -6
  220. package/dist/textarea.layered.css +2 -6
  221. package/dist/themepicker.css +2 -1
  222. package/dist/themepicker.layered.css +2 -1
  223. package/dist/tokens.css +13 -2
  224. package/dist/tokens.json +20 -3
  225. package/dist/types/components/bottomsheet/bottomsheet.d.ts +35 -0
  226. package/dist/types/components/bottomsheet/bottomsheet.recipe.d.ts +3 -0
  227. package/dist/types/components/bottomsheet/index.d.ts +2 -0
  228. package/dist/types/components/breadcrumb/breadcrumb.d.ts +9 -1
  229. package/dist/types/components/button/button.d.ts +2 -0
  230. package/dist/types/components/button/button.recipe.d.ts +24 -6
  231. package/dist/types/components/checkbox/checkbox.recipe.d.ts +28 -5
  232. package/dist/types/components/chip/chip.d.ts +22 -0
  233. package/dist/types/components/chip/chip.recipe.d.ts +49 -1
  234. package/dist/types/components/chipgroup/chipgroup.d.ts +14 -0
  235. package/dist/types/components/chipgroup/chipgroup.recipe.d.ts +5 -0
  236. package/dist/types/components/chipgroup/index.d.ts +2 -0
  237. package/dist/types/components/datatable/datatable.d.ts +19 -0
  238. package/dist/types/components/datepickerfield/datepickerfield.d.ts +4 -1
  239. package/dist/types/components/datepickerfield/datepickerfield.recipe.d.ts +18 -3
  240. package/dist/types/components/fileupload/fileupload.d.ts +26 -0
  241. package/dist/types/components/input/index.d.ts +1 -1
  242. package/dist/types/components/input/input.d.ts +72 -0
  243. package/dist/types/components/menusheet/index.d.ts +2 -0
  244. package/dist/types/components/menusheet/menusheet.d.ts +42 -0
  245. package/dist/types/components/menusheet/menusheet.recipe.d.ts +3 -0
  246. package/dist/types/components/snackbar/index.d.ts +2 -0
  247. package/dist/types/components/snackbar/snackbar.d.ts +36 -0
  248. package/dist/types/components/snackbar/snackbar.recipe.d.ts +5 -0
  249. package/dist/types/components/tabletoolbar/tabletoolbar.d.ts +28 -1
  250. package/dist/types/components/tabs/tabs.d.ts +11 -1
  251. package/dist/types/core/floating-portal.d.ts +6 -5
  252. package/dist/types/index.d.ts +7 -0
  253. package/dist/types/product/comments/comments.d.ts +9 -3
  254. package/dist/types/product/comments/comments.recipe.d.ts +12 -2
  255. package/dist/types/product/inbox/inbox.d.ts +13 -1
  256. package/dist/types/product/memberssettings/index.d.ts +1 -0
  257. package/dist/types/product/memberssettings/memberssettings.d.ts +85 -0
  258. package/dist/types/product/memberssettings/memberssettings.recipe.d.ts +3 -0
  259. package/dist/types/product/notificationssettings/index.d.ts +1 -0
  260. package/dist/types/product/notificationssettings/notificationssettings.d.ts +37 -0
  261. package/dist/types/product/notificationssettings/notificationssettings.recipe.d.ts +3 -0
  262. package/dist/types/product/recordpage/index.d.ts +1 -1
  263. package/dist/types/product/recordpage/recordpage.d.ts +99 -2
  264. package/dist/types/product/workspacegeneralsettings/index.d.ts +1 -0
  265. package/dist/types/product/workspacegeneralsettings/workspacegeneralsettings.d.ts +48 -0
  266. package/dist/types/product/workspacegeneralsettings/workspacegeneralsettings.recipe.d.ts +3 -0
  267. package/dist/types/tokens/contract.d.ts +4 -1
  268. package/dist/types/tokens/elevation.d.ts +8 -5
  269. package/dist/types/tokens/palette.d.ts +9 -1
  270. package/dist/types/tokens/scale.d.ts +11 -1
  271. package/dist/types/tokens/semantic.d.ts +2 -0
  272. package/dist/wheelpicker.css +4 -2
  273. package/dist/wheelpicker.layered.css +4 -2
  274. package/dist/workspacegeneralsettings.css +30 -0
  275. package/dist/workspacegeneralsettings.d.ts +7 -0
  276. package/dist/workspacegeneralsettings.layered.css +32 -0
  277. package/package.json +36 -1
@@ -0,0 +1,48 @@
1
+ import type * as React from "react";
2
+ export type WorkspaceExportRow = {
3
+ id: string;
4
+ type: React.ReactNode;
5
+ date: React.ReactNode;
6
+ };
7
+ export type WorkspaceGeneralSettingsProps = Omit<React.ComponentPropsWithoutRef<"div">, "title"> & {
8
+ logoSrc?: string;
9
+ /** Shown in the logo tile when `logoSrc` is unset — the workspace's own initial. */
10
+ workspaceInitial: string;
11
+ onUploadLogo?: () => void;
12
+ name: string;
13
+ onNameChange: (value: string) => void;
14
+ slug: string;
15
+ onCopySlug?: () => void;
16
+ exports: WorkspaceExportRow[];
17
+ onStartExport?: () => void;
18
+ onDeleteWorkspace?: () => void;
19
+ /** Chrome strings, each overridable for non-English UIs. */
20
+ title?: string;
21
+ description?: string;
22
+ learnMoreLabel?: string;
23
+ learnMoreHref?: string;
24
+ logoHelpText?: string;
25
+ uploadLogoLabel?: string;
26
+ nameFieldLabel?: string;
27
+ slugFieldLabel?: string;
28
+ copySlugLabel?: string;
29
+ exportSectionTitle?: string;
30
+ exportSectionDescription?: string;
31
+ startExportLabel?: string;
32
+ typeColumnLabel?: string;
33
+ dateColumnLabel?: string;
34
+ noExportsLabel?: string;
35
+ dangerSectionTitle?: string;
36
+ deleteWorkspaceTitle?: string;
37
+ deleteWorkspaceWarning?: string;
38
+ deleteWorkspaceLabel?: string;
39
+ };
40
+ /**
41
+ * Attio's Settings → Workspace → General page (crisp#638, P-128), measured
42
+ * live: a logo + Name/Slug section, an "Export workspace data" table, and a
43
+ * "Danger zone" delete-workspace row.
44
+ */
45
+ export declare function WorkspaceGeneralSettings({ logoSrc, workspaceInitial, onUploadLogo, name, onNameChange, slug, onCopySlug, exports: exportRows, onStartExport, onDeleteWorkspace, className, title, description, learnMoreLabel, learnMoreHref, logoHelpText, uploadLogoLabel, nameFieldLabel, slugFieldLabel, copySlugLabel, exportSectionTitle, exportSectionDescription, startExportLabel, typeColumnLabel, dateColumnLabel, noExportsLabel, dangerSectionTitle, deleteWorkspaceTitle, deleteWorkspaceWarning, deleteWorkspaceLabel, ...rest }: WorkspaceGeneralSettingsProps): React.JSX.Element;
46
+ export declare namespace WorkspaceGeneralSettings {
47
+ var displayName: string;
48
+ }
@@ -0,0 +1,3 @@
1
+ declare const config: import("../..").RecipeConfig<{}>;
2
+ export declare const workspacegeneralsettingsRecipe: import("../..").RecipeFn<{}>;
3
+ export default config;
@@ -20,6 +20,8 @@ export declare const contract: MapLeafNodes<{
20
20
  bgTileActive: "tileActive";
21
21
  shadowTileActive: "tileActiveShadow";
22
22
  bgScrim: "bgScrim";
23
+ bgOverlayStrong: "bgOverlayStrong";
24
+ strokeGroupDivider: "strokeGroupDivider";
23
25
  fgAlertDescription: "fgAlertDescription";
24
26
  bgOverlayFrost: "overlayFrost";
25
27
  shadowOverlay1: "shadowOverlay1";
@@ -71,9 +73,10 @@ export declare const contract: MapLeafNodes<{
71
73
  shadowSelect: "selectShadow";
72
74
  }, `var(--${string})`> & {
73
75
  space: Record<"0.5" | "1" | "1.5" | "2" | "2.5" | "3" | "3.5" | "4" | "5" | "6" | "8" | "px", `var(--${string})`>;
74
- radius: Record<"2xl" | "3xl" | "chip" | "full" | "lg" | "md" | "sm" | "xl" | "xs", `var(--${string})`>;
76
+ radius: Record<"2xl" | "3xl" | "4xl" | "chip" | "full" | "lg" | "md" | "sm" | "xl" | "xs", `var(--${string})`>;
75
77
  size: Record<"calendarCell" | "calendarPill" | "chip" | "header" | "icon" | "menuRow" | "row" | "selectIconLg" | "selectTriggerLg" | "selectTriggerMd" | "tableHeader" | "tableRow", `var(--${string})`>;
76
78
  font: Record<"sans", `var(--${string})`>;
77
79
  text: Record<"lg" | "md" | "sm" | "xl" | "xs", `var(--${string})`>;
78
80
  weight: Record<"bold" | "medium" | "regular" | "semibold", `var(--${string})`>;
81
+ tracking: Record<"18" | "20" | "24" | "26" | "28" | "32", `var(--${string})`>;
79
82
  };
@@ -11,9 +11,11 @@
11
11
  */
12
12
  export declare const elevation: {
13
13
  /**
14
- * Tier 1 — anything floating and *attached*: menus, popovers, dropdowns,
14
+ * Tier 1 — anything floating and *attached*: popovers, dropdowns,
15
15
  * hover-preview cards, the floating sidebar, the record peek, drawers, the
16
16
  * bulk bar. Pairs with a 10–12px radius and, for panels, an 8px gutter.
17
+ * NOT `Menu` (your-moon/crisp#934) -- that moved to
18
+ * `selectFloating`, seed-design's own flat shadow, below.
17
19
  */
18
20
  readonly floating: `inset 0 0 0 1px var(--${string}), 0 0 0 1px var(--${string}), 0 4px 8px -4px var(--${string}), 0 4px 12px -2px var(--${string})`;
19
21
  /**
@@ -56,10 +58,11 @@ export declare const elevation: {
56
58
  */
57
59
  readonly fieldNoRing: `0 0 2px rgba(28,40,64,0.18), 0 1px 3px rgba(0,0,0,0.04)`;
58
60
  /**
59
- * Select's own listbox shadow (crisp/#867) — seed-design's `$shadow.s3`, a
60
- * single layer, NOT `floating` above. This component follows seed, not
61
- * Attio, for the same reason `DatePicker` follows seed's calendar
62
- * structure: an explicit owner request to match seed-design exactly.
61
+ * Seed-design's own `$shadow.s3`, a single flat layer, NOT `floating`
62
+ * above. Originally Select's own listbox shadow (crisp/#867); also `Menu`'s
63
+ * (your-moon/crisp#934) -- the raw seed dump confirms Menu
64
+ * is the one component seed's own spec gives a shadow to at all, and it's
65
+ * this exact value. Despite the name, not exclusive to Select.
63
66
  */
64
67
  readonly selectFloating: `0 4px 16px var(--${string})`;
65
68
  };
@@ -60,9 +60,17 @@ export declare const palette: {
60
60
  readonly dark: "rgba(0,0,0,0)";
61
61
  };
62
62
  readonly bgScrim: {
63
- readonly light: "rgba(0,0,0,0.25)";
63
+ readonly light: "rgba(0,0,0,0.45)";
64
64
  readonly dark: "rgba(0,0,0,0.55)";
65
65
  };
66
+ readonly bgOverlayStrong: {
67
+ readonly light: "#00000074";
68
+ readonly dark: "#00000074";
69
+ };
70
+ readonly strokeGroupDivider: {
71
+ readonly light: "#00000010";
72
+ readonly dark: "#ffffff17";
73
+ };
66
74
  readonly fgAlertDescription: {
67
75
  readonly light: "rgba(0,0,0,0.63)";
68
76
  readonly dark: "rgba(255,255,255,0.6)";
@@ -14,13 +14,14 @@ export declare const space: {
14
14
  };
15
15
  export declare const radius: {
16
16
  readonly xs: "4px";
17
- readonly chip: "7px";
17
+ readonly chip: "999px";
18
18
  readonly sm: "6px";
19
19
  readonly md: "8px";
20
20
  readonly lg: "9px";
21
21
  readonly xl: "12px";
22
22
  readonly "2xl": "16px";
23
23
  readonly "3xl": "20px";
24
+ readonly "4xl": "24px";
24
25
  readonly full: "999px";
25
26
  };
26
27
  export declare const size: {
@@ -53,9 +54,18 @@ export declare const weight: {
53
54
  readonly semibold: "600";
54
55
  readonly bold: "700";
55
56
  };
57
+ export declare const tracking: {
58
+ readonly "18": "-0.36px";
59
+ readonly "20": "-0.4px";
60
+ readonly "24": "-0.48px";
61
+ readonly "26": "-0.52px";
62
+ readonly "28": "-0.56px";
63
+ readonly "32": "-0.64px";
64
+ };
56
65
  export type SpaceKey = keyof typeof space;
57
66
  export type RadiusKey = keyof typeof radius;
58
67
  export type SizeKey = keyof typeof size;
59
68
  export type FontKey = keyof typeof font;
60
69
  export type TextKey = keyof typeof text;
61
70
  export type WeightKey = keyof typeof weight;
71
+ export type TrackingKey = keyof typeof tracking;
@@ -35,6 +35,8 @@ export declare const semantic: {
35
35
  bgTileActive: "tileActive";
36
36
  shadowTileActive: "tileActiveShadow";
37
37
  bgScrim: "bgScrim";
38
+ bgOverlayStrong: "bgOverlayStrong";
39
+ strokeGroupDivider: "strokeGroupDivider";
38
40
  fgAlertDescription: "fgAlertDescription";
39
41
  bgOverlayFrost: "overlayFrost";
40
42
  shadowOverlay1: "shadowOverlay1";
@@ -1,14 +1,16 @@
1
1
  .crisp-wheelpicker {
2
2
  position: relative; box-sizing: border-box; width: 100%; overflow: hidden; background: var(--crisp-bg-surface); font-family: var(--crisp-font-sans); /* the band the selected row sits in; behind the items, never hit-tested */
3
3
  & .crisp-wheelpicker-indicator { position: absolute; z-index: 0; inset-inline: var(--crisp-space-4); top: 50%; transform: translateY(-50%); border-radius: var(--crisp-radius-md); background: var(--crisp-bg-neutral-weak); pointer-events: none; }
4
- /* fades the rows furthest from the centre, so the column reads as a wheel rather than a list. 40% of the viewport, capped, top and bottom. */
4
+ /* fades the rows furthest from the centre, so the column reads as a wheel
5
+ rather than a list. 40% of the viewport, capped, top and bottom. */
5
6
  & .crisp-wheelpicker-fog { position: relative; z-index: 1; height: 100%; overflow: hidden; mask-image: linear-gradient( to bottom, transparent 0, #000 var(--crisp-wheelpicker-fog), #000 calc(100% - var(--crisp-wheelpicker-fog)), transparent 100% ); }
6
7
  & .crisp-wheelpicker-columns { display: flex; width: 100%; height: 100%; justify-content: center; }
7
8
  & .crisp-wheelpicker-column { box-sizing: border-box; flex: 0 0 auto; width: max-content; height: 100%; overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: contain; overscroll-behavior-x: none; scroll-snap-type: y mandatory; touch-action: pan-y; scrollbar-width: none; -ms-overflow-style: none; outline: none; padding-block: var(--crisp-wheelpicker-offset); }
8
9
  & .crisp-wheelpicker-column::-webkit-scrollbar { display: none; }
9
10
  & .crisp-wheelpicker-item { display: flex; align-items: center; justify-content: center; scroll-snap-align: center; user-select: none; white-space: nowrap; padding-inline: var(--crisp-space-4); color: var(--crisp-fg-disabled); background: none; border: none; font: inherit; cursor: pointer; }
10
11
  & .crisp-wheelpicker-item[data-selected] { color: var(--crisp-fg-primary); }
11
- /* the ring is drawn on the SELECTED row, and only for keyboard focus: a pointer user has just tapped the row they meant and does not need it */
12
+ /* the ring is drawn on the SELECTED row, and only for keyboard focus:
13
+ a pointer user has just tapped the row they meant and does not need it */
12
14
  & .crisp-wheelpicker-column:focus-visible .crisp-wheelpicker-item[data-selected] { outline: 2px solid var(--crisp-stroke-focus-ring); outline-offset: -2px; border-radius: var(--crisp-radius-md); }
13
15
  }
14
16
  .crisp-wheelpicker--size_small {
@@ -2,14 +2,16 @@
2
2
  .crisp-wheelpicker {
3
3
  position: relative; box-sizing: border-box; width: 100%; overflow: hidden; background: var(--crisp-bg-surface); font-family: var(--crisp-font-sans); /* the band the selected row sits in; behind the items, never hit-tested */
4
4
  & .crisp-wheelpicker-indicator { position: absolute; z-index: 0; inset-inline: var(--crisp-space-4); top: 50%; transform: translateY(-50%); border-radius: var(--crisp-radius-md); background: var(--crisp-bg-neutral-weak); pointer-events: none; }
5
- /* fades the rows furthest from the centre, so the column reads as a wheel rather than a list. 40% of the viewport, capped, top and bottom. */
5
+ /* fades the rows furthest from the centre, so the column reads as a wheel
6
+ rather than a list. 40% of the viewport, capped, top and bottom. */
6
7
  & .crisp-wheelpicker-fog { position: relative; z-index: 1; height: 100%; overflow: hidden; mask-image: linear-gradient( to bottom, transparent 0, #000 var(--crisp-wheelpicker-fog), #000 calc(100% - var(--crisp-wheelpicker-fog)), transparent 100% ); }
7
8
  & .crisp-wheelpicker-columns { display: flex; width: 100%; height: 100%; justify-content: center; }
8
9
  & .crisp-wheelpicker-column { box-sizing: border-box; flex: 0 0 auto; width: max-content; height: 100%; overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: contain; overscroll-behavior-x: none; scroll-snap-type: y mandatory; touch-action: pan-y; scrollbar-width: none; -ms-overflow-style: none; outline: none; padding-block: var(--crisp-wheelpicker-offset); }
9
10
  & .crisp-wheelpicker-column::-webkit-scrollbar { display: none; }
10
11
  & .crisp-wheelpicker-item { display: flex; align-items: center; justify-content: center; scroll-snap-align: center; user-select: none; white-space: nowrap; padding-inline: var(--crisp-space-4); color: var(--crisp-fg-disabled); background: none; border: none; font: inherit; cursor: pointer; }
11
12
  & .crisp-wheelpicker-item[data-selected] { color: var(--crisp-fg-primary); }
12
- /* the ring is drawn on the SELECTED row, and only for keyboard focus: a pointer user has just tapped the row they meant and does not need it */
13
+ /* the ring is drawn on the SELECTED row, and only for keyboard focus:
14
+ a pointer user has just tapped the row they meant and does not need it */
13
15
  & .crisp-wheelpicker-column:focus-visible .crisp-wheelpicker-item[data-selected] { outline: 2px solid var(--crisp-stroke-focus-ring); outline-offset: -2px; border-radius: var(--crisp-radius-md); }
14
16
  }
15
17
  .crisp-wheelpicker--size_small {
@@ -0,0 +1,30 @@
1
+ .crisp-workspacegeneralsettings {
2
+ & .crisp-workspacegeneralsettings-page { display: flex; flex-direction: column; gap: var(--crisp-space-6); font-family: var(--crisp-font-sans); }
3
+ & .crisp-workspacegeneralsettings-heading { display: flex; flex-direction: column; gap: var(--crisp-space-0-5); }
4
+ & .crisp-workspacegeneralsettings-title { font-size: 24px; line-height: 28px; font-weight: var(--crisp-weight-semibold); letter-spacing: -0.48px; color: var(--crisp-fg-primary); margin: 0; }
5
+ & .crisp-workspacegeneralsettings-desc { font-size: var(--crisp-text-lg); line-height: 20px; color: var(--crisp-fg-muted); margin: 0; }
6
+ & .crisp-workspacegeneralsettings-section { display: flex; flex-direction: column; gap: var(--crisp-space-4); }
7
+ & .crisp-workspacegeneralsettings-sectiontitle { font-size: 16px; line-height: 20px; font-weight: var(--crisp-weight-semibold); color: var(--crisp-fg-primary); margin: 0; }
8
+ & .crisp-workspacegeneralsettings-sectionhead { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--crisp-space-4); }
9
+ & .crisp-workspacegeneralsettings-sectionhead-text { display: flex; flex-direction: column; gap: var(--crisp-space-1); }
10
+ /* Logo row: a tile + helper text + "Upload logo" button. */
11
+ & .crisp-workspacegeneralsettings-logorow { display: flex; align-items: center; gap: var(--crisp-space-4); }
12
+ & .crisp-workspacegeneralsettings-logohelp { font-size: var(--crisp-text-sm); color: var(--crisp-fg-muted); }
13
+ & .crisp-workspacegeneralsettings-logotext { display: flex; flex-direction: column; align-items: flex-start; gap: var(--crisp-space-1); }
14
+ /* Name + Slug sit side by side, each ~half the content width. */
15
+ & .crisp-workspacegeneralsettings-fieldrow { display: flex; gap: var(--crisp-space-4); }
16
+ & .crisp-workspacegeneralsettings-fieldrow > * { flex: 1; min-width: 0; }
17
+ & .crisp-workspacegeneralsettings-slugfield { display: flex; align-items: center; gap: var(--crisp-space-1-5); }
18
+ & .crisp-workspacegeneralsettings-slugfield > :first-child { flex: 1; min-width: 0; }
19
+ & .crisp-workspacegeneralsettings-copybtn { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 32px; height: 32px; border: none; border-radius: var(--crisp-radius-md); background: none; font-family: inherit; color: var(--crisp-fg-muted); cursor: pointer; }
20
+ & .crisp-workspacegeneralsettings-copybtn:hover { background: var(--crisp-bg-raised); color: var(--crisp-fg-primary); }
21
+ /* Export-data empty state -- measured: 14/500/63%-opacity, centred in a
22
+ 40px row, no border of its own (the Table wrapper already draws it). */
23
+ & .crisp-workspacegeneralsettings-emptyrow { padding: var(--crisp-space-2-5) var(--crisp-space-4); font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); text-align: center; }
24
+ /* Danger zone: a red-tinted bordered row, distinct from every other
25
+ card on the page. */
26
+ & .crisp-workspacegeneralsettings-dangerrow { display: flex; align-items: center; justify-content: space-between; gap: var(--crisp-space-6); padding: var(--crisp-space-3) var(--crisp-space-4); border: 1px solid color-mix(in srgb, var(--crisp-bg-danger) 30%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--crisp-bg-danger) 6%, transparent); }
27
+ & .crisp-workspacegeneralsettings-dangertext { display: flex; flex-direction: column; gap: var(--crisp-space-1); }
28
+ & .crisp-workspacegeneralsettings-rowtitle { font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-primary); }
29
+ & .crisp-workspacegeneralsettings-dangerwarning { font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); }
30
+ }
@@ -0,0 +1,7 @@
1
+ import type { RecipeFn } from "../core/types";
2
+
3
+ export interface WorkspacegeneralsettingsVariants {
4
+
5
+ }
6
+
7
+ export declare const workspacegeneralsettingsRecipe: RecipeFn<{ }>;
@@ -0,0 +1,32 @@
1
+ @layer crisp-components {
2
+ .crisp-workspacegeneralsettings {
3
+ & .crisp-workspacegeneralsettings-page { display: flex; flex-direction: column; gap: var(--crisp-space-6); font-family: var(--crisp-font-sans); }
4
+ & .crisp-workspacegeneralsettings-heading { display: flex; flex-direction: column; gap: var(--crisp-space-0-5); }
5
+ & .crisp-workspacegeneralsettings-title { font-size: 24px; line-height: 28px; font-weight: var(--crisp-weight-semibold); letter-spacing: -0.48px; color: var(--crisp-fg-primary); margin: 0; }
6
+ & .crisp-workspacegeneralsettings-desc { font-size: var(--crisp-text-lg); line-height: 20px; color: var(--crisp-fg-muted); margin: 0; }
7
+ & .crisp-workspacegeneralsettings-section { display: flex; flex-direction: column; gap: var(--crisp-space-4); }
8
+ & .crisp-workspacegeneralsettings-sectiontitle { font-size: 16px; line-height: 20px; font-weight: var(--crisp-weight-semibold); color: var(--crisp-fg-primary); margin: 0; }
9
+ & .crisp-workspacegeneralsettings-sectionhead { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--crisp-space-4); }
10
+ & .crisp-workspacegeneralsettings-sectionhead-text { display: flex; flex-direction: column; gap: var(--crisp-space-1); }
11
+ /* Logo row: a tile + helper text + "Upload logo" button. */
12
+ & .crisp-workspacegeneralsettings-logorow { display: flex; align-items: center; gap: var(--crisp-space-4); }
13
+ & .crisp-workspacegeneralsettings-logohelp { font-size: var(--crisp-text-sm); color: var(--crisp-fg-muted); }
14
+ & .crisp-workspacegeneralsettings-logotext { display: flex; flex-direction: column; align-items: flex-start; gap: var(--crisp-space-1); }
15
+ /* Name + Slug sit side by side, each ~half the content width. */
16
+ & .crisp-workspacegeneralsettings-fieldrow { display: flex; gap: var(--crisp-space-4); }
17
+ & .crisp-workspacegeneralsettings-fieldrow > * { flex: 1; min-width: 0; }
18
+ & .crisp-workspacegeneralsettings-slugfield { display: flex; align-items: center; gap: var(--crisp-space-1-5); }
19
+ & .crisp-workspacegeneralsettings-slugfield > :first-child { flex: 1; min-width: 0; }
20
+ & .crisp-workspacegeneralsettings-copybtn { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 32px; height: 32px; border: none; border-radius: var(--crisp-radius-md); background: none; font-family: inherit; color: var(--crisp-fg-muted); cursor: pointer; }
21
+ & .crisp-workspacegeneralsettings-copybtn:hover { background: var(--crisp-bg-raised); color: var(--crisp-fg-primary); }
22
+ /* Export-data empty state -- measured: 14/500/63%-opacity, centred in a
23
+ 40px row, no border of its own (the Table wrapper already draws it). */
24
+ & .crisp-workspacegeneralsettings-emptyrow { padding: var(--crisp-space-2-5) var(--crisp-space-4); font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); text-align: center; }
25
+ /* Danger zone: a red-tinted bordered row, distinct from every other
26
+ card on the page. */
27
+ & .crisp-workspacegeneralsettings-dangerrow { display: flex; align-items: center; justify-content: space-between; gap: var(--crisp-space-6); padding: var(--crisp-space-3) var(--crisp-space-4); border: 1px solid color-mix(in srgb, var(--crisp-bg-danger) 30%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--crisp-bg-danger) 6%, transparent); }
28
+ & .crisp-workspacegeneralsettings-dangertext { display: flex; flex-direction: column; gap: var(--crisp-space-1); }
29
+ & .crisp-workspacegeneralsettings-rowtitle { font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-primary); }
30
+ & .crisp-workspacegeneralsettings-dangerwarning { font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); }
31
+ }
32
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crisp-ui-kit/crisp",
3
- "version": "0.57.1",
3
+ "version": "0.57.3",
4
4
  "description": "A lean React design system, measured pixel-for-pixel from Attio.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -63,6 +63,11 @@
63
63
  "import": "./dist/esm/components/barchart/index.js",
64
64
  "require": "./dist/cjs/components/barchart/index.js"
65
65
  },
66
+ "./bottomsheet": {
67
+ "types": "./dist/types/components/bottomsheet/index.d.ts",
68
+ "import": "./dist/esm/components/bottomsheet/index.js",
69
+ "require": "./dist/cjs/components/bottomsheet/index.js"
70
+ },
66
71
  "./breadcrumb": {
67
72
  "types": "./dist/types/components/breadcrumb/index.d.ts",
68
73
  "import": "./dist/esm/components/breadcrumb/index.js",
@@ -98,6 +103,11 @@
98
103
  "import": "./dist/esm/components/chip/index.js",
99
104
  "require": "./dist/cjs/components/chip/index.js"
100
105
  },
106
+ "./chipgroup": {
107
+ "types": "./dist/types/components/chipgroup/index.d.ts",
108
+ "import": "./dist/esm/components/chipgroup/index.js",
109
+ "require": "./dist/cjs/components/chipgroup/index.js"
110
+ },
101
111
  "./columncalc": {
102
112
  "types": "./dist/types/components/columncalc/index.d.ts",
103
113
  "import": "./dist/esm/components/columncalc/index.js",
@@ -203,6 +213,11 @@
203
213
  "import": "./dist/esm/components/menu/index.js",
204
214
  "require": "./dist/cjs/components/menu/index.js"
205
215
  },
216
+ "./menusheet": {
217
+ "types": "./dist/types/components/menusheet/index.d.ts",
218
+ "import": "./dist/esm/components/menusheet/index.js",
219
+ "require": "./dist/cjs/components/menusheet/index.js"
220
+ },
206
221
  "./middletruncate": {
207
222
  "types": "./dist/types/components/middletruncate/index.d.ts",
208
223
  "import": "./dist/esm/components/middletruncate/index.js",
@@ -268,6 +283,11 @@
268
283
  "import": "./dist/esm/components/slider/index.js",
269
284
  "require": "./dist/cjs/components/slider/index.js"
270
285
  },
286
+ "./snackbar": {
287
+ "types": "./dist/types/components/snackbar/index.d.ts",
288
+ "import": "./dist/esm/components/snackbar/index.js",
289
+ "require": "./dist/cjs/components/snackbar/index.js"
290
+ },
271
291
  "./spinner": {
272
292
  "types": "./dist/types/components/spinner/index.d.ts",
273
293
  "import": "./dist/esm/components/spinner/index.js",
@@ -413,11 +433,21 @@
413
433
  "import": "./dist/esm/product/listpage/index.js",
414
434
  "require": "./dist/cjs/product/listpage/index.js"
415
435
  },
436
+ "./memberssettings": {
437
+ "types": "./dist/types/product/memberssettings/index.d.ts",
438
+ "import": "./dist/esm/product/memberssettings/index.js",
439
+ "require": "./dist/cjs/product/memberssettings/index.js"
440
+ },
416
441
  "./navitem": {
417
442
  "types": "./dist/types/product/navitem/index.d.ts",
418
443
  "import": "./dist/esm/product/navitem/index.js",
419
444
  "require": "./dist/cjs/product/navitem/index.js"
420
445
  },
446
+ "./notificationssettings": {
447
+ "types": "./dist/types/product/notificationssettings/index.d.ts",
448
+ "import": "./dist/esm/product/notificationssettings/index.js",
449
+ "require": "./dist/cjs/product/notificationssettings/index.js"
450
+ },
421
451
  "./objectsettings": {
422
452
  "types": "./dist/types/product/objectsettings/index.d.ts",
423
453
  "import": "./dist/esm/product/objectsettings/index.js",
@@ -488,6 +518,11 @@
488
518
  "import": "./dist/esm/product/viewtoggle/index.js",
489
519
  "require": "./dist/cjs/product/viewtoggle/index.js"
490
520
  },
521
+ "./workspacegeneralsettings": {
522
+ "types": "./dist/types/product/workspacegeneralsettings/index.d.ts",
523
+ "import": "./dist/esm/product/workspacegeneralsettings/index.js",
524
+ "require": "./dist/cjs/product/workspacegeneralsettings/index.js"
525
+ },
491
526
  "./tokens": {
492
527
  "types": "./dist/types/tokens/index.d.ts",
493
528
  "import": "./dist/esm/tokens/index.js",