@m3e/react 2.0.0 → 2.0.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 (303) hide show
  1. package/README.md +1 -7
  2. package/dist/all.js +338 -91
  3. package/dist/all.js.map +1 -1
  4. package/dist/all.min.js +1 -1
  5. package/dist/all.min.js.map +1 -1
  6. package/dist/app-bar.js +33 -2
  7. package/dist/app-bar.js.map +1 -1
  8. package/dist/app-bar.min.js +1 -1
  9. package/dist/app-bar.min.js.map +1 -1
  10. package/dist/autocomplete.js +33 -2
  11. package/dist/autocomplete.js.map +1 -1
  12. package/dist/autocomplete.min.js +1 -1
  13. package/dist/autocomplete.min.js.map +1 -1
  14. package/dist/avatar.js +33 -2
  15. package/dist/avatar.js.map +1 -1
  16. package/dist/avatar.min.js +1 -1
  17. package/dist/avatar.min.js.map +1 -1
  18. package/dist/badge.js +33 -2
  19. package/dist/badge.js.map +1 -1
  20. package/dist/badge.min.js +1 -1
  21. package/dist/badge.min.js.map +1 -1
  22. package/dist/bottom-sheet.js +35 -4
  23. package/dist/bottom-sheet.js.map +1 -1
  24. package/dist/bottom-sheet.min.js +1 -1
  25. package/dist/bottom-sheet.min.js.map +1 -1
  26. package/dist/button-group.js +33 -2
  27. package/dist/button-group.js.map +1 -1
  28. package/dist/button-group.min.js +1 -1
  29. package/dist/button-group.min.js.map +1 -1
  30. package/dist/button.js +33 -2
  31. package/dist/button.js.map +1 -1
  32. package/dist/button.min.js +1 -1
  33. package/dist/button.min.js.map +1 -1
  34. package/dist/card.js +33 -2
  35. package/dist/card.js.map +1 -1
  36. package/dist/card.min.js +1 -1
  37. package/dist/card.min.js.map +1 -1
  38. package/dist/checkbox.js +33 -2
  39. package/dist/checkbox.js.map +1 -1
  40. package/dist/checkbox.min.js +1 -1
  41. package/dist/checkbox.min.js.map +1 -1
  42. package/dist/chips.js +40 -9
  43. package/dist/chips.js.map +1 -1
  44. package/dist/chips.min.js +1 -1
  45. package/dist/chips.min.js.map +1 -1
  46. package/dist/core.js +259 -0
  47. package/dist/core.js.map +1 -0
  48. package/dist/core.min.js +7 -0
  49. package/dist/core.min.js.map +1 -0
  50. package/dist/dialog.js +35 -4
  51. package/dist/dialog.js.map +1 -1
  52. package/dist/dialog.min.js +1 -1
  53. package/dist/dialog.min.js.map +1 -1
  54. package/dist/divider.js +33 -2
  55. package/dist/divider.js.map +1 -1
  56. package/dist/divider.min.js +1 -1
  57. package/dist/divider.min.js.map +1 -1
  58. package/dist/drawer-container.js +34 -3
  59. package/dist/drawer-container.js.map +1 -1
  60. package/dist/drawer-container.min.js +1 -1
  61. package/dist/drawer-container.min.js.map +1 -1
  62. package/dist/expansion-panel.js +34 -3
  63. package/dist/expansion-panel.js.map +1 -1
  64. package/dist/expansion-panel.min.js +1 -1
  65. package/dist/expansion-panel.min.js.map +1 -1
  66. package/dist/fab-menu.js +35 -4
  67. package/dist/fab-menu.js.map +1 -1
  68. package/dist/fab-menu.min.js +1 -1
  69. package/dist/fab-menu.min.js.map +1 -1
  70. package/dist/fab.js +33 -2
  71. package/dist/fab.js.map +1 -1
  72. package/dist/fab.min.js +1 -1
  73. package/dist/fab.min.js.map +1 -1
  74. package/dist/form-field.js +33 -2
  75. package/dist/form-field.js.map +1 -1
  76. package/dist/form-field.min.js +1 -1
  77. package/dist/form-field.min.js.map +1 -1
  78. package/dist/heading.js +33 -2
  79. package/dist/heading.js.map +1 -1
  80. package/dist/heading.min.js +1 -1
  81. package/dist/heading.min.js.map +1 -1
  82. package/dist/icon-button.js +33 -2
  83. package/dist/icon-button.js.map +1 -1
  84. package/dist/icon-button.min.js +1 -1
  85. package/dist/icon-button.min.js.map +1 -1
  86. package/dist/icon.js +33 -2
  87. package/dist/icon.js.map +1 -1
  88. package/dist/icon.min.js +1 -1
  89. package/dist/icon.min.js.map +1 -1
  90. package/dist/list.js +39 -8
  91. package/dist/list.js.map +1 -1
  92. package/dist/list.min.js +1 -1
  93. package/dist/list.min.js.map +1 -1
  94. package/dist/loading-indicator.js +33 -2
  95. package/dist/loading-indicator.js.map +1 -1
  96. package/dist/loading-indicator.min.js +1 -1
  97. package/dist/loading-indicator.min.js.map +1 -1
  98. package/dist/menu.js +38 -7
  99. package/dist/menu.js.map +1 -1
  100. package/dist/menu.min.js +1 -1
  101. package/dist/menu.min.js.map +1 -1
  102. package/dist/nav-bar.js +34 -3
  103. package/dist/nav-bar.js.map +1 -1
  104. package/dist/nav-bar.min.js +1 -1
  105. package/dist/nav-bar.min.js.map +1 -1
  106. package/dist/nav-menu.js +35 -4
  107. package/dist/nav-menu.js.map +1 -1
  108. package/dist/nav-menu.min.js +1 -1
  109. package/dist/nav-menu.min.js.map +1 -1
  110. package/dist/nav-rail.js +34 -3
  111. package/dist/nav-rail.js.map +1 -1
  112. package/dist/nav-rail.min.js +1 -1
  113. package/dist/nav-rail.min.js.map +1 -1
  114. package/dist/option.js +34 -3
  115. package/dist/option.js.map +1 -1
  116. package/dist/option.min.js +1 -1
  117. package/dist/option.min.js.map +1 -1
  118. package/dist/paginator.js +1 -1
  119. package/dist/paginator.js.map +1 -1
  120. package/dist/paginator.min.js.map +1 -1
  121. package/dist/progress-indicator.js +34 -3
  122. package/dist/progress-indicator.js.map +1 -1
  123. package/dist/progress-indicator.min.js +1 -1
  124. package/dist/progress-indicator.min.js.map +1 -1
  125. package/dist/radio-group.js +34 -3
  126. package/dist/radio-group.js.map +1 -1
  127. package/dist/radio-group.min.js +1 -1
  128. package/dist/radio-group.min.js.map +1 -1
  129. package/dist/segmented-button.js +34 -3
  130. package/dist/segmented-button.js.map +1 -1
  131. package/dist/segmented-button.min.js +1 -1
  132. package/dist/segmented-button.min.js.map +1 -1
  133. package/dist/select.js +33 -2
  134. package/dist/select.js.map +1 -1
  135. package/dist/select.min.js +1 -1
  136. package/dist/select.min.js.map +1 -1
  137. package/dist/shape.js +33 -2
  138. package/dist/shape.js.map +1 -1
  139. package/dist/shape.min.js +1 -1
  140. package/dist/shape.min.js.map +1 -1
  141. package/dist/slide-group.js +33 -2
  142. package/dist/slide-group.js.map +1 -1
  143. package/dist/slide-group.min.js +1 -1
  144. package/dist/slide-group.min.js.map +1 -1
  145. package/dist/slider.js +34 -3
  146. package/dist/slider.js.map +1 -1
  147. package/dist/slider.min.js +1 -1
  148. package/dist/slider.min.js.map +1 -1
  149. package/dist/split-button.js +33 -2
  150. package/dist/split-button.js.map +1 -1
  151. package/dist/split-button.min.js +1 -1
  152. package/dist/split-button.min.js.map +1 -1
  153. package/dist/src/all.d.ts +1 -0
  154. package/dist/src/all.d.ts.map +1 -1
  155. package/dist/src/app-bar/AppBar.d.ts +1 -1
  156. package/dist/src/autocomplete/Autocomplete.d.ts +1 -1
  157. package/dist/src/avatar/Avatar.d.ts +1 -1
  158. package/dist/src/badge/Badge.d.ts +1 -1
  159. package/dist/src/bottom-sheet/BottomSheet.d.ts +1 -1
  160. package/dist/src/bottom-sheet/BottomSheetAction.d.ts +1 -1
  161. package/dist/src/bottom-sheet/BottomSheetTrigger.d.ts +1 -1
  162. package/dist/src/button/Button.d.ts +1 -1
  163. package/dist/src/button-group/ButtonGroup.d.ts +1 -1
  164. package/dist/src/card/Card.d.ts +1 -1
  165. package/dist/src/checkbox/Checkbox.d.ts +1 -1
  166. package/dist/src/chips/AssistChip.d.ts +1 -1
  167. package/dist/src/chips/Chip.d.ts +1 -1
  168. package/dist/src/chips/ChipSet.d.ts +1 -1
  169. package/dist/src/chips/FilterChip.d.ts +1 -1
  170. package/dist/src/chips/FilterChipSet.d.ts +1 -1
  171. package/dist/src/chips/InputChip.d.ts +1 -1
  172. package/dist/src/chips/InputChipSet.d.ts +1 -1
  173. package/dist/src/chips/SuggestionChip.d.ts +1 -1
  174. package/dist/src/core/Collapsible.d.ts +22 -0
  175. package/dist/src/core/Collapsible.d.ts.map +1 -0
  176. package/dist/src/core/Elevation.d.ts +17 -0
  177. package/dist/src/core/Elevation.d.ts.map +1 -0
  178. package/dist/src/core/FocusRing.d.ts +17 -0
  179. package/dist/src/core/FocusRing.d.ts.map +1 -0
  180. package/dist/src/core/PseudoCheckbox.d.ts +17 -0
  181. package/dist/src/core/PseudoCheckbox.d.ts.map +1 -0
  182. package/dist/src/core/PseudoRadio.d.ts +17 -0
  183. package/dist/src/core/PseudoRadio.d.ts.map +1 -0
  184. package/dist/src/core/Ripple.d.ts +17 -0
  185. package/dist/src/core/Ripple.d.ts.map +1 -0
  186. package/dist/src/core/ScrollContainer.d.ts +17 -0
  187. package/dist/src/core/ScrollContainer.d.ts.map +1 -0
  188. package/dist/src/core/Slide.d.ts +17 -0
  189. package/dist/src/core/Slide.d.ts.map +1 -0
  190. package/dist/src/core/StateLayer.d.ts +17 -0
  191. package/dist/src/core/StateLayer.d.ts.map +1 -0
  192. package/dist/src/core/TextHighlight.d.ts +17 -0
  193. package/dist/src/core/TextHighlight.d.ts.map +1 -0
  194. package/dist/src/core/TextOverflow.d.ts +17 -0
  195. package/dist/src/core/TextOverflow.d.ts.map +1 -0
  196. package/dist/src/core/index.d.ts +12 -0
  197. package/dist/src/core/index.d.ts.map +1 -0
  198. package/dist/src/dialog/Dialog.d.ts +1 -1
  199. package/dist/src/dialog/DialogAction.d.ts +1 -1
  200. package/dist/src/dialog/DialogTrigger.d.ts +1 -1
  201. package/dist/src/divider/Divider.d.ts +1 -1
  202. package/dist/src/drawer-container/DrawerContainer.d.ts +1 -1
  203. package/dist/src/drawer-container/DrawerToggle.d.ts +1 -1
  204. package/dist/src/expansion-panel/Accordion.d.ts +1 -1
  205. package/dist/src/expansion-panel/ExpansionPanel.d.ts +1 -1
  206. package/dist/src/fab/Fab.d.ts +1 -1
  207. package/dist/src/fab-menu/FabMenu.d.ts +1 -1
  208. package/dist/src/fab-menu/FabMenuItem.d.ts +1 -1
  209. package/dist/src/fab-menu/FabMenuTrigger.d.ts +1 -1
  210. package/dist/src/form-field/FormField.d.ts +1 -1
  211. package/dist/src/heading/Heading.d.ts +1 -1
  212. package/dist/src/icon/Icon.d.ts +1 -1
  213. package/dist/src/icon-button/IconButton.d.ts +1 -1
  214. package/dist/src/list/ActionList.d.ts +1 -1
  215. package/dist/src/list/ExpandableListItem.d.ts +1 -1
  216. package/dist/src/list/List.d.ts +1 -1
  217. package/dist/src/list/ListAction.d.ts +1 -1
  218. package/dist/src/list/ListItem.d.ts +1 -1
  219. package/dist/src/list/ListOption.d.ts +1 -1
  220. package/dist/src/list/SelectionList.d.ts +1 -1
  221. package/dist/src/loading-indicator/LoadingIndicator.d.ts +1 -1
  222. package/dist/src/menu/Menu.d.ts +1 -1
  223. package/dist/src/menu/MenuItem.d.ts +1 -1
  224. package/dist/src/menu/MenuItemCheckbox.d.ts +1 -1
  225. package/dist/src/menu/MenuItemGroup.d.ts +1 -1
  226. package/dist/src/menu/MenuItemRadio.d.ts +1 -1
  227. package/dist/src/menu/MenuTrigger.d.ts +1 -1
  228. package/dist/src/nav-bar/NavBar.d.ts +1 -1
  229. package/dist/src/nav-bar/NavItem.d.ts +1 -1
  230. package/dist/src/nav-menu/NavMenu.d.ts +1 -1
  231. package/dist/src/nav-menu/NavMenuItem.d.ts +1 -1
  232. package/dist/src/nav-menu/NavMenuItemGroup.d.ts +1 -1
  233. package/dist/src/nav-rail/NavRail.d.ts +1 -1
  234. package/dist/src/nav-rail/NavRailToggle.d.ts +1 -1
  235. package/dist/src/option/OptGroup.d.ts +1 -1
  236. package/dist/src/option/Option.d.ts +1 -1
  237. package/dist/src/paginator/Paginator.d.ts +1 -1
  238. package/dist/src/progress-indicator/CircularProgressIndicator.d.ts +1 -1
  239. package/dist/src/progress-indicator/LinearProgressIndicator.d.ts +1 -1
  240. package/dist/src/radio-group/Radio.d.ts +1 -1
  241. package/dist/src/radio-group/RadioGroup.d.ts +1 -1
  242. package/dist/src/segmented-button/ButtonSegment.d.ts +1 -1
  243. package/dist/src/segmented-button/SegmentedButton.d.ts +1 -1
  244. package/dist/src/select/Select.d.ts +1 -1
  245. package/dist/src/shape/Shape.d.ts +1 -1
  246. package/dist/src/slide-group/SlideGroup.d.ts +1 -1
  247. package/dist/src/slider/Slider.d.ts +1 -1
  248. package/dist/src/slider/SliderThumb.d.ts +1 -1
  249. package/dist/src/split-button/SplitButton.d.ts +1 -1
  250. package/dist/src/stepper/Step.d.ts +1 -1
  251. package/dist/src/stepper/StepPanel.d.ts +1 -1
  252. package/dist/src/stepper/Stepper.d.ts +1 -1
  253. package/dist/src/stepper/StepperNext.d.ts +1 -1
  254. package/dist/src/stepper/StepperPrevious.d.ts +1 -1
  255. package/dist/src/stepper/StepperReset.d.ts +1 -1
  256. package/dist/src/switch/Switch.d.ts +1 -1
  257. package/dist/src/tabs/Tab.d.ts +1 -1
  258. package/dist/src/tabs/TabPanel.d.ts +1 -1
  259. package/dist/src/tabs/Tabs.d.ts +1 -1
  260. package/dist/src/textarea-autosize/TextareaAutosize.d.ts +1 -1
  261. package/dist/src/theme/Theme.d.ts +1 -1
  262. package/dist/src/toc/Toc.d.ts +1 -1
  263. package/dist/src/toolbar/Toolbar.d.ts +1 -1
  264. package/dist/src/tooltip/RichTooltip.d.ts +1 -1
  265. package/dist/src/tooltip/RichTooltipAction.d.ts +1 -1
  266. package/dist/src/tooltip/Tooltip.d.ts +1 -1
  267. package/dist/src/utils/createComponent.d.ts +29 -0
  268. package/dist/src/utils/createComponent.d.ts.map +1 -0
  269. package/dist/src/utils/index.d.ts +2 -0
  270. package/dist/src/utils/index.d.ts.map +1 -0
  271. package/dist/stepper.js +38 -7
  272. package/dist/stepper.js.map +1 -1
  273. package/dist/stepper.min.js +1 -1
  274. package/dist/stepper.min.js.map +1 -1
  275. package/dist/switch.js +33 -2
  276. package/dist/switch.js.map +1 -1
  277. package/dist/switch.min.js +1 -1
  278. package/dist/switch.min.js.map +1 -1
  279. package/dist/tabs.js +35 -4
  280. package/dist/tabs.js.map +1 -1
  281. package/dist/tabs.min.js +1 -1
  282. package/dist/tabs.min.js.map +1 -1
  283. package/dist/textarea-autosize.js +33 -2
  284. package/dist/textarea-autosize.js.map +1 -1
  285. package/dist/textarea-autosize.min.js +1 -1
  286. package/dist/textarea-autosize.min.js.map +1 -1
  287. package/dist/theme.js +33 -2
  288. package/dist/theme.js.map +1 -1
  289. package/dist/theme.min.js +1 -1
  290. package/dist/theme.min.js.map +1 -1
  291. package/dist/toc.js +33 -2
  292. package/dist/toc.js.map +1 -1
  293. package/dist/toc.min.js +1 -1
  294. package/dist/toc.min.js.map +1 -1
  295. package/dist/toolbar.js +33 -2
  296. package/dist/toolbar.js.map +1 -1
  297. package/dist/toolbar.min.js +1 -1
  298. package/dist/toolbar.min.js.map +1 -1
  299. package/dist/tooltip.js +35 -4
  300. package/dist/tooltip.js.map +1 -1
  301. package/dist/tooltip.min.js +1 -1
  302. package/dist/tooltip.min.js.map +1 -1
  303. package/package.json +6 -2
