@limetech/lime-elements 39.11.1 → 39.12.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 (106) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/lime-elements.cjs.js +1 -1
  3. package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js +4 -4
  4. package/dist/cjs/limel-form.cjs.entry.js +103 -178
  5. package/dist/cjs/limel-helper-line_2.cjs.entry.js +1 -1
  6. package/dist/cjs/limel-masonry-layout.cjs.entry.js +213 -0
  7. package/dist/cjs/limel-picker.cjs.entry.js +1 -1
  8. package/dist/cjs/limel-popover_2.cjs.entry.js +2 -2
  9. package/dist/cjs/limel-portal_3.cjs.entry.js +4 -4
  10. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +1 -1
  11. package/dist/cjs/limel-radio-button-group.cjs.entry.js +1 -1
  12. package/dist/cjs/limel-radio-button.cjs.entry.js +2 -2
  13. package/dist/cjs/limel-select.cjs.entry.js +1 -1
  14. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-slider.cjs.entry.js +2 -2
  16. package/dist/cjs/limel-snackbar.cjs.entry.js +2 -2
  17. package/dist/cjs/limel-split-button.cjs.entry.js +2 -2
  18. package/dist/cjs/limel-switch.cjs.entry.js +1 -1
  19. package/dist/cjs/limel-tab-bar.cjs.entry.js +2 -2
  20. package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
  21. package/dist/cjs/limel-table.cjs.entry.js +3 -3
  22. package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +3 -3
  23. package/dist/cjs/limel-text-editor.cjs.entry.js +1 -1
  24. package/dist/cjs/loader.cjs.js +1 -1
  25. package/dist/collection/collection-manifest.json +1 -0
  26. package/dist/collection/components/form/form.js +13 -16
  27. package/dist/collection/components/form/schema-cache.js +66 -0
  28. package/dist/collection/components/masonry-layout/masonry-layout.css +21 -0
  29. package/dist/collection/components/masonry-layout/masonry-layout.js +267 -0
  30. package/dist/collection/components/menu/menu.js +1 -1
  31. package/dist/collection/components/menu-list/menu-list.js +1 -1
  32. package/dist/collection/components/menu-surface/menu-surface.js +1 -1
  33. package/dist/collection/components/notched-outline/notched-outline.js +1 -1
  34. package/dist/collection/components/picker/picker.js +1 -1
  35. package/dist/collection/components/popover/popover.js +1 -1
  36. package/dist/collection/components/popover-surface/popover-surface.js +1 -1
  37. package/dist/collection/components/portal/portal.js +1 -1
  38. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  39. package/dist/collection/components/radio-button-group/radio-button.js +2 -2
  40. package/dist/collection/components/select/select.js +1 -1
  41. package/dist/collection/components/shortcut/shortcut.js +1 -1
  42. package/dist/collection/components/slider/slider.js +2 -2
  43. package/dist/collection/components/snackbar/snackbar.js +2 -2
  44. package/dist/collection/components/spinner/spinner.js +1 -1
  45. package/dist/collection/components/split-button/split-button.js +2 -2
  46. package/dist/collection/components/switch/switch.js +1 -1
  47. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  48. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  49. package/dist/collection/components/table/table.js +3 -3
  50. package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +3 -3
  51. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +1 -1
  52. package/dist/collection/components/text-editor/text-editor.js +1 -1
  53. package/dist/collection/components/tooltip/tooltip-content.js +1 -1
  54. package/dist/collection/components/tooltip/tooltip.js +2 -2
  55. package/dist/esm/lime-elements.js +1 -1
  56. package/dist/esm/limel-breadcrumbs_7.entry.js +4 -4
  57. package/dist/esm/limel-form.entry.js +103 -178
  58. package/dist/esm/limel-helper-line_2.entry.js +1 -1
  59. package/dist/esm/limel-masonry-layout.entry.js +211 -0
  60. package/dist/esm/limel-picker.entry.js +1 -1
  61. package/dist/esm/limel-popover_2.entry.js +2 -2
  62. package/dist/esm/limel-portal_3.entry.js +4 -4
  63. package/dist/esm/limel-prosemirror-adapter.entry.js +1 -1
  64. package/dist/esm/limel-radio-button-group.entry.js +1 -1
  65. package/dist/esm/limel-radio-button.entry.js +2 -2
  66. package/dist/esm/limel-select.entry.js +1 -1
  67. package/dist/esm/limel-shortcut.entry.js +1 -1
  68. package/dist/esm/limel-slider.entry.js +2 -2
  69. package/dist/esm/limel-snackbar.entry.js +2 -2
  70. package/dist/esm/limel-split-button.entry.js +2 -2
  71. package/dist/esm/limel-switch.entry.js +1 -1
  72. package/dist/esm/limel-tab-bar.entry.js +2 -2
  73. package/dist/esm/limel-tab-panel.entry.js +1 -1
  74. package/dist/esm/limel-table.entry.js +3 -3
  75. package/dist/esm/limel-text-editor-link-menu.entry.js +3 -3
  76. package/dist/esm/limel-text-editor.entry.js +1 -1
  77. package/dist/esm/loader.js +1 -1
  78. package/dist/lime-elements/lime-elements.esm.js +1 -1
  79. package/dist/lime-elements/{p-3d724fc2.entry.js → p-0ea2db02.entry.js} +1 -1
  80. package/dist/lime-elements/{p-730a05e3.entry.js → p-0f4b1953.entry.js} +1 -1
  81. package/dist/lime-elements/{p-2906606d.entry.js → p-173def13.entry.js} +1 -1
  82. package/dist/lime-elements/{p-fe993f80.entry.js → p-341857fa.entry.js} +1 -1
  83. package/dist/lime-elements/p-469ec146.entry.js +1 -0
  84. package/dist/lime-elements/p-58615011.entry.js +1 -0
  85. package/dist/lime-elements/{p-8203eea8.entry.js → p-79c797f5.entry.js} +1 -1
  86. package/dist/lime-elements/{p-1635ece7.entry.js → p-7e584d40.entry.js} +1 -1
  87. package/dist/lime-elements/{p-3f188493.entry.js → p-803ec458.entry.js} +1 -1
  88. package/dist/lime-elements/{p-e0716b51.entry.js → p-811c4820.entry.js} +1 -1
  89. package/dist/lime-elements/{p-c308e2a5.entry.js → p-8fed01b1.entry.js} +2 -2
  90. package/dist/lime-elements/{p-de203f64.entry.js → p-92539877.entry.js} +1 -1
  91. package/dist/lime-elements/{p-8805080c.entry.js → p-9728aa4a.entry.js} +1 -1
  92. package/dist/lime-elements/{p-89b35965.entry.js → p-a6fe98eb.entry.js} +1 -1
  93. package/dist/lime-elements/{p-8b106865.entry.js → p-bd77c457.entry.js} +1 -1
  94. package/dist/lime-elements/{p-afd4be62.entry.js → p-d1477eca.entry.js} +1 -1
  95. package/dist/lime-elements/{p-9aa07388.entry.js → p-d1717de1.entry.js} +1 -1
  96. package/dist/lime-elements/{p-faceccc0.entry.js → p-d4d4236b.entry.js} +1 -1
  97. package/dist/lime-elements/{p-9015c90c.entry.js → p-e7438c81.entry.js} +1 -1
  98. package/dist/lime-elements/p-f93163eb.entry.js +7 -0
  99. package/dist/lime-elements/{p-50f51eb9.entry.js → p-fbdca779.entry.js} +1 -1
  100. package/dist/types/components/form/form.d.ts +1 -0
  101. package/dist/types/components/form/schema-cache.d.ts +17 -0
  102. package/dist/types/components/masonry-layout/masonry-layout.d.ts +94 -0
  103. package/dist/types/components.d.ts +90 -0
  104. package/package.json +1 -2
  105. package/dist/lime-elements/p-59716b48.entry.js +0 -1
  106. package/dist/lime-elements/p-fb6c42a6.entry.js +0 -7
