@m3e/react 2.0.0 → 2.0.2

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
package/dist/app-bar.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 { M3eAppBarElement } from '@m3e/web/app-bar';
11
11
 
12
12
  /**
13
- * React binding for the `m3e-app-bar` Web Component from `@m3e/app-bar`.
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-app-bar` Web Component from `@m3e/web/app-bar`.
14
45
  *
15
46
  * This component renders the underlying `<m3e-app-bar>` element and exposes its
16
47
  * properties, attributes, and events through an idiomatic React interface.
@@ -1 +1 @@
1
- {"version":3,"file":"app-bar.js","sources":["../../src/app-bar/AppBar.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eAppBarElement } from \"@m3e/web/app-bar\";\r\nexport type { AppBarSize, M3eAppBarElement } from \"@m3e/web/app-bar\";\r\n\r\n/**\r\n * React binding for the `m3e-app-bar` Web Component from `@m3e/app-bar`.\r\n *\r\n * This component renders the underlying `<m3e-app-bar>` 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-app-bar>` instance for imperative access.\r\n *\r\n * See the `m3e-app-bar` documentation in `@m3e/app-bar` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eAppBar = createComponent({\r\n tagName: \"m3e-app-bar\",\r\n elementClass: M3eAppBarElement,\r\n react: React,\r\n});\r\n"],"names":[],"mappings":";;;;;;;;;;;AAMA;;;;;;;;;;;;AAYG;AACI,MAAM,SAAS,GAAG,eAAe,CAAC;AACvC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,YAAY,EAAE,gBAAgB;AAC9B,IAAA,KAAK,EAAE,KAAK;AACb,CAAA;;;;"}
1
+ {"version":3,"file":"app-bar.js","sources":["../../src/utils/createComponent.ts","../../src/app-bar/AppBar.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 { M3eAppBarElement } from \"@m3e/web/app-bar\";\r\nexport type { AppBarSize, M3eAppBarElement } from \"@m3e/web/app-bar\";\r\n\r\n/**\r\n * React binding for the `m3e-app-bar` Web Component from `@m3e/web/app-bar`.\r\n *\r\n * This component renders the underlying `<m3e-app-bar>` 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-app-bar>` instance for imperative access.\r\n *\r\n * See the `m3e-app-bar` documentation in `@m3e/app-bar` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eAppBar = createComponent({\r\n tagName: \"m3e-app-bar\",\r\n elementClass: M3eAppBarElement,\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,SAAS,GAAG,eAAe,CAAC;AACvC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,YAAY,EAAE,gBAAgB;AAC9B,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 e from"react";import{createComponent as r}from"@lit/react";import{M3eAppBarElement as t}from"@m3e/web/app-bar";const a=r({tagName:"m3e-app-bar",elementClass:t,react:e});export{a as M3eAppBar};
6
+ */import e from"react";import{createComponent as t}from"@lit/react";import{M3eAppBarElement as a}from"@m3e/web/app-bar";const m=function({react:e,tagName:a,elementClass:m,events:r,displayName:n}){return"undefined"!=typeof window?t({react:e,tagName:a,elementClass:m,events:r,displayName:n}):null}({tagName:"m3e-app-bar",elementClass:a,react:e});export{m as M3eAppBar};
7
7
  //# sourceMappingURL=app-bar.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-bar.min.js","sources":["../../src/app-bar/AppBar.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eAppBarElement } from \"@m3e/web/app-bar\";\r\nexport type { AppBarSize, M3eAppBarElement } from \"@m3e/web/app-bar\";\r\n\r\n/**\r\n * React binding for the `m3e-app-bar` Web Component from `@m3e/app-bar`.\r\n *\r\n * This component renders the underlying `<m3e-app-bar>` 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-app-bar>` instance for imperative access.\r\n *\r\n * See the `m3e-app-bar` documentation in `@m3e/app-bar` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eAppBar = createComponent({\r\n tagName: \"m3e-app-bar\",\r\n elementClass: M3eAppBarElement,\r\n react: React,\r\n});\r\n"],"names":["M3eAppBar","createComponent","tagName","elementClass","M3eAppBarElement","react","React"],"mappings":";;;;;yHAmBO,MAAMA,EAAYC,EAAgB,CACvCC,QAAS,cACTC,aAAcC,EACdC,MAAOC"}