@@ -6,11 +6,42 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
- import { createComponent } from '@lit/react';
9
+ import { createComponent as createComponent$1 } from '@lit/react';
10
10
  import { M3eIconButtonElement } from '@m3e/web/icon-button';
11
11
 
12
12
  /**
13
- * React binding for the `m3e-icon-button` Web Component from `@m3e/icon-button`.
13
+ * Creates an SSR-safe React component for a custom element. Properties are distinguished
14
+ * from attributes automatically, and events can be configured so they are added
15
+ * to the custom element as event listeners.
16
+ *
17
+ * @param options An options bag containing the parameters needed to generate a
18
+ * wrapped web component.
19
+ *
20
+ * @param options.react The React module, typically imported from the `react`
21
+ * npm package.
22
+ * @param options.tagName The custom element tag name registered via
23
+ * `customElements.define`.
24
+ * @param options.elementClass The custom element class registered via
25
+ * `customElements.define`.
26
+ * @param options.events An object listing events to which the component can
27
+ * listen. The object keys are the event property names passed in via React
28
+ * props and the object values are the names of the corresponding events
29
+ * generated by the custom element. For example, given `{onactivate:
30
+ * 'activate'}` an event function may be passed via the component's `onactivate`
31
+ * prop and will be called when the custom element fires its `activate` event.
32
+ * @param options.displayName A React component display name, used in debugging
33
+ * messages. Default value is inferred from the name of custom element class
34
+ * registered via `customElements.define`.
35
+ */
36
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
37
+ function createComponent({ react, tagName, elementClass, events, displayName, }) {
38
+ return typeof window !== "undefined"
39
+ ? createComponent$1({ react, tagName, elementClass, events, displayName })
40
+ : null;
41
+ }
42
+
43
+ /**
44
+ * React binding for the `m3e-icon-button` Web Component from `@m3e/web/icon-button`.
14
45
  *
15
46
  * This component renders the underlying `<m3e-icon-button>` element and exposes its
16
47
  * properties, attributes, and events through an idiomatic React interface.
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.js","sources":["../../src/icon-button/IconButton.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eIconButtonElement } from \"@m3e/web/icon-button\";\r\nexport type {\r\n IconButtonShape,\r\n IconButtonSize,\r\n IconButtonVariant,\r\n IconButtonWidth,\r\n M3eIconButtonElement,\r\n} from \"@m3e/web/icon-button\";\r\n\r\n/**\r\n * React binding for the `m3e-icon-button` Web Component from `@m3e/icon-button`.\r\n *\r\n * This component renders the underlying `<m3e-icon-button>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-icon-button>` instance for imperative access.\r\n *\r\n * See the `m3e-icon-button` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eIconButton = createComponent({\r\n tagName: \"m3e-icon-button\",\r\n elementClass: M3eIconButtonElement,\r\n react: React,\r\n events: {\r\n onInput: \"input\",\r\n onChange: \"change\",\r\n onClick: \"click\",\r\n },\r\n});\r\n"],"names":[],"mappings":";;;;;;;;;;;AAYA;;;;;;;;;;;;AAYG;AACI,MAAM,aAAa,GAAG,eAAe,CAAC;AAC3C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,OAAO,EAAE,OAAO;AACjB,KAAA;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"icon-button.js","sources":["../../src/utils/createComponent.ts","../../src/icon-button/IconButton.ts"],"sourcesContent":["import { createComponent as createReactComponent, EventName, Options, ReactWebComponent } from \"@lit/react\";\r\n\r\ntype EventNames = Record<string, EventName | string>;\r\n\r\n/**\r\n * Creates an SSR-safe React component for a custom element. Properties are distinguished\r\n * from attributes automatically, and events can be configured so they are added\r\n * to the custom element as event listeners.\r\n *\r\n * @param options An options bag containing the parameters needed to generate a\r\n * wrapped web component.\r\n *\r\n * @param options.react The React module, typically imported from the `react`\r\n * npm package.\r\n * @param options.tagName The custom element tag name registered via\r\n * `customElements.define`.\r\n * @param options.elementClass The custom element class registered via\r\n * `customElements.define`.\r\n * @param options.events An object listing events to which the component can\r\n * listen. The object keys are the event property names passed in via React\r\n * props and the object values are the names of the corresponding events\r\n * generated by the custom element. For example, given `{onactivate:\r\n * 'activate'}` an event function may be passed via the component's `onactivate`\r\n * prop and will be called when the custom element fires its `activate` event.\r\n * @param options.displayName A React component display name, used in debugging\r\n * messages. Default value is inferred from the name of custom element class\r\n * registered via `customElements.define`.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\r\nexport function createComponent<I extends HTMLElement, E extends EventNames = {}>({\r\n react,\r\n tagName,\r\n elementClass,\r\n events,\r\n displayName,\r\n}: Options<I, E>): ReactWebComponent<I, E> {\r\n return typeof window !== \"undefined\"\r\n ? createReactComponent<I, E>({ react, tagName, elementClass, events, displayName })\r\n : <ReactWebComponent<I, E>>(<unknown>null);\r\n}\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eIconButtonElement } from \"@m3e/web/icon-button\";\r\nexport type {\r\n IconButtonShape,\r\n IconButtonSize,\r\n IconButtonVariant,\r\n IconButtonWidth,\r\n M3eIconButtonElement,\r\n} from \"@m3e/web/icon-button\";\r\n\r\n/**\r\n * React binding for the `m3e-icon-button` Web Component from `@m3e/web/icon-button`.\r\n *\r\n * This component renders the underlying `<m3e-icon-button>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-icon-button>` instance for imperative access.\r\n *\r\n * See the `m3e-icon-button` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eIconButton = createComponent({\r\n tagName: \"m3e-icon-button\",\r\n elementClass: M3eIconButtonElement,\r\n react: React,\r\n events: {\r\n onInput: \"input\",\r\n onChange: \"change\",\r\n onClick: \"click\",\r\n },\r\n});\r\n"],"names":["createReactComponent"],"mappings":";;;;;;;;;;;AAIA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACH;AACM,SAAU,eAAe,CAAmD,EAChF,KAAK,EACL,OAAO,EACP,YAAY,EACZ,MAAM,EACN,WAAW,GACG,EAAA;IACd,OAAO,OAAO,MAAM,KAAK;AACvB,UAAEA,iBAAoB,CAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE;UAC7C,IAAK;AAC9C;;AC3BA;;;;;;;;;;;;AAYG;AACI,MAAM,aAAa,GAAG,eAAe,CAAC;AAC3C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,OAAO,EAAE,OAAO;AACjB,KAAA;AACF,CAAA;;;;"}
@@ -3,5 +3,5 @@
3
3
  * @license MIT
4
4
  * Copyright (c) 2025 matraic
5
5
  * See LICENSE file in the project root for full license text.
6
- */import t from"react";import{createComponent as e}from"@lit/react";import{M3eIconButtonElement as n}from"@m3e/web/icon-button";const o=e({tagName:"m3e-icon-button",elementClass:n,react:t,events:{onInput:"input",onChange:"change",onClick:"click"}});export{o as M3eIconButton};
6
+ */import e from"react";import{createComponent as t}from"@lit/react";import{M3eIconButtonElement as n}from"@m3e/web/icon-button";const a=function({react:e,tagName:n,elementClass:a,events:o,displayName:m}){return"undefined"!=typeof window?t({react:e,tagName:n,elementClass:a,events:o,displayName:m}):null}({tagName:"m3e-icon-button",elementClass:n,react:e,events:{onInput:"input",onChange:"change",onClick:"click"}});export{a as M3eIconButton};
7
7
  //# sourceMappingURL=icon-button.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.min.js","sources":["../../src/icon-button/IconButton.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eIconButtonElement } from \"@m3e/web/icon-button\";\r\nexport type {\r\n IconButtonShape,\r\n IconButtonSize,\r\n IconButtonVariant,\r\n IconButtonWidth,\r\n M3eIconButtonElement,\r\n} from \"@m3e/web/icon-button\";\r\n\r\n/**\r\n * React binding for the `m3e-icon-button` Web Component from `@m3e/icon-button`.\r\n *\r\n * This component renders the underlying `<m3e-icon-button>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-icon-button>` instance for imperative access.\r\n *\r\n * See the `m3e-icon-button` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eIconButton = createComponent({\r\n tagName: \"m3e-icon-button\",\r\n elementClass: M3eIconButtonElement,\r\n react: React,\r\n events: {\r\n onInput: \"input\",\r\n onChange: \"change\",\r\n onClick: \"click\",\r\n },\r\n});\r\n"],"names":["M3eIconButton","createComponent","tagName","elementClass","M3eIconButtonElement","react","React","events","onInput","onChange","onClick"],"mappings":";;;;;iIAyBO,MAAMA,EAAgBC,EAAgB,CAC3CC,QAAS,kBACTC,aAAcC,EACdC,MAAOC,EACPC,OAAQ,CACNC,QAAS,QACTC,SAAU,SACVC,QAAS"}
