@wordpress/components 19.8.3 → 19.10.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 +42 -0
- package/CONTRIBUTING.md +80 -7
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +11 -11
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build/angle-picker-control/angle-circle.js +5 -7
- package/build/angle-picker-control/angle-circle.js.map +1 -1
- package/build/box-control/index.js +0 -21
- package/build/box-control/index.js.map +1 -1
- package/build/box-control/utils.js +1 -8
- package/build/box-control/utils.js.map +1 -1
- package/build/button/index.js +3 -5
- package/build/button/index.js.map +1 -1
- package/build/circular-option-picker/index.js +1 -2
- package/build/circular-option-picker/index.js.map +1 -1
- package/build/disabled/index.js +4 -76
- package/build/disabled/index.js.map +1 -1
- package/build/heading/hook.js +1 -1
- package/build/heading/hook.js.map +1 -1
- package/build/input-control/index.js +27 -4
- package/build/input-control/index.js.map +1 -1
- package/build/input-control/styles/input-control-styles.js +42 -30
- package/build/input-control/styles/input-control-styles.js.map +1 -1
- package/build/mobile/bottom-sheet-select-control/index.native.js +1 -0
- package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
- package/build/navigation/styles/navigation-styles.js +12 -12
- package/build/navigation/styles/navigation-styles.js.map +1 -1
- package/build/notice/index.native.js +44 -40
- package/build/notice/index.native.js.map +1 -1
- package/build/notice/list.native.js +27 -45
- package/build/notice/list.native.js.map +1 -1
- package/build/popover/index.js +6 -52
- package/build/popover/index.js.map +1 -1
- package/build/sandbox/index.js +2 -2
- package/build/sandbox/index.js.map +1 -1
- package/build/select-control/index.js +31 -4
- package/build/select-control/index.js.map +1 -1
- package/build/select-control/styles/select-control-styles.js +8 -8
- package/build/select-control/styles/select-control-styles.js.map +1 -1
- package/build/surface/styles.js +8 -8
- package/build/surface/styles.js.map +1 -1
- package/build/text/hook.js +5 -5
- package/build/text/hook.js.map +1 -1
- package/build/text/styles/text-mixins.native.js +1 -1
- package/build/text/styles/text-mixins.native.js.map +1 -1
- package/build/text/styles.js +7 -7
- package/build/text/styles.js.map +1 -1
- package/build/text-control/index.js +35 -28
- package/build/text-control/index.js.map +1 -1
- package/build/text-control/types.js +6 -0
- package/build/text-control/types.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js +6 -4
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
- package/build/tools-panel/tools-panel-header/component.js +52 -36
- package/build/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build/ui/spinner/component.js +1 -1
- package/build/ui/spinner/component.js.map +1 -1
- package/build/unit-control/index.js +3 -3
- package/build/unit-control/index.js.map +1 -1
- package/build/unit-control/styles/unit-control-styles.js +11 -20
- package/build/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build/unit-control/utils.js.map +1 -1
- package/build/utils/colors-values.js +9 -24
- package/build/utils/colors-values.js.map +1 -1
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +11 -11
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build-module/angle-picker-control/angle-circle.js +5 -7
- package/build-module/angle-picker-control/angle-circle.js.map +1 -1
- package/build-module/box-control/index.js +1 -20
- package/build-module/box-control/index.js.map +1 -1
- package/build-module/box-control/utils.js +0 -6
- package/build-module/box-control/utils.js.map +1 -1
- package/build-module/button/index.js +3 -4
- package/build-module/button/index.js.map +1 -1
- package/build-module/circular-option-picker/index.js +1 -2
- package/build-module/circular-option-picker/index.js.map +1 -1
- package/build-module/disabled/index.js +5 -76
- package/build-module/disabled/index.js.map +1 -1
- package/build-module/heading/hook.js +1 -1
- package/build-module/heading/hook.js.map +1 -1
- package/build-module/input-control/index.js +24 -3
- package/build-module/input-control/index.js.map +1 -1
- package/build-module/input-control/styles/input-control-styles.js +42 -30
- package/build-module/input-control/styles/input-control-styles.js.map +1 -1
- package/build-module/mobile/bottom-sheet-select-control/index.native.js +1 -0
- package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
- package/build-module/navigation/styles/navigation-styles.js +13 -13
- package/build-module/navigation/styles/navigation-styles.js.map +1 -1
- package/build-module/notice/index.native.js +45 -41
- package/build-module/notice/index.native.js.map +1 -1
- package/build-module/notice/list.native.js +28 -46
- package/build-module/notice/list.native.js.map +1 -1
- package/build-module/popover/index.js +6 -52
- package/build-module/popover/index.js.map +1 -1
- package/build-module/sandbox/index.js +2 -2
- package/build-module/sandbox/index.js.map +1 -1
- package/build-module/select-control/index.js +29 -3
- package/build-module/select-control/index.js.map +1 -1
- package/build-module/select-control/styles/select-control-styles.js +8 -8
- package/build-module/select-control/styles/select-control-styles.js.map +1 -1
- package/build-module/surface/styles.js +8 -8
- package/build-module/surface/styles.js.map +1 -1
- package/build-module/text/hook.js +5 -5
- package/build-module/text/hook.js.map +1 -1
- package/build-module/text/styles/text-mixins.native.js +2 -2
- package/build-module/text/styles/text-mixins.native.js.map +1 -1
- package/build-module/text/styles.js +7 -7
- package/build-module/text/styles.js.map +1 -1
- package/build-module/text-control/index.js +35 -27
- package/build-module/text-control/index.js.map +1 -1
- package/build-module/text-control/types.js +2 -0
- package/build-module/text-control/types.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +1 -5
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js +51 -36
- package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build-module/ui/spinner/component.js +1 -1
- package/build-module/ui/spinner/component.js.map +1 -1
- package/build-module/unit-control/index.js +3 -3
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/unit-control/styles/unit-control-styles.js +11 -20
- package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build-module/unit-control/utils.js.map +1 -1
- package/build-module/utils/colors-values.js +19 -23
- package/build-module/utils/colors-values.js.map +1 -1
- package/build-style/style-rtl.css +24 -0
- package/build-style/style.css +24 -0
- package/build-types/button/index.d.ts.map +1 -1
- package/build-types/circular-option-picker/index.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +3 -3
- package/build-types/disabled/index.d.ts.map +1 -1
- package/build-types/input-control/index.d.ts +23 -3
- package/build-types/input-control/index.d.ts.map +1 -1
- package/build-types/input-control/input-field.d.ts +1 -1
- package/build-types/input-control/input-field.d.ts.map +1 -1
- package/build-types/input-control/stories/index.d.ts +5 -5
- package/build-types/input-control/styles/input-control-styles.d.ts +1 -0
- package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
- package/build-types/input-control/types.d.ts +79 -3
- package/build-types/input-control/types.d.ts.map +1 -1
- package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
- package/build-types/popover/index.d.ts +0 -1
- package/build-types/popover/index.d.ts.map +1 -1
- package/build-types/select-control/index.d.ts +30 -26
- package/build-types/select-control/index.d.ts.map +1 -1
- package/build-types/select-control/stories/index.d.ts +23 -0
- package/build-types/select-control/stories/index.d.ts.map +1 -0
- package/build-types/select-control/styles/select-control-styles.d.ts +3 -4
- package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
- package/build-types/select-control/test/select-control.d.ts +2 -0
- package/build-types/select-control/test/select-control.d.ts.map +1 -0
- package/build-types/select-control/types.d.ts +52 -1
- package/build-types/select-control/types.d.ts.map +1 -1
- package/build-types/text-control/index.d.ts +32 -0
- package/build-types/text-control/index.d.ts.map +1 -0
- package/build-types/text-control/stories/index.d.ts +13 -0
- package/build-types/text-control/stories/index.d.ts.map +1 -0
- package/build-types/text-control/types.d.ts +25 -0
- package/build-types/text-control/types.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
- package/build-types/tools-panel/types.d.ts +0 -1
- package/build-types/tools-panel/types.d.ts.map +1 -1
- package/build-types/unit-control/index.d.ts +2 -2
- package/build-types/unit-control/index.d.ts.map +1 -1
- package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
- package/build-types/unit-control/test/index.d.ts +2 -0
- package/build-types/unit-control/test/index.d.ts.map +1 -0
- package/build-types/unit-control/test/utils.d.ts +2 -0
- package/build-types/unit-control/test/utils.d.ts.map +1 -0
- package/build-types/unit-control/types.d.ts +1 -1
- package/build-types/unit-control/types.d.ts.map +1 -1
- package/build-types/unit-control/utils.d.ts +3 -3
- package/build-types/unit-control/utils.d.ts.map +1 -1
- package/build-types/utils/colors-values.d.ts +6 -146
- package/build-types/utils/colors-values.d.ts.map +1 -1
- package/package.json +17 -17
- package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.js +5 -3
- package/src/angle-picker-control/angle-circle.js +3 -3
- package/src/box-control/README.md +0 -74
- package/src/box-control/index.js +0 -15
- package/src/box-control/stories/index.js +0 -29
- package/src/box-control/utils.js +0 -7
- package/src/button/index.js +2 -4
- package/src/button/test/index.js +16 -1
- package/src/circular-option-picker/index.js +1 -2
- package/src/color-palette/README.md +0 -1
- package/src/color-palette/test/__snapshots__/index.js.snap +2 -3
- package/src/confirm-dialog/stories/index.js +87 -99
- package/src/date-time/stories/index.js +19 -0
- package/src/date-time/test/date.js +107 -78
- package/src/dimension-control/test/__snapshots__/index.test.js.snap +4 -4
- package/src/disabled/index.js +5 -90
- package/src/form-file-upload/test/index.js +15 -12
- package/src/heading/hook.ts +1 -1
- package/src/heading/test/__snapshots__/index.js.snap +3 -3
- package/src/input-control/README.md +3 -3
- package/src/input-control/index.tsx +23 -3
- package/src/input-control/stories/index.tsx +63 -0
- package/src/input-control/styles/input-control-styles.tsx +20 -7
- package/src/input-control/types.ts +79 -2
- package/src/menu-item/style.scss +10 -0
- package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +8 -1
- package/src/mobile/bottom-sheet-select-control/index.native.js +1 -0
- package/src/mobile/html-text-input/style.android.scss +1 -0
- package/src/mobile/html-text-input/style.ios.scss +1 -0
- package/src/mobile/link-settings/test/link-settings-navigation.native.js +9 -1
- package/src/navigation/styles/navigation-styles.js +5 -5
- package/src/notice/index.native.js +44 -54
- package/src/notice/list.native.js +27 -51
- package/src/notice/style.native.scss +1 -0
- package/src/popover/index.js +5 -51
- package/src/query-controls/README.md +2 -2
- package/src/sandbox/index.js +2 -2
- package/src/select-control/README.md +2 -2
- package/src/select-control/index.tsx +30 -29
- package/src/select-control/stories/index.tsx +90 -0
- package/src/select-control/styles/select-control-styles.ts +10 -9
- package/src/select-control/test/{select-control.js → select-control.tsx} +2 -2
- package/src/select-control/types.ts +66 -1
- package/src/surface/styles.js +1 -1
- package/src/text/hook.js +1 -1
- package/src/text/styles/text-mixins.native.js +2 -2
- package/src/text/styles.js +1 -1
- package/src/text/test/__snapshots__/{index.js.snap → index.tsx.snap} +16 -0
- package/src/text/test/{index.js → index.tsx} +12 -6
- package/src/text-control/index.tsx +84 -0
- package/src/text-control/stories/index.tsx +66 -0
- package/src/text-control/types.ts +29 -0
- package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +1 -5
- package/src/toolbar-group/style.scss +20 -0
- package/src/tools-panel/test/__snapshots__/index.js.snap +2 -2
- package/src/tools-panel/test/index.js +71 -18
- package/src/tools-panel/tools-panel-header/component.tsx +75 -33
- package/src/tools-panel/types.ts +0 -1
- package/src/tooltip/test/index.js +6 -0
- package/src/ui/spinner/component.js +1 -1
- package/src/ui/spinner/test/__snapshots__/index.js.snap +3 -3
- package/src/unit-control/index.tsx +2 -5
- package/src/unit-control/styles/unit-control-styles.ts +3 -13
- package/src/unit-control/test/__snapshots__/index.tsx.snap +33 -0
- package/src/unit-control/test/{index.js → index.tsx} +214 -165
- package/src/unit-control/test/{utils.js → utils.ts} +38 -19
- package/src/unit-control/types.ts +4 -1
- package/src/unit-control/utils.ts +5 -3
- package/src/utils/colors-values.js +18 -22
- package/tsconfig.json +9 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/build/box-control/visualizer.js +0 -165
- package/build/box-control/visualizer.js.map +0 -1
- package/build-module/box-control/visualizer.js +0 -154
- package/build-module/box-control/visualizer.js.map +0 -1
- package/src/box-control/visualizer.js +0 -116
- package/src/input-control/stories/index.js +0 -71
- package/src/select-control/stories/index.js +0 -104
- package/src/text-control/index.js +0 -72
- package/src/text-control/stories/index.js +0 -46
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/navigation/styles/navigation-styles.js"],"names":["NavigationUI","MenuUI","MenuBackButtonUI","Button","MenuTitleUI","MenuTitleActionsUI","MenuTitleSearchUI","SearchControl","GroupTitleUI","Heading","ItemBaseUI","textAlign","
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/navigation/styles/navigation-styles.js"],"names":["NavigationUI","MenuUI","MenuBackButtonUI","Button","MenuTitleUI","MenuTitleActionsUI","MenuTitleSearchUI","SearchControl","GroupTitleUI","Heading","ItemBaseUI","textAlign","COLORS","ui","theme","white","gray","ItemUI","ItemIconUI","ItemBadgeUI","ItemTitleUI","Text"],"mappings":";;;;;;;;;;;AAQA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEO,MAAMA,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,kDAGV,kBAAO,CAAP,CAHU,i9MAAlB;;AAOA,MAAMC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,kBACH,kBAAO,CAAP,CADG,qBAEA,kBAAO,CAAP,CAFA,mIAWC,kBAAO,CAAP,CAXD,+EAeF,kBAAO,CAAP,CAfE,k8MAAZ;;AAmBA,MAAMC,gBAAgB,GAAG,iCAAQC,eAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAtB;;AAmBA,MAAMC,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAjB;;AAKA,MAAMC,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA,cACnB,kBAAO,CAAP,CADmB,0EAMZ,kBAAO,CAAP,CANY,ilNAAxB;;AAsBA,MAAMC,iBAAiB,GAAG,iCAAQC,sBAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAvB;;AA0BA,MAAMC,YAAY,GAAG,iCAAQC,gBAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,gBACT,kBAAO,EAAP,CADS,iGAMN,kBAAO,CAAP,CANM,eAOZ,MACX,qBACI,GAAG,kBAAO,CAAP,CAAY,IAAI,kBAAO,CAAP,CAAY,IAAI,kBAAO,CAAP,CAAY,IAAI,kBAAO,CAAP,CAAY,EADnE,GAEI,GAAG,kBAAO,CAAP,CAAY,IAAI,kBAAO,CAAP,CAAY,IAAI,kBAAO,CAAP,CAAY,IAAI,kBACpD,CADoD,CAEjD,EAZiB,i8MAAlB;;AAeA,MAAMC,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,oIAWT,kBAAO,CAAP,CAXS,OAWO,kBAAO,CAAP,CAXP,OAYlB,gBAAK;AAAEC,EAAAA,SAAS,EAAE;AAAb,CAAL,EAA4B;AAAEA,EAAAA,SAAS,EAAE;AAAb,CAA5B,CAZkB,iKAuBAC,qBAAOC,EAAP,CAAUC,KAvBV,aAwBXF,qBAAOG,KAxBI,wBA4BVH,qBAAOG,KA5BG,mCAkCXH,qBAAOI,IAAP,CAAa,GAAb,CAlCW,k8MAAhB;;AAsCA,MAAMC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,oFAMN,kBAAO,GAAP,CANM,OAMY,kBAAO,CAAP,CANZ,ugNAAZ;;AAcA,MAAMC,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,iCAEL,kBAAO,CAAP,CAFK,i8MAAhB;;AAKA,MAAMC,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,mBACP,MAAQ,qBAAU,GAAV,GAAgB,kBAAO,CAAP,CADjB,oBAEN,MAAQ,qBAAU,kBAAO,CAAP,CAAV,GAAuB,GAFzB,mCAIX,kBAAO,CAAP,CAJW,OAIK,kBAAO,CAAP,CAJL,4GAiBpB,yBAAc,WAAd,CAjBoB,i8MAAjB;;AAoBA,MAAMC,WAAW,GAAG,iCAAQC,UAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,CACpB,MAAQ,qBAAU,oBAAV,GAAiC,qBADrB,++MAAjB","sourcesContent":["/**\n * External dependencies\n */\nimport styled from '@emotion/styled';\n\n/**\n * WordPress dependencies\n */\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COLORS } from '../../utils/colors-values';\nimport Button from '../../button';\nimport { Text } from '../../text';\nimport { Heading } from '../../heading';\nimport { reduceMotion, rtl } from '../../utils';\nimport { space } from '../../ui/utils/space';\nimport SearchControl from '../../search-control';\n\nexport const NavigationUI = styled.div`\n\twidth: 100%;\n\tbox-sizing: border-box;\n\tpadding: 0 ${ space( 4 ) };\n\toverflow: hidden;\n`;\n\nexport const MenuUI = styled.div`\n\tmargin-top: ${ space( 6 ) };\n\tmargin-bottom: ${ space( 6 ) };\n\tdisplay: flex;\n\tflex-direction: column;\n\tul {\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tlist-style: none;\n\t}\n\t.components-navigation__back-button {\n\t\tmargin-bottom: ${ space( 6 ) };\n\t}\n\n\t.components-navigation__group + .components-navigation__group {\n\t\tmargin-top: ${ space( 6 ) };\n\t}\n`;\n\nexport const MenuBackButtonUI = styled( Button )`\n\t&.is-tertiary {\n\t\tcolor: inherit;\n\t\topacity: 0.7;\n\n\t\t&:hover:not( :disabled ) {\n\t\t\topacity: 1;\n\t\t\tbox-shadow: none;\n\t\t\tcolor: inherit;\n\t\t}\n\n\t\t&:active:not( :disabled ) {\n\t\t\tbackground: transparent;\n\t\t\topacity: 1;\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n`;\n\nexport const MenuTitleUI = styled.div`\n\toverflow: hidden;\n\twidth: 100%;\n`;\n\nexport const MenuTitleActionsUI = styled.span`\n\theight: ${ space( 6 ) }; // 24px, same height as the buttons inside\n\n\t.components-button.is-small {\n\t\tcolor: inherit;\n\t\topacity: 0.7;\n\t\tmargin-right: ${ space( 1 ) }; // Avoid hiding the focus outline\n\t\tpadding: 0;\n\n\t\t&:active:not( :disabled ) {\n\t\t\tbackground: none;\n\t\t\topacity: 1;\n\t\t\tcolor: inherit;\n\t\t}\n\t\t&:hover:not( :disabled ) {\n\t\t\tbox-shadow: none;\n\t\t\topacity: 1;\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n`;\n\nexport const MenuTitleSearchUI = styled( SearchControl )`\n\tinput[type='search'].components-search-control__input {\n\t\tmargin: 0;\n\t\tbackground: #303030;\n\t\tcolor: #fff;\n\n\t\t&:focus {\n\t\t\tbackground: #434343;\n\t\t\tcolor: #fff;\n\t\t}\n\n\t\t&::placeholder {\n\t\t\tcolor: rgba( 255, 255, 255, 0.6 );\n\t\t}\n\t}\n\n\tsvg {\n\t\tfill: white;\n\t}\n\n\t.components-button.has-icon {\n\t\tpadding: 0;\n\t\tmin-width: auto;\n\t}\n`;\n\nexport const GroupTitleUI = styled( Heading )`\n\tmin-height: ${ space( 12 ) };\n\talign-items: center;\n\tcolor: inherit;\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tmargin-bottom: ${ space( 2 ) };\n\tpadding: ${ () =>\n\t\tisRTL()\n\t\t\t? `${ space( 1 ) } ${ space( 4 ) } ${ space( 1 ) } ${ space( 2 ) }`\n\t\t\t: `${ space( 1 ) } ${ space( 2 ) } ${ space( 1 ) } ${ space(\n\t\t\t\t\t4\n\t\t\t ) }` };\n`;\n\nexport const ItemBaseUI = styled.li`\n\tborder-radius: 2px;\n\tcolor: inherit;\n\tmargin-bottom: 0;\n\n\t> button,\n\t> a.components-button,\n\t> a {\n\t\twidth: 100%;\n\t\tcolor: inherit;\n\t\topacity: 0.7;\n\t\tpadding: ${ space( 2 ) } ${ space( 4 ) }; /* 8px 16px */\n\t\t${ rtl( { textAlign: 'left' }, { textAlign: 'right' } ) }\n\n\t\t&:hover,\n\t\t&:focus:not( [aria-disabled='true'] ):active,\n\t\t&:active:not( [aria-disabled='true'] ):active {\n\t\t\tcolor: inherit;\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t&.is-active {\n\t\tbackground-color: ${ COLORS.ui.theme };\n\t\tcolor: ${ COLORS.white };\n\n\t\t> button,\n\t\t> a {\n\t\t\tcolor: ${ COLORS.white };\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t> svg path {\n\t\tcolor: ${ COLORS.gray[ 600 ] };\n\t}\n`;\n\nexport const ItemUI = styled.div`\n\tdisplay: flex;\n\talign-items: center;\n\theight: auto;\n\tmin-height: 40px;\n\tmargin: 0;\n\tpadding: ${ space( 1.5 ) } ${ space( 4 ) };\n\tfont-weight: 400;\n\tline-height: 20px;\n\twidth: 100%;\n\tcolor: inherit;\n\topacity: 0.7;\n`;\n\nexport const ItemIconUI = styled.span`\n\tdisplay: flex;\n\tmargin-right: ${ space( 2 ) };\n`;\n\nexport const ItemBadgeUI = styled.span`\n\tmargin-left: ${ () => ( isRTL() ? '0' : space( 2 ) ) };\n\tmargin-right: ${ () => ( isRTL() ? space( 2 ) : '0' ) };\n\tdisplay: inline-flex;\n\tpadding: ${ space( 1 ) } ${ space( 3 ) };\n\tborder-radius: 2px;\n\tanimation: fade-in 250ms ease-out;\n\n\t@keyframes fade-in {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t${ reduceMotion( 'animation' ) };\n`;\n\nexport const ItemTitleUI = styled( Text )`\n\t${ () => ( isRTL() ? 'margin-left: auto;' : 'margin-right: auto;' ) }\n\tfont-size: 14px;\n\tline-height: 20px;\n\tcolor: inherit;\n`;\n"]}
|
|
@@ -28,6 +28,8 @@ var _style = _interopRequireDefault(require("./style.scss"));
|
|
|
28
28
|
/**
|
|
29
29
|
* Internal dependencies
|
|
30
30
|
*/
|
|
31
|
+
const HIDE_TIMER = 3000;
|
|
32
|
+
|
|
31
33
|
const Notice = _ref => {
|
|
32
34
|
let {
|
|
33
35
|
onNoticeHidden,
|
|
@@ -35,67 +37,69 @@ const Notice = _ref => {
|
|
|
35
37
|
id,
|
|
36
38
|
status
|
|
37
39
|
} = _ref;
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
+
const {
|
|
41
|
+
width
|
|
42
|
+
} = (0, _reactNative.useWindowDimensions)();
|
|
40
43
|
const animationValue = (0, _element.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
41
44
|
const timer = (0, _element.useRef)(null);
|
|
42
|
-
const isIOS = _reactNative.Platform.OS === 'ios';
|
|
43
|
-
|
|
44
|
-
const onDimensionsChange = () => {
|
|
45
|
-
setWidth(_reactNative.Dimensions.get('window').width);
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
(0, _element.useEffect)(() => {
|
|
49
|
-
const dimensionsChangeSubscription = _reactNative.Dimensions.addEventListener('change', onDimensionsChange);
|
|
50
|
-
|
|
51
|
-
return () => {
|
|
52
|
-
dimensionsChangeSubscription.remove();
|
|
53
|
-
};
|
|
54
|
-
}, []);
|
|
55
45
|
(0, _element.useEffect)(() => {
|
|
56
46
|
startAnimation();
|
|
57
47
|
return () => {
|
|
58
48
|
clearTimeout(timer === null || timer === void 0 ? void 0 : timer.current);
|
|
59
49
|
};
|
|
60
|
-
}, [
|
|
50
|
+
}, []);
|
|
51
|
+
|
|
52
|
+
function onHide() {
|
|
53
|
+
_reactNative.Animated.timing(animationValue, {
|
|
54
|
+
toValue: 0,
|
|
55
|
+
duration: 150,
|
|
56
|
+
useNativeDriver: true,
|
|
57
|
+
easing: _reactNative.Easing.out(_reactNative.Easing.quad)
|
|
58
|
+
}).start(_ref2 => {
|
|
59
|
+
let {
|
|
60
|
+
finished
|
|
61
|
+
} = _ref2;
|
|
61
62
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
if (finished && onNoticeHidden) {
|
|
64
|
+
onNoticeHidden(id);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
65
68
|
|
|
66
|
-
|
|
69
|
+
function startAnimation() {
|
|
67
70
|
_reactNative.Animated.timing(animationValue, {
|
|
68
|
-
toValue:
|
|
69
|
-
duration:
|
|
71
|
+
toValue: 1,
|
|
72
|
+
duration: 300,
|
|
70
73
|
useNativeDriver: true,
|
|
71
74
|
easing: _reactNative.Easing.out(_reactNative.Easing.quad)
|
|
72
|
-
}).start(
|
|
73
|
-
|
|
75
|
+
}).start(_ref3 => {
|
|
76
|
+
let {
|
|
77
|
+
finished
|
|
78
|
+
} = _ref3;
|
|
79
|
+
|
|
80
|
+
if (finished && onNoticeHidden) {
|
|
74
81
|
timer.current = setTimeout(() => {
|
|
75
82
|
onHide();
|
|
76
|
-
},
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
if (!visible && onNoticeHidden) {
|
|
80
|
-
onNoticeHidden(id);
|
|
83
|
+
}, HIDE_TIMER);
|
|
81
84
|
}
|
|
82
85
|
});
|
|
83
|
-
}
|
|
86
|
+
}
|
|
84
87
|
|
|
85
88
|
const noticeSolidStyles = (0, _compose.usePreferredColorSchemeStyle)(_style.default.noticeSolid, _style.default.noticeSolidDark);
|
|
86
89
|
const successTextStyles = (0, _compose.usePreferredColorSchemeStyle)(_style.default.successText, _style.default.successTextDark);
|
|
87
90
|
const errorTextStyles = (0, _compose.usePreferredColorSchemeStyle)(_style.default.errorText, _style.default.errorTextDark);
|
|
88
91
|
const textStyles = [status === 'success' && successTextStyles, status === 'error' && errorTextStyles];
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
})
|
|
97
|
-
}]
|
|
92
|
+
const containerStyles = [_style.default.notice, !_element.Platform.isIOS && noticeSolidStyles, {
|
|
93
|
+
width,
|
|
94
|
+
transform: [{
|
|
95
|
+
translateY: animationValue.interpolate({
|
|
96
|
+
inputRange: [0, 1],
|
|
97
|
+
outputRange: [-24, 0]
|
|
98
|
+
})
|
|
98
99
|
}]
|
|
100
|
+
}];
|
|
101
|
+
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_reactNative.Animated.View, {
|
|
102
|
+
style: containerStyles
|
|
99
103
|
}, (0, _element.createElement)(_reactNative.TouchableWithoutFeedback, {
|
|
100
104
|
onPress: onHide
|
|
101
105
|
}, (0, _element.createElement)(_reactNative.View, {
|
|
@@ -103,7 +107,7 @@ const Notice = _ref => {
|
|
|
103
107
|
}, (0, _element.createElement)(_reactNative.Text, {
|
|
104
108
|
numberOfLines: 3,
|
|
105
109
|
style: textStyles
|
|
106
|
-
}, content))), isIOS && (0, _element.createElement)(_blur.BlurView, {
|
|
110
|
+
}, content))), _element.Platform.isIOS && (0, _element.createElement)(_blur.BlurView, {
|
|
107
111
|
style: _style.default.blurBackground,
|
|
108
112
|
blurType: "prominent",
|
|
109
113
|
blurAmount: 10
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/notice/index.native.js"],"names":["Notice","onNoticeHidden","content","id","status","width","
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/notice/index.native.js"],"names":["HIDE_TIMER","Notice","onNoticeHidden","content","id","status","width","animationValue","Animated","Value","current","timer","startAnimation","clearTimeout","onHide","timing","toValue","duration","useNativeDriver","easing","Easing","out","quad","start","finished","setTimeout","noticeSolidStyles","styles","noticeSolid","noticeSolidDark","successTextStyles","successText","successTextDark","errorTextStyles","errorText","errorTextDark","textStyles","containerStyles","notice","Platform","isIOS","transform","translateY","interpolate","inputRange","outputRange","noticeContent","blurBackground"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tAnimated,\n\tEasing,\n\tText,\n\tTouchableWithoutFeedback,\n\tView,\n\tuseWindowDimensions,\n} from 'react-native';\nimport { BlurView } from '@react-native-community/blur';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, Platform } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst HIDE_TIMER = 3000;\n\nconst Notice = ( { onNoticeHidden, content, id, status } ) => {\n\tconst { width } = useWindowDimensions();\n\tconst animationValue = useRef( new Animated.Value( 0 ) ).current;\n\tconst timer = useRef( null );\n\n\tuseEffect( () => {\n\t\tstartAnimation();\n\n\t\treturn () => {\n\t\t\tclearTimeout( timer?.current );\n\t\t};\n\t}, [] );\n\n\tfunction onHide() {\n\t\tAnimated.timing( animationValue, {\n\t\t\ttoValue: 0,\n\t\t\tduration: 150,\n\t\t\tuseNativeDriver: true,\n\t\t\teasing: Easing.out( Easing.quad ),\n\t\t} ).start( ( { finished } ) => {\n\t\t\tif ( finished && onNoticeHidden ) {\n\t\t\t\tonNoticeHidden( id );\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction startAnimation() {\n\t\tAnimated.timing( animationValue, {\n\t\t\ttoValue: 1,\n\t\t\tduration: 300,\n\t\t\tuseNativeDriver: true,\n\t\t\teasing: Easing.out( Easing.quad ),\n\t\t} ).start( ( { finished } ) => {\n\t\t\tif ( finished && onNoticeHidden ) {\n\t\t\t\ttimer.current = setTimeout( () => {\n\t\t\t\t\tonHide();\n\t\t\t\t}, HIDE_TIMER );\n\t\t\t}\n\t\t} );\n\t}\n\n\tconst noticeSolidStyles = usePreferredColorSchemeStyle(\n\t\tstyles.noticeSolid,\n\t\tstyles.noticeSolidDark\n\t);\n\n\tconst successTextStyles = usePreferredColorSchemeStyle(\n\t\tstyles.successText,\n\t\tstyles.successTextDark\n\t);\n\n\tconst errorTextStyles = usePreferredColorSchemeStyle(\n\t\tstyles.errorText,\n\t\tstyles.errorTextDark\n\t);\n\n\tconst textStyles = [\n\t\tstatus === 'success' && successTextStyles,\n\t\tstatus === 'error' && errorTextStyles,\n\t];\n\n\tconst containerStyles = [\n\t\tstyles.notice,\n\t\t! Platform.isIOS && noticeSolidStyles,\n\t\t{\n\t\t\twidth,\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateY: animationValue.interpolate( {\n\t\t\t\t\t\tinputRange: [ 0, 1 ],\n\t\t\t\t\t\toutputRange: [ -24, 0 ],\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<Animated.View style={ containerStyles }>\n\t\t\t\t<TouchableWithoutFeedback onPress={ onHide }>\n\t\t\t\t\t<View style={ styles.noticeContent }>\n\t\t\t\t\t\t<Text numberOfLines={ 3 } style={ textStyles }>\n\t\t\t\t\t\t\t{ content }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t{ Platform.isIOS && (\n\t\t\t\t\t<BlurView\n\t\t\t\t\t\tstyle={ styles.blurBackground }\n\t\t\t\t\t\tblurType=\"prominent\"\n\t\t\t\t\t\tblurAmount={ 10 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</Animated.View>\n\t\t</>\n\t);\n};\n\nexport default Notice;\n"]}
|
|
@@ -15,7 +15,7 @@ var _reactNative = require("react-native");
|
|
|
15
15
|
|
|
16
16
|
var _data = require("@wordpress/data");
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _notices = require("@wordpress/notices");
|
|
19
19
|
|
|
20
20
|
var _ = _interopRequireDefault(require("./"));
|
|
21
21
|
|
|
@@ -32,57 +32,39 @@ var _style = _interopRequireDefault(require("./style.scss"));
|
|
|
32
32
|
/**
|
|
33
33
|
* Internal dependencies
|
|
34
34
|
*/
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
removeNotice(id) {
|
|
35
|
+
function NoticeList() {
|
|
36
|
+
const {
|
|
37
|
+
notices
|
|
38
|
+
} = (0, _data.useSelect)(select => {
|
|
42
39
|
const {
|
|
43
|
-
|
|
44
|
-
} =
|
|
40
|
+
getNotices
|
|
41
|
+
} = select(_notices.store);
|
|
42
|
+
return {
|
|
43
|
+
notices: getNotices()
|
|
44
|
+
};
|
|
45
|
+
}, []);
|
|
46
|
+
const {
|
|
47
|
+
removeNotice
|
|
48
|
+
} = (0, _data.useDispatch)(_notices.store);
|
|
49
|
+
|
|
50
|
+
function onRemoveNotice(id) {
|
|
45
51
|
removeNotice(id);
|
|
46
52
|
}
|
|
47
53
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
notices,
|
|
51
|
-
shouldStack
|
|
52
|
-
} = this.props;
|
|
53
|
-
|
|
54
|
-
if (!notices.length) {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return (0, _element.createElement)(_reactNative.View, {
|
|
59
|
-
style: _style.default.list,
|
|
60
|
-
key: notices.length
|
|
61
|
-
}, shouldStack ? notices.reverse().map(notice => (0, _element.createElement)(_.default, (0, _extends2.default)({}, notice, {
|
|
62
|
-
key: notice.id,
|
|
63
|
-
onNoticeHidden: this.removeNotice
|
|
64
|
-
}))) : (0, _element.createElement)(_.default, (0, _extends2.default)({}, notices[notices.length - 1], {
|
|
65
|
-
onNoticeHidden: this.removeNotice
|
|
66
|
-
})));
|
|
54
|
+
if (!notices.length) {
|
|
55
|
+
return null;
|
|
67
56
|
}
|
|
68
57
|
|
|
58
|
+
return (0, _element.createElement)(_reactNative.View, {
|
|
59
|
+
style: _style.default.list
|
|
60
|
+
}, notices.map(notice => {
|
|
61
|
+
return (0, _element.createElement)(_.default, (0, _extends2.default)({}, notice, {
|
|
62
|
+
key: notice.id,
|
|
63
|
+
onNoticeHidden: onRemoveNotice
|
|
64
|
+
}));
|
|
65
|
+
}));
|
|
69
66
|
}
|
|
70
67
|
|
|
71
|
-
var _default =
|
|
72
|
-
const {
|
|
73
|
-
getNotices
|
|
74
|
-
} = select('core/notices');
|
|
75
|
-
return {
|
|
76
|
-
notices: getNotices()
|
|
77
|
-
};
|
|
78
|
-
}), (0, _data.withDispatch)(dispatch => {
|
|
79
|
-
const {
|
|
80
|
-
removeNotice
|
|
81
|
-
} = dispatch('core/notices');
|
|
82
|
-
return {
|
|
83
|
-
removeNotice
|
|
84
|
-
};
|
|
85
|
-
})])(NoticeList);
|
|
86
|
-
|
|
68
|
+
var _default = NoticeList;
|
|
87
69
|
exports.default = _default;
|
|
88
70
|
//# sourceMappingURL=list.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/notice/list.native.js"],"names":["NoticeList","
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/notice/list.native.js"],"names":["NoticeList","notices","select","getNotices","noticesStore","removeNotice","onRemoveNotice","id","length","styles","list","map","notice"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AAKA;;AACA;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AAIA,SAASA,UAAT,GAAsB;AACrB,QAAM;AAAEC,IAAAA;AAAF,MAAc,qBAAaC,MAAF,IAAc;AAC5C,UAAM;AAAEC,MAAAA;AAAF,QAAiBD,MAAM,CAAEE,cAAF,CAA7B;AACA,WAAO;AACNH,MAAAA,OAAO,EAAEE,UAAU;AADb,KAAP;AAGA,GALmB,EAKjB,EALiB,CAApB;AAOA,QAAM;AAAEE,IAAAA;AAAF,MAAmB,uBAAaD,cAAb,CAAzB;;AAEA,WAASE,cAAT,CAAyBC,EAAzB,EAA8B;AAC7BF,IAAAA,YAAY,CAAEE,EAAF,CAAZ;AACA;;AAED,MAAK,CAAEN,OAAO,CAACO,MAAf,EAAwB;AACvB,WAAO,IAAP;AACA;;AAED,SACC,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGC,eAAOC;AAArB,KACGT,OAAO,CAACU,GAAR,CAAeC,MAAF,IAAc;AAC5B,WACC,4BAAC,SAAD,6BACMA,MADN;AAEC,MAAA,GAAG,EAAGA,MAAM,CAACL,EAFd;AAGC,MAAA,cAAc,EAAGD;AAHlB,OADD;AAOA,GARC,CADH,CADD;AAaA;;eAEcN,U","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport Notice from './';\nimport styles from './style.scss';\n\nfunction NoticeList() {\n\tconst { notices } = useSelect( ( select ) => {\n\t\tconst { getNotices } = select( noticesStore );\n\t\treturn {\n\t\t\tnotices: getNotices(),\n\t\t};\n\t}, [] );\n\n\tconst { removeNotice } = useDispatch( noticesStore );\n\n\tfunction onRemoveNotice( id ) {\n\t\tremoveNotice( id );\n\t}\n\n\tif ( ! notices.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<View style={ styles.list }>\n\t\t\t{ notices.map( ( notice ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Notice\n\t\t\t\t\t\t{ ...notice }\n\t\t\t\t\t\tkey={ notice.id }\n\t\t\t\t\t\tonNoticeHidden={ onRemoveNotice }\n\t\t\t\t\t></Notice>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</View>\n\t);\n}\n\nexport default NoticeList;\n"]}
|
package/build/popover/index.js
CHANGED
|
@@ -53,8 +53,7 @@ const slotNameContext = (0, _element.createContext)();
|
|
|
53
53
|
|
|
54
54
|
function computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect) {
|
|
55
55
|
let anchorRef = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
56
|
-
let
|
|
57
|
-
let container = arguments.length > 5 ? arguments[5] : undefined;
|
|
56
|
+
let container = arguments.length > 4 ? arguments[4] : undefined;
|
|
58
57
|
|
|
59
58
|
if (anchorRect) {
|
|
60
59
|
return anchorRect;
|
|
@@ -86,12 +85,7 @@ function computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect) {
|
|
|
86
85
|
|
|
87
86
|
if (typeof (anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.getBoundingClientRect) === 'function') {
|
|
88
87
|
const rect = (0, _utils.offsetIframe)(anchorRef.getBoundingClientRect(), anchorRef.ownerDocument, container);
|
|
89
|
-
|
|
90
|
-
if (shouldAnchorIncludePadding) {
|
|
91
|
-
return rect;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
return withoutPadding(rect, anchorRef);
|
|
88
|
+
return rect;
|
|
95
89
|
}
|
|
96
90
|
|
|
97
91
|
const {
|
|
@@ -100,13 +94,7 @@ function computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect) {
|
|
|
100
94
|
} = anchorRef;
|
|
101
95
|
const topRect = top.getBoundingClientRect();
|
|
102
96
|
const bottomRect = bottom.getBoundingClientRect();
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
if (shouldAnchorIncludePadding) {
|
|
106
|
-
return rect;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
return withoutPadding(rect, anchorRef);
|
|
97
|
+
return (0, _utils.offsetIframe)(new window.DOMRect(topRect.left, topRect.top, topRect.width, bottomRect.bottom - topRect.top), top.ownerDocument, container);
|
|
110
98
|
}
|
|
111
99
|
|
|
112
100
|
if (!anchorRefFallback.current) {
|
|
@@ -116,40 +104,7 @@ function computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect) {
|
|
|
116
104
|
const {
|
|
117
105
|
parentNode
|
|
118
106
|
} = anchorRefFallback.current;
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if (shouldAnchorIncludePadding) {
|
|
122
|
-
return rect;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
return withoutPadding(rect, parentNode);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
function getComputedStyle(node) {
|
|
129
|
-
return node.ownerDocument.defaultView.getComputedStyle(node);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
function withoutPadding(rect, element) {
|
|
133
|
-
const {
|
|
134
|
-
paddingTop,
|
|
135
|
-
paddingBottom,
|
|
136
|
-
paddingLeft,
|
|
137
|
-
paddingRight
|
|
138
|
-
} = getComputedStyle(element);
|
|
139
|
-
const top = paddingTop ? parseInt(paddingTop, 10) : 0;
|
|
140
|
-
const bottom = paddingBottom ? parseInt(paddingBottom, 10) : 0;
|
|
141
|
-
const left = paddingLeft ? parseInt(paddingLeft, 10) : 0;
|
|
142
|
-
const right = paddingRight ? parseInt(paddingRight, 10) : 0;
|
|
143
|
-
return {
|
|
144
|
-
x: rect.left + left,
|
|
145
|
-
y: rect.top + top,
|
|
146
|
-
width: rect.width - left - right,
|
|
147
|
-
height: rect.height - top - bottom,
|
|
148
|
-
left: rect.left + left,
|
|
149
|
-
right: rect.right - right,
|
|
150
|
-
top: rect.top + top,
|
|
151
|
-
bottom: rect.bottom - bottom
|
|
152
|
-
};
|
|
107
|
+
return (0, _utils.offsetIframe)(parentNode.getBoundingClientRect(), parentNode.ownerDocument, container);
|
|
153
108
|
}
|
|
154
109
|
/**
|
|
155
110
|
* Sets or removes an element attribute.
|
|
@@ -238,7 +193,6 @@ const Popover = (_ref, ref) => {
|
|
|
238
193
|
range,
|
|
239
194
|
focusOnMount = 'firstElement',
|
|
240
195
|
anchorRef,
|
|
241
|
-
shouldAnchorIncludePadding,
|
|
242
196
|
anchorRect,
|
|
243
197
|
getAnchorRect,
|
|
244
198
|
expandOnMobile,
|
|
@@ -285,7 +239,7 @@ const Popover = (_ref, ref) => {
|
|
|
285
239
|
return;
|
|
286
240
|
}
|
|
287
241
|
|
|
288
|
-
let anchor = computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect, anchorRef,
|
|
242
|
+
let anchor = computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect, anchorRef, containerRef.current);
|
|
289
243
|
|
|
290
244
|
if (!anchor) {
|
|
291
245
|
return;
|
|
@@ -412,7 +366,7 @@ const Popover = (_ref, ref) => {
|
|
|
412
366
|
observer.disconnect();
|
|
413
367
|
}
|
|
414
368
|
};
|
|
415
|
-
}, [isExpanded, anchorRect, getAnchorRect, anchorRef,
|
|
369
|
+
}, [isExpanded, anchorRect, getAnchorRect, anchorRef, position, contentSize, __unstableStickyBoundaryElement, __unstableObserveElement, __unstableBoundaryParent]);
|
|
416
370
|
|
|
417
371
|
const onDialogClose = (type, event) => {
|
|
418
372
|
// Ideally the popover should have just a single onClose prop and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/popover/index.js"],"names":["SLOT_NAME","slotNameContext","computeAnchorRect","anchorRefFallback","anchorRect","getAnchorRect","anchorRef","shouldAnchorIncludePadding","container","current","rect","ownerDocument","window","Range","Element","DOMRect","cloneRange","endContainer","getBoundingClientRect","withoutPadding","top","bottom","topRect","bottomRect","left","width","parentNode","getComputedStyle","node","defaultView","element","paddingTop","paddingBottom","paddingLeft","paddingRight","parseInt","right","x","y","height","setAttribute","name","value","hasAttribute","removeAttribute","getAttribute","setStyle","property","style","setClass","toggle","classList","contains","add","remove","getAnchorDocument","anchor","Popover","ref","headerTitle","onClose","children","className","noArrow","isAlternate","position","range","focusOnMount","expandOnMobile","animate","onFocusOutside","__unstableStickyBoundaryElement","__unstableSlotName","__unstableObserveElement","__unstableBoundaryParent","__unstableForcePosition","__unstableForceXAlignment","__unstableEditorCanvasWrapper","contentProps","contentRef","containerRef","isMobileViewport","animateOrigin","setAnimateOrigin","slotName","slot","isExpanded","containerResizeListener","contentSize","refresh","offsetParent","relativeOffsetTop","body","offsetParentRect","boundaryElement","parentElement","usedContentSize","popoverTop","popoverLeft","xAxis","yAxis","contentHeight","contentWidth","yAxisMapping","xAxisMapping","animateYAxis","animateXAxis","intervalHandle","setInterval","rafId","refreshOnAnimationFrame","cancelAnimationFrame","requestAnimationFrame","addEventListener","anchorDocument","observer","MutationObserver","observe","attributes","clearInterval","removeEventListener","disconnect","onDialogClose","type","event","dialogRef","dialogProps","__unstableOnClose","mergedRefs","animateClassName","Boolean","origin","content","close","PopoverContainer","PopoverSlot","Slot","__unstableSlotNameProvider","Provider"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseState,\n\tuseLayoutEffect,\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n} from '@wordpress/element';\nimport { getRectangleFromRange } from '@wordpress/dom';\nimport {\n\tuseViewportMatch,\n\tuseResizeObserver,\n\tuseMergeRefs,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { computePopoverPosition, offsetIframe } from './utils';\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport { getAnimateClassName } from '../animate';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nconst SLOT_NAME = 'Popover';\n\nconst slotNameContext = createContext();\n\nfunction computeAnchorRect(\n\tanchorRefFallback,\n\tanchorRect,\n\tgetAnchorRect,\n\tanchorRef = false,\n\tshouldAnchorIncludePadding,\n\tcontainer\n) {\n\tif ( anchorRect ) {\n\t\treturn anchorRect;\n\t}\n\n\tif ( getAnchorRect ) {\n\t\tif ( ! anchorRefFallback.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rect = getAnchorRect( anchorRefFallback.current );\n\t\treturn offsetIframe(\n\t\t\trect,\n\t\t\trect.ownerDocument || anchorRefFallback.current.ownerDocument,\n\t\t\tcontainer\n\t\t);\n\t}\n\n\tif ( anchorRef !== false ) {\n\t\tif (\n\t\t\t! anchorRef ||\n\t\t\t! window.Range ||\n\t\t\t! window.Element ||\n\t\t\t! window.DOMRect\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Duck-type to check if `anchorRef` is an instance of Range\n\t\t// `anchorRef instanceof window.Range` checks will break across document boundaries\n\t\t// such as in an iframe.\n\t\tif ( typeof anchorRef?.cloneRange === 'function' ) {\n\t\t\treturn offsetIframe(\n\t\t\t\tgetRectangleFromRange( anchorRef ),\n\t\t\t\tanchorRef.endContainer.ownerDocument,\n\t\t\t\tcontainer\n\t\t\t);\n\t\t}\n\n\t\t// Duck-type to check if `anchorRef` is an instance of Element\n\t\t// `anchorRef instanceof window.Element` checks will break across document boundaries\n\t\t// such as in an iframe.\n\t\tif ( typeof anchorRef?.getBoundingClientRect === 'function' ) {\n\t\t\tconst rect = offsetIframe(\n\t\t\t\tanchorRef.getBoundingClientRect(),\n\t\t\t\tanchorRef.ownerDocument,\n\t\t\t\tcontainer\n\t\t\t);\n\n\t\t\tif ( shouldAnchorIncludePadding ) {\n\t\t\t\treturn rect;\n\t\t\t}\n\n\t\t\treturn withoutPadding( rect, anchorRef );\n\t\t}\n\n\t\tconst { top, bottom } = anchorRef;\n\t\tconst topRect = top.getBoundingClientRect();\n\t\tconst bottomRect = bottom.getBoundingClientRect();\n\t\tconst rect = offsetIframe(\n\t\t\tnew window.DOMRect(\n\t\t\t\ttopRect.left,\n\t\t\t\ttopRect.top,\n\t\t\t\ttopRect.width,\n\t\t\t\tbottomRect.bottom - topRect.top\n\t\t\t),\n\t\t\ttop.ownerDocument,\n\t\t\tcontainer\n\t\t);\n\n\t\tif ( shouldAnchorIncludePadding ) {\n\t\t\treturn rect;\n\t\t}\n\n\t\treturn withoutPadding( rect, anchorRef );\n\t}\n\n\tif ( ! anchorRefFallback.current ) {\n\t\treturn;\n\t}\n\n\tconst { parentNode } = anchorRefFallback.current;\n\tconst rect = offsetIframe(\n\t\tparentNode.getBoundingClientRect(),\n\t\tparentNode.ownerDocument,\n\t\tcontainer\n\t);\n\n\tif ( shouldAnchorIncludePadding ) {\n\t\treturn rect;\n\t}\n\n\treturn withoutPadding( rect, parentNode );\n}\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction withoutPadding( rect, element ) {\n\tconst {\n\t\tpaddingTop,\n\t\tpaddingBottom,\n\t\tpaddingLeft,\n\t\tpaddingRight,\n\t} = getComputedStyle( element );\n\tconst top = paddingTop ? parseInt( paddingTop, 10 ) : 0;\n\tconst bottom = paddingBottom ? parseInt( paddingBottom, 10 ) : 0;\n\tconst left = paddingLeft ? parseInt( paddingLeft, 10 ) : 0;\n\tconst right = paddingRight ? parseInt( paddingRight, 10 ) : 0;\n\n\treturn {\n\t\tx: rect.left + left,\n\t\ty: rect.top + top,\n\t\twidth: rect.width - left - right,\n\t\theight: rect.height - top - bottom,\n\t\tleft: rect.left + left,\n\t\tright: rect.right - right,\n\t\ttop: rect.top + top,\n\t\tbottom: rect.bottom - bottom,\n\t};\n}\n\n/**\n * Sets or removes an element attribute.\n *\n * @param {Element} element The element to modify.\n * @param {string} name The attribute name to set or remove.\n * @param {?string} value The value to set. A falsy value will remove the\n * attribute.\n */\nfunction setAttribute( element, name, value ) {\n\tif ( ! value ) {\n\t\tif ( element.hasAttribute( name ) ) {\n\t\t\telement.removeAttribute( name );\n\t\t}\n\t} else if ( element.getAttribute( name ) !== value ) {\n\t\telement.setAttribute( name, value );\n\t}\n}\n\n/**\n * Sets or removes an element style property.\n *\n * @param {Element} element The element to modify.\n * @param {string} property The property to set or remove.\n * @param {?string} value The value to set. A falsy value will remove the\n * property.\n */\nfunction setStyle( element, property, value = '' ) {\n\tif ( element.style[ property ] !== value ) {\n\t\telement.style[ property ] = value;\n\t}\n}\n\n/**\n * Sets or removes an element class.\n *\n * @param {Element} element The element to modify.\n * @param {string} name The class to set or remove.\n * @param {boolean} toggle True to set the class, false to remove.\n */\nfunction setClass( element, name, toggle ) {\n\tif ( toggle ) {\n\t\tif ( ! element.classList.contains( name ) ) {\n\t\t\telement.classList.add( name );\n\t\t}\n\t} else if ( element.classList.contains( name ) ) {\n\t\telement.classList.remove( name );\n\t}\n}\n\nfunction getAnchorDocument( anchor ) {\n\tif ( ! anchor ) {\n\t\treturn;\n\t}\n\n\tif ( anchor.endContainer ) {\n\t\treturn anchor.endContainer.ownerDocument;\n\t}\n\n\tif ( anchor.top ) {\n\t\treturn anchor.top.ownerDocument;\n\t}\n\n\treturn anchor.ownerDocument;\n}\n\nconst Popover = (\n\t{\n\t\theaderTitle,\n\t\tonClose,\n\t\tchildren,\n\t\tclassName,\n\t\tnoArrow = true,\n\t\tisAlternate,\n\t\t// Disable reason: We generate the `...contentProps` rest as remainder\n\t\t// of props which aren't explicitly handled by this component.\n\t\t/* eslint-disable no-unused-vars */\n\t\tposition = 'bottom right',\n\t\trange,\n\t\tfocusOnMount = 'firstElement',\n\t\tanchorRef,\n\t\tshouldAnchorIncludePadding,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\texpandOnMobile,\n\t\tanimate = true,\n\t\tonFocusOutside,\n\t\t__unstableStickyBoundaryElement,\n\t\t__unstableSlotName = SLOT_NAME,\n\t\t__unstableObserveElement,\n\t\t__unstableBoundaryParent,\n\t\t__unstableForcePosition,\n\t\t__unstableForceXAlignment,\n\t\t__unstableEditorCanvasWrapper,\n\t\t/* eslint-enable no-unused-vars */\n\t\t...contentProps\n\t},\n\tref\n) => {\n\tconst anchorRefFallback = useRef( null );\n\tconst contentRef = useRef( null );\n\tconst containerRef = useRef();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ animateOrigin, setAnimateOrigin ] = useState();\n\tconst slotName = useContext( slotNameContext ) || __unstableSlotName;\n\tconst slot = useSlot( slotName );\n\tconst isExpanded = expandOnMobile && isMobileViewport;\n\tconst [ containerResizeListener, contentSize ] = useResizeObserver();\n\tnoArrow = isExpanded || noArrow;\n\n\tuseLayoutEffect( () => {\n\t\tif ( isExpanded ) {\n\t\t\tsetClass( containerRef.current, 'is-without-arrow', noArrow );\n\t\t\tsetClass( containerRef.current, 'is-alternate', isAlternate );\n\t\t\tsetAttribute( containerRef.current, 'data-x-axis' );\n\t\t\tsetAttribute( containerRef.current, 'data-y-axis' );\n\t\t\tsetStyle( containerRef.current, 'top' );\n\t\t\tsetStyle( containerRef.current, 'left' );\n\t\t\tsetStyle( contentRef.current, 'maxHeight' );\n\t\t\tsetStyle( contentRef.current, 'maxWidth' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst refresh = () => {\n\t\t\tif ( ! containerRef.current || ! contentRef.current ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet anchor = computeAnchorRect(\n\t\t\t\tanchorRefFallback,\n\t\t\t\tanchorRect,\n\t\t\t\tgetAnchorRect,\n\t\t\t\tanchorRef,\n\t\t\t\tshouldAnchorIncludePadding,\n\t\t\t\tcontainerRef.current\n\t\t\t);\n\n\t\t\tif ( ! anchor ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { offsetParent, ownerDocument } = containerRef.current;\n\n\t\t\tlet relativeOffsetTop = 0;\n\n\t\t\t// If there is a positioned ancestor element that is not the body,\n\t\t\t// subtract the position from the anchor rect. If the position of\n\t\t\t// the popover is fixed, the offset parent is null or the body\n\t\t\t// element, in which case the position is relative to the viewport.\n\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent\n\t\t\tif ( offsetParent && offsetParent !== ownerDocument.body ) {\n\t\t\t\tconst offsetParentRect = offsetParent.getBoundingClientRect();\n\n\t\t\t\trelativeOffsetTop = offsetParentRect.top;\n\t\t\t\tanchor = new window.DOMRect(\n\t\t\t\t\tanchor.left - offsetParentRect.left,\n\t\t\t\t\tanchor.top - offsetParentRect.top,\n\t\t\t\t\tanchor.width,\n\t\t\t\t\tanchor.height\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tlet boundaryElement;\n\t\t\tif ( __unstableBoundaryParent ) {\n\t\t\t\tboundaryElement = containerRef.current.parentElement;\n\t\t\t}\n\n\t\t\tconst usedContentSize = ! contentSize.height\n\t\t\t\t? contentRef.current.getBoundingClientRect()\n\t\t\t\t: contentSize;\n\n\t\t\tconst {\n\t\t\t\tpopoverTop,\n\t\t\t\tpopoverLeft,\n\t\t\t\txAxis,\n\t\t\t\tyAxis,\n\t\t\t\tcontentHeight,\n\t\t\t\tcontentWidth,\n\t\t\t} = computePopoverPosition(\n\t\t\t\tanchor,\n\t\t\t\tusedContentSize,\n\t\t\t\tposition,\n\t\t\t\t__unstableStickyBoundaryElement,\n\t\t\t\tcontainerRef.current,\n\t\t\t\trelativeOffsetTop,\n\t\t\t\tboundaryElement,\n\t\t\t\t__unstableForcePosition,\n\t\t\t\t__unstableForceXAlignment,\n\t\t\t\t__unstableEditorCanvasWrapper\n\t\t\t);\n\n\t\t\tif (\n\t\t\t\ttypeof popoverTop === 'number' &&\n\t\t\t\ttypeof popoverLeft === 'number'\n\t\t\t) {\n\t\t\t\tsetStyle( containerRef.current, 'top', popoverTop + 'px' );\n\t\t\t\tsetStyle( containerRef.current, 'left', popoverLeft + 'px' );\n\t\t\t}\n\n\t\t\tsetClass(\n\t\t\t\tcontainerRef.current,\n\t\t\t\t'is-without-arrow',\n\t\t\t\tnoArrow || ( xAxis === 'center' && yAxis === 'middle' )\n\t\t\t);\n\t\t\tsetClass( containerRef.current, 'is-alternate', isAlternate );\n\t\t\tsetAttribute( containerRef.current, 'data-x-axis', xAxis );\n\t\t\tsetAttribute( containerRef.current, 'data-y-axis', yAxis );\n\t\t\tsetStyle(\n\t\t\t\tcontentRef.current,\n\t\t\t\t'maxHeight',\n\t\t\t\ttypeof contentHeight === 'number' ? contentHeight + 'px' : ''\n\t\t\t);\n\t\t\tsetStyle(\n\t\t\t\tcontentRef.current,\n\t\t\t\t'maxWidth',\n\t\t\t\ttypeof contentWidth === 'number' ? contentWidth + 'px' : ''\n\t\t\t);\n\n\t\t\t// Compute the animation position.\n\t\t\tconst yAxisMapping = {\n\t\t\t\ttop: 'bottom',\n\t\t\t\tbottom: 'top',\n\t\t\t};\n\t\t\tconst xAxisMapping = {\n\t\t\t\tleft: 'right',\n\t\t\t\tright: 'left',\n\t\t\t};\n\t\t\tconst animateYAxis = yAxisMapping[ yAxis ] || 'middle';\n\t\t\tconst animateXAxis = xAxisMapping[ xAxis ] || 'center';\n\n\t\t\tsetAnimateOrigin( animateXAxis + ' ' + animateYAxis );\n\t\t};\n\n\t\trefresh();\n\n\t\tconst { ownerDocument } = containerRef.current;\n\t\tconst { defaultView } = ownerDocument;\n\n\t\t/*\n\t\t * There are sometimes we need to reposition or resize the popover that\n\t\t * are not handled by the resize/scroll window events (i.e. CSS changes\n\t\t * in the layout that changes the position of the anchor).\n\t\t *\n\t\t * For these situations, we refresh the popover every 0.5s\n\t\t */\n\t\tconst intervalHandle = defaultView.setInterval( refresh, 500 );\n\n\t\tlet rafId;\n\n\t\tconst refreshOnAnimationFrame = () => {\n\t\t\tdefaultView.cancelAnimationFrame( rafId );\n\t\t\trafId = defaultView.requestAnimationFrame( refresh );\n\t\t};\n\n\t\t// Sometimes a click trigger a layout change that affects the popover\n\t\t// position. This is an opportunity to immediately refresh rather than\n\t\t// at the interval.\n\t\tdefaultView.addEventListener( 'click', refreshOnAnimationFrame );\n\t\tdefaultView.addEventListener( 'resize', refresh );\n\t\tdefaultView.addEventListener( 'scroll', refresh, true );\n\n\t\tconst anchorDocument = getAnchorDocument( anchorRef );\n\n\t\t// If the anchor is within an iframe, the popover position also needs\n\t\t// to refrest when the iframe content is scrolled or resized.\n\t\tif ( anchorDocument && anchorDocument !== ownerDocument ) {\n\t\t\tanchorDocument.defaultView.addEventListener( 'resize', refresh );\n\t\t\tanchorDocument.defaultView.addEventListener(\n\t\t\t\t'scroll',\n\t\t\t\trefresh,\n\t\t\t\ttrue\n\t\t\t);\n\t\t}\n\n\t\tlet observer;\n\n\t\tif ( __unstableObserveElement ) {\n\t\t\tobserver = new defaultView.MutationObserver( refresh );\n\t\t\tobserver.observe( __unstableObserveElement, { attributes: true } );\n\t\t}\n\n\t\treturn () => {\n\t\t\tdefaultView.clearInterval( intervalHandle );\n\t\t\tdefaultView.removeEventListener( 'resize', refresh );\n\t\t\tdefaultView.removeEventListener( 'scroll', refresh, true );\n\t\t\tdefaultView.removeEventListener( 'click', refreshOnAnimationFrame );\n\t\t\tdefaultView.cancelAnimationFrame( rafId );\n\n\t\t\tif ( anchorDocument && anchorDocument !== ownerDocument ) {\n\t\t\t\tanchorDocument.defaultView?.removeEventListener(\n\t\t\t\t\t'resize',\n\t\t\t\t\trefresh\n\t\t\t\t);\n\t\t\t\tanchorDocument.defaultView?.removeEventListener(\n\t\t\t\t\t'scroll',\n\t\t\t\t\trefresh,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( observer ) {\n\t\t\t\tobserver.disconnect();\n\t\t\t}\n\t\t};\n\t}, [\n\t\tisExpanded,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tanchorRef,\n\t\tshouldAnchorIncludePadding,\n\t\tposition,\n\t\tcontentSize,\n\t\t__unstableStickyBoundaryElement,\n\t\t__unstableObserveElement,\n\t\t__unstableBoundaryParent,\n\t] );\n\n\tconst onDialogClose = ( type, event ) => {\n\t\t// Ideally the popover should have just a single onClose prop and\n\t\t// not three props that potentially do the same thing.\n\t\tif ( type === 'focus-outside' && onFocusOutside ) {\n\t\t\tonFocusOutside( event );\n\t\t} else if ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t};\n\n\tconst [ dialogRef, dialogProps ] = useDialog( {\n\t\tfocusOnMount,\n\t\t__unstableOnClose: onDialogClose,\n\t\tonClose: onDialogClose,\n\t} );\n\n\tconst mergedRefs = useMergeRefs( [ containerRef, dialogRef, ref ] );\n\n\t/** @type {false | string} */\n\tconst animateClassName =\n\t\tBoolean( animate && animateOrigin ) &&\n\t\tgetAnimateClassName( {\n\t\t\ttype: 'appear',\n\t\t\torigin: animateOrigin,\n\t\t} );\n\n\t// Disable reason: We care to capture the _bubbled_ events from inputs\n\t// within popover as inferring close intent.\n\n\tlet content = (\n\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-popover',\n\t\t\t\tclassName,\n\t\t\t\tanimateClassName,\n\t\t\t\t{\n\t\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t\t'is-without-arrow': noArrow,\n\t\t\t\t\t'is-alternate': isAlternate,\n\t\t\t\t}\n\t\t\t) }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedRefs }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex=\"-1\"\n\t\t>\n\t\t\t{ isExpanded && <ScrollLock /> }\n\t\t\t{ isExpanded && (\n\t\t\t\t<div className=\"components-popover__header\">\n\t\t\t\t\t<span className=\"components-popover__header-title\">\n\t\t\t\t\t\t{ headerTitle }\n\t\t\t\t\t</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"components-popover__close\"\n\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<div ref={ contentRef } className=\"components-popover__content\">\n\t\t\t\t<div style={ { position: 'relative' } }>\n\t\t\t\t\t{ containerResizeListener }\n\t\t\t\t\t{ children }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n\n\tif ( slot.ref ) {\n\t\tcontent = <Fill name={ slotName }>{ content }</Fill>;\n\t}\n\n\tif ( anchorRef || anchorRect ) {\n\t\treturn content;\n\t}\n\n\treturn <span ref={ anchorRefFallback }>{ content }</span>;\n};\n\nconst PopoverContainer = forwardRef( Popover );\n\nfunction PopoverSlot( { name = SLOT_NAME }, ref ) {\n\treturn (\n\t\t<Slot\n\t\t\tbubblesVirtually\n\t\t\tname={ name }\n\t\t\tclassName=\"popover-slot\"\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\nPopoverContainer.Slot = forwardRef( PopoverSlot );\nPopoverContainer.__unstableSlotNameProvider = slotNameContext.Provider;\n\nexport default PopoverContainer;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/popover/index.js"],"names":["SLOT_NAME","slotNameContext","computeAnchorRect","anchorRefFallback","anchorRect","getAnchorRect","anchorRef","container","current","rect","ownerDocument","window","Range","Element","DOMRect","cloneRange","endContainer","getBoundingClientRect","top","bottom","topRect","bottomRect","left","width","parentNode","setAttribute","element","name","value","hasAttribute","removeAttribute","getAttribute","setStyle","property","style","setClass","toggle","classList","contains","add","remove","getAnchorDocument","anchor","Popover","ref","headerTitle","onClose","children","className","noArrow","isAlternate","position","range","focusOnMount","expandOnMobile","animate","onFocusOutside","__unstableStickyBoundaryElement","__unstableSlotName","__unstableObserveElement","__unstableBoundaryParent","__unstableForcePosition","__unstableForceXAlignment","__unstableEditorCanvasWrapper","contentProps","contentRef","containerRef","isMobileViewport","animateOrigin","setAnimateOrigin","slotName","slot","isExpanded","containerResizeListener","contentSize","refresh","offsetParent","relativeOffsetTop","body","offsetParentRect","height","boundaryElement","parentElement","usedContentSize","popoverTop","popoverLeft","xAxis","yAxis","contentHeight","contentWidth","yAxisMapping","xAxisMapping","right","animateYAxis","animateXAxis","defaultView","intervalHandle","setInterval","rafId","refreshOnAnimationFrame","cancelAnimationFrame","requestAnimationFrame","addEventListener","anchorDocument","observer","MutationObserver","observe","attributes","clearInterval","removeEventListener","disconnect","onDialogClose","type","event","dialogRef","dialogProps","__unstableOnClose","mergedRefs","animateClassName","Boolean","origin","content","close","PopoverContainer","PopoverSlot","Slot","__unstableSlotNameProvider","Provider"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseState,\n\tuseLayoutEffect,\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n} from '@wordpress/element';\nimport { getRectangleFromRange } from '@wordpress/dom';\nimport {\n\tuseViewportMatch,\n\tuseResizeObserver,\n\tuseMergeRefs,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { computePopoverPosition, offsetIframe } from './utils';\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport { getAnimateClassName } from '../animate';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nconst SLOT_NAME = 'Popover';\n\nconst slotNameContext = createContext();\n\nfunction computeAnchorRect(\n\tanchorRefFallback,\n\tanchorRect,\n\tgetAnchorRect,\n\tanchorRef = false,\n\tcontainer\n) {\n\tif ( anchorRect ) {\n\t\treturn anchorRect;\n\t}\n\n\tif ( getAnchorRect ) {\n\t\tif ( ! anchorRefFallback.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rect = getAnchorRect( anchorRefFallback.current );\n\t\treturn offsetIframe(\n\t\t\trect,\n\t\t\trect.ownerDocument || anchorRefFallback.current.ownerDocument,\n\t\t\tcontainer\n\t\t);\n\t}\n\n\tif ( anchorRef !== false ) {\n\t\tif (\n\t\t\t! anchorRef ||\n\t\t\t! window.Range ||\n\t\t\t! window.Element ||\n\t\t\t! window.DOMRect\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Duck-type to check if `anchorRef` is an instance of Range\n\t\t// `anchorRef instanceof window.Range` checks will break across document boundaries\n\t\t// such as in an iframe.\n\t\tif ( typeof anchorRef?.cloneRange === 'function' ) {\n\t\t\treturn offsetIframe(\n\t\t\t\tgetRectangleFromRange( anchorRef ),\n\t\t\t\tanchorRef.endContainer.ownerDocument,\n\t\t\t\tcontainer\n\t\t\t);\n\t\t}\n\n\t\t// Duck-type to check if `anchorRef` is an instance of Element\n\t\t// `anchorRef instanceof window.Element` checks will break across document boundaries\n\t\t// such as in an iframe.\n\t\tif ( typeof anchorRef?.getBoundingClientRect === 'function' ) {\n\t\t\tconst rect = offsetIframe(\n\t\t\t\tanchorRef.getBoundingClientRect(),\n\t\t\t\tanchorRef.ownerDocument,\n\t\t\t\tcontainer\n\t\t\t);\n\n\t\t\treturn rect;\n\t\t}\n\n\t\tconst { top, bottom } = anchorRef;\n\t\tconst topRect = top.getBoundingClientRect();\n\t\tconst bottomRect = bottom.getBoundingClientRect();\n\n\t\treturn offsetIframe(\n\t\t\tnew window.DOMRect(\n\t\t\t\ttopRect.left,\n\t\t\t\ttopRect.top,\n\t\t\t\ttopRect.width,\n\t\t\t\tbottomRect.bottom - topRect.top\n\t\t\t),\n\t\t\ttop.ownerDocument,\n\t\t\tcontainer\n\t\t);\n\t}\n\n\tif ( ! anchorRefFallback.current ) {\n\t\treturn;\n\t}\n\n\tconst { parentNode } = anchorRefFallback.current;\n\n\treturn offsetIframe(\n\t\tparentNode.getBoundingClientRect(),\n\t\tparentNode.ownerDocument,\n\t\tcontainer\n\t);\n}\n\n/**\n * Sets or removes an element attribute.\n *\n * @param {Element} element The element to modify.\n * @param {string} name The attribute name to set or remove.\n * @param {?string} value The value to set. A falsy value will remove the\n * attribute.\n */\nfunction setAttribute( element, name, value ) {\n\tif ( ! value ) {\n\t\tif ( element.hasAttribute( name ) ) {\n\t\t\telement.removeAttribute( name );\n\t\t}\n\t} else if ( element.getAttribute( name ) !== value ) {\n\t\telement.setAttribute( name, value );\n\t}\n}\n\n/**\n * Sets or removes an element style property.\n *\n * @param {Element} element The element to modify.\n * @param {string} property The property to set or remove.\n * @param {?string} value The value to set. A falsy value will remove the\n * property.\n */\nfunction setStyle( element, property, value = '' ) {\n\tif ( element.style[ property ] !== value ) {\n\t\telement.style[ property ] = value;\n\t}\n}\n\n/**\n * Sets or removes an element class.\n *\n * @param {Element} element The element to modify.\n * @param {string} name The class to set or remove.\n * @param {boolean} toggle True to set the class, false to remove.\n */\nfunction setClass( element, name, toggle ) {\n\tif ( toggle ) {\n\t\tif ( ! element.classList.contains( name ) ) {\n\t\t\telement.classList.add( name );\n\t\t}\n\t} else if ( element.classList.contains( name ) ) {\n\t\telement.classList.remove( name );\n\t}\n}\n\nfunction getAnchorDocument( anchor ) {\n\tif ( ! anchor ) {\n\t\treturn;\n\t}\n\n\tif ( anchor.endContainer ) {\n\t\treturn anchor.endContainer.ownerDocument;\n\t}\n\n\tif ( anchor.top ) {\n\t\treturn anchor.top.ownerDocument;\n\t}\n\n\treturn anchor.ownerDocument;\n}\n\nconst Popover = (\n\t{\n\t\theaderTitle,\n\t\tonClose,\n\t\tchildren,\n\t\tclassName,\n\t\tnoArrow = true,\n\t\tisAlternate,\n\t\t// Disable reason: We generate the `...contentProps` rest as remainder\n\t\t// of props which aren't explicitly handled by this component.\n\t\t/* eslint-disable no-unused-vars */\n\t\tposition = 'bottom right',\n\t\trange,\n\t\tfocusOnMount = 'firstElement',\n\t\tanchorRef,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\texpandOnMobile,\n\t\tanimate = true,\n\t\tonFocusOutside,\n\t\t__unstableStickyBoundaryElement,\n\t\t__unstableSlotName = SLOT_NAME,\n\t\t__unstableObserveElement,\n\t\t__unstableBoundaryParent,\n\t\t__unstableForcePosition,\n\t\t__unstableForceXAlignment,\n\t\t__unstableEditorCanvasWrapper,\n\t\t/* eslint-enable no-unused-vars */\n\t\t...contentProps\n\t},\n\tref\n) => {\n\tconst anchorRefFallback = useRef( null );\n\tconst contentRef = useRef( null );\n\tconst containerRef = useRef();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ animateOrigin, setAnimateOrigin ] = useState();\n\tconst slotName = useContext( slotNameContext ) || __unstableSlotName;\n\tconst slot = useSlot( slotName );\n\tconst isExpanded = expandOnMobile && isMobileViewport;\n\tconst [ containerResizeListener, contentSize ] = useResizeObserver();\n\tnoArrow = isExpanded || noArrow;\n\n\tuseLayoutEffect( () => {\n\t\tif ( isExpanded ) {\n\t\t\tsetClass( containerRef.current, 'is-without-arrow', noArrow );\n\t\t\tsetClass( containerRef.current, 'is-alternate', isAlternate );\n\t\t\tsetAttribute( containerRef.current, 'data-x-axis' );\n\t\t\tsetAttribute( containerRef.current, 'data-y-axis' );\n\t\t\tsetStyle( containerRef.current, 'top' );\n\t\t\tsetStyle( containerRef.current, 'left' );\n\t\t\tsetStyle( contentRef.current, 'maxHeight' );\n\t\t\tsetStyle( contentRef.current, 'maxWidth' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst refresh = () => {\n\t\t\tif ( ! containerRef.current || ! contentRef.current ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet anchor = computeAnchorRect(\n\t\t\t\tanchorRefFallback,\n\t\t\t\tanchorRect,\n\t\t\t\tgetAnchorRect,\n\t\t\t\tanchorRef,\n\t\t\t\tcontainerRef.current\n\t\t\t);\n\n\t\t\tif ( ! anchor ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { offsetParent, ownerDocument } = containerRef.current;\n\n\t\t\tlet relativeOffsetTop = 0;\n\n\t\t\t// If there is a positioned ancestor element that is not the body,\n\t\t\t// subtract the position from the anchor rect. If the position of\n\t\t\t// the popover is fixed, the offset parent is null or the body\n\t\t\t// element, in which case the position is relative to the viewport.\n\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent\n\t\t\tif ( offsetParent && offsetParent !== ownerDocument.body ) {\n\t\t\t\tconst offsetParentRect = offsetParent.getBoundingClientRect();\n\n\t\t\t\trelativeOffsetTop = offsetParentRect.top;\n\t\t\t\tanchor = new window.DOMRect(\n\t\t\t\t\tanchor.left - offsetParentRect.left,\n\t\t\t\t\tanchor.top - offsetParentRect.top,\n\t\t\t\t\tanchor.width,\n\t\t\t\t\tanchor.height\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tlet boundaryElement;\n\t\t\tif ( __unstableBoundaryParent ) {\n\t\t\t\tboundaryElement = containerRef.current.parentElement;\n\t\t\t}\n\n\t\t\tconst usedContentSize = ! contentSize.height\n\t\t\t\t? contentRef.current.getBoundingClientRect()\n\t\t\t\t: contentSize;\n\n\t\t\tconst {\n\t\t\t\tpopoverTop,\n\t\t\t\tpopoverLeft,\n\t\t\t\txAxis,\n\t\t\t\tyAxis,\n\t\t\t\tcontentHeight,\n\t\t\t\tcontentWidth,\n\t\t\t} = computePopoverPosition(\n\t\t\t\tanchor,\n\t\t\t\tusedContentSize,\n\t\t\t\tposition,\n\t\t\t\t__unstableStickyBoundaryElement,\n\t\t\t\tcontainerRef.current,\n\t\t\t\trelativeOffsetTop,\n\t\t\t\tboundaryElement,\n\t\t\t\t__unstableForcePosition,\n\t\t\t\t__unstableForceXAlignment,\n\t\t\t\t__unstableEditorCanvasWrapper\n\t\t\t);\n\n\t\t\tif (\n\t\t\t\ttypeof popoverTop === 'number' &&\n\t\t\t\ttypeof popoverLeft === 'number'\n\t\t\t) {\n\t\t\t\tsetStyle( containerRef.current, 'top', popoverTop + 'px' );\n\t\t\t\tsetStyle( containerRef.current, 'left', popoverLeft + 'px' );\n\t\t\t}\n\n\t\t\tsetClass(\n\t\t\t\tcontainerRef.current,\n\t\t\t\t'is-without-arrow',\n\t\t\t\tnoArrow || ( xAxis === 'center' && yAxis === 'middle' )\n\t\t\t);\n\t\t\tsetClass( containerRef.current, 'is-alternate', isAlternate );\n\t\t\tsetAttribute( containerRef.current, 'data-x-axis', xAxis );\n\t\t\tsetAttribute( containerRef.current, 'data-y-axis', yAxis );\n\t\t\tsetStyle(\n\t\t\t\tcontentRef.current,\n\t\t\t\t'maxHeight',\n\t\t\t\ttypeof contentHeight === 'number' ? contentHeight + 'px' : ''\n\t\t\t);\n\t\t\tsetStyle(\n\t\t\t\tcontentRef.current,\n\t\t\t\t'maxWidth',\n\t\t\t\ttypeof contentWidth === 'number' ? contentWidth + 'px' : ''\n\t\t\t);\n\n\t\t\t// Compute the animation position.\n\t\t\tconst yAxisMapping = {\n\t\t\t\ttop: 'bottom',\n\t\t\t\tbottom: 'top',\n\t\t\t};\n\t\t\tconst xAxisMapping = {\n\t\t\t\tleft: 'right',\n\t\t\t\tright: 'left',\n\t\t\t};\n\t\t\tconst animateYAxis = yAxisMapping[ yAxis ] || 'middle';\n\t\t\tconst animateXAxis = xAxisMapping[ xAxis ] || 'center';\n\n\t\t\tsetAnimateOrigin( animateXAxis + ' ' + animateYAxis );\n\t\t};\n\n\t\trefresh();\n\n\t\tconst { ownerDocument } = containerRef.current;\n\t\tconst { defaultView } = ownerDocument;\n\n\t\t/*\n\t\t * There are sometimes we need to reposition or resize the popover that\n\t\t * are not handled by the resize/scroll window events (i.e. CSS changes\n\t\t * in the layout that changes the position of the anchor).\n\t\t *\n\t\t * For these situations, we refresh the popover every 0.5s\n\t\t */\n\t\tconst intervalHandle = defaultView.setInterval( refresh, 500 );\n\n\t\tlet rafId;\n\n\t\tconst refreshOnAnimationFrame = () => {\n\t\t\tdefaultView.cancelAnimationFrame( rafId );\n\t\t\trafId = defaultView.requestAnimationFrame( refresh );\n\t\t};\n\n\t\t// Sometimes a click trigger a layout change that affects the popover\n\t\t// position. This is an opportunity to immediately refresh rather than\n\t\t// at the interval.\n\t\tdefaultView.addEventListener( 'click', refreshOnAnimationFrame );\n\t\tdefaultView.addEventListener( 'resize', refresh );\n\t\tdefaultView.addEventListener( 'scroll', refresh, true );\n\n\t\tconst anchorDocument = getAnchorDocument( anchorRef );\n\n\t\t// If the anchor is within an iframe, the popover position also needs\n\t\t// to refrest when the iframe content is scrolled or resized.\n\t\tif ( anchorDocument && anchorDocument !== ownerDocument ) {\n\t\t\tanchorDocument.defaultView.addEventListener( 'resize', refresh );\n\t\t\tanchorDocument.defaultView.addEventListener(\n\t\t\t\t'scroll',\n\t\t\t\trefresh,\n\t\t\t\ttrue\n\t\t\t);\n\t\t}\n\n\t\tlet observer;\n\n\t\tif ( __unstableObserveElement ) {\n\t\t\tobserver = new defaultView.MutationObserver( refresh );\n\t\t\tobserver.observe( __unstableObserveElement, { attributes: true } );\n\t\t}\n\n\t\treturn () => {\n\t\t\tdefaultView.clearInterval( intervalHandle );\n\t\t\tdefaultView.removeEventListener( 'resize', refresh );\n\t\t\tdefaultView.removeEventListener( 'scroll', refresh, true );\n\t\t\tdefaultView.removeEventListener( 'click', refreshOnAnimationFrame );\n\t\t\tdefaultView.cancelAnimationFrame( rafId );\n\n\t\t\tif ( anchorDocument && anchorDocument !== ownerDocument ) {\n\t\t\t\tanchorDocument.defaultView?.removeEventListener(\n\t\t\t\t\t'resize',\n\t\t\t\t\trefresh\n\t\t\t\t);\n\t\t\t\tanchorDocument.defaultView?.removeEventListener(\n\t\t\t\t\t'scroll',\n\t\t\t\t\trefresh,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( observer ) {\n\t\t\t\tobserver.disconnect();\n\t\t\t}\n\t\t};\n\t}, [\n\t\tisExpanded,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tanchorRef,\n\t\tposition,\n\t\tcontentSize,\n\t\t__unstableStickyBoundaryElement,\n\t\t__unstableObserveElement,\n\t\t__unstableBoundaryParent,\n\t] );\n\n\tconst onDialogClose = ( type, event ) => {\n\t\t// Ideally the popover should have just a single onClose prop and\n\t\t// not three props that potentially do the same thing.\n\t\tif ( type === 'focus-outside' && onFocusOutside ) {\n\t\t\tonFocusOutside( event );\n\t\t} else if ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t};\n\n\tconst [ dialogRef, dialogProps ] = useDialog( {\n\t\tfocusOnMount,\n\t\t__unstableOnClose: onDialogClose,\n\t\tonClose: onDialogClose,\n\t} );\n\n\tconst mergedRefs = useMergeRefs( [ containerRef, dialogRef, ref ] );\n\n\t/** @type {false | string} */\n\tconst animateClassName =\n\t\tBoolean( animate && animateOrigin ) &&\n\t\tgetAnimateClassName( {\n\t\t\ttype: 'appear',\n\t\t\torigin: animateOrigin,\n\t\t} );\n\n\t// Disable reason: We care to capture the _bubbled_ events from inputs\n\t// within popover as inferring close intent.\n\n\tlet content = (\n\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-popover',\n\t\t\t\tclassName,\n\t\t\t\tanimateClassName,\n\t\t\t\t{\n\t\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t\t'is-without-arrow': noArrow,\n\t\t\t\t\t'is-alternate': isAlternate,\n\t\t\t\t}\n\t\t\t) }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedRefs }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex=\"-1\"\n\t\t>\n\t\t\t{ isExpanded && <ScrollLock /> }\n\t\t\t{ isExpanded && (\n\t\t\t\t<div className=\"components-popover__header\">\n\t\t\t\t\t<span className=\"components-popover__header-title\">\n\t\t\t\t\t\t{ headerTitle }\n\t\t\t\t\t</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"components-popover__close\"\n\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<div ref={ contentRef } className=\"components-popover__content\">\n\t\t\t\t<div style={ { position: 'relative' } }>\n\t\t\t\t\t{ containerResizeListener }\n\t\t\t\t\t{ children }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n\n\tif ( slot.ref ) {\n\t\tcontent = <Fill name={ slotName }>{ content }</Fill>;\n\t}\n\n\tif ( anchorRef || anchorRect ) {\n\t\treturn content;\n\t}\n\n\treturn <span ref={ anchorRefFallback }>{ content }</span>;\n};\n\nconst PopoverContainer = forwardRef( Popover );\n\nfunction PopoverSlot( { name = SLOT_NAME }, ref ) {\n\treturn (\n\t\t<Slot\n\t\t\tbubblesVirtually\n\t\t\tname={ name }\n\t\t\tclassName=\"popover-slot\"\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\nPopoverContainer.Slot = forwardRef( PopoverSlot );\nPopoverContainer.__unstableSlotNameProvider = slotNameContext.Provider;\n\nexport default PopoverContainer;\n"]}
|
package/build/sandbox/index.js
CHANGED
|
@@ -227,10 +227,10 @@ function Sandbox(_ref) {
|
|
|
227
227
|
}, []);
|
|
228
228
|
(0, _element.useEffect)(() => {
|
|
229
229
|
trySandbox();
|
|
230
|
-
}, [title,
|
|
230
|
+
}, [title, styles, scripts]);
|
|
231
231
|
(0, _element.useEffect)(() => {
|
|
232
232
|
trySandbox(true);
|
|
233
|
-
}, [html]);
|
|
233
|
+
}, [html, type]);
|
|
234
234
|
return (0, _element.createElement)("iframe", {
|
|
235
235
|
ref: (0, _compose.useMergeRefs)([ref, (0, _compose.useFocusableIframe)()]),
|
|
236
236
|
title: title,
|