le-kit 0.1.18 → 0.1.19

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 (118) hide show
  1. package/dist/cjs/le-button_13.cjs.entry.js +17 -17
  2. package/dist/cjs/le-card.cjs.entry.js +1 -1
  3. package/dist/cjs/le-combobox.cjs.entry.js +1 -1
  4. package/dist/cjs/le-header-placeholder.cjs.entry.js +1 -1
  5. package/dist/cjs/le-multiselect.cjs.entry.js +3 -3
  6. package/dist/cjs/le-number-input.cjs.entry.js +1 -1
  7. package/dist/cjs/le-round-progress.cjs.entry.js +1 -1
  8. package/dist/cjs/le-segmented-control.cjs.entry.js +1 -1
  9. package/dist/cjs/le-stack.cjs.entry.js +1 -1
  10. package/dist/cjs/le-tab-bar.cjs.entry.js +1 -1
  11. package/dist/cjs/le-tab-panel.cjs.entry.js +2 -2
  12. package/dist/cjs/le-tab.cjs.entry.js +1 -1
  13. package/dist/cjs/le-tabs.cjs.entry.js +2 -2
  14. package/dist/cjs/le-tag.cjs.entry.js +1 -1
  15. package/dist/cjs/le-turntable.cjs.entry.js +1 -1
  16. package/dist/collection/components/le-button/le-button.css +24 -24
  17. package/dist/collection/components/le-button/le-button.js +2 -2
  18. package/dist/collection/components/le-button/le-button.js.map +1 -1
  19. package/dist/collection/components/le-card/le-card.js +1 -1
  20. package/dist/collection/components/le-checkbox/le-checkbox.js +1 -1
  21. package/dist/collection/components/le-collapse/le-collapse.js +1 -1
  22. package/dist/collection/components/le-combobox/le-combobox.js +1 -1
  23. package/dist/collection/components/le-current-heading/le-current-heading.js +1 -1
  24. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js +1 -1
  25. package/dist/collection/components/le-header/le-header.js +2 -2
  26. package/dist/collection/components/le-header-placeholder/le-header-placeholder.js +1 -1
  27. package/dist/collection/components/le-multiselect/le-multiselect.js +3 -3
  28. package/dist/collection/components/le-number-input/le-number-input.js +1 -1
  29. package/dist/collection/components/le-popover/le-popover.js +3 -3
  30. package/dist/collection/components/le-round-progress/le-round-progress.js +1 -1
  31. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js +1 -1
  32. package/dist/collection/components/le-segmented-control/le-segmented-control.js +1 -1
  33. package/dist/collection/components/le-select/le-select.js +2 -2
  34. package/dist/collection/components/le-slot/le-slot.js +1 -1
  35. package/dist/collection/components/le-stack/le-stack.js +1 -1
  36. package/dist/collection/components/le-string-input/le-string-input.js +2 -2
  37. package/dist/collection/components/le-tab/le-tab.js +1 -1
  38. package/dist/collection/components/le-tab-bar/le-tab-bar.js +1 -1
  39. package/dist/collection/components/le-tab-panel/le-tab-panel.js +2 -2
  40. package/dist/collection/components/le-tabs/le-tabs.js +2 -2
  41. package/dist/collection/components/le-tag/le-tag.js +1 -1
  42. package/dist/collection/components/le-turntable/le-turntable.js +1 -1
  43. package/dist/collection/dist/components/assets/custom-elements.json +397 -397
  44. package/dist/components/assets/custom-elements.json +397 -397
  45. package/dist/components/le-button2.js +8 -8
  46. package/dist/components/le-button2.js.map +1 -1
  47. package/dist/components/le-card.js +1 -1
  48. package/dist/components/le-collapse.js +1 -1
  49. package/dist/components/le-combobox.js +1 -1
  50. package/dist/components/le-current-heading.js +1 -1
  51. package/dist/components/le-dropdown-base2.js +1 -1
  52. package/dist/components/le-header-placeholder.js +1 -1
  53. package/dist/components/le-header.js +2 -2
  54. package/dist/components/le-multiselect.js +3 -3
  55. package/dist/components/le-number-input.js +1 -1
  56. package/dist/components/le-popover2.js +3 -3
  57. package/dist/components/le-round-progress.js +1 -1
  58. package/dist/components/le-scroll-progress.js +1 -1
  59. package/dist/components/le-segmented-control.js +1 -1
  60. package/dist/components/le-stack.js +1 -1
  61. package/dist/components/le-tab-bar.js +1 -1
  62. package/dist/components/le-tab-panel.js +2 -2
  63. package/dist/components/le-tab2.js +1 -1
  64. package/dist/components/le-tabs.js +2 -2
  65. package/dist/components/le-tag2.js +1 -1
  66. package/dist/components/le-turntable.js +1 -1
  67. package/dist/docs.json +1 -1
  68. package/dist/esm/le-button_13.entry.js +17 -17
  69. package/dist/esm/le-card.entry.js +1 -1
  70. package/dist/esm/le-combobox.entry.js +1 -1
  71. package/dist/esm/le-header-placeholder.entry.js +1 -1
  72. package/dist/esm/le-multiselect.entry.js +3 -3
  73. package/dist/esm/le-number-input.entry.js +1 -1
  74. package/dist/esm/le-round-progress.entry.js +1 -1
  75. package/dist/esm/le-segmented-control.entry.js +1 -1
  76. package/dist/esm/le-stack.entry.js +1 -1
  77. package/dist/esm/le-tab-bar.entry.js +1 -1
  78. package/dist/esm/le-tab-panel.entry.js +2 -2
  79. package/dist/esm/le-tab.entry.js +1 -1
  80. package/dist/esm/le-tabs.entry.js +2 -2
  81. package/dist/esm/le-tag.entry.js +1 -1
  82. package/dist/esm/le-turntable.entry.js +1 -1
  83. package/dist/le-kit/dist/components/assets/custom-elements.json +397 -397
  84. package/dist/le-kit/le-kit.esm.js +1 -1
  85. package/dist/le-kit/{p-9ba2bfb3.entry.js → p-02532919.entry.js} +2 -2
  86. package/dist/le-kit/{p-684adc9f.entry.js → p-1733d907.entry.js} +2 -2
  87. package/dist/le-kit/p-2ec60692.entry.js +2 -0
  88. package/dist/le-kit/{p-b3531106.entry.js → p-3327b089.entry.js} +2 -2
  89. package/dist/le-kit/{p-8afe6862.entry.js → p-4bdb03cb.entry.js} +2 -2
  90. package/dist/le-kit/{p-269fb44f.entry.js → p-64c2cee1.entry.js} +2 -2
  91. package/dist/le-kit/{p-95cf203e.entry.js → p-6acdf000.entry.js} +2 -2
  92. package/dist/le-kit/p-83007215.entry.js +2 -0
  93. package/dist/le-kit/p-83007215.entry.js.map +1 -0
  94. package/dist/le-kit/{p-629c5e13.entry.js → p-a8963634.entry.js} +2 -2
  95. package/dist/le-kit/{p-c83a1255.entry.js → p-b7c008de.entry.js} +2 -2
  96. package/dist/le-kit/{p-7d316315.entry.js → p-da0265c5.entry.js} +2 -2
  97. package/dist/le-kit/{p-d2a5d431.entry.js → p-df9389f0.entry.js} +2 -2
  98. package/dist/le-kit/{p-31c3649c.entry.js → p-dfd20890.entry.js} +2 -2
  99. package/dist/le-kit/{p-deef1f4d.entry.js → p-e3f3cc8f.entry.js} +2 -2
  100. package/dist/le-kit/{p-e4618b36.entry.js → p-f88c804a.entry.js} +2 -2
  101. package/package.json +1 -1
  102. package/dist/le-kit/p-3829f572.entry.js +0 -2
  103. package/dist/le-kit/p-3829f572.entry.js.map +0 -1
  104. package/dist/le-kit/p-e07d4b78.entry.js +0 -2
  105. /package/dist/le-kit/{p-9ba2bfb3.entry.js.map → p-02532919.entry.js.map} +0 -0
  106. /package/dist/le-kit/{p-684adc9f.entry.js.map → p-1733d907.entry.js.map} +0 -0
  107. /package/dist/le-kit/{p-e07d4b78.entry.js.map → p-2ec60692.entry.js.map} +0 -0
  108. /package/dist/le-kit/{p-b3531106.entry.js.map → p-3327b089.entry.js.map} +0 -0
  109. /package/dist/le-kit/{p-8afe6862.entry.js.map → p-4bdb03cb.entry.js.map} +0 -0
  110. /package/dist/le-kit/{p-269fb44f.entry.js.map → p-64c2cee1.entry.js.map} +0 -0
  111. /package/dist/le-kit/{p-95cf203e.entry.js.map → p-6acdf000.entry.js.map} +0 -0
  112. /package/dist/le-kit/{p-629c5e13.entry.js.map → p-a8963634.entry.js.map} +0 -0
  113. /package/dist/le-kit/{p-c83a1255.entry.js.map → p-b7c008de.entry.js.map} +0 -0
  114. /package/dist/le-kit/{p-7d316315.entry.js.map → p-da0265c5.entry.js.map} +0 -0
  115. /package/dist/le-kit/{p-d2a5d431.entry.js.map → p-df9389f0.entry.js.map} +0 -0
  116. /package/dist/le-kit/{p-31c3649c.entry.js.map → p-dfd20890.entry.js.map} +0 -0
  117. /package/dist/le-kit/{p-deef1f4d.entry.js.map → p-e3f3cc8f.entry.js.map} +0 -0
  118. /package/dist/le-kit/{p-e4618b36.entry.js.map → p-f88c804a.entry.js.map} +0 -0