1
+ {"version":3,"file":"icon-button.min.js","sources":["../../src/icon-button/IconButton.ts","../../src/utils/createComponent.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eIconButtonElement } from \"@m3e/web/icon-button\";\r\nexport type {\r\n IconButtonShape,\r\n IconButtonSize,\r\n IconButtonVariant,\r\n IconButtonWidth,\r\n M3eIconButtonElement,\r\n} from \"@m3e/web/icon-button\";\r\n\r\n/**\r\n * React binding for the `m3e-icon-button` Web Component from `@m3e/web/icon-button`.\r\n *\r\n * This component renders the underlying `<m3e-icon-button>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-icon-button>` instance for imperative access.\r\n *\r\n * See the `m3e-icon-button` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eIconButton = createComponent({\r\n tagName: \"m3e-icon-button\",\r\n elementClass: M3eIconButtonElement,\r\n react: React,\r\n events: {\r\n onInput: \"input\",\r\n onChange: \"change\",\r\n onClick: \"click\",\r\n },\r\n});\r\n","import { createComponent as createReactComponent, EventName, Options, ReactWebComponent } from \"@lit/react\";\r\n\r\ntype EventNames = Record<string, EventName | string>;\r\n\r\n/**\r\n * Creates an SSR-safe React component for a custom element. Properties are distinguished\r\n * from attributes automatically, and events can be configured so they are added\r\n * to the custom element as event listeners.\r\n *\r\n * @param options An options bag containing the parameters needed to generate a\r\n * wrapped web component.\r\n *\r\n * @param options.react The React module, typically imported from the `react`\r\n * npm package.\r\n * @param options.tagName The custom element tag name registered via\r\n * `customElements.define`.\r\n * @param options.elementClass The custom element class registered via\r\n * `customElements.define`.\r\n * @param options.events An object listing events to which the component can\r\n * listen. The object keys are the event property names passed in via React\r\n * props and the object values are the names of the corresponding events\r\n * generated by the custom element. For example, given `{onactivate:\r\n * 'activate'}` an event function may be passed via the component's `onactivate`\r\n * prop and will be called when the custom element fires its `activate` event.\r\n * @param options.displayName A React component display name, used in debugging\r\n * messages. Default value is inferred from the name of custom element class\r\n * registered via `customElements.define`.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\r\nexport function createComponent<I extends HTMLElement, E extends EventNames = {}>({\r\n react,\r\n tagName,\r\n elementClass,\r\n events,\r\n displayName,\r\n}: Options<I, E>): ReactWebComponent<I, E> {\r\n return typeof window !== \"undefined\"\r\n ? createReactComponent<I, E>({ react, tagName, elementClass, events, displayName })\r\n : <ReactWebComponent<I, E>>(<unknown>null);\r\n}\r\n"],"names":["M3eIconButton","react","tagName","elementClass","events","displayName","window","createReactComponent","createComponent","M3eIconButtonElement","React","onInput","onChange","onClick"],"mappings":";;;;;iIAyBO,MAAMA,ECIP,UAA4EC,MAChFA,EAAKC,QACLA,EAAOC,aACPA,EAAYC,OACZA,EAAMC,YACNA,IAEA,MAAyB,oBAAXC,OACVC,EAA2B,CAAEN,QAAOC,UAASC,eAAcC,SAAQC,gBAChC,IACzC,CDd6BG,CAAgB,CAC3CN,QAAS,kBACTC,aAAcM,EACdR,MAAOS,EACPN,OAAQ,CACNO,QAAS,QACTC,SAAU,SACVC,QAAS"}
package/dist/icon.js CHANGED
@@ -6,11 +6,42 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
- import { createComponent } from '@lit/react';
9
+ import { createComponent as createComponent$1 } from '@lit/react';
10
10
  import { M3eIconElement } from '@m3e/web/icon';
11
11
 
12
12
  /**
13
- * React binding for the `m3e-icon` Web Component from `@m3e/icon`.
13
+ * Creates an SSR-safe React component for a custom element. Properties are distinguished
14
+ * from attributes automatically, and events can be configured so they are added
15
+ * to the custom element as event listeners.
16
+ *
17
+ * @param options An options bag containing the parameters needed to generate a
18
+ * wrapped web component.
19
+ *
20
+ * @param options.react The React module, typically imported from the `react`
21
+ * npm package.
22
+ * @param options.tagName The custom element tag name registered via
23
+ * `customElements.define`.
24
+ * @param options.elementClass The custom element class registered via
25
+ * `customElements.define`.
26
+ * @param options.events An object listing events to which the component can
27
+ * listen. The object keys are the event property names passed in via React
28
+ * props and the object values are the names of the corresponding events
29
+ * generated by the custom element. For example, given `{onactivate:
30
+ * 'activate'}` an event function may be passed via the component's `onactivate`
31
+ * prop and will be called when the custom element fires its `activate` event.
32
+ * @param options.displayName A React component display name, used in debugging
33
+ * messages. Default value is inferred from the name of custom element class
34
+ * registered via `customElements.define`.
35
+ */
36
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
37
+ function createComponent({ react, tagName, elementClass, events, displayName, }) {
38
+ return typeof window !== "undefined"
39
+ ? createComponent$1({ react, tagName, elementClass, events, displayName })
40
+ : null;
41
+ }
42
+
43
+ /**
44
+ * React binding for the `m3e-icon` Web Component from `@m3e/web/icon`.
14
45
  *
15
46
  * This component renders the underlying `<m3e-icon>` element and exposes its
16
47
  * properties, attributes, and events through an idiomatic React interface.
package/dist/icon.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sources":["../../src/icon/Icon.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eIconElement } from \"@m3e/web/icon\";\r\nexport type { IconGrade, IconVariant, M3eIconElement } from \"@m3e/web/icon\";\r\n\r\n/**\r\n * React binding for the `m3e-icon` Web Component from `@m3e/icon`.\r\n *\r\n * This component renders the underlying `<m3e-icon>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-icon>` instance for imperative access.\r\n *\r\n * See the `m3e-icon` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eIcon = createComponent({\r\n tagName: \"m3e-icon\",\r\n elementClass: M3eIconElement,\r\n react: React,\r\n});\r\n"],"names":[],"mappings":";;;;;;;;;;;AAMA;;;;;;;;;;;;AAYG;AACI,MAAM,OAAO,GAAG,eAAe,CAAC;AACrC,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,KAAK,EAAE,KAAK;AACb,CAAA;;;;"}
1
+ {"version":3,"file":"icon.js","sources":["../../src/utils/createComponent.ts","../../src/icon/Icon.ts"],"sourcesContent":["import { createComponent as createReactComponent, EventName, Options, ReactWebComponent } from \"@lit/react\";\r\n\r\ntype EventNames = Record<string, EventName | string>;\r\n\r\n/**\r\n * Creates an SSR-safe React component for a custom element. Properties are distinguished\r\n * from attributes automatically, and events can be configured so they are added\r\n * to the custom element as event listeners.\r\n *\r\n * @param options An options bag containing the parameters needed to generate a\r\n * wrapped web component.\r\n *\r\n * @param options.react The React module, typically imported from the `react`\r\n * npm package.\r\n * @param options.tagName The custom element tag name registered via\r\n * `customElements.define`.\r\n * @param options.elementClass The custom element class registered via\r\n * `customElements.define`.\r\n * @param options.events An object listing events to which the component can\r\n * listen. The object keys are the event property names passed in via React\r\n * props and the object values are the names of the corresponding events\r\n * generated by the custom element. For example, given `{onactivate:\r\n * 'activate'}` an event function may be passed via the component's `onactivate`\r\n * prop and will be called when the custom element fires its `activate` event.\r\n * @param options.displayName A React component display name, used in debugging\r\n * messages. Default value is inferred from the name of custom element class\r\n * registered via `customElements.define`.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\r\nexport function createComponent<I extends HTMLElement, E extends EventNames = {}>({\r\n react,\r\n tagName,\r\n elementClass,\r\n events,\r\n displayName,\r\n}: Options<I, E>): ReactWebComponent<I, E> {\r\n return typeof window !== \"undefined\"\r\n ? createReactComponent<I, E>({ react, tagName, elementClass, events, displayName })\r\n : <ReactWebComponent<I, E>>(<unknown>null);\r\n}\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eIconElement } from \"@m3e/web/icon\";\r\nexport type { IconGrade, IconVariant, M3eIconElement } from \"@m3e/web/icon\";\r\n\r\n/**\r\n * React binding for the `m3e-icon` Web Component from `@m3e/web/icon`.\r\n *\r\n * This component renders the underlying `<m3e-icon>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-icon>` instance for imperative access.\r\n *\r\n * See the `m3e-icon` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eIcon = createComponent({\r\n tagName: \"m3e-icon\",\r\n elementClass: M3eIconElement,\r\n react: React,\r\n});\r\n"],"names":["createReactComponent"],"mappings":";;;;;;;;;;;AAIA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACH;AACM,SAAU,eAAe,CAAmD,EAChF,KAAK,EACL,OAAO,EACP,YAAY,EACZ,MAAM,EACN,WAAW,GACG,EAAA;IACd,OAAO,OAAO,MAAM,KAAK;AACvB,UAAEA,iBAAoB,CAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE;UAC7C,IAAK;AAC9C;;ACjCA;;;;;;;;;;;;AAYG;AACI,MAAM,OAAO,GAAG,eAAe,CAAC;AACrC,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,KAAK,EAAE,KAAK;AACb,CAAA;;;;"}
package/dist/icon.min.js CHANGED
@@ -3,5 +3,5 @@
3
3
  * @license MIT
4
4
  * Copyright (c) 2025 matraic
5
5
  * See LICENSE file in the project root for full license text.
6
- */import e from"react";import{createComponent as t}from"@lit/react";import{M3eIconElement as m}from"@m3e/web/icon";const o=t({tagName:"m3e-icon",elementClass:m,react:e});export{o as M3eIcon};
6
+ */import e from"react";import{createComponent as t}from"@lit/react";import{M3eIconElement as a}from"@m3e/web/icon";const n=function({react:e,tagName:a,elementClass:n,events:m,displayName:o}){return"undefined"!=typeof window?t({react:e,tagName:a,elementClass:n,events:m,displayName:o}):null}({tagName:"m3e-icon",elementClass:a,react:e});export{n as M3eIcon};
7
7
  //# sourceMappingURL=icon.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon.min.js","sources":["../../src/icon/Icon.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eIconElement } from \"@m3e/web/icon\";\r\nexport type { IconGrade, IconVariant, M3eIconElement } from \"@m3e/web/icon\";\r\n\r\n/**\r\n * React binding for the `m3e-icon` Web Component from `@m3e/icon`.\r\n *\r\n * This component renders the underlying `<m3e-icon>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-icon>` instance for imperative access.\r\n *\r\n * See the `m3e-icon` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eIcon = createComponent({\r\n tagName: \"m3e-icon\",\r\n elementClass: M3eIconElement,\r\n react: React,\r\n});\r\n"],"names":["M3eIcon","createComponent","tagName","elementClass","M3eIconElement","react","React"],"mappings":";;;;;oHAmBO,MAAMA,EAAUC,EAAgB,CACrCC,QAAS,WACTC,aAAcC,EACdC,MAAOC"}