@@ -1 +1 @@
1
- import{r as e,h as o,H as a}from"./p-DBTJNfo7.js";const i=class{constructor(o){e(this,o)}render(){return o(a,{key:"64623e09534c5b4e457029cbed4865d97d3cc19e",class:{"boolean-input":!0,"radio-button":!0,checked:this.checked,disabled:this.disabled}},o("input",{key:"4eb816e8031d20bbfa5beb32798e50e5d3747895",type:"radio",id:this.id,checked:this.checked,disabled:this.disabled,onChange:this.onChange}),o("div",{key:"9e7d7db22981a16b4655d7cbcd7c3eb2462a7953",class:"box"}),o("label",{key:"4b2061d351b2d4d03d6e5763bc132be46d146e48",class:"boolean-input-label",htmlFor:this.id},this.label))}};i.style='@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}.boolean-input{--limel-boolean-input-box-size:1.25rem;--limel-boolean-input-gap-size:0.5rem;position:relative;isolation:isolate;display:flex;align-items:center;min-height:var(--limel-checkbox-min-height, 2.5rem);width:100%}.boolean-input input[type=checkbox],.boolean-input input[type=radio]{position:absolute;width:0;height:0;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none}label.boolean-input-label{min-width:var(--limel-boolean-input-box-size);min-height:var(--limel-boolean-input-box-size);padding-top:0.125rem;cursor:pointer;position:relative;width:100%;overflow-wrap:var(--limel-boolean-input-label-overflow-wrap, normal);font-size:var(--limel-theme-default-small-font-size);color:var(--limel-theme-text-primary-on-background-color);padding-left:calc(var(--limel-boolean-input-box-size) + var(--limel-boolean-input-gap-size))}.disabled:not([readonly]):not([readonly=true]) label.boolean-input-label{cursor:not-allowed;color:var(--limel-theme-text-disabled-color)}.required label.boolean-input-label:after{margin-left:0.0625rem;content:"*"}.invalid:not(.readonly) label.boolean-input-label{color:var(--limel-theme-error-text-color)}:host(limel-checkbox.hide-label) label.boolean-input-label,.hide-label label.boolean-input-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:0;width:var(--limel-boolean-input-box-size)}.box{position:absolute;pointer-events:none;transition:border-color 0.4s ease 0.2s, background-color 0.2s ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease;display:inline-block;vertical-align:middle;width:var(--limel-boolean-input-box-size);height:var(--limel-boolean-input-box-size);margin-right:var(--limel-boolean-input-gap-size);border-radius:var(--limel-boolean-input-box-border-radius);border:0.125rem solid;border-color:var(--checkbox-unchecked-border-color, rgb(var(--contrast-900)));background-color:var(--limel-checkbox-background-color, rgb(var(--contrast-300)));}.checked .box,.boolean-input>input[type=checkbox]:checked+.box,.boolean-input>input[type=radio]:checked+.box{background-color:var(--lime-primary-color, var(--limel-theme-primary-color));border-color:var(--lime-primary-color, var(--limel-theme-primary-color))}.disabled .box{opacity:0.4}.box{}.boolean-input:not(.disabled):hover .box{will-change:box-shadow;box-shadow:var(--button-shadow-hovered)}.boolean-input:not(.disabled):active .box{will-change:box-shadow;box-shadow:var(--button-shadow-pressed)}.box:before{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);content:"";position:absolute;inset:-0.1875rem;border-radius:inherit;}.boolean-input>input[type=checkbox]:focus-visible+.box:before,.boolean-input>input[type=radio]:focus-visible+.box:before{will-change:box-shadow;box-shadow:var(--shadow-depth-8-focused)}.box:after{transition:opacity 0.2s ease, width 0.4s ease, box-shadow 0.6s cubic-bezier(0.68, -0.55, 0, 1.87), transform 0.6s cubic-bezier(0.68, -0.55, 0, 1.87);content:"";position:absolute;inset:0;margin:auto;border-radius:1rem;opacity:0;background-color:rgb(var(--color-white));}.boolean-input:not(.disabled):hover .box:after{will-change:opacity, box-shadow, transform, width}.radio-button{--limel-boolean-input-box-border-radius:var( --limel-boolean-input-box-size )}.radio-button .box:after{width:100%;height:100%;border-radius:50%}.boolean-input:has(input[type=radio]:checked) .box:after{opacity:1;transform:scale(0.6);box-shadow:var(--shadow-depth-8)}';export{i as limel_radio_button}
1
+ import{r as e,h as o,H as a}from"./p-DBTJNfo7.js";const i=class{constructor(o){e(this,o)}render(){return o(a,{key:"d198242b1e1a066b38b1d6ddc55fcd8dd7817c36",class:{"boolean-input":!0,"radio-button":!0,checked:this.checked,disabled:this.disabled}},o("input",{key:"7b2a009c5753d4ad9bad3c1ee9d8aa2b1fc30db8",type:"radio",id:this.id,checked:this.checked,disabled:this.disabled,onChange:this.onChange}),o("div",{key:"8eef5a56df7502ec7b6cb1ed84c8b8f0a72cd21c",class:"box"}),o("label",{key:"bcd0883bf0dbdd307508a47e98402e590167fa00",class:"boolean-input-label",htmlFor:this.id},this.label))}};i.style='@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}.boolean-input{--limel-boolean-input-box-size:1.25rem;--limel-boolean-input-gap-size:0.5rem;position:relative;isolation:isolate;display:flex;align-items:center;min-height:var(--limel-checkbox-min-height, 2.5rem);width:100%}.boolean-input input[type=checkbox],.boolean-input input[type=radio]{position:absolute;width:0;height:0;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none}label.boolean-input-label{min-width:var(--limel-boolean-input-box-size);min-height:var(--limel-boolean-input-box-size);padding-top:0.125rem;cursor:pointer;position:relative;width:100%;overflow-wrap:var(--limel-boolean-input-label-overflow-wrap, normal);font-size:var(--limel-theme-default-small-font-size);color:var(--limel-theme-text-primary-on-background-color);padding-left:calc(var(--limel-boolean-input-box-size) + var(--limel-boolean-input-gap-size))}.disabled:not([readonly]):not([readonly=true]) label.boolean-input-label{cursor:not-allowed;color:var(--limel-theme-text-disabled-color)}.required label.boolean-input-label:after{margin-left:0.0625rem;content:"*"}.invalid:not(.readonly) label.boolean-input-label{color:var(--limel-theme-error-text-color)}:host(limel-checkbox.hide-label) label.boolean-input-label,.hide-label label.boolean-input-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:0;width:var(--limel-boolean-input-box-size)}.box{position:absolute;pointer-events:none;transition:border-color 0.4s ease 0.2s, background-color 0.2s ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease;display:inline-block;vertical-align:middle;width:var(--limel-boolean-input-box-size);height:var(--limel-boolean-input-box-size);margin-right:var(--limel-boolean-input-gap-size);border-radius:var(--limel-boolean-input-box-border-radius);border:0.125rem solid;border-color:var(--checkbox-unchecked-border-color, rgb(var(--contrast-900)));background-color:var(--limel-checkbox-background-color, rgb(var(--contrast-300)));}.checked .box,.boolean-input>input[type=checkbox]:checked+.box,.boolean-input>input[type=radio]:checked+.box{background-color:var(--lime-primary-color, var(--limel-theme-primary-color));border-color:var(--lime-primary-color, var(--limel-theme-primary-color))}.disabled .box{opacity:0.4}.box{}.boolean-input:not(.disabled):hover .box{will-change:box-shadow;box-shadow:var(--button-shadow-hovered)}.boolean-input:not(.disabled):active .box{will-change:box-shadow;box-shadow:var(--button-shadow-pressed)}.box:before{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);content:"";position:absolute;inset:-0.1875rem;border-radius:inherit;}.boolean-input>input[type=checkbox]:focus-visible+.box:before,.boolean-input>input[type=radio]:focus-visible+.box:before{will-change:box-shadow;box-shadow:var(--shadow-depth-8-focused)}.box:after{transition:opacity 0.2s ease, width 0.4s ease, box-shadow 0.6s cubic-bezier(0.68, -0.55, 0, 1.87), transform 0.6s cubic-bezier(0.68, -0.55, 0, 1.87);content:"";position:absolute;inset:0;margin:auto;border-radius:1rem;opacity:0;background-color:rgb(var(--color-white));}.boolean-input:not(.disabled):hover .box:after{will-change:opacity, box-shadow, transform, width}.radio-button{--limel-boolean-input-box-border-radius:var( --limel-boolean-input-box-size )}.radio-button .box:after{width:100%;height:100%;border-radius:50%}.boolean-input:has(input[type=radio]:checked) .box:after{opacity:1;transform:scale(0.6);box-shadow:var(--shadow-depth-8)}';export{i as limel_radio_button}
@@ -63,6 +63,7 @@ export declare class Form {
63
63
  private modifiedSchema;
64
64
  private validator;
65
65
  private root;
66
+ private initialized;
66
67
  constructor();
67
68
  connectedCallback(): void;
68
69
  componentWillLoad(): void;
@@ -0,0 +1,17 @@
1
+ import Ajv from 'ajv';
2
+ /**
3
+ * Returns a compiled JSON Schema validator, using a cached version
4
+ * if the same schema content has been seen before.
5
+ *
6
+ * @param schema - the JSON Schema to compile
7
+ */
8
+ export declare function getValidator(schema: Record<string, any>): Ajv.ValidateFunction;
9
+ /**
10
+ * Generates a deterministic ID from schema content, preserving any
11
+ * existing `$id` as a prefix. Used to work around RJSF #1563 where
12
+ * identical schemas need stable IDs to avoid validation cache collisions.
13
+ *
14
+ * @param schema - the JSON Schema to generate an ID for
15
+ */
16
+ export declare function getSchemaId(schema: Record<string, any>): string;
17
+ //# sourceMappingURL=schema-cache.d.ts.map
@@ -0,0 +1,94 @@
1
+ /**
2
+ * A responsive masonry grid layout component.
3
+ *
4
+ * This component arranges slotted elements into a masonry-style grid,
5
+ * where items are placed in the shortest column, resulting in a
6
+ * Pinterest-like layout with minimal vertical gaps.
7
+ *
8
+ * The component uses JavaScript to calculate positions, providing
9
+ * reliable cross-browser support — unlike CSS-only approaches such as
10
+ * `columns` or `grid-template-rows: masonry`, which have limited
11
+ * browser support or produce poor results.
12
+ *
13
+ * The number of columns is determined automatically based on the
14
+ * available width and the minimum column width.
15
+ *
16
+ * @exampleComponent limel-example-masonry-layout-basic
17
+ * @exampleComponent limel-example-masonry-layout-images
18
+ * @exampleComponent limel-example-masonry-layout-ordered
19
+ * @slot - Items to arrange in the masonry layout
20
+ * @beta
21
+ */
22
+ export declare class MasonryLayout {
23
+ /**
24
+ * When `true`, items are placed left-to-right in DOM order.
25
+ * When `false` (default), items are placed in the shortest column.
26
+ */
27
+ ordered: boolean;
28
+ protected onOrderedChange(): void;
29
+ private host;
30
+ private containerHeight;
31
+ private hasRendered;
32
+ private resizeObserver;
33
+ private mutationObserver;
34
+ private itemResizeObserver;
35
+ private pendingLayoutFrame;
36
+ componentDidLoad(): void;
37
+ connectedCallback(): void;
38
+ disconnectedCallback(): void;
39
+ render(): any;
40
+ private setupObservers;
41
+ private observeItemSizes;
42
+ private getItems;
43
+ private getRootFontSize;
44
+ private pxToRem;
45
+ /**
46
+ * Reads a CSS custom property from the host element and resolves
47
+ * its value to pixels. Falls back to the provided default if the
48
+ * property is not set.
49
+ *
50
+ * @param property - The CSS custom property name to read.
51
+ * @param fallback - The fallback CSS value if the property is not set.
52
+ * @param rootFontSize - The root font size in pixels for rem conversion.
53
+ */
54
+ private getCssPropertyInPx;
55
+ /**
56
+ * Debounces layout recalculations using `requestAnimationFrame`
57
+ * to coalesce multiple observer callbacks into a single layout
58
+ * pass per frame, avoiding layout thrashing.
59
+ */
60
+ private scheduleLayout;
61
+ private layoutItems;
62
+ private calculateColumns;
63
+ /**
64
+ * Absolutely positions each item into the grid. In ordered mode,
65
+ * items are placed left-to-right via round-robin. In default mode,
66
+ * each item is placed in the shortest column for balanced heights.
67
+ *
68
+ * @param items - The child elements to position.
69
+ * @param columnCount - The number of columns in the grid.
70
+ * @param columnWidth - The width of each column in pixels.
71
+ * @param gapPx - The gap between items in pixels.
72
+ * @param rootFontSize - The root font size in pixels for rem conversion.
73
+ * @returns The cumulative height of each column in pixels.
74
+ */
75
+ private positionItems;
76
+ /**
77
+ * Applies a staggered fade-in transition to an item.
78
+ * Inline `transition` and `transitionDelay` styles are set
79
+ * temporarily and cleaned up via a `transitionend` listener
80
+ * so they don't interfere with the consumer's own transitions.
81
+ *
82
+ * The listener filters by `event.target` to avoid reacting to
83
+ * bubbled events from descendant elements.
84
+ *
85
+ * Skipped entirely when `prefers-reduced-motion: reduce` is
86
+ * active — items become visible instantly via the CSS
87
+ * `is-laid-out` class instead.
88
+ *
89
+ * @param item - The element to fade in.
90
+ * @param index - The item's position in the list, used to calculate the delay.
91
+ */
92
+ private staggerFadeIn;
93
+ }
94
+ //# sourceMappingURL=masonry-layout.d.ts.map
@@ -2498,6 +2498,29 @@ export namespace Components {
2498
2498
  */
2499
2499
  "whitelist"?: CustomElementDefinition[];
2500
2500
  }
2501
+ /**
2502
+ * A responsive masonry grid layout component.
2503
+ * This component arranges slotted elements into a masonry-style grid,
2504
+ * where items are placed in the shortest column, resulting in a
2505
+ * Pinterest-like layout with minimal vertical gaps.
2506
+ * The component uses JavaScript to calculate positions, providing
2507
+ * reliable cross-browser support — unlike CSS-only approaches such as
2508
+ * `columns` or `grid-template-rows: masonry`, which have limited
2509
+ * browser support or produce poor results.
2510
+ * The number of columns is determined automatically based on the
2511
+ * available width and the minimum column width.
2512
+ * @exampleComponent limel-example-masonry-layout-basic
2513
+ * @exampleComponent limel-example-masonry-layout-images
2514
+ * @exampleComponent limel-example-masonry-layout-ordered
2515
+ * @beta
2516
+ */
2517
+ interface LimelMasonryLayout {
2518
+ /**
2519
+ * When `true`, items are placed left-to-right in DOM order. When `false` (default), items are placed in the shortest column.
2520
+ * @default false
2521
+ */
2522
+ "ordered": boolean;
2523
+ }
2501
2524
  /**
2502
2525
  * @exampleComponent limel-example-menu-basic
2503
2526
  * @exampleComponent limel-example-menu-disabled
@@ -5501,6 +5524,28 @@ declare global {
5501
5524
  prototype: HTMLLimelMarkdownElement;
5502
5525
  new (): HTMLLimelMarkdownElement;
5503
5526
  };
5527
+ /**
5528
+ * A responsive masonry grid layout component.
5529
+ * This component arranges slotted elements into a masonry-style grid,
5530
+ * where items are placed in the shortest column, resulting in a
5531
+ * Pinterest-like layout with minimal vertical gaps.
5532
+ * The component uses JavaScript to calculate positions, providing
5533
+ * reliable cross-browser support — unlike CSS-only approaches such as
5534
+ * `columns` or `grid-template-rows: masonry`, which have limited
5535
+ * browser support or produce poor results.
5536
+ * The number of columns is determined automatically based on the
5537
+ * available width and the minimum column width.
5538
+ * @exampleComponent limel-example-masonry-layout-basic
5539
+ * @exampleComponent limel-example-masonry-layout-images
5540
+ * @exampleComponent limel-example-masonry-layout-ordered
5541
+ * @beta
5542
+ */
5543
+ interface HTMLLimelMasonryLayoutElement extends Components.LimelMasonryLayout, HTMLStencilElement {
5544
+ }
5545
+ var HTMLLimelMasonryLayoutElement: {
5546
+ prototype: HTMLLimelMasonryLayoutElement;
5547
+ new (): HTMLLimelMasonryLayoutElement;
5548
+ };
5504
5549
  interface HTMLLimelMenuElementEventMap {
5505
5550
  "cancel": void;
5506
5551
  "select": MenuItem;
@@ -6387,6 +6432,7 @@ declare global {
6387
6432
  "limel-list": HTMLLimelListElement;
6388
6433
  "limel-list-item": HTMLLimelListItemElement;
6389
6434
  "limel-markdown": HTMLLimelMarkdownElement;
6435
+ "limel-masonry-layout": HTMLLimelMasonryLayoutElement;
6390
6436
  "limel-menu": HTMLLimelMenuElement;
6391
6437
  "limel-menu-item-meta": HTMLLimelMenuItemMetaElement;
6392
6438
  "limel-menu-list": HTMLLimelMenuListElement;
@@ -8973,6 +9019,29 @@ declare namespace LocalJSX {
8973
9019
  */
8974
9020
  "whitelist"?: CustomElementDefinition[];
8975
9021
  }
9022
+ /**
9023
+ * A responsive masonry grid layout component.
9024
+ * This component arranges slotted elements into a masonry-style grid,
9025
+ * where items are placed in the shortest column, resulting in a
9026
+ * Pinterest-like layout with minimal vertical gaps.
9027
+ * The component uses JavaScript to calculate positions, providing
9028
+ * reliable cross-browser support — unlike CSS-only approaches such as
9029
+ * `columns` or `grid-template-rows: masonry`, which have limited
9030
+ * browser support or produce poor results.
9031
+ * The number of columns is determined automatically based on the
9032
+ * available width and the minimum column width.
9033
+ * @exampleComponent limel-example-masonry-layout-basic
9034
+ * @exampleComponent limel-example-masonry-layout-images
9035
+ * @exampleComponent limel-example-masonry-layout-ordered
9036
+ * @beta
9037
+ */
9038
+ interface LimelMasonryLayout {
9039
+ /**
9040
+ * When `true`, items are placed left-to-right in DOM order. When `false` (default), items are placed in the shortest column.
9041
+ * @default false
9042
+ */
9043
+ "ordered"?: boolean;
9044
+ }
8976
9045
  /**
8977
9046
  * @exampleComponent limel-example-menu-basic
8978
9047
  * @exampleComponent limel-example-menu-disabled
@@ -10903,6 +10972,9 @@ declare namespace LocalJSX {
10903
10972
  "lazyLoadImages": boolean;
10904
10973
  "removeEmptyParagraphs": boolean;
10905
10974
  }
10975
+ interface LimelMasonryLayoutAttributes {
10976
+ "ordered": boolean;
10977
+ }
10906
10978
  interface LimelMenuAttributes {
10907
10979
  "disabled": boolean;
10908
10980
  "openDirection": OpenDirection;
@@ -11162,6 +11234,7 @@ declare namespace LocalJSX {
11162
11234
  "limel-list": Omit<LimelList, keyof LimelListAttributes> & { [K in keyof LimelList & keyof LimelListAttributes]?: LimelList[K] } & { [K in keyof LimelList & keyof LimelListAttributes as `attr:${K}`]?: LimelListAttributes[K] } & { [K in keyof LimelList & keyof LimelListAttributes as `prop:${K}`]?: LimelList[K] };
11163
11235
  "limel-list-item": Omit<LimelListItem, keyof LimelListItemAttributes> & { [K in keyof LimelListItem & keyof LimelListItemAttributes]?: LimelListItem[K] } & { [K in keyof LimelListItem & keyof LimelListItemAttributes as `attr:${K}`]?: LimelListItemAttributes[K] } & { [K in keyof LimelListItem & keyof LimelListItemAttributes as `prop:${K}`]?: LimelListItem[K] };
11164
11236
  "limel-markdown": Omit<LimelMarkdown, keyof LimelMarkdownAttributes> & { [K in keyof LimelMarkdown & keyof LimelMarkdownAttributes]?: LimelMarkdown[K] } & { [K in keyof LimelMarkdown & keyof LimelMarkdownAttributes as `attr:${K}`]?: LimelMarkdownAttributes[K] } & { [K in keyof LimelMarkdown & keyof LimelMarkdownAttributes as `prop:${K}`]?: LimelMarkdown[K] };
11237
+ "limel-masonry-layout": Omit<LimelMasonryLayout, keyof LimelMasonryLayoutAttributes> & { [K in keyof LimelMasonryLayout & keyof LimelMasonryLayoutAttributes]?: LimelMasonryLayout[K] } & { [K in keyof LimelMasonryLayout & keyof LimelMasonryLayoutAttributes as `attr:${K}`]?: LimelMasonryLayoutAttributes[K] } & { [K in keyof LimelMasonryLayout & keyof LimelMasonryLayoutAttributes as `prop:${K}`]?: LimelMasonryLayout[K] };
11165
11238
  "limel-menu": Omit<LimelMenu, keyof LimelMenuAttributes> & { [K in keyof LimelMenu & keyof LimelMenuAttributes]?: LimelMenu[K] } & { [K in keyof LimelMenu & keyof LimelMenuAttributes as `attr:${K}`]?: LimelMenuAttributes[K] } & { [K in keyof LimelMenu & keyof LimelMenuAttributes as `prop:${K}`]?: LimelMenu[K] };
11166
11239
  "limel-menu-item-meta": Omit<LimelMenuItemMeta, keyof LimelMenuItemMetaAttributes> & { [K in keyof LimelMenuItemMeta & keyof LimelMenuItemMetaAttributes]?: LimelMenuItemMeta[K] } & { [K in keyof LimelMenuItemMeta & keyof LimelMenuItemMetaAttributes as `attr:${K}`]?: LimelMenuItemMetaAttributes[K] } & { [K in keyof LimelMenuItemMeta & keyof LimelMenuItemMetaAttributes as `prop:${K}`]?: LimelMenuItemMeta[K] };
11167
11240
  "limel-menu-list": Omit<LimelMenuList, keyof LimelMenuListAttributes> & { [K in keyof LimelMenuList & keyof LimelMenuListAttributes]?: LimelMenuList[K] } & { [K in keyof LimelMenuList & keyof LimelMenuListAttributes as `attr:${K}`]?: LimelMenuListAttributes[K] } & { [K in keyof LimelMenuList & keyof LimelMenuListAttributes as `prop:${K}`]?: LimelMenuList[K] };
@@ -12066,6 +12139,23 @@ declare module "@stencil/core" {
12066
12139
  * @exampleComponent limel-example-markdown-composite
12067
12140
  */
12068
12141
  "limel-markdown": LocalJSX.IntrinsicElements["limel-markdown"] & JSXBase.HTMLAttributes<HTMLLimelMarkdownElement>;
12142
+ /**
12143
+ * A responsive masonry grid layout component.
12144
+ * This component arranges slotted elements into a masonry-style grid,
12145
+ * where items are placed in the shortest column, resulting in a
12146
+ * Pinterest-like layout with minimal vertical gaps.
12147
+ * The component uses JavaScript to calculate positions, providing
12148
+ * reliable cross-browser support — unlike CSS-only approaches such as
12149
+ * `columns` or `grid-template-rows: masonry`, which have limited
12150
+ * browser support or produce poor results.
12151
+ * The number of columns is determined automatically based on the
12152
+ * available width and the minimum column width.
12153
+ * @exampleComponent limel-example-masonry-layout-basic
12154
+ * @exampleComponent limel-example-masonry-layout-images
12155
+ * @exampleComponent limel-example-masonry-layout-ordered
12156
+ * @beta
12157
+ */
12158
+ "limel-masonry-layout": LocalJSX.IntrinsicElements["limel-masonry-layout"] & JSXBase.HTMLAttributes<HTMLLimelMasonryLayoutElement>;
12069
12159
  /**
12070
12160
  * @exampleComponent limel-example-menu-basic
12071
12161
  * @exampleComponent limel-example-menu-disabled
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limetech/lime-elements",
3
- "version": "39.11.1",
3
+ "version": "39.12.1",
4
4
  "description": "Lime Elements",
5
5
  "author": "Lime Technologies",
6
6
  "license": "Apache-2.0",
@@ -84,7 +84,6 @@
84
84
  "puppeteer": "^19.11.1",
85
85
  "react": "^19.1.1",
86
86
  "react-dom": "^19.1.1",
87
- "react-shadow-dom-retarget-events": "^1.1.0",
88
87
  "rehype-parse": "^9.0.1",
89
88
  "rehype-raw": "^7.0.0",
90
89
  "rehype-sanitize": "^6.0.0",
@@ -1 +0,0 @@
1
- import{r as t,c as s,h as e}from"./p-DBTJNfo7.js";const i=class{constructor(e){t(this,e),this.change=s(this,"change"),this.disabled=!1,this.maxLinesSecondaryText=3,this.handleChange=t=>{t.stopPropagation(),this.disabled||this.change.emit(t.detail)}}render(){return e("limel-list",{key:"d42e6342d4fd79d34cb2c6a9d25d3dfe577e9a99",items:this.createItems(),type:"radio",badgeIcons:this.badgeIcons,maxLinesSecondaryText:this.maxLinesSecondaryText,onChange:this.handleChange})}createItems(){return this.items.map((t=>{var s;return"separator"in t?t:Object.assign(Object.assign({},t),{selected:t.value===(null===(s=this.selectedItem)||void 0===s?void 0:s.value),disabled:this.disabled||t.disabled})}))}};export{i as limel_radio_button_group}