@payloadcms/ui 3.0.0-beta.73 → 3.0.0-beta.75

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/elements/ArrayAction/index.scss +0 -13
  2. package/dist/elements/Banner/index.scss +1 -1
  3. package/dist/elements/Button/index.js +1 -1
  4. package/dist/elements/Button/index.js.map +1 -1
  5. package/dist/elements/Button/index.scss +112 -118
  6. package/dist/elements/Button/types.d.ts +1 -1
  7. package/dist/elements/Button/types.d.ts.map +1 -1
  8. package/dist/elements/Button/types.js.map +1 -1
  9. package/dist/elements/Card/index.scss +38 -9
  10. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  11. package/dist/elements/CodeEditor/CodeEditor.js +2 -1
  12. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  13. package/dist/elements/Collapsible/index.scss +61 -30
  14. package/dist/elements/ColumnSelector/index.scss +20 -2
  15. package/dist/elements/DocumentControls/index.scss +2 -2
  16. package/dist/elements/DocumentDrawer/index.scss +4 -6
  17. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  18. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +4 -2
  19. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  20. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  21. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +10 -4
  22. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  23. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +1 -0
  24. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts.map +1 -1
  25. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  26. package/dist/elements/Drawer/index.scss +11 -7
  27. package/dist/elements/Dropzone/index.js +2 -2
  28. package/dist/elements/Dropzone/index.js.map +1 -1
  29. package/dist/elements/Dropzone/index.scss +7 -3
  30. package/dist/elements/EditMany/index.scss +2 -2
  31. package/dist/elements/EditUpload/index.scss +4 -1
  32. package/dist/elements/FileDetails/FileMeta/index.scss +1 -0
  33. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  34. package/dist/elements/FileDetails/index.js +3 -1
  35. package/dist/elements/FileDetails/index.js.map +1 -1
  36. package/dist/elements/FileDetails/index.scss +28 -12
  37. package/dist/elements/Hamburger/index.d.ts.map +1 -1
  38. package/dist/elements/Hamburger/index.js +17 -41
  39. package/dist/elements/Hamburger/index.js.map +1 -1
  40. package/dist/elements/Hamburger/index.scss +22 -102
  41. package/dist/elements/HydrateAuthProvider/index.d.ts +13 -0
  42. package/dist/elements/HydrateAuthProvider/index.d.ts.map +1 -0
  43. package/dist/elements/{HydrateClientUser → HydrateAuthProvider}/index.js +3 -6
  44. package/dist/elements/HydrateAuthProvider/index.js.map +1 -0
  45. package/dist/elements/IDLabel/index.js +1 -1
  46. package/dist/elements/IDLabel/index.js.map +1 -1
  47. package/dist/elements/IDLabel/index.scss +2 -2
  48. package/dist/elements/ListControls/index.d.ts.map +1 -1
  49. package/dist/elements/ListControls/index.js +5 -1
  50. package/dist/elements/ListControls/index.js.map +1 -1
  51. package/dist/elements/ListControls/index.scss +6 -12
  52. package/dist/elements/NavGroup/index.scss +2 -2
  53. package/dist/elements/Pill/index.d.ts.map +1 -1
  54. package/dist/elements/Pill/index.js +1 -5
  55. package/dist/elements/Pill/index.js.map +1 -1
  56. package/dist/elements/Pill/index.scss +8 -21
  57. package/dist/elements/Popup/index.scss +6 -0
  58. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  59. package/dist/elements/PreviewButton/index.js +3 -1
  60. package/dist/elements/PreviewButton/index.js.map +1 -1
  61. package/dist/elements/PublishButton/index.js +1 -1
  62. package/dist/elements/PublishButton/index.js.map +1 -1
  63. package/dist/elements/ReactSelect/MultiValue/index.scss +25 -3
  64. package/dist/elements/ReactSelect/MultiValueLabel/index.scss +1 -1
  65. package/dist/elements/ReactSelect/MultiValueRemove/index.scss +3 -3
  66. package/dist/elements/ReactSelect/ValueContainer/index.scss +5 -12
  67. package/dist/elements/ReactSelect/index.scss +2 -3
  68. package/dist/elements/RenderTitle/index.scss +1 -1
  69. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  70. package/dist/elements/SaveButton/index.js +4 -2
  71. package/dist/elements/SaveButton/index.js.map +1 -1
  72. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  73. package/dist/elements/SaveDraftButton/index.js +4 -2
  74. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  75. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  76. package/dist/elements/SearchFilter/index.js +11 -15
  77. package/dist/elements/SearchFilter/index.js.map +1 -1
  78. package/dist/elements/SearchFilter/index.scss +2 -1
  79. package/dist/elements/SelectRow/index.scss +1 -0
  80. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  81. package/dist/elements/StayLoggedIn/index.js +2 -0
  82. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  83. package/dist/elements/Table/DefaultCell/fields/Code/index.scss +1 -1
  84. package/dist/elements/Table/DefaultCell/fields/JSON/index.scss +1 -1
  85. package/dist/elements/Table/index.scss +10 -1
  86. package/dist/elements/ThumbnailCard/index.scss +10 -1
  87. package/dist/elements/Upload/index.scss +2 -1
  88. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  89. package/dist/elements/WhereBuilder/Condition/index.js +8 -2
  90. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  91. package/dist/exports/client/{CodeEditor-OI35YO7H.js → CodeEditor-UPOVAXRP.js} +2 -2
  92. package/dist/exports/client/{CodeEditor-OI35YO7H.js.map → CodeEditor-UPOVAXRP.js.map} +2 -2
  93. package/dist/exports/client/{DatePicker-5IFHNQHA.js → DatePicker-XJHHMZP7.js} +2 -2
  94. package/dist/exports/client/chunk-TIH7OFW3.js +30 -0
  95. package/dist/exports/client/{chunk-WDFUZ6GL.js.map → chunk-TIH7OFW3.js.map} +2 -2
  96. package/dist/exports/client/index.d.ts +2 -1
  97. package/dist/exports/client/index.d.ts.map +1 -1
  98. package/dist/exports/client/index.js +27 -27
  99. package/dist/exports/client/index.js.map +4 -4
  100. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  101. package/dist/fields/Array/ArrayRow.js +4 -2
  102. package/dist/fields/Array/ArrayRow.js.map +1 -1
  103. package/dist/fields/Array/index.scss +3 -1
  104. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.scss +3 -4
  105. package/dist/fields/Blocks/SectionTitle/index.scss +1 -0
  106. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  107. package/dist/fields/Checkbox/index.js.map +1 -1
  108. package/dist/fields/Checkbox/index.scss +7 -8
  109. package/dist/fields/Code/index.scss +6 -0
  110. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  111. package/dist/fields/ConfirmPassword/index.js +10 -16
  112. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  113. package/dist/fields/DateTime/index.d.ts.map +1 -1
  114. package/dist/fields/DateTime/index.js.map +1 -1
  115. package/dist/fields/Email/index.d.ts.map +1 -1
  116. package/dist/fields/Email/index.js.map +1 -1
  117. package/dist/fields/JSON/index.d.ts.map +1 -1
  118. package/dist/fields/JSON/index.js.map +1 -1
  119. package/dist/fields/Password/index.d.ts +2 -2
  120. package/dist/fields/Password/index.d.ts.map +1 -1
  121. package/dist/fields/Password/index.js.map +1 -1
  122. package/dist/fields/Point/index.d.ts.map +1 -1
  123. package/dist/fields/Point/index.js.map +1 -1
  124. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  125. package/dist/fields/RadioGroup/Radio/index.js +4 -1
  126. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  127. package/dist/fields/RadioGroup/Radio/index.scss +13 -6
  128. package/dist/fields/RadioGroup/index.scss +5 -1
  129. package/dist/fields/Relationship/AddNew/index.scss +3 -0
  130. package/dist/fields/Relationship/index.d.ts.map +1 -1
  131. package/dist/fields/Relationship/index.js +2 -1
  132. package/dist/fields/Relationship/index.js.map +1 -1
  133. package/dist/fields/Relationship/index.scss +7 -0
  134. package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +8 -5
  135. package/dist/fields/Select/index.d.ts.map +1 -1
  136. package/dist/fields/Select/index.js.map +1 -1
  137. package/dist/fields/Text/Input.d.ts.map +1 -1
  138. package/dist/fields/Text/Input.js +13 -17
  139. package/dist/fields/Text/Input.js.map +1 -1
  140. package/dist/fields/Text/index.d.ts.map +1 -1
  141. package/dist/fields/Text/index.js.map +1 -1
  142. package/dist/fields/Text/index.scss +6 -0
  143. package/dist/fields/Textarea/index.d.ts.map +1 -1
  144. package/dist/fields/Textarea/index.js.map +1 -1
  145. package/dist/fields/Textarea/index.scss +1 -6
  146. package/dist/fields/Upload/index.scss +10 -3
  147. package/dist/forms/Form/index.d.ts.map +1 -1
  148. package/dist/forms/Form/index.js +17 -9
  149. package/dist/forms/Form/index.js.map +1 -1
  150. package/dist/forms/RenderFields/index.scss +1 -1
  151. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +1 -0
  152. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  153. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +2 -1
  154. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  155. package/dist/forms/buildStateFromSchema/index.d.ts +1 -0
  156. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  157. package/dist/forms/buildStateFromSchema/index.js +2 -1
  158. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  159. package/dist/forms/buildStateFromSchema/iterateFields.d.ts +2 -1
  160. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  161. package/dist/forms/buildStateFromSchema/iterateFields.js +2 -1
  162. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  163. package/dist/forms/useField/index.d.ts.map +1 -1
  164. package/dist/forms/useField/index.js +13 -7
  165. package/dist/forms/useField/index.js.map +1 -1
  166. package/dist/forms/useField/types.d.ts +3 -3
  167. package/dist/forms/useField/types.d.ts.map +1 -1
  168. package/dist/forms/useField/types.js.map +1 -1
  169. package/dist/icons/Calendar/index.d.ts.map +1 -1
  170. package/dist/icons/Calendar/index.js +8 -33
  171. package/dist/icons/Calendar/index.js.map +1 -1
  172. package/dist/icons/Calendar/index.scss +1 -1
  173. package/dist/icons/Check/index.d.ts.map +1 -1
  174. package/dist/icons/Check/index.js +8 -17
  175. package/dist/icons/Check/index.js.map +1 -1
  176. package/dist/icons/Check/index.scss +1 -1
  177. package/dist/icons/Chevron/index.js +5 -4
  178. package/dist/icons/Chevron/index.js.map +1 -1
  179. package/dist/icons/Chevron/index.scss +2 -5
  180. package/dist/icons/CloseMenu/index.d.ts.map +1 -1
  181. package/dist/icons/CloseMenu/index.js +8 -22
  182. package/dist/icons/CloseMenu/index.js.map +1 -1
  183. package/dist/icons/CloseMenu/index.scss +2 -2
  184. package/dist/icons/CodeBlock/index.d.ts.map +1 -1
  185. package/dist/icons/CodeBlock/index.js +8 -14
  186. package/dist/icons/CodeBlock/index.js.map +1 -1
  187. package/dist/icons/Copy/index.d.ts.map +1 -1
  188. package/dist/icons/Copy/index.js +12 -16
  189. package/dist/icons/Copy/index.js.map +1 -1
  190. package/dist/icons/Copy/index.scss +1 -1
  191. package/dist/icons/DragHandle/index.d.ts.map +1 -1
  192. package/dist/icons/DragHandle/index.js +19 -25
  193. package/dist/icons/DragHandle/index.js.map +1 -1
  194. package/dist/icons/DragHandle/index.scss +2 -0
  195. package/dist/icons/Edit/index.d.ts.map +1 -1
  196. package/dist/icons/Edit/index.js +8 -21
  197. package/dist/icons/Edit/index.js.map +1 -1
  198. package/dist/icons/Edit/index.scss +3 -3
  199. package/dist/icons/Line/index.d.ts.map +1 -1
  200. package/dist/icons/Line/index.js +7 -6
  201. package/dist/icons/Line/index.js.map +1 -1
  202. package/dist/icons/Line/index.scss +1 -1
  203. package/dist/icons/Link/index.d.ts.map +1 -1
  204. package/dist/icons/Link/index.js +11 -14
  205. package/dist/icons/Link/index.js.map +1 -1
  206. package/dist/icons/Link/index.scss +1 -1
  207. package/dist/icons/LogOut/index.d.ts.map +1 -1
  208. package/dist/icons/LogOut/index.js +9 -24
  209. package/dist/icons/LogOut/index.js.map +1 -1
  210. package/dist/icons/LogOut/index.scss +1 -1
  211. package/dist/icons/Menu/index.d.ts.map +1 -1
  212. package/dist/icons/Menu/index.js +10 -28
  213. package/dist/icons/Menu/index.js.map +1 -1
  214. package/dist/icons/Menu/index.scss +3 -2
  215. package/dist/icons/MinimizeMaximize/index.d.ts.map +1 -1
  216. package/dist/icons/MinimizeMaximize/index.js +8 -35
  217. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  218. package/dist/icons/More/index.d.ts.map +1 -1
  219. package/dist/icons/More/index.js +10 -13
  220. package/dist/icons/More/index.js.map +1 -1
  221. package/dist/icons/More/index.scss +1 -0
  222. package/dist/icons/Plus/index.d.ts.map +1 -1
  223. package/dist/icons/Plus/index.js +10 -20
  224. package/dist/icons/Plus/index.js.map +1 -1
  225. package/dist/icons/Plus/index.scss +1 -1
  226. package/dist/icons/Search/index.d.ts.map +1 -1
  227. package/dist/icons/Search/index.js +8 -18
  228. package/dist/icons/Search/index.js.map +1 -1
  229. package/dist/icons/Search/index.scss +1 -1
  230. package/dist/icons/Swap/index.d.ts.map +1 -1
  231. package/dist/icons/Swap/index.js +8 -28
  232. package/dist/icons/Swap/index.js.map +1 -1
  233. package/dist/icons/Swap/index.scss +2 -2
  234. package/dist/icons/X/index.d.ts.map +1 -1
  235. package/dist/icons/X/index.js +10 -21
  236. package/dist/icons/X/index.js.map +1 -1
  237. package/dist/icons/X/index.scss +3 -3
  238. package/dist/providers/Auth/index.d.ts +6 -2
  239. package/dist/providers/Auth/index.d.ts.map +1 -1
  240. package/dist/providers/Auth/index.js +4 -4
  241. package/dist/providers/Auth/index.js.map +1 -1
  242. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +2 -1
  243. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  244. package/dist/providers/ComponentMap/buildComponentMap/collections.js +2 -1
  245. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  246. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +2 -1
  247. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  248. package/dist/providers/ComponentMap/buildComponentMap/fields.js +9 -2
  249. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  250. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +2 -1
  251. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
  252. package/dist/providers/ComponentMap/buildComponentMap/globals.js +2 -1
  253. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  254. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  255. package/dist/providers/ComponentMap/buildComponentMap/index.js +2 -0
  256. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  257. package/dist/providers/Params/index.d.ts +2 -1
  258. package/dist/providers/Params/index.d.ts.map +1 -1
  259. package/dist/providers/Params/index.js.map +1 -1
  260. package/dist/providers/Root/index.d.ts +3 -1
  261. package/dist/providers/Root/index.d.ts.map +1 -1
  262. package/dist/providers/Root/index.js +3 -1
  263. package/dist/providers/Root/index.js.map +1 -1
  264. package/dist/scss/app.scss +2 -1
  265. package/dist/scss/toasts.scss +10 -3
  266. package/dist/scss/type.scss +14 -23
  267. package/dist/scss/vars.scss +26 -47
  268. package/dist/styles.css +1 -1
  269. package/dist/utilities/buildFormState.d.ts.map +1 -1
  270. package/dist/utilities/buildFormState.js +18 -7
  271. package/dist/utilities/buildFormState.js.map +1 -1
  272. package/package.json +8 -8
  273. package/dist/elements/HydrateClientUser/index.d.ts +0 -6
  274. package/dist/elements/HydrateClientUser/index.d.ts.map +0 -1
  275. package/dist/elements/HydrateClientUser/index.js.map +0 -1
  276. package/dist/exports/client/chunk-WDFUZ6GL.js +0 -30
  277. /package/dist/exports/client/{DatePicker-5IFHNQHA.js.map → DatePicker-XJHHMZP7.js.map} +0 -0
