@limetech/lime-crm-building-blocks 1.104.1 → 1.104.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/limebb-document-picker.cjs.entry.js +1 -1
  3. package/dist/cjs/limebb-lime-query-response-format-editor_2.cjs.entry.js +27 -27
  4. package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
  5. package/dist/cjs/limebb-locale-picker.cjs.entry.js +1 -1
  6. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
  7. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +3 -3
  8. package/dist/cjs/limebb-notification-item.cjs.entry.js +1 -1
  9. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +2 -2
  10. package/dist/cjs/limebb-text-editor.cjs.entry.js +1 -1
  11. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +1 -1
  12. package/dist/collection/components/document-picker/document-picker.js +1 -1
  13. package/dist/collection/components/lime-query-builder/response-format/response-format-editor.css +3 -25
  14. package/dist/collection/components/lime-query-builder/response-format/response-format-editor.js +2 -2
  15. package/dist/collection/components/lime-query-builder/response-format/response-format-item.css +207 -22
  16. package/dist/collection/components/lime-query-builder/response-format/response-format-item.js +23 -23
  17. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  18. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  19. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  20. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  21. package/dist/collection/components/summary-popover/summary-popover.js +3 -3
  22. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  23. package/dist/collection/components/text-editor/text-editor.js +1 -1
  24. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  25. package/dist/components/limebb-document-picker.js +1 -1
  26. package/dist/components/limebb-locale-picker.js +1 -1
  27. package/dist/components/limebb-mention-group-counter.js +2 -2
  28. package/dist/components/limebb-percentage-visualizer.js +2 -2
  29. package/dist/components/limebb-text-editor.js +1 -1
  30. package/dist/components/limebb-trend-indicator.js +1 -1
  31. package/dist/components/live-docs-info.js +2 -2
  32. package/dist/components/notification-item.js +1 -1
  33. package/dist/components/response-format-editor.js +3 -3
  34. package/dist/components/response-format-item.js +24 -24
  35. package/dist/components/summary-popover.js +3 -3
  36. package/dist/esm/limebb-document-picker.entry.js +1 -1
  37. package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +27 -27
  38. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  39. package/dist/esm/limebb-locale-picker.entry.js +1 -1
  40. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  41. package/dist/esm/limebb-navigation-button_2.entry.js +3 -3
  42. package/dist/esm/limebb-notification-item.entry.js +1 -1
  43. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  44. package/dist/esm/limebb-text-editor.entry.js +1 -1
  45. package/dist/esm/limebb-trend-indicator.entry.js +1 -1
  46. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  47. package/dist/lime-crm-building-blocks/{p-631ca5a5.entry.js → p-00da9b24.entry.js} +1 -1
  48. package/dist/lime-crm-building-blocks/{p-36ea13c0.entry.js → p-28346b49.entry.js} +1 -1
  49. package/dist/lime-crm-building-blocks/{p-9cac4de2.entry.js → p-3932077b.entry.js} +1 -1
  50. package/dist/lime-crm-building-blocks/{p-4a82410e.entry.js → p-876701c6.entry.js} +1 -1
  51. package/dist/lime-crm-building-blocks/{p-93cadc1e.entry.js → p-8c4eb49f.entry.js} +1 -1
  52. package/dist/lime-crm-building-blocks/p-921fecd9.entry.js +1 -0
  53. package/dist/lime-crm-building-blocks/{p-e8946134.entry.js → p-bc18b0e7.entry.js} +1 -1
  54. package/dist/lime-crm-building-blocks/{p-b9b954d9.entry.js → p-c0ec1ddf.entry.js} +1 -1
  55. package/dist/lime-crm-building-blocks/{p-569c86b5.entry.js → p-e9d23ef7.entry.js} +1 -1
  56. package/dist/lime-crm-building-blocks/{p-3122ea05.entry.js → p-f52125a0.entry.js} +1 -1
  57. package/dist/types/components/document-picker/document-picker.d.ts +0 -14
  58. package/dist/types/components/lime-query-builder/response-format/response-format-item.d.ts +4 -2
  59. package/package.json +1 -1
  60. package/dist/lime-crm-building-blocks/p-adfb9e90.entry.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ ## [1.104.3](https://github.com/Lundalogik/lime-crm-building-blocks/compare/v1.104.2...v1.104.3) (2025-11-18)
