@limetech/lime-elements 39.1.4 → 39.2.1

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 (218) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/{checkbox.template-VElWkDR9.js → checkbox.template-CHtKKyY1.js} +1 -1
  3. package/dist/cjs/{index-Ddjrlc-6.js → index-BjHIBY-I.js} +134 -72
  4. package/dist/cjs/lime-elements.cjs.js +2 -2
  5. package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +1 -1
  6. package/dist/cjs/limel-action-bar-item_2.cjs.entry.js +1 -1
  7. package/dist/cjs/limel-action-bar_2.cjs.entry.js +1 -1
  8. package/dist/cjs/limel-ai-avatar.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-badge.cjs.entry.js +1 -1
  10. package/dist/cjs/limel-banner.cjs.entry.js +1 -1
  11. package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js +1 -1
  12. package/dist/cjs/limel-button-group.cjs.entry.js +1 -1
  13. package/dist/cjs/limel-button.cjs.entry.js +1 -1
  14. package/dist/cjs/limel-callout.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-card.cjs.entry.js +1 -1
  16. package/dist/cjs/limel-chart.cjs.entry.js +1 -1
  17. package/dist/cjs/limel-checkbox.cjs.entry.js +2 -2
  18. package/dist/cjs/limel-chip_2.cjs.entry.js +1 -1
  19. package/dist/cjs/limel-circular-progress.cjs.entry.js +1 -1
  20. package/dist/cjs/limel-code-editor.cjs.entry.js +1 -1
  21. package/dist/cjs/limel-collapsible-section.cjs.entry.js +1 -1
  22. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +1 -1
  23. package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
  24. package/dist/cjs/limel-config.cjs.entry.js +1 -1
  25. package/dist/cjs/limel-date-picker.cjs.entry.js +1 -1
  26. package/dist/cjs/limel-dialog.cjs.entry.js +1 -1
  27. package/dist/cjs/limel-dock-button.cjs.entry.js +1 -1
  28. package/dist/cjs/limel-dock.cjs.entry.js +1 -1
  29. package/dist/cjs/limel-drag-handle.cjs.entry.js +1 -1
  30. package/dist/cjs/limel-dynamic-label.cjs.entry.js +1 -1
  31. package/dist/cjs/limel-email-viewer.cjs.entry.js +1 -1
  32. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +1 -1
  33. package/dist/cjs/limel-file-viewer.cjs.entry.js +9 -4
  34. package/dist/cjs/limel-file.cjs.entry.js +1 -1
  35. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +5 -5
  36. package/dist/cjs/limel-flex-container.cjs.entry.js +1 -1
  37. package/dist/cjs/limel-form.cjs.entry.js +69 -30
  38. package/dist/cjs/limel-grid.cjs.entry.js +1 -1
  39. package/dist/cjs/limel-header.cjs.entry.js +1 -1
  40. package/dist/cjs/limel-help-content.cjs.entry.js +1 -1
  41. package/dist/cjs/limel-help.cjs.entry.js +1 -1
  42. package/dist/cjs/limel-helper-line_2.cjs.entry.js +1 -1
  43. package/dist/cjs/limel-icon-button.cjs.entry.js +1 -1
  44. package/dist/cjs/limel-icon.cjs.entry.js +1 -1
  45. package/dist/cjs/limel-info-tile.cjs.entry.js +1 -1
  46. package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -1
  47. package/dist/cjs/limel-list-item.cjs.entry.js +2 -2
  48. package/dist/cjs/limel-markdown.cjs.entry.js +1 -1
  49. package/dist/cjs/limel-menu-item-meta.cjs.entry.js +1 -1
  50. package/dist/cjs/limel-picker.cjs.entry.js +1 -1
  51. package/dist/cjs/limel-popover_2.cjs.entry.js +1 -1
  52. package/dist/cjs/limel-portal_3.cjs.entry.js +1 -1
  53. package/dist/cjs/limel-profile-picture.cjs.entry.js +1 -1
  54. package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
  55. package/dist/cjs/limel-progress-flow.cjs.entry.js +1 -1
  56. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +4 -4
  57. package/dist/cjs/limel-radio-button-group.cjs.entry.js +1 -1
  58. package/dist/cjs/limel-radio-button.cjs.entry.js +1 -1
  59. package/dist/cjs/limel-select.cjs.entry.js +1 -1
  60. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  61. package/dist/cjs/limel-slider.cjs.entry.js +1 -1
  62. package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
  63. package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
  64. package/dist/cjs/limel-switch.cjs.entry.js +1 -1
  65. package/dist/cjs/limel-tab-bar.cjs.entry.js +1 -1
  66. package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
  67. package/dist/cjs/limel-table.cjs.entry.js +1 -1
  68. package/dist/cjs/limel-text-editor.cjs.entry.js +1 -1
  69. package/dist/cjs/loader.cjs.js +1 -1
  70. package/dist/collection/collection-manifest.json +1 -1
  71. package/dist/collection/components/email-viewer/sanitize-email-html.js +8 -3
  72. package/dist/collection/components/form/fields/object-field.js +1 -21
  73. package/dist/collection/components/form/form.js +2 -1
  74. package/dist/collection/components/form/widgets/code-editor.js +66 -6
  75. package/dist/esm/{checkbox.template-BB2t2jwT.js → checkbox.template-CfWJ3CAC.js} +1 -1
  76. package/dist/esm/{index-xvTBZcD2.js → index-DBTJNfo7.js} +134 -72
  77. package/dist/esm/lime-elements.js +3 -3
  78. package/dist/esm/limel-3d-hover-effect-glow.entry.js +1 -1
  79. package/dist/esm/limel-action-bar-item_2.entry.js +1 -1
  80. package/dist/esm/limel-action-bar_2.entry.js +1 -1
  81. package/dist/esm/limel-ai-avatar.entry.js +1 -1
  82. package/dist/esm/limel-badge.entry.js +1 -1
  83. package/dist/esm/limel-banner.entry.js +1 -1
  84. package/dist/esm/limel-breadcrumbs_7.entry.js +1 -1
  85. package/dist/esm/limel-button-group.entry.js +1 -1
  86. package/dist/esm/limel-button.entry.js +1 -1
  87. package/dist/esm/limel-callout.entry.js +1 -1
  88. package/dist/esm/limel-card.entry.js +1 -1
  89. package/dist/esm/limel-chart.entry.js +1 -1
  90. package/dist/esm/limel-checkbox.entry.js +2 -2
  91. package/dist/esm/limel-chip_2.entry.js +1 -1
  92. package/dist/esm/limel-circular-progress.entry.js +1 -1
  93. package/dist/esm/limel-code-editor.entry.js +1 -1
  94. package/dist/esm/limel-collapsible-section.entry.js +1 -1
  95. package/dist/esm/limel-color-picker-palette.entry.js +1 -1
  96. package/dist/esm/limel-color-picker.entry.js +1 -1
  97. package/dist/esm/limel-config.entry.js +1 -1
  98. package/dist/esm/limel-date-picker.entry.js +1 -1
  99. package/dist/esm/limel-dialog.entry.js +1 -1
  100. package/dist/esm/limel-dock-button.entry.js +1 -1
  101. package/dist/esm/limel-dock.entry.js +1 -1
  102. package/dist/esm/limel-drag-handle.entry.js +1 -1
  103. package/dist/esm/limel-dynamic-label.entry.js +1 -1
  104. package/dist/esm/limel-email-viewer.entry.js +1 -1
  105. package/dist/esm/limel-file-dropzone_2.entry.js +1 -1
  106. package/dist/esm/limel-file-viewer.entry.js +9 -4
  107. package/dist/esm/limel-file.entry.js +1 -1
  108. package/dist/esm/limel-flatpickr-adapter.entry.js +5 -5
  109. package/dist/esm/limel-flex-container.entry.js +1 -1
  110. package/dist/esm/limel-form.entry.js +69 -30
  111. package/dist/esm/limel-grid.entry.js +1 -1
  112. package/dist/esm/limel-header.entry.js +1 -1
  113. package/dist/esm/limel-help-content.entry.js +1 -1
  114. package/dist/esm/limel-help.entry.js +1 -1
  115. package/dist/esm/limel-helper-line_2.entry.js +1 -1
  116. package/dist/esm/limel-icon-button.entry.js +1 -1
  117. package/dist/esm/limel-icon.entry.js +1 -1
  118. package/dist/esm/limel-info-tile.entry.js +1 -1
  119. package/dist/esm/limel-linear-progress.entry.js +1 -1
  120. package/dist/esm/limel-list-item.entry.js +2 -2
  121. package/dist/esm/limel-markdown.entry.js +1 -1
  122. package/dist/esm/limel-menu-item-meta.entry.js +1 -1
  123. package/dist/esm/limel-picker.entry.js +1 -1
  124. package/dist/esm/limel-popover_2.entry.js +1 -1
  125. package/dist/esm/limel-portal_3.entry.js +1 -1
  126. package/dist/esm/limel-profile-picture.entry.js +1 -1
  127. package/dist/esm/limel-progress-flow-item.entry.js +1 -1
  128. package/dist/esm/limel-progress-flow.entry.js +1 -1
  129. package/dist/esm/limel-prosemirror-adapter.entry.js +4 -4
  130. package/dist/esm/limel-radio-button-group.entry.js +1 -1
  131. package/dist/esm/limel-radio-button.entry.js +1 -1
  132. package/dist/esm/limel-select.entry.js +1 -1
  133. package/dist/esm/limel-shortcut.entry.js +1 -1
  134. package/dist/esm/limel-slider.entry.js +1 -1
  135. package/dist/esm/limel-snackbar.entry.js +1 -1
  136. package/dist/esm/limel-split-button.entry.js +1 -1
  137. package/dist/esm/limel-switch.entry.js +1 -1
  138. package/dist/esm/limel-tab-bar.entry.js +1 -1
  139. package/dist/esm/limel-tab-panel.entry.js +1 -1
  140. package/dist/esm/limel-table.entry.js +1 -1
  141. package/dist/esm/limel-text-editor.entry.js +1 -1
  142. package/dist/esm/loader.js +2 -2
  143. package/dist/lime-elements/lime-elements.esm.js +1 -1
  144. package/dist/lime-elements/{p-BlsZTyGA.js → p--9pvUs5M.js} +1 -1
  145. package/dist/lime-elements/p-00e54ccf.entry.js +1 -0
  146. package/dist/lime-elements/{p-4f6e3057.entry.js → p-10ba834c.entry.js} +1 -1
  147. package/dist/lime-elements/{p-59a522ee.entry.js → p-13ba3044.entry.js} +1 -1
  148. package/dist/lime-elements/{p-df1fa930.entry.js → p-13d0ec04.entry.js} +1 -1
  149. package/dist/lime-elements/{p-97952658.entry.js → p-16a5f421.entry.js} +1 -1
  150. package/dist/lime-elements/{p-28dae22e.entry.js → p-198f3179.entry.js} +1 -1
  151. package/dist/lime-elements/{p-e05ad4f8.entry.js → p-1b0eec07.entry.js} +1 -1
  152. package/dist/lime-elements/{p-64cc5094.entry.js → p-1c6dd14c.entry.js} +1 -1
  153. package/dist/lime-elements/{p-7464e43d.entry.js → p-268a695b.entry.js} +1 -1
  154. package/dist/lime-elements/{p-51565372.entry.js → p-33bd5212.entry.js} +1 -1
  155. package/dist/lime-elements/{p-bfaaa5ba.entry.js → p-3ad102a1.entry.js} +1 -1
  156. package/dist/lime-elements/{p-278356b3.entry.js → p-40883e25.entry.js} +1 -1
  157. package/dist/lime-elements/{p-5d5f0a73.entry.js → p-444c7966.entry.js} +1 -1
  158. package/dist/lime-elements/{p-cce53162.entry.js → p-4610d398.entry.js} +1 -1
  159. package/dist/lime-elements/{p-521a0204.entry.js → p-46b95d7c.entry.js} +1 -1
  160. package/dist/lime-elements/{p-1d71e9c8.entry.js → p-4bac6803.entry.js} +1 -1
  161. package/dist/lime-elements/{p-2d31cf0d.entry.js → p-4db1033c.entry.js} +1 -1
  162. package/dist/lime-elements/{p-1244d687.entry.js → p-50300a44.entry.js} +1 -1
  163. package/dist/lime-elements/{p-68b1605f.entry.js → p-5280d11e.entry.js} +1 -1
  164. package/dist/lime-elements/{p-083b24bb.entry.js → p-57c53ed4.entry.js} +1 -1
  165. package/dist/lime-elements/{p-3130d348.entry.js → p-58176f7b.entry.js} +1 -1
  166. package/dist/lime-elements/{p-982b9f50.entry.js → p-5c804a58.entry.js} +1 -1
  167. package/dist/lime-elements/{p-54d85ae4.entry.js → p-5da0315f.entry.js} +1 -1
  168. package/dist/lime-elements/{p-a9f3f90c.entry.js → p-5def4700.entry.js} +1 -1
  169. package/dist/lime-elements/{p-8053727c.entry.js → p-5f593160.entry.js} +1 -1
  170. package/dist/lime-elements/{p-96884caf.entry.js → p-60f12574.entry.js} +1 -1
  171. package/dist/lime-elements/{p-e1656821.entry.js → p-644911cc.entry.js} +1 -1
  172. package/dist/lime-elements/{p-f60ea7c6.entry.js → p-73655c23.entry.js} +1 -1
  173. package/dist/lime-elements/{p-3ec31835.entry.js → p-78fffaa9.entry.js} +1 -1
  174. package/dist/lime-elements/{p-3000785f.entry.js → p-7dd4e4bb.entry.js} +1 -1
  175. package/dist/lime-elements/{p-2ef38dac.entry.js → p-8118cd4f.entry.js} +1 -1
  176. package/dist/lime-elements/{p-494f880b.entry.js → p-854a3ffe.entry.js} +1 -1
  177. package/dist/lime-elements/{p-ff845f5c.entry.js → p-889d0000.entry.js} +1 -1
  178. package/dist/lime-elements/{p-770981e6.entry.js → p-8c6dfb19.entry.js} +1 -1
  179. package/dist/lime-elements/{p-21aef7f4.entry.js → p-8e6a36a7.entry.js} +1 -1
  180. package/dist/lime-elements/{p-752df4bf.entry.js → p-8ec92025.entry.js} +1 -1
  181. package/dist/lime-elements/{p-67a2c7f5.entry.js → p-8eff8a18.entry.js} +1 -1
  182. package/dist/lime-elements/{p-9a8d6440.entry.js → p-911db0aa.entry.js} +1 -1
  183. package/dist/lime-elements/{p-e975cc29.entry.js → p-912f53a3.entry.js} +1 -1
  184. package/dist/lime-elements/{p-00fdb26c.entry.js → p-97f719ae.entry.js} +1 -1
  185. package/dist/lime-elements/p-DBTJNfo7.js +2 -0
  186. package/dist/lime-elements/{p-95fb9ef8.entry.js → p-a855de67.entry.js} +1 -1
  187. package/dist/lime-elements/{p-3c933811.entry.js → p-accc6cc0.entry.js} +1 -1
  188. package/dist/lime-elements/{p-c2478225.entry.js → p-b04514b0.entry.js} +1 -1
  189. package/dist/lime-elements/{p-38097fa1.entry.js → p-b13d7896.entry.js} +1 -1
  190. package/dist/lime-elements/{p-52098c47.entry.js → p-b255e8e6.entry.js} +1 -1
  191. package/dist/lime-elements/{p-1e5b18cc.entry.js → p-b8a31121.entry.js} +1 -1
  192. package/dist/lime-elements/{p-2f788e92.entry.js → p-b92431c8.entry.js} +4 -4
  193. package/dist/lime-elements/p-bc4b4e46.entry.js +7 -0
  194. package/dist/lime-elements/{p-bbba1cfd.entry.js → p-c509ec9a.entry.js} +1 -1
  195. package/dist/lime-elements/{p-8a2b2fac.entry.js → p-c5f15334.entry.js} +1 -1
  196. package/dist/lime-elements/{p-e6b0e0a2.entry.js → p-caaab537.entry.js} +1 -1
  197. package/dist/lime-elements/{p-693cbb67.entry.js → p-d53b8de5.entry.js} +1 -1
  198. package/dist/lime-elements/{p-5af72e1b.entry.js → p-d5bbfe2c.entry.js} +1 -1
  199. package/dist/lime-elements/{p-74fbf987.entry.js → p-d6d177bc.entry.js} +1 -1
  200. package/dist/lime-elements/{p-3e6ce4e1.entry.js → p-d8936f4d.entry.js} +1 -1
  201. package/dist/lime-elements/{p-3b299849.entry.js → p-d9a7a188.entry.js} +1 -1
  202. package/dist/lime-elements/{p-44396c0d.entry.js → p-dd8f49ca.entry.js} +1 -1
  203. package/dist/lime-elements/{p-c7f2e189.entry.js → p-e00a96bd.entry.js} +1 -1
  204. package/dist/lime-elements/{p-af5f2052.entry.js → p-e78739e2.entry.js} +1 -1
  205. package/dist/lime-elements/{p-d4fea438.entry.js → p-ee7d2cf9.entry.js} +1 -1
  206. package/dist/lime-elements/{p-504ae59f.entry.js → p-eec6e88c.entry.js} +1 -1
  207. package/dist/lime-elements/{p-aea52308.entry.js → p-f49e5d8a.entry.js} +1 -1
  208. package/dist/lime-elements/{p-f532b60f.entry.js → p-fce93153.entry.js} +1 -1
  209. package/dist/lime-elements/{p-80f9f2d3.entry.js → p-fdfecf3d.entry.js} +1 -1
  210. package/dist/types/components/form/fields/object-field.d.ts +0 -3
  211. package/dist/types/components/form/form.d.ts +1 -0
  212. package/dist/types/components/form/widgets/code-editor.d.ts +11 -7
  213. package/dist/types/components.d.ts +718 -150
  214. package/dist/types/stencil-public-runtime.d.ts +23 -2
  215. package/package.json +2 -2
  216. package/dist/lime-elements/p-7c37a99e.entry.js +0 -1
  217. package/dist/lime-elements/p-7ed97446.entry.js +0 -7
  218. package/dist/lime-elements/p-xvTBZcD2.js +0 -2
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Ddjrlc-6.js');
3
+ var index = require('./index-BjHIBY-I.js');
4
4
  var randomString = require('./random-string-BTzDB2ee.js');
