@limetech/lime-elements 39.5.7 → 39.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/lime-elements.cjs.js +1 -1
  3. package/dist/cjs/{limel-action-bar_2.cjs.entry.js → limel-action-bar_3.cjs.entry.js} +111 -93
  4. package/dist/cjs/limel-ai-avatar.cjs.entry.js +1 -1
  5. package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js +6 -6
  6. package/dist/cjs/limel-button-group.cjs.entry.js +7 -8
  7. package/dist/cjs/limel-callout.cjs.entry.js +1 -1
  8. package/dist/cjs/limel-chart.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-chip_2.cjs.entry.js +1 -1
  10. package/dist/cjs/limel-code-diff.cjs.entry.js +1758 -0
  11. package/dist/cjs/limel-code-editor.cjs.entry.js +2 -2
  12. package/dist/cjs/limel-collapsible-section.cjs.entry.js +2 -2
  13. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +2 -2
  14. package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-dialog.cjs.entry.js +2 -2
  16. package/dist/cjs/limel-dock.cjs.entry.js +2 -2
  17. package/dist/cjs/limel-drag-handle.cjs.entry.js +2 -2
  18. package/dist/cjs/limel-email-viewer.cjs.entry.js +2 -2
  19. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +2 -2
  20. package/dist/cjs/limel-file-viewer.cjs.entry.js +1 -1
  21. package/dist/cjs/limel-file.cjs.entry.js +2 -2
  22. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +2 -2
  23. package/dist/cjs/limel-flex-container.cjs.entry.js +1 -1
  24. package/dist/cjs/limel-form.cjs.entry.js +1 -1
  25. package/dist/cjs/limel-grid.cjs.entry.js +1 -1
  26. package/dist/cjs/limel-header.cjs.entry.js +1 -1
  27. package/dist/cjs/limel-help-content.cjs.entry.js +1 -1
  28. package/dist/cjs/limel-help.cjs.entry.js +2 -2
  29. package/dist/cjs/limel-helper-line_2.cjs.entry.js +3 -3
  30. package/dist/cjs/limel-icon-button.cjs.entry.js +1 -1
  31. package/dist/cjs/limel-icon.cjs.entry.js +1 -1
  32. package/dist/cjs/limel-info-tile.cjs.entry.js +2 -2
  33. package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -1
  34. package/dist/cjs/limel-list-item.cjs.entry.js +4 -4
  35. package/dist/cjs/limel-markdown.cjs.entry.js +1 -1
  36. package/dist/cjs/limel-menu-item-meta.cjs.entry.js +1 -1
  37. package/dist/cjs/limel-picker.cjs.entry.js +1 -1
  38. package/dist/cjs/limel-popover_2.cjs.entry.js +2 -2
  39. package/dist/cjs/limel-portal_3.cjs.entry.js +4 -4
  40. package/dist/cjs/limel-profile-picture.cjs.entry.js +1 -1
  41. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +2 -2
  42. package/dist/cjs/limel-radio-button-group.cjs.entry.js +1 -1
  43. package/dist/cjs/limel-radio-button.cjs.entry.js +2 -2
  44. package/dist/cjs/limel-select.cjs.entry.js +1 -1
  45. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  46. package/dist/cjs/limel-slider.cjs.entry.js +1 -1
  47. package/dist/cjs/limel-snackbar.cjs.entry.js +3 -3
  48. package/dist/cjs/limel-split-button.cjs.entry.js +2 -2
  49. package/dist/cjs/limel-tab-bar.cjs.entry.js +2 -2
  50. package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
  51. package/dist/cjs/limel-table.cjs.entry.js +4 -4
  52. package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +120 -0
  53. package/dist/cjs/limel-text-editor.cjs.entry.js +1 -1
  54. package/dist/cjs/loader.cjs.js +1 -1
  55. package/dist/cjs/{translations-BBGWKIVD.js → translations-Bu_0fli7.js} +236 -4
  56. package/dist/collection/collection-manifest.json +1 -0
  57. package/dist/collection/components/button-group/button-group.css +38 -650
  58. package/dist/collection/components/button-group/button-group.js +6 -7
  59. package/dist/collection/components/code-diff/code-diff.css +519 -0
  60. package/dist/collection/components/code-diff/code-diff.js +775 -0
  61. package/dist/collection/components/code-diff/content-utils.js +49 -0
  62. package/dist/collection/components/code-diff/diff-engine.js +308 -0
  63. package/dist/collection/components/code-diff/search-utils.js +41 -0
  64. package/dist/collection/components/code-diff/syntax-highlighter.js +87 -0
  65. package/dist/collection/components/code-diff/types.js +1 -0
  66. package/dist/collection/components/code-editor/code-editor.js +1 -1
  67. package/dist/collection/components/collapsible-section/collapsible-section.js +1 -1
  68. package/dist/collection/components/color-picker/color-picker-palette.js +2 -2
  69. package/dist/collection/components/color-picker/color-picker.js +1 -1
  70. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +1 -1
  71. package/dist/collection/components/dialog/dialog.js +2 -2
  72. package/dist/collection/components/dock/dock.js +2 -2
  73. package/dist/collection/components/drag-handle/drag-handle.js +1 -1
  74. package/dist/collection/components/email-viewer/email-viewer.js +1 -1
  75. package/dist/collection/components/file/file.js +1 -1
  76. package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
  77. package/dist/collection/components/file-input/file-input.js +1 -1
  78. package/dist/collection/components/flex-container/flex-container.js +1 -1
  79. package/dist/collection/components/form/form.js +1 -1
  80. package/dist/collection/components/grid/grid.js +1 -1
  81. package/dist/collection/components/header/header.js +1 -1
  82. package/dist/collection/components/help/help-content.js +1 -1
  83. package/dist/collection/components/help/help.js +2 -2
  84. package/dist/collection/components/helper-line/helper-line.js +2 -2
  85. package/dist/collection/components/icon/icon.js +1 -1
  86. package/dist/collection/components/icon-button/icon-button.js +1 -1
  87. package/dist/collection/components/info-tile/info-tile.js +2 -2
  88. package/dist/collection/components/input-field/input-field.js +1 -1
  89. package/dist/collection/components/list/list.css +2 -1
  90. package/dist/collection/components/list/list.js +1 -1
  91. package/dist/collection/components/list-item/list-item.css +4 -1
  92. package/dist/collection/components/list-item/list-item.js +2 -2
  93. package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +1 -1
  94. package/dist/collection/components/markdown/markdown.js +1 -1
  95. package/dist/collection/components/menu/menu.js +1 -1
  96. package/dist/collection/components/menu-list/menu-list.css +2 -1
  97. package/dist/collection/components/menu-list/menu-list.js +1 -1
  98. package/dist/collection/components/menu-surface/menu-surface.js +1 -1
  99. package/dist/collection/components/notched-outline/notched-outline.js +1 -1
  100. package/dist/collection/components/picker/picker.js +1 -1
  101. package/dist/collection/components/popover/popover.js +1 -1
  102. package/dist/collection/components/popover-surface/popover-surface.js +1 -1
  103. package/dist/collection/components/portal/portal.js +1 -1
  104. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  105. package/dist/collection/components/radio-button-group/radio-button.js +2 -2
  106. package/dist/collection/components/select/select.js +1 -1
  107. package/dist/collection/components/shortcut/shortcut.js +1 -1
  108. package/dist/collection/components/slider/slider.js +1 -1
  109. package/dist/collection/components/snackbar/snackbar.js +2 -2
  110. package/dist/collection/components/spinner/spinner.js +1 -1
  111. package/dist/collection/components/split-button/split-button.js +2 -2
  112. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  113. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  114. package/dist/collection/components/table/table.js +3 -3
  115. package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +3 -3
  116. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +1 -1
  117. package/dist/collection/components/text-editor/text-editor.js +1 -1
  118. package/dist/collection/components/tooltip/tooltip-content.js +1 -1
  119. package/dist/collection/components/tooltip/tooltip.js +2 -2
  120. package/dist/collection/translations/da.js +29 -0
  121. package/dist/collection/translations/de.js +29 -0
  122. package/dist/collection/translations/en.js +29 -0
  123. package/dist/collection/translations/fi.js +29 -0
  124. package/dist/collection/translations/fr.js +33 -4
  125. package/dist/collection/translations/nl.js +29 -0
  126. package/dist/collection/translations/no.js +29 -0
  127. package/dist/collection/translations/sv.js +29 -0
  128. package/dist/esm/lime-elements.js +1 -1
  129. package/dist/esm/{limel-action-bar_2.entry.js → limel-action-bar_3.entry.js} +110 -93
  130. package/dist/esm/limel-ai-avatar.entry.js +1 -1
  131. package/dist/esm/limel-breadcrumbs_7.entry.js +6 -6
  132. package/dist/esm/limel-button-group.entry.js +7 -8
  133. package/dist/esm/limel-callout.entry.js +1 -1
  134. package/dist/esm/limel-chart.entry.js +1 -1
  135. package/dist/esm/limel-chip_2.entry.js +1 -1
  136. package/dist/esm/limel-code-diff.entry.js +1756 -0
  137. package/dist/esm/limel-code-editor.entry.js +2 -2
  138. package/dist/esm/limel-collapsible-section.entry.js +2 -2
  139. package/dist/esm/limel-color-picker-palette.entry.js +2 -2
  140. package/dist/esm/limel-color-picker.entry.js +1 -1
  141. package/dist/esm/limel-dialog.entry.js +2 -2
  142. package/dist/esm/limel-dock.entry.js +2 -2
  143. package/dist/esm/limel-drag-handle.entry.js +2 -2
  144. package/dist/esm/limel-email-viewer.entry.js +2 -2
  145. package/dist/esm/limel-file-dropzone_2.entry.js +2 -2
  146. package/dist/esm/limel-file-viewer.entry.js +1 -1
  147. package/dist/esm/limel-file.entry.js +2 -2
  148. package/dist/esm/limel-flatpickr-adapter.entry.js +2 -2
  149. package/dist/esm/limel-flex-container.entry.js +1 -1
  150. package/dist/esm/limel-form.entry.js +1 -1
  151. package/dist/esm/limel-grid.entry.js +1 -1
  152. package/dist/esm/limel-header.entry.js +1 -1
  153. package/dist/esm/limel-help-content.entry.js +1 -1
  154. package/dist/esm/limel-help.entry.js +2 -2
  155. package/dist/esm/limel-helper-line_2.entry.js +3 -3
  156. package/dist/esm/limel-icon-button.entry.js +1 -1
  157. package/dist/esm/limel-icon.entry.js +1 -1
  158. package/dist/esm/limel-info-tile.entry.js +2 -2
  159. package/dist/esm/limel-linear-progress.entry.js +1 -1
  160. package/dist/esm/limel-list-item.entry.js +4 -4
  161. package/dist/esm/limel-markdown.entry.js +1 -1
  162. package/dist/esm/limel-menu-item-meta.entry.js +1 -1
  163. package/dist/esm/limel-picker.entry.js +1 -1
  164. package/dist/esm/limel-popover_2.entry.js +2 -2
  165. package/dist/esm/limel-portal_3.entry.js +4 -4
  166. package/dist/esm/limel-profile-picture.entry.js +1 -1
  167. package/dist/esm/limel-prosemirror-adapter.entry.js +2 -2
  168. package/dist/esm/limel-radio-button-group.entry.js +1 -1
  169. package/dist/esm/limel-radio-button.entry.js +2 -2
  170. package/dist/esm/limel-select.entry.js +1 -1
  171. package/dist/esm/limel-shortcut.entry.js +1 -1
  172. package/dist/esm/limel-slider.entry.js +1 -1
  173. package/dist/esm/limel-snackbar.entry.js +3 -3
  174. package/dist/esm/limel-split-button.entry.js +2 -2
  175. package/dist/esm/limel-tab-bar.entry.js +2 -2
  176. package/dist/esm/limel-tab-panel.entry.js +1 -1
  177. package/dist/esm/limel-table.entry.js +4 -4
  178. package/dist/esm/limel-text-editor-link-menu.entry.js +118 -0
  179. package/dist/esm/limel-text-editor.entry.js +1 -1
  180. package/dist/esm/loader.js +1 -1
  181. package/dist/esm/{translations-BHybIZJs.js → translations-DVRaJQvC.js} +236 -4
  182. package/dist/lime-elements/lime-elements.esm.js +1 -1
  183. package/dist/lime-elements/{p-58176f7b.entry.js → p-05ff053d.entry.js} +1 -1
  184. package/dist/lime-elements/{p-7dd4e4bb.entry.js → p-08d1b87a.entry.js} +1 -1
  185. package/dist/lime-elements/{p-94f78e7a.entry.js → p-0fa2add8.entry.js} +1 -1
  186. package/dist/lime-elements/{p-40883e25.entry.js → p-1547b9c8.entry.js} +1 -1
  187. package/dist/lime-elements/{p-16a5f421.entry.js → p-1c244f85.entry.js} +1 -1
  188. package/dist/lime-elements/{p-ba9d6d42.entry.js → p-21dc4586.entry.js} +1 -1
  189. package/dist/lime-elements/{p-8e6a36a7.entry.js → p-2292181d.entry.js} +1 -1
  190. package/dist/lime-elements/{p-889d0000.entry.js → p-26bc957e.entry.js} +1 -1
  191. package/dist/lime-elements/{p-d4a51f0a.entry.js → p-287c4fb1.entry.js} +1 -1
  192. package/dist/lime-elements/p-358b277c.entry.js +1 -0
  193. package/dist/lime-elements/{p-f43e4cb8.entry.js → p-44295cc0.entry.js} +1 -1
  194. package/dist/lime-elements/{p-78fffaa9.entry.js → p-5178cc39.entry.js} +1 -1
  195. package/dist/lime-elements/{p-ec5b360a.entry.js → p-518fe33c.entry.js} +2 -2
  196. package/dist/lime-elements/{p-911db0aa.entry.js → p-53b94806.entry.js} +1 -1
  197. package/dist/lime-elements/p-5be668d8.entry.js +1 -0
  198. package/dist/lime-elements/{p-f49e5d8a.entry.js → p-68ffd790.entry.js} +1 -1
  199. package/dist/lime-elements/{p-fdfecf3d.entry.js → p-6a26ea78.entry.js} +1 -1
  200. package/dist/lime-elements/{p-5f593160.entry.js → p-6b05db4a.entry.js} +1 -1
  201. package/dist/lime-elements/p-70e2e60c.entry.js +1 -0
  202. package/dist/lime-elements/{p-3ad102a1.entry.js → p-756f452c.entry.js} +1 -1
  203. package/dist/lime-elements/{p-fa6aea91.entry.js → p-8784a57c.entry.js} +1 -1
  204. package/dist/lime-elements/{p-6d28c7b4.entry.js → p-89dfbd4a.entry.js} +1 -1
  205. package/dist/lime-elements/{p-5280d11e.entry.js → p-8ec4fdee.entry.js} +1 -1
  206. package/dist/lime-elements/{p-1b0eec07.entry.js → p-90f8d2ef.entry.js} +1 -1
  207. package/dist/lime-elements/p-965288d2.entry.js +1 -0
  208. package/dist/lime-elements/{p-8b77d2a8.entry.js → p-9908b57a.entry.js} +1 -1
  209. package/dist/lime-elements/{p-2d7a2258.entry.js → p-9e3e4f2c.entry.js} +1 -1
  210. package/dist/lime-elements/p-DVRaJQvC.js +1 -0
  211. package/dist/lime-elements/{p-971f9c16.entry.js → p-a2295fa6.entry.js} +1 -1
  212. package/dist/lime-elements/{p-14bfd676.entry.js → p-a489f4b0.entry.js} +1 -1
  213. package/dist/lime-elements/{p-d5e954d4.entry.js → p-aeebf410.entry.js} +1 -1
  214. package/dist/lime-elements/{p-f4c9301d.entry.js → p-b11751c9.entry.js} +1 -1
  215. package/dist/lime-elements/{p-a1c1c40d.entry.js → p-b6ccc921.entry.js} +1 -1
  216. package/dist/lime-elements/{p-60f12574.entry.js → p-b95a42ea.entry.js} +1 -1
  217. package/dist/lime-elements/{p-8118cd4f.entry.js → p-bb38bb3c.entry.js} +1 -1
  218. package/dist/lime-elements/{p-d93f1c5f.entry.js → p-c3d565e2.entry.js} +1 -1
  219. package/dist/lime-elements/{p-a113dc9d.entry.js → p-c3ff8518.entry.js} +1 -1
  220. package/dist/lime-elements/{p-e00a96bd.entry.js → p-c6b9425b.entry.js} +1 -1
  221. package/dist/lime-elements/{p-373b7df7.entry.js → p-c6e9af7c.entry.js} +1 -1
  222. package/dist/lime-elements/{p-7997c118.entry.js → p-ce22f3da.entry.js} +1 -1
  223. package/dist/lime-elements/{p-8c6dfb19.entry.js → p-d5da5b05.entry.js} +1 -1
  224. package/dist/lime-elements/{p-b255e8e6.entry.js → p-da4429a8.entry.js} +1 -1
  225. package/dist/lime-elements/{p-6aa7cd43.entry.js → p-dcf3cc71.entry.js} +1 -1
  226. package/dist/lime-elements/{p-97f719ae.entry.js → p-de1e5ad9.entry.js} +1 -1
  227. package/dist/lime-elements/{p-13d0ec04.entry.js → p-eaac5ad2.entry.js} +1 -1
  228. package/dist/lime-elements/{p-ce178fbd.entry.js → p-ed8129db.entry.js} +1 -1
  229. package/dist/lime-elements/{p-b92431c8.entry.js → p-ee3afb60.entry.js} +3 -3
  230. package/dist/lime-elements/{p-8eff8a18.entry.js → p-ef75eed9.entry.js} +1 -1
  231. package/dist/lime-elements/{p-46b95d7c.entry.js → p-ef9bb368.entry.js} +1 -1
  232. package/dist/lime-elements/{p-912f53a3.entry.js → p-f70b8487.entry.js} +1 -1
  233. package/dist/lime-elements/{p-d53b8de5.entry.js → p-f9d5513d.entry.js} +1 -1
  234. package/dist/lime-elements/{p-bc4b4e46.entry.js → p-fb6c42a6.entry.js} +1 -1
  235. package/dist/types/components/code-diff/code-diff.d.ts +147 -0
  236. package/dist/types/components/code-diff/content-utils.d.ts +27 -0
  237. package/dist/types/components/code-diff/diff-engine.d.ts +36 -0
  238. package/dist/types/components/code-diff/search-utils.d.ts +30 -0
  239. package/dist/types/components/code-diff/syntax-highlighter.d.ts +19 -0
  240. package/dist/types/components/code-diff/types.d.ts +50 -0
  241. package/dist/types/components.d.ts +175 -0
  242. package/dist/types/translations/da.d.ts +29 -0
  243. package/dist/types/translations/de.d.ts +29 -0
  244. package/dist/types/translations/en.d.ts +29 -0
  245. package/dist/types/translations/fi.d.ts +29 -0
  246. package/dist/types/translations/fr.d.ts +29 -0
  247. package/dist/types/translations/nl.d.ts +29 -0
  248. package/dist/types/translations/no.d.ts +29 -0
  249. package/dist/types/translations/sv.d.ts +29 -0
  250. package/package.json +2 -1
  251. package/dist/cjs/limel-action-bar-item_2.cjs.entry.js +0 -137
  252. package/dist/esm/limel-action-bar-item_2.entry.js +0 -134
  253. package/dist/lime-elements/p-854a3ffe.entry.js +0 -1
  254. package/dist/lime-elements/p-8f2ac274.entry.js +0 -1
  255. package/dist/lime-elements/p-BHybIZJs.js +0 -1
  256. package/dist/lime-elements/p-accc6cc0.entry.js +0 -1