2
+
3
+ ### Bug Fixes
4
+
5
+
6
+ * **query-builder:** animate adding alias and description ([17f151e](https://github.com/Lundalogik/lime-crm-building-blocks/commit/17f151e1f83978fd5bc4f653b172704aa7620a43))
7
+ * **query-builder:** improve UX of adding/removing alias and description ([32d7c44](https://github.com/Lundalogik/lime-crm-building-blocks/commit/32d7c446e2b83036be76c52fd36b3a17e84a55bf))
8
+ * **query-builder:** make property items more visually distinct ([4e72932](https://github.com/Lundalogik/lime-crm-building-blocks/commit/4e7293239201712af27c1e32fc150f13f1508cf8))
9
+ * **query-builder:** simplify HTML structure in response format ([a8c6edf](https://github.com/Lundalogik/lime-crm-building-blocks/commit/a8c6edf668f6e7282f371717476586fbe3d9cbf9))
10
+
11
+ ## [1.104.2](https://github.com/Lundalogik/lime-crm-building-blocks/compare/v1.104.1...v1.104.2) (2025-11-18)
12
+
13
+ ### Bug Fixes
14
+
15
+
16
+ * **document-picker:** remove unused interface ([257df7a](https://github.com/Lundalogik/lime-crm-building-blocks/commit/257df7a029668c07eeff0a4ce73ad6ec5b0b77d0))
17
+
1
18
  ## [1.104.1](https://github.com/Lundalogik/lime-crm-building-blocks/compare/v1.104.0...v1.104.1) (2025-11-17)
2
19
 
3
20
  ### Bug Fixes
@@ -71,7 +71,7 @@ const DocumentPicker = class {
71
71
  this.labelId = randomString.createRandomString();
72
72
  }
73
73
  render() {
74
- return (index.h(index.Host, { key: '28bf6afd1999efc62689bc43b7d63d8c308d3663' }, index.h("limel-notched-outline", { key: '0b6f3d9f0cc88e9e1b782e3d12e7a08853211be6', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, hasFloatingLabel: true }, index.h("div", { key: 'a3d64740ca2139a3435884526b9a6195929d8060', slot: "content", role: this.type === 'radio' ? 'radiogroup' : 'group', "aria-labelledby": this.label ? this.labelId : undefined, "aria-describedby": this.helperText ? this.helperTextId : undefined }, this.renderItems())), this.renderHelperLine()));
74
+ return (index.h(index.Host, { key: '5e4a9004ed3b81b6c35be868c664e61cb88d490c' }, index.h("limel-notched-outline", { key: 'ada8928b3ed815896e1ef5fb61f539f0ab77c7af', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, hasFloatingLabel: true }, index.h("div", { key: '343aeef460a4ea4e0a4a247daf6988f749dc2b49', slot: "content", role: this.type === 'radio' ? 'radiogroup' : 'group', "aria-labelledby": this.label ? this.labelId : undefined, "aria-describedby": this.helperText ? this.helperTextId : undefined }, this.renderItems())), this.renderHelperLine()));
75
75
  }
76
76
  renderItems() {
77
77
  return this.items.map((item) => (index.h("limebb-document-item", { platform: this.platform, context: this.context, item: item, key: item.id, type: this.type, onInteract: this.handleItemInteract })));
@@ -163,7 +163,7 @@ function itemsToPropertySelection(items) {
163
163
  return result;
164
164
  }
165
165
 
166
- const responseFormatEditorCss = ":host(limebb-lime-query-response-format-editor){display:block;width:100%}.response-format-editor{display:flex;flex-direction:column;padding:1rem 0}limel-badge[slot=actions]{--badge-background-color:rgb(var(--contrast-200));margin-right:0.25rem}.property{border:1px solid var(--header-background-color);border-radius:0 0 0.75rem 0.75rem}.property-list{display:flex;flex-direction:column;border-radius:0.25rem;background-color:rgb(var(--contrast-100));gap:0.5rem;padding:0.5rem}.property-item{border-radius:0.25rem;transition:background-color 0.2s}.property-item:hover{background-color:rgb(var(--contrast-100))}.actions{display:flex}.actions limel-button{padding:0.5rem;width:100%}.empty-state{padding:2rem;text-align:center;color:rgb(var(--contrast-700));font-style:italic}.empty-state p{margin:0}.empty-state .empty-state-message{margin-bottom:1rem;font-size:0.875rem}.empty-state limel-button{margin:0 auto;max-width:200px}";
166
+ const responseFormatEditorCss = ":host(limebb-lime-query-response-format-editor){display:block;width:100%}.response-format-editor{display:flex;flex-direction:column;padding:1rem 0}limel-badge[slot=actions]{--badge-background-color:rgb(var(--contrast-200));margin-right:0.25rem}.property-list{display:flex;flex-direction:column;border-radius:0 0 0.75rem 0.75rem;padding:0.25rem;background-color:rgb(var(--contrast-400))}.empty-state{padding:2rem;text-align:center;color:rgb(var(--contrast-700));font-style:italic}.empty-state p{margin:0}.empty-state .empty-state-message{margin-bottom:1rem;font-size:0.875rem}.empty-state limel-button{margin:0 auto;max-width:200px}";
167
167
  const LimebbLimeQueryResponseFormatEditorStyle0 = responseFormatEditorCss;
168
168
 
169
169
  const ResponseFormatEditor = class {
@@ -248,10 +248,10 @@ const ResponseFormatEditor = class {
248
248
  if (this.items.length === 0) {
249
249
  return (index.h("div", { class: "response-format-editor" }, index.h("h4", { class: "header" }, this.label), index.h("div", { class: "empty-state" }, index.h("p", { class: "empty-state-message" }, "No properties selected. The response will return empty objects."), index.h("limel-button", { label: "Add Property", icon: "plus_math", onClick: this.handleAddProperty }))));
250
250
  }
251
- return (index.h("div", { class: "response-format-editor" }, index.h("limel-header", { subheading: this.label }, this.renderPropertyCount()), index.h("div", { class: "property" }, index.h("div", { class: "property-list" }, this.items.map((item, index) => this.renderItem(item, index))), index.h("div", { class: "actions" }, index.h("limel-button", { label: "Property", disabled: this.items.some((item) => !item.path || item.path.trim() === ''), icon: {
251
+ return (index.h("div", { class: "response-format-editor" }, index.h("limel-header", { subheading: this.label }, this.renderPropertyCount()), index.h("div", { class: "property-list" }, this.items.map((item, index) => this.renderItem(item, index)), index.h("limel-button", { label: "Property", disabled: this.items.some((item) => !item.path || item.path.trim() === ''), icon: {
252
252
  name: 'plus_math',
253
253
  title: 'Add',
254
- }, onClick: this.handleAddProperty })))));
254
+ }, onClick: this.handleAddProperty }))));
255
255
  }
256
256
  renderPropertyCount() {
257
257
  return [
@@ -298,7 +298,7 @@ const ResponseFormatEditor = class {
298
298
  };
299
299
  ResponseFormatEditor.style = LimebbLimeQueryResponseFormatEditorStyle0;
300
300
 
301
- const responseFormatItemCss = ":host(limebb-lime-query-response-format-item){display:flex;flex-direction:column;gap:0.5rem}.property-controls{display:flex;flex-wrap:wrap;gap:0.5rem;width:100%}.property-path{flex-grow:1;min-width:min(10rem, 100%)}.control-buttons{flex-shrink:0;display:flex;flex-direction:row;gap:0.25rem;align-items:center}.control-buttons limel-icon-button{opacity:0.6;transition:opacity 0.2s ease}.control-buttons limel-icon-button:hover{opacity:1}.control-buttons limel-icon-button.has-value{opacity:1;color:rgb(var(--color-blue-default))}.alias,.description{padding-left:1rem;width:calc(100% - 8.75rem)}@media (max-width: 768px){.property-controls{flex-direction:column;gap:0.5rem}.alias,.description{padding-left:0;width:100%}}";
301
+ const responseFormatItemCss = "@charset \"UTF-8\";*{box-sizing:border-box;min-width:0}:host(limebb-lime-query-response-format-item){display:flex;flex-direction:column;gap:0.5rem}.property-controls{transition:box-shadow 0.4s ease, background-color 0.6s ease;display:flex;align-items:flex-start;gap:0.5rem;width:100%;padding:0.75rem 0.75rem 0 0.75rem;border-radius:0.75rem}.property-controls:hover,.property-controls:focus,.property-controls:focus-within{transition-duration:0.2s;background-color:rgb(var(--contrast-100));box-shadow:var(--shadow-inflated-16)}.property-controls limel-icon-button{margin-top:0.125rem}.property-path{flex-grow:1;display:flex;flex-direction:column;padding-bottom:0.25rem}.button-group,.input-group{padding-left:1rem}.button-group:not(:empty),.input-group:not(:empty){padding-top:0.25rem;padding-bottom:0.25rem}.button-group{display:flex;gap:0.5rem;align-items:center}.button-group button{all:unset;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:var(--limel-theme-on-surface-color);background-color:transparent;font-size:0.625rem;padding:0 0.5rem 0 0.25rem;display:flex;align-items:center;gap:0.25rem;border-radius:0.25rem}.button-group button:hover,.button-group button:focus,.button-group button:focus-visible{will-change:color, background-color, box-shadow, transform}.button-group button:hover,.button-group button:focus-visible{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color)}.button-group button:hover{box-shadow:var(--button-shadow-hovered)}.button-group button:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}.button-group button:hover,.button-group button:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.button-group button:focus{outline:none}.button-group button:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}.button-group button:hover{transform:scale(1.2)}.button-group limel-icon{width:1rem}.input-group{display:flex;align-items:center}.input-group limel-input-field{flex-grow:1}.input-group limel-icon-button{transform:scale(0.85)}.metadata{flex-grow:1;padding-left:1rem}@media (max-width: 768px){.property-controls{flex-direction:column;gap:0.5rem}}.input-grid{--limebb-l-q-r-f-i--opacity-transition-speed:0.1s;--limebb-l-q-r-f-i--opacity-transition-delay:0s;--limebb-l-q-r-f-i--grid-template-rows-transition-speed:0.3s;transition:grid-template-rows var(--limebb-l-q-r-f-i--grid-template-rows-transition-speed) ease;display:grid;grid-template-rows:0fr}.input-grid .input-group{transition:opacity var(--limebb-l-q-r-f-i--opacity-transition-speed) ease var(--limebb-l-q-r-f-i--opacity-transition-delay), padding var(--limebb-l-q-r-f-i--opacity-transition-speed) ease var(--limebb-l-q-r-f-i--opacity-transition-delay);overflow:hidden;opacity:0}.input-grid:not(:empty){--limebb-l-q-r-f-i--opacity-transition-speed:0.2s;--limebb-l-q-r-f-i--opacity-transition-delay:0.1s;--limebb-l-q-r-f-i--grid-template-rows-transition-speed:0.2s;grid-template-rows:1fr}.input-grid:not(:empty) .input-group{opacity:1}.button-group:hover .input-grid{will-change:grid-template-rows}.button-group:hover .input-group{will-change:opacity, padding}";
302
302
  const LimebbLimeQueryResponseFormatItemStyle0 = responseFormatItemCss;
303
303
 
304
304
  const ResponseFormatItem = class {
@@ -363,32 +363,32 @@ const ResponseFormatItem = class {
363
363
  }
364
364
  render() {
365
365
  return [
366
- index.h("div", { key: 'f80b67734802324c50613070fd91fde35b1caaaa', class: "property-controls" }, index.h("div", { key: 'b481a96617ff29690329bff363ee408c42b746d7', class: "property-path" }, index.h("limebb-property-selector", { key: 'a936e9586348b27250e3b0404eefb0ee5f5a675e', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: this.item.path, required: true, onChange: this.handlePathChange })), index.h("div", { key: '058b8ade00d076764327fbd85e968fbc9b96cb23', class: "control-buttons" }, index.h("limel-icon-button", { key: '85614c39df85b3957aac7a31c2fcbb181cf1c351', icon: this.getAliasIcon(), label: "Add alias", class: this.item.alias ? 'has-value' : '', onClick: this.toggleAliasInput }), index.h("limel-icon-button", { key: 'e09875fdef378d3a4141ba1b428d6239c691dc9f', icon: this.getDescriptionIcon(), label: "Add description", class: this.item.description ? 'has-value' : '', onClick: this.toggleDescriptionInput }), index.h("limel-icon-button", { key: '5bced548d2cf53d5097d3b6e84a2440d1bb84b11', icon: "trash", label: "Remove property", onClick: this.handleRemove }))),
367
- this.showAliasInput && (index.h("div", { key: '052d6e7f01089914a1b9e79e06cb04b1510c79c2', class: "alias" }, index.h("limel-input-field", { key: '381874f03fdabcedbe07eaf23dd1c31541c42cf4', label: "Alias", value: this.item.alias || '', placeholder: "Custom property name...", onChange: this.handleAliasChange, onBlur: this.handleAliasBlur }))),
368
- this.showDescriptionInput && (index.h("div", { key: '083508a61dadb201526b197f60b691bbea7b50df', class: "description" }, index.h("limel-input-field", { key: 'bd718e98091d4776394365aa7175d61d11856a9f', label: "Description", value: this.item.description || '', placeholder: "Describe this property for AI...", onChange: this.handleDescriptionChange, onBlur: this.handleDescriptionBlur }))),
366
+ index.h("div", { key: 'f80b67734802324c50613070fd91fde35b1caaaa', class: "property-controls" }, index.h("div", { key: 'b481a96617ff29690329bff363ee408c42b746d7', class: "property-path" }, index.h("limebb-property-selector", { key: 'a936e9586348b27250e3b0404eefb0ee5f5a675e', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: this.item.path, required: true, onChange: this.handlePathChange }), index.h("div", { key: 'f400ca51e8c4b0540502990282efb2c4e2177404', class: "input-grid" }, this.renderAliasInput()), index.h("div", { key: '48a9cbb975553d06d6b29446e0b949a0748c9175', class: "input-grid" }, this.renderDescriptionInput()), index.h("div", { key: 'c65f2037e82aa3808618f308f680afb8aac4e29f', class: "button-group" }, this.renderAliasButton(), this.renderDescriptionButton())), index.h("limel-icon-button", { key: 'a9b9bcbd2c5600cd2d94b064f219a4ad4119c31b', icon: "trash", label: "Remove property", onClick: this.handleRemove })),
369
367
  ];
370
368
  }
371
- getAliasIcon() {
372
- const defaultIcon = {
373
- name: 'add_tag',
374
- color: 'rgb(var(--color-gray-600))',
375
- };
376
- const toggledIcon = {
377
- name: 'add_tag',
378
- color: 'rgb(var(--color-teal-default))',
379
- };
380
- return this.showAliasInput ? toggledIcon : defaultIcon;
369
+ renderAliasButton() {
370
+ if (this.showAliasInput) {
371
+ return;
372
+ }
373
+ return (index.h("button", { type: "button", class: "alias", onClick: this.toggleAliasInput }, "+ Alias"));
381
374
  }
382
- getDescriptionIcon() {
383
- const defaultIcon = {
384
- name: 'comments',
385
- color: 'rgb(var(--color-gray-600))',
386
- };
387
- const toggledIcon = {
388
- name: 'comments',
389
- color: 'rgb(var(--color-teal-default))',
390
- };
391
- return this.showDescriptionInput ? toggledIcon : defaultIcon;
375
+ renderDescriptionButton() {
376
+ if (this.showDescriptionInput) {
377
+ return;
378
+ }
379
+ return (index.h("button", { type: "button", class: "description", onClick: this.toggleDescriptionInput }, "+ Description"));
380
+ }
381
+ renderAliasInput() {
382
+ if (!this.showAliasInput) {
383
+ return;
384
+ }
385
+ return (index.h("div", { class: "input-group" }, index.h("limel-input-field", { label: "Alias", value: this.item.alias || '', placeholder: "Custom property name...", onChange: this.handleAliasChange, onBlur: this.handleAliasBlur, leadingIcon: "add_tag" }), index.h("limel-icon-button", { class: "remove-alias", icon: "multiply", onClick: this.toggleAliasInput, label: "Remove alias", disabled: !!this.item.alias })));
386
+ }
387
+ renderDescriptionInput() {
388
+ if (!this.showDescriptionInput) {
389
+ return;
390
+ }
391
+ return (index.h("div", { class: "input-group" }, index.h("limel-input-field", { label: "Description", value: this.item.description || '', placeholder: "Describe this property for AI...", onChange: this.handleDescriptionChange, onBlur: this.handleDescriptionBlur, leadingIcon: "comments" }), index.h("limel-icon-button", { class: "remove-description", icon: "multiply", onClick: this.toggleDescriptionInput, label: "Remove description", disabled: !!this.item.description })));
392
392
  }
393
393
  };
394
394
  ResponseFormatItem.style = LimebbLimeQueryResponseFormatItemStyle0;
@@ -13,8 +13,8 @@ const LiveDocsInfo = class {
13
13
  }
14
14
  render() {
15
15
  return [
16
- index.h("div", { key: '849694495956b6afbdfeac8aa7de680e1ab03450', class: "header" }, index.h("limel-icon", { key: '84117fdfff949d6b41b9ec3f2b3ec73f21e5be7b', name: "not_showing_video_frames" }), index.h("h2", { key: '90f1738815699808c6353707b4f366d8a2c661ac' }, "Viewing this file type requires ", index.h("em", { key: 'ef09921e893851f06b756e1e2777847a7e4bd563' }, "Live Docs"))),
17
- index.h("p", { key: 'a835a0e1cabd84d7509167b3331878807b083130' }, index.h("em", { key: '3f9ce9e473f33b89adfeb3b143e46cabb6feb1d4' }, "Live Docs"), " not only enables you to view many file formats such as Microsoft Office documents, but it also empowers you to edit them right in the CRM. No need to download anything on your device!", index.h("a", { key: 'f3e683b041ddd66e6f23514d9bb5f3faf80f4c3a', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
16
+ index.h("div", { key: '98c48e74c9cade3b2da713618d585dd8f80e3116', class: "header" }, index.h("limel-icon", { key: 'b8f56066533f64842a25a324c2794914700c2e8a', name: "not_showing_video_frames" }), index.h("h2", { key: 'c1e8c722d1fc7d22a85f348a66094ffd8c5a5dd3' }, "Viewing this file type requires ", index.h("em", { key: '8aca798b2cf1bfe81be5142496e693f57efea8b1' }, "Live Docs"))),
17
+ index.h("p", { key: '3934d0c93f6c4b6524643c2ecadd0f3f0f925b09' }, index.h("em", { key: '1d3b811bf94ba19644231e77434442f9f1ade8f6' }, "Live Docs"), " not only enables you to view many file formats such as Microsoft Office documents, but it also empowers you to edit them right in the CRM. No need to download anything on your device!", index.h("a", { key: '023c16b0cfc5b57d750c9a344690fcce51350100', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
18
18
  ];
19
19
  }
20
20
  };
@@ -1133,7 +1133,7 @@ const LocalePicker = class {
1133
1133
  const value = this.value;
1134
1134
  selectedOptions = options.find((option) => option.value === value);
1135
1135
  }
1136
- return (index.h("limel-select", { key: '5b3491e9dd6725186c4a2795e7893de43457e147', value: selectedOptions, options: sortBy$1(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
1136
+ return (index.h("limel-select", { key: '4010306cc9bb60b5d1233165eeca5468fe011c33', value: selectedOptions, options: sortBy$1(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
1137
1137
  }
1138
1138
  };
1139
1139
 
@@ -15,8 +15,8 @@ const MentionGroupCounter = class {
15
15
  render() {
16
16
  const label = this.getLabel();
17
17
  return [
18
- index.h("span", { key: 'dcd5792c82409e75e149e263fc7b4864e195a387', id: this.tooltipId }, label),
19
- index.h("limel-tooltip", { key: '2c17e50ac616348df3a98da324b6538891cff75c', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
18
+ index.h("span", { key: 'e6627acbd791531d8f94ed31b07bc47af748da9d', id: this.tooltipId }, label),
19
+ index.h("limel-tooltip", { key: 'e7eddf0643b594fce4aa00f8c783c39b815bbc6d', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
20
20
  ];
21
21
  }
22
22
  getLabel() {
@@ -124,14 +124,14 @@ const SummaryPopover = class {
124
124
  top: '0.125rem',
125
125
  right: '0.125rem',
126
126
  };
127
- return (index.h("limel-popover", { key: '1681bf3578fb29886f68070e3e07397d1e312dc1', style: {
127
+ return (index.h("limel-popover", { key: '838ab57fbd92dd56d10df1e132c3a0f3f2fef58a', style: {
128
128
  '--limebb-summary-popover-timeout': `${this.triggerDelay}ms`,
129
- }, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, index.h("div", { key: '1e2daa75c518f4949a7ca6fdd0ff29bc1a6d529e', slot: "trigger", tabIndex: 0, onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocus: this.openPopoverWithDelay }, index.h("slot", { key: '9d1a9b69db8ac1c4cfddd62fb9949c98700e61b7', name: "trigger" }), index.h("div", { key: '95fcc70f46106c426ae191b6a8d66c7d7a025ca9', class: "opening-countdown-indicator" })), index.h("limel-card", { key: '9294ae443aa9f279c3c01f0af48ca6a2d0d1409f', style: {
129
+ }, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, index.h("div", { key: 'ae1c5c30ac48ea401319596edc02c0cebecede2c', slot: "trigger", tabIndex: 0, onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocus: this.openPopoverWithDelay }, index.h("slot", { key: 'c4aa17eca607080749902ebc19dca7cead778af9', name: "trigger" }), index.h("div", { key: 'a19c9591ea7744550f1a7588522552155549b4d1', class: "opening-countdown-indicator" })), index.h("limel-card", { key: 'c19be162436f7744717934e0f5b21e2558dacb5d', style: {
130
130
  'max-width': this.popoverMaxWidth,
131
131
  'max-height': this.popoverMaxHeight,
132
132
  'min-width': '7rem',
133
133
  'min-height': '3rem',
134
- }, orientation: "landscape", heading: this.heading, subheading: this.subheading, icon: this.icon, value: this.value, image: this.image, actions: this.actions, onActionSelected: this.handleSelected }, index.h("limebb-navigation-button", { key: 'b26fecf7c748fcd82fea453ece55189bcd1302ef', slot: "component", type: "close", style: closeButtonStyle, tooltipLabel: "Close", tooltipHelperLabel: "Esc", onClick: this.handleCloseClick }))));
134
+ }, orientation: "landscape", heading: this.heading, subheading: this.subheading, icon: this.icon, value: this.value, image: this.image, actions: this.actions, onActionSelected: this.handleSelected }, index.h("limebb-navigation-button", { key: 'e2e8685758030513feacce28e6b9a09cadb7f6c7', slot: "component", type: "close", style: closeButtonStyle, tooltipLabel: "Close", tooltipHelperLabel: "Esc", onClick: this.handleCloseClick }))));
135
135
  }
136
136
  };
137
137
  SummaryPopover.currentOpenPopover = null;
@@ -60,7 +60,7 @@ const NotificationListItem = class {
60
60
  }
61
61
  render() {
62
62
  var _a, _b;
63
- return (index.h(index.Host, { key: '39801fd8e10f1dc228741df48561cad3c59d81d7', id: this.item.id, class: {
63
+ return (index.h(index.Host, { key: 'e51a5ebe9c955d43f1025a61a12ca870abb66347', id: this.item.id, class: {
64
64
  'is-clickable': this.isItemClickable(),
65
65
  'is-read': !!((_a = this.item) === null || _a === void 0 ? void 0 : _a.read),
66
66
  'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),
@@ -78,11 +78,11 @@ const PercentageVisualizer = class {
78
78
  render() {
79
79
  const normalizedValue = this.getNormalizedValue();
80
80
  const zeroPoint = this.getZeroPointPosition();
81
- return (index.h(index.Host, { key: '069ab0188df35e32bca3fe7c000d2c5c874012a5', class: this.getContainerClassList(), style: {
81
+ return (index.h(index.Host, { key: 'a99a367379f75613f8f37824fae64d5425e13c92', class: this.getContainerClassList(), style: {
82
82
  '--limebb-percentage-visualizer-zero-point-position': `${zeroPoint}%`,
83
83
  '--limebb-percentage-visualizer-width': `${Math.abs(normalizedValue)}%`,
84
84
  '--limebb-percentage-visualizer-rotate': `${normalizedValue >= 0 ? '0deg' : '180deg'}`,
85
- } }, index.h("limel-notched-outline", { key: 'f6e544a1859f3166ee540435c687415bbfd5de1d', tabIndex: 0, role: "meter", "aria-valuemin": this.rangeMin, "aria-valuemax": this.rangeMax, "aria-valuenow": this.numValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-controls": this.helperTextId }, index.h("div", { key: '348f345b2212b3da15c0e081385a5fee76317ebe', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
85
+ } }, index.h("limel-notched-outline", { key: '498c23ad0ddd79219de646286f9958a84c2592c9', tabIndex: 0, role: "meter", "aria-valuemin": this.rangeMin, "aria-valuemax": this.rangeMax, "aria-valuenow": this.numValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-controls": this.helperTextId }, index.h("div", { key: 'f8ba78a9b92bb93fc107e04f3001413c7560431b', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
86
86
  }
87
87
  renderVisualization() {
88
88
  if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
@@ -1774,7 +1774,7 @@ const LimeBBTextEditor = class {
1774
1774
  }
1775
1775
  render() {
1776
1776
  return [
1777
- index.h("limel-text-editor", { key: '277ec61f05d5edff319ed8bb37df9bc385cb3941', ref: (el) => (this.textEditor = el), tabindex: this.disabled ? -1 : 0, value: this.value, contentType: this.contentType, customElements: this.registeredCustomElements, "aria-disabled": this.disabled, language: this.language, triggers: this.registeredTriggers, onTriggerStart: this.handleTriggerStart, onTriggerStop: this.handleTriggerStop, onTriggerChange: this.handleTriggerChange, onImagePasted: this.handleImagePasted, onMetadataChange: this.handleMetadataChange, ui: this.ui, allowResize: this.allowResize, required: this.required, disabled: this.disabled, readonly: this.readonly, helperText: this.helperText, placeholder: this.placeholder, label: this.label, invalid: this.invalid }),
1777
+ index.h("limel-text-editor", { key: 'de672970cfd1048cc232eeadd527153421f28f36', ref: (el) => (this.textEditor = el), tabindex: this.disabled ? -1 : 0, value: this.value, contentType: this.contentType, customElements: this.registeredCustomElements, "aria-disabled": this.disabled, language: this.language, triggers: this.registeredTriggers, onTriggerStart: this.handleTriggerStart, onTriggerStop: this.handleTriggerStop, onTriggerChange: this.handleTriggerChange, onImagePasted: this.handleImagePasted, onMetadataChange: this.handleMetadataChange, ui: this.ui, allowResize: this.allowResize, required: this.required, disabled: this.disabled, readonly: this.readonly, helperText: this.helperText, placeholder: this.placeholder, label: this.label, invalid: this.invalid }),
1778
1778
  this.renderPicker(),
1779
1779
  ];
1780
1780
  }
@@ -39,7 +39,7 @@ const TrendIndicator = class {
39
39
  this.numValue = this.parseValue(this.value);
40
40
  }
41
41
  render() {
42
- return (index.h(index.Host, { key: '8c503e1a099f65fe29e2ef1903f78ddf62f815d9', class: this.getContainerClassList() }, index.h("limel-notched-outline", { key: '76d8b456dec89cea949ae427091256dffc1e71ab', id: this.tooltipId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, "aria-controls": this.helperTextId }, index.h("div", { key: 'e295b50dcc7a3d4cb017f7d1ca5dd187bf52299c', slot: "content", tabIndex: 0 }, this.renderVisualization())), this.renderHelperLine(), this.renderTooltip()));
42
+ return (index.h(index.Host, { key: 'a0f458a114e5698f40899c44d532643f50bef249', class: this.getContainerClassList() }, index.h("limel-notched-outline", { key: 'fe9a66d44f3155d6594da5e7e16ce9a33907f800', id: this.tooltipId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, "aria-controls": this.helperTextId }, index.h("div", { key: 'daff3b1e6ec7098e7353bca3664179fd9c2594c1', slot: "content", tabIndex: 0 }, this.renderVisualization())), this.renderHelperLine(), this.renderTooltip()));
43
43
  }
44
44
  renderVisualization() {
45
45
  if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
@@ -76,7 +76,7 @@ export class DocumentPicker {
76
76
  this.labelId = createRandomString();
77
77
  }
78
78
  render() {
79
- return (h(Host, { key: '28bf6afd1999efc62689bc43b7d63d8c308d3663' }, h("limel-notched-outline", { key: '0b6f3d9f0cc88e9e1b782e3d12e7a08853211be6', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, hasFloatingLabel: true }, h("div", { key: 'a3d64740ca2139a3435884526b9a6195929d8060', slot: "content", role: this.type === 'radio' ? 'radiogroup' : 'group', "aria-labelledby": this.label ? this.labelId : undefined, "aria-describedby": this.helperText ? this.helperTextId : undefined }, this.renderItems())), this.renderHelperLine()));
79
+ return (h(Host, { key: '5e4a9004ed3b81b6c35be868c664e61cb88d490c' }, h("limel-notched-outline", { key: 'ada8928b3ed815896e1ef5fb61f539f0ab77c7af', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, hasFloatingLabel: true }, h("div", { key: '343aeef460a4ea4e0a4a247daf6988f749dc2b49', slot: "content", role: this.type === 'radio' ? 'radiogroup' : 'group', "aria-labelledby": this.label ? this.labelId : undefined, "aria-describedby": this.helperText ? this.helperTextId : undefined }, this.renderItems())), this.renderHelperLine()));
80
80
  }
81
81
  renderItems() {
82
82
  return this.items.map((item) => (h("limebb-document-item", { platform: this.platform, context: this.context, item: item, key: item.id, type: this.type, onInteract: this.handleItemInteract })));
@@ -14,34 +14,12 @@ limel-badge[slot=actions] {
14
14
  margin-right: 0.25rem;
15
15
  }
16
16
 
17
- .property {
18
- border: 1px solid var(--header-background-color);
19
- border-radius: 0 0 0.75rem 0.75rem;
20
- }
21
-
22
17
  .property-list {
23
18
  display: flex;
24
19
  flex-direction: column;
25
- border-radius: 0.25rem;
26
- background-color: rgb(var(--contrast-100));
27
- gap: 0.5rem;
28
- padding: 0.5rem;
29
- }
30
-
31
- .property-item {
32
- border-radius: 0.25rem;
33
- transition: background-color 0.2s;
34
- }
35
- .property-item:hover {
36
- background-color: rgb(var(--contrast-100));
37
- }
38
-
39
- .actions {
40
- display: flex;
41
- }
42
- .actions limel-button {
43
- padding: 0.5rem;
44
- width: 100%;
20
+ border-radius: 0 0 0.75rem 0.75rem;
21
+ padding: 0.25rem;
22
+ background-color: rgb(var(--contrast-400));
45
23
  }
46
24
 
47
25
  .empty-state {
@@ -99,10 +99,10 @@ export class ResponseFormatEditor {
99
99
  if (this.items.length === 0) {
100
100
  return (h("div", { class: "response-format-editor" }, h("h4", { class: "header" }, this.label), h("div", { class: "empty-state" }, h("p", { class: "empty-state-message" }, "No properties selected. The response will return empty objects."), h("limel-button", { label: "Add Property", icon: "plus_math", onClick: this.handleAddProperty }))));
101
101
  }
102
- return (h("div", { class: "response-format-editor" }, h("limel-header", { subheading: this.label }, this.renderPropertyCount()), h("div", { class: "property" }, h("div", { class: "property-list" }, this.items.map((item, index) => this.renderItem(item, index))), h("div", { class: "actions" }, h("limel-button", { label: "Property", disabled: this.items.some((item) => !item.path || item.path.trim() === ''), icon: {
102
+ return (h("div", { class: "response-format-editor" }, h("limel-header", { subheading: this.label }, this.renderPropertyCount()), h("div", { class: "property-list" }, this.items.map((item, index) => this.renderItem(item, index)), h("limel-button", { label: "Property", disabled: this.items.some((item) => !item.path || item.path.trim() === ''), icon: {
103
103
  name: 'plus_math',
104
104
  title: 'Add',
105
- }, onClick: this.handleAddProperty })))));
105
+ }, onClick: this.handleAddProperty }))));
106
106
  }
107
107
  renderPropertyCount() {
108
108
  return [
@@ -1,3 +1,93 @@
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
+ * The breakpoints below are used to create responsive designs
72
+ * in Lime's products. Therefore, they are here to get distributed
73
+ * to all components in other private repos, which rely on this `mixins`
74
+ * file, to create consistent styles.
75
+ *
76
+ * :::important
77
+ * In very rare cases you should used media queries!
78
+ * Nowadays, there are many better ways of achieving responsive design
79
+ * without media queries. For example, using CSS Grid, Flexbox, and their features.
80
+ * :::
81
+ */
82
+ /**
83
+ * Media query mixins for responsive design based on screen width.
84
+ * Note that these mixins do not detect the device type!
85
+ */
86
+ * {
87
+ box-sizing: border-box;
88
+ min-width: 0;
89
+ }
90
+
1
91
  :host(limebb-lime-query-response-format-item) {
2
92
  display: flex;
3
93
  flex-direction: column;
@@ -5,40 +95,111 @@
5
95
  }
6
96
 
7
97
  .property-controls {
98
+ transition: box-shadow 0.4s ease, background-color 0.6s ease;
8
99
  display: flex;
9
- flex-wrap: wrap;
100
+ align-items: flex-start;
10
101
  gap: 0.5rem;
11
102
  width: 100%;
103
+ padding: 0.75rem 0.75rem 0 0.75rem;
104
+ border-radius: 0.75rem;
105
+ }
106
+ .property-controls:hover, .property-controls:focus, .property-controls:focus-within {
107
+ transition-duration: 0.2s;
108
+ background-color: rgb(var(--contrast-100));
109
+ box-shadow: var(--shadow-inflated-16);
110
+ }
111
+ .property-controls limel-icon-button {
112
+ margin-top: 0.125rem;
12
113
  }
13
114
 
14
115
  .property-path {
15
116
  flex-grow: 1;
16
- min-width: min(10rem, 100%);
117
+ display: flex;
118
+ flex-direction: column;
119
+ padding-bottom: 0.25rem;
17
120
  }
18
121
 
19
- .control-buttons {
20
- flex-shrink: 0;
122
+ .button-group,
123
+ .input-group {
124
+ padding-left: 1rem;
125
+ }
126
+ .button-group:not(:empty),
127
+ .input-group:not(:empty) {
128
+ padding-top: 0.25rem;
129
+ padding-bottom: 0.25rem;
130
+ }
131
+
132
+ .button-group {
21
133
  display: flex;
22
- flex-direction: row;
23
- gap: 0.25rem;
134
+ gap: 0.5rem;
24
135
  align-items: center;
25
136
  }
26
- .control-buttons limel-icon-button {
27
- opacity: 0.6;
28
- transition: opacity 0.2s ease;
137
+ .button-group button {
138
+ all: unset;
139
+ 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);
140
+ cursor: pointer;
141
+ color: var(--limel-theme-on-surface-color);
142
+ background-color: transparent;
143
+ font-size: 0.625rem;
144
+ padding: 0 0.5rem 0 0.25rem;
145
+ display: flex;
146
+ align-items: center;
147
+ gap: 0.25rem;
148
+ border-radius: 0.25rem;
29
149
  }
30
- .control-buttons limel-icon-button:hover {
31
- opacity: 1;
150
+ .button-group button:hover, .button-group button:focus, .button-group button:focus-visible {
151
+ will-change: color, background-color, box-shadow, transform;
32
152
  }
33
- .control-buttons limel-icon-button.has-value {
34
- opacity: 1;
35
- color: rgb(var(--color-blue-default));
153
+ .button-group button:hover, .button-group button:focus-visible {
154
+ transform: translate3d(0, 0.01rem, 0);
155
+ color: var(--limel-theme-on-surface-color);
156
+ background-color: var(--lime-elevated-surface-background-color);
157
+ }
158
+ .button-group button:hover {
159
+ box-shadow: var(--button-shadow-hovered);
160
+ }
161
+ .button-group button:active {
162
+ --limel-clickable-transform-timing-function: cubic-bezier(
163
+ 0.83,
164
+ -0.15,
165
+ 0.49,
166
+ 1.16
167
+ );
168
+ transform: translate3d(0, 0.05rem, 0);
169
+ box-shadow: var(--button-shadow-pressed);
170
+ }
171
+ .button-group button:hover, .button-group button:active {
172
+ --limel-clickable-transition-speed: 0.2s;
173
+ --limel-clickable-transform-speed: 0.16s;
174
+ }
175
+ .button-group button:focus {
176
+ outline: none;
177
+ }
178
+ .button-group button:focus-visible {
179
+ outline: none;
180
+ box-shadow: var(--shadow-depth-8-focused);
181
+ }
182
+ .button-group button:hover {
183
+ transform: scale(1.2);
184
+ }
185
+ .button-group limel-icon {
186
+ width: 1rem;
187
+ }
188
+
189
+ .input-group {
190
+ display: flex;
191
+ align-items: center;
192
+ }
193
+ .input-group limel-input-field {
194
+ flex-grow: 1;
195
+ }
196
+ .input-group limel-icon-button {
197
+ transform: scale(0.85);
36
198
  }
37
199
 
38
- .alias,
39
- .description {
200
+ .metadata {
201
+ flex-grow: 1;
40
202
  padding-left: 1rem;
41
- width: calc(100% - 8.75rem);
42
203
  }
43
204
 
44
205
  @media (max-width: 768px) {
@@ -46,9 +207,33 @@
46
207
  flex-direction: column;
47
208
  gap: 0.5rem;
48
209
  }
49
- .alias,
50
- .description {
51
- padding-left: 0;
52
- width: 100%;
53
- }
210
+ }
211
+ .input-grid {
212
+ --limebb-l-q-r-f-i--opacity-transition-speed: 0.1s;
213
+ --limebb-l-q-r-f-i--opacity-transition-delay: 0s;
214
+ --limebb-l-q-r-f-i--grid-template-rows-transition-speed: 0.3s;
215
+ transition: grid-template-rows var(--limebb-l-q-r-f-i--grid-template-rows-transition-speed) ease;
216
+ display: grid;
217
+ grid-template-rows: 0fr;
218
+ }
219
+ .input-grid .input-group {
220
+ transition: opacity var(--limebb-l-q-r-f-i--opacity-transition-speed) ease var(--limebb-l-q-r-f-i--opacity-transition-delay), padding var(--limebb-l-q-r-f-i--opacity-transition-speed) ease var(--limebb-l-q-r-f-i--opacity-transition-delay);
221
+ overflow: hidden;
222
+ opacity: 0;
223
+ }
224
+ .input-grid:not(:empty) {
225
+ --limebb-l-q-r-f-i--opacity-transition-speed: 0.2s;
226
+ --limebb-l-q-r-f-i--opacity-transition-delay: 0.1s;
227
+ --limebb-l-q-r-f-i--grid-template-rows-transition-speed: 0.2s;
228
+ grid-template-rows: 1fr;
229
+ }
230
+ .input-grid:not(:empty) .input-group {
231
+ opacity: 1;
232
+ }
233
+
234
+ .button-group:hover .input-grid {
235
+ will-change: grid-template-rows;
236
+ }
237
+ .button-group:hover .input-group {
238
+ will-change: opacity, padding;
54
239
  }