1
+ {"version":3,"file":"icon.min.js","sources":["../../src/icon/Icon.ts","../../src/utils/createComponent.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eIconElement } from \"@m3e/web/icon\";\r\nexport type { IconGrade, IconVariant, M3eIconElement } from \"@m3e/web/icon\";\r\n\r\n/**\r\n * React binding for the `m3e-icon` Web Component from `@m3e/web/icon`.\r\n *\r\n * This component renders the underlying `<m3e-icon>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-icon>` instance for imperative access.\r\n *\r\n * See the `m3e-icon` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eIcon = createComponent({\r\n tagName: \"m3e-icon\",\r\n elementClass: M3eIconElement,\r\n react: React,\r\n});\r\n","import { createComponent as createReactComponent, EventName, Options, ReactWebComponent } from \"@lit/react\";\r\n\r\ntype EventNames = Record<string, EventName | string>;\r\n\r\n/**\r\n * Creates an SSR-safe React component for a custom element. Properties are distinguished\r\n * from attributes automatically, and events can be configured so they are added\r\n * to the custom element as event listeners.\r\n *\r\n * @param options An options bag containing the parameters needed to generate a\r\n * wrapped web component.\r\n *\r\n * @param options.react The React module, typically imported from the `react`\r\n * npm package.\r\n * @param options.tagName The custom element tag name registered via\r\n * `customElements.define`.\r\n * @param options.elementClass The custom element class registered via\r\n * `customElements.define`.\r\n * @param options.events An object listing events to which the component can\r\n * listen. The object keys are the event property names passed in via React\r\n * props and the object values are the names of the corresponding events\r\n * generated by the custom element. For example, given `{onactivate:\r\n * 'activate'}` an event function may be passed via the component's `onactivate`\r\n * prop and will be called when the custom element fires its `activate` event.\r\n * @param options.displayName A React component display name, used in debugging\r\n * messages. Default value is inferred from the name of custom element class\r\n * registered via `customElements.define`.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\r\nexport function createComponent<I extends HTMLElement, E extends EventNames = {}>({\r\n react,\r\n tagName,\r\n elementClass,\r\n events,\r\n displayName,\r\n}: Options<I, E>): ReactWebComponent<I, E> {\r\n return typeof window !== \"undefined\"\r\n ? createReactComponent<I, E>({ react, tagName, elementClass, events, displayName })\r\n : <ReactWebComponent<I, E>>(<unknown>null);\r\n}\r\n"],"names":["M3eIcon","react","tagName","elementClass","events","displayName","window","createReactComponent","createComponent","M3eIconElement","React"],"mappings":";;;;;oHAmBO,MAAMA,ECUP,UAA4EC,MAChFA,EAAKC,QACLA,EAAOC,aACPA,EAAYC,OACZA,EAAMC,YACNA,IAEA,MAAyB,oBAAXC,OACVC,EAA2B,CAAEN,QAAOC,UAASC,eAAcC,SAAQC,gBAChC,IACzC,CDpBuBG,CAAgB,CACrCN,QAAS,WACTC,aAAcM,EACdR,MAAOS"}
package/dist/list.js CHANGED
@@ -6,11 +6,42 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
- import { createComponent } from '@lit/react';
9
+ import { createComponent as createComponent$1 } from '@lit/react';
10
10
  import { M3eActionListElement, M3eExpandableListItemElement, M3eListElement, M3eListActionElement, M3eListItemElement, M3eListOptionElement, M3eSelectionListElement } from '@m3e/web/list';
11
11
 