5
5
  var ponyfill = require('./ponyfill-CNdYytGF.js');
6
6
  var component = require('./component--XvTU1MI.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Ddjrlc-6.js');
3
+ var index = require('./index-BjHIBY-I.js');
4
4
  var translations = require('./translations-B0hzD08N.js');
5
5
  var randomString = require('./random-string-BTzDB2ee.js');
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Ddjrlc-6.js');
3
+ var index = require('./index-BjHIBY-I.js');
4
4
 
5
5
  const splitButtonCss = () => `@charset "UTF-8";:host(limel-split-button.has-menu){--button-padding-right:2rem}:host(limel-split-button){display:inline-flex;isolation:isolate}:host(limel-split-button) *{box-sizing:border-box}limel-button{width:100%}limel-menu{display:flex;justify-content:flex-end;position:relative;z-index:1;padding:0.125rem;margin-left:calc(var(--button-padding-right) * -1);width:var(--button-padding-right)}limel-menu:before{transition:background-color 0.5s ease;content:"";position:absolute;inset:0.375rem auto 0.375rem 0.6875rem;width:1px;background-color:currentColor;opacity:0.2}limel-menu:not([disabled]){color:var(--lime-primary-color, var(--limel-theme-primary-color))}limel-menu:not([disabled]).primary{color:var(--lime-on-primary-color, var(--limel-theme-on-primary-color))}limel-menu[disabled]{color:rgba(var(--contrast-1600), 0.37)}limel-menu:hover:before,limel-menu:focus-within:before{background-color:transparent}.menu-trigger{all:unset;text-align:center;font-weight:bold;border-radius:0.125rem;height:100%;width:1rem}.menu-trigger:not(:disabled){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);cursor:pointer;color:"inherit";background-color:transparent}.menu-trigger:not(:disabled):hover,.menu-trigger:not(:disabled):focus,.menu-trigger:not(:disabled):focus-visible{will-change:color, background-color, box-shadow, transform}.menu-trigger:not(:disabled):hover,.menu-trigger:not(:disabled):focus-visible{transform:translate3d(0, 0.01rem, 0);color:"inherit";background-color:var(--lime-elevated-surface-background-color)}.menu-trigger:not(:disabled):hover{box-shadow:var(--button-shadow-hovered)}.menu-trigger:not(:disabled):active{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}.menu-trigger:not(:disabled):hover,.menu-trigger:not(:disabled):active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.menu-trigger:not(:disabled):focus{outline:none}.menu-trigger:not(:disabled):focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}.menu-trigger:not(:disabled){cursor:pointer}.menu-trigger:not(:disabled):focus-visible,.menu-trigger:not(:disabled):hover{background-color:rgb(var(--color-white), 0.1)}.menu-trigger[aria-expanded]:not([aria-expanded=false]){box-shadow:var(--button-shadow-inset-pressed)}.menu-trigger:before{content:"";position:absolute;inset:-0.25rem;z-index:-1}`;
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Ddjrlc-6.js');
3
+ var index = require('./index-BjHIBY-I.js');
4
4
  var randomString = require('./random-string-BTzDB2ee.js');