@@ -768,7 +768,7 @@
768
768
  {
769
769
  "name": "click",
770
770
  "type": {
771
- "text": "EventEmitter<PointerEvent>"
771
+ "text": "EventEmitter<MouseEvent>"
772
772
  },
773
773
  "description": "Emitted when the button is clicked.\nThis is a custom event that wraps the native click but ensures the target is the le-button."
774
774
  }
@@ -795,6 +795,139 @@
795
795
  }
796
796
  ]
797
797
  },
798
+ {
799
+ "kind": "javascript-module",
800
+ "path": "src/components/le-card/le-card.tsx",
801
+ "declarations": [
802
+ {
803
+ "kind": "class",
804
+ "description": "A flexible card component with header, content, and footer slots.\n\nThe card uses le-slot wrappers for each slot area. In admin mode,\nle-slot shows placeholders for CMS editing. In default mode,\nle-slot acts as a transparent passthrough.",
805
+ "name": "LeCard",
806
+ "cssProperties": [
807
+ {
808
+ "description": "Card background color",
809
+ "name": "--le-card-bg"
810
+ },
811
+ {
812
+ "description": "Card border radius",
813
+ "name": "--le-card-border-radius"
814
+ },
815
+ {
816
+ "description": "Card box shadow",
817
+ "name": "--le-card-shadow"
818
+ },
819
+ {
820
+ "description": "Card content padding",
821
+ "name": "--le-card-padding"
822
+ }
823
+ ],
824
+ "cssParts": [
825
+ {
826
+ "description": "The main card container",
827
+ "name": "card"
828
+ },
829
+ {
830
+ "description": "The card header section",
831
+ "name": "header"
832
+ },
833
+ {
834
+ "description": "The card content section",
835
+ "name": "content"
836
+ },
837
+ {
838
+ "description": "The card footer section",
839
+ "name": "footer"
840
+ }
841
+ ],
842
+ "slots": [
843
+ {
844
+ "description": "Card header content (title, actions)",
845
+ "name": "header"
846
+ },
847
+ {
848
+ "description": "Default slot for main card content",
849
+ "name": ""
850
+ },
851
+ {
852
+ "description": "Card footer content (buttons, links)",
853
+ "name": "footer"
854
+ }
855
+ ],
856
+ "members": [
857
+ {
858
+ "kind": "field",
859
+ "name": "el",
860
+ "type": {
861
+ "text": "HTMLElement"
862
+ }
863
+ },
864
+ {
865
+ "kind": "field",
866
+ "name": "variant",
867
+ "type": {
868
+ "text": "'default' | 'outlined' | 'elevated'"
869
+ },
870
+ "default": "'default'",
871
+ "description": "Card variant style"
872
+ },
873
+ {
874
+ "kind": "field",
875
+ "name": "interactive",
876
+ "type": {
877
+ "text": "boolean"
878
+ },
879
+ "default": "false",
880
+ "description": "Whether the card is interactive (clickable)"
881
+ },
882
+ {
883
+ "kind": "method",
884
+ "name": "render"
885
+ }
886
+ ],
887
+ "attributes": [
888
+ {
889
+ "name": "variant",
890
+ "fieldName": "variant",
891
+ "default": "'default'",
892
+ "description": "Card variant style",
893
+ "type": {
894
+ "text": "'default' | 'outlined' | 'elevated'"
895
+ }
896
+ },
897
+ {
898
+ "name": "interactive",
899
+ "fieldName": "interactive",
900
+ "default": "false",
901
+ "description": "Whether the card is interactive (clickable)",
902
+ "type": {
903
+ "text": "boolean"
904
+ }
905
+ }
906
+ ],
907
+ "tagName": "le-card",
908
+ "events": [],
909
+ "customElement": true
910
+ }
911
+ ],
912
+ "exports": [
913
+ {
914
+ "kind": "js",
915
+ "name": "LeCard",
916
+ "declaration": {
917
+ "name": "LeCard",
918
+ "module": "src/components/le-card/le-card.tsx"
919
+ }
920
+ },
921
+ {
922
+ "kind": "custom-element-definition",
923
+ "name": "le-card",
924
+ "declaration": {
925
+ "name": "LeCard",
926
+ "module": "src/components/le-card/le-card.tsx"
927
+ }
928
+ }
929
+ ]
930
+ },
798
931
  {
799
932
  "kind": "javascript-module",
800
933
  "path": "src/components/le-checkbox/le-checkbox.tsx",
@@ -969,252 +1102,239 @@
969
1102
  },