12
12
  /**
13
- * React binding for the `m3e-action-list` Web Component from `@m3e/list`.
13
+ * Creates an SSR-safe React component for a custom element. Properties are distinguished
14
+ * from attributes automatically, and events can be configured so they are added
15
+ * to the custom element as event listeners.
16
+ *
17
+ * @param options An options bag containing the parameters needed to generate a
18
+ * wrapped web component.
19
+ *
20
+ * @param options.react The React module, typically imported from the `react`
21
+ * npm package.
22
+ * @param options.tagName The custom element tag name registered via
23
+ * `customElements.define`.
24
+ * @param options.elementClass The custom element class registered via
25
+ * `customElements.define`.
26
+ * @param options.events An object listing events to which the component can
27
+ * listen. The object keys are the event property names passed in via React
28
+ * props and the object values are the names of the corresponding events
29
+ * generated by the custom element. For example, given `{onactivate:
30
+ * 'activate'}` an event function may be passed via the component's `onactivate`
31
+ * prop and will be called when the custom element fires its `activate` event.
32
+ * @param options.displayName A React component display name, used in debugging
33
+ * messages. Default value is inferred from the name of custom element class
34
+ * registered via `customElements.define`.
35
+ */
36
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
37
+ function createComponent({ react, tagName, elementClass, events, displayName, }) {
38
+ return typeof window !== "undefined"
39
+ ? createComponent$1({ react, tagName, elementClass, events, displayName })
40
+ : null;
41
+ }
42
+
43
+ /**
44
+ * React binding for the `m3e-action-list` Web Component from `@m3e/web/list`.
14
45
  *
15
46
  * This component renders the underlying `<m3e-action-list>` element and exposes its
16
47
  * properties, attributes, and events through an idiomatic React interface.
@@ -29,7 +60,7 @@ const M3eActionList = createComponent({
29
60
  });
30
61
 
31
62
  /**
32
- * React binding for the `m3e-expandable-list-item` Web Component from `@m3e/list`.
63
+ * React binding for the `m3e-expandable-list-item` Web Component from `@m3e/web/list`.
33
64
  *
34
65
  * This component renders the underlying `<m3e-expandable-list-item>` element and exposes its
35
66
  * properties, attributes, and events through an idiomatic React interface.
@@ -54,7 +85,7 @@ const M3eExpandableListItem = createComponent({
54
85
  });
55
86
 
56
87
  /**
57
- * React binding for the `m3e-list` Web Component from `@m3e/list`.
88
+ * React binding for the `m3e-list` Web Component from `@m3e/web/list`.
58
89
  *
59
90
  * This component renders the underlying `<m3e-list>` element and exposes its
60
91
  * properties, attributes, and events through an idiomatic React interface.
@@ -73,7 +104,7 @@ const M3eList = createComponent({
73
104
  });
74
105
 
75
106
  /**
76
- * React binding for the `m3e-list-action` Web Component from `@m3e/list`.
107
+ * React binding for the `m3e-list-action` Web Component from `@m3e/web/list`.
77
108
  *
78
109
  * This component renders the underlying `<m3e-list-action>` element and exposes its
79
110
  * properties, attributes, and events through an idiomatic React interface.
@@ -95,7 +126,7 @@ const M3eListAction = createComponent({
95
126
  });
96
127
 
97
128
  /**
98
- * React binding for the `m3e-list-item` Web Component from `@m3e/list`.
129
+ * React binding for the `m3e-list-item` Web Component from `@m3e/web/list`.
99
130
  *
100
131
  * This component renders the underlying `<m3e-list-item>` element and exposes its
101
132
  * properties, attributes, and events through an idiomatic React interface.
@@ -114,7 +145,7 @@ const M3eListItem = createComponent({
114
145
  });
115
146
 
116
147
  /**
117
- * React binding for the `m3e-list-option` Web Component from `@m3e/list`.
148
+ * React binding for the `m3e-list-option` Web Component from `@m3e/web/list`.
118
149
  *
119
150
  * This component renders the underlying `<m3e-list-option>` element and exposes its
120
151
  * properties, attributes, and events through an idiomatic React interface.
@@ -138,7 +169,7 @@ const M3eListOption = createComponent({
138
169
  });
139
170
 
140
171
  /**
141
- * React binding for the `m3e-selection-list` Web Component from `@m3e/list`.
172
+ * React binding for the `m3e-selection-list` Web Component from `@m3e/web/list`.
142
173
  *
143
174
  * This component renders the underlying `<m3e-selection-list>` element and exposes its
144
175
  * properties, attributes, and events through an idiomatic React interface.
package/dist/list.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sources":["../../src/list/ActionList.ts","../../src/list/ExpandableListItem.ts","../../src/list/List.ts","../../src/list/ListAction.ts","../../src/list/ListItem.ts","../../src/list/ListOption.ts","../../src/list/SelectionList.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eActionListElement } from \"@m3e/web/list\";\r\nexport type { M3eActionListElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-action-list` Web Component from `@m3e/list`.\r\n *\r\n * This component renders the underlying `<m3e-action-list>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-action-list>` instance for imperative access.\r\n *\r\n * See the `m3e-action-list` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eActionList = createComponent({\r\n tagName: \"m3e-action-list\",\r\n elementClass: M3eActionListElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eExpandableListItemElement } from \"@m3e/web/list\";\r\nexport type { M3eExpandableListItemElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-expandable-list-item` Web Component from `@m3e/list`.\r\n *\r\n * This component renders the underlying `<m3e-expandable-list-item>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-expandable-list-item>` instance for imperative access.\r\n *\r\n * See the `m3e-expandable-list-item` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eExpandableListItem = createComponent({\r\n tagName: \"m3e-expandable-list-item\",\r\n elementClass: M3eExpandableListItemElement,\r\n react: React,\r\n events: {\r\n onOpening: \"opening\",\r\n onOpened: \"opened\",\r\n onClosing: \"closing\",\r\n onClosed: \"closed\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eListElement } from \"@m3e/web/list\";\r\nexport type { ListVariant, M3eListElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list` Web Component from `@m3e/list`.\r\n *\r\n * This component renders the underlying `<m3e-list>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list>` instance for imperative access.\r\n *\r\n * See the `m3e-list` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eList = createComponent({\r\n tagName: \"m3e-list\",\r\n elementClass: M3eListElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eListActionElement } from \"@m3e/web/list\";\r\nexport type { M3eListActionElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list-action` Web Component from `@m3e/list`.\r\n *\r\n * This component renders the underlying `<m3e-list-action>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list-action>` instance for imperative access.\r\n *\r\n * See the `m3e-list-action` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eListAction = createComponent({\r\n tagName: \"m3e-list-action\",\r\n elementClass: M3eListActionElement,\r\n react: React,\r\n events: {\r\n onClick: \"click\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eListItemElement } from \"@m3e/web/list\";\r\nexport type { M3eListItemElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list-item` Web Component from `@m3e/list`.\r\n *\r\n * This component renders the underlying `<m3e-list-item>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list-item>` instance for imperative access.\r\n *\r\n * See the `m3e-list-item` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eListItem = createComponent({\r\n tagName: \"m3e-list-item\",\r\n elementClass: M3eListItemElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eListOptionElement } from \"@m3e/web/list\";\r\nexport type { M3eListOptionElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list-option` Web Component from `@m3e/list`.\r\n *\r\n * This component renders the underlying `<m3e-list-option>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list-option>` instance for imperative access.\r\n *\r\n * See the `m3e-list-option` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eListOption = createComponent({\r\n tagName: \"m3e-list-option\",\r\n elementClass: M3eListOptionElement,\r\n react: React,\r\n events: {\r\n onInput: \"input\",\r\n onChange: \"change\",\r\n onClick: \"click\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eSelectionListElement } from \"@m3e/web/list\";\r\nexport type { M3eSelectionListElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-selection-list` Web Component from `@m3e/list`.\r\n *\r\n * This component renders the underlying `<m3e-selection-list>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-selection-list>` instance for imperative access.\r\n *\r\n * See the `m3e-selection-list` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eSelectionList = createComponent({\r\n tagName: \"m3e-selection-list\",\r\n elementClass: M3eSelectionListElement,\r\n react: React,\r\n events: {\r\n onInput: \"input\",\r\n onChange: \"change\",\r\n },\r\n});\r\n"],"names":[],"mappings":";;;;;;;;;;;AAMA;;;;;;;;;;;;AAYG;AACI,MAAM,aAAa,GAAG,eAAe,CAAC;AAC3C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,KAAK,EAAE,KAAK;AACb,CAAA;;ACjBD;;;;;;;;;;;;AAYG;AACI,MAAM,qBAAqB,GAAG,eAAe,CAAC;AACnD,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,YAAY,EAAE,4BAA4B;AAC1C,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,MAAM,EAAE;AACN,QAAA,SAAS,EAAE,SAAS;AACpB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,SAAS,EAAE,SAAS;AACpB,QAAA,QAAQ,EAAE,QAAQ;AACnB,KAAA;AACF,CAAA;;ACvBD;;;;;;;;;;;;AAYG;AACI,MAAM,OAAO,GAAG,eAAe,CAAC;AACrC,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,KAAK,EAAE,KAAK;AACb,CAAA;;ACjBD;;;;;;;;;;;;AAYG;AACI,MAAM,aAAa,GAAG,eAAe,CAAC;AAC3C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE,OAAO;AACjB,KAAA;AACF,CAAA;;ACpBD;;;;;;;;;;;;AAYG;AACI,MAAM,WAAW,GAAG,eAAe,CAAC;AACzC,IAAA,OAAO,EAAE,eAAe;AACxB,IAAA,YAAY,EAAE,kBAAkB;AAChC,IAAA,KAAK,EAAE,KAAK;AACb,CAAA;;ACjBD;;;;;;;;;;;;AAYG;AACI,MAAM,aAAa,GAAG,eAAe,CAAC;AAC3C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,OAAO,EAAE,OAAO;AACjB,KAAA;AACF,CAAA;;ACtBD;;;;;;;;;;;;AAYG;AACI,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAC9C,IAAA,OAAO,EAAE,oBAAoB;AAC7B,IAAA,YAAY,EAAE,uBAAuB;AACrC,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,QAAQ,EAAE,QAAQ;AACnB,KAAA;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"list.js","sources":["../../src/utils/createComponent.ts","../../src/list/ActionList.ts","../../src/list/ExpandableListItem.ts","../../src/list/List.ts","../../src/list/ListAction.ts","../../src/list/ListItem.ts","../../src/list/ListOption.ts","../../src/list/SelectionList.ts"],"sourcesContent":["import { createComponent as createReactComponent, EventName, Options, ReactWebComponent } from \"@lit/react\";\r\n\r\ntype EventNames = Record<string, EventName | string>;\r\n\r\n/**\r\n * Creates an SSR-safe React component for a custom element. Properties are distinguished\r\n * from attributes automatically, and events can be configured so they are added\r\n * to the custom element as event listeners.\r\n *\r\n * @param options An options bag containing the parameters needed to generate a\r\n * wrapped web component.\r\n *\r\n * @param options.react The React module, typically imported from the `react`\r\n * npm package.\r\n * @param options.tagName The custom element tag name registered via\r\n * `customElements.define`.\r\n * @param options.elementClass The custom element class registered via\r\n * `customElements.define`.\r\n * @param options.events An object listing events to which the component can\r\n * listen. The object keys are the event property names passed in via React\r\n * props and the object values are the names of the corresponding events\r\n * generated by the custom element. For example, given `{onactivate:\r\n * 'activate'}` an event function may be passed via the component's `onactivate`\r\n * prop and will be called when the custom element fires its `activate` event.\r\n * @param options.displayName A React component display name, used in debugging\r\n * messages. Default value is inferred from the name of custom element class\r\n * registered via `customElements.define`.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\r\nexport function createComponent<I extends HTMLElement, E extends EventNames = {}>({\r\n react,\r\n tagName,\r\n elementClass,\r\n events,\r\n displayName,\r\n}: Options<I, E>): ReactWebComponent<I, E> {\r\n return typeof window !== \"undefined\"\r\n ? createReactComponent<I, E>({ react, tagName, elementClass, events, displayName })\r\n : <ReactWebComponent<I, E>>(<unknown>null);\r\n}\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eActionListElement } from \"@m3e/web/list\";\r\nexport type { M3eActionListElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-action-list` Web Component from `@m3e/web/list`.\r\n *\r\n * This component renders the underlying `<m3e-action-list>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-action-list>` instance for imperative access.\r\n *\r\n * See the `m3e-action-list` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eActionList = createComponent({\r\n tagName: \"m3e-action-list\",\r\n elementClass: M3eActionListElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eExpandableListItemElement } from \"@m3e/web/list\";\r\nexport type { M3eExpandableListItemElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-expandable-list-item` Web Component from `@m3e/web/list`.\r\n *\r\n * This component renders the underlying `<m3e-expandable-list-item>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-expandable-list-item>` instance for imperative access.\r\n *\r\n * See the `m3e-expandable-list-item` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eExpandableListItem = createComponent({\r\n tagName: \"m3e-expandable-list-item\",\r\n elementClass: M3eExpandableListItemElement,\r\n react: React,\r\n events: {\r\n onOpening: \"opening\",\r\n onOpened: \"opened\",\r\n onClosing: \"closing\",\r\n onClosed: \"closed\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eListElement } from \"@m3e/web/list\";\r\nexport type { ListVariant, M3eListElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list` Web Component from `@m3e/web/list`.\r\n *\r\n * This component renders the underlying `<m3e-list>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list>` instance for imperative access.\r\n *\r\n * See the `m3e-list` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eList = createComponent({\r\n tagName: \"m3e-list\",\r\n elementClass: M3eListElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eListActionElement } from \"@m3e/web/list\";\r\nexport type { M3eListActionElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list-action` Web Component from `@m3e/web/list`.\r\n *\r\n * This component renders the underlying `<m3e-list-action>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list-action>` instance for imperative access.\r\n *\r\n * See the `m3e-list-action` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eListAction = createComponent({\r\n tagName: \"m3e-list-action\",\r\n elementClass: M3eListActionElement,\r\n react: React,\r\n events: {\r\n onClick: \"click\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eListItemElement } from \"@m3e/web/list\";\r\nexport type { M3eListItemElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list-item` Web Component from `@m3e/web/list`.\r\n *\r\n * This component renders the underlying `<m3e-list-item>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list-item>` instance for imperative access.\r\n *\r\n * See the `m3e-list-item` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eListItem = createComponent({\r\n tagName: \"m3e-list-item\",\r\n elementClass: M3eListItemElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eListOptionElement } from \"@m3e/web/list\";\r\nexport type { M3eListOptionElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list-option` Web Component from `@m3e/web/list`.\r\n *\r\n * This component renders the underlying `<m3e-list-option>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list-option>` instance for imperative access.\r\n *\r\n * See the `m3e-list-option` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eListOption = createComponent({\r\n tagName: \"m3e-list-option\",\r\n elementClass: M3eListOptionElement,\r\n react: React,\r\n events: {\r\n onInput: \"input\",\r\n onChange: \"change\",\r\n onClick: \"click\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eSelectionListElement } from \"@m3e/web/list\";\r\nexport type { M3eSelectionListElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-selection-list` Web Component from `@m3e/web/list`.\r\n *\r\n * This component renders the underlying `<m3e-selection-list>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-selection-list>` instance for imperative access.\r\n *\r\n * See the `m3e-selection-list` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eSelectionList = createComponent({\r\n tagName: \"m3e-selection-list\",\r\n elementClass: M3eSelectionListElement,\r\n react: React,\r\n events: {\r\n onInput: \"input\",\r\n onChange: \"change\",\r\n },\r\n});\r\n"],"names":["createReactComponent"],"mappings":";;;;;;;;;;;AAIA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACH;AACM,SAAU,eAAe,CAAmD,EAChF,KAAK,EACL,OAAO,EACP,YAAY,EACZ,MAAM,EACN,WAAW,GACG,EAAA;IACd,OAAO,OAAO,MAAM,KAAK;AACvB,UAAEA,iBAAoB,CAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE;UAC7C,IAAK;AAC9C;;ACjCA;;;;;;;;;;;;AAYG;AACI,MAAM,aAAa,GAAG,eAAe,CAAC;AAC3C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,KAAK,EAAE,KAAK;AACb,CAAA;;ACjBD;;;;;;;;;;;;AAYG;AACI,MAAM,qBAAqB,GAAG,eAAe,CAAC;AACnD,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,YAAY,EAAE,4BAA4B;AAC1C,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,MAAM,EAAE;AACN,QAAA,SAAS,EAAE,SAAS;AACpB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,SAAS,EAAE,SAAS;AACpB,QAAA,QAAQ,EAAE,QAAQ;AACnB,KAAA;AACF,CAAA;;ACvBD;;;;;;;;;;;;AAYG;AACI,MAAM,OAAO,GAAG,eAAe,CAAC;AACrC,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,KAAK,EAAE,KAAK;AACb,CAAA;;ACjBD;;;;;;;;;;;;AAYG;AACI,MAAM,aAAa,GAAG,eAAe,CAAC;AAC3C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE,OAAO;AACjB,KAAA;AACF,CAAA;;ACpBD;;;;;;;;;;;;AAYG;AACI,MAAM,WAAW,GAAG,eAAe,CAAC;AACzC,IAAA,OAAO,EAAE,eAAe;AACxB,IAAA,YAAY,EAAE,kBAAkB;AAChC,IAAA,KAAK,EAAE,KAAK;AACb,CAAA;;ACjBD;;;;;;;;;;;;AAYG;AACI,MAAM,aAAa,GAAG,eAAe,CAAC;AAC3C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,OAAO,EAAE,OAAO;AACjB,KAAA;AACF,CAAA;;ACtBD;;;;;;;;;;;;AAYG;AACI,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAC9C,IAAA,OAAO,EAAE,oBAAoB;AAC7B,IAAA,YAAY,EAAE,uBAAuB;AACrC,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,QAAQ,EAAE,QAAQ;AACnB,KAAA;AACF,CAAA;;;;"}
package/dist/list.min.js CHANGED
@@ -3,5 +3,5 @@
3
3
  * @license MIT
4
4
  * Copyright (c) 2025 matraic
5
5
  * See LICENSE file in the project root for full license text.
6
- */import e from"react";import{createComponent as t}from"@lit/react";import{M3eActionListElement as n,M3eExpandableListItemElement as a,M3eListElement as l,M3eListActionElement as s,M3eListItemElement as m,M3eListOptionElement as i,M3eSelectionListElement as o}from"@m3e/web/list";const c=t({tagName:"m3e-action-list",elementClass:n,react:e}),r=t({tagName:"m3e-expandable-list-item",elementClass:a,react:e,events:{onOpening:"opening",onOpened:"opened",onClosing:"closing",onClosed:"closed"}}),g=t({tagName:"m3e-list",elementClass:l,react:e}),p=t({tagName:"m3e-list-action",elementClass:s,react:e,events:{onClick:"click"}}),C=t({tagName:"m3e-list-item",elementClass:m,react:e}),N=t({tagName:"m3e-list-option",elementClass:i,react:e,events:{onInput:"input",onChange:"change",onClick:"click"}}),d=t({tagName:"m3e-selection-list",elementClass:o,react:e,events:{onInput:"input",onChange:"change"}});export{c as M3eActionList,r as M3eExpandableListItem,g as M3eList,p as M3eListAction,C as M3eListItem,N as M3eListOption,d as M3eSelectionList};
6
+ */import e from"react";import{createComponent as t}from"@lit/react";import{M3eActionListElement as n,M3eExpandableListItemElement as a,M3eListElement as l,M3eListActionElement as s,M3eListItemElement as m,M3eListOptionElement as i,M3eSelectionListElement as o}from"@m3e/web/list";function c({react:e,tagName:n,elementClass:a,events:l,displayName:s}){return"undefined"!=typeof window?t({react:e,tagName:n,elementClass:a,events:l,displayName:s}):null}const r=c({tagName:"m3e-action-list",elementClass:n,react:e}),p=c({tagName:"m3e-expandable-list-item",elementClass:a,react:e,events:{onOpening:"opening",onOpened:"opened",onClosing:"closing",onClosed:"closed"}}),g=c({tagName:"m3e-list",elementClass:l,react:e}),C=c({tagName:"m3e-list-action",elementClass:s,react:e,events:{onClick:"click"}}),N=c({tagName:"m3e-list-item",elementClass:m,react:e}),d=c({tagName:"m3e-list-option",elementClass:i,react:e,events:{onInput:"input",onChange:"change",onClick:"click"}}),u=c({tagName:"m3e-selection-list",elementClass:o,react:e,events:{onInput:"input",onChange:"change"}});export{r as M3eActionList,p as M3eExpandableListItem,g as M3eList,C as M3eListAction,N as M3eListItem,d as M3eListOption,u as M3eSelectionList};
7
7
  //# sourceMappingURL=list.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.min.js","sources":["../../src/list/ActionList.ts","../../src/list/ExpandableListItem.ts","../../src/list/List.ts","../../src/list/ListAction.ts","../../src/list/ListItem.ts","../../src/list/ListOption.ts","../../src/list/SelectionList.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eActionListElement } from \"@m3e/web/list\";\r\nexport type { M3eActionListElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-action-list` Web Component from `@m3e/list`.\r\n *\r\n * This component renders the underlying `<m3e-action-list>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-action-list>` instance for imperative access.\r\n *\r\n * See the `m3e-action-list` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eActionList = createComponent({\r\n tagName: \"m3e-action-list\",\r\n elementClass: M3eActionListElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eExpandableListItemElement } from \"@m3e/web/list\";\r\nexport type { M3eExpandableListItemElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-expandable-list-item` Web Component from `@m3e/list`.\r\n *\r\n * This component renders the underlying `<m3e-expandable-list-item>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-expandable-list-item>` instance for imperative access.\r\n *\r\n * See the `m3e-expandable-list-item` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eExpandableListItem = createComponent({\r\n tagName: \"m3e-expandable-list-item\",\r\n elementClass: M3eExpandableListItemElement,\r\n react: React,\r\n events: {\r\n onOpening: \"opening\",\r\n onOpened: \"opened\",\r\n onClosing: \"closing\",\r\n onClosed: \"closed\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eListElement } from \"@m3e/web/list\";\r\nexport type { ListVariant, M3eListElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list` Web Component from `@m3e/list`.\r\n *\r\n * This component renders the underlying `<m3e-list>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list>` instance for imperative access.\r\n *\r\n * See the `m3e-list` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eList = createComponent({\r\n tagName: \"m3e-list\",\r\n elementClass: M3eListElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eListActionElement } from \"@m3e/web/list\";\r\nexport type { M3eListActionElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list-action` Web Component from `@m3e/list`.\r\n *\r\n * This component renders the underlying `<m3e-list-action>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list-action>` instance for imperative access.\r\n *\r\n * See the `m3e-list-action` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eListAction = createComponent({\r\n tagName: \"m3e-list-action\",\r\n elementClass: M3eListActionElement,\r\n react: React,\r\n events: {\r\n onClick: \"click\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eListItemElement } from \"@m3e/web/list\";\r\nexport type { M3eListItemElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list-item` Web Component from `@m3e/list`.\r\n *\r\n * This component renders the underlying `<m3e-list-item>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list-item>` instance for imperative access.\r\n *\r\n * See the `m3e-list-item` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eListItem = createComponent({\r\n tagName: \"m3e-list-item\",\r\n elementClass: M3eListItemElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eListOptionElement } from \"@m3e/web/list\";\r\nexport type { M3eListOptionElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list-option` Web Component from `@m3e/list`.\r\n *\r\n * This component renders the underlying `<m3e-list-option>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list-option>` instance for imperative access.\r\n *\r\n * See the `m3e-list-option` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eListOption = createComponent({\r\n tagName: \"m3e-list-option\",\r\n elementClass: M3eListOptionElement,\r\n react: React,\r\n events: {\r\n onInput: \"input\",\r\n onChange: \"change\",\r\n onClick: \"click\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eSelectionListElement } from \"@m3e/web/list\";\r\nexport type { M3eSelectionListElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-selection-list` Web Component from `@m3e/list`.\r\n *\r\n * This component renders the underlying `<m3e-selection-list>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-selection-list>` instance for imperative access.\r\n *\r\n * See the `m3e-selection-list` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eSelectionList = createComponent({\r\n tagName: \"m3e-selection-list\",\r\n elementClass: M3eSelectionListElement,\r\n react: React,\r\n events: {\r\n onInput: \"input\",\r\n onChange: \"change\",\r\n },\r\n});\r\n"],"names":["M3eActionList","createComponent","tagName","elementClass","M3eActionListElement","react","React","M3eExpandableListItem","M3eExpandableListItemElement","events","onOpening","onOpened","onClosing","onClosed","M3eList","M3eListElement","M3eListAction","M3eListActionElement","onClick","M3eListItem","M3eListItemElement","M3eListOption","M3eListOptionElement","onInput","onChange","M3eSelectionList","M3eSelectionListElement"],"mappings":";;;;;yRAmBO,MAAMA,EAAgBC,EAAgB,CAC3CC,QAAS,kBACTC,aAAcC,EACdC,MAAOC,ICHIC,EAAwBN,EAAgB,CACnDC,QAAS,2BACTC,aAAcK,EACdH,MAAOC,EACPG,OAAQ,CACNC,UAAW,UACXC,SAAU,SACVC,UAAW,UACXC,SAAU,YCRDC,EAAUb,EAAgB,CACrCC,QAAS,WACTC,aAAcY,EACdV,MAAOC,ICHIU,EAAgBf,EAAgB,CAC3CC,QAAS,kBACTC,aAAcc,EACdZ,MAAOC,EACPG,OAAQ,CACNS,QAAS,WCLAC,EAAclB,EAAgB,CACzCC,QAAS,gBACTC,aAAciB,EACdf,MAAOC,ICHIe,EAAgBpB,EAAgB,CAC3CC,QAAS,kBACTC,aAAcmB,EACdjB,MAAOC,EACPG,OAAQ,CACNc,QAAS,QACTC,SAAU,SACVN,QAAS,WCPAO,EAAmBxB,EAAgB,CAC9CC,QAAS,qBACTC,aAAcuB,EACdrB,MAAOC,EACPG,OAAQ,CACNc,QAAS,QACTC,SAAU"}