1
+ {"version":3,"file":"app-bar.min.js","sources":["../../src/app-bar/AppBar.ts","../../src/utils/createComponent.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eAppBarElement } from \"@m3e/web/app-bar\";\r\nexport type { AppBarSize, M3eAppBarElement } from \"@m3e/web/app-bar\";\r\n\r\n/**\r\n * React binding for the `m3e-app-bar` Web Component from `@m3e/web/app-bar`.\r\n *\r\n * This component renders the underlying `<m3e-app-bar>` 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-app-bar>` instance for imperative access.\r\n *\r\n * See the `m3e-app-bar` documentation in `@m3e/app-bar` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eAppBar = createComponent({\r\n tagName: \"m3e-app-bar\",\r\n elementClass: M3eAppBarElement,\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":["M3eAppBar","react","tagName","elementClass","events","displayName","window","createReactComponent","createComponent","M3eAppBarElement","React"],"mappings":";;;;;yHAmBO,MAAMA,ECUP,UAA4EC,MAChFA,EAAKC,QACLA,EAAOC,aACPA,EAAYC,OACZA,EAAMC,YACNA,IAEA,MAAyB,oBAAXC,OACVC,EAA2B,CAAEN,QAAOC,UAASC,eAAcC,SAAQC,gBAChC,IACzC,CDpByBG,CAAgB,CACvCN,QAAS,cACTC,aAAcM,EACdR,MAAOS"}
@@ -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 { M3eAutocompleteElement } from '@m3e/web/autocomplete';
11
11
 
12
12
  /**
13
- * React binding for the `m3e-autocomplete` Web Component from `@m3e/autocomplete`.
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-autocomplete` Web Component from `@m3e/web/autocomplete`.
14
45
  *
15
46
  * This component renders the underlying `<m3e-autocomplete>` element and exposes its
16
47
  * properties, attributes, and events through an idiomatic React interface.
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.js","sources":["../../src/autocomplete/Autocomplete.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eAutocompleteElement } from \"@m3e/web/autocomplete\";\r\nexport type { M3eAutocompleteElement } from \"@m3e/web/autocomplete\";\r\n\r\n/**\r\n * React binding for the `m3e-autocomplete` Web Component from `@m3e/autocomplete`.\r\n *\r\n * This component renders the underlying `<m3e-autocomplete>` 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-autocomplete>` instance for imperative access.\r\n *\r\n * See the `m3e-autocomplete` documentation in `@m3e/autocomplete` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eAutocomplete = createComponent({\r\n tagName: \"m3e-autocomplete\",\r\n elementClass: M3eAutocompleteElement,\r\n react: React,\r\n events: {\r\n onToggle: \"toggle\",\r\n },\r\n});\r\n"],"names":[],"mappings":";;;;;;;;;;;AAMA;;;;;;;;;;;;AAYG;AACI,MAAM,eAAe,GAAG,eAAe,CAAC;AAC7C,IAAA,OAAO,EAAE,kBAAkB;AAC3B,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,MAAM,EAAE;AACN,QAAA,QAAQ,EAAE,QAAQ;AACnB,KAAA;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"autocomplete.js","sources":["../../src/utils/createComponent.ts","../../src/autocomplete/Autocomplete.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 { M3eAutocompleteElement } from \"@m3e/web/autocomplete\";\r\nexport type { M3eAutocompleteElement } from \"@m3e/web/autocomplete\";\r\n\r\n/**\r\n * React binding for the `m3e-autocomplete` Web Component from `@m3e/web/autocomplete`.\r\n *\r\n * This component renders the underlying `<m3e-autocomplete>` 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-autocomplete>` instance for imperative access.\r\n *\r\n * See the `m3e-autocomplete` documentation in `@m3e/autocomplete` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eAutocomplete = createComponent({\r\n tagName: \"m3e-autocomplete\",\r\n elementClass: M3eAutocompleteElement,\r\n react: React,\r\n events: {\r\n onToggle: \"toggle\",\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,eAAe,GAAG,eAAe,CAAC;AAC7C,IAAA,OAAO,EAAE,kBAAkB;AAC3B,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,MAAM,EAAE;AACN,QAAA,QAAQ,EAAE,QAAQ;AACnB,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 e from"react";import{createComponent as t}from"@lit/react";import{M3eAutocompleteElement as o}from"@m3e/web/autocomplete";const m=t({tagName:"m3e-autocomplete",elementClass:o,react:e,events:{onToggle:"toggle"}});export{m as M3eAutocomplete};
6
+ */import e from"react";import{createComponent as t}from"@lit/react";import{M3eAutocompleteElement as a}from"@m3e/web/autocomplete";const o=function({react:e,tagName:a,elementClass:o,events:m,displayName:n}){return"undefined"!=typeof window?t({react:e,tagName:a,elementClass:o,events:m,displayName:n}):null}({tagName:"m3e-autocomplete",elementClass:a,react:e,events:{onToggle:"toggle"}});export{o as M3eAutocomplete};
7
7
  //# sourceMappingURL=autocomplete.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.min.js","sources":["../../src/autocomplete/Autocomplete.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eAutocompleteElement } from \"@m3e/web/autocomplete\";\r\nexport type { M3eAutocompleteElement } from \"@m3e/web/autocomplete\";\r\n\r\n/**\r\n * React binding for the `m3e-autocomplete` Web Component from `@m3e/autocomplete`.\r\n *\r\n * This component renders the underlying `<m3e-autocomplete>` 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-autocomplete>` instance for imperative access.\r\n *\r\n * See the `m3e-autocomplete` documentation in `@m3e/autocomplete` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eAutocomplete = createComponent({\r\n tagName: \"m3e-autocomplete\",\r\n elementClass: M3eAutocompleteElement,\r\n react: React,\r\n events: {\r\n onToggle: \"toggle\",\r\n },\r\n});\r\n"],"names":["M3eAutocomplete","createComponent","tagName","elementClass","M3eAutocompleteElement","react","React","events","onToggle"],"mappings":";;;;;oIAmBO,MAAMA,EAAkBC,EAAgB,CAC7CC,QAAS,mBACTC,aAAcC,EACdC,MAAOC,EACPC,OAAQ,CACNC,SAAU"}
1
+ {"version":3,"file":"autocomplete.min.js","sources":["../../src/autocomplete/Autocomplete.ts","../../src/utils/createComponent.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eAutocompleteElement } from \"@m3e/web/autocomplete\";\r\nexport type { M3eAutocompleteElement } from \"@m3e/web/autocomplete\";\r\n\r\n/**\r\n * React binding for the `m3e-autocomplete` Web Component from `@m3e/web/autocomplete`.\r\n *\r\n * This component renders the underlying `<m3e-autocomplete>` 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-autocomplete>` instance for imperative access.\r\n *\r\n * See the `m3e-autocomplete` documentation in `@m3e/autocomplete` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eAutocomplete = createComponent({\r\n tagName: \"m3e-autocomplete\",\r\n elementClass: M3eAutocompleteElement,\r\n react: React,\r\n events: {\r\n onToggle: \"toggle\",\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":["M3eAutocomplete","react","tagName","elementClass","events","displayName","window","createReactComponent","createComponent","M3eAutocompleteElement","React","onToggle"],"mappings":";;;;;oIAmBO,MAAMA,ECUP,UAA4EC,MAChFA,EAAKC,QACLA,EAAOC,aACPA,EAAYC,OACZA,EAAMC,YACNA,IAEA,MAAyB,oBAAXC,OACVC,EAA2B,CAAEN,QAAOC,UAASC,eAAcC,SAAQC,gBAChC,IACzC,CDpB+BG,CAAgB,CAC7CN,QAAS,mBACTC,aAAcM,EACdR,MAAOS,EACPN,OAAQ,CACNO,SAAU"}
package/dist/avatar.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 { M3eAvatarElement } from '@m3e/web/avatar';
11
11
 
12
12
  /**
13
- * React binding for the `m3e-avatar` Web Component from `@m3e/avatar`.
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-avatar` Web Component from `@m3e/web/avatar`.
14
45
  *
15
46
  * This component renders the underlying `<m3e-avatar>` element and exposes its
16
47
  * properties, attributes, and events through an idiomatic React interface.
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.js","sources":["../../src/avatar/Avatar.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eAvatarElement } from \"@m3e/web/avatar\";\r\nexport type { M3eAvatarElement } from \"@m3e/web/avatar\";\r\n/**\r\n * React binding for the `m3e-avatar` Web Component from `@m3e/avatar`.\r\n *\r\n * This component renders the underlying `<m3e-avatar>` 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-avatar>` instance for imperative access.\r\n *\r\n * See the `m3e-avatar` documentation in `@m3e/avatar` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eAvatar = createComponent({\r\n tagName: \"m3e-avatar\",\r\n elementClass: M3eAvatarElement,\r\n react: React,\r\n});\r\n"],"names":[],"mappings":";;;;;;;;;;;AAKA;;;;;;;;;;;;AAYG;AACI,MAAM,SAAS,GAAG,eAAe,CAAC;AACvC,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,YAAY,EAAE,gBAAgB;AAC9B,IAAA,KAAK,EAAE,KAAK;AACb,CAAA;;;;"}
1
+ {"version":3,"file":"avatar.js","sources":["../../src/utils/createComponent.ts","../../src/avatar/Avatar.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 { M3eAvatarElement } from \"@m3e/web/avatar\";\r\nexport type { M3eAvatarElement } from \"@m3e/web/avatar\";\r\n/**\r\n * React binding for the `m3e-avatar` Web Component from `@m3e/web/avatar`.\r\n *\r\n * This component renders the underlying `<m3e-avatar>` 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-avatar>` instance for imperative access.\r\n *\r\n * See the `m3e-avatar` documentation in `@m3e/avatar` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eAvatar = createComponent({\r\n tagName: \"m3e-avatar\",\r\n elementClass: M3eAvatarElement,\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;;AClCA;;;;;;;;;;;;AAYG;AACI,MAAM,SAAS,GAAG,eAAe,CAAC;AACvC,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,YAAY,EAAE,gBAAgB;AAC9B,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{M3eAvatarElement as a}from"@m3e/web/avatar";const r=e({tagName:"m3e-avatar",elementClass:a,react:t});export{r as M3eAvatar};
6
+ */import e from"react";import{createComponent as t}from"@lit/react";import{M3eAvatarElement as a}from"@m3e/web/avatar";const m=function({react:e,tagName:a,elementClass:m,events:r,displayName:n}){return"undefined"!=typeof window?t({react:e,tagName:a,elementClass:m,events:r,displayName:n}):null}({tagName:"m3e-avatar",elementClass:a,react:e});export{m as M3eAvatar};
7
7
  //# sourceMappingURL=avatar.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.min.js","sources":["../../src/avatar/Avatar.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eAvatarElement } from \"@m3e/web/avatar\";\r\nexport type { M3eAvatarElement } from \"@m3e/web/avatar\";\r\n/**\r\n * React binding for the `m3e-avatar` Web Component from `@m3e/avatar`.\r\n *\r\n * This component renders the underlying `<m3e-avatar>` 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-avatar>` instance for imperative access.\r\n *\r\n * See the `m3e-avatar` documentation in `@m3e/avatar` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eAvatar = createComponent({\r\n tagName: \"m3e-avatar\",\r\n elementClass: M3eAvatarElement,\r\n react: React,\r\n});\r\n"],"names":["M3eAvatar","createComponent","tagName","elementClass","M3eAvatarElement","react","React"],"mappings":";;;;;wHAkBO,MAAMA,EAAYC,EAAgB,CACvCC,QAAS,aACTC,aAAcC,EACdC,MAAOC"}
1
+ {"version":3,"file":"avatar.min.js","sources":["../../src/avatar/Avatar.ts","../../src/utils/createComponent.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eAvatarElement } from \"@m3e/web/avatar\";\r\nexport type { M3eAvatarElement } from \"@m3e/web/avatar\";\r\n/**\r\n * React binding for the `m3e-avatar` Web Component from `@m3e/web/avatar`.\r\n *\r\n * This component renders the underlying `<m3e-avatar>` 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-avatar>` instance for imperative access.\r\n *\r\n * See the `m3e-avatar` documentation in `@m3e/avatar` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eAvatar = createComponent({\r\n tagName: \"m3e-avatar\",\r\n elementClass: M3eAvatarElement,\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":["M3eAvatar","react","tagName","elementClass","events","displayName","window","createReactComponent","createComponent","M3eAvatarElement","React"],"mappings":";;;;;wHAkBO,MAAMA,ECWP,UAA4EC,MAChFA,EAAKC,QACLA,EAAOC,aACPA,EAAYC,OACZA,EAAMC,YACNA,IAEA,MAAyB,oBAAXC,OACVC,EAA2B,CAAEN,QAAOC,UAASC,eAAcC,SAAQC,gBAChC,IACzC,CDrByBG,CAAgB,CACvCN,QAAS,aACTC,aAAcM,EACdR,MAAOS"}
package/dist/badge.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 { M3eBadgeElement } from '@m3e/web/badge';
11
11
 
12
12
  /**
13
- * React binding for the `m3e-badge` Web Component from `@m3e/badge`.
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-badge` Web Component from `@m3e/web/badge`.
14
45
  *
15
46
  * This component renders the underlying `<m3e-badge>` element and exposes its
16
47
  * properties, attributes, and events through an idiomatic React interface.
package/dist/badge.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"badge.js","sources":["../../src/badge/Badge.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eBadgeElement } from \"@m3e/web/badge\";\r\nexport type { BadgeSize, BadgePosition, M3eBadgeElement } from \"@m3e/web/badge\";\r\n\r\n/**\r\n * React binding for the `m3e-badge` Web Component from `@m3e/badge`.\r\n *\r\n * This component renders the underlying `<m3e-badge>` 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-badge>` instance for imperative access.\r\n *\r\n * See the `m3e-badge` documentation in `@m3e/badge` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eBadge = createComponent({\r\n tagName: \"m3e-badge\",\r\n elementClass: M3eBadgeElement,\r\n react: React,\r\n});\r\n"],"names":[],"mappings":";;;;;;;;;;;AAMA;;;;;;;;;;;;AAYG;AACI,MAAM,QAAQ,GAAG,eAAe,CAAC;AACtC,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,KAAK,EAAE,KAAK;AACb,CAAA;;;;"}
1
+ {"version":3,"file":"badge.js","sources":["../../src/utils/createComponent.ts","../../src/badge/Badge.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 { M3eBadgeElement } from \"@m3e/web/badge\";\r\nexport type { BadgeSize, BadgePosition, M3eBadgeElement } from \"@m3e/web/badge\";\r\n\r\n/**\r\n * React binding for the `m3e-badge` Web Component from `@m3e/web/badge`.\r\n *\r\n * This component renders the underlying `<m3e-badge>` 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-badge>` instance for imperative access.\r\n *\r\n * See the `m3e-badge` documentation in `@m3e/badge` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eBadge = createComponent({\r\n tagName: \"m3e-badge\",\r\n elementClass: M3eBadgeElement,\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,QAAQ,GAAG,eAAe,CAAC;AACtC,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,KAAK,EAAE,KAAK;AACb,CAAA;;;;"}
package/dist/badge.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{M3eBadgeElement as m}from"@m3e/web/badge";const r=t({tagName:"m3e-badge",elementClass:m,react:e});export{r as M3eBadge};
6
+ */import e from"react";import{createComponent as t}from"@lit/react";import{M3eBadgeElement as a}from"@m3e/web/badge";const m=function({react:e,tagName:a,elementClass:m,events:n,displayName:r}){return"undefined"!=typeof window?t({react:e,tagName:a,elementClass:m,events:n,displayName:r}):null}({tagName:"m3e-badge",elementClass:a,react:e});export{m as M3eBadge};
7
7
  //# sourceMappingURL=badge.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"badge.min.js","sources":["../../src/badge/Badge.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eBadgeElement } from \"@m3e/web/badge\";\r\nexport type { BadgeSize, BadgePosition, M3eBadgeElement } from \"@m3e/web/badge\";\r\n\r\n/**\r\n * React binding for the `m3e-badge` Web Component from `@m3e/badge`.\r\n *\r\n * This component renders the underlying `<m3e-badge>` 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-badge>` instance for imperative access.\r\n *\r\n * See the `m3e-badge` documentation in `@m3e/badge` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eBadge = createComponent({\r\n tagName: \"m3e-badge\",\r\n elementClass: M3eBadgeElement,\r\n react: React,\r\n});\r\n"],"names":["M3eBadge","createComponent","tagName","elementClass","M3eBadgeElement","react","React"],"mappings":";;;;;sHAmBO,MAAMA,EAAWC,EAAgB,CACtCC,QAAS,YACTC,aAAcC,EACdC,MAAOC"}
1
+ {"version":3,"file":"badge.min.js","sources":["../../src/badge/Badge.ts","../../src/utils/createComponent.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eBadgeElement } from \"@m3e/web/badge\";\r\nexport type { BadgeSize, BadgePosition, M3eBadgeElement } from \"@m3e/web/badge\";\r\n\r\n/**\r\n * React binding for the `m3e-badge` Web Component from `@m3e/web/badge`.\r\n *\r\n * This component renders the underlying `<m3e-badge>` 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-badge>` instance for imperative access.\r\n *\r\n * See the `m3e-badge` documentation in `@m3e/badge` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eBadge = createComponent({\r\n tagName: \"m3e-badge\",\r\n elementClass: M3eBadgeElement,\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":["M3eBadge","react","tagName","elementClass","events","displayName","window","createReactComponent","createComponent","M3eBadgeElement","React"],"mappings":";;;;;sHAmBO,MAAMA,ECUP,UAA4EC,MAChFA,EAAKC,QACLA,EAAOC,aACPA,EAAYC,OACZA,EAAMC,YACNA,IAEA,MAAyB,oBAAXC,OACVC,EAA2B,CAAEN,QAAOC,UAASC,eAAcC,SAAQC,gBAChC,IACzC,CDpBwBG,CAAgB,CACtCN,QAAS,YACTC,aAAcM,EACdR,MAAOS"}
@@ -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 { M3eBottomSheetElement, M3eBottomSheetActionElement, M3eBottomSheetTriggerElement } from '@m3e/web/bottom-sheet';
11
11
 
12
12
  /**
13
- * React binding for the `m3e-bottom-sheet` Web Component from `@m3e/bottom-sheet`.
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-bottom-sheet` Web Component from `@m3e/web/bottom-sheet`.
14
45
  *
15
46
  * This component renders the underlying `<m3e-bottom-sheet>` element and exposes its
16
47
  * properties, attributes, and events through an idiomatic React interface.
@@ -36,7 +67,7 @@ const M3eBottomSheet = createComponent({
36
67
  });
37
68
 
38
69
  /**
39
- * React binding for the `m3e-bottom-sheet-action` Web Component from `@m3e/bottom-sheet`.
70
+ * React binding for the `m3e-bottom-sheet-action` Web Component from `@m3e/web/bottom-sheet`.
40
71
  *
41
72
  * This component renders the underlying `<m3e-bottom-sheet-action>` element and exposes its
42
73
  * properties, attributes, and events through an idiomatic React interface.
@@ -55,7 +86,7 @@ const M3eBottomSheetAction = createComponent({
55
86
  });
56
87
 
57
88
  /**
58
- * React binding for the `m3e-bottom-sheet-trigger` Web Component from `@m3e/bottom-sheet`.
89
+ * React binding for the `m3e-bottom-sheet-trigger` Web Component from `@m3e/web/bottom-sheet`.
59
90
  *
60
91
  * This component renders the underlying `<m3e-bottom-sheet-trigger>` element and exposes its
61
92
  * properties, attributes, and events through an idiomatic React interface.
@@ -1 +1 @@
1
- {"version":3,"file":"bottom-sheet.js","sources":["../../src/bottom-sheet/BottomSheet.ts","../../src/bottom-sheet/BottomSheetAction.ts","../../src/bottom-sheet/BottomSheetTrigger.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eBottomSheetElement } from \"@m3e/web/bottom-sheet\";\r\nexport type { M3eBottomSheetElement } from \"@m3e/web/bottom-sheet\";\r\n/**\r\n * React binding for the `m3e-bottom-sheet` Web Component from `@m3e/bottom-sheet`.\r\n *\r\n * This component renders the underlying `<m3e-bottom-sheet>` 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-bottom-sheet>` instance for imperative access.\r\n *\r\n * See the `m3e-bottom-sheet` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eBottomSheet = createComponent({\r\n tagName: \"m3e-bottom-sheet\",\r\n elementClass: M3eBottomSheetElement,\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 onCancel: \"cancel\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eBottomSheetActionElement } from \"@m3e/web/bottom-sheet\";\r\nexport type { M3eBottomSheetActionElement } from \"@m3e/web/bottom-sheet\";\r\n\r\n/**\r\n * React binding for the `m3e-bottom-sheet-action` Web Component from `@m3e/bottom-sheet`.\r\n *\r\n * This component renders the underlying `<m3e-bottom-sheet-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-bottom-sheet-action>` instance for imperative access.\r\n *\r\n * See the `m3e-bottom-sheet-action` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eBottomSheetAction = createComponent({\r\n tagName: \"m3e-bottom-sheet-action\",\r\n elementClass: M3eBottomSheetActionElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eBottomSheetTriggerElement } from \"@m3e/web/bottom-sheet\";\r\nexport type { M3eBottomSheetTriggerElement } from \"@m3e/web/bottom-sheet\";\r\n\r\n/**\r\n * React binding for the `m3e-bottom-sheet-trigger` Web Component from `@m3e/bottom-sheet`.\r\n *\r\n * This component renders the underlying `<m3e-bottom-sheet-trigger>` 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-bottom-sheet-trigger>` instance for imperative access.\r\n *\r\n * See the `m3e-bottom-sheet-trigger` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eBottomSheetTrigger = createComponent({\r\n tagName: \"m3e-bottom-sheet-trigger\",\r\n elementClass: M3eBottomSheetTriggerElement,\r\n react: React,\r\n});\r\n"],"names":[],"mappings":";;;;;;;;;;;AAKA;;;;;;;;;;;;AAYG;AACI,MAAM,cAAc,GAAG,eAAe,CAAC;AAC5C,IAAA,OAAO,EAAE,kBAAkB;AAC3B,IAAA,YAAY,EAAE,qBAAqB;AACnC,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;AAClB,QAAA,QAAQ,EAAE,QAAQ;AACnB,KAAA;AACF,CAAA;;ACvBD;;;;;;;;;;;;AAYG;AACI,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAClD,IAAA,OAAO,EAAE,yBAAyB;AAClC,IAAA,YAAY,EAAE,2BAA2B;AACzC,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;AACb,CAAA;;;;"}
1
+ {"version":3,"file":"bottom-sheet.js","sources":["../../src/utils/createComponent.ts","../../src/bottom-sheet/BottomSheet.ts","../../src/bottom-sheet/BottomSheetAction.ts","../../src/bottom-sheet/BottomSheetTrigger.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 { M3eBottomSheetElement } from \"@m3e/web/bottom-sheet\";\r\nexport type { M3eBottomSheetElement } from \"@m3e/web/bottom-sheet\";\r\n/**\r\n * React binding for the `m3e-bottom-sheet` Web Component from `@m3e/web/bottom-sheet`.\r\n *\r\n * This component renders the underlying `<m3e-bottom-sheet>` 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-bottom-sheet>` instance for imperative access.\r\n *\r\n * See the `m3e-bottom-sheet` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eBottomSheet = createComponent({\r\n tagName: \"m3e-bottom-sheet\",\r\n elementClass: M3eBottomSheetElement,\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 onCancel: \"cancel\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eBottomSheetActionElement } from \"@m3e/web/bottom-sheet\";\r\nexport type { M3eBottomSheetActionElement } from \"@m3e/web/bottom-sheet\";\r\n\r\n/**\r\n * React binding for the `m3e-bottom-sheet-action` Web Component from `@m3e/web/bottom-sheet`.\r\n *\r\n * This component renders the underlying `<m3e-bottom-sheet-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-bottom-sheet-action>` instance for imperative access.\r\n *\r\n * See the `m3e-bottom-sheet-action` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eBottomSheetAction = createComponent({\r\n tagName: \"m3e-bottom-sheet-action\",\r\n elementClass: M3eBottomSheetActionElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eBottomSheetTriggerElement } from \"@m3e/web/bottom-sheet\";\r\nexport type { M3eBottomSheetTriggerElement } from \"@m3e/web/bottom-sheet\";\r\n\r\n/**\r\n * React binding for the `m3e-bottom-sheet-trigger` Web Component from `@m3e/web/bottom-sheet`.\r\n *\r\n * This component renders the underlying `<m3e-bottom-sheet-trigger>` 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-bottom-sheet-trigger>` instance for imperative access.\r\n *\r\n * See the `m3e-bottom-sheet-trigger` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eBottomSheetTrigger = createComponent({\r\n tagName: \"m3e-bottom-sheet-trigger\",\r\n elementClass: M3eBottomSheetTriggerElement,\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;;AClCA;;;;;;;;;;;;AAYG;AACI,MAAM,cAAc,GAAG,eAAe,CAAC;AAC5C,IAAA,OAAO,EAAE,kBAAkB;AAC3B,IAAA,YAAY,EAAE,qBAAqB;AACnC,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;AAClB,QAAA,QAAQ,EAAE,QAAQ;AACnB,KAAA;AACF,CAAA;;ACvBD;;;;;;;;;;;;AAYG;AACI,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAClD,IAAA,OAAO,EAAE,yBAAyB;AAClC,IAAA,YAAY,EAAE,2BAA2B;AACzC,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;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 e from"react";import{createComponent as t}from"@lit/react";import{M3eBottomSheetElement as o,M3eBottomSheetActionElement as n,M3eBottomSheetTriggerElement as m}from"@m3e/web/bottom-sheet";const a=t({tagName:"m3e-bottom-sheet",elementClass:o,react:e,events:{onOpening:"opening",onOpened:"opened",onClosing:"closing",onClosed:"closed",onCancel:"cancel"}}),s=t({tagName:"m3e-bottom-sheet-action",elementClass:n,react:e}),l=t({tagName:"m3e-bottom-sheet-trigger",elementClass:m,react:e});export{a as M3eBottomSheet,s as M3eBottomSheetAction,l as M3eBottomSheetTrigger};
6
+ */import e from"react";import{createComponent as t}from"@lit/react";import{M3eBottomSheetElement as n,M3eBottomSheetActionElement as o,M3eBottomSheetTriggerElement as a}from"@m3e/web/bottom-sheet";function m({react:e,tagName:n,elementClass:o,events:a,displayName:m}){return"undefined"!=typeof window?t({react:e,tagName:n,elementClass:o,events:a,displayName:m}):null}const s=m({tagName:"m3e-bottom-sheet",elementClass:n,react:e,events:{onOpening:"opening",onOpened:"opened",onClosing:"closing",onClosed:"closed",onCancel:"cancel"}}),l=m({tagName:"m3e-bottom-sheet-action",elementClass:o,react:e}),r=m({tagName:"m3e-bottom-sheet-trigger",elementClass:a,react:e});export{s as M3eBottomSheet,l as M3eBottomSheetAction,r as M3eBottomSheetTrigger};
7
7
  //# sourceMappingURL=bottom-sheet.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bottom-sheet.min.js","sources":["../../src/bottom-sheet/BottomSheet.ts","../../src/bottom-sheet/BottomSheetAction.ts","../../src/bottom-sheet/BottomSheetTrigger.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eBottomSheetElement } from \"@m3e/web/bottom-sheet\";\r\nexport type { M3eBottomSheetElement } from \"@m3e/web/bottom-sheet\";\r\n/**\r\n * React binding for the `m3e-bottom-sheet` Web Component from `@m3e/bottom-sheet`.\r\n *\r\n * This component renders the underlying `<m3e-bottom-sheet>` 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-bottom-sheet>` instance for imperative access.\r\n *\r\n * See the `m3e-bottom-sheet` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eBottomSheet = createComponent({\r\n tagName: \"m3e-bottom-sheet\",\r\n elementClass: M3eBottomSheetElement,\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 onCancel: \"cancel\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eBottomSheetActionElement } from \"@m3e/web/bottom-sheet\";\r\nexport type { M3eBottomSheetActionElement } from \"@m3e/web/bottom-sheet\";\r\n\r\n/**\r\n * React binding for the `m3e-bottom-sheet-action` Web Component from `@m3e/bottom-sheet`.\r\n *\r\n * This component renders the underlying `<m3e-bottom-sheet-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-bottom-sheet-action>` instance for imperative access.\r\n *\r\n * See the `m3e-bottom-sheet-action` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eBottomSheetAction = createComponent({\r\n tagName: \"m3e-bottom-sheet-action\",\r\n elementClass: M3eBottomSheetActionElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eBottomSheetTriggerElement } from \"@m3e/web/bottom-sheet\";\r\nexport type { M3eBottomSheetTriggerElement } from \"@m3e/web/bottom-sheet\";\r\n\r\n/**\r\n * React binding for the `m3e-bottom-sheet-trigger` Web Component from `@m3e/bottom-sheet`.\r\n *\r\n * This component renders the underlying `<m3e-bottom-sheet-trigger>` 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-bottom-sheet-trigger>` instance for imperative access.\r\n *\r\n * See the `m3e-bottom-sheet-trigger` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eBottomSheetTrigger = createComponent({\r\n tagName: \"m3e-bottom-sheet-trigger\",\r\n elementClass: M3eBottomSheetTriggerElement,\r\n react: React,\r\n});\r\n"],"names":["M3eBottomSheet","createComponent","tagName","elementClass","M3eBottomSheetElement","react","React","events","onOpening","onOpened","onClosing","onClosed","onCancel","M3eBottomSheetAction","M3eBottomSheetActionElement","M3eBottomSheetTrigger","M3eBottomSheetTriggerElement"],"mappings":";;;;;sMAkBO,MAAMA,EAAiBC,EAAgB,CAC5CC,QAAS,mBACTC,aAAcC,EACdC,MAAOC,EACPC,OAAQ,CACNC,UAAW,UACXC,SAAU,SACVC,UAAW,UACXC,SAAU,SACVC,SAAU,YCRDC,EAAuBZ,EAAgB,CAClDC,QAAS,0BACTC,aAAcW,EACdT,MAAOC,ICHIS,EAAwBd,EAAgB,CACnDC,QAAS,2BACTC,aAAca,EACdX,MAAOC"}
1
+ {"version":3,"file":"bottom-sheet.min.js","sources":["../../src/utils/createComponent.ts","../../src/bottom-sheet/BottomSheet.ts","../../src/bottom-sheet/BottomSheetAction.ts","../../src/bottom-sheet/BottomSheetTrigger.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 { M3eBottomSheetElement } from \"@m3e/web/bottom-sheet\";\r\nexport type { M3eBottomSheetElement } from \"@m3e/web/bottom-sheet\";\r\n/**\r\n * React binding for the `m3e-bottom-sheet` Web Component from `@m3e/web/bottom-sheet`.\r\n *\r\n * This component renders the underlying `<m3e-bottom-sheet>` 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-bottom-sheet>` instance for imperative access.\r\n *\r\n * See the `m3e-bottom-sheet` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eBottomSheet = createComponent({\r\n tagName: \"m3e-bottom-sheet\",\r\n elementClass: M3eBottomSheetElement,\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 onCancel: \"cancel\",\r\n },\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eBottomSheetActionElement } from \"@m3e/web/bottom-sheet\";\r\nexport type { M3eBottomSheetActionElement } from \"@m3e/web/bottom-sheet\";\r\n\r\n/**\r\n * React binding for the `m3e-bottom-sheet-action` Web Component from `@m3e/web/bottom-sheet`.\r\n *\r\n * This component renders the underlying `<m3e-bottom-sheet-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-bottom-sheet-action>` instance for imperative access.\r\n *\r\n * See the `m3e-bottom-sheet-action` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eBottomSheetAction = createComponent({\r\n tagName: \"m3e-bottom-sheet-action\",\r\n elementClass: M3eBottomSheetActionElement,\r\n react: React,\r\n});\r\n","import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eBottomSheetTriggerElement } from \"@m3e/web/bottom-sheet\";\r\nexport type { M3eBottomSheetTriggerElement } from \"@m3e/web/bottom-sheet\";\r\n\r\n/**\r\n * React binding for the `m3e-bottom-sheet-trigger` Web Component from `@m3e/web/bottom-sheet`.\r\n *\r\n * This component renders the underlying `<m3e-bottom-sheet-trigger>` 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-bottom-sheet-trigger>` instance for imperative access.\r\n *\r\n * See the `m3e-bottom-sheet-trigger` documentation for full details on behavior, styling,\r\n * accessibility, and supported events.\r\n */\r\nexport const M3eBottomSheetTrigger = createComponent({\r\n tagName: \"m3e-bottom-sheet-trigger\",\r\n elementClass: M3eBottomSheetTriggerElement,\r\n react: React,\r\n});\r\n"],"names":["createComponent","react","tagName","elementClass","events","displayName","window","createReactComponent","M3eBottomSheet","M3eBottomSheetElement","React","onOpening","onOpened","onClosing","onClosed","onCancel","M3eBottomSheetAction","M3eBottomSheetActionElement","M3eBottomSheetTrigger","M3eBottomSheetTriggerElement"],"mappings":";;;;;sMA6BM,SAAUA,GAAkEC,MAChFA,EAAKC,QACLA,EAAOC,aACPA,EAAYC,OACZA,EAAMC,YACNA,IAEA,MAAyB,oBAAXC,OACVC,EAA2B,CAAEN,QAAOC,UAASC,eAAcC,SAAQC,gBAChC,IACzC,CCrBO,MAAMG,EAAiBR,EAAgB,CAC5CE,QAAS,mBACTC,aAAcM,EACdR,MAAOS,EACPN,OAAQ,CACNO,UAAW,UACXC,SAAU,SACVC,UAAW,UACXC,SAAU,SACVC,SAAU,YCRDC,EAAuBhB,EAAgB,CAClDE,QAAS,0BACTC,aAAcc,EACdhB,MAAOS,ICHIQ,EAAwBlB,EAAgB,CACnDE,QAAS,2BACTC,aAAcgB,EACdlB,MAAOS"}
@@ -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 { M3eButtonGroupElement } from '@m3e/web/button-group';
11
11
 
12
12
  /**
13
- * React binding for the `m3e-button-group` Web Component from `@m3e/button-group`.
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-button-group` Web Component from `@m3e/web/button-group`.
14
45
  *
15
46
  * This component renders the underlying `<m3e-button-group>` element and exposes its
16
47
  * properties, attributes, and events through an idiomatic React interface.
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.js","sources":["../../src/button-group/ButtonGroup.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eButtonGroupElement } from \"@m3e/web/button-group\";\r\nexport type { ButtonGroupSize, ButtonGroupVariant, M3eButtonGroupElement } from \"@m3e/web/button-group\";\r\n\r\n/**\r\n * React binding for the `m3e-button-group` Web Component from `@m3e/button-group`.\r\n *\r\n * This component renders the underlying `<m3e-button-group>` 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-button-group>` instance for imperative access.\r\n *\r\n * See the `m3e-button-group` documentation in `@m3e/button-group` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eButtonGroup = createComponent({\r\n tagName: \"m3e-button-group\",\r\n elementClass: M3eButtonGroupElement,\r\n react: React,\r\n});\r\n"],"names":[],"mappings":";;;;;;;;;;;AAMA;;;;;;;;;;;;AAYG;AACI,MAAM,cAAc,GAAG,eAAe,CAAC;AAC5C,IAAA,OAAO,EAAE,kBAAkB;AAC3B,IAAA,YAAY,EAAE,qBAAqB;AACnC,IAAA,KAAK,EAAE,KAAK;AACb,CAAA;;;;"}
1
+ {"version":3,"file":"button-group.js","sources":["../../src/utils/createComponent.ts","../../src/button-group/ButtonGroup.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 { M3eButtonGroupElement } from \"@m3e/web/button-group\";\r\nexport type { ButtonGroupSize, ButtonGroupVariant, M3eButtonGroupElement } from \"@m3e/web/button-group\";\r\n\r\n/**\r\n * React binding for the `m3e-button-group` Web Component from `@m3e/web/button-group`.\r\n *\r\n * This component renders the underlying `<m3e-button-group>` 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-button-group>` instance for imperative access.\r\n *\r\n * See the `m3e-button-group` documentation in `@m3e/button-group` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eButtonGroup = createComponent({\r\n tagName: \"m3e-button-group\",\r\n elementClass: M3eButtonGroupElement,\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,cAAc,GAAG,eAAe,CAAC;AAC5C,IAAA,OAAO,EAAE,kBAAkB;AAC3B,IAAA,YAAY,EAAE,qBAAqB;AACnC,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{M3eButtonGroupElement as o}from"@m3e/web/button-group";const r=e({tagName:"m3e-button-group",elementClass:o,react:t});export{r as M3eButtonGroup};
6
+ */import e from"react";import{createComponent as t}from"@lit/react";import{M3eButtonGroupElement as a}from"@m3e/web/button-group";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-button-group",elementClass:a,react:e});export{n as M3eButtonGroup};
7
7
  //# sourceMappingURL=button-group.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.min.js","sources":["../../src/button-group/ButtonGroup.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"@lit/react\";\r\n\r\nimport { M3eButtonGroupElement } from \"@m3e/web/button-group\";\r\nexport type { ButtonGroupSize, ButtonGroupVariant, M3eButtonGroupElement } from \"@m3e/web/button-group\";\r\n\r\n/**\r\n * React binding for the `m3e-button-group` Web Component from `@m3e/button-group`.\r\n *\r\n * This component renders the underlying `<m3e-button-group>` 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-button-group>` instance for imperative access.\r\n *\r\n * See the `m3e-button-group` documentation in `@m3e/button-group` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eButtonGroup = createComponent({\r\n tagName: \"m3e-button-group\",\r\n elementClass: M3eButtonGroupElement,\r\n react: React,\r\n});\r\n"],"names":["M3eButtonGroup","createComponent","tagName","elementClass","M3eButtonGroupElement","react","React"],"mappings":";;;;;mIAmBO,MAAMA,EAAiBC,EAAgB,CAC5CC,QAAS,mBACTC,aAAcC,EACdC,MAAOC"}
1
+ {"version":3,"file":"button-group.min.js","sources":["../../src/button-group/ButtonGroup.ts","../../src/utils/createComponent.ts"],"sourcesContent":["import React from \"react\";\r\nimport { createComponent } from \"../utils\";\r\n\r\nimport { M3eButtonGroupElement } from \"@m3e/web/button-group\";\r\nexport type { ButtonGroupSize, ButtonGroupVariant, M3eButtonGroupElement } from \"@m3e/web/button-group\";\r\n\r\n/**\r\n * React binding for the `m3e-button-group` Web Component from `@m3e/web/button-group`.\r\n *\r\n * This component renders the underlying `<m3e-button-group>` 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-button-group>` instance for imperative access.\r\n *\r\n * See the `m3e-button-group` documentation in `@m3e/button-group` for full details on behavior,\r\n * styling, accessibility, and supported events.\r\n */\r\nexport const M3eButtonGroup = createComponent({\r\n tagName: \"m3e-button-group\",\r\n elementClass: M3eButtonGroupElement,\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":["M3eButtonGroup","react","tagName","elementClass","events","displayName","window","createReactComponent","createComponent","M3eButtonGroupElement","React"],"mappings":";;;;;mIAmBO,MAAMA,ECUP,UAA4EC,MAChFA,EAAKC,QACLA,EAAOC,aACPA,EAAYC,OACZA,EAAMC,YACNA,IAEA,MAAyB,oBAAXC,OACVC,EAA2B,CAAEN,QAAOC,UAASC,eAAcC,SAAQC,gBAChC,IACzC,CDpB8BG,CAAgB,CAC5CN,QAAS,mBACTC,aAAcM,EACdR,MAAOS"}