@@ -62,19 +62,18 @@ export class ButtonGroup {
62
62
  }
63
63
  render() {
64
64
  const classes = {
65
- 'mdc-chip-set': true,
65
+ 'button-group': true,
66
66
  disabled: this.disabled,
67
- 'mdc-chip-set--choice': true,
68
67
  };
69
- return (h("div", { key: 'aefd9b0de75bba3d51c1384284f897527bb4589b', class: classes, role: "grid" }, this.value.map(this.renderButton)));
68
+ return (h("div", { key: 'ebc93622c528f770fe1fba2da1004df6b111cafc', class: classes, role: "grid" }, this.value.map(this.renderButton)));
70
69
  }
71
70
  renderButton(button) {
72
71
  // Prefix with 'b' because html IDs cannot start with a digit,
73
72
  // and we need to differentiate from the ID on the limel-icon. /Ads
74
73
  const buttonId = `b${button.id}`;
75
74
  const classes = {
76
- 'mdc-chip': true,
77
- 'mdc-chip--selected': this.isButtonChecked(button),
75
+ button: true,
76
+ 'button--selected': this.isButtonChecked(button),
78
77
  };
79
78
  return (h("div", { class: classes, role: "row" }, h("span", { role: "gridcell" }, h("input", { type: "radio", name: this.radioGroupName, checked: this.isButtonChecked(button), id: buttonId, onChange: this.onChange }), h("label", { htmlFor: buttonId }, this.renderContent(button), this.renderBadge(button)))));
80
79
  }