970
1103
  {
971
1104
  "kind": "javascript-module",
972
- "path": "src/components/le-card/le-card.tsx",
1105
+ "path": "src/components/le-component/le-component.tsx",
973
1106
  "declarations": [
974
1107
  {
975
1108
  "kind": "class",
976
- "description": "A flexible card component with header, content, and footer slots.\n\nThe card uses le-slot wrappers for each slot area. In admin mode,\nle-slot shows placeholders for CMS editing. In default mode,\nle-slot acts as a transparent passthrough.",
977
- "name": "LeCard",
978
- "cssProperties": [
979
- {
980
- "description": "Card background color",
981
- "name": "--le-card-bg"
982
- },
983
- {
984
- "description": "Card border radius",
985
- "name": "--le-card-border-radius"
986
- },
987
- {
988
- "description": "Card box shadow",
989
- "name": "--le-card-shadow"
990
- },
1109
+ "description": "Component wrapper for admin mode editing.\n\nThis component is used internally by other components to provide admin-mode\nediting capabilities. It wraps the component's rendered output and shows\na settings popover for editing properties.\n\nIn default mode, it acts as a simple passthrough (display: contents).\nIn admin mode, it shows a border, component name header, and settings popover.\n\nThe host element is found automatically by traversing up through the shadow DOM.\n\nUsage inside a component's render method:\n```tsx\nrender() {\n return (\n <le-component component=\"le-card\">\n <Host>...</Host>\n </le-component>\n );\n}\n```",
1110
+ "name": "LeComponent",
1111
+ "slots": [
991
1112
  {
992
- "description": "Card content padding",
993
- "name": "--le-card-padding"
1113
+ "description": "The component's rendered content",
1114
+ "name": ""
994
1115
  }
995
1116
  ],
996
- "cssParts": [
997
- {
998
- "description": "The main card container",
999
- "name": "card"
1000
- },
1117
+ "members": [
1001
1118
  {
1002
- "description": "The card header section",
1003
- "name": "header"
1119
+ "kind": "field",
1120
+ "name": "el",
1121
+ "type": {
1122
+ "text": "HTMLElement"
1123
+ }
1004
1124
  },
1005
1125
  {
1006
- "description": "The card content section",
1007
- "name": "content"
1126
+ "kind": "field",
1127
+ "name": "component",
1128
+ "type": {
1129
+ "text": "string"
1130
+ },
1131
+ "description": "The tag name of the component (e.g., 'le-card').\nUsed to look up property metadata and display the component name."
1008
1132
  },
1009
1133
  {
1010
- "description": "The card footer section",
1011
- "name": "footer"
1012
- }
1013
- ],
1014
- "slots": [
1015
- {
1016
- "description": "Card header content (title, actions)",
1017
- "name": "header"
1134
+ "kind": "field",
1135
+ "name": "displayName",
1136
+ "type": {
1137
+ "text": "string | undefined"
1138
+ },
1139
+ "description": "Optional display name for the component.\nIf not provided, the tag name will be formatted as the display name."
1018
1140
  },
1019
1141
  {
1020
- "description": "Default slot for main card content",
1021
- "name": ""
1142
+ "kind": "field",
1143
+ "name": "hostClass",
1144
+ "type": {
1145
+ "text": "string | undefined"
1146
+ },
1147
+ "description": "Classes to apply to the host element.\nAllows parent components to pass their styling classes."
1022
1148
  },
1023
- {
1024
- "description": "Card footer content (buttons, links)",
1025
- "name": "footer"
1026
- }
1027
- ],
1028
- "members": [
1029
1149
  {
1030
1150
  "kind": "field",
1031
- "name": "el",
1151
+ "name": "hostStyle",
1032
1152
  "type": {
1033
- "text": "HTMLElement"
1034
- }
1153
+ "text": "{ [key: string]: string } | undefined"
1154
+ },
1155
+ "description": "Inline styles to apply to the host element.\nAllows parent components to pass dynamic styles (e.g., flex properties)."
1035
1156
  },
1036
1157
  {
1037
1158
  "kind": "field",
1038
- "name": "variant",
1159
+ "name": "hostElement",
1039
1160
  "type": {
1040
- "text": "'default' | 'outlined' | 'elevated'"
1161
+ "text": "HTMLElement | undefined"
1041
1162
  },
1042
- "default": "'default'",
1043
- "description": "Card variant style"
1163
+ "privacy": "private",
1164
+ "description": "Reference to the host element (found automatically from parent)"
1044
1165
  },
1045
1166
  {
1046
1167
  "kind": "field",
1047
- "name": "interactive",
1168
+ "name": "adminMode",
1048
1169
  "type": {
1049
1170
  "text": "boolean"
1050
1171
  },
1172
+ "privacy": "private",
1051
1173
  "default": "false",
1052
- "description": "Whether the card is interactive (clickable)"
1174
+ "description": "Internal state to track admin mode"
1053
1175
  },
1054
1176
  {
1055
- "kind": "method",
1056
- "name": "render"
1057
- }
1058
- ],
1059
- "attributes": [
1060
- {
1061
- "name": "variant",
1062
- "fieldName": "variant",
1063
- "default": "'default'",
1064
- "description": "Card variant style",
1177
+ "kind": "field",
1178
+ "name": "componentMeta",
1065
1179
  "type": {
1066
- "text": "'default' | 'outlined' | 'elevated'"
1067
- }
1180
+ "text": "ComponentMetadata | null"
1181
+ },
1182
+ "privacy": "private",
1183
+ "default": "null",
1184
+ "description": "Component metadata loaded from Custom Elements Manifest"
1068
1185
  },
1069
1186
  {
1070
- "name": "interactive",
1071
- "fieldName": "interactive",
1072
- "default": "false",
1073
- "description": "Whether the card is interactive (clickable)",
1187
+ "kind": "field",
1188
+ "name": "propertyValues",
1074
1189
  "type": {
1075
- "text": "boolean"
1076
- }
1077
- }
1078
- ],
1079
- "tagName": "le-card",
1080
- "events": [],
1081
- "customElement": true
1082
- }
1083
- ],
1084
- "exports": [
1085
- {
1086
- "kind": "js",
1087
- "name": "LeCard",
1088
- "declaration": {
1089
- "name": "LeCard",
1090
- "module": "src/components/le-card/le-card.tsx"
1091
- }
1092
- },
1093
- {
1094
- "kind": "custom-element-definition",
1095
- "name": "le-card",
1096
- "declaration": {
1097
- "name": "LeCard",
1098
- "module": "src/components/le-card/le-card.tsx"
1099
- }
1100
- }
1101
- ]
1102
- },
1103
- {
1104
- "kind": "javascript-module",
1105
- "path": "src/components/le-collapse/le-collapse.tsx",
1106
- "declarations": [
1107
- {
1108
- "kind": "class",
1109
- "description": "Animated show/hide wrapper.\n\nSupports height collapse (auto->0) and/or fading.\nCan optionally listen to the nearest `le-header` shrink events.",
1110
- "name": "LeCollapse",
1111
- "cssProperties": [
1112
- {
1113
- "description": "Transition duration",
1114
- "name": "--le-collapse-duration"
1115
- }
1116
- ],
1117
- "cssParts": [
1118
- {
1119
- "description": "Collapsible region",
1120
- "name": "region"
1121
- },
1122
- {
1123
- "description": "Inner content",
1124
- "name": "content"
1125
- }
1126
- ],
1127
- "slots": [
1128
- {
1129
- "description": "Content to animate",
1130
- "name": ""
1131
- }
1132
- ],
1133
- "members": [
1134
- {
1135
- "kind": "field",
1136
- "name": "el",
1137
- "type": {
1138
- "text": "HTMLElement"
1139
- }
1190
+ "text": "Record<string, any>"
1191
+ },
1192
+ "privacy": "private",
1193
+ "default": "{}",
1194
+ "description": "Current property values of the host component"
1140
1195
  },
1141
1196
  {
1142
1197
  "kind": "field",
1143
- "name": "open",
1198
+ "name": "disconnectModeObserver",
1144
1199
  "type": {
1145
- "text": "boolean"
1200
+ "text": "() => void | undefined"
1146
1201
  },
1147
- "default": "true",
1148
- "description": "Whether the content should be shown."
1202
+ "privacy": "private"
1149
1203
  },
1150
1204
  {
1151
- "kind": "field",
1152
- "name": "scrollDown",
1153
- "type": {
1154
- "text": "boolean"
1155
- },
1156
- "default": "false",
1157
- "description": "Whether the content should scroll down from the top when open."
1205
+ "kind": "method",
1206
+ "name": "findHostElement",
1207
+ "privacy": "private",
1208
+ "description": "Find the host element by traversing up through shadow DOM"
1158
1209
  },
1159
1210
  {
1160
- "kind": "field",
1161
- "name": "noFading",
1162
- "type": {
1163
- "text": "boolean"
1211
+ "kind": "method",
1212
+ "name": "formatDisplayName",
1213
+ "privacy": "private",
1214
+ "return": {
1215
+ "type": {
1216
+ "text": "string"
1217
+ }
1164
1218
  },
1165
- "default": "false",
1166
- "description": "Stop fading the content when collapsing/expanding."
1219
+ "parameters": [
1220
+ {
1221
+ "name": "tagName",
1222
+ "type": {
1223
+ "text": "string"
1224
+ }
1225
+ }
1226
+ ],
1227
+ "description": "Formats a tag name into a display name\ne.g., 'le-card' -> 'Card'"
1167
1228
  },
1168
1229
  {
1169
- "kind": "field",
1170
- "name": "collapseOnHeaderShrink",
1171
- "type": {
1172
- "text": "boolean"
1173
- },
1174
- "default": "false",
1175
- "description": "If true, collapse/expand based on the nearest header shrink event."
1230
+ "kind": "method",
1231
+ "name": "loadComponentMetadata",
1232
+ "privacy": "private",
1233
+ "description": "Load component metadata from the Custom Elements Manifest"
1176
1234
  },
1177
1235
  {
1178
1236
  "kind": "method",
1179
- "name": "handleHeaderShrink",
1237
+ "name": "isInternalAttribute",
1238
+ "privacy": "private",
1239
+ "return": {
1240
+ "type": {
1241
+ "text": "boolean"
1242
+ }
1243
+ },
1180
1244
  "parameters": [
1181
1245
  {
1182
- "name": "ev",
1246
+ "name": "name",
1183
1247
  "type": {
1184
- "text": "Event"
1248
+ "text": "string"
1185
1249
  }
1186
1250
  }
1187
1251
  ],
1188
- "description": "Handles `leHeaderShrinkChange` events from the `le-header`.\nIn case multiple headers are present, only the nearest one in the DOM tree is used."
1252
+ "description": "Check if an attribute is internal (should not be shown in editor)"
1189
1253
  },
1190
1254
  {
1191
- "kind": "field",
1192
- "name": "headerShrunk",
1193
- "type": {
1194
- "text": "boolean"
1195
- },
1255
+ "kind": "method",
1256
+ "name": "readPropertyValues",
1196
1257
  "privacy": "private",
1197
- "default": "false"
1258
+ "description": "Read current property values from the host element"
1198
1259
  },
1199
1260
  {
1200
1261
  "kind": "method",
1201
- "name": "onOpenChange",
1202
- "privacy": "protected"
1262
+ "name": "parseAttributeValue",
1263
+ "privacy": "private",
1264
+ "return": {
1265
+ "type": {
1266
+ "text": "any"
1267
+ }
1268
+ },
1269
+ "parameters": [
1270
+ {
1271
+ "name": "value",
1272
+ "type": {
1273
+ "text": "string | null"
1274
+ }
1275
+ },
1276
+ {
1277
+ "name": "type",
1278
+ "optional": true,
1279
+ "type": {
1280
+ "text": "string"
1281
+ }
1282
+ }
1283
+ ],
1284
+ "description": "Parse an attribute value based on its type"
1203
1285
  },
1204
1286
  {
1205
1287
  "kind": "method",
1206
- "name": "onDrivenStateChange",
1207
- "privacy": "protected"
1288
+ "name": "handlePropertyChange",
1289
+ "privacy": "private",
1290
+ "parameters": [
1291
+ {
1292
+ "name": "attrName",
1293
+ "type": {
1294
+ "text": "string"
1295
+ }
1296
+ },
1297
+ {
1298
+ "name": "value",
1299
+ "type": {
1300
+ "text": "any"
1301
+ }
1302
+ },
1303
+ {
1304
+ "name": "type",
1305
+ "optional": true,
1306
+ "type": {
1307
+ "text": "string"
1308
+ }
1309
+ }
1310
+ ],
1311
+ "description": "Handle property value changes from the editor"
1208
1312
  },
1209
1313
  {
1210
1314
  "kind": "method",
1211
- "name": "shouldBeOpen",
1212
- "privacy": "private"
1315
+ "name": "deleteComponent",
1316
+ "privacy": "private",
1317
+ "description": "Delete this component from the DOM"
1213
1318
  },
1214
1319
  {
1215
1320
  "kind": "method",
1216
- "name": "applyOpenState",
1217
- "privacy": "private"
1321
+ "name": "renderPropertyEditor",
1322
+ "privacy": "private",
1323
+ "description": "Render the property editor form"
1324
+ },
1325
+ {
1326
+ "kind": "method",
1327
+ "name": "renderPropertyField",
1328
+ "privacy": "private",
1329
+ "parameters": [
1330
+ {
1331
+ "name": "attr",
1332
+ "type": {
1333
+ "text": "AttributeMetadata"
1334
+ }
1335
+ }
1336
+ ],
1337
+ "description": "Render a single property field based on its type"
1218
1338
  },
1219
1339
  {
1220
1340
  "kind": "method",
@@ -1223,43 +1343,39 @@
1223
1343
  ],
1224
1344
  "attributes": [
1225
1345
  {
1226
- "name": "open",
1227
- "fieldName": "open",
1228
- "default": "true",
1229
- "description": "Whether the content should be shown.",
1346
+ "name": "component",
1347
+ "fieldName": "component",
1348
+ "description": "The tag name of the component (e.g., 'le-card').\nUsed to look up property metadata and display the component name.",
1230
1349
  "type": {
1231
- "text": "boolean"
1350
+ "text": "string"
1232
1351
  }
1233
1352
  },
1234
1353
  {
1235
- "name": "scroll-down",
1236
- "fieldName": "scrollDown",
1237
- "default": "false",
1238
- "description": "Whether the content should scroll down from the top when open.",
1354
+ "name": "display-name",
1355
+ "fieldName": "displayName",
1356
+ "description": "Optional display name for the component.\nIf not provided, the tag name will be formatted as the display name.",
1239
1357
  "type": {
1240
- "text": "boolean"
1358
+ "text": "string"
1241
1359
  }
1242
1360
  },
1243
1361
  {
1244
- "name": "no-fading",
1245
- "fieldName": "noFading",
1246
- "default": "false",
1247
- "description": "Stop fading the content when collapsing/expanding.",
1362
+ "name": "host-class",
1363
+ "fieldName": "hostClass",
1364
+ "description": "Classes to apply to the host element.\nAllows parent components to pass their styling classes.",
1248
1365
  "type": {
1249
- "text": "boolean"
1366
+ "text": "string"
1250
1367
  }
1251
1368
  },
1252
1369
  {
1253
- "name": "collapse-on-header-shrink",
1254
- "fieldName": "collapseOnHeaderShrink",
1255
- "default": "false",
1256
- "description": "If true, collapse/expand based on the nearest header shrink event.",
1370
+ "name": "host-style",
1371
+ "fieldName": "hostStyle",
1372
+ "description": "Inline styles to apply to the host element.\nAllows parent components to pass dynamic styles (e.g., flex properties).",
1257
1373
  "type": {
1258
- "text": "boolean"
1374
+ "text": "{ [key: string]: string }"
1259
1375
  }
1260
1376
  }
1261
1377
  ],
1262
- "tagName": "le-collapse",
1378
+ "tagName": "le-component",
1263
1379
  "events": [],
1264
1380
  "customElement": true
1265
1381
  }
@@ -1267,18 +1383,18 @@
1267
1383
  "exports": [
1268
1384
  {
1269
1385
  "kind": "js",
1270
- "name": "LeCollapse",
1386
+ "name": "LeComponent",
1271
1387
  "declaration": {
1272
- "name": "LeCollapse",
1273
- "module": "src/components/le-collapse/le-collapse.tsx"
1388
+ "name": "LeComponent",
1389
+ "module": "src/components/le-component/le-component.tsx"
1274
1390
  }
1275
1391
  },
1276
1392
  {
1277
1393
  "kind": "custom-element-definition",
1278
- "name": "le-collapse",
1394
+ "name": "le-component",
1279
1395
  "declaration": {
1280
- "name": "LeCollapse",
1281
- "module": "src/components/le-collapse/le-collapse.tsx"
1396
+ "name": "LeComponent",
1397
+ "module": "src/components/le-component/le-component.tsx"
1282
1398
  }
1283
1399
  }
1284
1400
  ]
@@ -1695,15 +1811,31 @@
1695
1811
  },
1696
1812
  {
1697
1813
  "kind": "javascript-module",
1698
- "path": "src/components/le-component/le-component.tsx",
1814
+ "path": "src/components/le-collapse/le-collapse.tsx",
1699
1815
  "declarations": [
1700
1816
  {
1701
1817
  "kind": "class",
1702
- "description": "Component wrapper for admin mode editing.\n\nThis component is used internally by other components to provide admin-mode\nediting capabilities. It wraps the component's rendered output and shows\na settings popover for editing properties.\n\nIn default mode, it acts as a simple passthrough (display: contents).\nIn admin mode, it shows a border, component name header, and settings popover.\n\nThe host element is found automatically by traversing up through the shadow DOM.\n\nUsage inside a component's render method:\n```tsx\nrender() {\n return (\n <le-component component=\"le-card\">\n <Host>...</Host>\n </le-component>\n );\n}\n```",
1703
- "name": "LeComponent",
1818
+ "description": "Animated show/hide wrapper.\n\nSupports height collapse (auto->0) and/or fading.\nCan optionally listen to the nearest `le-header` shrink events.",
1819
+ "name": "LeCollapse",
1820
+ "cssProperties": [
1821
+ {
1822
+ "description": "Transition duration",
1823
+ "name": "--le-collapse-duration"
1824
+ }
1825
+ ],
1826
+ "cssParts": [
1827
+ {
1828
+ "description": "Collapsible region",
1829
+ "name": "region"
1830
+ },
1831
+ {
1832
+ "description": "Inner content",
1833
+ "name": "content"
1834
+ }
1835
+ ],
1704
1836
  "slots": [
1705
1837
  {
1706
- "description": "The component's rendered content",
1838
+ "description": "Content to animate",
1707
1839
  "name": ""
1708
1840
  }
1709
1841
  ],
@@ -1717,217 +1849,81 @@
1717
1849
  },
1718
1850
  {
1719
1851
  "kind": "field",
1720
- "name": "component",
1721
- "type": {
1722
- "text": "string"
1723
- },
1724
- "description": "The tag name of the component (e.g., 'le-card').\nUsed to look up property metadata and display the component name."
1725
- },
1726
- {
1727
- "kind": "field",
1728
- "name": "displayName",
1729
- "type": {
1730
- "text": "string | undefined"
1731
- },
1732
- "description": "Optional display name for the component.\nIf not provided, the tag name will be formatted as the display name."
1733
- },
1734
- {
1735
- "kind": "field",
1736
- "name": "hostClass",
1737
- "type": {
1738
- "text": "string | undefined"
1739
- },
1740
- "description": "Classes to apply to the host element.\nAllows parent components to pass their styling classes."
1741
- },
1742
- {
1743
- "kind": "field",
1744
- "name": "hostStyle",
1745
- "type": {
1746
- "text": "{ [key: string]: string } | undefined"
1747
- },
1748
- "description": "Inline styles to apply to the host element.\nAllows parent components to pass dynamic styles (e.g., flex properties)."
1749
- },
1750
- {
1751
- "kind": "field",
1752
- "name": "hostElement",
1852
+ "name": "open",
1753
1853
  "type": {
1754
- "text": "HTMLElement | undefined"
1854
+ "text": "boolean"
1755
1855
  },
1756
- "privacy": "private",
1757
- "description": "Reference to the host element (found automatically from parent)"
1856
+ "default": "true",
1857
+ "description": "Whether the content should be shown."
1758
1858
  },
1759
1859
  {
1760
1860
  "kind": "field",
1761
- "name": "adminMode",
1861
+ "name": "scrollDown",
1762
1862
  "type": {
1763
1863
  "text": "boolean"
1764
1864
  },
1765
- "privacy": "private",
1766
1865
  "default": "false",
1767
- "description": "Internal state to track admin mode"
1768
- },
1769
- {
1770
- "kind": "field",
1771
- "name": "componentMeta",
1772
- "type": {
1773
- "text": "ComponentMetadata | null"
1774
- },
1775
- "privacy": "private",
1776
- "default": "null",
1777
- "description": "Component metadata loaded from Custom Elements Manifest"
1866
+ "description": "Whether the content should scroll down from the top when open."
1778
1867
  },
1779
1868
  {
1780
1869
  "kind": "field",
1781
- "name": "propertyValues",
1870
+ "name": "noFading",
1782
1871
  "type": {
1783
- "text": "Record<string, any>"
1872
+ "text": "boolean"
1784
1873
  },
1785
- "privacy": "private",
1786
- "default": "{}",
1787
- "description": "Current property values of the host component"
1874
+ "default": "false",
1875
+ "description": "Stop fading the content when collapsing/expanding."
1788
1876
  },
1789
1877
  {
1790
1878
  "kind": "field",
1791
- "name": "disconnectModeObserver",
1879
+ "name": "collapseOnHeaderShrink",
1792
1880
  "type": {
1793
- "text": "() => void | undefined"
1881
+ "text": "boolean"
1794
1882
  },
1795
- "privacy": "private"
1796
- },
1797
- {
1798
- "kind": "method",
1799
- "name": "findHostElement",
1800
- "privacy": "private",
1801
- "description": "Find the host element by traversing up through shadow DOM"
1883
+ "default": "false",
1884
+ "description": "If true, collapse/expand based on the nearest header shrink event."
1802
1885
  },
1803
1886
  {
1804
1887
  "kind": "method",
1805
- "name": "formatDisplayName",
1806
- "privacy": "private",
1807
- "return": {
1808
- "type": {
1809
- "text": "string"
1810
- }
1811
- },
1888
+ "name": "handleHeaderShrink",
1812
1889
  "parameters": [
1813
1890
  {
1814
- "name": "tagName",
1891
+ "name": "ev",
1815
1892
  "type": {
1816
- "text": "string"
1893
+ "text": "Event"
1817
1894
  }
1818
1895
  }
1819
1896
  ],
1820
- "description": "Formats a tag name into a display name\ne.g., 'le-card' -> 'Card'"
1821
- },
1822
- {
1823
- "kind": "method",
1824
- "name": "loadComponentMetadata",
1825
- "privacy": "private",
1826
- "description": "Load component metadata from the Custom Elements Manifest"
1897
+ "description": "Handles `leHeaderShrinkChange` events from the `le-header`.\nIn case multiple headers are present, only the nearest one in the DOM tree is used."
1827
1898
  },
1828
1899
  {
1829
- "kind": "method",
1830
- "name": "isInternalAttribute",
1831
- "privacy": "private",
1832
- "return": {
1833
- "type": {
1834
- "text": "boolean"
1835
- }
1900
+ "kind": "field",
1901
+ "name": "headerShrunk",
1902
+ "type": {
1903
+ "text": "boolean"
1836
1904
  },
1837
- "parameters": [
1838
- {
1839
- "name": "name",
1840
- "type": {
1841
- "text": "string"
1842
- }
1843
- }
1844
- ],
1845
- "description": "Check if an attribute is internal (should not be shown in editor)"
1846
- },
1847
- {
1848
- "kind": "method",
1849
- "name": "readPropertyValues",
1850
- "privacy": "private",
1851
- "description": "Read current property values from the host element"
1852
- },
1853
- {
1854
- "kind": "method",
1855
- "name": "parseAttributeValue",
1856
1905
  "privacy": "private",
1857
- "return": {
1858
- "type": {
1859
- "text": "any"
1860
- }
1861
- },
1862
- "parameters": [
1863
- {
1864
- "name": "value",
1865
- "type": {
1866
- "text": "string | null"
1867
- }
1868
- },
1869
- {
1870
- "name": "type",
1871
- "optional": true,
1872
- "type": {
1873
- "text": "string"
1874
- }
1875
- }
1876
- ],
1877
- "description": "Parse an attribute value based on its type"
1906
+ "default": "false"
1878
1907
  },
1879
1908
  {
1880
1909
  "kind": "method",
1881
- "name": "handlePropertyChange",
1882
- "privacy": "private",
1883
- "parameters": [
1884
- {
1885
- "name": "attrName",
1886
- "type": {
1887
- "text": "string"
1888
- }
1889
- },
1890
- {
1891
- "name": "value",
1892
- "type": {
1893
- "text": "any"
1894
- }
1895
- },
1896
- {
1897
- "name": "type",
1898
- "optional": true,
1899
- "type": {
1900
- "text": "string"
1901
- }
1902
- }
1903
- ],
1904
- "description": "Handle property value changes from the editor"
1910
+ "name": "onOpenChange",
1911
+ "privacy": "protected"
1905
1912
  },
1906
1913
  {
1907
1914
  "kind": "method",
1908
- "name": "deleteComponent",
1909
- "privacy": "private",
1910
- "description": "Delete this component from the DOM"
1915
+ "name": "onDrivenStateChange",
1916
+ "privacy": "protected"
1911
1917
  },
1912
1918
  {
1913
1919
  "kind": "method",
1914
- "name": "renderPropertyEditor",
1915
- "privacy": "private",
1916
- "description": "Render the property editor form"
1920
+ "name": "shouldBeOpen",
1921
+ "privacy": "private"
1917
1922
  },
1918
1923
  {
1919
1924
  "kind": "method",
1920
- "name": "renderPropertyField",
1921
- "privacy": "private",
1922
- "parameters": [
1923
- {
1924
- "name": "attr",
1925
- "type": {
1926
- "text": "AttributeMetadata"
1927
- }
1928
- }
1929
- ],
1930
- "description": "Render a single property field based on its type"
1925
+ "name": "applyOpenState",
1926
+ "privacy": "private"
1931
1927
  },
1932
1928
  {
1933
1929
  "kind": "method",
@@ -1936,39 +1932,43 @@
1936
1932
  ],
1937
1933
  "attributes": [
1938
1934
  {
1939
- "name": "component",
1940
- "fieldName": "component",
1941
- "description": "The tag name of the component (e.g., 'le-card').\nUsed to look up property metadata and display the component name.",
1935
+ "name": "open",
1936
+ "fieldName": "open",
1937
+ "default": "true",
1938
+ "description": "Whether the content should be shown.",
1942
1939
  "type": {
1943
- "text": "string"
1940
+ "text": "boolean"
1944
1941
  }
1945
1942
  },
1946
1943
  {
1947
- "name": "display-name",
1948
- "fieldName": "displayName",
1949
- "description": "Optional display name for the component.\nIf not provided, the tag name will be formatted as the display name.",
1944
+ "name": "scroll-down",
1945
+ "fieldName": "scrollDown",
1946
+ "default": "false",
1947
+ "description": "Whether the content should scroll down from the top when open.",
1950
1948
  "type": {
1951
- "text": "string"
1949
+ "text": "boolean"
1952
1950
  }
1953
1951
  },
1954
1952
  {
1955
- "name": "host-class",
1956
- "fieldName": "hostClass",
1957
- "description": "Classes to apply to the host element.\nAllows parent components to pass their styling classes.",
1953
+ "name": "no-fading",
1954
+ "fieldName": "noFading",
1955
+ "default": "false",
1956
+ "description": "Stop fading the content when collapsing/expanding.",
1958
1957
  "type": {
1959
- "text": "string"
1958
+ "text": "boolean"
1960
1959
  }
1961
1960
  },
1962
1961
  {
1963
- "name": "host-style",
1964
- "fieldName": "hostStyle",
1965
- "description": "Inline styles to apply to the host element.\nAllows parent components to pass dynamic styles (e.g., flex properties).",
1962
+ "name": "collapse-on-header-shrink",
1963
+ "fieldName": "collapseOnHeaderShrink",
1964
+ "default": "false",
1965
+ "description": "If true, collapse/expand based on the nearest header shrink event.",
1966
1966
  "type": {
1967
- "text": "{ [key: string]: string }"
1967
+ "text": "boolean"
1968
1968
  }
1969
1969
  }
1970
1970
  ],
1971
- "tagName": "le-component",
1971
+ "tagName": "le-collapse",
1972
1972
  "events": [],
1973
1973
  "customElement": true
1974
1974
  }
@@ -1976,18 +1976,18 @@
1976
1976
  "exports": [
1977
1977
  {
1978
1978
  "kind": "js",
1979
- "name": "LeComponent",
1979
+ "name": "LeCollapse",
1980
1980
  "declaration": {
1981
- "name": "LeComponent",
1982
- "module": "src/components/le-component/le-component.tsx"
1981
+ "name": "LeCollapse",
1982
+ "module": "src/components/le-collapse/le-collapse.tsx"
1983
1983
  }
1984
1984
  },
1985
1985
  {
1986
1986
  "kind": "custom-element-definition",
1987
- "name": "le-component",
1987
+ "name": "le-collapse",
1988
1988
  "declaration": {
1989
- "name": "LeComponent",
1990
- "module": "src/components/le-component/le-component.tsx"
1989
+ "name": "LeCollapse",
1990
+ "module": "src/components/le-collapse/le-collapse.tsx"
1991
1991
  }
1992
1992
  }
1993
1993
  ]