1
+ {"version":3,"file":"list.min.js","sources":["../../src/utils/createComponent.ts","../../src/list/ActionList.ts","../../src/list/ExpandableListItem.ts","../../src/list/List.ts","../../src/list/ListAction.ts","../../src/list/ListItem.ts","../../src/list/ListOption.ts","../../src/list/SelectionList.ts"],"sourcesContent":["import { createComponent as createReactComponent, EventName, Options, ReactWebComponent } from \"@lit/react\";\r\n\r\ntype EventNames = Record<string, EventName | string>;\r\n\r\n/**\r\n * Creates an SSR-safe React component for a custom element. Properties are distinguished\r\n * from attributes automatically, and events can be configured so they are added\r\n * to the custom element as event listeners.\r\n *\r\n * @param options An options bag containing the parameters needed to generate a\r\n * wrapped web component.\r\n *\r\n * @param options.react The React module, typically imported from the `react`\r\n * npm package.\r\n * @param options.tagName The custom element tag name registered via\r\n * `customElements.define`.\r\n * @param options.elementClass The custom element class registered via\r\n * `customElements.define`.\r\n * @param options.events An object listing events to which the component can\r\n * listen. The object keys are the event property names passed in via React\r\n * props and the object values are the names of the corresponding events\r\n * generated by the custom element. For example, given `{onactivate:\r\n * 'activate'}` an event function may be passed via the component's `onactivate`\r\n * prop and will be called when the custom element fires its `activate` event.\r\n * @param options.displayName A React component display name, used in debugging\r\n * messages. Default value is inferred from the name of custom element class\r\n * registered via `customElements.define`.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\r\nexport function createComponent<I extends HTMLElement, E extends EventNames = {}>({\r\n react,\r\n tagName,\r\n elementClass,\r\n events,\r\n displayName,\r\n}: Options<I, E>): ReactWebComponent<I, E> {\r\n return typeof window !== \"undefined\"\r\n ? createReactComponent<I, E>({ react, tagName, elementClass, events, displayName })\r\n : <ReactWebComponent<I, E>>(<unknown>null);\r\n}\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eActionListElement } from \"@m3e/web/list\";\r\nexport type { M3eActionListElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-action-list` Web Component from `@m3e/web/list`.\r\n *\r\n * This component renders the underlying `<m3e-action-list>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-action-list>` instance for imperative access.\r\n *\r\n * See the `m3e-action-list` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eActionList = createComponent({\r\n tagName: \"m3e-action-list\",\r\n elementClass: M3eActionListElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eExpandableListItemElement } from \"@m3e/web/list\";\r\nexport type { M3eExpandableListItemElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-expandable-list-item` Web Component from `@m3e/web/list`.\r\n *\r\n * This component renders the underlying `<m3e-expandable-list-item>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-expandable-list-item>` instance for imperative access.\r\n *\r\n * See the `m3e-expandable-list-item` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eExpandableListItem = createComponent({\r\n tagName: \"m3e-expandable-list-item\",\r\n elementClass: M3eExpandableListItemElement,\r\n react: React,\r\n events: {\r\n onOpening: \"opening\",\r\n onOpened: \"opened\",\r\n onClosing: \"closing\",\r\n onClosed: \"closed\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eListElement } from \"@m3e/web/list\";\r\nexport type { ListVariant, M3eListElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list` Web Component from `@m3e/web/list`.\r\n *\r\n * This component renders the underlying `<m3e-list>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list>` instance for imperative access.\r\n *\r\n * See the `m3e-list` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eList = createComponent({\r\n tagName: \"m3e-list\",\r\n elementClass: M3eListElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eListActionElement } from \"@m3e/web/list\";\r\nexport type { M3eListActionElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list-action` Web Component from `@m3e/web/list`.\r\n *\r\n * This component renders the underlying `<m3e-list-action>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list-action>` instance for imperative access.\r\n *\r\n * See the `m3e-list-action` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eListAction = createComponent({\r\n tagName: \"m3e-list-action\",\r\n elementClass: M3eListActionElement,\r\n react: React,\r\n events: {\r\n onClick: \"click\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eListItemElement } from \"@m3e/web/list\";\r\nexport type { M3eListItemElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list-item` Web Component from `@m3e/web/list`.\r\n *\r\n * This component renders the underlying `<m3e-list-item>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list-item>` instance for imperative access.\r\n *\r\n * See the `m3e-list-item` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eListItem = createComponent({\r\n tagName: \"m3e-list-item\",\r\n elementClass: M3eListItemElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eListOptionElement } from \"@m3e/web/list\";\r\nexport type { M3eListOptionElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-list-option` Web Component from `@m3e/web/list`.\r\n *\r\n * This component renders the underlying `<m3e-list-option>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-list-option>` instance for imperative access.\r\n *\r\n * See the `m3e-list-option` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eListOption = createComponent({\r\n tagName: \"m3e-list-option\",\r\n elementClass: M3eListOptionElement,\r\n react: React,\r\n events: {\r\n onInput: \"input\",\r\n onChange: \"change\",\r\n onClick: \"click\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eSelectionListElement } from \"@m3e/web/list\";\r\nexport type { M3eSelectionListElement } from \"@m3e/web/list\";\r\n\r\n/**\r\n * React binding for the `m3e-selection-list` Web Component from `@m3e/web/list`.\r\n *\r\n * This component renders the underlying `<m3e-selection-list>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-selection-list>` instance for imperative access.\r\n *\r\n * See the `m3e-selection-list` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eSelectionList = createComponent({\r\n tagName: \"m3e-selection-list\",\r\n elementClass: M3eSelectionListElement,\r\n react: React,\r\n events: {\r\n onInput: \"input\",\r\n onChange: \"change\",\r\n },\r\n});\r\n"],"names":["createComponent","react","tagName","elementClass","events","displayName","window","createReactComponent","M3eActionList","M3eActionListElement","React","M3eExpandableListItem","M3eExpandableListItemElement","onOpening","onOpened","onClosing","onClosed","M3eList","M3eListElement","M3eListAction","M3eListActionElement","onClick","M3eListItem","M3eListItemElement","M3eListOption","M3eListOptionElement","onInput","onChange","M3eSelectionList","M3eSelectionListElement"],"mappings":";;;;;yRA6BM,SAAUA,GAAkEC,MAChFA,EAAKC,QACLA,EAAOC,aACPA,EAAYC,OACZA,EAAMC,YACNA,IAEA,MAAyB,oBAAXC,OACVC,EAA2B,CAAEN,QAAOC,UAASC,eAAcC,SAAQC,gBAChC,IACzC,CCpBO,MAAMG,EAAgBR,EAAgB,CAC3CE,QAAS,kBACTC,aAAcM,EACdR,MAAOS,ICHIC,EAAwBX,EAAgB,CACnDE,QAAS,2BACTC,aAAcS,EACdX,MAAOS,EACPN,OAAQ,CACNS,UAAW,UACXC,SAAU,SACVC,UAAW,UACXC,SAAU,YCRDC,EAAUjB,EAAgB,CACrCE,QAAS,WACTC,aAAce,EACdjB,MAAOS,ICHIS,EAAgBnB,EAAgB,CAC3CE,QAAS,kBACTC,aAAciB,EACdnB,MAAOS,EACPN,OAAQ,CACNiB,QAAS,WCLAC,EAActB,EAAgB,CACzCE,QAAS,gBACTC,aAAcoB,EACdtB,MAAOS,ICHIc,EAAgBxB,EAAgB,CAC3CE,QAAS,kBACTC,aAAcsB,EACdxB,MAAOS,EACPN,OAAQ,CACNsB,QAAS,QACTC,SAAU,SACVN,QAAS,WCPAO,EAAmB5B,EAAgB,CAC9CE,QAAS,qBACTC,aAAc0B,EACd5B,MAAOS,EACPN,OAAQ,CACNsB,QAAS,QACTC,SAAU"}
@@ -6,11 +6,42 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
- import { createComponent } from '@lit/react';
9
+ import { createComponent as createComponent$1 } from '@lit/react';
10
10
  import { M3eLoadingIndicatorElement } from '@m3e/web/loading-indicator';
