@helixui/react 1.1.4 → 3.0.0
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.
- package/dist/components/HxActionBar/types.d.ts +9 -3
- package/dist/components/HxActionBar/types.d.ts.map +1 -1
- package/dist/components/HxButton/types.d.ts +6 -2
- package/dist/components/HxButton/types.d.ts.map +1 -1
- package/dist/components/HxButtonGroup/types.d.ts +1 -3
- package/dist/components/HxButtonGroup/types.d.ts.map +1 -1
- package/dist/components/HxCheckbox/types.d.ts +9 -1
- package/dist/components/HxCheckbox/types.d.ts.map +1 -1
- package/dist/components/HxCheckboxGroup/types.d.ts +0 -6
- package/dist/components/HxCheckboxGroup/types.d.ts.map +1 -1
- package/dist/components/HxColorPicker/types.d.ts +0 -4
- package/dist/components/HxColorPicker/types.d.ts.map +1 -1
- package/dist/components/HxCombobox/types.d.ts +10 -8
- package/dist/components/HxCombobox/types.d.ts.map +1 -1
- package/dist/components/HxDatePicker/types.d.ts +0 -6
- package/dist/components/HxDatePicker/types.d.ts.map +1 -1
- package/dist/components/HxDialog/types.d.ts +5 -3
- package/dist/components/HxDialog/types.d.ts.map +1 -1
- package/dist/components/HxDrawer/HxDrawer.d.ts +23 -0
- package/dist/components/HxDrawer/HxDrawer.d.ts.map +1 -1
- package/dist/components/HxDrawer/types.d.ts +1 -1
- package/dist/components/HxDrawer/types.d.ts.map +1 -1
- package/dist/components/HxFileUpload/types.d.ts +6 -6
- package/dist/components/HxFileUpload/types.d.ts.map +1 -1
- package/dist/components/HxIcon/types.d.ts +4 -0
- package/dist/components/HxIcon/types.d.ts.map +1 -1
- package/dist/components/HxIconButton/types.d.ts +0 -2
- package/dist/components/HxIconButton/types.d.ts.map +1 -1
- package/dist/components/HxNumberInput/types.d.ts +0 -6
- package/dist/components/HxNumberInput/types.d.ts.map +1 -1
- package/dist/components/HxPatientBanner/HxPatientBanner.d.ts +29 -2
- package/dist/components/HxPatientBanner/HxPatientBanner.d.ts.map +1 -1
- package/dist/components/HxPatientBanner/types.d.ts +1 -1
- package/dist/components/HxPatientBanner/types.d.ts.map +1 -1
- package/dist/components/HxPhiField/HxPhiField.d.ts +24 -0
- package/dist/components/HxPhiField/HxPhiField.d.ts.map +1 -1
- package/dist/components/HxPhiField/types.d.ts +8 -2
- package/dist/components/HxPhiField/types.d.ts.map +1 -1
- package/dist/components/HxRadioGroup/types.d.ts +0 -6
- package/dist/components/HxRadioGroup/types.d.ts.map +1 -1
- package/dist/components/HxRating/types.d.ts +0 -4
- package/dist/components/HxRating/types.d.ts.map +1 -1
- package/dist/components/HxSelect/types.d.ts +10 -8
- package/dist/components/HxSelect/types.d.ts.map +1 -1
- package/dist/components/HxSlider/types.d.ts +0 -6
- package/dist/components/HxSlider/types.d.ts.map +1 -1
- package/dist/components/HxSplitButton/types.d.ts +8 -2
- package/dist/components/HxSplitButton/types.d.ts.map +1 -1
- package/dist/components/HxSteps/types.d.ts +8 -2
- package/dist/components/HxSteps/types.d.ts.map +1 -1
- package/dist/components/HxSwitch/types.d.ts +1 -7
- package/dist/components/HxSwitch/types.d.ts.map +1 -1
- package/dist/components/HxTextInput/types.d.ts +10 -2
- package/dist/components/HxTextInput/types.d.ts.map +1 -1
- package/dist/components/HxTextarea/types.d.ts +10 -8
- package/dist/components/HxTextarea/types.d.ts.map +1 -1
- package/dist/components/HxTheme/types.d.ts +0 -1
- package/dist/components/HxTheme/types.d.ts.map +1 -1
- package/dist/components/HxTimePicker/types.d.ts +0 -6
- package/dist/components/HxTimePicker/types.d.ts.map +1 -1
- package/dist/components/HxToggleButton/types.d.ts +0 -2
- package/dist/components/HxToggleButton/types.d.ts.map +1 -1
- package/dist/index.d.ts +16 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +90 -90
- package/dist/shared/HxDrawer-Y1QnaHrU.js.map +1 -1
- package/dist/shared/HxPatientBanner-oKA7E2FX.js.map +1 -1
- package/dist/shared/HxPhiField-BVn5e3Cm.js.map +1 -1
- package/package.json +4 -3
package/dist/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { H } from "./shared/
|
|
2
|
-
import { H as H2 } from "./shared/
|
|
1
|
+
import { H } from "./shared/HxAccordion-BB3lypgd.js";
|
|
2
|
+
import { H as H2 } from "./shared/HxAccordionItem-C26EIvJG.js";
|
|
3
3
|
import { H as H3 } from "./shared/HxActionBar-Bn--omCL.js";
|
|
4
4
|
import { H as H4 } from "./shared/HxAlert-BBdgyvjV.js";
|
|
5
5
|
import { H as H5 } from "./shared/HxAvatar-BS-4kdPG.js";
|
|
6
6
|
import { H as H6 } from "./shared/HxBadge-Ck9MRyi2.js";
|
|
7
7
|
import { H as H7 } from "./shared/HxBanner-C8xMXTg5.js";
|
|
8
|
-
import { H as H8 } from "./shared/
|
|
9
|
-
import { H as H9 } from "./shared/
|
|
8
|
+
import { H as H8 } from "./shared/HxBreadcrumb-BZppdj7L.js";
|
|
9
|
+
import { H as H9 } from "./shared/HxBreadcrumbItem-BpFJ8Uo0.js";
|
|
10
10
|
import { H as H10 } from "./shared/HxButton-wwzBxYwf.js";
|
|
11
11
|
import { H as H11 } from "./shared/HxButtonGroup-DWB_mYr4.js";
|
|
12
12
|
import { H as H12 } from "./shared/HxCard-DGsybOyt.js";
|
|
13
|
-
import { H as H13 } from "./shared/
|
|
14
|
-
import { H as H14 } from "./shared/
|
|
13
|
+
import { H as H13 } from "./shared/HxCarousel-BTNupK4u.js";
|
|
14
|
+
import { H as H14 } from "./shared/HxCarouselItem-BSPAOeAL.js";
|
|
15
15
|
import { H as H15 } from "./shared/HxCheckbox-DH_0Mbkt.js";
|
|
16
16
|
import { H as H16 } from "./shared/HxCheckboxGroup-c3Wesu30.js";
|
|
17
17
|
import { H as H17 } from "./shared/HxClinicalStatus-C-eG8Fud.js";
|
|
@@ -39,28 +39,28 @@ import { H as H38 } from "./shared/HxIcon-oYdBXU9x.js";
|
|
|
39
39
|
import { H as H39 } from "./shared/HxIconButton-CKfis3-v.js";
|
|
40
40
|
import { H as H40 } from "./shared/HxImage-ClDYeAo5.js";
|
|
41
41
|
import { H as H41 } from "./shared/HxLink-EU9zFPwk.js";
|
|
42
|
-
import { H as H42 } from "./shared/
|
|
43
|
-
import { H as H43 } from "./shared/
|
|
44
|
-
import { H as H44 } from "./shared/
|
|
45
|
-
import { H as H45 } from "./shared/
|
|
46
|
-
import { H as H46 } from "./shared/
|
|
42
|
+
import { H as H42 } from "./shared/HxList-B35ueWrO.js";
|
|
43
|
+
import { H as H43 } from "./shared/HxListItem-DegXnlK0.js";
|
|
44
|
+
import { H as H44 } from "./shared/HxMenu-B1tRT8Lm.js";
|
|
45
|
+
import { H as H45 } from "./shared/HxMenuDivider-RE1AMxqi.js";
|
|
46
|
+
import { H as H46 } from "./shared/HxMenuItem-CLdUUCJS.js";
|
|
47
47
|
import { H as H47 } from "./shared/HxMeter-C3R4U7cD.js";
|
|
48
48
|
import { H as H48 } from "./shared/HxNav-Bh9LJ3zH.js";
|
|
49
|
-
import { H as H49 } from "./shared/
|
|
50
|
-
import { H as H50 } from "./shared/
|
|
51
|
-
import { H as H51 } from "./shared/
|
|
52
|
-
import { H as H52 } from "./shared/
|
|
53
|
-
import { H as H53 } from "./shared/
|
|
54
|
-
import { H as H54 } from "./shared/
|
|
55
|
-
import { H as H55 } from "./shared/
|
|
56
|
-
import { H as H56 } from "./shared/
|
|
57
|
-
import { H as H57 } from "./shared/
|
|
58
|
-
import { H as H58 } from "./shared/
|
|
59
|
-
import { H as H59 } from "./shared/
|
|
49
|
+
import { H as H49 } from "./shared/HxNavItem-Bsrl9foC.js";
|
|
50
|
+
import { H as H50 } from "./shared/HxNumberInput-Dezj1GFt.js";
|
|
51
|
+
import { H as H51 } from "./shared/HxOverflowMenu-CdTWx4X5.js";
|
|
52
|
+
import { H as H52 } from "./shared/HxPagination-B3MtXvQP.js";
|
|
53
|
+
import { H as H53 } from "./shared/HxPatientBanner-oKA7E2FX.js";
|
|
54
|
+
import { H as H54 } from "./shared/HxPhiField-BVn5e3Cm.js";
|
|
55
|
+
import { H as H55 } from "./shared/HxPopover-D0zfUXPF.js";
|
|
56
|
+
import { H as H56 } from "./shared/HxPopup-hFMmR-kI.js";
|
|
57
|
+
import { H as H57 } from "./shared/HxProgressBar-FupceIzI.js";
|
|
58
|
+
import { H as H58 } from "./shared/HxProgressRing-DNptcNoz.js";
|
|
59
|
+
import { H as H59 } from "./shared/HxProse-CVNyZuax.js";
|
|
60
60
|
import { H as H60 } from "./shared/HxRadio-YLIQfNL9.js";
|
|
61
|
-
import { H as H61 } from "./shared/
|
|
62
|
-
import { H as H62 } from "./shared/
|
|
63
|
-
import { H as H63 } from "./shared/
|
|
61
|
+
import { H as H61 } from "./shared/HxRadioGroup-D0xVuMDM.js";
|
|
62
|
+
import { H as H62 } from "./shared/HxRating-Ba5zWXvJ.js";
|
|
63
|
+
import { H as H63 } from "./shared/HxSelect-BEm8srcF.js";
|
|
64
64
|
import { H as H64 } from "./shared/HxSideNav-Bsna09yU.js";
|
|
65
65
|
import { H as H65 } from "./shared/HxSkeleton-CCMzx9TK.js";
|
|
66
66
|
import { H as H66 } from "./shared/HxSlider-BC8SGKvf.js";
|
|
@@ -76,45 +76,45 @@ import { H as H75 } from "./shared/HxStructuredList-C64ITsur.js";
|
|
|
76
76
|
import { H as H76 } from "./shared/HxStructuredListRow-Bs-PKgal.js";
|
|
77
77
|
import { H as H77 } from "./shared/HxStyleScope-okf6gBFQ.js";
|
|
78
78
|
import { H as H78 } from "./shared/HxSwitch-DwN6mZnb.js";
|
|
79
|
-
import { H as H79 } from "./shared/
|
|
80
|
-
import { H as H80 } from "./shared/
|
|
81
|
-
import { H as H81 } from "./shared/
|
|
82
|
-
import { H as H82 } from "./shared/
|
|
83
|
-
import { H as H83 } from "./shared/
|
|
84
|
-
import { H as H84 } from "./shared/
|
|
85
|
-
import { H as H85 } from "./shared/
|
|
86
|
-
import { H as H86 } from "./shared/
|
|
87
|
-
import { H as H87 } from "./shared/
|
|
88
|
-
import { H as H88 } from "./shared/
|
|
89
|
-
import { H as H89 } from "./shared/
|
|
90
|
-
import { H as H90 } from "./shared/
|
|
91
|
-
import { H as H91 } from "./shared/
|
|
92
|
-
import { H as H92 } from "./shared/
|
|
93
|
-
import { H as H93 } from "./shared/
|
|
94
|
-
import { H as H94 } from "./shared/
|
|
79
|
+
import { H as H79 } from "./shared/HxTab-Dhb27BDp.js";
|
|
80
|
+
import { H as H80 } from "./shared/HxTabPanel-CmFKupoK.js";
|
|
81
|
+
import { H as H81 } from "./shared/HxTable-DiSAvkn4.js";
|
|
82
|
+
import { H as H82 } from "./shared/HxTabs-DIIy0X3K.js";
|
|
83
|
+
import { H as H83 } from "./shared/HxTag-CZGKlJOi.js";
|
|
84
|
+
import { H as H84 } from "./shared/HxTbody-CUzDNvHC.js";
|
|
85
|
+
import { H as H85 } from "./shared/HxTd-l5ZrD1Ai.js";
|
|
86
|
+
import { H as H86 } from "./shared/HxText-DGct9t7J.js";
|
|
87
|
+
import { H as H87 } from "./shared/HxTextInput-D7kdWqVL.js";
|
|
88
|
+
import { H as H88 } from "./shared/HxTextarea-BPWvPz4l.js";
|
|
89
|
+
import { H as H89 } from "./shared/HxTfoot-Dpr9DPb3.js";
|
|
90
|
+
import { H as H90 } from "./shared/HxTh-Bo7R_MVI.js";
|
|
91
|
+
import { H as H91 } from "./shared/HxThead-BUgzbvH1.js";
|
|
92
|
+
import { H as H92 } from "./shared/HxTheme-3vcbSPNv.js";
|
|
93
|
+
import { H as H93 } from "./shared/HxTimePicker-DDS8eoIz.js";
|
|
94
|
+
import { H as H94 } from "./shared/HxToast-xU4O3hst.js";
|
|
95
95
|
import { H as H95 } from "./shared/HxToastStack-b8gSHKQd.js";
|
|
96
|
-
import { H as H96 } from "./shared/
|
|
97
|
-
import { H as H97 } from "./shared/
|
|
98
|
-
import { H as H98 } from "./shared/
|
|
99
|
-
import { H as H99 } from "./shared/
|
|
96
|
+
import { H as H96 } from "./shared/HxToggleButton-CTMAggxK.js";
|
|
97
|
+
import { H as H97 } from "./shared/HxTooltip-DD8Uc78f.js";
|
|
98
|
+
import { H as H98 } from "./shared/HxTopNav-vtIsmhbN.js";
|
|
99
|
+
import { H as H99 } from "./shared/HxTr-CjhQyD3e.js";
|
|
100
100
|
import { H as H100 } from "./shared/HxTreeItem-B2_rGgy6.js";
|
|
101
101
|
import { H as H101 } from "./shared/HxTreeView-BKbPPPhF.js";
|
|
102
102
|
import { H as H102 } from "./shared/HxVisuallyHidden-BMxBQRkx.js";
|
|
103
103
|
export {
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
H as HxAccordion,
|
|
105
|
+
H2 as HxAccordionItem,
|
|
106
106
|
H3 as HxActionBar,
|
|
107
107
|
H4 as HxAlert,
|
|
108
108
|
H5 as HxAvatar,
|
|
109
109
|
H6 as HxBadge,
|
|
110
110
|
H7 as HxBanner,
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
H8 as HxBreadcrumb,
|
|
112
|
+
H9 as HxBreadcrumbItem,
|
|
113
113
|
H10 as HxButton,
|
|
114
114
|
H11 as HxButtonGroup,
|
|
115
115
|
H12 as HxCard,
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
H13 as HxCarousel,
|
|
117
|
+
H14 as HxCarouselItem,
|
|
118
118
|
H15 as HxCheckbox,
|
|
119
119
|
H16 as HxCheckboxGroup,
|
|
120
120
|
H17 as HxClinicalStatus,
|
|
@@ -142,28 +142,28 @@ export {
|
|
|
142
142
|
H39 as HxIconButton,
|
|
143
143
|
H40 as HxImage,
|
|
144
144
|
H41 as HxLink,
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
145
|
+
H42 as HxList,
|
|
146
|
+
H43 as HxListItem,
|
|
147
|
+
H44 as HxMenu,
|
|
148
|
+
H45 as HxMenuDivider,
|
|
149
|
+
H46 as HxMenuItem,
|
|
150
150
|
H47 as HxMeter,
|
|
151
151
|
H48 as HxNav,
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
152
|
+
H49 as HxNavItem,
|
|
153
|
+
H50 as HxNumberInput,
|
|
154
|
+
H51 as HxOverflowMenu,
|
|
155
|
+
H52 as HxPagination,
|
|
156
|
+
H53 as HxPatientBanner,
|
|
157
|
+
H54 as HxPhiField,
|
|
158
|
+
H55 as HxPopover,
|
|
159
|
+
H56 as HxPopup,
|
|
160
|
+
H57 as HxProgressBar,
|
|
161
|
+
H58 as HxProgressRing,
|
|
162
|
+
H59 as HxProse,
|
|
163
163
|
H60 as HxRadio,
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
164
|
+
H61 as HxRadioGroup,
|
|
165
|
+
H62 as HxRating,
|
|
166
|
+
H63 as HxSelect,
|
|
167
167
|
H64 as HxSideNav,
|
|
168
168
|
H65 as HxSkeleton,
|
|
169
169
|
H66 as HxSlider,
|
|
@@ -179,27 +179,27 @@ export {
|
|
|
179
179
|
H76 as HxStructuredListRow,
|
|
180
180
|
H77 as HxStyleScope,
|
|
181
181
|
H78 as HxSwitch,
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
182
|
+
H79 as HxTab,
|
|
183
|
+
H80 as HxTabPanel,
|
|
184
|
+
H81 as HxTable,
|
|
185
|
+
H82 as HxTabs,
|
|
186
|
+
H83 as HxTag,
|
|
187
|
+
H84 as HxTbody,
|
|
188
|
+
H85 as HxTd,
|
|
189
|
+
H86 as HxText,
|
|
190
|
+
H87 as HxTextInput,
|
|
191
|
+
H88 as HxTextarea,
|
|
192
|
+
H89 as HxTfoot,
|
|
193
|
+
H90 as HxTh,
|
|
194
|
+
H91 as HxThead,
|
|
195
|
+
H92 as HxTheme,
|
|
196
|
+
H93 as HxTimePicker,
|
|
197
|
+
H94 as HxToast,
|
|
198
198
|
H95 as HxToastStack,
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
199
|
+
H96 as HxToggleButton,
|
|
200
|
+
H97 as HxTooltip,
|
|
201
|
+
H98 as HxTopNav,
|
|
202
|
+
H99 as HxTr,
|
|
203
203
|
H100 as HxTreeItem,
|
|
204
204
|
H101 as HxTreeView,
|
|
205
205
|
H102 as HxVisuallyHidden
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HxDrawer-Y1QnaHrU.js","sources":["../../src/components/HxDrawer/HxDrawer.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-drawer> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixDrawer } from '@helixui/library/components/hx-drawer';\n\nimport type { HxDrawerProps } from './types.js';\n\nexport type { HxDrawerProps };\n\n/**\n * A slide-in drawer panel that can appear from any edge of the viewport.\nSupports focus trapping, overlay backdrop, keyboard navigation, and full\nARIA labelling for enterprise healthcare accessibility requirements.\n *\n * @example\n * ```tsx\n * import { HxDrawer } from '@helixui/react';\n *\n * <HxDrawer />\n * ```\n */\nexport const HxDrawer = createComponent({\n tagName: 'hx-drawer',\n elementClass: HelixDrawer,\n react: React,\n events: {\n onHxShow: 'hx-show',\n onHxAfterShow: 'hx-after-show',\n onHxHide: 'hx-hide',\n onHxAfterHide: 'hx-after-hide',\n onHxInitialFocus: 'hx-initial-focus',\n },\n displayName: 'HxDrawer',\n});\n\nexport default HxDrawer;\n"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"HxDrawer-Y1QnaHrU.js","sources":["../../src/components/HxDrawer/HxDrawer.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-drawer> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixDrawer } from '@helixui/library/components/hx-drawer';\n\nimport type { HxDrawerProps } from './types.js';\n\nexport type { HxDrawerProps };\n\n/**\n * A slide-in drawer panel that can appear from any edge of the viewport.\nSupports focus trapping, overlay backdrop, keyboard navigation, and full\nARIA labelling for enterprise healthcare accessibility requirements.\n\n## Architecture Note: Native `<dialog>` Migration\n\nThis component currently uses `role=\"dialog\"` + `aria-modal=\"true\"` on a\n`<div>` rather than the native `<dialog>` element. This is intentional for\nthe current release because:\n\n1. **SSR compatibility**: Native `<dialog>` requires `showModal()` to activate\n its modal behavior (focus trapping, backdrop, top-layer). This JavaScript\n call is not available during server-side rendering, which is a primary\n consumption pattern for Drupal/Twig templates.\n\n2. **Contained mode**: The `contained` property constrains the drawer to a\n positioned parent. Native `<dialog>` in modal mode renders in the top layer\n and cannot be constrained to a parent element.\n\n3. **Animation control**: The current CSS transition approach provides precise\n control over slide-in/slide-out animations. Native `<dialog>` `::backdrop`\n animations have inconsistent cross-browser support.\n\nMigration to native `<dialog>` is tracked as a future enhancement. When browser\nsupport for `CloseWatcher`, `::backdrop` transitions, and declarative dialog\nopening stabilizes, this component will be migrated to native semantics.\n *\n * @example\n * ```tsx\n * import { HxDrawer } from '@helixui/react';\n *\n * <HxDrawer />\n * ```\n */\nexport const HxDrawer = createComponent({\n tagName: 'hx-drawer',\n elementClass: HelixDrawer,\n react: React,\n events: {\n onHxShow: 'hx-show',\n onHxAfterShow: 'hx-after-show',\n onHxHide: 'hx-hide',\n onHxAfterHide: 'hx-after-hide',\n onHxInitialFocus: 'hx-initial-focus',\n },\n displayName: 'HxDrawer',\n});\n\nexport default HxDrawer;\n"],"names":[],"mappings":";;;AAkDO,MAAM,WAAW,gBAAgB;AAAA,EACtC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,IACf,UAAU;AAAA,IACV,eAAe;AAAA,IACf,kBAAkB;AAAA,EAAA;AAAA,EAEpB,aAAa;AACf,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HxPatientBanner-oKA7E2FX.js","sources":["../../src/components/HxPatientBanner/HxPatientBanner.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-patient-banner> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixPatientBanner } from '@helixui/library/components/hx-patient-banner';\n\nimport type { HxPatientBannerProps } from './types.js';\n\nexport type { HxPatientBannerProps };\n\n/**\n * Patient identification banner implementing Joint Commission NPSG.01.01.01 two-identifier rule.\nRenders as a landmark region containing named slots for patient identification fields.\nIntegrates with hx-phi-field for HIPAA-compliant display of masked identifiers.\
|
|
1
|
+
{"version":3,"file":"HxPatientBanner-oKA7E2FX.js","sources":["../../src/components/HxPatientBanner/HxPatientBanner.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-patient-banner> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixPatientBanner } from '@helixui/library/components/hx-patient-banner';\n\nimport type { HxPatientBannerProps } from './types.js';\n\nexport type { HxPatientBannerProps };\n\n/**\n * Patient identification banner implementing Joint Commission NPSG.01.01.01 two-identifier rule.\nRenders as a landmark region containing named slots for patient identification fields.\nIntegrates with hx-phi-field for HIPAA-compliant display of masked identifiers.\n\n## Security Model — Event Composition\n\nThis component dispatches and propagates two categories of composed events:\n\n### `hx-identifier-rule-violation` (dispatched by this component)\nFired with `composed: true` when the two-identifier rule is violated. The event detail\ncontains only structural metadata (`populatedIdentifiers` count, `requiredIdentifiers`\ncount) and the `patientId` attribute value. **No raw PHI is included.**\n\nThe `patientId` is a developer-provided attribute intended as a correlation key for\napplication logic — it should be an opaque internal identifier (e.g., a UUID or\nencounter ID), not a human-readable identifier like an MRN or SSN.\n\n### `hx-phi-access` (bubbles from slotted hx-phi-field children)\nSlotted `hx-phi-field` elements dispatch `hx-phi-access` with `composed: true`. These\nevents bubble through this component's shadow DOM via slot projection. This component\ndoes NOT re-dispatch or modify these events. See `hx-phi-field` documentation for the\nsecurity model of those events.\n\n### Consumer Responsibilities\n\n- **Multi-tenant isolation**: In micro-frontend architectures where multiple patient\n contexts share a document, scope event listeners to the appropriate DOM subtree.\n Both `hx-phi-access` and `hx-identifier-rule-violation` use `composed: true` and\n will bubble through shared ancestors across shadow boundaries.\n- **patientId hygiene**: Set the `patient-id` attribute to an opaque internal\n identifier, not a human-readable clinical identifier. This value appears in\n composed events that cross shadow boundaries.\n *\n * @example\n * ```tsx\n * import { HxPatientBanner } from '@helixui/react';\n *\n * <HxPatientBanner />\n * ```\n */\nexport const HxPatientBanner = createComponent({\n tagName: 'hx-patient-banner',\n elementClass: HelixPatientBanner,\n react: React,\n events: {\n onHxIdentifierRuleViolation: 'hx-identifier-rule-violation',\n },\n displayName: 'HxPatientBanner',\n});\n\nexport default HxPatientBanner;\n"],"names":[],"mappings":";;;AAwDO,MAAM,kBAAkB,gBAAgB;AAAA,EAC7C,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,6BAA6B;AAAA,EAAA;AAAA,EAE/B,aAAa;AACf,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HxPhiField-BVn5e3Cm.js","sources":["../../src/components/HxPhiField/HxPhiField.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-phi-field> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixPhiField } from '@helixui/library/components/hx-phi-field';\n\nimport type { HxPhiFieldProps } from './types.js';\n\nexport type { HxPhiFieldProps };\n\n/**\n * HIPAA-compliant field component for rendering masked Protected Health Information (PHI).\nPHI is masked by default and only rendered to the DOM when explicitly revealed. Access\nevents are fired on reveal, hide, and clipboard auto-clear for audit trail purposes.\n *\n * @example\n * ```tsx\n * import { HxPhiField } from '@helixui/react';\n *\n * <HxPhiField />\n * ```\n */\nexport const HxPhiField = createComponent({\n tagName: 'hx-phi-field',\n elementClass: HelixPhiField,\n react: React,\n events: {\n onHxPhiAccess: 'hx-phi-access',\n },\n displayName: 'HxPhiField',\n});\n\nexport default HxPhiField;\n"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"HxPhiField-BVn5e3Cm.js","sources":["../../src/components/HxPhiField/HxPhiField.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-phi-field> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixPhiField } from '@helixui/library/components/hx-phi-field';\n\nimport type { HxPhiFieldProps } from './types.js';\n\nexport type { HxPhiFieldProps };\n\n/**\n * HIPAA-compliant field component for rendering masked Protected Health Information (PHI).\nPHI is masked by default and only rendered to the DOM when explicitly revealed. Access\nevents are fired on reveal, hide, and clipboard auto-clear for audit trail purposes.\n\n## Security Model — Event Composition\n\nThe `hx-phi-access` event is dispatched with `composed: true` so it crosses shadow DOM\nboundaries and reaches application-level audit listeners. This is intentional — audit\ntrail events MUST reach the host application regardless of shadow DOM nesting depth.\n\n**PHI is never included in event details.** The `PhiAccessEventDetail` payload contains\nonly audit metadata: `fieldId`, `action`, `timestamp`, and `fieldType`. The actual PHI\nvalue (the `data` property) is deliberately excluded from all dispatched events.\n\n### Consumer Responsibilities\n\n- **Audit logging**: Listen for `hx-phi-access` at the application root to build a\n HIPAA-compliant access audit trail. The `fieldId` and `timestamp` fields correlate\n access events to specific data elements without exposing the data itself.\n- **Multi-tenant isolation**: In micro-frontend architectures where multiple patient\n contexts share a document, consumers MUST scope their `hx-phi-access` listeners to\n the appropriate DOM subtree (e.g., listen on a container element rather than\n `document`). Composed events from one patient context will bubble through shared\n ancestors.\n- **Do not extend event details with PHI**: When wrapping this component, never add\n the raw `data` value to re-dispatched events. The separation of audit metadata from\n PHI content is a deliberate security boundary.\n *\n * @example\n * ```tsx\n * import { HxPhiField } from '@helixui/react';\n *\n * <HxPhiField />\n * ```\n */\nexport const HxPhiField = createComponent({\n tagName: 'hx-phi-field',\n elementClass: HelixPhiField,\n react: React,\n events: {\n onHxPhiAccess: 'hx-phi-access',\n },\n displayName: 'HxPhiField',\n});\n\nexport default HxPhiField;\n"],"names":[],"mappings":";;;AAmDO,MAAM,aAAa,gBAAgB;AAAA,EACxC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,eAAe;AAAA,EAAA;AAAA,EAEjB,aAAa;AACf,CAAC;"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helixui/react",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "React wrappers for HELiX web components",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"sideEffects":
|
|
6
|
+
"sideEffects": false,
|
|
7
7
|
"main": "./dist/index.js",
|
|
8
8
|
"module": "./dist/index.js",
|
|
9
9
|
"types": "./dist/index.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@lit/react": "^1.0.6",
|
|
26
26
|
"react": "^18.3.1",
|
|
27
|
-
"@helixui/library": "
|
|
27
|
+
"@helixui/library": "3.0.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/react": "^18.3.18",
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"generate": "tsx ../../scripts/generate-react-wrappers.ts && prettier --write src/",
|
|
49
|
+
"generate:check": "tsx ../../scripts/generate-react-wrappers.ts --check",
|
|
49
50
|
"prebuild": "pnpm run generate",
|
|
50
51
|
"build": "vite build",
|
|
51
52
|
"type-check": "tsc --noEmit",
|