@@ -88,14 +87,14 @@ export class ButtonGroup {
88
87
  return button.id === this.selectedButtonId;
89
88
  }
90
89
  renderLabel(button) {
91
- return h("span", { class: "mdc-chip__text" }, button.title);
90
+ return h("span", { class: "button__label" }, button.title);
92
91
  }
93
92
  renderIcon(button) {
94
93
  // Prefix with 'i' because html IDs cannot start with a digit,
95
94
  // and we need to differentiate from the "buttonId". /Ads
96
95
  const iconId = `i${button.id}`;
97
96
  return [
98
- h("limel-icon", { id: iconId, class: "mdc-chip__icon", "aria-label": button.title, name: button.icon, size: "small", badge: true }),
97
+ h("limel-icon", { id: iconId, class: "button__icon", "aria-label": button.title, name: button.icon, size: "small", badge: true }),
99
98
  h("limel-tooltip", { elementId: iconId, label: button.title }),
100
99
  ];
101
100
  }
@@ -0,0 +1,519 @@
1
+ @charset "UTF-8";
2
+ /**
3
+ * Note! This file is exported to `dist/scss/` in the published
4
+ * node module, for consumer projects to import.
5
+ * That means this file cannot import from any file that isn't
6
+ * also exported, keeping the same relative path.
7
+ *
8
+ * Or, just don't import anything, that works too.
9
+ */
10
+ /**
11
+ * This can be used on a trigger element that opens a dropdown menu or a popover.
12
+ */
13
+ /**
14
+ * This mixin will mask out the content that is close to
15
+ * the edges of a scrollable area.
16
+ * - If the scrollable content has `overflow-y`, use `vertically`
17
+ * as an argument for `$direction`.
18
+ - If the scrollable content has `overflow-x`, use `horizontally`
19
+ * as an argument for `$direction`.
20
+ *
21
+ * For the visual effect to work smoothly, we need to make sure that
22
+ * the size of the fade-out edge effect is the same as the
23
+ * internal paddings of the scrollable area. Otherwise, content of a
24
+ * scrollable area that does not have a padding will fade out before
25
+ * any scrolling has been done.
26
+ * This is why this mixin already adds paddings, which automatically
27
+ * default to the size of the fade-out effect.
28
+ * This size defaults to `1rem`, but to override the size use
29
+ * `--limel-top-edge-fade-height` & `--limel-bottom-edge-fade-height`
30
+ * when `vertically` argument is set, and use
31
+ * `--limel-left-edge-fade-width` & `--limel-right-edge-fade-width`
32
+ * when `horizontally` argument is set.
33
+ * Of course you can also programmatically increase and decrease the
34
+ * size of these variables for each edge, based on the amount of
35
+ * scrolling that has been done by the user. In this case, make sure
36
+ * to add a custom padding where the mixin is used, to override
37
+ * the paddings that are automatically added by the mixin in the
38
+ * compiled CSS code.
39
+ */
40
+ /**
41
+ * This mixin will add an animated underline to the bottom of an `a` elements.
42
+ * Note that you may need to add `all: unset;` –depending on your use case–
43
+ * before using this mixin.
44
+ */
45
+ /**
46
+ * This mixin creates a cross-browser font stack.
47
+ * - `sans-serif` can be used for the UI of the components.
48
+ * - `monospace` can be used for code.
49
+ *
50
+ * ⚠️ If we change the font stacks, we need to update
51
+ * 1. the consumer documentation in `README.md`, and
52
+ * 2. the CSS variables of `--kompendium-example-font-family`
53
+ * in the `<style>` tag of `index.html`.
54
+ */
55
+ /**
56
+ * This mixin is a hack, using old CSS syntax
57
+ * to enable you to truncate a piece of text,
58
+ * after a certain number of lines.
59
+ */
60
+ /**
61
+ * This mixin will add a chessboard background pattern,
62
+ * typically used to visualize transparency.
63
+ */
64
+ /**
65
+ * Make a container resizable by the user.
66
+ * This is used in the documentations and examples
67
+ * of some components, to demonstrate how the component
68
+ * behaves in a resizable container.
69
+ */
70
+ /**
71
+ * Drag to reorder mixins
72
+ */
73
+ /**
74
+ * The breakpoints below are used to create responsive designs
75
+ * in Lime's products. Therefore, they are here to get distributed
76
+ * to all components in other private repos, which rely on this `mixins`
77
+ * file, to create consistent styles.
78
+ *
79
+ * :::important
80
+ * In very rare cases you should used media queries!
81
+ * Nowadays, there are many better ways of achieving responsive design
82
+ * without media queries. For example, using CSS Grid, Flexbox, and their features.
83
+ * :::
84
+ */
85
+ /**
86
+ * Media query mixins for responsive design based on screen width.
87
+ * Note that these mixins do not detect the device type!
88
+ */
89
+ /**
90
+ * @prop --code-diff-max-height: Maximum height before scrolling, defaults to `none` (no limit).
91
+ * @prop --code-diff-font-size: Font size of the diff content, defaults to `0.75rem`.
92
+ */
93
+ *,
94
+ *::before,
95
+ *::after {
96
+ box-sizing: border-box;
97
+ min-width: 0;
98
+ min-height: 0;
99
+ }
100
+
101
+ :host(limel-code-diff) {
102
+ --diff-added-bg: rgb(var(--color-green-default), 0.1);
103
+ --diff-added-bg-hover: rgb(var(--color-green-default), 0.3);
104
+ --diff-added-highlight-bg: rgb(var(--color-green-default), 0.3);
105
+ --diff-removed-bg: rgb(var(--color-red-default), 0.1);
106
+ --diff-removed-bg-hover: rgb(var(--color-red-default), 0.3);
107
+ --diff-removed-highlight-bg: rgb(var(--color-red-default), 0.3);
108
+ --diff-context-bg: transparent;
109
+ --diff-indicator-added-color: rgb(var(--color-green-default));
110
+ --diff-indicator-removed-color: rgb(var(--color-red-default));
111
+ --diff-stat-added-color: rgb(var(--color-green-default));
112
+ --diff-stat-removed-color: rgb(var(--color-red-default));
113
+ --search-match-bg: rgb(var(--color-amber-default), 0.3);
114
+ --search-match-current-bg: rgb(var(--color-amber-default), 0.6);
115
+ --diff-line-hover-bg: rgb(var(--contrast-800), 0.08);
116
+ --diff-gutter-bg: rgb(var(--contrast-200));
117
+ --diff-gutter-text-color: rgb(var(--contrast-700));
118
+ --diff-text-color: rgb(var(--contrast-1100));
119
+ --diff-border-color: rgb(var(--contrast-400));
120
+ --diff-collapsed-bg: rgb(var(--contrast-200));
121
+ --diff-collapsed-text-color: rgb(var(--contrast-800));
122
+ --diff-header-bg: rgb(var(--contrast-200));
123
+ --diff-empty-text-color: rgb(var(--contrast-700));
124
+ --diff-split-divider-color: rgb(var(--contrast-400));
125
+ --diff-empty-cell-bg: rgb(var(--contrast-100));
126
+ --syntax-string-color: rgb(var(--color-green-dark));
127
+ --syntax-number-color: rgb(var(--color-blue-default));
128
+ --syntax-boolean-color: rgb(var(--color-amber-darker));
129
+ --syntax-key-color: rgb(var(--color-sky-dark));
130
+ --syntax-null-color: rgb(var(--contrast-700));
131
+ --syntax-punctuation-color: rgb(var(--contrast-700));
132
+ --search-bar-bg: rgb(var(--contrast-100));
133
+ --search-bar-border: rgb(var(--contrast-400));
134
+ --limel-code-diff-line-number-padding: 0.25rem;
135
+ font-family: ui-sans-serif, system-ui, sans-serif;
136
+ display: flex;
137
+ flex-direction: column;
138
+ width: 100%;
139
+ height: 100%;
140
+ color: var(--diff-text-color);
141
+ border: 1px solid var(--diff-border-color);
142
+ border-radius: 0.5rem;
143
+ max-height: var(--code-diff-max-height, none);
144
+ }
145
+
146
+ .screen-reader-only {
147
+ position: absolute;
148
+ width: 0;
149
+ height: 0;
150
+ margin: -1px;
151
+ padding: 0;
152
+ border: 0;
153
+ overflow: hidden;
154
+ clip: rect(0, 0, 0, 0);
155
+ clip-path: inset(50%);
156
+ white-space: nowrap;
157
+ }
158
+
159
+ .diff-header {
160
+ flex-shrink: 0;
161
+ display: flex;
162
+ align-items: center;
163
+ justify-content: space-between;
164
+ padding: 0.125rem 0.125rem 0.125rem 0.5rem;
165
+ background: var(--diff-header-bg);
166
+ border-bottom: 1px solid var(--diff-border-color);
167
+ font-family: ui-sans-serif, system-ui, sans-serif;
168
+ font-size: 0.75rem;
169
+ border-radius: 0.5rem 0.5rem 0 0;
170
+ }
171
+
172
+ .diff-header__labels {
173
+ display: flex;
174
+ gap: 0.75rem;
175
+ font-weight: 500;
176
+ }
177
+
178
+ .diff-header__old,
179
+ .diff-header__new {
180
+ padding: 0.125rem 0.25rem;
181
+ border-radius: 0.25rem;
182
+ box-shadow: var(--shadow-brighten-edges-outside);
183
+ }
184
+
185
+ .diff-header__old {
186
+ background-color: var(--diff-removed-bg);
187
+ }
188
+
189
+ .diff-header__new {
190
+ background-color: var(--diff-added-bg);
191
+ }
192
+
193
+ .diff-header__actions {
194
+ display: flex;
195
+ align-items: center;
196
+ gap: 0.25rem;
197
+ }
198
+
199
+ .search-toggle--active {
200
+ --limel-theme-on-surface-color: var(--mdc-theme-primary);
201
+ }
202
+
203
+ .diff-header__stats {
204
+ font-family: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;
205
+ display: flex;
206
+ gap: 0.5rem;
207
+ margin-right: 0.5rem;
208
+ }
209
+
210
+ .stat {
211
+ font-family: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;
212
+ font-size: 0.8125rem;
213
+ font-weight: 600;
214
+ }
215
+ .stat--added {
216
+ color: var(--diff-stat-added-color);
217
+ }
218
+ .stat--removed {
219
+ color: var(--diff-stat-removed-color);
220
+ }
221
+
222
+ .search-bar {
223
+ flex-shrink: 0;
224
+ display: flex;
225
+ align-items: center;
226
+ gap: 0.25rem;
227
+ padding: 0.25rem 0 0.25rem 0.25rem;
228
+ background: var(--search-bar-bg);
229
+ border-bottom: 1px solid var(--search-bar-border);
230
+ }
231
+ .search-bar limel-action-bar {
232
+ --action-bar-background-color: transparent;
233
+ min-width: 2.5rem;
234
+ flex-shrink: 0;
235
+ }
236
+ .search-bar limel-input-field {
237
+ flex-grow: 1;
238
+ }
239
+ .search-bar__count {
240
+ color: var(--diff-collapsed-text-color);
241
+ white-space: nowrap;
242
+ min-width: 4rem;
243
+ text-align: center;
244
+ font-size: 0.75rem;
245
+ }
246
+
247
+ .search-match {
248
+ background: var(--search-match-bg);
249
+ color: inherit;
250
+ border-radius: 0.125rem;
251
+ }
252
+ .search-match--current {
253
+ background: var(--search-match-current-bg);
254
+ outline: 1px solid rgb(var(--color-amber-dark), 0.5);
255
+ }
256
+
257
+ .change-group {
258
+ position: relative;
259
+ }
260
+ .change-group__copy {
261
+ --icon-background-color: rgb(var(--contrast-100));
262
+ scale: 0.9;
263
+ position: absolute;
264
+ top: 0.125rem;
265
+ right: 0.5rem;
266
+ display: none;
267
+ }
268
+ .change-group:hover .change-group__copy {
269
+ display: inline-flex;
270
+ }
271
+
272
+ .diff-body {
273
+ flex-grow: 1;
274
+ overflow-x: auto;
275
+ font-family: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;
276
+ font-size: var(--code-diff-font-size, 0.75rem);
277
+ }
278
+ .diff-body:focus {
279
+ outline: none;
280
+ }
281
+ .diff-body:focus-visible {
282
+ outline: 0.125rem solid rgb(var(--color-blue-default));
283
+ outline-offset: 0.125rem;
284
+ border-radius: 0.25rem;
285
+ }
286
+
287
+ .diff-line {
288
+ display: flex;
289
+ align-items: stretch;
290
+ min-height: 1.25rem;
291
+ line-height: 1.25rem;
292
+ }
293
+ .diff-line:hover .line-content {
294
+ transition-duration: 0.2s;
295
+ background: var(--diff-line-hover-bg);
296
+ }
297
+ .diff-line--added .line-content {
298
+ background: var(--diff-added-bg);
299
+ }
300
+ .diff-line--added .line-indicator {
301
+ color: var(--diff-indicator-added-color);
302
+ }
303
+ .diff-line--added:hover .line-content {
304
+ background: var(--diff-added-bg-hover);
305
+ }
306
+ .diff-line--removed .line-content {
307
+ background: var(--diff-removed-bg);
308
+ }
309
+ .diff-line--removed .line-indicator {
310
+ color: var(--diff-indicator-removed-color);
311
+ }
312
+ .diff-line--removed:hover .line-content {
313
+ background: var(--diff-removed-bg-hover);
314
+ }
315
+ .diff-line--context .line-content {
316
+ background: var(--diff-context-bg);
317
+ }
318
+ .diff-line--collapsed {
319
+ display: flex;
320
+ justify-content: center;
321
+ background: var(--diff-collapsed-bg);
322
+ border-top: 1px solid var(--diff-border-color);
323
+ border-bottom: 1px solid var(--diff-border-color);
324
+ }
325
+ .diff-line--focused {
326
+ outline: 0.125rem solid rgb(var(--color-blue-default));
327
+ outline-offset: -0.125rem;
328
+ z-index: 1;
329
+ }
330
+
331
+ .line-number {
332
+ display: inline-flex;
333
+ align-items: center;
334
+ justify-content: flex-end;
335
+ min-width: calc(1ch + 2 * var(--limel-code-diff-line-number-padding));
336
+ width: var(--limel-line-number-min-width);
337
+ padding: 0 var(--limel-code-diff-line-number-padding);
338
+ background: var(--diff-gutter-bg);
339
+ color: var(--diff-gutter-text-color);
340
+ user-select: none;
341
+ text-align: right;
342
+ flex-shrink: 0;
343
+ }
344
+ .line-number--old {
345
+ border-right: 1px solid var(--diff-border-color);
346
+ }
347
+
348
+ .line-indicator {
349
+ display: inline-flex;
350
+ align-items: center;
351
+ justify-content: center;
352
+ width: 1.25rem;
353
+ flex-shrink: 0;
354
+ user-select: none;
355
+ font-weight: 600;
356
+ background: var(--diff-gutter-bg);
357
+ }
358
+
359
+ .line-content {
360
+ flex: 1;
361
+ padding: 0 0.75rem;
362
+ white-space: pre;
363
+ overflow-x: visible;
364
+ min-width: 0;
365
+ transition: background-color 0.6s ease;
366
+ }
367
+
368
+ mark {
369
+ background: transparent;
370
+ color: inherit;
371
+ border-radius: 0.125rem;
372
+ }
373
+ mark.segment--added {
374
+ background: var(--diff-added-highlight-bg);
375
+ }
376
+ mark.segment--removed {
377
+ background: var(--diff-removed-highlight-bg);
378
+ }
379
+
380
+ .syntax--string {
381
+ color: var(--syntax-string-color);
382
+ }
383
+
384
+ .syntax--number {
385
+ color: var(--syntax-number-color);
386
+ }
387
+
388
+ .syntax--boolean {
389
+ color: var(--syntax-boolean-color);
390
+ }
391
+
392
+ .syntax--null {
393
+ color: var(--syntax-null-color);
394
+ font-style: italic;
395
+ }
396
+
397
+ .syntax--key {
398
+ color: var(--syntax-key-color);
399
+ }
400
+
401
+ .syntax--punctuation {
402
+ color: var(--syntax-punctuation-color);
403
+ }
404
+
405
+ .expand-button {
406
+ all: unset;
407
+ transition: color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);
408
+ cursor: pointer;
409
+ color: var(--limel-theme-on-surface-color);
410
+ background-color: transparent;
411
+ }
412
+ .expand-button:hover, .expand-button:focus, .expand-button:focus-visible {
413
+ will-change: color, background-color, box-shadow, transform;
414
+ }
415
+ .expand-button:hover, .expand-button:focus-visible {
416
+ transform: translate3d(0, 0.01rem, 0);
417
+ color: var(--limel-theme-on-surface-color);
418
+ background-color: var(--lime-elevated-surface-background-color);
419
+ }
420
+ .expand-button:hover {
421
+ box-shadow: var(--button-shadow-hovered);
422
+ }
423
+ .expand-button:active {
424
+ --limel-clickable-transform-timing-function: cubic-bezier(
425
+ 0.83,
426
+ -0.15,
427
+ 0.49,
428
+ 1.16
429
+ );
430
+ transform: translate3d(0, 0.05rem, 0);
431
+ box-shadow: var(--button-shadow-pressed);
432
+ }
433
+ .expand-button:hover, .expand-button:active {
434
+ --limel-clickable-transition-speed: 0.2s;
435
+ --limel-clickable-transform-speed: 0.16s;
436
+ }
437
+ .expand-button:focus {
438
+ outline: none;
439
+ }
440
+ .expand-button:focus-visible {
441
+ outline: none;
442
+ box-shadow: var(--shadow-depth-8-focused);
443
+ }
444
+ .expand-button {
445
+ padding: 0 0.75rem;
446
+ border-radius: 0.25rem;
447
+ margin: 0.125rem;
448
+ width: calc(100% - 0.25rem);
449
+ text-align: center;
450
+ }
451
+
452
+ .diff-empty {
453
+ padding: 2rem;
454
+ text-align: center;
455
+ color: var(--diff-empty-text-color);
456
+ font-style: italic;
457
+ }
458
+
459
+ .diff-line--split {
460
+ display: flex;
461
+ align-items: stretch;
462
+ min-height: 1.25rem;
463
+ line-height: 1.25rem;
464
+ }
465
+ .diff-line--split:hover .split-content--removed {
466
+ background: var(--diff-removed-bg-hover);
467
+ }
468
+ .diff-line--split:hover .split-content--added {
469
+ background: var(--diff-added-bg-hover);
470
+ }
471
+ .diff-line--split:hover .split-content--context {
472
+ background: var(--diff-line-hover-bg);
473
+ }
474
+
475
+ .split-content {
476
+ flex: 1;
477
+ padding: 0 0.75rem;
478
+ white-space: pre;
479
+ overflow-x: visible;
480
+ min-width: 0;
481
+ }
482
+ .split-content--left {
483
+ border-right: 1px solid var(--diff-split-divider-color);
484
+ }
485
+ .split-content--removed {
486
+ background: var(--diff-removed-bg);
487
+ }
488
+ .split-content--added {
489
+ background: var(--diff-added-bg);
490
+ }
491
+ .split-content--context {
492
+ background: var(--diff-context-bg);
493
+ }
494
+ .split-content--empty {
495
+ background: var(--diff-empty-cell-bg);
496
+ }
497
+
498
+ .split-content--left {
499
+ overflow-x: hidden;
500
+ text-overflow: ellipsis;
501
+ }
502
+
503
+ .change-group:has(.diff-line--split) > .change-group__copy {
504
+ right: calc(50% - var(--limel-line-number-min-width));
505
+ }
506
+
507
+ :host(limel-code-diff[line-wrapping]) .diff-body {
508
+ overflow-x: hidden;
509
+ }
510
+ :host(limel-code-diff[line-wrapping]) .line-content,
511
+ :host(limel-code-diff[line-wrapping]) .split-content {
512
+ white-space: pre-wrap;
513
+ overflow-wrap: break-word;
514
+ word-break: break-all;
515
+ }
516
+ :host(limel-code-diff[line-wrapping]) .diff-line--split .split-content {
517
+ flex: 1 1 0%;
518
+ max-width: calc(50% - var(--limel-line-number-min-width));
519
+ }