@wippy-fe/theme 0.0.51 → 0.0.53
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/contracts/theme-contract.json +1 -1
- package/effective-contract.json +6 -6
- package/package.json +1 -1
- package/primevue-plugin.ts +58 -0
- package/tailwind-contract.json +5 -5
- package/tokens.json +6 -6
package/effective-contract.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"packageVersion": "0.0.
|
|
4
|
-
"implementationRelease": "1.0.
|
|
3
|
+
"packageVersion": "0.0.53",
|
|
4
|
+
"implementationRelease": "1.0.53",
|
|
5
5
|
"compatibility": {
|
|
6
|
-
"themePackageVersion": "0.0.
|
|
6
|
+
"themePackageVersion": "0.0.53",
|
|
7
7
|
"manifestSchemaVersion": "1.0.0",
|
|
8
|
-
"implementationRelease": "1.0.
|
|
8
|
+
"implementationRelease": "1.0.53",
|
|
9
9
|
"tailwindVersion": "3.4.19",
|
|
10
10
|
"tailwindcssPrimeuiVersion": "0.6.1",
|
|
11
11
|
"primevueVersion": "4.5.5",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"referencePrimeuixThemesVersion": "2.0.3",
|
|
15
15
|
"referencePrimeuixThemesIntegrity": "sha512-3fS1883mtCWhgUgNf/feiaaDSOND4EBIOu9tZnzJlJ8QtYyL6eFLcA6V3ymCWqLVXQ1+lTVEZv1gl47FIdXReg==",
|
|
16
16
|
"sourceHashes": {
|
|
17
|
-
"themeContract": "
|
|
17
|
+
"themeContract": "2dcbe6fd096aa69d081e793e4c177bd0f791ebd04a12bcd57957f64b9d413f62",
|
|
18
18
|
"runtimeAcceptanceRequirements": "6bac23fb52a87b18b1661b5ac73747a972e07f40af6961571b5f4dd831d4cb85",
|
|
19
19
|
"themeConfig": "9b484e9da76871d11edda5a555b0d0443a262acd80fb42c74c4fd78e2b23b5ae",
|
|
20
20
|
"tailwindConfig": "f1e862105254f082a78823ea685e3c6dc3ff5822516b7434a1e1141c976adc1d",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"acceptance": {
|
|
36
36
|
"status": "unverified",
|
|
37
37
|
"evidenceSchemaVersion": "1.0.0",
|
|
38
|
-
"inputHash": "
|
|
38
|
+
"inputHash": "72da773feb9f72ba8b0cfc9b3d2cf85fea673fbe4e501a96df2928ef5b2c5249",
|
|
39
39
|
"requirements": "contracts/runtime-acceptance-requirements.json",
|
|
40
40
|
"gate": "node scripts/build-theme-contract.mjs --check --acceptance --evidence <path> --evidence-sha256 <hash>"
|
|
41
41
|
},
|
package/package.json
CHANGED
package/primevue-plugin.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { App, VNode } from 'vue'
|
|
2
2
|
import PrimeVue from 'primevue/config'
|
|
3
|
+
import Menu from 'primevue/menu'
|
|
3
4
|
import Portal from 'primevue/portal'
|
|
4
5
|
import { createCommentVNode, h, renderSlot, Teleport } from 'vue'
|
|
5
6
|
|
|
@@ -407,6 +408,62 @@ function teardownOverlayLayer(inst: PortalInstance): void {
|
|
|
407
408
|
}
|
|
408
409
|
}
|
|
409
410
|
|
|
411
|
+
interface PrimeVueMenuOptions {
|
|
412
|
+
methods?: {
|
|
413
|
+
bindOutsideClickListener?: (this: PrimeVueMenuInstance) => void
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
interface PrimeVueMenuInstance {
|
|
418
|
+
container: HTMLElement | null
|
|
419
|
+
target: HTMLElement | null
|
|
420
|
+
outsideClickListener: ((event: MouseEvent) => void) | null
|
|
421
|
+
overlayVisible: boolean
|
|
422
|
+
popup: boolean
|
|
423
|
+
focusedOptionIndex: string | number
|
|
424
|
+
hide: () => void
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
let menuOutsideClickPatched = false
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* PrimeVue 4.5.5 Menu still tests document-capture clicks with `event.target`.
|
|
431
|
+
* At the document boundary, a click from inside a shadow root is retargeted to
|
|
432
|
+
* the shadow host, so Menu mistakes its own teleported panel for an outside
|
|
433
|
+
* click and hides before an input or menu item can handle the event.
|
|
434
|
+
*
|
|
435
|
+
* Select already uses `event.composedPath()`. Apply the same rule to Menu while
|
|
436
|
+
* preserving its popup/inline behavior. Menu is imported and patched by this
|
|
437
|
+
* plugin so consumers only need to install `PrimeVuePlugin`.
|
|
438
|
+
*/
|
|
439
|
+
function patchMenuOutsideClick(): void {
|
|
440
|
+
if (menuOutsideClickPatched)
|
|
441
|
+
return
|
|
442
|
+
|
|
443
|
+
const menu = Menu as unknown as PrimeVueMenuOptions
|
|
444
|
+
if (!menu.methods || typeof menu.methods.bindOutsideClickListener !== 'function')
|
|
445
|
+
return
|
|
446
|
+
|
|
447
|
+
menu.methods.bindOutsideClickListener = function (this: PrimeVueMenuInstance) {
|
|
448
|
+
if (this.outsideClickListener)
|
|
449
|
+
return
|
|
450
|
+
|
|
451
|
+
this.outsideClickListener = (event: MouseEvent) => {
|
|
452
|
+
const path = event.composedPath()
|
|
453
|
+
const isOutsideContainer = this.container && !path.includes(this.container)
|
|
454
|
+
const isOutsideTarget = !(this.target && path.includes(this.target))
|
|
455
|
+
|
|
456
|
+
if (this.overlayVisible && isOutsideContainer && isOutsideTarget)
|
|
457
|
+
this.hide()
|
|
458
|
+
else if (!this.popup && isOutsideContainer && isOutsideTarget)
|
|
459
|
+
this.focusedOptionIndex = -1
|
|
460
|
+
}
|
|
461
|
+
document.addEventListener('click', this.outsideClickListener, true)
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
menuOutsideClickPatched = true
|
|
465
|
+
}
|
|
466
|
+
|
|
410
467
|
let patched = false
|
|
411
468
|
|
|
412
469
|
/**
|
|
@@ -507,6 +564,7 @@ export function patchOverlayPortal(): void {
|
|
|
507
564
|
|
|
508
565
|
export const PrimeVuePlugin = {
|
|
509
566
|
install: (app: App) => {
|
|
567
|
+
patchMenuOutsideClick()
|
|
510
568
|
patchOverlayPortal()
|
|
511
569
|
app.use(PrimeVue, { theme: 'none' })
|
|
512
570
|
},
|
package/tailwind-contract.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"packageVersion": "0.0.
|
|
3
|
+
"packageVersion": "0.0.53",
|
|
4
4
|
"compatibility": {
|
|
5
|
-
"themePackageVersion": "0.0.
|
|
5
|
+
"themePackageVersion": "0.0.53",
|
|
6
6
|
"manifestSchemaVersion": "1.0.0",
|
|
7
|
-
"implementationRelease": "1.0.
|
|
7
|
+
"implementationRelease": "1.0.53",
|
|
8
8
|
"tailwindVersion": "3.4.19",
|
|
9
9
|
"tailwindcssPrimeuiVersion": "0.6.1",
|
|
10
10
|
"primevueVersion": "4.5.5",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"referencePrimeuixThemesVersion": "2.0.3",
|
|
14
14
|
"referencePrimeuixThemesIntegrity": "sha512-3fS1883mtCWhgUgNf/feiaaDSOND4EBIOu9tZnzJlJ8QtYyL6eFLcA6V3ymCWqLVXQ1+lTVEZv1gl47FIdXReg==",
|
|
15
15
|
"sourceHashes": {
|
|
16
|
-
"themeContract": "
|
|
16
|
+
"themeContract": "2dcbe6fd096aa69d081e793e4c177bd0f791ebd04a12bcd57957f64b9d413f62",
|
|
17
17
|
"runtimeAcceptanceRequirements": "6bac23fb52a87b18b1661b5ac73747a972e07f40af6961571b5f4dd831d4cb85",
|
|
18
18
|
"themeConfig": "9b484e9da76871d11edda5a555b0d0443a262acd80fb42c74c4fd78e2b23b5ae",
|
|
19
19
|
"tailwindConfig": "f1e862105254f082a78823ea685e3c6dc3ff5822516b7434a1e1141c976adc1d",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"acceptance": {
|
|
35
35
|
"status": "unverified",
|
|
36
36
|
"evidenceSchemaVersion": "1.0.0",
|
|
37
|
-
"inputHash": "
|
|
37
|
+
"inputHash": "72da773feb9f72ba8b0cfc9b3d2cf85fea673fbe4e501a96df2928ef5b2c5249",
|
|
38
38
|
"requirements": "contracts/runtime-acceptance-requirements.json",
|
|
39
39
|
"gate": "node scripts/build-theme-contract.mjs --check --acceptance --evidence <path> --evidence-sha256 <hash>"
|
|
40
40
|
},
|
package/tokens.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"packageVersion": "0.0.
|
|
4
|
-
"implementationRelease": "1.0.
|
|
3
|
+
"packageVersion": "0.0.53",
|
|
4
|
+
"implementationRelease": "1.0.53",
|
|
5
5
|
"generatedFrom": [
|
|
6
6
|
"theme-config.css",
|
|
7
7
|
"contracts/theme-contract.json"
|
|
8
8
|
],
|
|
9
9
|
"compatibility": {
|
|
10
|
-
"themePackageVersion": "0.0.
|
|
10
|
+
"themePackageVersion": "0.0.53",
|
|
11
11
|
"manifestSchemaVersion": "1.0.0",
|
|
12
|
-
"implementationRelease": "1.0.
|
|
12
|
+
"implementationRelease": "1.0.53",
|
|
13
13
|
"tailwindVersion": "3.4.19",
|
|
14
14
|
"tailwindcssPrimeuiVersion": "0.6.1",
|
|
15
15
|
"primevueVersion": "4.5.5",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"referencePrimeuixThemesVersion": "2.0.3",
|
|
19
19
|
"referencePrimeuixThemesIntegrity": "sha512-3fS1883mtCWhgUgNf/feiaaDSOND4EBIOu9tZnzJlJ8QtYyL6eFLcA6V3ymCWqLVXQ1+lTVEZv1gl47FIdXReg==",
|
|
20
20
|
"sourceHashes": {
|
|
21
|
-
"themeContract": "
|
|
21
|
+
"themeContract": "2dcbe6fd096aa69d081e793e4c177bd0f791ebd04a12bcd57957f64b9d413f62",
|
|
22
22
|
"runtimeAcceptanceRequirements": "6bac23fb52a87b18b1661b5ac73747a972e07f40af6961571b5f4dd831d4cb85",
|
|
23
23
|
"themeConfig": "9b484e9da76871d11edda5a555b0d0443a262acd80fb42c74c4fd78e2b23b5ae",
|
|
24
24
|
"tailwindConfig": "f1e862105254f082a78823ea685e3c6dc3ff5822516b7434a1e1141c976adc1d",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"acceptance": {
|
|
40
40
|
"status": "unverified",
|
|
41
41
|
"evidenceSchemaVersion": "1.0.0",
|
|
42
|
-
"inputHash": "
|
|
42
|
+
"inputHash": "72da773feb9f72ba8b0cfc9b3d2cf85fea673fbe4e501a96df2928ef5b2c5249",
|
|
43
43
|
"requirements": "contracts/runtime-acceptance-requirements.json",
|
|
44
44
|
"gate": "node scripts/build-theme-contract.mjs --check --acceptance --evidence <path> --evidence-sha256 <hash>"
|
|
45
45
|
},
|