5
5
  var makeEnterClickable = require('./make-enter-clickable-NuTMC9MU.js');
6
6
  var ponyfill = require('./ponyfill-CNdYytGF.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Ddjrlc-6.js');
3
+ var index = require('./index-BjHIBY-I.js');
4
4
  var getIconProps = require('./get-icon-props-CwpDdQDI.js');
5
5
  var isEqual = require('./isEqual-B32SmSAJ.js');
6
6
  var ponyfill = require('./ponyfill-CNdYytGF.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Ddjrlc-6.js');
3
+ var index = require('./index-BjHIBY-I.js');
4
4
  var dispatchResizeEvent = require('./dispatch-resize-event-DH5CaB3p.js');
5
5
 
6
6
  const tabPanelCss = () => `:host(limel-tab-panel){--tab-panel-background-color:rgb(var(--contrast-100));display:block;height:100%}.tab-panel{height:100%;position:relative;display:flex;flex-direction:column}.tab-content{height:100%;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;background-color:var(--tab-panel-background-color)}`;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Ddjrlc-6.js');
3
+ var index = require('./index-BjHIBY-I.js');
4
4
  var _baseIteratee = require('./_baseIteratee-DrEpOCx4.js');
5
5
  var _assignValue = require('./_assignValue-D2D1zedG.js');
6
6
  var isArrayLike = require('./isArrayLike-_dR1U5-Y.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Ddjrlc-6.js');
3
+ var index = require('./index-BjHIBY-I.js');
4
4
  var randomString = require('./random-string-BTzDB2ee.js');
5
5
 