11
11
 
12
12
  /**
13
- * React binding for the `m3e-loading-indicator` Web Component from `@m3e/loading-indicator`.
13
+ * Creates an SSR-safe React component for a custom element. Properties are distinguished
14
+ * from attributes automatically, and events can be configured so they are added
15
+ * to the custom element as event listeners.
16
+ *
17
+ * @param options An options bag containing the parameters needed to generate a
18
+ * wrapped web component.
19
+ *
20
+ * @param options.react The React module, typically imported from the `react`
21
+ * npm package.
22
+ * @param options.tagName The custom element tag name registered via
23
+ * `customElements.define`.
24
+ * @param options.elementClass The custom element class registered via
25
+ * `customElements.define`.
26
+ * @param options.events An object listing events to which the component can
27
+ * listen. The object keys are the event property names passed in via React
28
+ * props and the object values are the names of the corresponding events
29
+ * generated by the custom element. For example, given `{onactivate:
30
+ * 'activate'}` an event function may be passed via the component's `onactivate`
31
+ * prop and will be called when the custom element fires its `activate` event.
32
+ * @param options.displayName A React component display name, used in debugging
33
+ * messages. Default value is inferred from the name of custom element class
34
+ * registered via `customElements.define`.
35
+ */
36
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
37
+ function createComponent({ react, tagName, elementClass, events, displayName, }) {
38
+ return typeof window !== "undefined"
39
+ ? createComponent$1({ react, tagName, elementClass, events, displayName })
40
+ : null;
41
+ }
42
+
43
+ /**
44
+ * React binding for the `m3e-loading-indicator` Web Component from `@m3e/web/loading-indicator`.
14
45
  *
15
46
  * This component renders the underlying `<m3e-loading-indicator>` element and exposes its
16
47
  * properties, attributes, and events through an idiomatic React interface.
@@ -1 +1 @@
1
- {"version":3,"file":"loading-indicator.js","sources":["../../src/loading-indicator/LoadingIndicator.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eLoadingIndicatorElement } from \"@m3e/web/loading-indicator\";\r\nexport type { LoadingIndicatorVariant, M3eLoadingIndicatorElement } from \"@m3e/web/loading-indicator\";\r\n\r\n/**\r\n * React binding for the `m3e-loading-indicator` Web Component from `@m3e/loading-indicator`.\r\n *\r\n * This component renders the underlying `<m3e-loading-indicator>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-loading-indicator>` instance for imperative access.\r\n *\r\n * See the `m3e-loading-indicator` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eLoadingIndicator = createComponent({\r\n tagName: \"m3e-loading-indicator\",\r\n elementClass: M3eLoadingIndicatorElement,\r\n react: React,\r\n});\r\n"],"names":[],"mappings":";;;;;;;;;;;AAMA;;;;;;;;;;;;AAYG;AACI,MAAM,mBAAmB,GAAG,eAAe,CAAC;AACjD,IAAA,OAAO,EAAE,uBAAuB;AAChC,IAAA,YAAY,EAAE,0BAA0B;AACxC,IAAA,KAAK,EAAE,KAAK;AACb,CAAA;;;;"}
1
+ {"version":3,"file":"loading-indicator.js","sources":["../../src/utils/createComponent.ts","../../src/loading-indicator/LoadingIndicator.ts"],"sourcesContent":["import { createComponent as createReactComponent, EventName, Options, ReactWebComponent } from \"@lit/react\";\r\n\r\ntype EventNames = Record<string, EventName | string>;\r\n\r\n/**\r\n * Creates an SSR-safe React component for a custom element. Properties are distinguished\r\n * from attributes automatically, and events can be configured so they are added\r\n * to the custom element as event listeners.\r\n *\r\n * @param options An options bag containing the parameters needed to generate a\r\n * wrapped web component.\r\n *\r\n * @param options.react The React module, typically imported from the `react`\r\n * npm package.\r\n * @param options.tagName The custom element tag name registered via\r\n * `customElements.define`.\r\n * @param options.elementClass The custom element class registered via\r\n * `customElements.define`.\r\n * @param options.events An object listing events to which the component can\r\n * listen. The object keys are the event property names passed in via React\r\n * props and the object values are the names of the corresponding events\r\n * generated by the custom element. For example, given `{onactivate:\r\n * 'activate'}` an event function may be passed via the component's `onactivate`\r\n * prop and will be called when the custom element fires its `activate` event.\r\n * @param options.displayName A React component display name, used in debugging\r\n * messages. Default value is inferred from the name of custom element class\r\n * registered via `customElements.define`.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\r\nexport function createComponent<I extends HTMLElement, E extends EventNames = {}>({\r\n react,\r\n tagName,\r\n elementClass,\r\n events,\r\n displayName,\r\n}: Options<I, E>): ReactWebComponent<I, E> {\r\n return typeof window !== \"undefined\"\r\n ? createReactComponent<I, E>({ react, tagName, elementClass, events, displayName })\r\n : <ReactWebComponent<I, E>>(<unknown>null);\r\n}\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eLoadingIndicatorElement } from \"@m3e/web/loading-indicator\";\r\nexport type { LoadingIndicatorVariant, M3eLoadingIndicatorElement } from \"@m3e/web/loading-indicator\";\r\n\r\n/**\r\n * React binding for the `m3e-loading-indicator` Web Component from `@m3e/web/loading-indicator`.\r\n *\r\n * This component renders the underlying `<m3e-loading-indicator>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-loading-indicator>` instance for imperative access.\r\n *\r\n * See the `m3e-loading-indicator` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eLoadingIndicator = createComponent({\r\n tagName: \"m3e-loading-indicator\",\r\n elementClass: M3eLoadingIndicatorElement,\r\n react: React,\r\n});\r\n"],"names":["createReactComponent"],"mappings":";;;;;;;;;;;AAIA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACH;AACM,SAAU,eAAe,CAAmD,EAChF,KAAK,EACL,OAAO,EACP,YAAY,EACZ,MAAM,EACN,WAAW,GACG,EAAA;IACd,OAAO,OAAO,MAAM,KAAK;AACvB,UAAEA,iBAAoB,CAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE;UAC7C,IAAK;AAC9C;;ACjCA;;;;;;;;;;;;AAYG;AACI,MAAM,mBAAmB,GAAG,eAAe,CAAC;AACjD,IAAA,OAAO,EAAE,uBAAuB;AAChC,IAAA,YAAY,EAAE,0BAA0B;AACxC,IAAA,KAAK,EAAE,KAAK;AACb,CAAA;;;;"}
@@ -3,5 +3,5 @@
3
3
  * @license MIT
4
4
  * Copyright (c) 2025 matraic
5
5
  * See LICENSE file in the project root for full license text.
6
- */import t from"react";import{createComponent as e}from"@lit/react";import{M3eLoadingIndicatorElement as o}from"@m3e/web/loading-indicator";const r=e({tagName:"m3e-loading-indicator",elementClass:o,react:t});export{r as M3eLoadingIndicator};
6
+ */import e from"react";import{createComponent as t}from"@lit/react";import{M3eLoadingIndicatorElement as a}from"@m3e/web/loading-indicator";const n=function({react:e,tagName:a,elementClass:n,events:m,displayName:o}){return"undefined"!=typeof window?t({react:e,tagName:a,elementClass:n,events:m,displayName:o}):null}({tagName:"m3e-loading-indicator",elementClass:a,react:e});export{n as M3eLoadingIndicator};
7
7
  //# sourceMappingURL=loading-indicator.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loading-indicator.min.js","sources":["../../src/loading-indicator/LoadingIndicator.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eLoadingIndicatorElement } from \"@m3e/web/loading-indicator\";\r\nexport type { LoadingIndicatorVariant, M3eLoadingIndicatorElement } from \"@m3e/web/loading-indicator\";\r\n\r\n/**\r\n * React binding for the `m3e-loading-indicator` Web Component from `@m3e/loading-indicator`.\r\n *\r\n * This component renders the underlying `<m3e-loading-indicator>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-loading-indicator>` instance for imperative access.\r\n *\r\n * See the `m3e-loading-indicator` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eLoadingIndicator = createComponent({\r\n tagName: \"m3e-loading-indicator\",\r\n elementClass: M3eLoadingIndicatorElement,\r\n react: React,\r\n});\r\n"],"names":["M3eLoadingIndicator","createComponent","tagName","elementClass","M3eLoadingIndicatorElement","react","React"],"mappings":";;;;;6IAmBO,MAAMA,EAAsBC,EAAgB,CACjDC,QAAS,wBACTC,aAAcC,EACdC,MAAOC"}
