@oslokommune/punkt-elements 16.18.0 → 16.21.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/CHANGELOG.md +34 -0
- package/dist/{accordion-CU2tJ5vn.js → accordion-BjYsEbSM.js} +19 -19
- package/dist/{accordion-DDZkjXFb.cjs → accordion-DaeWPWod.cjs} +5 -5
- package/dist/{alert-D_eXGOez.js → alert-BkzC5mVu.js} +22 -22
- package/dist/{alert-NyLr62jZ.cjs → alert-D_45dWPn.cjs} +6 -6
- package/dist/{async-directive-CaQiqjyV.js → async-directive-Cz6tcqge.js} +2 -2
- package/dist/async-directive-DO1QtVmf.cjs +1 -0
- package/dist/{backlink-CTu44BHn.js → backlink-BXAdgAte.js} +6 -6
- package/dist/{backlink-BsQ0Rmxj.cjs → backlink-C42-3OG3.cjs} +2 -2
- package/dist/{breadcrumbs-BNZ1L-0q.cjs → breadcrumbs-CkjeLh3U.cjs} +6 -6
- package/dist/{breadcrumbs-DPnoURvl.js → breadcrumbs-Dkb9TxMp.js} +15 -15
- package/dist/{button-ZYlrRRfu.js → button-CR-KWhTT.js} +21 -21
- package/dist/{button-DsGvcLIn.cjs → button-Dwv11n6R.cjs} +7 -7
- package/dist/{calendar-CDDVoUby.cjs → calendar-Buvxe4l_.cjs} +11 -11
- package/dist/{calendar-VOqO5um6.js → calendar-DAq6iJdx.js} +50 -50
- package/dist/{card-B4oDGIRP.js → card-5PydU247.js} +43 -43
- package/dist/{card-DZuZy0ay.cjs → card-C__IlsUa.cjs} +26 -26
- package/dist/{checkbox-CF5mSBR5.js → checkbox-CC1X7fw4.js} +23 -23
- package/dist/{checkbox-BerAYcfK.cjs → checkbox-DzMc0AJX.cjs} +10 -10
- package/dist/class-map-B8Ja0q7n.cjs +1 -0
- package/dist/{class-map-C8HuhNzZ.js → class-map-DH9hlJny.js} +7 -8
- package/dist/{combobox-BDYoPZmg.js → combobox-D-DY7YcW.js} +42 -42
- package/dist/{combobox-Ct9gCFa1.cjs → combobox-x4tBGP3F.cjs} +17 -17
- package/dist/components/heading/heading.d.ts +5 -8
- package/dist/{consent-BME_rQ2w.cjs → consent-BB3g_ByO.cjs} +3 -3
- package/dist/{consent-1IUuWZAh.js → consent-Y14WZ0JS.js} +8 -8
- package/dist/{datepicker-ByqXCpCd.cjs → datepicker-BFI-3stE.cjs} +20 -20
- package/dist/{datepicker-BGpoabCM.js → datepicker-CRk7aiwH.js} +57 -57
- package/dist/{directive-helpers-Dkv2gKgs.js → directive-helpers-Cep_4cpj.js} +1 -1
- package/dist/{directive-helpers-D1QSxY17.cjs → directive-helpers-f36YZFOG.cjs} +1 -1
- package/dist/docs/components/loader.d.ts +6 -0
- package/dist/element-CXAtr6Gu.cjs +2 -0
- package/dist/{element-cZ85T_aa.js → element-CduG0XyF.js} +47 -23
- package/dist/{element-with-slot-4J2o3SeU.js → element-with-slot-BVj9MXzi.js} +5 -6
- package/dist/element-with-slot-Cmxb9h4H.cjs +1 -0
- package/dist/{fileupload-B6W7qOQT.js → fileupload-C8muj8qd.js} +149 -149
- package/dist/{fileupload-a2OL3dzG.cjs → fileupload-YtsrgQTY.cjs} +40 -40
- package/dist/{header-BZFSan0_.cjs → header-CjBip0zj.cjs} +57 -57
- package/dist/{header-BgVpJMHQ.js → header-DONTGbD9.js} +130 -130
- package/dist/{header-menu-BXzVVOHq.js → header-menu-BU-ylGrJ.js} +45 -45
- package/dist/{header-menu-BLngov1D.cjs → header-menu-CnW7nzmF.cjs} +24 -24
- package/dist/heading-3o4Dk0Wn.js +80 -0
- package/dist/heading-C40-NX0r.cjs +1 -0
- package/dist/{helptext-BeU-enix.js → helptext-C2aQBBo_.js} +12 -12
- package/dist/{helptext-DWMFqMnV.cjs → helptext-DNLg43eI.cjs} +4 -4
- package/dist/icon-Dw6I0HDV.cjs +1 -0
- package/dist/{icon-CZQkrK6B.js → icon-LaKyBKON.js} +18 -19
- package/dist/if-defined-LTjAScFG.cjs +1 -0
- package/dist/{if-defined-Cjj8qN-Z.js → if-defined-VShASPdu.js} +1 -1
- package/dist/{input-element-D0egtEnr.cjs → input-element-BHQVt4Q9.cjs} +1 -1
- package/dist/{input-element-B1ciW1N2.js → input-element-BrmkXIXi.js} +30 -30
- package/dist/{input-wrapper-oYcbCFow.js → input-wrapper-B6WowlWG.js} +33 -33
- package/dist/{input-wrapper-Y98KV-sy.cjs → input-wrapper-Dhkt20WW.cjs} +17 -17
- package/dist/{link-BMMIjg50.cjs → link-B5ur0Rym.cjs} +4 -4
- package/dist/{link-CT0LB3S7.js → link-ClUNY__5.js} +13 -13
- package/dist/linkcard-BIcCW-qw.cjs +13 -0
- package/dist/{linkcard-Bz5zb69P.js → linkcard-DNJm5FvA.js} +15 -15
- package/dist/{listbox-0NHJvNjz.js → listbox-DXMIBv3y.js} +35 -35
- package/dist/{listbox-CcThiNBY.cjs → listbox-DbEobJNx.cjs} +14 -14
- package/dist/{loader-8T6M0FCQ.cjs → loader-Uap9qDsV.cjs} +5 -5
- package/dist/{loader-Cbrc4FFx.js → loader-gKdQpOOQ.js} +12 -12
- package/dist/{messagebox-C6LHT78_.cjs → messagebox-BqBxXK8c.cjs} +5 -5
- package/dist/{messagebox-TKKUVTo4.js → messagebox-XRFecqyS.js} +15 -15
- package/dist/{modal-BVHH8koz.js → modal-CWgeT-RP.js} +19 -19
- package/dist/{modal-CRzbtqL3.cjs → modal-CrYHKOmr.cjs} +8 -8
- package/dist/pkt-accordion.cjs +1 -1
- package/dist/pkt-accordion.js +1 -1
- package/dist/pkt-alert.cjs +1 -1
- package/dist/pkt-alert.js +1 -1
- package/dist/pkt-backlink.cjs +1 -1
- package/dist/pkt-backlink.js +1 -1
- package/dist/pkt-breadcrumbs.cjs +1 -1
- package/dist/pkt-breadcrumbs.js +1 -1
- package/dist/pkt-button.cjs +1 -1
- package/dist/pkt-button.js +1 -1
- package/dist/pkt-calendar.cjs +1 -1
- package/dist/pkt-calendar.js +1 -1
- package/dist/pkt-card.cjs +1 -1
- package/dist/pkt-card.js +1 -1
- package/dist/pkt-checkbox.cjs +1 -1
- package/dist/pkt-checkbox.js +1 -1
- package/dist/pkt-combobox.cjs +1 -1
- package/dist/pkt-combobox.js +1 -1
- package/dist/pkt-consent.cjs +1 -1
- package/dist/pkt-consent.js +1 -1
- package/dist/pkt-datepicker.cjs +1 -1
- package/dist/pkt-datepicker.js +1 -1
- package/dist/pkt-fileupload.cjs +1 -1
- package/dist/pkt-fileupload.js +1 -1
- package/dist/pkt-header-menu.cjs +1 -1
- package/dist/pkt-header-menu.js +1 -1
- package/dist/pkt-header.cjs +1 -1
- package/dist/pkt-header.js +1 -1
- package/dist/pkt-heading.cjs +1 -1
- package/dist/pkt-heading.js +1 -1
- package/dist/pkt-helptext.cjs +1 -1
- package/dist/pkt-helptext.js +1 -1
- package/dist/pkt-icon.cjs +1 -1
- package/dist/pkt-icon.js +1 -1
- package/dist/pkt-index.cjs +1 -1
- package/dist/pkt-index.js +32 -32
- package/dist/pkt-input-wrapper.cjs +1 -1
- package/dist/pkt-input-wrapper.js +1 -1
- package/dist/pkt-link.cjs +1 -1
- package/dist/pkt-link.js +1 -1
- package/dist/pkt-linkcard.cjs +1 -1
- package/dist/pkt-linkcard.js +1 -1
- package/dist/pkt-listbox.cjs +1 -1
- package/dist/pkt-listbox.js +1 -1
- package/dist/pkt-loader.cjs +1 -1
- package/dist/pkt-loader.js +1 -1
- package/dist/pkt-messagebox.cjs +1 -1
- package/dist/pkt-messagebox.js +1 -1
- package/dist/pkt-modal.cjs +1 -1
- package/dist/pkt-modal.js +1 -1
- package/dist/{pkt-options-controller-CCB15L_G.js → pkt-options-controller-BTNtjEIS.js} +1 -1
- package/dist/{pkt-options-controller-CeAQ-D-i.cjs → pkt-options-controller-CBM8xHwR.cjs} +1 -1
- package/dist/pkt-progressbar.cjs +1 -1
- package/dist/pkt-progressbar.js +1 -1
- package/dist/pkt-radiobutton.cjs +1 -1
- package/dist/pkt-radiobutton.js +1 -1
- package/dist/pkt-searchinput.cjs +1 -1
- package/dist/pkt-searchinput.js +1 -1
- package/dist/pkt-select.cjs +1 -1
- package/dist/pkt-select.js +1 -1
- package/dist/pkt-tabs.cjs +1 -1
- package/dist/pkt-tabs.js +1 -1
- package/dist/pkt-tag.cjs +1 -1
- package/dist/pkt-tag.js +1 -1
- package/dist/pkt-textarea.cjs +1 -1
- package/dist/pkt-textarea.js +1 -1
- package/dist/pkt-textinput.cjs +1 -1
- package/dist/pkt-textinput.js +1 -1
- package/dist/pkt-timepicker.cjs +1 -1
- package/dist/pkt-timepicker.js +1 -1
- package/dist/{progressbar-C-5oESiB.js → progressbar-B0P_vmGD.js} +23 -24
- package/dist/progressbar-DADdvDl5.cjs +17 -0
- package/dist/{radiobutton-B1Xg6XzP.cjs → radiobutton-BfURufrZ.cjs} +8 -8
- package/dist/{radiobutton-BAn1V_mQ.js → radiobutton-C6zERHoy.js} +20 -20
- package/dist/{ref-RS8Uv6uC.js → ref-BgoHEsEt.js} +7 -8
- package/dist/ref-CBdWMlde.cjs +1 -0
- package/dist/{repeat-DV1O43YU.js → repeat-CKIii8Mi.js} +15 -16
- package/dist/repeat-CRRgmzVn.cjs +1 -0
- package/dist/{searchinput-DUgZb_zm.cjs → searchinput-BrxfRzez.cjs} +13 -13
- package/dist/{searchinput-C9FP89qD.js → searchinput-fPvXHu2O.js} +31 -31
- package/dist/{select-DkKIW7zD.js → select-BIgFPp42.js} +13 -13
- package/dist/{select-DAs8kzN4.cjs → select-DzZHv6Bz.cjs} +3 -3
- package/dist/{tabs-ClI1XQDt.js → tabs-BJx6wwXD.js} +29 -29
- package/dist/{tabs-CN_RIMWg.cjs → tabs-DxQy8U-0.cjs} +7 -7
- package/dist/{tag-vgKH9B4k.cjs → tag-CBFz0R9N.cjs} +5 -5
- package/dist/{tag-DSZ-czu-.js → tag-CzlnHhho.js} +19 -19
- package/dist/textarea-M_S9WK7s.cjs +46 -0
- package/dist/{textarea-BfjI6d7Q.js → textarea-qHtkhelz.js} +24 -25
- package/dist/{textinput-DhoupEyI.js → textinput-CZrBM-Fj.js} +26 -26
- package/dist/{textinput-BM66vo5e.cjs → textinput-C_6kvf87.cjs} +12 -12
- package/dist/{timepicker-CtRGbypF.js → timepicker-O0iCeJyW.js} +51 -51
- package/dist/{timepicker-C4oRmmRd.cjs → timepicker-WiYLAncb.cjs} +20 -20
- package/package.json +2 -2
- package/src/components/card/card.ts +1 -1
- package/src/components/heading/heading.test.ts +79 -70
- package/src/components/heading/heading.ts +40 -78
- package/dist/async-directive-B9P1Qa0k.cjs +0 -1
- package/dist/class-map-CJ-msbHs.cjs +0 -1
- package/dist/directive-3THFsVew.js +0 -28
- package/dist/directive-CJ2giQBZ.cjs +0 -1
- package/dist/element-DjtxO-1r.cjs +0 -2
- package/dist/element-with-slot-CWoTGA1B.cjs +0 -1
- package/dist/heading-BxvE80bb.js +0 -73
- package/dist/heading-DRJTS27k.cjs +0 -1
- package/dist/icon-PbaC9uUg.cjs +0 -1
- package/dist/if-defined-XKOD_t_V.cjs +0 -1
- package/dist/linkcard-CupEMkvj.cjs +0 -13
- package/dist/progressbar-C0g830Tk.cjs +0 -17
- package/dist/ref-BaJ0mBT_.cjs +0 -1
- package/dist/repeat-DaDFvx86.cjs +0 -1
- package/dist/textarea-C7YiheLo.cjs +0 -46
- /package/dist/{booleanish-CRaKZ75t.js → booleanish-BmcOU-43.js} +0 -0
- /package/dist/{booleanish-B5EFqFpJ.cjs → booleanish-jJLlnr6-.cjs} +0 -0
- /package/dist/{classutils-z8YsPlOf.cjs → classutils-CVTzKF0J.cjs} +0 -0
- /package/dist/{classutils-DEL164Ur.js → classutils-lVbGcvjN.js} +0 -0
- /package/dist/{converters-Bffq_YDm.cjs → converters-C_66kHUN.cjs} +0 -0
- /package/dist/{converters-jauYkvNh.js → converters-DSQXaDQ_.js} +0 -0
- /package/dist/{dialog-polyfill.esm-B7W3teD0.js → dialog-polyfill.esm-0dVT8G1o.js} +0 -0
- /package/dist/{dialog-polyfill.esm-BnAQvMQO.cjs → dialog-polyfill.esm-CYs2AHP1.cjs} +0 -0
- /package/dist/{focus-modality-controller-pzSZkDkH.js → focus-modality-controller-CaUqYdk0.js} +0 -0
- /package/dist/{focus-modality-controller-BSZAQk8y.cjs → focus-modality-controller-wI5SR8wH.cjs} +0 -0
- /package/dist/{input-wrapper-CQGoyLdZ.cjs → input-wrapper-CYCCx8MP.cjs} +0 -0
- /package/dist/{input-wrapper-DwSsP39J.js → input-wrapper-kw2y6Jp_.js} +0 -0
- /package/dist/{utils-BOOZ0ppt.js → utils-CUqCKGvp.js} +0 -0
- /package/dist/{utils-CM67Oudc.cjs → utils-CjAbIttF.cjs} +0 -0
|
@@ -22,6 +22,9 @@ const createHeading = async (headingProps = '', content = 'Test Heading') => {
|
|
|
22
22
|
return container
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
+
const innerHeading = (host: PktHeading): HTMLHeadingElement | null =>
|
|
26
|
+
host.querySelector('h1, h2, h3, h4, h5, h6')
|
|
27
|
+
|
|
25
28
|
// Cleanup after each test
|
|
26
29
|
afterEach(() => {
|
|
27
30
|
document.body.innerHTML = ''
|
|
@@ -34,7 +37,7 @@ describe('PktHeading', () => {
|
|
|
34
37
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
35
38
|
|
|
36
39
|
expect(heading).toBeInTheDocument()
|
|
37
|
-
expect(heading.shadowRoot).
|
|
40
|
+
expect(heading.shadowRoot).toBeNull()
|
|
38
41
|
})
|
|
39
42
|
|
|
40
43
|
test('renders with default properties', async () => {
|
|
@@ -47,19 +50,33 @@ describe('PktHeading', () => {
|
|
|
47
50
|
expect(heading.align).toBe(undefined)
|
|
48
51
|
})
|
|
49
52
|
|
|
50
|
-
test('renders content
|
|
53
|
+
test('renders content inside a semantic heading element', async () => {
|
|
51
54
|
const container = await createHeading('', 'Custom Heading Text')
|
|
52
55
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
53
56
|
await heading.updateComplete
|
|
54
57
|
|
|
55
|
-
const
|
|
56
|
-
expect(
|
|
57
|
-
expect(
|
|
58
|
+
const inner = innerHeading(heading)
|
|
59
|
+
expect(inner).toBeInTheDocument()
|
|
60
|
+
expect(inner?.tagName).toBe('H2')
|
|
61
|
+
expect(inner?.textContent).toContain('Custom Heading Text')
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
test('uses the matching h-tag for the given level', async () => {
|
|
65
|
+
const levels: TPktHeadingLevel[] = [1, 2, 3, 4, 5, 6]
|
|
66
|
+
|
|
67
|
+
for (const level of levels) {
|
|
68
|
+
const container = await createHeading(`level="${level}"`)
|
|
69
|
+
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
70
|
+
await heading.updateComplete
|
|
71
|
+
|
|
72
|
+
expect(innerHeading(heading)?.tagName).toBe(`H${level}`)
|
|
73
|
+
document.body.innerHTML = ''
|
|
74
|
+
}
|
|
58
75
|
})
|
|
59
76
|
})
|
|
60
77
|
|
|
61
78
|
describe('Properties and attributes', () => {
|
|
62
|
-
test('applies default
|
|
79
|
+
test('applies default reflected attributes correctly', async () => {
|
|
63
80
|
const container = await createHeading()
|
|
64
81
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
65
82
|
await heading.updateComplete
|
|
@@ -104,7 +121,7 @@ describe('PktHeading', () => {
|
|
|
104
121
|
await heading.updateComplete
|
|
105
122
|
|
|
106
123
|
expect(heading.visuallyHidden).toBe(true)
|
|
107
|
-
expect(heading.hasAttribute('
|
|
124
|
+
expect(heading.hasAttribute('visuallyhidden')).toBe(true)
|
|
108
125
|
})
|
|
109
126
|
|
|
110
127
|
test('sets align property correctly', async () => {
|
|
@@ -123,17 +140,16 @@ describe('PktHeading', () => {
|
|
|
123
140
|
})
|
|
124
141
|
|
|
125
142
|
describe('CSS classes and styling', () => {
|
|
126
|
-
test('applies
|
|
143
|
+
test('applies pkt-heading class to the inner heading element, not the host', async () => {
|
|
127
144
|
const container = await createHeading()
|
|
128
145
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
129
146
|
await heading.updateComplete
|
|
130
147
|
|
|
131
|
-
expect(heading.classList.contains('pkt-heading')).toBe(
|
|
132
|
-
expect(heading
|
|
133
|
-
expect(heading.classList.contains('pkt-heading--start')).toBe(false)
|
|
148
|
+
expect(heading.classList.contains('pkt-heading')).toBe(false)
|
|
149
|
+
expect(innerHeading(heading)?.classList.contains('pkt-heading')).toBe(true)
|
|
134
150
|
})
|
|
135
151
|
|
|
136
|
-
test('applies size-specific
|
|
152
|
+
test('applies size-specific class to the inner heading', async () => {
|
|
137
153
|
const sizes: TPktHeadingSize[] = ['xsmall', 'small', 'medium', 'large', 'xlarge']
|
|
138
154
|
|
|
139
155
|
for (const size of sizes) {
|
|
@@ -141,20 +157,20 @@ describe('PktHeading', () => {
|
|
|
141
157
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
142
158
|
await heading.updateComplete
|
|
143
159
|
|
|
144
|
-
expect(heading
|
|
160
|
+
expect(innerHeading(heading)?.classList.contains(`pkt-heading--${size}`)).toBe(true)
|
|
145
161
|
document.body.innerHTML = ''
|
|
146
162
|
}
|
|
147
163
|
})
|
|
148
164
|
|
|
149
|
-
test('applies visually hidden class when enabled', async () => {
|
|
165
|
+
test('applies visually hidden class to the inner heading when enabled', async () => {
|
|
150
166
|
const container = await createHeading('visuallyHidden="true"')
|
|
151
167
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
152
168
|
await heading.updateComplete
|
|
153
169
|
|
|
154
|
-
expect(heading
|
|
170
|
+
expect(innerHeading(heading)?.classList.contains('pkt-sr-only')).toBe(true)
|
|
155
171
|
})
|
|
156
172
|
|
|
157
|
-
test('applies alignment-specific
|
|
173
|
+
test('applies alignment-specific class to the inner heading', async () => {
|
|
158
174
|
const alignments = ['start', 'center', 'end'] as const
|
|
159
175
|
|
|
160
176
|
for (const align of alignments) {
|
|
@@ -162,7 +178,7 @@ describe('PktHeading', () => {
|
|
|
162
178
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
163
179
|
await heading.updateComplete
|
|
164
180
|
|
|
165
|
-
expect(heading
|
|
181
|
+
expect(innerHeading(heading)?.classList.contains(`pkt-heading--${align}`)).toBe(true)
|
|
166
182
|
document.body.innerHTML = ''
|
|
167
183
|
}
|
|
168
184
|
})
|
|
@@ -172,55 +188,47 @@ describe('PktHeading', () => {
|
|
|
172
188
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
173
189
|
await heading.updateComplete
|
|
174
190
|
|
|
175
|
-
expect(heading
|
|
176
|
-
expect(heading
|
|
191
|
+
expect(innerHeading(heading)?.classList.contains('pkt-heading--small')).toBe(true)
|
|
192
|
+
expect(innerHeading(heading)?.classList.contains('pkt-heading--center')).toBe(true)
|
|
177
193
|
|
|
178
|
-
// Change properties
|
|
179
194
|
heading.size = 'large'
|
|
180
195
|
heading.align = 'end'
|
|
181
196
|
await heading.updateComplete
|
|
182
197
|
|
|
183
|
-
expect(heading
|
|
184
|
-
expect(heading
|
|
185
|
-
expect(heading
|
|
186
|
-
expect(heading
|
|
198
|
+
expect(innerHeading(heading)?.classList.contains('pkt-heading--small')).toBe(false)
|
|
199
|
+
expect(innerHeading(heading)?.classList.contains('pkt-heading--center')).toBe(false)
|
|
200
|
+
expect(innerHeading(heading)?.classList.contains('pkt-heading--large')).toBe(true)
|
|
201
|
+
expect(innerHeading(heading)?.classList.contains('pkt-heading--end')).toBe(true)
|
|
187
202
|
})
|
|
188
203
|
})
|
|
189
204
|
|
|
190
|
-
describe('
|
|
191
|
-
test('
|
|
192
|
-
const container = await createHeading('level="
|
|
193
|
-
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
194
|
-
await heading.updateComplete
|
|
195
|
-
|
|
196
|
-
expect(heading.getAttribute('role')).toBe('heading')
|
|
197
|
-
expect(heading.getAttribute('aria-level')).toBe('3')
|
|
198
|
-
})
|
|
199
|
-
|
|
200
|
-
test('updates aria-level when level property changes', async () => {
|
|
201
|
-
const container = await createHeading('level="2"')
|
|
205
|
+
describe('Dynamic level changes', () => {
|
|
206
|
+
test('swaps the inner heading tag when the level changes via property', async () => {
|
|
207
|
+
const container = await createHeading('level="2"', 'Dynamic')
|
|
202
208
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
203
209
|
await heading.updateComplete
|
|
204
210
|
|
|
205
|
-
expect(heading
|
|
211
|
+
expect(innerHeading(heading)?.tagName).toBe('H2')
|
|
212
|
+
expect(innerHeading(heading)?.textContent).toContain('Dynamic')
|
|
206
213
|
|
|
207
214
|
heading.level = 4
|
|
208
215
|
await heading.updateComplete
|
|
209
216
|
|
|
210
|
-
expect(heading
|
|
217
|
+
expect(innerHeading(heading)?.tagName).toBe('H4')
|
|
218
|
+
expect(innerHeading(heading)?.textContent).toContain('Dynamic')
|
|
211
219
|
})
|
|
212
220
|
|
|
213
|
-
test('
|
|
221
|
+
test('swaps the inner heading tag when the level attribute changes', async () => {
|
|
214
222
|
const container = await createHeading('level="1"')
|
|
215
223
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
216
224
|
await heading.updateComplete
|
|
217
225
|
|
|
218
|
-
expect(heading
|
|
226
|
+
expect(innerHeading(heading)?.tagName).toBe('H1')
|
|
219
227
|
|
|
220
228
|
heading.setAttribute('level', '5')
|
|
221
229
|
await heading.updateComplete
|
|
222
230
|
|
|
223
|
-
expect(heading
|
|
231
|
+
expect(innerHeading(heading)?.tagName).toBe('H5')
|
|
224
232
|
expect(heading.level).toBe(5)
|
|
225
233
|
})
|
|
226
234
|
})
|
|
@@ -235,28 +243,27 @@ describe('PktHeading', () => {
|
|
|
235
243
|
await heading.updateComplete
|
|
236
244
|
|
|
237
245
|
expect(heading.level).toBe(level)
|
|
238
|
-
expect(heading
|
|
246
|
+
expect(innerHeading(heading)?.tagName).toBe(`H${level}`)
|
|
239
247
|
document.body.innerHTML = ''
|
|
240
248
|
}
|
|
241
249
|
})
|
|
242
250
|
|
|
243
|
-
test('
|
|
251
|
+
test('warns and falls back to h2 for invalid levels', async () => {
|
|
244
252
|
const consoleSpy = vi.spyOn(console, 'warn').mockImplementation(() => {})
|
|
245
253
|
|
|
246
254
|
const container = await createHeading()
|
|
247
255
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
248
256
|
await heading.updateComplete
|
|
249
257
|
|
|
250
|
-
// Test invalid level via property
|
|
251
258
|
heading.level = 0 as TPktHeadingLevel
|
|
252
259
|
await heading.updateComplete
|
|
253
|
-
|
|
254
260
|
expect(consoleSpy).toHaveBeenCalledWith('Invalid heading level: 0. Must be between 1 and 6.')
|
|
261
|
+
expect(innerHeading(heading)?.tagName).toBe('H2')
|
|
255
262
|
|
|
256
263
|
heading.level = 7 as TPktHeadingLevel
|
|
257
264
|
await heading.updateComplete
|
|
258
|
-
|
|
259
265
|
expect(consoleSpy).toHaveBeenCalledWith('Invalid heading level: 7. Must be between 1 and 6.')
|
|
266
|
+
expect(innerHeading(heading)?.tagName).toBe('H2')
|
|
260
267
|
|
|
261
268
|
consoleSpy.mockRestore()
|
|
262
269
|
})
|
|
@@ -268,13 +275,13 @@ describe('PktHeading', () => {
|
|
|
268
275
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
269
276
|
await heading.updateComplete
|
|
270
277
|
|
|
271
|
-
expect(heading
|
|
278
|
+
expect(innerHeading(heading)?.classList.contains('pkt-heading--small')).toBe(true)
|
|
272
279
|
|
|
273
280
|
heading.size = 'xlarge'
|
|
274
281
|
await heading.updateComplete
|
|
275
282
|
|
|
276
|
-
expect(heading
|
|
277
|
-
expect(heading
|
|
283
|
+
expect(innerHeading(heading)?.classList.contains('pkt-heading--small')).toBe(false)
|
|
284
|
+
expect(innerHeading(heading)?.classList.contains('pkt-heading--xlarge')).toBe(true)
|
|
278
285
|
})
|
|
279
286
|
|
|
280
287
|
test('updates classes when visuallyHidden property changes', async () => {
|
|
@@ -282,12 +289,12 @@ describe('PktHeading', () => {
|
|
|
282
289
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
283
290
|
await heading.updateComplete
|
|
284
291
|
|
|
285
|
-
expect(heading
|
|
292
|
+
expect(innerHeading(heading)?.classList.contains('pkt-sr-only')).toBe(false)
|
|
286
293
|
|
|
287
294
|
heading.visuallyHidden = true
|
|
288
295
|
await heading.updateComplete
|
|
289
296
|
|
|
290
|
-
expect(heading
|
|
297
|
+
expect(innerHeading(heading)?.classList.contains('pkt-sr-only')).toBe(true)
|
|
291
298
|
})
|
|
292
299
|
|
|
293
300
|
test('updates classes when align property changes', async () => {
|
|
@@ -295,34 +302,37 @@ describe('PktHeading', () => {
|
|
|
295
302
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
296
303
|
await heading.updateComplete
|
|
297
304
|
|
|
298
|
-
expect(heading
|
|
305
|
+
expect(innerHeading(heading)?.classList.contains('pkt-heading--start')).toBe(true)
|
|
299
306
|
|
|
300
307
|
heading.align = 'center'
|
|
301
308
|
await heading.updateComplete
|
|
302
309
|
|
|
303
|
-
expect(heading
|
|
304
|
-
expect(heading
|
|
310
|
+
expect(innerHeading(heading)?.classList.contains('pkt-heading--start')).toBe(false)
|
|
311
|
+
expect(innerHeading(heading)?.classList.contains('pkt-heading--center')).toBe(true)
|
|
305
312
|
})
|
|
306
313
|
})
|
|
307
314
|
|
|
308
315
|
describe('Content rendering', () => {
|
|
309
|
-
test('renders simple text content', async () => {
|
|
316
|
+
test('renders simple text content inside the h-tag', async () => {
|
|
310
317
|
const container = await createHeading('', 'Simple Heading')
|
|
311
318
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
319
|
+
await heading.updateComplete
|
|
312
320
|
|
|
313
|
-
expect(heading
|
|
321
|
+
expect(innerHeading(heading)?.textContent).toContain('Simple Heading')
|
|
314
322
|
})
|
|
315
323
|
|
|
316
|
-
test('renders HTML content
|
|
324
|
+
test('renders nested HTML content inside the h-tag', async () => {
|
|
317
325
|
const container = await createHeading('', '<strong>Bold</strong> heading')
|
|
318
326
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
327
|
+
await heading.updateComplete
|
|
319
328
|
|
|
320
|
-
|
|
321
|
-
expect(
|
|
322
|
-
expect(
|
|
329
|
+
const inner = innerHeading(heading)
|
|
330
|
+
expect(inner?.querySelector('strong')).toBeInTheDocument()
|
|
331
|
+
expect(inner?.textContent).toContain('Bold')
|
|
332
|
+
expect(inner?.textContent).toContain('heading')
|
|
323
333
|
})
|
|
324
334
|
|
|
325
|
-
test('renders multiple child elements', async () => {
|
|
335
|
+
test('renders multiple child elements inside the h-tag', async () => {
|
|
326
336
|
const container = document.createElement('div')
|
|
327
337
|
container.innerHTML = `
|
|
328
338
|
<pkt-heading>
|
|
@@ -336,10 +346,11 @@ describe('PktHeading', () => {
|
|
|
336
346
|
const heading = container.querySelector('pkt-heading') as PktHeading
|
|
337
347
|
await heading.updateComplete
|
|
338
348
|
|
|
339
|
-
|
|
340
|
-
expect(
|
|
341
|
-
expect(
|
|
342
|
-
expect(
|
|
349
|
+
const inner = innerHeading(heading)
|
|
350
|
+
expect(inner?.querySelector('span')).toBeInTheDocument()
|
|
351
|
+
expect(inner?.querySelector('em')).toBeInTheDocument()
|
|
352
|
+
expect(inner?.textContent).toContain('Part 1')
|
|
353
|
+
expect(inner?.textContent).toContain('Part 2')
|
|
343
354
|
})
|
|
344
355
|
})
|
|
345
356
|
|
|
@@ -423,11 +434,11 @@ describe('PktHeading', () => {
|
|
|
423
434
|
await Promise.all([...headings].map((h) => h.updateComplete))
|
|
424
435
|
|
|
425
436
|
expect(headings[0].level).toBe(1)
|
|
426
|
-
expect(headings[0]
|
|
437
|
+
expect(innerHeading(headings[0])?.tagName).toBe('H1')
|
|
427
438
|
expect(headings[1].level).toBe(2)
|
|
428
|
-
expect(headings[1]
|
|
439
|
+
expect(innerHeading(headings[1])?.tagName).toBe('H2')
|
|
429
440
|
expect(headings[2].level).toBe(3)
|
|
430
|
-
expect(headings[2]
|
|
441
|
+
expect(innerHeading(headings[2])?.tagName).toBe('H3')
|
|
431
442
|
})
|
|
432
443
|
|
|
433
444
|
test('maintains independence between multiple instances', async () => {
|
|
@@ -443,12 +454,10 @@ describe('PktHeading', () => {
|
|
|
443
454
|
const heading2 = container.querySelector('#h2') as PktHeading
|
|
444
455
|
await Promise.all([heading1.updateComplete, heading2.updateComplete])
|
|
445
456
|
|
|
446
|
-
// Change properties on first heading
|
|
447
457
|
heading1.size = 'xlarge'
|
|
448
458
|
heading1.align = 'center'
|
|
449
459
|
await heading1.updateComplete
|
|
450
460
|
|
|
451
|
-
// Verify second heading is unaffected
|
|
452
461
|
expect(heading2.size).toBe('small')
|
|
453
462
|
expect(heading2.align).toBe(undefined)
|
|
454
463
|
expect(heading1.size).toBe('xlarge')
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { PktElementWithSlot } from '@/base-elements/element-with-slot'
|
|
2
|
+
import { slotContent } from '@/directives/slot-content'
|
|
3
|
+
import { html, PropertyValues, TemplateResult } from 'lit'
|
|
3
4
|
import { customElement, property } from 'lit/decorators.js'
|
|
4
5
|
import type { THeadingLevel, THeadingSize, THeadingWeight } from 'shared-types'
|
|
5
6
|
|
|
@@ -15,7 +16,7 @@ export interface IPktHeading {
|
|
|
15
16
|
align?: 'start' | 'center' | 'end'
|
|
16
17
|
}
|
|
17
18
|
|
|
18
|
-
export class PktHeading extends
|
|
19
|
+
export class PktHeading extends PktElementWithSlot<IPktHeading> implements IPktHeading {
|
|
19
20
|
@property({ type: String, reflect: true }) size: TPktHeadingSize | undefined = undefined
|
|
20
21
|
@property({ type: Number, reflect: true }) level: TPktHeadingLevel = 2
|
|
21
22
|
@property({ type: String, reflect: true }) weight: TPktHeadingWeight | undefined = undefined
|
|
@@ -23,32 +24,13 @@ export class PktHeading extends PktShadowElement<IPktHeading> implements IPktHea
|
|
|
23
24
|
@property({ type: String, reflect: true }) align: 'start' | 'center' | 'end' | undefined =
|
|
24
25
|
undefined
|
|
25
26
|
|
|
26
|
-
connectedCallback(): void {
|
|
27
|
-
super.connectedCallback()
|
|
28
|
-
this.setAttribute('role', 'heading')
|
|
29
|
-
this.setAttribute('aria-level', String(this.level))
|
|
30
|
-
|
|
31
|
-
this.updateHostClasses()
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
attributeChangedCallback(name: string, _old: string | null, value: string | null): void {
|
|
35
|
-
super.attributeChangedCallback(name, _old, value)
|
|
36
|
-
if (name === 'level' && value) {
|
|
37
|
-
this.setLevel(Number(value) as TPktHeadingLevel)
|
|
38
|
-
}
|
|
39
|
-
if (name === 'visuallyHidden') {
|
|
40
|
-
this.visuallyHidden = value !== null && value !== 'false'
|
|
41
|
-
}
|
|
42
|
-
if (name === 'size' || name === 'visuallyHidden' || name === 'align' || name === 'weight') {
|
|
43
|
-
this.updateHostClasses()
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
27
|
protected updated(_changedProperties: PropertyValues): void {
|
|
48
28
|
super.updated(_changedProperties)
|
|
49
|
-
if (_changedProperties.has('level')) {
|
|
50
|
-
this.setLevel(this.level)
|
|
51
29
|
|
|
30
|
+
if (_changedProperties.has('level')) {
|
|
31
|
+
if (this.level < 1 || this.level > 6) {
|
|
32
|
+
console.warn(`Invalid heading level: ${this.level}. Must be between 1 and 6.`)
|
|
33
|
+
}
|
|
52
34
|
if (!this.hasAttribute('size')) {
|
|
53
35
|
this.size = this.defaultSizeForLevel
|
|
54
36
|
}
|
|
@@ -56,29 +38,9 @@ export class PktHeading extends PktShadowElement<IPktHeading> implements IPktHea
|
|
|
56
38
|
this.weight = this.defaultWeightForLevel
|
|
57
39
|
}
|
|
58
40
|
}
|
|
59
|
-
if (
|
|
60
|
-
!this.hasAttribute('size') &&
|
|
61
|
-
(_changedProperties.has('level') || this.size === undefined)
|
|
62
|
-
) {
|
|
63
|
-
this.size = this.defaultSizeForLevel
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (
|
|
67
|
-
_changedProperties.has('size') ||
|
|
68
|
-
_changedProperties.has('visuallyHidden') ||
|
|
69
|
-
_changedProperties.has('align') ||
|
|
70
|
-
_changedProperties.has('weight')
|
|
71
|
-
) {
|
|
72
|
-
this.updateHostClasses()
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
41
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
this.level = level
|
|
79
|
-
this.setAttribute('aria-level', String(level))
|
|
80
|
-
} else {
|
|
81
|
-
console.warn(`Invalid heading level: ${level}. Must be between 1 and 6.`)
|
|
42
|
+
if (!this.hasAttribute('size') && this.size === undefined) {
|
|
43
|
+
this.size = this.defaultSizeForLevel
|
|
82
44
|
}
|
|
83
45
|
}
|
|
84
46
|
|
|
@@ -93,7 +55,6 @@ export class PktHeading extends PktShadowElement<IPktHeading> implements IPktHea
|
|
|
93
55
|
case 4:
|
|
94
56
|
return 'small'
|
|
95
57
|
case 5:
|
|
96
|
-
return 'xsmall'
|
|
97
58
|
case 6:
|
|
98
59
|
return 'xsmall'
|
|
99
60
|
default:
|
|
@@ -104,15 +65,11 @@ export class PktHeading extends PktShadowElement<IPktHeading> implements IPktHea
|
|
|
104
65
|
private get defaultWeightForLevel(): TPktHeadingWeight {
|
|
105
66
|
switch (this.level) {
|
|
106
67
|
case 1:
|
|
107
|
-
return 'regular'
|
|
108
68
|
case 2:
|
|
109
69
|
return 'regular'
|
|
110
70
|
case 3:
|
|
111
|
-
return 'medium'
|
|
112
71
|
case 4:
|
|
113
|
-
return 'medium'
|
|
114
72
|
case 5:
|
|
115
|
-
return 'medium'
|
|
116
73
|
case 6:
|
|
117
74
|
return 'medium'
|
|
118
75
|
default:
|
|
@@ -120,34 +77,39 @@ export class PktHeading extends PktShadowElement<IPktHeading> implements IPktHea
|
|
|
120
77
|
}
|
|
121
78
|
}
|
|
122
79
|
|
|
123
|
-
private
|
|
124
|
-
|
|
125
|
-
this.classList.remove(
|
|
80
|
+
private get headingClasses(): string {
|
|
81
|
+
return [
|
|
126
82
|
'pkt-heading',
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
'pkt-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
'
|
|
134
|
-
'pkt-heading--center',
|
|
135
|
-
'pkt-heading--end',
|
|
136
|
-
'pkt-heading--light',
|
|
137
|
-
'pkt-heading--regular',
|
|
138
|
-
'pkt-heading--medium',
|
|
139
|
-
'pkt-heading--bold',
|
|
140
|
-
)
|
|
141
|
-
// Add current classes
|
|
142
|
-
this.classList.add('pkt-heading')
|
|
143
|
-
if (this.size) this.classList.add(`pkt-heading--${this.size}`)
|
|
144
|
-
if (this.weight) this.classList.add(`pkt-heading--fw-${this.weight}`)
|
|
145
|
-
if (this.visuallyHidden) this.classList.add('pkt-sr-only')
|
|
146
|
-
if (this.align) this.classList.add(`pkt-heading--${this.align}`)
|
|
83
|
+
this.size && `pkt-heading--${this.size}`,
|
|
84
|
+
this.weight && `pkt-heading--fw-${this.weight}`,
|
|
85
|
+
this.visuallyHidden && 'pkt-sr-only',
|
|
86
|
+
this.align && `pkt-heading--${this.align}`,
|
|
87
|
+
]
|
|
88
|
+
.filter(Boolean)
|
|
89
|
+
.join(' ')
|
|
147
90
|
}
|
|
148
91
|
|
|
149
|
-
render() {
|
|
150
|
-
|
|
92
|
+
render(): TemplateResult {
|
|
93
|
+
const classes = this.headingClasses
|
|
94
|
+
const content = slotContent(this)
|
|
95
|
+
const safeLevel = this.level >= 1 && this.level <= 6 ? this.level : 2
|
|
96
|
+
|
|
97
|
+
switch (safeLevel) {
|
|
98
|
+
case 1:
|
|
99
|
+
return html`<h1 class=${classes}>${content}</h1>`
|
|
100
|
+
case 2:
|
|
101
|
+
return html`<h2 class=${classes}>${content}</h2>`
|
|
102
|
+
case 3:
|
|
103
|
+
return html`<h3 class=${classes}>${content}</h3>`
|
|
104
|
+
case 4:
|
|
105
|
+
return html`<h4 class=${classes}>${content}</h4>`
|
|
106
|
+
case 5:
|
|
107
|
+
return html`<h5 class=${classes}>${content}</h5>`
|
|
108
|
+
case 6:
|
|
109
|
+
return html`<h6 class=${classes}>${content}</h6>`
|
|
110
|
+
default:
|
|
111
|
+
return html`<h2 class=${classes}>${content}</h2>`
|
|
112
|
+
}
|
|
151
113
|
}
|
|
152
114
|
}
|
|
153
115
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require(`./directive-CJ2giQBZ.cjs`),t=require(`./directive-helpers-D1QSxY17.cjs`);var n=(e,t)=>{let r=e._$AN;if(r===void 0)return!1;for(let e of r)e._$AO?.(t,!1),n(e,t);return!0},r=e=>{let t,n;do{if((t=e._$AM)===void 0)break;n=t._$AN,n.delete(e),e=t}while(n?.size===0)},i=e=>{for(let t;t=e._$AM;e=t){let n=t._$AN;if(n===void 0)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),s(t)}};function a(e){this._$AN===void 0?this._$AM=e:(r(this),this._$AM=e,i(this))}function o(e,t=!1,i=0){let a=this._$AH,o=this._$AN;if(o!==void 0&&o.size!==0)if(t)if(Array.isArray(a))for(let e=i;e<a.length;e++)n(a[e],!1),r(a[e]);else a!=null&&(n(a,!1),r(a));else n(this,e)}var s=t=>{t.type==e.r.CHILD&&(t._$AP??=o,t._$AQ??=a)},c=class extends e.n{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,n){super._$AT(e,t,n),i(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(n(this,e),r(this))}setValue(e){if(t.i(this._$Ct))this._$Ct._$AI(e,this);else{let t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return c}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require(`./element-DjtxO-1r.cjs`),t=require(`./directive-CJ2giQBZ.cjs`);var n=t.t(class extends t.n{constructor(e){if(super(e),e.type!==t.r.ATTRIBUTE||e.name!==`class`||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return` `+Object.keys(e).filter(t=>e[t]).join(` `)+` `}update(t,[n]){if(this.st===void 0){this.st=new Set,t.strings!==void 0&&(this.nt=new Set(t.strings.join(` `).split(/\s/).filter(e=>e!==``)));for(let e in n)n[e]&&!this.nt?.has(e)&&this.st.add(e);return this.render(n)}let r=t.element.classList;for(let e of this.st)e in n||(r.remove(e),this.st.delete(e));for(let e in n){let t=!!n[e];t===this.st.has(e)||this.nt?.has(e)||(t?(r.add(e),this.st.add(e)):(r.remove(e),this.st.delete(e)))}return e.u}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
//#region ../../node_modules/lit-html/directive.js
|
|
2
|
-
var e = {
|
|
3
|
-
ATTRIBUTE: 1,
|
|
4
|
-
CHILD: 2,
|
|
5
|
-
PROPERTY: 3,
|
|
6
|
-
BOOLEAN_ATTRIBUTE: 4,
|
|
7
|
-
EVENT: 5,
|
|
8
|
-
ELEMENT: 6
|
|
9
|
-
}, t = (e) => (...t) => ({
|
|
10
|
-
_$litDirective$: e,
|
|
11
|
-
values: t
|
|
12
|
-
}), n = class {
|
|
13
|
-
constructor(e) {}
|
|
14
|
-
get _$AU() {
|
|
15
|
-
return this._$AM._$AU;
|
|
16
|
-
}
|
|
17
|
-
_$AT(e, t, n) {
|
|
18
|
-
this._$Ct = e, this._$AM = t, this._$Ci = n;
|
|
19
|
-
}
|
|
20
|
-
_$AS(e, t) {
|
|
21
|
-
return this.update(e, t);
|
|
22
|
-
}
|
|
23
|
-
update(e, t) {
|
|
24
|
-
return this.render(...t);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
//#endregion
|
|
28
|
-
export { n, e as r, t };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},t=e=>(...t)=>({_$litDirective$:e,values:t}),n=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e=globalThis,t=e=>e,n=e.trustedTypes,r=n?n.createPolicy(`lit-html`,{createHTML:e=>e}):void 0,i=`$lit$`,a=`lit$${Math.random().toFixed(9).slice(2)}$`,o=`?`+a,s=`<${o}>`,c=document,l=()=>c.createComment(``),u=e=>e===null||typeof e!=`object`&&typeof e!=`function`,d=Array.isArray,f=e=>d(e)||typeof e?.[Symbol.iterator]==`function`,p=`[
|
|
2
|
-
\f\r]`,m=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,h=/-->/g,g=/>/g,_=RegExp(`>|${p}(?:([^\\s"'>=/]+)(${p}*=${p}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,`g`),v=/'/g,y=/"/g,b=/^(?:script|style|textarea|title)$/i,x=(e=>(t,...n)=>({_$litType$:e,strings:t,values:n}))(1),S=Symbol.for(`lit-noChange`),C=Symbol.for(`lit-nothing`),w=new WeakMap,T=c.createTreeWalker(c,129);function E(e,t){if(!d(e)||!e.hasOwnProperty(`raw`))throw Error(`invalid template strings array`);return r===void 0?t:r.createHTML(t)}var D=(e,t)=>{let n=e.length-1,r=[],o,c=t===2?`<svg>`:t===3?`<math>`:``,l=m;for(let t=0;t<n;t++){let n=e[t],u,d,f=-1,p=0;for(;p<n.length&&(l.lastIndex=p,d=l.exec(n),d!==null);)p=l.lastIndex,l===m?d[1]===`!--`?l=h:d[1]===void 0?d[2]===void 0?d[3]!==void 0&&(l=_):(b.test(d[2])&&(o=RegExp(`</`+d[2],`g`)),l=_):l=g:l===_?d[0]===`>`?(l=o??m,f=-1):d[1]===void 0?f=-2:(f=l.lastIndex-d[2].length,u=d[1],l=d[3]===void 0?_:d[3]===`"`?y:v):l===y||l===v?l=_:l===h||l===g?l=m:(l=_,o=void 0);let x=l===_&&e[t+1].startsWith(`/>`)?` `:``;c+=l===m?n+s:f>=0?(r.push(u),n.slice(0,f)+i+n.slice(f)+a+x):n+a+(f===-2?t:x)}return[E(e,c+(e[n]||`<?>`)+(t===2?`</svg>`:t===3?`</math>`:``)),r]},O=class e{constructor({strings:t,_$litType$:r},s){let c;this.parts=[];let u=0,d=0,f=t.length-1,p=this.parts,[m,h]=D(t,r);if(this.el=e.createElement(m,s),T.currentNode=this.el.content,r===2||r===3){let e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;(c=T.nextNode())!==null&&p.length<f;){if(c.nodeType===1){if(c.hasAttributes())for(let e of c.getAttributeNames())if(e.endsWith(i)){let t=h[d++],n=c.getAttribute(e).split(a),r=/([.?@])?(.*)/.exec(t);p.push({type:1,index:u,name:r[2],strings:n,ctor:r[1]===`.`?N:r[1]===`?`?P:r[1]===`@`?F:M}),c.removeAttribute(e)}else e.startsWith(a)&&(p.push({type:6,index:u}),c.removeAttribute(e));if(b.test(c.tagName)){let e=c.textContent.split(a),t=e.length-1;if(t>0){c.textContent=n?n.emptyScript:``;for(let n=0;n<t;n++)c.append(e[n],l()),T.nextNode(),p.push({type:2,index:++u});c.append(e[t],l())}}}else if(c.nodeType===8)if(c.data===o)p.push({type:2,index:u});else{let e=-1;for(;(e=c.data.indexOf(a,e+1))!==-1;)p.push({type:7,index:u}),e+=a.length-1}u++}}static createElement(e,t){let n=c.createElement(`template`);return n.innerHTML=e,n}};function k(e,t,n=e,r){if(t===S)return t;let i=r===void 0?n._$Cl:n._$Co?.[r],a=u(t)?void 0:t._$litDirective$;return i?.constructor!==a&&(i?._$AO?.(!1),a===void 0?i=void 0:(i=new a(e),i._$AT(e,n,r)),r===void 0?n._$Cl=i:(n._$Co??=[])[r]=i),i!==void 0&&(t=k(e,i._$AS(e,t.values),i,r)),t}var A=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:n}=this._$AD,r=(e?.creationScope??c).importNode(t,!0);T.currentNode=r;let i=T.nextNode(),a=0,o=0,s=n[0];for(;s!==void 0;){if(a===s.index){let t;s.type===2?t=new j(i,i.nextSibling,this,e):s.type===1?t=new s.ctor(i,s.name,s.strings,this,e):s.type===6&&(t=new I(i,this,e)),this._$AV.push(t),s=n[++o]}a!==s?.index&&(i=T.nextNode(),a++)}return T.currentNode=c,r}p(e){let t=0;for(let n of this._$AV)n!==void 0&&(n.strings===void 0?n._$AI(e[t]):(n._$AI(e,n,t),t+=n.strings.length-2)),t++}},j=class e{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,n,r){this.type=2,this._$AH=C,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=n,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=k(this,e,t),u(e)?e===C||e==null||e===``?(this._$AH!==C&&this._$AR(),this._$AH=C):e!==this._$AH&&e!==S&&this._(e):e._$litType$===void 0?e.nodeType===void 0?f(e)?this.k(e):this._(e):this.T(e):this.$(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==C&&u(this._$AH)?this._$AA.nextSibling.data=e:this.T(c.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:n}=e,r=typeof n==`number`?this._$AC(e):(n.el===void 0&&(n.el=O.createElement(E(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===r)this._$AH.p(t);else{let e=new A(r,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=w.get(e.strings);return t===void 0&&w.set(e.strings,t=new O(e)),t}k(t){d(this._$AH)||(this._$AH=[],this._$AR());let n=this._$AH,r,i=0;for(let a of t)i===n.length?n.push(r=new e(this.O(l()),this.O(l()),this,this.options)):r=n[i],r._$AI(a),i++;i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}_$AR(e=this._$AA.nextSibling,n){for(this._$AP?.(!1,!0,n);e!==this._$AB;){let n=t(e).nextSibling;t(e).remove(),e=n}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},M=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,n,r,i){this.type=1,this._$AH=C,this._$AN=void 0,this.element=e,this.name=t,this._$AM=r,this.options=i,n.length>2||n[0]!==``||n[1]!==``?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=C}_$AI(e,t=this,n,r){let i=this.strings,a=!1;if(i===void 0)e=k(this,e,t,0),a=!u(e)||e!==this._$AH&&e!==S,a&&(this._$AH=e);else{let r=e,o,s;for(e=i[0],o=0;o<i.length-1;o++)s=k(this,r[n+o],t,o),s===S&&(s=this._$AH[o]),a||=!u(s)||s!==this._$AH[o],s===C?e=C:e!==C&&(e+=(s??``)+i[o+1]),this._$AH[o]=s}a&&!r&&this.j(e)}j(e){e===C?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??``)}},N=class extends M{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===C?void 0:e}},P=class extends M{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==C)}},F=class extends M{constructor(e,t,n,r,i){super(e,t,n,r,i),this.type=5}_$AI(e,t=this){if((e=k(this,e,t,0)??C)===S)return;let n=this._$AH,r=e===C&&n!==C||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,i=e!==C&&(n===C||r);r&&this.element.removeEventListener(this.name,this,n),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH==`function`?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},I=class{constructor(e,t,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){k(this,e)}},ee={M:i,P:a,A:o,C:1,L:D,R:A,D:f,V:k,I:j,H:M,N:P,U:F,B:N,F:I},te=e.litHtmlPolyfillSupport;te?.(O,j),(e.litHtmlVersions??=[]).push(`3.3.2`);var ne=(e,t,n)=>{let r=n?.renderBefore??t,i=r._$litPart$;if(i===void 0){let e=n?.renderBefore??null;r._$litPart$=i=new j(t.insertBefore(l(),e),e,void 0,n??{})}return i._$AI(e),i},re=e=>(t,n)=>{n===void 0?customElements.define(e,t):n.addInitializer(()=>{customElements.define(e,t)})},L=globalThis,R=L.ShadowRoot&&(L.ShadyCSS===void 0||L.ShadyCSS.nativeShadow)&&`adoptedStyleSheets`in Document.prototype&&`replace`in CSSStyleSheet.prototype,z=Symbol(),B=new WeakMap,ie=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==z)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(R&&e===void 0){let n=t!==void 0&&t.length===1;n&&(e=B.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&B.set(t,e))}return e}toString(){return this.cssText}},ae=e=>new ie(typeof e==`string`?e:e+``,void 0,z),oe=(e,t)=>{if(R)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let n of t){let t=document.createElement(`style`),r=L.litNonce;r!==void 0&&t.setAttribute(`nonce`,r),t.textContent=n.cssText,e.appendChild(t)}},V=R?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t=``;for(let n of e.cssRules)t+=n.cssText;return ae(t)})(e):e,{is:se,defineProperty:ce,getOwnPropertyDescriptor:le,getOwnPropertyNames:ue,getOwnPropertySymbols:de,getPrototypeOf:fe}=Object,H=globalThis,U=H.trustedTypes,pe=U?U.emptyScript:``,me=H.reactiveElementPolyfillSupport,W=(e,t)=>e,G={toAttribute(e,t){switch(t){case Boolean:e=e?pe:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch{n=null}}return n}},K=(e,t)=>!se(e,t),q={attribute:!0,type:String,converter:G,reflect:!1,useDefault:!1,hasChanged:K};Symbol.metadata??=Symbol(`metadata`),H.litPropertyMetadata??=new WeakMap;var J=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=q){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&ce(this.prototype,e,r)}}static getPropertyDescriptor(e,t,n){let{get:r,set:i}=le(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:r,set(t){let a=r?.call(this);i?.call(this,t),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??q}static _$Ei(){if(this.hasOwnProperty(W(`elementProperties`)))return;let e=fe(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(W(`finalized`)))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(W(`properties`))){let e=this.properties,t=[...ue(e),...de(e)];for(let n of t)this.createProperty(n,e[n])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(let[e,t]of this.elementProperties){let n=this._$Eu(e,t);n!==void 0&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let e of n)t.unshift(V(e))}else e!==void 0&&t.push(V(e));return t}static _$Eu(e,t){let n=t.attribute;return!1===n?void 0:typeof n==`string`?n:typeof e==`string`?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return oe(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&!0===n.reflect){let i=(n.converter?.toAttribute===void 0?G:n.converter).toAttribute(t,n.type);this._$Em=e,i==null?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(e,t){let n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let e=n.getPropertyOptions(r),i=typeof e.converter==`function`?{fromAttribute:e.converter}:e.converter?.fromAttribute===void 0?G:e.converter;this._$Em=r;let a=i.fromAttribute(t,e.type);this[r]=a??this._$Ej?.get(r)??a,this._$Em=null}}requestUpdate(e,t,n,r=!1,i){if(e!==void 0){let a=this.constructor;if(!1===r&&(i=this[e]),n??=a.getPropertyOptions(e),!((n.hasChanged??K)(i,t)||n.useDefault&&n.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,n))))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:r,wrapped:i},a){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==i||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),!0===r&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,n]of e){let{wrapped:e}=n,r=this[t];!0!==e||this._$AL.has(t)||r===void 0||this.C(t,void 0,n,r)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};J.elementStyles=[],J.shadowRootOptions={mode:`open`},J[W(`elementProperties`)]=new Map,J[W(`finalized`)]=new Map,me?.({ReactiveElement:J}),(H.reactiveElementVersions??=[]).push(`2.1.2`);var he={attribute:!0,type:String,converter:G,reflect:!1,hasChanged:K},ge=(e=he,t,n)=>{let{kind:r,metadata:i}=n,a=globalThis.litPropertyMetadata.get(i);if(a===void 0&&globalThis.litPropertyMetadata.set(i,a=new Map),r===`setter`&&((e=Object.create(e)).wrapped=!0),a.set(n.name,e),r===`accessor`){let{name:r}=n;return{set(n){let i=t.get.call(this);t.set.call(this,n),this.requestUpdate(r,i,e,!0,n)},init(t){return t!==void 0&&this.C(r,void 0,e,t),t}}}if(r===`setter`){let{name:r}=n;return function(n){let i=this[r];t.call(this,n),this.requestUpdate(r,i,e,!0,n)}}throw Error(`Unsupported decorator location: `+r)};function Y(e){return(t,n)=>typeof n==`object`?ge(e,t,n):((e,t,n)=>{let r=t.hasOwnProperty(n);return t.constructor.createProperty(n,e),r?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n)}function _e(e){return Y({...e,state:!0,attribute:!1})}var X=globalThis,Z=class extends J{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=ne(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return S}};Z._$litElement$=!0,Z.finalized=!0,X.litElementHydrateSupport?.({LitElement:Z});var ve=X.litElementPolyfillSupport;ve?.({LitElement:Z}),(X.litElementVersions??=[]).push(`4.2.2`);var ye={example:{hi:`Hei!`},generic:{from:`Fra`,to:`Til`},calendar:{buttonAltText:`Åpne kalender`,deleteDate:`Fjern dato`},dates:{month:`Måned`,year:`År`,days:[`Mandag`,`Tirsdag`,`Onsdag`,`Torsdag`,`Fredag`,`Lørdag`,`Søndag`],daysShort:[`Man`,`Tir`,`Ons`,`Tor`,`Fre`,`Lør`,`Søn`],months:[`Januar`,`Februar`,`Mars`,`April`,`Mai`,`Juni`,`Juli`,`August`,`September`,`Oktober`,`November`,`Desember`],monthsShort:[`Jan`,`Feb`,`Mar`,`Apr`,`Mai`,`Jun`,`Jul`,`Aug`,`Sep`,`Okt`,`Nov`,`Des`],week:`Uke`,prevMonth:`Forrige måned`,nextMonth:`Neste måned`},timepicker:{hours:`Timer`,minutes:`Minutter`,openPicker:`Åpne tidspunkt-velger`,prevTime:`Forrige tidspunkt`,nextTime:`Neste tidspunkt`,selectTime:`Velg tidspunkt`},forms:{search:{placeholder:`Søk…`},labels:{optional:`Valgfritt`,required:`Må fylles ut`},messages:{required:`Dette feltet er påkrevd`,invalid:`Ugyldig verdi`,invalidPattern:`Ugyldig format`,tooShort:`For kort`,tooLong:`For lang`,rangeUnderflow:`For lav verdi`,rangeOverflow:`For høy verdi`,stepMismatch:`Må treffe på steget som er definert i elementet`,timeStepMismatch:`Må treffe på et steg, for eksempel 0, {step} minutter`,timeStepMismatchHour:`Må treffe på hver hele time`,timeStepMismatchHalfHour:`Må treffe på hver hele eller halve time`,rangeUnderflowMin:`Verdien må være større enn eller lik {min}.`,rangeOverflowMax:`Verdien må være mindre enn eller lik {max}.`,dateUnderflow:`For tidlig dato`,dateOverflow:`For sen dato`},helptext:{helptextDropdownButton:`Les mer`},date:{multiple:`Her kan du velge flere datoer. Trykk komma eller enter når du har skrevet inn en dato.`}}};function Q(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var $=class extends Z{constructor(...e){super(...e),this.strings=ye,this.role=null}hotReplacedCallback(){this.requestUpdate()}};Q([Y({type:Object})],$.prototype,`strings`,void 0),Q([Y({type:String})],$.prototype,`role`,void 0);var be=class extends ${createRenderRoot(){return this}};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return ye}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return S}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require(`./element-DjtxO-1r.cjs`),t=require(`./directive-CJ2giQBZ.cjs`),n=require(`./async-directive-B9P1Qa0k.cjs`);function r(e){return e.classList&&(e.classList.contains(`_dialog_overlay`)||e.classList.contains(`backdrop`))?!0:typeof e.hasAttribute==`function`&&e.hasAttribute(`data-skip`)}function i(e){return e.nodeName===`OPTION`||e.nodeName===`DATA`}function a(e){return e.nodeType===Node.TEXT_NODE&&e.nodeValue?.trim()!==``}var o=new WeakMap;function s(e){let t=o.get(e);return t||(t=new f(e),o.set(e,t)),t}var c=Symbol(`default`);function l(e){return e===void 0?c:e}function u(e,t){if(e.nodeType===Node.COMMENT_NODE)return!1;if(e.nodeType===Node.TEXT_NODE)return a(e)?(d(t,c,e),!0):!1;if(e.nodeType===Node.ELEMENT_NODE){let n=e;if(r(n)||i(n))return!1;if(n instanceof HTMLTemplateElement){let e=Array.from(n.content.childNodes),r=l(n.getAttribute(`slot`)??void 0);for(let n of e)d(t,r,n);return!0}let a=n.getAttribute(`slot`);return d(t,a===null?c:l(a),e),!0}return!1}function d(e,t,n){let r=e.get(t);r||(r=[],e.set(t,r)),r.push(n)}var f=class e{static{this.PLACEHOLDER_PREFIX=`pkt-slot`}constructor(e){this.observer=null,this.nodesBySlot=new Map,this.directives=new Set,this.observing=!1,this.trackedNodes=new Set,this.generation=0,this.initialCollectionDone=!1,this.processingMutations=!1,this.placeholderToNode=new Map,this.nodeToPlaceholder=new Map,this.host=e}collectNodes(){if(this.initialCollectionDone)return;this.initialCollectionDone=!0,this.generation++;let e=Array.from(this.host.childNodes);for(let t of e)u(t,this.nodesBySlot)&&this.trackedNodes.add(t)}addDirective(e){this.directives.add(e),this.startObserving()}removeDirective(e){this.directives.delete(e),this.directives.size===0&&this.stopObserving()}getNodes(e){return this.nodesBySlot.get(l(e))??[]}hasContent(e){return this.getNodes(e).length>0}ensurePlaceholder(t){if(this.nodeToPlaceholder.has(t)||t.parentNode!==this.host)return;let n=document.createComment(e.PLACEHOLDER_PREFIX);this.host.insertBefore(n,t),this.placeholderToNode.set(n,t),this.nodeToPlaceholder.set(t,n)}startObserving(){this.observing||(this.observing=!0,setTimeout(()=>{this.observing&&(this.observer=new MutationObserver(e=>{this.handleMutations(e)}),this.observer.observe(this.host,{childList:!0}))},0))}stopObserving(){this.observing&&(this.observing=!1,this.observer?.disconnect(),this.observer=null)}handleMutations(e){if(this.processingMutations)return;this.processingMutations=!0;let t=!1;for(let n of e)if(n.target===this.host){for(let e of n.removedNodes){let n=this.placeholderToNode.get(e);if(n){n.parentNode?.removeChild(n),this.trackedNodes.delete(n),this.removeFromSlots(n),this.placeholderToNode.delete(e),this.nodeToPlaceholder.delete(n),t=!0;continue}if(this.trackedNodes.has(e)){this.trackedNodes.delete(e),this.removeFromSlots(e);let n=this.nodeToPlaceholder.get(e);n&&(n.parentNode?.removeChild(n),this.placeholderToNode.delete(n),this.nodeToPlaceholder.delete(e)),t=!0}}for(let e of n.addedNodes)this.placeholderToNode.has(e)||!this.trackedNodes.has(e)&&this.isUserContent(e)&&u(e,this.nodesBySlot)&&(this.trackedNodes.add(e),t=!0)}t&&(this.generation++,this.notifyDirectives()),this.observer?.takeRecords(),this.processingMutations=!1}isUserContent(e){if(e.nodeType===Node.COMMENT_NODE)return!1;if(e.nodeType===Node.TEXT_NODE)return a(e);if(e.nodeType===Node.ELEMENT_NODE){let t=e;return!(r(t)||i(t))}return!1}removeFromSlots(e){for(let[t,n]of this.nodesBySlot){let r=n.indexOf(e);if(r!==-1){n.splice(r,1),n.length===0&&this.nodesBySlot.delete(t);return}}}notifyDirectives(){for(let e of this.directives)e.handleNodesChanged()}},p=class extends n.t{constructor(e){if(super(e),this.manager=null,this.lastGeneration=-1,e.type!==t.r.CHILD)throw Error(`slotContent() can only be used in child expressions`)}render(t,n){return e.u}update(e,[t,n]){return this.slotName=n,this.manager||(this.manager=s(t),this.manager.collectNodes(),this.manager.addDirective(this)),this.ensurePlaceholders(),this.getNodesOrNoChange()}handleNodesChanged(){if(!this.isConnected||!this.manager)return;this.ensurePlaceholders();let t=this.getNodesOrNoChange();t!==e.u&&this.setValue(t)}ensurePlaceholders(){if(!this.manager)return;let e=this.manager.getNodes(this.slotName);for(let t of e)this.manager.ensurePlaceholder(t)}disconnected(){this.manager?.removeDirective(this),this.manager=null,this.lastGeneration=-1}reconnected(){}getNodesOrNoChange(){if(!this.manager)return e.u;let t=this.manager.generation;return t===this.lastGeneration?e.u:(this.lastGeneration=t,this.manager.getNodes(this.slotName))}},m=t.t(p),h=class extends e.t{connectedCallback(){s(this).collectNodes(),super.connectedCallback()}hasSlotContent(e){return s(this).hasContent(e)}};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return h}});
|