6
6
  const textEditorCss = () => `@charset "UTF-8";*{box-sizing:border-box}:host(limel-text-editor){--limel-notched-outline-z-index:2;--limel-prosemirror-adapter-toolbar-opacity:0.6;--limel-text-editor-padding:0.25rem 1rem 0.75rem 1rem;--limel-prosemirror-adapter-toolbar-grid-template-rows:1fr;--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration:0.3s;--limel-prosemirror-adapter-toolbar-transition-timing-function:cubic-bezier( 0.19, 0.23, 0.26, 0.89 );position:relative;isolation:isolate;display:flex;flex-direction:column;width:100%;min-width:5rem;min-height:5rem;height:100%;max-height:var(--text-editor-max-height, calc(100vh - (env(safe-area-inset-top) + env(safe-area-inset-bottom)) - 4rem));padding:1px}:host(limel-text-editor) limel-notched-outline{height:100%}:host(limel-text-editor:focus-within),:host(limel-text-editor:not([ui=minimal]):hover){--limel-prosemirror-adapter-toolbar-opacity:1}:host(limel-text-editor[ui=minimal]:not(:focus-within)){--limel-prosemirror-adapter-toolbar-grid-template-rows:0fr;--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration:0.46s;--limel-prosemirror-adapter-action-bar-padding-top-bottom:0;--limel-prosemirror-adapter-toolbar-opacity:0}:host(limel-text-editor[ui=minimal]:not(:focus-within)),:host(limel-text-editor[ui=no-toolbar]){--limel-text-editor-padding:0.75rem 1rem 0.75rem 1rem;--limel-text-editor-placeholder-top:0;min-height:2.5rem}:host(limel-text-editor[ui=minimal]:not(:focus-within)) limel-prosemirror-adapter,:host(limel-text-editor[ui=no-toolbar]) limel-prosemirror-adapter{min-height:2.5rem}:host(limel-text-editor:focus-within) .placeholder,:host(limel-text-editor:focus) .placeholder{opacity:0}:host(limel-text-editor[disabled]:not([disabled=false])) limel-prosemirror-adapter{cursor:not-allowed;opacity:0.4;pointer-events:none}:host(limel-text-editor[readonly]:not([readonly=false])){--limel-text-editor-padding:0.75rem 1rem 0.75rem 1rem;--limel-text-editor-placeholder-top:0}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown{display:block;padding:var(--limel-text-editor-padding);overflow-y:auto;-webkit-overflow-scrolling:touch;height:100%}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:before,:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:after{z-index:1;pointer-events:none;content:"";display:block;position:absolute;width:100%}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:after{height:1.75rem;top:0;background:linear-gradient(var(--text-editor-fade-out-background-color, rgb(var(--contrast-100))), transparent)}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:before{height:2rem;bottom:-0.25rem;background:linear-gradient(transparent, var(--text-editor-fade-out-background-color, rgb(var(--contrast-100))))}.placeholder{transition-property:top;transition-duration:var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);transition-timing-function:var(--limel-prosemirror-adapter-toolbar-transition-timing-function);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;position:absolute;top:var(--limel-text-editor-placeholder-top, 2.25rem);left:0;right:0;padding:var(--limel-text-editor-padding);font-style:italic;font-size:var(--limel-theme-default-font-size);color:rgb(var(--contrast-900))}limel-prosemirror-adapter{flex-grow:1;min-width:0;min-height:5rem;height:100%;max-height:100%;overflow:hidden auto;-webkit-overflow-scrolling:touch}:host(limel-text-editor:focus),:host(limel-text-editor:focus-visible),:host(limel-text-editor:focus-within){--limel-h-l-grid-template-rows-transition-speed:0.46s;--limel-h-l-grid-template-rows:1fr}:host(limel-text-editor){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}:host(limel-text-editor:focus) limel-helper-line,:host(limel-text-editor:focus-visible) limel-helper-line,:host(limel-text-editor:focus-within) limel-helper-line,:host(limel-text-editor:hover) limel-helper-line{will-change:grid-template-rows}:host(limel-text-editor[allow-resize]) limel-prosemirror-adapter{resize:vertical}`;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Ddjrlc-6.js');
3
+ var index = require('./index-BjHIBY-I.js');
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
@@ -81,7 +81,7 @@
81
81
  ],
82
82
  "compiler": {
83
83
  "name": "@stencil/core",
84
- "version": "4.41.2",
84
+ "version": "4.43.1",
85
85
  "typescriptVersion": "5.8.3"
86
86
  },
87
87
  "collections": [],