1
+ {"version":3,"file":"loading-indicator.min.js","sources":["../../src/loading-indicator/LoadingIndicator.ts","../../src/utils/createComponent.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eLoadingIndicatorElement } from \"@m3e/web/loading-indicator\";\r\nexport type { LoadingIndicatorVariant, M3eLoadingIndicatorElement } from \"@m3e/web/loading-indicator\";\r\n\r\n/**\r\n * React binding for the `m3e-loading-indicator` Web Component from `@m3e/web/loading-indicator`.\r\n *\r\n * This component renders the underlying `<m3e-loading-indicator>` element and exposes its\r\n * properties, attributes, and events through an idiomatic React interface.\r\n *\r\n * Props map directly to element properties, and event handlers receive the\r\n * native DOM events dispatched by the component. Refs are forwarded to the\r\n * underlying `<m3e-loading-indicator>` instance for imperative access.\r\n *\r\n * See the `m3e-loading-indicator` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eLoadingIndicator = createComponent({\r\n tagName: \"m3e-loading-indicator\",\r\n elementClass: M3eLoadingIndicatorElement,\r\n react: React,\r\n});\r\n","import { createComponent as createReactComponent, EventName, Options, ReactWebComponent } from \"@lit/react\";\r\n\r\ntype EventNames = Record<string, EventName | string>;\r\n\r\n/**\r\n * Creates an SSR-safe React component for a custom element. Properties are distinguished\r\n * from attributes automatically, and events can be configured so they are added\r\n * to the custom element as event listeners.\r\n *\r\n * @param options An options bag containing the parameters needed to generate a\r\n * wrapped web component.\r\n *\r\n * @param options.react The React module, typically imported from the `react`\r\n * npm package.\r\n * @param options.tagName The custom element tag name registered via\r\n * `customElements.define`.\r\n * @param options.elementClass The custom element class registered via\r\n * `customElements.define`.\r\n * @param options.events An object listing events to which the component can\r\n * listen. The object keys are the event property names passed in via React\r\n * props and the object values are the names of the corresponding events\r\n * generated by the custom element. For example, given `{onactivate:\r\n * 'activate'}` an event function may be passed via the component's `onactivate`\r\n * prop and will be called when the custom element fires its `activate` event.\r\n * @param options.displayName A React component display name, used in debugging\r\n * messages. Default value is inferred from the name of custom element class\r\n * registered via `customElements.define`.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\r\nexport function createComponent<I extends HTMLElement, E extends EventNames = {}>({\r\n react,\r\n tagName,\r\n elementClass,\r\n events,\r\n displayName,\r\n}: Options<I, E>): ReactWebComponent<I, E> {\r\n return typeof window !== \"undefined\"\r\n ? createReactComponent<I, E>({ react, tagName, elementClass, events, displayName })\r\n : <ReactWebComponent<I, E>>(<unknown>null);\r\n}\r\n"],"names":["M3eLoadingIndicator","react","tagName","elementClass","events","displayName","window","createReactComponent","createComponent","M3eLoadingIndicatorElement","React"],"mappings":";;;;;6IAmBO,MAAMA,ECUP,UAA4EC,MAChFA,EAAKC,QACLA,EAAOC,aACPA,EAAYC,OACZA,EAAMC,YACNA,IAEA,MAAyB,oBAAXC,OACVC,EAA2B,CAAEN,QAAOC,UAASC,eAAcC,SAAQC,gBAChC,IACzC,CDpBmCG,CAAgB,CACjDN,QAAS,wBACTC,aAAcM,EACdR,MAAOS"}
package/dist/menu.js CHANGED
@@ -6,11 +6,42 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
- import { createComponent } from '@lit/react';
9
+ import { createComponent as createComponent$1 } from '@lit/react';
10
10
  import { M3eMenuElement, M3eMenuItemElement, M3eMenuItemCheckboxElement, M3eMenuItemGroupElement, M3eMenuItemRadioElement, M3eMenuTriggerElement } from '@m3e/web/menu';
11
11
 
12
12
  /**
13
- * React binding for the `m3e-menu` Web Component from `@m3e/menu`.
13
+ * Creates an SSR-safe React component for a custom element. Properties are distinguished
14
+ * from attributes automatically, and events can be configured so they are added
15
+ * to the custom element as event listeners.
16
+ *
17
+ * @param options An options bag containing the parameters needed to generate a
18
+ * wrapped web component.
19
+ *
20
+ * @param options.react The React module, typically imported from the `react`
21
+ * npm package.
22
+ * @param options.tagName The custom element tag name registered via
23
+ * `customElements.define`.
24
+ * @param options.elementClass The custom element class registered via
25
+ * `customElements.define`.
26
+ * @param options.events An object listing events to which the component can
27
+ * listen. The object keys are the event property names passed in via React
28
+ * props and the object values are the names of the corresponding events
29
+ * generated by the custom element. For example, given `{onactivate:
30
+ * 'activate'}` an event function may be passed via the component's `onactivate`
31
+ * prop and will be called when the custom element fires its `activate` event.
32
+ * @param options.displayName A React component display name, used in debugging
33
+ * messages. Default value is inferred from the name of custom element class
34
+ * registered via `customElements.define`.
35
+ */
36
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
37
+ function createComponent({ react, tagName, elementClass, events, displayName, }) {
38
+ return typeof window !== "undefined"
39
+ ? createComponent$1({ react, tagName, elementClass, events, displayName })
40
+ : null;
41
+ }
42
+
43
+ /**
44
+ * React binding for the `m3e-menu` Web Component from `@m3e/web/menu`.
14
45
  *
15
46
  * This component renders the underlying `<m3e-menu>` element and exposes its
16
47
  * properties, attributes, and events through an idiomatic React interface.
@@ -33,7 +64,7 @@ const M3eMenu = createComponent({
33
64
  });
34
65
 
35
66
  /**
36
- * React binding for the `m3e-menu-item` Web Component from `@m3e/menu`.
67
+ * React binding for the `m3e-menu-item` Web Component from `@m3e/web/menu`.
37
68
  *
38
69
  * This component renders the underlying `<m3e-menu-item>` element and exposes its
39
70
  * properties, attributes, and events through an idiomatic React interface.
@@ -55,7 +86,7 @@ const M3eMenuItem = createComponent({
55
86
  });
56
87
 
57
88
  /**
58
- * React binding for the `m3e-menu-item-checkbox` Web Component from `@m3e/menu`.
89
+ * React binding for the `m3e-menu-item-checkbox` Web Component from `@m3e/web/menu`.
59
90
  *
60
91
  * This component renders the underlying `<m3e-menu-item-checkbox>` element and exposes its
61
92
  * properties, attributes, and events through an idiomatic React interface.
@@ -77,7 +108,7 @@ const M3eMenuItemCheckbox = createComponent({
77
108
  });
78
109
 
79
110
  /**
80
- * React binding for the `m3e-menu-item-group` Web Component from `@m3e/menu`.
111
+ * React binding for the `m3e-menu-item-group` Web Component from `@m3e/web/menu`.
81
112
  *
82
113
  * This component renders the underlying `<m3e-menu-item-group>` element and exposes its
83
114
  * properties, attributes, and events through an idiomatic React interface.
@@ -96,7 +127,7 @@ const M3eMenuItemGroup = createComponent({
96
127
  });
97
128
 
98
129
  /**
99
- * React binding for the `m3e-menu-item-radio` Web Component from `@m3e/menu`.
130
+ * React binding for the `m3e-menu-item-radio` Web Component from `@m3e/web/menu`.
100
131
  *
101
132
  * This component renders the underlying `<m3e-menu-item-radio>` element and exposes its
102
133
  * properties, attributes, and events through an idiomatic React interface.
@@ -118,7 +149,7 @@ const M3eMenuItemRadio = createComponent({
118
149
  });
119
150
 
120
151
  /**
121
- * React binding for the `m3e-menu-trigger` Web Component from `@m3e/menu`.
152
+ * React binding for the `m3e-menu-trigger` Web Component from `@m3e/web/menu`.
122
153
  *
123
154
  * This component renders the underlying `<m3e-menu-trigger>` element and exposes its
124
155
  * properties, attributes, and events through an idiomatic React interface.