@@ -30,17 +30,4 @@
30
30
  }
31
31
  }
32
32
  }
33
-
34
- &__move-up {
35
- margin-bottom: 2px;
36
- }
37
-
38
- &__move-down {
39
- margin-top: 6px;
40
- margin-bottom: 2px;
41
- }
42
-
43
- &__action-chevron {
44
- padding: 0 calc(var(--base) / 4);
45
- }
46
33
  }
@@ -7,7 +7,7 @@
7
7
  vertical-align: middle;
8
8
  background: var(--theme-elevation-100);
9
9
  color: var(--theme-elevation-800);
10
- border-radius: $style-radius-s;
10
+ border-radius: $style-radius-m;
11
11
  padding: base(0.5);
12
12
  margin-bottom: $baseline;
13
13
 
@@ -59,7 +59,7 @@ export const Button = /*#__PURE__*/ forwardRef((props, ref)=>{
59
59
  disabled && `${baseClass}--disabled`,
60
60
  round && `${baseClass}--round`,
61
61
  size && `${baseClass}--size-${size}`,
62
- iconPosition && `${baseClass}--icon-position-${iconPosition}`,
62
+ icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`,
63
63
  tooltip && `${baseClass}--has-tooltip`
64
64
  ].filter(Boolean).join(' ');
65
65
  function handleClick(event) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment, forwardRef, isValidElement } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { EditIcon } from '../../icons/Edit/index.js'\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\n\nconst icons = {\n chevron: ChevronIcon,\n edit: EditIcon,\n link: LinkIcon,\n plus: PlusIcon,\n swap: SwapIcon,\n x: XIcon,\n}\n\nconst baseClass = 'btn'\n\nexport const ButtonContents = ({ children, icon, showTooltip, tooltip }) => {\n const BuiltInIcon = icons[icon]\n\n return (\n <Fragment>\n {tooltip && (\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n <span className={`${baseClass}__content`}>\n {children && <span className={`${baseClass}__label`}>{children}</span>}\n {icon && (\n <span className={`${baseClass}__icon`}>\n {isValidElement(icon) && icon}\n {BuiltInIcon && <BuiltInIcon />}\n </span>\n )}\n </span>\n </Fragment>\n )\n}\n\nexport const Button = forwardRef<HTMLAnchorElement | HTMLButtonElement, Props>((props, ref) => {\n const {\n id,\n type = 'button',\n Link,\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n newTab,\n onClick,\n round,\n size = 'medium',\n to,\n tooltip,\n url,\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n\n const classes = [\n baseClass,\n className && className,\n buttonStyle && `${baseClass}--style-${buttonStyle}`,\n icon && `${baseClass}--icon`,\n iconStyle && `${baseClass}--icon-style-${iconStyle}`,\n icon && !children && `${baseClass}--icon-only`,\n disabled && `${baseClass}--disabled`,\n round && `${baseClass}--round`,\n size && `${baseClass}--size-${size}`,\n iconPosition && `${baseClass}--icon-position-${iconPosition}`,\n tooltip && `${baseClass}--has-tooltip`,\n ]\n .filter(Boolean)\n .join(' ')\n\n function handleClick(event) {\n setShowTooltip(false)\n if (type !== 'submit' && onClick) event.preventDefault()\n if (onClick) onClick(event)\n }\n\n const buttonProps = {\n id,\n type,\n 'aria-disabled': disabled,\n 'aria-label': ariaLabel,\n className: classes,\n disabled,\n onClick: !disabled ? handleClick : undefined,\n onMouseEnter: tooltip ? () => setShowTooltip(true) : undefined,\n onMouseLeave: tooltip ? () => setShowTooltip(false) : undefined,\n rel: newTab ? 'noopener noreferrer' : undefined,\n target: newTab ? '_blank' : undefined,\n }\n\n switch (el) {\n case 'link':\n if (!Link) {\n console.error('Link is required when using el=\"link\"', children)\n return null\n }\n\n return (\n <Link {...buttonProps} href={to || url} to={to || url}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Link>\n )\n\n case 'anchor':\n return (\n <a {...buttonProps} href={url} ref={ref as React.Ref<HTMLAnchorElement>}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </a>\n )\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n return (\n <Tag ref={ref} type=\"submit\" {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Tag>\n )\n }\n})\n"],"names":["React","Fragment","forwardRef","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","className","show","span","Button","props","ref","id","type","Link","ariaLabel","buttonStyle","disabled","el","iconPosition","iconStyle","newTab","onClick","round","size","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","buttonProps","undefined","onMouseEnter","onMouseLeave","rel","target","console","error","href","a","Tag"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment, forwardRef, isValidElement } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { EditIcon } from '../../icons/Edit/index.js'\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\n\nconst icons = {\n chevron: ChevronIcon,\n edit: EditIcon,\n link: LinkIcon,\n plus: PlusIcon,\n swap: SwapIcon,\n x: XIcon,\n}\n\nconst baseClass = 'btn'\n\nexport const ButtonContents = ({ children, icon, showTooltip, tooltip }) => {\n const BuiltInIcon = icons[icon]\n\n return (\n <Fragment>\n {tooltip && (\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n <span className={`${baseClass}__content`}>\n {children && <span className={`${baseClass}__label`}>{children}</span>}\n {icon && (\n <span className={`${baseClass}__icon`}>\n {isValidElement(icon) && icon}\n {BuiltInIcon && <BuiltInIcon />}\n </span>\n )}\n </span>\n </Fragment>\n )\n}\n\nexport const Button = forwardRef<HTMLAnchorElement | HTMLButtonElement, Props>((props, ref) => {\n const {\n id,\n type = 'button',\n Link,\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n newTab,\n onClick,\n round,\n size = 'medium',\n to,\n tooltip,\n url,\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n\n const classes = [\n baseClass,\n className && className,\n buttonStyle && `${baseClass}--style-${buttonStyle}`,\n icon && `${baseClass}--icon`,\n iconStyle && `${baseClass}--icon-style-${iconStyle}`,\n icon && !children && `${baseClass}--icon-only`,\n disabled && `${baseClass}--disabled`,\n round && `${baseClass}--round`,\n size && `${baseClass}--size-${size}`,\n icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`,\n tooltip && `${baseClass}--has-tooltip`,\n ]\n .filter(Boolean)\n .join(' ')\n\n function handleClick(event) {\n setShowTooltip(false)\n if (type !== 'submit' && onClick) event.preventDefault()\n if (onClick) onClick(event)\n }\n\n const buttonProps = {\n id,\n type,\n 'aria-disabled': disabled,\n 'aria-label': ariaLabel,\n className: classes,\n disabled,\n onClick: !disabled ? handleClick : undefined,\n onMouseEnter: tooltip ? () => setShowTooltip(true) : undefined,\n onMouseLeave: tooltip ? () => setShowTooltip(false) : undefined,\n rel: newTab ? 'noopener noreferrer' : undefined,\n target: newTab ? '_blank' : undefined,\n }\n\n switch (el) {\n case 'link':\n if (!Link) {\n console.error('Link is required when using el=\"link\"', children)\n return null\n }\n\n return (\n <Link {...buttonProps} href={to || url} to={to || url}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Link>\n )\n\n case 'anchor':\n return (\n <a {...buttonProps} href={url} ref={ref as React.Ref<HTMLAnchorElement>}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </a>\n )\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n return (\n <Tag ref={ref} type=\"submit\" {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Tag>\n )\n }\n})\n"],"names":["React","Fragment","forwardRef","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","className","show","span","Button","props","ref","id","type","Link","ariaLabel","buttonStyle","disabled","el","iconPosition","iconStyle","newTab","onClick","round","size","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","buttonProps","undefined","onMouseEnter","onMouseLeave","rel","target","console","error","href","a","Tag"],"mappings":"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"}
@@ -6,22 +6,45 @@ a.btn {
6
6
 
7
7
  .btn {
8
8
  background: transparent;
9
- line-height: base(1);
10
- border-radius: $style-radius-m;
11
- font-size: 1rem;
12
- margin-top: base(1);
13
- margin-bottom: base(1);
9
+ border-radius: $style-radius-s;
10
+ font-size: var(--base-body-size);
11
+ margin-block: base(1.2);
12
+ line-height: base(1.2);
14
13
  border: 0;
15
14
  cursor: pointer;
16
15
  font-weight: normal;
17
16
  text-decoration: none;
18
- text-align: center;
19
17
  color: inherit;
20
-
21
- .btn__icon {
18
+ transition-property: border, color, box-shadow, background;
19
+ transition-duration: 100ms;
20
+ transition-timing-function: cubic-bezier(0, 0.2, 0.2, 1);
21
+
22
+ &__content {
23
+ display: flex;
24
+ align-items: center;
25
+ justify-content: center;
26
+ }
27
+
28
+ &__icon {
29
+ width: base(1.2);
30
+ height: base(1.2);
31
+ display: flex;
32
+ align-items: center;
33
+ justify-content: center;
22
34
  border: 1px solid;
23
35
  border-radius: 100%;
24
36
  @include color-svg(currentColor);
37
+ padding: base(0.1);
38
+ color: inherit;
39
+
40
+ .icon {
41
+ width: 100%;
42
+ height: 100%;
43
+ }
44
+
45
+ &.btn--size-small {
46
+ padding: base(0.2);
47
+ }
25
48
  }
26
49
 
27
50
  &--has-tooltip {
@@ -40,158 +63,125 @@ a.btn {
40
63
  }
41
64
  }
42
65
 
43
- span {
44
- line-height: base(1);
45
- }
46
-
47
- span,
48
- svg {
49
- vertical-align: top;
50
- }
51
-
52
- &--size-medium {
53
- padding: base(0.5) $baseline;
54
- }
55
-
56
66
  &--size-small {
57
- padding: base(0.25) base(0.5);
58
- }
59
-
60
- &--style-primary {
61
- background-color: var(--theme-elevation-800);
62
- color: var(--theme-elevation-0);
67
+ padding: 0 base(0.4);
63
68
 
64
- &.btn--disabled {
65
- background-color: var(--theme-elevation-400);
66
- }
67
-
68
- &:not(.btn--disabled) {
69
- &:hover,
70
- &:focus-visible {
71
- background: var(--theme-elevation-750);
72
- }
69
+ &.btn--icon-position-left {
70
+ padding-inline-start: base(0.1);
71
+ padding-inline-end: base(0.4);
73
72
 
74
- &:active {
75
- background: var(--theme-elevation-700);
73
+ .btn__content {
74
+ flex-direction: row-reverse;
76
75
  }
77
76
  }
78
77
 
79
- &:focus:not(:focus-visible) {
80
- box-shadow: $focus-box-shadow;
81
- outline: none;
78
+ &.btn--icon-position-right {
79
+ padding-inline-start: base(0.4);
80
+ padding-inline-end: base(0.1);
82
81
  }
83
82
  }
84
83
 
85
- &--style-secondary {
86
- $base-box-shadow: inset 0 0 0 $style-stroke-width var(--theme-elevation-800);
87
- $hover-box-shadow: inset 0 0 0 $style-stroke-width var(--theme-elevation-700);
88
-
89
- box-shadow: $base-box-shadow;
90
- color: var(--theme-elevation-800);
91
- background: none;
92
- backdrop-filter: blur(5px);
84
+ &--size-medium {
85
+ padding: base(0.2) base(0.6);
93
86
 
94
- &:hover,
95
- &:focus-visible {
96
- background: var(--theme-elevation-100);
97
- box-shadow: $hover-box-shadow;
98
- }
87
+ &.btn--icon-position-left {
88
+ padding-inline-start: base(0.4);
89
+ padding-inline-end: base(0.6);
99
90
 
100
- &:active {
101
- background: var(--theme-elevation-200);
91
+ .btn__content {
92
+ gap: base(0.2);
93
+ flex-direction: row-reverse;
94
+ }
102
95
  }
103
96
 
104
- &.btn--disabled {
105
- color: var(--theme-elevation-400);
106
- background: none;
107
- box-shadow: inset 0 0 0 $style-stroke-width var(--theme-elevation-400);
108
- }
97
+ &.btn--icon-position-right {
98
+ padding-inline-start: base(0.6);
99
+ padding-inline-end: base(0.4);
109
100
 
110
- &:focus:not(:focus-visible) {
111
- outline: none;
112
- box-shadow: $hover-box-shadow, $focus-box-shadow;
101
+ .btn__content {
102
+ gap: base(0.2);
103
+ }
113
104
  }
114
105
  }
115
106
 
116
- &--style-none {
117
- padding: 0;
118
- margin: 0;
119
- border-radius: 0;
107
+ &--size-large {
108
+ padding: base(0.4) base(0.8);
120
109
 
121
- &:focus {
122
- opacity: 0.8;
123
- }
110
+ &.btn--icon-position-left {
111
+ padding-inline-start: base(0.6);
112
+ padding-inline-end: base(0.8);
124
113
 
125
- &:active {
126
- opacity: 0.7;
114
+ .btn__content {
115
+ gap: base(0.4);
116
+ flex-direction: row-reverse;
117
+ }
127
118
  }
128
- }
129
119
 
130
- &--round {
131
- border-radius: 100%;
132
- }
120
+ &.btn--icon-position-right {
121
+ padding-inline-start: base(0.8);
122
+ padding-inline-end: base(0.6);
133
123
 
134
- [dir='rtl'] &--icon {
135
- span {
136
- margin-left: 5px;
124
+ .btn__content {
125
+ gap: base(0.4);
126
+ }
137
127
  }
138
128
  }
139
129
 
140
- &--icon {
141
- span {
142
- display: flex;
143
- justify-content: space-between;
130
+ &--style-primary {
131
+ background: var(--theme-elevation-800);
132
+ color: var(--theme-elevation-0);
133
+
134
+ &.btn--disabled {
135
+ background: var(--theme-elevation-200);
144
136
  }
145
137
 
146
- &.btn--style-primary {
147
- .icon {
148
- @include color-svg(var(--theme-elevation-0));
138
+ &:not(.btn--disabled) {
139
+ &:hover,
140
+ &:focus-visible,
141
+ &:focus,
142
+ &:active {
143
+ background: var(--theme-elevation-600);
149
144
  }
150
145
  }
151
- }
152
146
 
153
- &--style-icon-label {
154
- padding: 0;
155
- font-weight: 600;
147
+ .icon {
148
+ @include color-svg(var(--theme-elevation-0));
149
+ }
156
150
  }
157
151
 
158
- &--style-light-gray {
159
- box-shadow: inset 0 0 0 $style-stroke-width var(--theme-elevation-800);
160
- }
152
+ &--style-secondary {
153
+ box-shadow: inset 0 0 0 1px var(--theme-elevation-800);
154
+ color: var(--theme-text);
161
155
 
162
- &--icon-position-left {
163
- .btn__content {
164
- flex-direction: row-reverse;
156
+ &.btn--disabled {
157
+ color: var(--theme-elevation-200);
158
+ box-shadow: inset 0 0 0 1px var(--theme-elevation-200);
165
159
  }
166
160
 
167
- .btn__icon {
168
- margin-right: base(0.5);
161
+ &:not(.btn--disabled) {
162
+ &:hover,
163
+ &:focus-visible,
164
+ &:focus,
165
+ &:active {
166
+ color: var(--theme-elevation-600);
167
+ box-shadow: inset 0 0 0 1px var(--theme-elevation-400);
168
+ }
169
169
  }
170
170
  }
171
171
 
172
- &--icon-position-right {
173
- .btn__icon {
174
- margin-left: base(0.5);
175
- }
176
- }
172
+ &--style-icon-label,
173
+ &--style-icon-label.btn--icon-position-left,
174
+ &--style-icon-label.btn--icon-position-right {
175
+ padding: 0;
176
+ font-weight: 600;
177
177
 
178
- &--icon-only {
179
- .btn__icon {
180
- padding: 0;
181
- margin: 0;
178
+ .btn__content {
179
+ gap: base(0.4);
182
180
  }
183
181
  }
184
182
 
185
- &--disabled {
186
- cursor: default;
187
- }
188
-
189
- &:hover,
190
- &:focus-visible {
191
- .btn__icon {
192
- @include color-svg(var(--theme-elevation-0));
193
- background: var(--theme-elevation-800);
194
- }
183
+ &--style-none {
184
+ padding: 0;
195
185
  }
196
186
 
197
187
  &:focus:not(:focus-visible) {
@@ -214,4 +204,8 @@ a.btn {
214
204
  outline: var(--accessibility-outline);
215
205
  outline-offset: var(--accessibility-outline-offset);
216
206
  }
207
+
208
+ &.btn--disabled {
209
+ cursor: not-allowed;
210
+ }
217
211
  }
@@ -16,7 +16,7 @@ export type Props = {
16
16
  newTab?: boolean;
17
17
  onClick?: (event: MouseEvent) => void;
18
18
  round?: boolean;
19
- size?: 'medium' | 'small';
19
+ size?: 'large' | 'medium' | 'small';
20
20
  to?: string;
21
21
  tooltip?: string;
22
22
  type?: 'button' | 'submit';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAA;IACvF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAA;IACpC,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAA;IAC5D,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,gBAAgB,CAAA;IACrD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACrC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACzB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAA;IACvF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAA;IACpC,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAA;IAC5D,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,gBAAgB,CAAA;IACrD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACrC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACnC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Button/types.ts"],"sourcesContent":["import type { ElementType, MouseEvent } from 'react'\nimport type React from 'react'\n\nexport type Props = {\n Link?: React.ElementType\n 'aria-label'?: string\n buttonId?: string\n buttonStyle?: 'error' | 'icon-label' | 'none' | 'primary' | 'secondary' | 'transparent'\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n el?: 'anchor' | 'link' | ElementType\n icon?: ['chevron' | 'edit' | 'plus' | 'x'] | React.ReactNode\n iconPosition?: 'left' | 'right'\n iconStyle?: 'none' | 'with-border' | 'without-border'\n id?: string\n newTab?: boolean\n onClick?: (event: MouseEvent) => void\n round?: boolean\n size?: 'medium' | 'small'\n to?: string\n tooltip?: string\n type?: 'button' | 'submit'\n url?: string\n}\n"],"names":[],"mappings":"AAGA,WAqBC"}
1
+ {"version":3,"sources":["../../../src/elements/Button/types.ts"],"sourcesContent":["import type { ElementType, MouseEvent } from 'react'\nimport type React from 'react'\n\nexport type Props = {\n Link?: React.ElementType\n 'aria-label'?: string\n buttonId?: string\n buttonStyle?: 'error' | 'icon-label' | 'none' | 'primary' | 'secondary' | 'transparent'\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n el?: 'anchor' | 'link' | ElementType\n icon?: ['chevron' | 'edit' | 'plus' | 'x'] | React.ReactNode\n iconPosition?: 'left' | 'right'\n iconStyle?: 'none' | 'with-border' | 'without-border'\n id?: string\n newTab?: boolean\n onClick?: (event: MouseEvent) => void\n round?: boolean\n size?: 'large' | 'medium' | 'small'\n to?: string\n tooltip?: string\n type?: 'button' | 'submit'\n url?: string\n}\n"],"names":[],"mappings":"AAGA,WAqBC"}
@@ -2,24 +2,50 @@
2
2
 
3
3
  .card {
4
4
  background: var(--theme-elevation-50);
5
- padding: base(1.25) $baseline;
5
+ padding: base(0.8);
6
+ width: 100%;
7
+ min-height: base(4);
6
8
  position: relative;
9
+ border-radius: var(--style-radius-m);
10
+ border: 1px solid var(--theme-border-color);
11
+ transition-property: border, box-shadow, background;
12
+ transition-duration: 100ms;
13
+ transition-timing-function: cubic-bezier(0, 0.2, 0.2, 1);
14
+ display: flex;
15
+ justify-content: space-between;
16
+ align-self: start;
17
+ gap: base(0.8);
7
18
 
8
19
  &__title {
9
- @extend %h5;
10
- white-space: nowrap;
11
- overflow: hidden;
12
- text-overflow: ellipsis;
20
+ @extend %h4;
21
+ letter-spacing: 0;
22
+ font-weight: 600;
23
+ line-height: base(1.2);
24
+ width: 100%;
25
+ margin: 0;
13
26
  }
14
27
 
15
28
  &__actions {
16
29
  position: relative;
17
30
  z-index: 2;
18
- margin-top: base(0.5);
19
31
  display: inline-flex;
20
-
21
32
  .btn {
22
33
  margin: 0;
34
+ flex-shrink: 0;
35
+ }
36
+
37
+ .btn__icon {
38
+ border: 1px solid var(--theme-border-color);
39
+ transition-property: border, box-shadow, color, background;
40
+ transition-duration: 100ms;
41
+ transition-timing-function: cubic-bezier(0, 0.2, 0.2, 1);
42
+
43
+ &:hover {
44
+ border: 1px solid var(--theme-elevation-500);
45
+ background-color: var(--theme-elevation-0);
46
+ color: currentColor;
47
+ @include shadow-sm;
48
+ }
23
49
  }
24
50
  }
25
51
 
@@ -27,16 +53,19 @@
27
53
  cursor: pointer;
28
54
 
29
55
  &:hover {
30
- background: var(--theme-elevation-100);
56
+ background: var(--theme-elevation-50);
57
+ border: 1px solid var(--theme-elevation-250);
58
+ box-shadow: 0 4px 8px -2px rgba(0, 0, 0, 0.05);
31
59
  }
32
60
  }
33
61
 
34
62
  &__click {
35
- position: absolute;
36
63
  z-index: 1;
37
64
  top: 0;
38
65
  left: 0;
39
66
  width: 100%;
40
67
  height: 100%;
68
+ position: absolute;
69
+ margin: 0;
41
70
  }
42
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../src/elements/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAIvC,OAAO,cAAc,CAAA;AAMrB,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiC/B,CAAA;AAGD,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../src/elements/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAIvC,OAAO,cAAc,CAAA;AAMrB,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkC/B,CAAA;AAGD,eAAe,UAAU,CAAA"}
@@ -13,7 +13,8 @@ const CodeEditor = (props)=>{
13
13
  const classes = [
14
14
  baseClass,
15
15
  className,
16
- rest?.defaultLanguage ? `language--${rest.defaultLanguage}` : ''
16
+ rest?.defaultLanguage ? `language--${rest.defaultLanguage}` : '',
17
+ readOnly && 'read-only'
17
18
  ].filter(Boolean).join(' ');
18
19
  return /*#__PURE__*/ _jsx(Editor, {
19
20
  className: classes,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/CodeEditor/CodeEditor.tsx"],"sourcesContent":["'use client'\nimport EditorImport from '@monaco-editor/react'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTheme } from '../../providers/Theme/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\nimport './index.scss'\n\nconst Editor = (EditorImport.default || EditorImport) as unknown as typeof EditorImport.default\n\nconst baseClass = 'code-editor'\n\nconst CodeEditor: React.FC<Props> = (props) => {\n const { className, height, options, readOnly, ...rest } = props\n\n const { theme } = useTheme()\n\n const classes = [\n baseClass,\n className,\n rest?.defaultLanguage ? `language--${rest.defaultLanguage}` : '',\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <Editor\n className={classes}\n height={height}\n loading={<ShimmerEffect height={height} />}\n options={{\n detectIndentation: true,\n minimap: {\n enabled: false,\n },\n readOnly: Boolean(readOnly),\n scrollBeyondLastLine: false,\n tabSize: 2,\n wordWrap: 'on',\n ...options,\n }}\n theme={theme === 'dark' ? 'vs-dark' : 'vs'}\n {...rest}\n />\n )\n}\n\n// eslint-disable-next-line no-restricted-exports\nexport default CodeEditor\n"],"names":["EditorImport","React","useTheme","ShimmerEffect","Editor","default","baseClass","CodeEditor","props","className","height","options","readOnly","rest","theme","classes","defaultLanguage","filter","Boolean","join","loading","detectIndentation","minimap","enabled","scrollBeyondLastLine","tabSize","wordWrap"],"mappings":"AAAA;;AACA,OAAOA,kBAAkB,uBAAsB;AAC/C,OAAOC,WAAW,QAAO;AAIzB,SAASC,QAAQ,QAAQ,iCAAgC;AACzD,SAASC,aAAa,QAAQ,4BAA2B;AACzD,OAAO,eAAc;AAErB,MAAMC,SAAUJ,aAAaK,OAAO,IAAIL;AAExC,MAAMM,YAAY;AAElB,MAAMC,aAA8B,CAACC;IACnC,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGC,MAAM,GAAGL;IAE1D,MAAM,EAAEM,KAAK,EAAE,GAAGZ;IAElB,MAAMa,UAAU;QACdT;QACAG;QACAI,MAAMG,kBAAkB,CAAC,UAAU,EAAEH,KAAKG,eAAe,CAAC,CAAC,GAAG;KAC/D,CACEC,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,qBACE,KAACf;QACCK,WAAWM;QACXL,QAAQA;QACRU,uBAAS,KAACjB;YAAcO,QAAQA;;QAChCC,SAAS;YACPU,mBAAmB;YACnBC,SAAS;gBACPC,SAAS;YACX;YACAX,UAAUM,QAAQN;YAClBY,sBAAsB;YACtBC,SAAS;YACTC,UAAU;YACV,GAAGf,OAAO;QACZ;QACAG,OAAOA,UAAU,SAAS,YAAY;QACrC,GAAGD,IAAI;;AAGd;AAEA,iDAAiD;AACjD,eAAeN,WAAU"}
1
+ {"version":3,"sources":["../../../src/elements/CodeEditor/CodeEditor.tsx"],"sourcesContent":["'use client'\nimport EditorImport from '@monaco-editor/react'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTheme } from '../../providers/Theme/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\nimport './index.scss'\n\nconst Editor = (EditorImport.default || EditorImport) as unknown as typeof EditorImport.default\n\nconst baseClass = 'code-editor'\n\nconst CodeEditor: React.FC<Props> = (props) => {\n const { className, height, options, readOnly, ...rest } = props\n\n const { theme } = useTheme()\n\n const classes = [\n baseClass,\n className,\n rest?.defaultLanguage ? `language--${rest.defaultLanguage}` : '',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <Editor\n className={classes}\n height={height}\n loading={<ShimmerEffect height={height} />}\n options={{\n detectIndentation: true,\n minimap: {\n enabled: false,\n },\n readOnly: Boolean(readOnly),\n scrollBeyondLastLine: false,\n tabSize: 2,\n wordWrap: 'on',\n ...options,\n }}\n theme={theme === 'dark' ? 'vs-dark' : 'vs'}\n {...rest}\n />\n )\n}\n\n// eslint-disable-next-line no-restricted-exports\nexport default CodeEditor\n"],"names":["EditorImport","React","useTheme","ShimmerEffect","Editor","default","baseClass","CodeEditor","props","className","height","options","readOnly","rest","theme","classes","defaultLanguage","filter","Boolean","join","loading","detectIndentation","minimap","enabled","scrollBeyondLastLine","tabSize","wordWrap"],"mappings":"AAAA;;AACA,OAAOA,kBAAkB,uBAAsB;AAC/C,OAAOC,WAAW,QAAO;AAIzB,SAASC,QAAQ,QAAQ,iCAAgC;AACzD,SAASC,aAAa,QAAQ,4BAA2B;AACzD,OAAO,eAAc;AAErB,MAAMC,SAAUJ,aAAaK,OAAO,IAAIL;AAExC,MAAMM,YAAY;AAElB,MAAMC,aAA8B,CAACC;IACnC,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGC,MAAM,GAAGL;IAE1D,MAAM,EAAEM,KAAK,EAAE,GAAGZ;IAElB,MAAMa,UAAU;QACdT;QACAG;QACAI,MAAMG,kBAAkB,CAAC,UAAU,EAAEH,KAAKG,eAAe,CAAC,CAAC,GAAG;QAC9DJ,YAAY;KACb,CACEK,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,qBACE,KAACf;QACCK,WAAWM;QACXL,QAAQA;QACRU,uBAAS,KAACjB;YAAcO,QAAQA;;QAChCC,SAAS;YACPU,mBAAmB;YACnBC,SAAS;gBACPC,SAAS;YACX;YACAX,UAAUM,QAAQN;YAClBY,sBAAsB;YACtBC,SAAS;YACTC,UAAU;YACV,GAAGf,OAAO;QACZ;QACAG,OAAOA,UAAU,SAAS,YAAY;QACrC,GAAGD,IAAI;;AAGd;AAEA,iDAAiD;AACjD,eAAeN,WAAU"}
@@ -2,20 +2,44 @@
2
2
 
3
3
  .collapsible {
4
4
  --toggle-pad-h: #{base(0.75)};
5
- --toggle-pad-v: #{base(0.5)};
5
+ --toggle-pad-v: #{base(0.6)};
6
6
 
7
7
  border-radius: $style-radius-m;
8
8
 
9
9
  &__toggle-wrap {
10
10
  position: relative;
11
+ padding: base(0.4) base(0.4) base(0.4) base(0.8);
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: space-between;
15
+ background: var(--theme-elevation-50);
16
+ line-height: base(1.2);
17
+ gap: base(0.2);
18
+ border-top-right-radius: $style-radius-m;
19
+ border-top-left-radius: $style-radius-m;
20
+
21
+ & > * {
22
+ z-index: 2;
23
+ }
24
+
25
+ &:has(.collapsible__drag) {
26
+ padding-inline-start: base(0.4);
27
+ }
11
28
  }
12
29
 
13
30
  &__drag {
31
+ display: flex;
14
32
  opacity: 0.5;
15
- position: absolute;
16
- z-index: 1;
33
+ z-index: 2;
17
34
  top: var(--toggle-pad-v);
18
- left: base(0.5);
35
+ width: base(1.2);
36
+ height: base(1.2);
37
+ padding: base(0.1);
38
+
39
+ icon {
40
+ width: 100%;
41
+ height: 100%;
42
+ }
19
43
  }
20
44
 
21
45
  &__toggle {
@@ -23,10 +47,15 @@
23
47
  @extend %body;
24
48
  text-align: left;
25
49
  cursor: pointer;
26
- border-top-right-radius: $style-radius-s;
27
- border-top-left-radius: $style-radius-s;
50
+ border-top-right-radius: $style-radius-m;
51
+ border-top-left-radius: $style-radius-m;
28
52
  width: 100%;
53
+ height: 100%;
29
54
  color: transparent;
55
+ position: absolute;
56
+ top: 0;
57
+ left: 0;
58
+ z-index: 1;
30
59
 
31
60
  span {
32
61
  user-select: none;
@@ -43,9 +72,6 @@
43
72
  .row-label {
44
73
  color: var(--theme-text);
45
74
  }
46
- .collapsible__toggle {
47
- background: var(--theme-elevation-50);
48
- }
49
75
  }
50
76
  &.collapsible--hovered {
51
77
  > .collapsible__toggle-wrap .collapsible__toggle {
@@ -54,57 +80,62 @@
54
80
  }
55
81
  }
56
82
 
57
- &__toggle,
58
83
  &__header-wrap {
59
- padding: var(--toggle-pad-v) var(--toggle-pad-h);
60
- }
61
-
62
- &__header-wrap {
63
- position: absolute;
64
84
  top: 0;
65
85
  right: base(3);
66
86
  bottom: 0;
67
87
  left: 0;
68
88
  pointer-events: none;
69
-
70
- > * {
71
- pointer-events: all;
72
- }
89
+ width: 100%;
73
90
  }
74
91
 
75
92
  &__header-wrap--has-drag-handle {
76
- left: base(0.875);
93
+ left: base(1);
77
94
  }
78
95
 
79
96
  &--collapsed {
80
- .collapsible__toggle {
81
- border-bottom-right-radius: $style-radius-s;
82
- border-bottom-left-radius: $style-radius-s;
97
+ .collapsible__toggle-wrap {
98
+ border-bottom-right-radius: $style-radius-m;
99
+ border-bottom-left-radius: $style-radius-m;
83
100
  }
84
101
  }
85
102
 
86
103
  &__actions-wrap {
87
- position: absolute;
88
- right: var(--toggle-pad-h);
89
- top: var(--toggle-pad-v);
90
104
  pointer-events: none;
91
105
  display: flex;
106
+ gap: base(0.2);
107
+ margin-inline-end: base(0.2);
92
108
  }
93
109
 
94
110
  &__actions {
95
111
  pointer-events: all;
112
+ display: flex;
113
+ align-items: center;
114
+ justify-content: center;
115
+ width: base(1.2);
116
+ height: base(1.2);
117
+
118
+ &.icon {
119
+ padding: base(0.1);
120
+ }
96
121
  }
97
122
 
98
123
  &__indicator {
99
- padding: calc(var(--base) / 4);
100
124
  display: flex;
101
- align-items: flex-start;
125
+ align-items: center;
126
+ justify-content: center;
127
+ width: base(1.2);
128
+ height: base(1.2);
129
+
130
+ &.icon {
131
+ padding: base(0.1);
132
+ }
102
133
  }
103
134
 
104
135
  &__content {
105
136
  background-color: var(--theme-elevation-0);
106
- border-bottom-left-radius: $style-radius-s;
107
- border-bottom-right-radius: $style-radius-s;
137
+ border-bottom-left-radius: $style-radius-m;
138
+ border-bottom-right-radius: $style-radius-m;
108
139
  padding: var(--base);
109
140
  }
110
141