@@ -48,7 +48,11 @@ export async function sanitizeEmailHTML(html) {
48
48
  function getEmailSanitizationSchema() {
49
49
  var _a, _b, _c, _d, _e, _f, _g;
50
50
  const defaultSrcProtocols = (_b = (_a = defaultSchema.protocols) === null || _a === void 0 ? void 0 : _a.src) !== null && _b !== void 0 ? _b : [];
51
- const schema = Object.assign(Object.assign({}, defaultSchema), { protocols: Object.assign(Object.assign({}, defaultSchema.protocols), {
51
+ const schema = Object.assign(Object.assign({}, defaultSchema), {
52
+ // Disable the 'user-content-' prefix that rehype-sanitize adds to
53
+ // id and name attributes. Email HTML uses ids for internal anchor
54
+ // links (href="#section") that must resolve without a prefix.
55
+ clobberPrefix: '', protocols: Object.assign(Object.assign({}, defaultSchema.protocols), {
52
56
  // Email bodies often embed images as data URLs. We allow `data:` here,
53
57
  // but still validate the MIME type in `sanitizeDangerousUrls`.
54
58
  src: [...defaultSrcProtocols, 'http', 'https', 'data']
@@ -63,7 +67,7 @@ function getEmailSanitizationSchema() {
63
67
  'dir',
64
68
  'width',
65
69
  'height',
66
- ], colgroup: [...((_d = defaultSchema.attributes.colgroup) !== null && _d !== void 0 ? _d : []), 'span'], col: [...((_e = defaultSchema.attributes.col) !== null && _e !== void 0 ? _e : []), 'width', 'span'], '*': [
70
+ ], font: ['face'], colgroup: [...((_d = defaultSchema.attributes.colgroup) !== null && _d !== void 0 ? _d : []), 'span'], col: [...((_e = defaultSchema.attributes.col) !== null && _e !== void 0 ? _e : []), 'width', 'span'], '*': [
67
71
  ...((_f = defaultSchema.attributes['*']) !== null && _f !== void 0 ? _f : []),
68
72
  'style', // Allow inline styles on all elements
69
73
  // NOTE: rehype/parse maps `class` to the HAST property name
@@ -92,7 +96,8 @@ function getEmailSanitizationSchema() {
92
96
  'col',
93
97
  'center', // Deprecated but widely used in email
94
98
  'font', // Deprecated but widely used in email
95
- ] });
99
+ ]
100
+ });
96
101
  return schema;
97
102
  }
98
103
  /**
@@ -4,30 +4,10 @@ import { CodeEditor } from "../widgets/code-editor";
4
4
  import { renderDescription, renderTitle } from "../templates/common";
5
5
  import { isCustomObjectSchema } from "./field-helpers";
6
6
  export class ObjectField extends React.Component {
7
- constructor(props) {
8
- super(props);
9
- this.handleValidation = (error) => {
10
- this.setState({
11
- error: error,
12
- });
13
- };
14
- this.state = {
15
- error: null,
16
- };
17
- }
18
7
  render() {
19
8
  if (!isCustomObjectSchema(this.props.schema)) {
20
9
  return React.createElement(JSONObjectField, this.props);
21
10
  }
22
- return React.createElement(React.Fragment, {}, renderTitle(this.props.schema.title), renderDescription(this.props.schema.description), React.createElement(CodeEditor, Object.assign(Object.assign({}, this.props), { onValidate: this.handleValidation })), this.renderErrors());
23
- }
24
- renderErrors() {
25
- if (!this.state.error) {
26
- return;
27
- }
28
- return React.createElement('div', {
29
- role: 'alert',
30
- className: 'form-error',
31
- }, this.state.error);
11
+ return React.createElement(React.Fragment, {}, renderTitle(this.props.schema.title), renderDescription(this.props.schema.description), React.createElement(CodeEditor, this.props));
32
12
  }
33
13
  }
@@ -27,6 +27,7 @@ import { mapValues } from "lodash-es";
27
27
  * @exampleComponent limel-example-form-with-help
28
28
  * @exampleComponent limel-example-form-row-layout
29
29
  * @exampleComponent limel-example-builtin-field-types-form
30
+ * @exampleComponent limel-example-code-editor-form
30
31
  */
31
32
  export class Form {
32
33
  constructor() {
@@ -71,7 +72,7 @@ export class Form {
71
72
  }
72
73
  }
73
74
  render() {
74
- return h("div", { key: '515f0603403b9f432e97d9916e6d6c07f3edd9e7', class: "root" });
75
+ return h("div", { key: 'd78a035d42497e4b3204d04bccc30b4956b128a1', class: "root" });
75
76
  }
76
77
  reactRender() {
77
78
  if (!this.root) {
@@ -1,8 +1,9 @@
1
1
  import React from "react";
2
+ import { isEmpty } from "lodash-es";
2
3
  export class CodeEditor extends React.Component {
3
4
  constructor(props) {
4
5
  super(props);
5
- this.props = props;
6
+ this.state = { validationError: '', modified: false };
6
7
  this.handleChange = this.handleChange.bind(this);
7
8
  }
8
9
  render() {
@@ -14,6 +15,19 @@ export class CodeEditor extends React.Component {
14
15
  catch (_a) {
15
16
  // N/A
16
17
  }
18
+ const { validationError, modified } = this.state;
19
+ const { errorSchema, formData, required } = props;
20
+ const hasSchemaErrors = !isEmpty(errorSchema);
21
+ const hasValue = formData !== undefined && formData !== null;
22
+ const shouldShowSchemaErrors = hasSchemaErrors && (modified || hasValue || !required);
23
+ const isInvalid = validationError.length > 0 || shouldShowSchemaErrors;
24
+ let helperText;
25
+ if (validationError) {
26
+ helperText = validationError;
27
+ }
28
+ else if (shouldShowSchemaErrors) {
29
+ helperText = findFirstError(errorSchema);
30
+ }
17
31
  return React.createElement('limel-code-editor', {
18
32
  value: value,
19
33
  language: 'json',
@@ -21,21 +35,67 @@ export class CodeEditor extends React.Component {
21
35
  fold: true,
22
36
  lint: true,
23
37
  onChange: this.handleChange,
38
+ invalid: isInvalid,
39
+ helperText: helperText,
24
40
  });
25
41
  }
42
+ componentDidUpdate(prevProps) {
43
+ if (prevProps.formData !== this.props.formData &&
44
+ (this.state.validationError !== '' || this.state.modified)) {
45
+ this.setState({ validationError: '', modified: false });
46
+ }
47
+ }
26
48
  handleChange(event) {
27
49
  const props = this.props;
28
50
  event.stopPropagation();
29
51
  if (!props.onChange) {
30
52
  return;
31
53
  }
54
+ let value;
32
55
  try {
33
- const value = JSON.parse(event.nativeEvent.detail);
34
- props.onChange(value);
35
- props.onValidate();
56
+ value = JSON.parse(event.nativeEvent.detail);
36
57
  }
37
- catch (_a) {
38
- props.onValidate('Should be a valid JSON document');
58
+ catch (error) {
59
+ const validationError = error instanceof SyntaxError
60
+ ? `Invalid JSON: ${error.message}`
61
+ : 'Should be a valid JSON document';
62
+ this.setState({ validationError, modified: true });
63
+ return;
64
+ }
65
+ props.onChange(value);
66
+ this.setState({ validationError: '', modified: true });
67
+ }
68
+ }
69
+ /**
70
+ * Recursively finds the first error message in a potentially nested errorSchema.
71
+ * Checks for __errors at the current level, then recurses into nested objects.
72
+ * When an error is found in a nested property, the property name is prepended
73
+ * to the message for context (e.g. `"method: is a required property"`).
74
+ *
75
+ * @param schema - The error schema to search for errors
76
+ * @returns The first error message found, or undefined if no errors
77
+ */
78
+ function findFirstError(schema) {
79
+ if (!schema || typeof schema !== 'object') {
80
+ return undefined;
81
+ }
82
+ if ('__errors' in schema && Array.isArray(schema.__errors)) {
83
+ const errors = schema.__errors;
84
+ if (errors.length > 0) {
85
+ return errors[0];
86
+ }
87
+ }
88
+ for (const key of Object.keys(schema)) {
89
+ if (key === '__errors') {
90
+ continue;
91
+ }
92
+ const nested = schema[key];
93
+ if (nested && typeof nested === 'object') {
94
+ const found = findFirstError(nested);
95
+ if (found) {
96
+ return `${key}: ${found}`;
97
+ }
39
98
  }
40
99
  }
100
+ return undefined;
41
101
  }
@@ -1,4 +1,4 @@
1
- import { h } from './index-xvTBZcD2.js';
1
+ import { h } from './index-DBTJNfo7.js';
2
2
 
3
3
  const CheckboxTemplate = (props) => {
4
4
  const inputProps = {};
@@ -5,7 +5,7 @@ const globalScripts = () => {};
5
5
  const globalStyles = "@charset \"UTF-8\";.limel-portal--container{font-family:var(--limel-portal-font-family, inherit);opacity:0;display:none}.limel-portal--container.is-visible{opacity:1;display:inline-block}.limel-portal--container.is-visible>*{will-change:opacity, transform}@keyframes fade-in{from{opacity:0;transform:scale(0.94)}to{opacity:1;transform:scale(1) translate3d(0, 0, 0)}}@keyframes fade-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0.94) translate3d(0, 0, 0)}}.limel-portal--container>*{animation:fade-in 0.18s cubic-bezier(0.11, 0.59, 0.18, 1.26) forwards}.limel-portal--container.is-hiding>*{animation:fade-out 0.22s ease forwards}.limel-portal--container[data-popper-placement=left-start]>*{transform-origin:right top}.limel-portal--container[data-popper-placement=left]>*{transform-origin:right center}.limel-portal--container[data-popper-placement=left-end]>*{transform-origin:right bottom}.limel-portal--container[data-popper-placement=top-start]>*{transform-origin:left bottom}.limel-portal--container[data-popper-placement=top]>*{transform-origin:center bottom}.limel-portal--container[data-popper-placement=top-end]>*{transform-origin:right bottom}.limel-portal--container[data-popper-placement=right-start]>*{transform-origin:left top}.limel-portal--container[data-popper-placement=right]>*{transform-origin:left center}.limel-portal--container[data-popper-placement=right-end]>*{transform-origin:left bottom}.limel-portal--container[data-popper-placement=bottom-start]>*{transform-origin:left top}.limel-portal--container[data-popper-placement=bottom]>*{transform-origin:center top}.limel-portal--container[data-popper-placement=bottom-end]>*{transform-origin:right top}:root{--lime-deep-red:rgb(var(--lime-brand-color-deep-red));--lime-red:rgb(var(--lime-brand-color-sellable-orange));--lime-orange:rgb(var(--lime-brand-color-orange));--lime-yellow:rgb(var(--lime-brand-color-yellow));--lime-green:rgb(var(--lime-brand-color-lime-green));--lime-turquoise:rgb(var(--lime-brand-color-flexible-turquoise));--lime-blue:rgb(var(--lime-brand-color-simple-blue));--lime-dark-blue:rgb(var(--lime-brand-color-dark-blue));--lime-magenta:rgb(var(--lime-brand-color-loving-magenta));--lime-light-grey:rgb(var(--lime-brand-color-light-grey));--lime-dark-grey:rgb(var(--lime-brand-color-grey));--color-percent--0:rgb(var(--color-gray-default));--color-percent--0to10:rgb(var(--color-red-dark));--color-percent--10to20:rgb(var(--color-red-default));--color-percent--20to30:rgb(var(--color-coral-default));--color-percent--30to40:rgb(var(--color-orange-default));--color-percent--40to50:rgb(var(--color-amber-default));--color-percent--50to60:rgb(var(--color-yellow-default));--color-percent--60to70:rgb(var(--color-grass-default));--color-percent--70to80:rgb(var(--color-lime-default));--color-percent--80to90:rgb(var(--color-teal-default));--color-percent--90to100:rgb(var(--color-teal-dark))}:root{--shadow-brighten-edges-inside:0 -1px 0.26rem rgb(var(--color-white), 0.06) inset,\n 0 0 0 1px rgb(var(--color-white), 0.06) inset;--shadow-brighten-edges-outside:0 0.125rem 0.26rem rgb(var(--color-white), 0.06),\n 0 0 0 1px rgb(var(--color-white), 0.06);--shadow-focused-state:0 0 0 0.125rem\n var(--lime-primary-color, var(--limel-theme-primary-color));--shadow-error-state:0 0 0 0.125rem rgb(var(--color-red-default));--button-shadow-normal:0 0.09375rem 0.225rem 0 rgb(var(--color-black), 0.232),\n 0 0.01875rem 0.05625rem 0 rgb(var(--color-black), 0.208),\n var(--shadow-brighten-edges-inside);--button-shadow-hovered:0 0.125rem 0.375rem rgb(var(--color-black), 0.25),\n 0 0.4rem 0.475rem -0.3rem rgb(var(--color-black), 0.1),\n var(--shadow-brighten-edges-inside);--button-shadow-pressed:0 0.0625rem 0.1875rem 0 rgb(var(--color-black), 0.132),\n 0 0.01875rem 0.05625rem 0 rgb(var(--color-black), 0.108),\n var(--shadow-brighten-edges-inside);--button-shadow-inset:0 0.03125rem 0.21875rem 0 rgb(var(--color-black), 0.132) inset,\n 0 0.01875rem 0.05625rem 0 rgb(var(--color-black), 0.108) inset,\n var(--shadow-brighten-edges-outside),\n 0 0 0.25rem rgb(var(--color-white), 0.9);--button-shadow-inset-pressed:0 0.03125rem 0.34375rem 0 rgb(var(--color-black), 0.132) inset,\n 0 0.01875rem 0.11875rem 0 rgb(var(--color-black), 0.12) inset,\n 0 -1px 0.3rem rgb(var(--color-white), 0.9),\n var(--shadow-brighten-edges-outside);--shadow-depth-8:0 0.2rem 0.45rem 0 rgb(var(--color-black), 0.132),\n 0 0.0375rem 0.1125rem 0 rgb(var(--color-black), 0.108);--shadow-depth-8-focused:var(--shadow-depth-8), var(--shadow-focused-state);--shadow-depth-8-error:var(--shadow-depth-8), var(--shadow-error-state);--shadow-depth-8-reversed:0 -0.2rem 0.45rem 0 rgb(var(--color-black), 0.132),\n 0 -0.0375rem 0.1125rem 0 rgb(var(--color-black), 0.108);--shadow-depth-16:0 0.4rem 0.9rem 0 rgb(var(--color-black), 0.132),\n 0 0.075rem 0.225rem 0 rgb(var(--color-black), 0.108);--shadow-depth-16-focused:var(--shadow-depth-16), var(--shadow-focused-state);--shadow-depth-64:0 1.6rem 3.6rem 0 rgb(var(--color-black), 0.22),\n 0 0.3rem 0.9rem 0 rgb(var(--color-black), 0.18);--shadow-depth-64-focused:var(--shadow-depth-64), var(--shadow-focused-state);--shadow-inflated-8:-0.125rem -0.125rem 0.375rem rgb(var(--color-black), 0.01),\n -0.25rem -0.25rem 0.625rem rgb(var(--color-white), 0.6),\n 0.25rem 0.25rem 0.625rem rgb(var(--color-black), 0.05),\n 0.0625rem 0.0625rem 0.625rem rgb(var(--color-white), 0.7),\n -1px -1px 0 1px rgb(var(--color-black), 0.07) inset,\n 0 0 1px 1px rgb(var(--color-white), 0.98) inset;--shadow-inflated-16:-0.1875rem -0.1875rem 0.375rem rgb(var(--color-black), 0.01),\n -0.375rem -0.375rem 1rem rgb(var(--color-white), 0.8),\n 0.375rem 0.375rem 1rem rgb(var(--color-black), 0.05),\n 0.125rem 0.125rem 0.625rem rgb(var(--color-white), 0.7),\n -1px -1px 0 1px rgb(var(--color-black), 0.07) inset,\n 0 0 1px 1px rgb(var(--color-white), 0.98) inset;--shadow-inflated-64:-0.1875rem -0.1875rem 0.375rem rgb(var(--color-black), 0.01),\n -0.625rem -0.625rem 1.875rem rgb(var(--color-white), 1),\n 0.625rem 0.625rem 2.25rem rgb(var(--color-black), 0.06),\n 0.125rem 0.125rem 0.625rem rgb(var(--color-white), 0.7),\n -1px -1px 0 1px rgb(var(--color-black), 0.07) inset,\n 0 0 1px 1px rgb(var(--color-white), 0.98) inset}.CodeMirror-lint-tooltip.cm-s-lime{position:fixed;z-index:var(--tooltip-z-index, var(--dropdown-z-index, 130));transition:opacity 0.4s ease 0s;opacity:0;color:var(--limel-theme-text-primary-on-background-color);background-color:var(--lime-on-primary-color, var(--limel-theme-on-primary-color));font-family:monospace;font-size:var(--limel-theme-default-font-size);white-space:pre-wrap;padding:0.25rem 0.5rem;border-radius:0.5rem;max-width:40rem;box-shadow:var(--shadow-depth-64)}:root{--mdc-theme-primary:var(\n --lime-primary-color,\n var(--limel-theme-primary-color)\n );--mdc-theme-on-primary:var(\n --lime-on-primary-color,\n var(--limel-theme-on-primary-color)\n );--mdc-theme-text-disabled-on-background:var(\n --limel-theme-text-disabled-on-background-color\n );--mdc-theme-text-primary-on-background:var(\n --limel-theme-text-primary-on-background-color\n );--mdc-theme-text-secondary-on-background:var(\n --limel-theme-text-secondary-on-background-color\n );--mdc-theme-surface:var(--limel-theme-surface-background-color);--mdc-theme-on-surface:var(--limel-theme-on-surface-color);--limel-theme-primary-color:rgb(var(--color-teal-default));--limel-theme-on-primary-color:rgb(var(--contrast-100));--limel-theme-text-disabled-on-background-color:rgb(\n var(--contrast-1700),\n 0.38\n );--limel-theme-text-primary-on-background-color:rgb(\n var(--contrast-1700),\n 0.87\n );--limel-theme-text-secondary-on-background-color:rgb(\n var(--contrast-1700),\n 0.54\n );--limel-theme-error-color:rgb(var(--color-red-dark));--limel-theme-error-text-color:rgb(var(--color-red-darker));--limel-theme-surface-background-color:rgb(var(--contrast-100));--limel-theme-on-surface-color:rgb(var(--contrast-1500));--limel-theme-text-disabled-color:rgb(var(--contrast-900));--lime-elevated-surface-background-color:rgb(var(--contrast-100));--limel-theme-default-font-size:0.875rem;--limel-theme-default-small-font-size:0.8125rem}";
6
6
 
7
7
  /*
8
- Stencil Client Platform v4.41.2 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Platform v4.43.1 | MIT Licensed | https://stenciljs.com
9
9
  */
10
10
 
11
11
 
@@ -428,7 +428,7 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
428
428
  }
429
429
  } else {
430
430
  const existingStyleContainer = styleContainerNode.querySelector("style");
431
- if (existingStyleContainer) {
431
+ if (existingStyleContainer && true) {
432
432
  existingStyleContainer.textContent = style + existingStyleContainer.textContent;
433
433
  } else {
434
434
  styleContainerNode.prepend(styleElm);
@@ -691,7 +691,7 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
691
691
  }
692
692
  } else if (memberName === "key") ; else if (memberName === "ref") {
693
693
  if (newValue) {
694
- newValue(elm);
694
+ queueRefAttachment(newValue, elm);
695
695
  }
696
696
  } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
697
697
  if (memberName[2] === "-") {
@@ -711,6 +711,36 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
711
711
  plt.ael(elm, memberName, newValue, capture);
712
712
  }
713
713
  }
714
+ } else if (memberName[0] === "a" && memberName.startsWith("attr:")) {
715
+ const propName = memberName.slice(5);
716
+ let attrName;
717
+ {
718
+ const hostRef = getHostRef(elm);
719
+ if (hostRef && hostRef.$cmpMeta$ && hostRef.$cmpMeta$.$members$) {
720
+ const memberMeta = hostRef.$cmpMeta$.$members$[propName];
721
+ if (memberMeta && memberMeta[1]) {
722
+ attrName = memberMeta[1];
723
+ }
724
+ }
725
+ }
726
+ if (!attrName) {
727
+ attrName = propName.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
728
+ }
729
+ if (newValue == null || newValue === false) {
730
+ if (newValue !== false || elm.getAttribute(attrName) === "") {
731
+ elm.removeAttribute(attrName);
732
+ }
733
+ } else {
734
+ elm.setAttribute(attrName, newValue === true ? "" : newValue);
735
+ }
736
+ return;
737
+ } else if (memberName[0] === "p" && memberName.startsWith("prop:")) {
738
+ const propName = memberName.slice(5);
739
+ try {
740
+ elm[propName] = newValue;
741
+ } catch (e) {
742
+ }
743
+ return;
714
744
  } else {
715
745
  const isComplex = isComplexType(newValue);
716
746
  if ((isProp || isComplex && newValue !== null) && !isSvg) {
@@ -719,7 +749,7 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
719
749
  const n = newValue == null ? "" : newValue;
720
750
  if (memberName === "list") {
721
751
  isProp = false;
722
- } else if (oldValue == null || elm[memberName] != n) {
752
+ } else if (oldValue == null || elm[memberName] !== n) {
723
753
  if (typeof elm.__lookupSetter__(memberName) === "function") {
724
754
  elm[memberName] = n;
725
755
  } else {
@@ -813,6 +843,8 @@ var useNativeShadowDom = false;
813
843
  var checkSlotFallbackVisibility = false;
814
844
  var checkSlotRelocate = false;
815
845
  var isSvgMode = false;
846
+ var refCallbacksToRemove = [];
847
+ var refCallbacksToAttach = [];
816
848
  var createElm = (oldParentVNode, newParentVNode, childIndex) => {
817
849
  var _a;
818
850
  const newVNode2 = newParentVNode.$children$[childIndex];
@@ -1182,10 +1214,25 @@ var markSlotContentForRelocation = (elm) => {
1182
1214
  };
1183
1215
  var nullifyVNodeRefs = (vNode) => {
1184
1216
  {
1185
- vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
1217
+ if (vNode.$attrs$ && vNode.$attrs$.ref) {
1218
+ refCallbacksToRemove.push(() => vNode.$attrs$.ref(null));
1219
+ }
1186
1220
  vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
1187
1221
  }
1188
1222
  };
1223
+ var queueRefAttachment = (refCallback, elm) => {
1224
+ {
1225
+ refCallbacksToAttach.push(() => refCallback(elm));
1226
+ }
1227
+ };
1228
+ var flushQueuedRefCallbacks = () => {
1229
+ {
1230
+ refCallbacksToRemove.forEach((cb) => cb());
1231
+ refCallbacksToRemove.length = 0;
1232
+ refCallbacksToAttach.forEach((cb) => cb());
1233
+ refCallbacksToAttach.length = 0;
1234
+ }
1235
+ };
1189
1236
  var insertBefore = (parent, newNode, reference, isInitialLoad) => {
1190
1237
  {
1191
1238
  if (typeof newNode["s-sn"] === "string") {
@@ -1329,6 +1376,7 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1329
1376
  }
1330
1377
  }
1331
1378
  contentRef = void 0;
1379
+ flushQueuedRefCallbacks();
1332
1380
  };
1333
1381
 
1334
1382
  // src/runtime/update-component.ts
@@ -1426,7 +1474,7 @@ var updateComponent = async (hostRef, instance, isInitialLoad) => {
1426
1474
  if (childrenPromises.length === 0) {
1427
1475
  postUpdate();
1428
1476
  } else {
1429
- Promise.all(childrenPromises).then(postUpdate);
1477
+ Promise.all(childrenPromises).then(postUpdate).catch(postUpdate);
1430
1478
  hostRef.$flags$ |= 4 /* isWaitingForChildren */;
1431
1479
  childrenPromises.length = 0;
1432
1480
  }
@@ -1553,13 +1601,16 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1553
1601
  });
1554
1602
  }
1555
1603
  }
1556
- if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
1604
+ if (flags & 2 /* hasRendered */) {
1557
1605
  if (instance.componentShouldUpdate) {
1558
- if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
1606
+ const shouldUpdate = instance.componentShouldUpdate(newVal, oldVal, propName);
1607
+ if (shouldUpdate === false && !(flags & 16 /* isQueuedForUpdate */)) {
1559
1608
  return;
1560
1609
  }
1561
1610
  }
1562
- scheduleUpdate(hostRef, false);
1611
+ if (!(flags & 16 /* isQueuedForUpdate */)) {
1612
+ scheduleUpdate(hostRef, false);
1613
+ }
1563
1614
  }
1564
1615
  }
1565
1616
  };
@@ -1728,76 +1779,87 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1728
1779
  // src/runtime/initialize-component.ts
1729
1780
  var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1730
1781
  let Cstr;
1731
- if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
1732
- hostRef.$flags$ |= 32 /* hasInitializedComponent */;
1733
- const bundleId = cmpMeta.$lazyBundleId$;
1734
- if (bundleId) {
1735
- const CstrImport = loadModule(cmpMeta, hostRef);
1736
- if (CstrImport && "then" in CstrImport) {
1737
- const endLoad = uniqueTime();
1738
- Cstr = await CstrImport;
1739
- endLoad();
1740
- } else {
1741
- Cstr = CstrImport;
1742
- }
1743
- if (!Cstr) {
1744
- throw new Error(`Constructor for "${cmpMeta.$tagName$}#${hostRef.$modeName$}" was not found`);
1745
- }
1746
- if (!Cstr.isProxied) {
1782
+ try {
1783
+ if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
1784
+ hostRef.$flags$ |= 32 /* hasInitializedComponent */;
1785
+ const bundleId = cmpMeta.$lazyBundleId$;
1786
+ if (bundleId) {
1787
+ const CstrImport = loadModule(cmpMeta, hostRef);
1788
+ if (CstrImport && "then" in CstrImport) {
1789
+ const endLoad = uniqueTime();
1790
+ Cstr = await CstrImport;
1791
+ endLoad();
1792
+ } else {
1793
+ Cstr = CstrImport;
1794
+ }
1795
+ if (!Cstr) {
1796
+ throw new Error(`Constructor for "${cmpMeta.$tagName$}#${hostRef.$modeName$}" was not found`);
1797
+ }
1798
+ if (!Cstr.isProxied) {
1799
+ {
1800
+ cmpMeta.$watchers$ = Cstr.watchers;
1801
+ cmpMeta.$serializers$ = Cstr.serializers;
1802
+ cmpMeta.$deserializers$ = Cstr.deserializers;
1803
+ }
1804
+ proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
1805
+ Cstr.isProxied = true;
1806
+ }
1807
+ const endNewInstance = createTime("createInstance", cmpMeta.$tagName$);
1747
1808
  {
1748
- cmpMeta.$watchers$ = Cstr.watchers;
1749
- cmpMeta.$serializers$ = Cstr.serializers;
1750
- cmpMeta.$deserializers$ = Cstr.deserializers;
1809
+ hostRef.$flags$ |= 8 /* isConstructingInstance */;
1810
+ }
1811
+ try {
1812
+ new Cstr(hostRef);
1813
+ } catch (e) {
1814
+ consoleError(e, elm);
1815
+ }
1816
+ {
1817
+ hostRef.$flags$ &= -9 /* isConstructingInstance */;
1818
+ }
1819
+ {
1820
+ hostRef.$flags$ |= 128 /* isWatchReady */;
1821
+ }
1822
+ endNewInstance();
1823
+ const needsDeferredCallback = cmpMeta.$flags$ & 4 /* hasSlotRelocation */;
1824
+ if (!needsDeferredCallback) {
1825
+ fireConnectedCallback(hostRef.$lazyInstance$, elm);
1826
+ } else {
1827
+ hostRef.$deferredConnectedCallback$ = true;
1751
1828
  }
1752
- proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
1753
- Cstr.isProxied = true;
1754
- }
1755
- const endNewInstance = createTime("createInstance", cmpMeta.$tagName$);
1756
- {
1757
- hostRef.$flags$ |= 8 /* isConstructingInstance */;
1758
- }
1759
- try {
1760
- new Cstr(hostRef);
1761
- } catch (e) {
1762
- consoleError(e, elm);
1763
- }
1764
- {
1765
- hostRef.$flags$ &= -9 /* isConstructingInstance */;
1766
- }
1767
- {
1768
- hostRef.$flags$ |= 128 /* isWatchReady */;
1769
- }
1770
- endNewInstance();
1771
- const needsDeferredCallback = cmpMeta.$flags$ & 4 /* hasSlotRelocation */;
1772
- if (!needsDeferredCallback) {
1773
- fireConnectedCallback(hostRef.$lazyInstance$, elm);
1774
1829
  } else {
1775
- hostRef.$deferredConnectedCallback$ = true;
1830
+ Cstr = elm.constructor;
1831
+ const cmpTag = elm.localName;
1832
+ customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);
1833
+ }
1834
+ if (Cstr && Cstr.style) {
1835
+ let style;
1836
+ if (typeof Cstr.style === "string") {
1837
+ style = Cstr.style;
1838
+ }
1839
+ const scopeId2 = getScopeId(cmpMeta);
1840
+ if (!styles.has(scopeId2) || BUILD.hotModuleReplacement) {
1841
+ const endRegisterStyles = createTime("registerStyles", cmpMeta.$tagName$);
1842
+ registerStyle(scopeId2, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));
1843
+ endRegisterStyles();
1844
+ }
1776
1845
  }
1846
+ }
1847
+ const ancestorComponent = hostRef.$ancestorComponent$;
1848
+ const schedule = () => scheduleUpdate(hostRef, true);
1849
+ if (ancestorComponent && ancestorComponent["s-rc"]) {
1850
+ ancestorComponent["s-rc"].push(schedule);
1777
1851
  } else {
1778
- Cstr = elm.constructor;
1779
- const cmpTag = elm.localName;
1780
- customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);
1852
+ schedule();
1781
1853
  }
1782
- if (Cstr && Cstr.style) {
1783
- let style;
1784
- if (typeof Cstr.style === "string") {
1785
- style = Cstr.style;
1786
- }
1787
- const scopeId2 = getScopeId(cmpMeta);
1788
- if (!styles.has(scopeId2) || BUILD.hotModuleReplacement) {
1789
- const endRegisterStyles = createTime("registerStyles", cmpMeta.$tagName$);
1790
- registerStyle(scopeId2, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));
1791
- endRegisterStyles();
1792
- }
1854
+ } catch (e) {
1855
+ consoleError(e, elm);
1856
+ if (hostRef.$onRenderResolve$) {
1857
+ hostRef.$onRenderResolve$();
1858
+ hostRef.$onRenderResolve$ = void 0;
1859
+ }
1860
+ if (hostRef.$onReadyResolve$) {
1861
+ hostRef.$onReadyResolve$(elm);
1793
1862
  }
1794
- }
1795
- const ancestorComponent = hostRef.$ancestorComponent$;
1796
- const schedule = () => scheduleUpdate(hostRef, true);
1797
- if (ancestorComponent && ancestorComponent["s-rc"]) {
1798
- ancestorComponent["s-rc"].push(schedule);
1799
- } else {
1800
- schedule();
1801
1863
  }
1802
1864
  };
1803
1865
  var fireConnectedCallback = (instance, elm) => {
@@ -1,8 +1,8 @@
1
- import { p as promiseResolve, g as globalScripts, b as bootstrapLazy } from './index-xvTBZcD2.js';
2
- export { s as setNonce } from './index-xvTBZcD2.js';
1
+ import { p as promiseResolve, g as globalScripts, b as bootstrapLazy } from './index-DBTJNfo7.js';
2
+ export { s as setNonce } from './index-DBTJNfo7.js';
3
3
 
4
4
  /*
5
- Stencil Client Patch Browser v4.41.2 | MIT Licensed | https://stenciljs.com
5
+ Stencil Client Patch Browser v4.43.1 | MIT Licensed | https://stenciljs.com
6
6
  */
7
7
 
8
8
  var patchBrowser = () => {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-xvTBZcD2.js';
1
+ import { r as registerInstance, h } from './index-DBTJNfo7.js';
2
2
 
3
3
  const _3dHoverEffectGlowCss = () => `:host(limel-3d-hover-effect-glow){display:block;pointer-events:none;position:absolute;inset:0;mix-blend-mode:plus-lighter}div{position:absolute;inset:0;transition:background, opacity;transition-timing-function:ease-out;transition-duration:0.8s;border-radius:inherit;opacity:var(--limel-3d-hover-effect-glow-opacity, 0.1);background-image:radial-gradient(circle at var(--limel-3d-hover-effect-glow-position, 50% -20%), rgb(var(--color-white), 0.3), rgb(var(--color-white), 0))}`;
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, a as getElement, H as Host } from './index-xvTBZcD2.js';
1
+ import { r as registerInstance, c as createEvent, h, a as getElement, H as Host } from './index-DBTJNfo7.js';
2
2
  import { c as createRandomString } from './random-string-JbKhhoXs.js';
3
3
  import { m as makeEnterClickable, r as removeEnterClickable } from './make-enter-clickable-BgTwPGeH.js';
4
4
  import { b as getIconColor, d as getIconTitle, g as getIconName } from './get-icon-props-CgNJbSP4.js';
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-xvTBZcD2.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-DBTJNfo7.js';
2
2
  import { t as translate } from './translations-Cdx3I2X8.js';
3
3
  import { i as isItem } from './is-item-CrvUOVvg.js';
4
4
  import { a as ENTER, E as ESCAPE } from './keycodes-CxzDbuiY.js';