@wordpress/components 28.8.4 → 28.9.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 +26 -3
- package/build/autocomplete/index.js +4 -1
- package/build/autocomplete/index.js.map +1 -1
- package/build/border-box-control/border-box-control/component.js +3 -14
- package/build/border-box-control/border-box-control/component.js.map +1 -1
- package/build/border-control/border-control/component.js +1 -2
- package/build/border-control/border-control/component.js.map +1 -1
- package/build/border-control/border-control-dropdown/component.js +2 -14
- package/build/border-control/border-control-dropdown/component.js.map +1 -1
- package/build/border-control/styles.js +13 -13
- package/build/border-control/styles.js.map +1 -1
- package/build/border-control/types.js.map +1 -1
- package/build/box-control/index.js +4 -4
- package/build/box-control/index.js.map +1 -1
- package/build/box-control/types.js.map +1 -1
- package/build/composite/group-label.js +7 -1
- package/build/composite/group-label.js.map +1 -1
- package/build/composite/group.js +7 -1
- package/build/composite/group.js.map +1 -1
- package/build/composite/hover.js +8 -2
- package/build/composite/hover.js.map +1 -1
- package/build/composite/index.js +5 -1
- package/build/composite/index.js.map +1 -1
- package/build/composite/item.js +16 -1
- package/build/composite/item.js.map +1 -1
- package/build/composite/row.js +7 -1
- package/build/composite/row.js.map +1 -1
- package/build/composite/typeahead.js +8 -2
- package/build/composite/typeahead.js.map +1 -1
- package/build/date-time/date/index.js +4 -2
- package/build/date-time/date/index.js.map +1 -1
- package/build/index.js +36 -5
- package/build/index.js.map +1 -1
- package/build/navigator/index.js +128 -32
- package/build/navigator/index.js.map +1 -1
- package/build/navigator/legacy.js +179 -0
- package/build/navigator/legacy.js.map +1 -0
- package/build/navigator/{navigator-provider → navigator}/component.js +5 -40
- package/build/navigator/navigator/component.js.map +1 -0
- package/build/navigator/navigator-back-button/component.js +2 -38
- package/build/navigator/navigator-back-button/component.js.map +1 -1
- package/build/navigator/navigator-back-button/hook.js +1 -1
- package/build/navigator/navigator-back-button/hook.js.map +1 -1
- package/build/navigator/navigator-button/component.js +2 -37
- package/build/navigator/navigator-button/component.js.map +1 -1
- package/build/navigator/navigator-button/hook.js +1 -1
- package/build/navigator/navigator-button/hook.js.map +1 -1
- package/build/navigator/navigator-screen/component.js +40 -62
- package/build/navigator/navigator-screen/component.js.map +1 -1
- package/build/navigator/navigator-screen/use-screen-animate-presence.js +114 -0
- package/build/navigator/navigator-screen/use-screen-animate-presence.js.map +1 -0
- package/build/navigator/navigator-to-parent-button/component.js +3 -7
- package/build/navigator/navigator-to-parent-button/component.js.map +1 -1
- package/build/navigator/styles.js +78 -35
- package/build/navigator/styles.js.map +1 -1
- package/build/navigator/types.js.map +1 -1
- package/build/navigator/use-navigator.js +4 -1
- package/build/navigator/use-navigator.js.map +1 -1
- package/build/search-control/index.js +5 -2
- package/build/search-control/index.js.map +1 -1
- package/build/tabs/styles.js +3 -3
- package/build/tabs/styles.js.map +1 -1
- package/build/tabs/tablist.js +61 -28
- package/build/tabs/tablist.js.map +1 -1
- package/build/tabs/use-track-overflow.js +73 -0
- package/build/tabs/use-track-overflow.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control/as-button-group.js +4 -2
- package/build/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/as-radio-group.js +6 -2
- package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js +73 -8
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/styles.js +7 -7
- package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/component.js +10 -19
- package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js +8 -9
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build/toggle-group-control/types.js.map +1 -1
- package/build/utils/element-rect.js +22 -13
- package/build/utils/element-rect.js.map +1 -1
- package/build/utils/hooks/use-on-value-update.js +3 -7
- package/build/utils/hooks/use-on-value-update.js.map +1 -1
- package/build-module/autocomplete/index.js +4 -1
- package/build-module/autocomplete/index.js.map +1 -1
- package/build-module/border-box-control/border-box-control/component.js +3 -14
- package/build-module/border-box-control/border-box-control/component.js.map +1 -1
- package/build-module/border-control/border-control/component.js +1 -2
- package/build-module/border-control/border-control/component.js.map +1 -1
- package/build-module/border-control/border-control-dropdown/component.js +2 -14
- package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
- package/build-module/border-control/styles.js +13 -13
- package/build-module/border-control/styles.js.map +1 -1
- package/build-module/border-control/types.js.map +1 -1
- package/build-module/box-control/index.js +4 -4
- package/build-module/box-control/index.js.map +1 -1
- package/build-module/box-control/types.js.map +1 -1
- package/build-module/composite/group-label.js +7 -1
- package/build-module/composite/group-label.js.map +1 -1
- package/build-module/composite/group.js +7 -1
- package/build-module/composite/group.js.map +1 -1
- package/build-module/composite/hover.js +8 -2
- package/build-module/composite/hover.js.map +1 -1
- package/build-module/composite/index.js +5 -1
- package/build-module/composite/index.js.map +1 -1
- package/build-module/composite/item.js +16 -1
- package/build-module/composite/item.js.map +1 -1
- package/build-module/composite/row.js +7 -1
- package/build-module/composite/row.js.map +1 -1
- package/build-module/composite/typeahead.js +8 -2
- package/build-module/composite/typeahead.js.map +1 -1
- package/build-module/date-time/date/index.js +4 -2
- package/build-module/date-time/date/index.js.map +1 -1
- package/build-module/index.js +14 -4
- package/build-module/index.js.map +1 -1
- package/build-module/navigator/index.js +130 -5
- package/build-module/navigator/index.js.map +1 -1
- package/build-module/navigator/legacy.js +167 -0
- package/build-module/navigator/legacy.js.map +1 -0
- package/build-module/navigator/{navigator-provider → navigator}/component.js +4 -39
- package/build-module/navigator/navigator/component.js.map +1 -0
- package/build-module/navigator/navigator-back-button/component.js +1 -37
- package/build-module/navigator/navigator-back-button/component.js.map +1 -1
- package/build-module/navigator/navigator-back-button/hook.js +1 -1
- package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
- package/build-module/navigator/navigator-button/component.js +1 -36
- package/build-module/navigator/navigator-button/component.js.map +1 -1
- package/build-module/navigator/navigator-button/hook.js +1 -1
- package/build-module/navigator/navigator-button/hook.js.map +1 -1
- package/build-module/navigator/navigator-screen/component.js +39 -61
- package/build-module/navigator/navigator-screen/component.js.map +1 -1
- package/build-module/navigator/navigator-screen/use-screen-animate-presence.js +106 -0
- package/build-module/navigator/navigator-screen/use-screen-animate-presence.js.map +1 -0
- package/build-module/navigator/navigator-to-parent-button/component.js +2 -6
- package/build-module/navigator/navigator-to-parent-button/component.js.map +1 -1
- package/build-module/navigator/styles.js +77 -33
- package/build-module/navigator/styles.js.map +1 -1
- package/build-module/navigator/types.js.map +1 -1
- package/build-module/navigator/use-navigator.js +4 -1
- package/build-module/navigator/use-navigator.js.map +1 -1
- package/build-module/search-control/index.js +5 -2
- package/build-module/search-control/index.js.map +1 -1
- package/build-module/tabs/styles.js +3 -3
- package/build-module/tabs/styles.js.map +1 -1
- package/build-module/tabs/tablist.js +62 -29
- package/build-module/tabs/tablist.js.map +1 -1
- package/build-module/tabs/use-track-overflow.js +67 -0
- package/build-module/tabs/use-track-overflow.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control/as-button-group.js +4 -2
- package/build-module/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +6 -2
- package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js +76 -10
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/styles.js +7 -7
- package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +12 -22
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +7 -8
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build-module/toggle-group-control/types.js.map +1 -1
- package/build-module/utils/element-rect.js +22 -12
- package/build-module/utils/element-rect.js.map +1 -1
- package/build-module/utils/hooks/use-on-value-update.js +3 -6
- package/build-module/utils/hooks/use-on-value-update.js.map +1 -1
- package/build-style/style-rtl.css +26 -13
- package/build-style/style.css +26 -13
- package/build-types/autocomplete/index.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control/component.d.ts +5 -15
- package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +2 -1
- package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
- package/build-types/border-box-control/stories/index.story.d.ts +3 -2
- package/build-types/border-box-control/stories/index.story.d.ts.map +1 -1
- package/build-types/border-control/border-control/component.d.ts +3 -2
- package/build-types/border-control/border-control/component.d.ts.map +1 -1
- package/build-types/border-control/border-control-dropdown/component.d.ts +2 -1
- package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
- package/build-types/border-control/border-control-style-picker/component.d.ts.map +1 -1
- package/build-types/border-control/stories/index.story.d.ts +15 -30
- package/build-types/border-control/stories/index.story.d.ts.map +1 -1
- package/build-types/border-control/styles.d.ts.map +1 -1
- package/build-types/border-control/types.d.ts +12 -7
- package/build-types/border-control/types.d.ts.map +1 -1
- package/build-types/box-control/index.d.ts +4 -4
- package/build-types/box-control/stories/index.story.d.ts.map +1 -1
- package/build-types/box-control/types.d.ts +3 -3
- package/build-types/composite/group-label.d.ts.map +1 -1
- package/build-types/composite/index.d.ts.map +1 -1
- package/build-types/composite/item.d.ts.map +1 -1
- package/build-types/composite/stories/index.story.d.ts +22 -0
- package/build-types/composite/stories/index.story.d.ts.map +1 -1
- package/build-types/composite/test/index.d.ts +2 -0
- package/build-types/composite/test/index.d.ts.map +1 -0
- package/build-types/date-time/date/index.d.ts.map +1 -1
- package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
- package/build-types/dropdown-menu/stories/index.story.d.ts.map +1 -1
- package/build-types/index.d.ts +23 -4
- package/build-types/index.d.ts.map +1 -1
- package/build-types/navigator/index.d.ts +171 -5
- package/build-types/navigator/index.d.ts.map +1 -1
- package/build-types/navigator/legacy.d.ts +226 -0
- package/build-types/navigator/legacy.d.ts.map +1 -0
- package/build-types/navigator/navigator/component.d.ts +3 -0
- package/build-types/navigator/navigator/component.d.ts.map +1 -0
- package/build-types/navigator/navigator-back-button/component.d.ts +0 -35
- package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-button/component.d.ts +0 -34
- package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-screen/component.d.ts +0 -35
- package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-screen/use-screen-animate-presence.d.ts +16 -0
- package/build-types/navigator/navigator-screen/use-screen-animate-presence.d.ts.map +1 -0
- package/build-types/navigator/navigator-to-parent-button/component.d.ts +0 -4
- package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
- package/build-types/navigator/stories/index.story.d.ts +5 -5
- package/build-types/navigator/stories/index.story.d.ts.map +1 -1
- package/build-types/navigator/styles.d.ts +20 -7
- package/build-types/navigator/styles.d.ts.map +1 -1
- package/build-types/navigator/types.d.ts +19 -1
- package/build-types/navigator/types.d.ts.map +1 -1
- package/build-types/navigator/use-navigator.d.ts +4 -1
- package/build-types/navigator/use-navigator.d.ts.map +1 -1
- package/build-types/select-control/stories/index.story.d.ts +7 -0
- package/build-types/select-control/stories/index.story.d.ts.map +1 -1
- package/build-types/tabs/stories/index.story.d.ts +2 -1
- package/build-types/tabs/stories/index.story.d.ts.map +1 -1
- package/build-types/tabs/styles.d.ts.map +1 -1
- package/build-types/tabs/tablist.d.ts.map +1 -1
- package/build-types/tabs/use-track-overflow.d.ts +17 -0
- package/build-types/tabs/use-track-overflow.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts +2 -2
- package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts +2 -2
- package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +0 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
- package/build-types/toggle-group-control/types.d.ts +2 -1
- package/build-types/toggle-group-control/types.d.ts.map +1 -1
- package/build-types/utils/element-rect.d.ts +8 -0
- package/build-types/utils/element-rect.d.ts.map +1 -1
- package/build-types/utils/hooks/use-on-value-update.d.ts.map +1 -1
- package/package.json +19 -19
- package/src/autocomplete/index.tsx +4 -1
- package/src/border-box-control/border-box-control/README.md +22 -26
- package/src/border-box-control/border-box-control/component.tsx +3 -14
- package/src/border-box-control/stories/index.story.tsx +2 -1
- package/src/border-control/border-control/README.md +26 -36
- package/src/border-control/border-control/component.tsx +1 -2
- package/src/border-control/border-control-dropdown/component.tsx +1 -15
- package/src/border-control/stories/index.story.tsx +4 -10
- package/src/border-control/styles.ts +0 -1
- package/src/border-control/test/index.js +2 -15
- package/src/border-control/types.ts +12 -7
- package/src/box-control/README.md +9 -12
- package/src/box-control/index.tsx +4 -4
- package/src/box-control/stories/index.story.tsx +1 -1
- package/src/box-control/types.ts +3 -3
- package/src/composite/group-label.tsx +7 -5
- package/src/composite/group.tsx +7 -7
- package/src/composite/hover.tsx +7 -7
- package/src/composite/index.tsx +6 -1
- package/src/composite/item.tsx +19 -1
- package/src/composite/legacy/test/index.tsx +22 -21
- package/src/composite/row.tsx +7 -7
- package/src/composite/stories/index.story.tsx +42 -0
- package/src/composite/test/index.tsx +123 -0
- package/src/composite/typeahead.tsx +7 -7
- package/src/date-time/date/index.tsx +2 -0
- package/src/dropdown/stories/index.story.tsx +1 -0
- package/src/dropdown/style.scss +10 -13
- package/src/dropdown-menu/stories/index.story.tsx +3 -0
- package/src/index.ts +19 -1
- package/src/menu-group/style.scss +4 -1
- package/src/menu-items-choice/style.scss +2 -0
- package/src/navigator/README.md +176 -0
- package/src/navigator/index.tsx +131 -0
- package/src/navigator/legacy.ts +169 -0
- package/src/navigator/{navigator-provider → navigator}/component.tsx +6 -44
- package/src/navigator/navigator-back-button/component.tsx +1 -37
- package/src/navigator/navigator-back-button/hook.ts +1 -1
- package/src/navigator/navigator-button/component.tsx +1 -36
- package/src/navigator/navigator-button/hook.ts +1 -1
- package/src/navigator/navigator-screen/component.tsx +48 -76
- package/src/navigator/navigator-screen/use-screen-animate-presence.ts +177 -0
- package/src/navigator/navigator-to-parent-button/component.tsx +2 -7
- package/src/navigator/stories/index.story.tsx +55 -54
- package/src/navigator/styles.ts +112 -41
- package/src/navigator/test/index.tsx +47 -47
- package/src/navigator/types.ts +19 -1
- package/src/navigator/use-navigator.ts +4 -1
- package/src/search-control/index.tsx +2 -2
- package/src/select-control/stories/index.story.tsx +14 -1
- package/src/tabs/stories/index.story.tsx +106 -0
- package/src/tabs/styles.ts +54 -20
- package/src/tabs/tablist.tsx +60 -26
- package/src/tabs/use-track-overflow.ts +76 -0
- package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +208 -44
- package/src/toggle-group-control/toggle-group-control/as-button-group.tsx +18 -10
- package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +19 -9
- package/src/toggle-group-control/toggle-group-control/component.tsx +114 -6
- package/src/toggle-group-control/toggle-group-control/styles.ts +41 -0
- package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +10 -27
- package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +0 -11
- package/src/toggle-group-control/types.ts +3 -1
- package/src/tools-panel/tools-panel/README.md +10 -10
- package/src/utils/element-rect.ts +32 -15
- package/src/utils/hooks/use-on-value-update.ts +3 -6
- package/tsconfig.tsbuildinfo +1 -1
- package/build/navigator/navigator-provider/component.js.map +0 -1
- package/build/utils/hooks/use-event.js +0 -41
- package/build/utils/hooks/use-event.js.map +0 -1
- package/build-module/navigator/navigator-provider/component.js.map +0 -1
- package/build-module/utils/hooks/use-event.js +0 -35
- package/build-module/utils/hooks/use-event.js.map +0 -1
- package/build-types/navigator/navigator-provider/component.d.ts +0 -37
- package/build-types/navigator/navigator-provider/component.d.ts.map +0 -1
- package/build-types/utils/hooks/use-event.d.ts +0 -20
- package/build-types/utils/hooks/use-event.d.ts.map +0 -1
- package/src/navigator/index.ts +0 -6
- package/src/navigator/navigator-back-button/README.md +0 -15
- package/src/navigator/navigator-button/README.md +0 -38
- package/src/navigator/navigator-provider/README.md +0 -94
- package/src/navigator/navigator-screen/README.md +0 -33
- package/src/navigator/navigator-to-parent-button/README.md +0 -17
- package/src/utils/hooks/use-event.ts +0 -38
|
@@ -1,7 +1,132 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { Navigator as TopLevelNavigator } from './navigator/component';
|
|
5
|
+
import { NavigatorScreen } from './navigator-screen/component';
|
|
6
|
+
import { NavigatorButton } from './navigator-button/component';
|
|
7
|
+
import { NavigatorBackButton } from './navigator-back-button/component';
|
|
6
8
|
export { useNavigator } from './use-navigator';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The `Navigator` component allows rendering nested views/panels/menus
|
|
12
|
+
* (via the `Navigator.Screen` component) and navigate between them
|
|
13
|
+
* (via the `Navigator.Button` and `Navigator.BackButton` components).
|
|
14
|
+
*
|
|
15
|
+
* ```jsx
|
|
16
|
+
* import { Navigator } from '@wordpress/components';
|
|
17
|
+
*
|
|
18
|
+
* const MyNavigation = () => (
|
|
19
|
+
* <Navigator initialPath="/">
|
|
20
|
+
* <Navigator.Screen path="/">
|
|
21
|
+
* <p>This is the home screen.</p>
|
|
22
|
+
* <Navigator.Button path="/child">
|
|
23
|
+
* Navigate to child screen.
|
|
24
|
+
* </Navigator.Button>
|
|
25
|
+
* </Navigator.Screen>
|
|
26
|
+
*
|
|
27
|
+
* <Navigator.Screen path="/child">
|
|
28
|
+
* <p>This is the child screen.</p>
|
|
29
|
+
* <Navigator.BackButton>
|
|
30
|
+
* Go back
|
|
31
|
+
* </Navigator.BackButton>
|
|
32
|
+
* </Navigator.Screen>
|
|
33
|
+
* </Navigator>
|
|
34
|
+
* );
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export const Navigator = Object.assign(TopLevelNavigator, {
|
|
38
|
+
/**
|
|
39
|
+
* The `Navigator.Screen` component represents a single view/screen/panel and
|
|
40
|
+
* should be used in combination with the `Navigator`, the `Navigator.Button`
|
|
41
|
+
* and the `Navigator.BackButton` components.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```jsx
|
|
45
|
+
* import { Navigator } from '@wordpress/components';
|
|
46
|
+
*
|
|
47
|
+
* const MyNavigation = () => (
|
|
48
|
+
* <Navigator initialPath="/">
|
|
49
|
+
* <Navigator.Screen path="/">
|
|
50
|
+
* <p>This is the home screen.</p>
|
|
51
|
+
* <Navigator.Button path="/child">
|
|
52
|
+
* Navigate to child screen.
|
|
53
|
+
* </Navigator.Button>
|
|
54
|
+
* </Navigator.Screen>
|
|
55
|
+
*
|
|
56
|
+
* <Navigator.Screen path="/child">
|
|
57
|
+
* <p>This is the child screen.</p>
|
|
58
|
+
* <Navigator.BackButton>
|
|
59
|
+
* Go back
|
|
60
|
+
* </Navigator.BackButton>
|
|
61
|
+
* </Navigator.Screen>
|
|
62
|
+
* </Navigator>
|
|
63
|
+
* );
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
Screen: Object.assign(NavigatorScreen, {
|
|
67
|
+
displayName: 'Navigator.Screen'
|
|
68
|
+
}),
|
|
69
|
+
/**
|
|
70
|
+
* The `Navigator.Button` component can be used to navigate to a screen and
|
|
71
|
+
* should be used in combination with the `Navigator`, the `Navigator.Screen`
|
|
72
|
+
* and the `Navigator.BackButton` components.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```jsx
|
|
76
|
+
* import { Navigator } from '@wordpress/components';
|
|
77
|
+
*
|
|
78
|
+
* const MyNavigation = () => (
|
|
79
|
+
* <Navigator initialPath="/">
|
|
80
|
+
* <Navigator.Screen path="/">
|
|
81
|
+
* <p>This is the home screen.</p>
|
|
82
|
+
* <Navigator.Button path="/child">
|
|
83
|
+
* Navigate to child screen.
|
|
84
|
+
* </Navigator.Button>
|
|
85
|
+
* </Navigator.Screen>
|
|
86
|
+
*
|
|
87
|
+
* <Navigator.Screen path="/child">
|
|
88
|
+
* <p>This is the child screen.</p>
|
|
89
|
+
* <Navigator.BackButton>
|
|
90
|
+
* Go back
|
|
91
|
+
* </Navigator.BackButton>
|
|
92
|
+
* </Navigator.Screen>
|
|
93
|
+
* </Navigator>
|
|
94
|
+
* );
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
Button: Object.assign(NavigatorButton, {
|
|
98
|
+
displayName: 'Navigator.Button'
|
|
99
|
+
}),
|
|
100
|
+
/**
|
|
101
|
+
* The `Navigator.BackButton` component can be used to navigate to a screen and
|
|
102
|
+
* should be used in combination with the `Navigator`, the `Navigator.Screen`
|
|
103
|
+
* and the `Navigator.Button` components.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```jsx
|
|
107
|
+
* import { Navigator } from '@wordpress/components';
|
|
108
|
+
*
|
|
109
|
+
* const MyNavigation = () => (
|
|
110
|
+
* <Navigator initialPath="/">
|
|
111
|
+
* <Navigator.Screen path="/">
|
|
112
|
+
* <p>This is the home screen.</p>
|
|
113
|
+
* <Navigator.Button path="/child">
|
|
114
|
+
* Navigate to child screen.
|
|
115
|
+
* </Navigator.Button>
|
|
116
|
+
* </Navigator.Screen>
|
|
117
|
+
*
|
|
118
|
+
* <Navigator.Screen path="/child">
|
|
119
|
+
* <p>This is the child screen.</p>
|
|
120
|
+
* <Navigator.BackButton>
|
|
121
|
+
* Go back
|
|
122
|
+
* </Navigator.BackButton>
|
|
123
|
+
* </Navigator.Screen>
|
|
124
|
+
* </Navigator>
|
|
125
|
+
* );
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
BackButton: Object.assign(NavigatorBackButton, {
|
|
129
|
+
displayName: 'Navigator.BackButton'
|
|
130
|
+
})
|
|
131
|
+
});
|
|
7
132
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Navigator","TopLevelNavigator","NavigatorScreen","NavigatorButton","NavigatorBackButton","useNavigator","Object","assign","Screen","displayName","Button","BackButton"],"sources":["@wordpress/components/src/navigator/index.tsx"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { Navigator as TopLevelNavigator } from './navigator/component';\nimport { NavigatorScreen } from './navigator-screen/component';\nimport { NavigatorButton } from './navigator-button/component';\nimport { NavigatorBackButton } from './navigator-back-button/component';\nexport { useNavigator } from './use-navigator';\n\n/**\n * The `Navigator` component allows rendering nested views/panels/menus\n * (via the `Navigator.Screen` component) and navigate between them\n * (via the `Navigator.Button` and `Navigator.BackButton` components).\n *\n * ```jsx\n * import { Navigator } from '@wordpress/components';\n *\n * const MyNavigation = () => (\n * <Navigator initialPath=\"/\">\n * <Navigator.Screen path=\"/\">\n * <p>This is the home screen.</p>\n * <Navigator.Button path=\"/child\">\n * Navigate to child screen.\n * </Navigator.Button>\n * </Navigator.Screen>\n *\n * <Navigator.Screen path=\"/child\">\n * <p>This is the child screen.</p>\n * <Navigator.BackButton>\n * Go back\n * </Navigator.BackButton>\n * </Navigator.Screen>\n * </Navigator>\n * );\n * ```\n */\nexport const Navigator = Object.assign( TopLevelNavigator, {\n\t/**\n\t * The `Navigator.Screen` component represents a single view/screen/panel and\n\t * should be used in combination with the `Navigator`, the `Navigator.Button`\n\t * and the `Navigator.BackButton` components.\n\t *\n\t * @example\n\t * ```jsx\n\t * import { Navigator } from '@wordpress/components';\n\t *\n\t * const MyNavigation = () => (\n\t * <Navigator initialPath=\"/\">\n\t * <Navigator.Screen path=\"/\">\n\t * <p>This is the home screen.</p>\n\t * <Navigator.Button path=\"/child\">\n\t * Navigate to child screen.\n\t * </Navigator.Button>\n\t * </Navigator.Screen>\n\t *\n\t * <Navigator.Screen path=\"/child\">\n\t * <p>This is the child screen.</p>\n\t * <Navigator.BackButton>\n\t * Go back\n\t * </Navigator.BackButton>\n\t * </Navigator.Screen>\n\t * </Navigator>\n\t * );\n\t * ```\n\t */\n\tScreen: Object.assign( NavigatorScreen, {\n\t\tdisplayName: 'Navigator.Screen',\n\t} ),\n\t/**\n\t * The `Navigator.Button` component can be used to navigate to a screen and\n\t * should be used in combination with the `Navigator`, the `Navigator.Screen`\n\t * and the `Navigator.BackButton` components.\n\t *\n\t * @example\n\t * ```jsx\n\t * import { Navigator } from '@wordpress/components';\n\t *\n\t * const MyNavigation = () => (\n\t * <Navigator initialPath=\"/\">\n\t * <Navigator.Screen path=\"/\">\n\t * <p>This is the home screen.</p>\n\t * <Navigator.Button path=\"/child\">\n\t * Navigate to child screen.\n\t * </Navigator.Button>\n\t * </Navigator.Screen>\n\t *\n\t * <Navigator.Screen path=\"/child\">\n\t * <p>This is the child screen.</p>\n\t * <Navigator.BackButton>\n\t * Go back\n\t * </Navigator.BackButton>\n\t * </Navigator.Screen>\n\t * </Navigator>\n\t * );\n\t * ```\n\t */\n\tButton: Object.assign( NavigatorButton, {\n\t\tdisplayName: 'Navigator.Button',\n\t} ),\n\t/**\n\t * The `Navigator.BackButton` component can be used to navigate to a screen and\n\t * should be used in combination with the `Navigator`, the `Navigator.Screen`\n\t * and the `Navigator.Button` components.\n\t *\n\t * @example\n\t * ```jsx\n\t * import { Navigator } from '@wordpress/components';\n\t *\n\t * const MyNavigation = () => (\n\t * <Navigator initialPath=\"/\">\n\t * <Navigator.Screen path=\"/\">\n\t * <p>This is the home screen.</p>\n\t * <Navigator.Button path=\"/child\">\n\t * Navigate to child screen.\n\t * </Navigator.Button>\n\t * </Navigator.Screen>\n\t *\n\t * <Navigator.Screen path=\"/child\">\n\t * <p>This is the child screen.</p>\n\t * <Navigator.BackButton>\n\t * Go back\n\t * </Navigator.BackButton>\n\t * </Navigator.Screen>\n\t * </Navigator>\n\t * );\n\t * ```\n\t */\n\tBackButton: Object.assign( NavigatorBackButton, {\n\t\tdisplayName: 'Navigator.BackButton',\n\t} ),\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,IAAIC,iBAAiB,QAAQ,uBAAuB;AACtE,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,SAASC,mBAAmB,QAAQ,mCAAmC;AACvE,SAASC,YAAY,QAAQ,iBAAiB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAML,SAAS,GAAGM,MAAM,CAACC,MAAM,CAAEN,iBAAiB,EAAE;EAC1D;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCO,MAAM,EAAEF,MAAM,CAACC,MAAM,CAAEL,eAAe,EAAE;IACvCO,WAAW,EAAE;EACd,CAAE,CAAC;EACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCC,MAAM,EAAEJ,MAAM,CAACC,MAAM,CAAEJ,eAAe,EAAE;IACvCM,WAAW,EAAE;EACd,CAAE,CAAC;EACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCE,UAAU,EAAEL,MAAM,CAACC,MAAM,CAAEH,mBAAmB,EAAE;IAC/CK,WAAW,EAAE;EACd,CAAE;AACH,CAAE,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { Navigator as InternalNavigator } from './navigator/component';
|
|
5
|
+
import { NavigatorScreen as InternalNavigatorScreen } from './navigator-screen/component';
|
|
6
|
+
import { NavigatorButton as InternalNavigatorButton } from './navigator-button/component';
|
|
7
|
+
import { NavigatorBackButton as InternalNavigatorBackButton } from './navigator-back-button/component';
|
|
8
|
+
import { NavigatorToParentButton as InternalNavigatorToParentButton } from './navigator-to-parent-button/component';
|
|
9
|
+
export { useNavigator } from './use-navigator';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The `NavigatorProvider` component allows rendering nested views/panels/menus
|
|
13
|
+
* (via the `NavigatorScreen` component and navigate between them
|
|
14
|
+
* (via the `NavigatorButton` and `NavigatorBackButton` components).
|
|
15
|
+
*
|
|
16
|
+
* ```jsx
|
|
17
|
+
* import {
|
|
18
|
+
* __experimentalNavigatorProvider as NavigatorProvider,
|
|
19
|
+
* __experimentalNavigatorScreen as NavigatorScreen,
|
|
20
|
+
* __experimentalNavigatorButton as NavigatorButton,
|
|
21
|
+
* __experimentalNavigatorBackButton as NavigatorBackButton,
|
|
22
|
+
* } from '@wordpress/components';
|
|
23
|
+
*
|
|
24
|
+
* const MyNavigation = () => (
|
|
25
|
+
* <NavigatorProvider initialPath="/">
|
|
26
|
+
* <NavigatorScreen path="/">
|
|
27
|
+
* <p>This is the home screen.</p>
|
|
28
|
+
* <NavigatorButton path="/child">
|
|
29
|
+
* Navigate to child screen.
|
|
30
|
+
* </NavigatorButton>
|
|
31
|
+
* </NavigatorScreen>
|
|
32
|
+
*
|
|
33
|
+
* <NavigatorScreen path="/child">
|
|
34
|
+
* <p>This is the child screen.</p>
|
|
35
|
+
* <NavigatorBackButton>
|
|
36
|
+
* Go back
|
|
37
|
+
* </NavigatorBackButton>
|
|
38
|
+
* </NavigatorScreen>
|
|
39
|
+
* </NavigatorProvider>
|
|
40
|
+
* );
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export const NavigatorProvider = Object.assign(InternalNavigator, {
|
|
44
|
+
displayName: 'NavigatorProvider'
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The `NavigatorScreen` component represents a single view/screen/panel and
|
|
49
|
+
* should be used in combination with the `NavigatorProvider`, the
|
|
50
|
+
* `NavigatorButton` and the `NavigatorBackButton` components.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```jsx
|
|
54
|
+
* import {
|
|
55
|
+
* __experimentalNavigatorProvider as NavigatorProvider,
|
|
56
|
+
* __experimentalNavigatorScreen as NavigatorScreen,
|
|
57
|
+
* __experimentalNavigatorButton as NavigatorButton,
|
|
58
|
+
* __experimentalNavigatorBackButton as NavigatorBackButton,
|
|
59
|
+
* } from '@wordpress/components';
|
|
60
|
+
*
|
|
61
|
+
* const MyNavigation = () => (
|
|
62
|
+
* <NavigatorProvider initialPath="/">
|
|
63
|
+
* <NavigatorScreen path="/">
|
|
64
|
+
* <p>This is the home screen.</p>
|
|
65
|
+
* <NavigatorButton path="/child">
|
|
66
|
+
* Navigate to child screen.
|
|
67
|
+
* </NavigatorButton>
|
|
68
|
+
* </NavigatorScreen>
|
|
69
|
+
*
|
|
70
|
+
* <NavigatorScreen path="/child">
|
|
71
|
+
* <p>This is the child screen.</p>
|
|
72
|
+
* <NavigatorBackButton>
|
|
73
|
+
* Go back
|
|
74
|
+
* </NavigatorBackButton>
|
|
75
|
+
* </NavigatorScreen>
|
|
76
|
+
* </NavigatorProvider>
|
|
77
|
+
* );
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export const NavigatorScreen = Object.assign(InternalNavigatorScreen, {
|
|
81
|
+
displayName: 'NavigatorScreen'
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* The `NavigatorButton` component can be used to navigate to a screen and should
|
|
86
|
+
* be used in combination with the `NavigatorProvider`, the `NavigatorScreen`
|
|
87
|
+
* and the `NavigatorBackButton` components.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```jsx
|
|
91
|
+
* import {
|
|
92
|
+
* __experimentalNavigatorProvider as NavigatorProvider,
|
|
93
|
+
* __experimentalNavigatorScreen as NavigatorScreen,
|
|
94
|
+
* __experimentalNavigatorButton as NavigatorButton,
|
|
95
|
+
* __experimentalNavigatorBackButton as NavigatorBackButton,
|
|
96
|
+
* } from '@wordpress/components';
|
|
97
|
+
*
|
|
98
|
+
* const MyNavigation = () => (
|
|
99
|
+
* <NavigatorProvider initialPath="/">
|
|
100
|
+
* <NavigatorScreen path="/">
|
|
101
|
+
* <p>This is the home screen.</p>
|
|
102
|
+
* <NavigatorButton path="/child">
|
|
103
|
+
* Navigate to child screen.
|
|
104
|
+
* </NavigatorButton>
|
|
105
|
+
* </NavigatorScreen>
|
|
106
|
+
*
|
|
107
|
+
* <NavigatorScreen path="/child">
|
|
108
|
+
* <p>This is the child screen.</p>
|
|
109
|
+
* <NavigatorBackButton>
|
|
110
|
+
* Go back
|
|
111
|
+
* </NavigatorBackButton>
|
|
112
|
+
* </NavigatorScreen>
|
|
113
|
+
* </NavigatorProvider>
|
|
114
|
+
* );
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
export const NavigatorButton = Object.assign(InternalNavigatorButton, {
|
|
118
|
+
displayName: 'NavigatorButton'
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* The `NavigatorBackButton` component can be used to navigate to a screen and
|
|
123
|
+
* should be used in combination with the `NavigatorProvider`, the
|
|
124
|
+
* `NavigatorScreen` and the `NavigatorButton` components.
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```jsx
|
|
128
|
+
* import {
|
|
129
|
+
* __experimentalNavigatorProvider as NavigatorProvider,
|
|
130
|
+
* __experimentalNavigatorScreen as NavigatorScreen,
|
|
131
|
+
* __experimentalNavigatorButton as NavigatorButton,
|
|
132
|
+
* __experimentalNavigatorBackButton as NavigatorBackButton,
|
|
133
|
+
* } from '@wordpress/components';
|
|
134
|
+
*
|
|
135
|
+
* const MyNavigation = () => (
|
|
136
|
+
* <NavigatorProvider initialPath="/">
|
|
137
|
+
* <NavigatorScreen path="/">
|
|
138
|
+
* <p>This is the home screen.</p>
|
|
139
|
+
* <NavigatorButton path="/child">
|
|
140
|
+
* Navigate to child screen.
|
|
141
|
+
* </NavigatorButton>
|
|
142
|
+
* </NavigatorScreen>
|
|
143
|
+
*
|
|
144
|
+
* <NavigatorScreen path="/child">
|
|
145
|
+
* <p>This is the child screen.</p>
|
|
146
|
+
* <NavigatorBackButton>
|
|
147
|
+
* Go back (to parent)
|
|
148
|
+
* </NavigatorBackButton>
|
|
149
|
+
* </NavigatorScreen>
|
|
150
|
+
* </NavigatorProvider>
|
|
151
|
+
* );
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
export const NavigatorBackButton = Object.assign(InternalNavigatorBackButton, {
|
|
155
|
+
displayName: 'NavigatorBackButton'
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* _Note: this component is deprecated. Please use the `NavigatorBackButton`
|
|
160
|
+
* component instead._
|
|
161
|
+
*
|
|
162
|
+
* @deprecated
|
|
163
|
+
*/
|
|
164
|
+
export const NavigatorToParentButton = Object.assign(InternalNavigatorToParentButton, {
|
|
165
|
+
displayName: 'NavigatorToParentButton'
|
|
166
|
+
});
|
|
167
|
+
//# sourceMappingURL=legacy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Navigator","InternalNavigator","NavigatorScreen","InternalNavigatorScreen","NavigatorButton","InternalNavigatorButton","NavigatorBackButton","InternalNavigatorBackButton","NavigatorToParentButton","InternalNavigatorToParentButton","useNavigator","NavigatorProvider","Object","assign","displayName"],"sources":["@wordpress/components/src/navigator/legacy.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { Navigator as InternalNavigator } from './navigator/component';\nimport { NavigatorScreen as InternalNavigatorScreen } from './navigator-screen/component';\nimport { NavigatorButton as InternalNavigatorButton } from './navigator-button/component';\nimport { NavigatorBackButton as InternalNavigatorBackButton } from './navigator-back-button/component';\nimport { NavigatorToParentButton as InternalNavigatorToParentButton } from './navigator-to-parent-button/component';\nexport { useNavigator } from './use-navigator';\n\n/**\n * The `NavigatorProvider` component allows rendering nested views/panels/menus\n * (via the `NavigatorScreen` component and navigate between them\n * (via the `NavigatorButton` and `NavigatorBackButton` components).\n *\n * ```jsx\n * import {\n * __experimentalNavigatorProvider as NavigatorProvider,\n * __experimentalNavigatorScreen as NavigatorScreen,\n * __experimentalNavigatorButton as NavigatorButton,\n * __experimentalNavigatorBackButton as NavigatorBackButton,\n * } from '@wordpress/components';\n *\n * const MyNavigation = () => (\n * <NavigatorProvider initialPath=\"/\">\n * <NavigatorScreen path=\"/\">\n * <p>This is the home screen.</p>\n * <NavigatorButton path=\"/child\">\n * Navigate to child screen.\n * </NavigatorButton>\n * </NavigatorScreen>\n *\n * <NavigatorScreen path=\"/child\">\n * <p>This is the child screen.</p>\n * <NavigatorBackButton>\n * Go back\n * </NavigatorBackButton>\n * </NavigatorScreen>\n * </NavigatorProvider>\n * );\n * ```\n */\nexport const NavigatorProvider = Object.assign( InternalNavigator, {\n\tdisplayName: 'NavigatorProvider',\n} );\n\n/**\n * The `NavigatorScreen` component represents a single view/screen/panel and\n * should be used in combination with the `NavigatorProvider`, the\n * `NavigatorButton` and the `NavigatorBackButton` components.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalNavigatorProvider as NavigatorProvider,\n * __experimentalNavigatorScreen as NavigatorScreen,\n * __experimentalNavigatorButton as NavigatorButton,\n * __experimentalNavigatorBackButton as NavigatorBackButton,\n * } from '@wordpress/components';\n *\n * const MyNavigation = () => (\n * <NavigatorProvider initialPath=\"/\">\n * <NavigatorScreen path=\"/\">\n * <p>This is the home screen.</p>\n * <NavigatorButton path=\"/child\">\n * Navigate to child screen.\n * </NavigatorButton>\n * </NavigatorScreen>\n *\n * <NavigatorScreen path=\"/child\">\n * <p>This is the child screen.</p>\n * <NavigatorBackButton>\n * Go back\n * </NavigatorBackButton>\n * </NavigatorScreen>\n * </NavigatorProvider>\n * );\n * ```\n */\nexport const NavigatorScreen = Object.assign( InternalNavigatorScreen, {\n\tdisplayName: 'NavigatorScreen',\n} );\n\n/**\n * The `NavigatorButton` component can be used to navigate to a screen and should\n * be used in combination with the `NavigatorProvider`, the `NavigatorScreen`\n * and the `NavigatorBackButton` components.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalNavigatorProvider as NavigatorProvider,\n * __experimentalNavigatorScreen as NavigatorScreen,\n * __experimentalNavigatorButton as NavigatorButton,\n * __experimentalNavigatorBackButton as NavigatorBackButton,\n * } from '@wordpress/components';\n *\n * const MyNavigation = () => (\n * <NavigatorProvider initialPath=\"/\">\n * <NavigatorScreen path=\"/\">\n * <p>This is the home screen.</p>\n * <NavigatorButton path=\"/child\">\n * Navigate to child screen.\n * </NavigatorButton>\n * </NavigatorScreen>\n *\n * <NavigatorScreen path=\"/child\">\n * <p>This is the child screen.</p>\n * <NavigatorBackButton>\n * Go back\n * </NavigatorBackButton>\n * </NavigatorScreen>\n * </NavigatorProvider>\n * );\n * ```\n */\nexport const NavigatorButton = Object.assign( InternalNavigatorButton, {\n\tdisplayName: 'NavigatorButton',\n} );\n\n/**\n * The `NavigatorBackButton` component can be used to navigate to a screen and\n * should be used in combination with the `NavigatorProvider`, the\n * `NavigatorScreen` and the `NavigatorButton` components.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalNavigatorProvider as NavigatorProvider,\n * __experimentalNavigatorScreen as NavigatorScreen,\n * __experimentalNavigatorButton as NavigatorButton,\n * __experimentalNavigatorBackButton as NavigatorBackButton,\n * } from '@wordpress/components';\n *\n * const MyNavigation = () => (\n * <NavigatorProvider initialPath=\"/\">\n * <NavigatorScreen path=\"/\">\n * <p>This is the home screen.</p>\n * <NavigatorButton path=\"/child\">\n * Navigate to child screen.\n * </NavigatorButton>\n * </NavigatorScreen>\n *\n * <NavigatorScreen path=\"/child\">\n * <p>This is the child screen.</p>\n * <NavigatorBackButton>\n * Go back (to parent)\n * </NavigatorBackButton>\n * </NavigatorScreen>\n * </NavigatorProvider>\n * );\n * ```\n */\nexport const NavigatorBackButton = Object.assign( InternalNavigatorBackButton, {\n\tdisplayName: 'NavigatorBackButton',\n} );\n\n/**\n * _Note: this component is deprecated. Please use the `NavigatorBackButton`\n * component instead._\n *\n * @deprecated\n */\nexport const NavigatorToParentButton = Object.assign(\n\tInternalNavigatorToParentButton,\n\t{\n\t\tdisplayName: 'NavigatorToParentButton',\n\t}\n);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,IAAIC,iBAAiB,QAAQ,uBAAuB;AACtE,SAASC,eAAe,IAAIC,uBAAuB,QAAQ,8BAA8B;AACzF,SAASC,eAAe,IAAIC,uBAAuB,QAAQ,8BAA8B;AACzF,SAASC,mBAAmB,IAAIC,2BAA2B,QAAQ,mCAAmC;AACtG,SAASC,uBAAuB,IAAIC,+BAA+B,QAAQ,wCAAwC;AACnH,SAASC,YAAY,QAAQ,iBAAiB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAGC,MAAM,CAACC,MAAM,CAAEZ,iBAAiB,EAAE;EAClEa,WAAW,EAAE;AACd,CAAE,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMZ,eAAe,GAAGU,MAAM,CAACC,MAAM,CAAEV,uBAAuB,EAAE;EACtEW,WAAW,EAAE;AACd,CAAE,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMV,eAAe,GAAGQ,MAAM,CAACC,MAAM,CAAER,uBAAuB,EAAE;EACtES,WAAW,EAAE;AACd,CAAE,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMR,mBAAmB,GAAGM,MAAM,CAACC,MAAM,CAAEN,2BAA2B,EAAE;EAC9EO,WAAW,EAAE;AACd,CAAE,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMN,uBAAuB,GAAGI,MAAM,CAACC,MAAM,CACnDJ,+BAA+B,EAC/B;EACCK,WAAW,EAAE;AACd,CACD,CAAC","ignoreList":[]}
|
|
@@ -175,13 +175,13 @@ function routerReducer(state, action) {
|
|
|
175
175
|
focusSelectors
|
|
176
176
|
};
|
|
177
177
|
}
|
|
178
|
-
function
|
|
178
|
+
function UnconnectedNavigator(props, forwardedRef) {
|
|
179
179
|
const {
|
|
180
180
|
initialPath: initialPathProp,
|
|
181
181
|
children,
|
|
182
182
|
className,
|
|
183
183
|
...otherProps
|
|
184
|
-
} = useContextSystem(props, '
|
|
184
|
+
} = useContextSystem(props, 'Navigator');
|
|
185
185
|
const [routerState, dispatch] = useReducer(routerReducer, initialPathProp, path => ({
|
|
186
186
|
screens: [],
|
|
187
187
|
currentLocation: {
|
|
@@ -240,7 +240,7 @@ function UnconnectedNavigatorProvider(props, forwardedRef) {
|
|
|
240
240
|
};
|
|
241
241
|
}, [currentLocation, matchedPath, methods]);
|
|
242
242
|
const cx = useCx();
|
|
243
|
-
const classes = useMemo(() => cx(styles.
|
|
243
|
+
const classes = useMemo(() => cx(styles.navigatorWrapper, className), [className, cx]);
|
|
244
244
|
return /*#__PURE__*/_jsx(View, {
|
|
245
245
|
ref: forwardedRef,
|
|
246
246
|
className: classes,
|
|
@@ -251,40 +251,5 @@ function UnconnectedNavigatorProvider(props, forwardedRef) {
|
|
|
251
251
|
})
|
|
252
252
|
});
|
|
253
253
|
}
|
|
254
|
-
|
|
255
|
-
/**
|
|
256
|
-
* The `NavigatorProvider` component allows rendering nested views/panels/menus
|
|
257
|
-
* (via the `NavigatorScreen` component and navigate between these different
|
|
258
|
-
* view (via the `NavigatorButton` and `NavigatorBackButton` components or the
|
|
259
|
-
* `useNavigator` hook).
|
|
260
|
-
*
|
|
261
|
-
* ```jsx
|
|
262
|
-
* import {
|
|
263
|
-
* __experimentalNavigatorProvider as NavigatorProvider,
|
|
264
|
-
* __experimentalNavigatorScreen as NavigatorScreen,
|
|
265
|
-
* __experimentalNavigatorButton as NavigatorButton,
|
|
266
|
-
* __experimentalNavigatorBackButton as NavigatorBackButton,
|
|
267
|
-
* } from '@wordpress/components';
|
|
268
|
-
*
|
|
269
|
-
* const MyNavigation = () => (
|
|
270
|
-
* <NavigatorProvider initialPath="/">
|
|
271
|
-
* <NavigatorScreen path="/">
|
|
272
|
-
* <p>This is the home screen.</p>
|
|
273
|
-
* <NavigatorButton path="/child">
|
|
274
|
-
* Navigate to child screen.
|
|
275
|
-
* </NavigatorButton>
|
|
276
|
-
* </NavigatorScreen>
|
|
277
|
-
*
|
|
278
|
-
* <NavigatorScreen path="/child">
|
|
279
|
-
* <p>This is the child screen.</p>
|
|
280
|
-
* <NavigatorBackButton>
|
|
281
|
-
* Go back
|
|
282
|
-
* </NavigatorBackButton>
|
|
283
|
-
* </NavigatorScreen>
|
|
284
|
-
* </NavigatorProvider>
|
|
285
|
-
* );
|
|
286
|
-
* ```
|
|
287
|
-
*/
|
|
288
|
-
export const NavigatorProvider = contextConnect(UnconnectedNavigatorProvider, 'NavigatorProvider');
|
|
289
|
-
export default NavigatorProvider;
|
|
254
|
+
export const Navigator = contextConnect(UnconnectedNavigator, 'Navigator');
|
|
290
255
|
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","useReducer","isShallowEqual","warning","contextConnect","useContextSystem","useCx","patternMatch","findParent","View","NavigatorContext","styles","deprecated","jsx","_jsx","addScreen","screens","screen","some","s","path","globalThis","SCRIPT_DEBUG","id","removeScreen","filter","goTo","state","options","_focusSelectorsCopy2","focusSelectors","currentLocation","isBack","skipFocus","replace","focusTargetSelector","restOptions","focusSelectorsCopy","getFocusSelectorsCopy","_focusSelectorsCopy","Map","set","currentFocusSelector","get","delete","isInitial","hasRestoredFocus","goToParent","currentPath","undefined","parentPath","routerReducer","action","matchedPath","restState","type","params","UnconnectedNavigator","props","forwardedRef","initialPath","initialPathProp","children","className","otherProps","routerState","dispatch","methods","goBack","since","alternative","navigatorContextValue","_matchedPath$params","location","match","cx","classes","navigatorWrapper","ref","Provider","value","Navigator"],"sources":["@wordpress/components/src/navigator/navigator/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useReducer } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { contextConnect, useContextSystem } from '../../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport { patternMatch, findParent } from '../utils/router';\nimport { View } from '../../view';\nimport { NavigatorContext } from '../context';\nimport * as styles from '../styles';\nimport type {\n\tNavigatorProps,\n\tNavigatorLocation,\n\tNavigatorContext as NavigatorContextType,\n\tNavigateOptions,\n\tScreen,\n\tNavigateToParentOptions,\n} from '../types';\nimport deprecated from '@wordpress/deprecated';\n\ntype MatchedPath = ReturnType< typeof patternMatch >;\n\ntype RouterAction =\n\t| { type: 'add' | 'remove'; screen: Screen }\n\t| { type: 'goto'; path: string; options?: NavigateOptions }\n\t| { type: 'gotoparent'; options?: NavigateToParentOptions };\n\ntype RouterState = {\n\tinitialPath: string;\n\tscreens: Screen[];\n\tcurrentLocation: NavigatorLocation;\n\tmatchedPath: MatchedPath;\n\tfocusSelectors: Map< string, string >;\n};\n\nfunction addScreen( { screens }: RouterState, screen: Screen ) {\n\tif ( screens.some( ( s ) => s.path === screen.path ) ) {\n\t\twarning(\n\t\t\t`Navigator: a screen with path ${ screen.path } already exists.\nThe screen with id ${ screen.id } will not be added.`\n\t\t);\n\t\treturn screens;\n\t}\n\treturn [ ...screens, screen ];\n}\n\nfunction removeScreen( { screens }: RouterState, screen: Screen ) {\n\treturn screens.filter( ( s ) => s.id !== screen.id );\n}\n\nfunction goTo(\n\tstate: RouterState,\n\tpath: string,\n\toptions: NavigateOptions = {}\n) {\n\tconst { focusSelectors } = state;\n\tconst currentLocation = { ...state.currentLocation };\n\n\tconst {\n\t\t// Default assignments\n\t\tisBack = false,\n\t\tskipFocus = false,\n\t\t// Extract to avoid forwarding\n\t\treplace,\n\t\tfocusTargetSelector,\n\t\t// Rest\n\t\t...restOptions\n\t} = options;\n\n\tif ( currentLocation.path === path ) {\n\t\treturn { currentLocation, focusSelectors };\n\t}\n\n\tlet focusSelectorsCopy: typeof focusSelectors | undefined;\n\tfunction getFocusSelectorsCopy() {\n\t\tfocusSelectorsCopy =\n\t\t\tfocusSelectorsCopy ?? new Map( state.focusSelectors );\n\t\treturn focusSelectorsCopy;\n\t}\n\n\t// Set a focus selector that will be used when navigating\n\t// back to the current location.\n\tif ( focusTargetSelector && currentLocation.path ) {\n\t\tgetFocusSelectorsCopy().set(\n\t\t\tcurrentLocation.path,\n\t\t\tfocusTargetSelector\n\t\t);\n\t}\n\n\t// Get the focus selector for the new location.\n\tlet currentFocusSelector;\n\tif ( focusSelectors.get( path ) ) {\n\t\tif ( isBack ) {\n\t\t\t// Use the found focus selector only when navigating back.\n\t\t\tcurrentFocusSelector = focusSelectors.get( path );\n\t\t}\n\t\t// Make a copy of the focusSelectors map to remove the focus selector\n\t\t// only if necessary (ie. a focus selector was found).\n\t\tgetFocusSelectorsCopy().delete( path );\n\t}\n\n\treturn {\n\t\tcurrentLocation: {\n\t\t\t...restOptions,\n\t\t\tisInitial: false,\n\t\t\tpath,\n\t\t\tisBack,\n\t\t\thasRestoredFocus: false,\n\t\t\tfocusTargetSelector: currentFocusSelector,\n\t\t\tskipFocus,\n\t\t},\n\t\tfocusSelectors: focusSelectorsCopy ?? focusSelectors,\n\t};\n}\n\nfunction goToParent(\n\tstate: RouterState,\n\toptions: NavigateToParentOptions = {}\n) {\n\tconst { screens, focusSelectors } = state;\n\tconst currentLocation = { ...state.currentLocation };\n\tconst currentPath = currentLocation.path;\n\tif ( currentPath === undefined ) {\n\t\treturn { currentLocation, focusSelectors };\n\t}\n\tconst parentPath = findParent( currentPath, screens );\n\tif ( parentPath === undefined ) {\n\t\treturn { currentLocation, focusSelectors };\n\t}\n\treturn goTo( state, parentPath, {\n\t\t...options,\n\t\tisBack: true,\n\t} );\n}\n\nfunction routerReducer(\n\tstate: RouterState,\n\taction: RouterAction\n): RouterState {\n\tlet {\n\t\tscreens,\n\t\tcurrentLocation,\n\t\tmatchedPath,\n\t\tfocusSelectors,\n\t\t...restState\n\t} = state;\n\tswitch ( action.type ) {\n\t\tcase 'add':\n\t\t\tscreens = addScreen( state, action.screen );\n\t\t\tbreak;\n\t\tcase 'remove':\n\t\t\tscreens = removeScreen( state, action.screen );\n\t\t\tbreak;\n\t\tcase 'goto':\n\t\t\t( { currentLocation, focusSelectors } = goTo(\n\t\t\t\tstate,\n\t\t\t\taction.path,\n\t\t\t\taction.options\n\t\t\t) );\n\t\t\tbreak;\n\t\tcase 'gotoparent':\n\t\t\t( { currentLocation, focusSelectors } = goToParent(\n\t\t\t\tstate,\n\t\t\t\taction.options\n\t\t\t) );\n\t\t\tbreak;\n\t}\n\n\t// Return early in case there is no change\n\tif (\n\t\tscreens === state.screens &&\n\t\tcurrentLocation === state.currentLocation\n\t) {\n\t\treturn state;\n\t}\n\n\t// Compute the matchedPath\n\tconst currentPath = currentLocation.path;\n\tmatchedPath =\n\t\tcurrentPath !== undefined\n\t\t\t? patternMatch( currentPath, screens )\n\t\t\t: undefined;\n\n\t// If the new match is the same as the previous match,\n\t// return the previous one to keep immutability.\n\tif (\n\t\tmatchedPath &&\n\t\tstate.matchedPath &&\n\t\tmatchedPath.id === state.matchedPath.id &&\n\t\tisShallowEqual( matchedPath.params, state.matchedPath.params )\n\t) {\n\t\tmatchedPath = state.matchedPath;\n\t}\n\n\treturn {\n\t\t...restState,\n\t\tscreens,\n\t\tcurrentLocation,\n\t\tmatchedPath,\n\t\tfocusSelectors,\n\t};\n}\n\nfunction UnconnectedNavigator(\n\tprops: WordPressComponentProps< NavigatorProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\tinitialPath: initialPathProp,\n\t\tchildren,\n\t\tclassName,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Navigator' );\n\n\tconst [ routerState, dispatch ] = useReducer(\n\t\trouterReducer,\n\t\tinitialPathProp,\n\t\t( path ) => ( {\n\t\t\tscreens: [],\n\t\t\tcurrentLocation: { path, isInitial: true },\n\t\t\tmatchedPath: undefined,\n\t\t\tfocusSelectors: new Map(),\n\t\t\tinitialPath: initialPathProp,\n\t\t} )\n\t);\n\n\t// The methods are constant forever, create stable references to them.\n\tconst methods = useMemo(\n\t\t() => ( {\n\t\t\t// Note: calling goBack calls `goToParent` internally, as it was established\n\t\t\t// that `goBack` should behave like `goToParent`, and `goToParent` should\n\t\t\t// be marked as deprecated.\n\t\t\tgoBack: ( options: NavigateToParentOptions | undefined ) =>\n\t\t\t\tdispatch( { type: 'gotoparent', options } ),\n\t\t\tgoTo: ( path: string, options?: NavigateOptions ) =>\n\t\t\t\tdispatch( { type: 'goto', path, options } ),\n\t\t\tgoToParent: ( options: NavigateToParentOptions | undefined ) => {\n\t\t\t\tdeprecated( `wp.components.useNavigator().goToParent`, {\n\t\t\t\t\tsince: '6.7',\n\t\t\t\t\talternative: 'wp.components.useNavigator().goBack',\n\t\t\t\t} );\n\t\t\t\tdispatch( { type: 'gotoparent', options } );\n\t\t\t},\n\t\t\taddScreen: ( screen: Screen ) =>\n\t\t\t\tdispatch( { type: 'add', screen } ),\n\t\t\tremoveScreen: ( screen: Screen ) =>\n\t\t\t\tdispatch( { type: 'remove', screen } ),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst { currentLocation, matchedPath } = routerState;\n\n\tconst navigatorContextValue: NavigatorContextType = useMemo(\n\t\t() => ( {\n\t\t\tlocation: currentLocation,\n\t\t\tparams: matchedPath?.params ?? {},\n\t\t\tmatch: matchedPath?.id,\n\t\t\t...methods,\n\t\t} ),\n\t\t[ currentLocation, matchedPath, methods ]\n\t);\n\n\tconst cx = useCx();\n\tconst classes = useMemo(\n\t\t() => cx( styles.navigatorWrapper, className ),\n\t\t[ className, cx ]\n\t);\n\n\treturn (\n\t\t<View ref={ forwardedRef } className={ classes } { ...otherProps }>\n\t\t\t<NavigatorContext.Provider value={ navigatorContextValue }>\n\t\t\t\t{ children }\n\t\t\t</NavigatorContext.Provider>\n\t\t</View>\n\t);\n}\n\nexport const Navigator = contextConnect( UnconnectedNavigator, 'Navigator' );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,41 +17,5 @@ function UnconnectedNavigatorBackButton(props, forwardedRef) {
|
|
|
17
17
|
...navigatorBackButtonProps
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* The `NavigatorBackButton` component can be used to navigate to a screen and
|
|
23
|
-
* should be used in combination with the `NavigatorProvider`, the
|
|
24
|
-
* `NavigatorScreen` and the `NavigatorButton` components (or the `useNavigator`
|
|
25
|
-
* hook).
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* ```jsx
|
|
29
|
-
* import {
|
|
30
|
-
* __experimentalNavigatorProvider as NavigatorProvider,
|
|
31
|
-
* __experimentalNavigatorScreen as NavigatorScreen,
|
|
32
|
-
* __experimentalNavigatorButton as NavigatorButton,
|
|
33
|
-
* __experimentalNavigatorBackButton as NavigatorBackButton,
|
|
34
|
-
* } from '@wordpress/components';
|
|
35
|
-
*
|
|
36
|
-
* const MyNavigation = () => (
|
|
37
|
-
* <NavigatorProvider initialPath="/">
|
|
38
|
-
* <NavigatorScreen path="/">
|
|
39
|
-
* <p>This is the home screen.</p>
|
|
40
|
-
* <NavigatorButton path="/child">
|
|
41
|
-
* Navigate to child screen.
|
|
42
|
-
* </NavigatorButton>
|
|
43
|
-
* </NavigatorScreen>
|
|
44
|
-
*
|
|
45
|
-
* <NavigatorScreen path="/child">
|
|
46
|
-
* <p>This is the child screen.</p>
|
|
47
|
-
* <NavigatorBackButton>
|
|
48
|
-
* Go back (to parent)
|
|
49
|
-
* </NavigatorBackButton>
|
|
50
|
-
* </NavigatorScreen>
|
|
51
|
-
* </NavigatorProvider>
|
|
52
|
-
* );
|
|
53
|
-
* ```
|
|
54
|
-
*/
|
|
55
|
-
export const NavigatorBackButton = contextConnect(UnconnectedNavigatorBackButton, 'NavigatorBackButton');
|
|
56
|
-
export default NavigatorBackButton;
|
|
20
|
+
export const NavigatorBackButton = contextConnect(UnconnectedNavigatorBackButton, 'Navigator.BackButton');
|
|
57
21
|
//# sourceMappingURL=component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["contextConnect","View","useNavigatorBackButton","jsx","_jsx","UnconnectedNavigatorBackButton","props","forwardedRef","navigatorBackButtonProps","ref","NavigatorBackButton"],"sources":["@wordpress/components/src/navigator/navigator-back-button/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { contextConnect } from '../../context';\nimport { View } from '../../view';\nimport { useNavigatorBackButton } from './hook';\nimport type { NavigatorBackButtonProps } from '../types';\n\nfunction UnconnectedNavigatorBackButton(\n\tprops: WordPressComponentProps< NavigatorBackButtonProps, 'button' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst navigatorBackButtonProps = useNavigatorBackButton( props );\n\n\treturn <View ref={ forwardedRef } { ...navigatorBackButtonProps } />;\n}\n\
|
|
1
|
+
{"version":3,"names":["contextConnect","View","useNavigatorBackButton","jsx","_jsx","UnconnectedNavigatorBackButton","props","forwardedRef","navigatorBackButtonProps","ref","NavigatorBackButton"],"sources":["@wordpress/components/src/navigator/navigator-back-button/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { contextConnect } from '../../context';\nimport { View } from '../../view';\nimport { useNavigatorBackButton } from './hook';\nimport type { NavigatorBackButtonProps } from '../types';\n\nfunction UnconnectedNavigatorBackButton(\n\tprops: WordPressComponentProps< NavigatorBackButtonProps, 'button' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst navigatorBackButtonProps = useNavigatorBackButton( props );\n\n\treturn <View ref={ forwardedRef } { ...navigatorBackButtonProps } />;\n}\n\nexport const NavigatorBackButton = contextConnect(\n\tUnconnectedNavigatorBackButton,\n\t'Navigator.BackButton'\n);\n"],"mappings":"AAAA;AACA;AACA;;AAGA;AACA;AACA;;AAEA,SAASA,cAAc,QAAQ,eAAe;AAC9C,SAASC,IAAI,QAAQ,YAAY;AACjC,SAASC,sBAAsB,QAAQ,QAAQ;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGhD,SAASC,8BAA8BA,CACtCC,KAAoE,EACpEC,YAAiC,EAChC;EACD,MAAMC,wBAAwB,GAAGN,sBAAsB,CAAEI,KAAM,CAAC;EAEhE,oBAAOF,IAAA,CAACH,IAAI;IAACQ,GAAG,EAAGF,YAAc;IAAA,GAAMC;EAAwB,CAAI,CAAC;AACrE;AAEA,OAAO,MAAME,mBAAmB,GAAGV,cAAc,CAChDK,8BAA8B,EAC9B,sBACD,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useContextSystem","Button","useNavigator","useNavigatorBackButton","props","onClick","as","otherProps","goBack","handleClick","e","preventDefault"],"sources":["@wordpress/components/src/navigator/navigator-back-button/hook.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { useContextSystem } from '../../context';\nimport Button from '../../button';\nimport { useNavigator } from '../use-navigator';\nimport type { NavigatorBackButtonProps } from '../types';\n\nexport function useNavigatorBackButton(\n\tprops: WordPressComponentProps< NavigatorBackButtonProps, 'button' >\n) {\n\tconst {\n\t\tonClick,\n\t\tas = Button,\n\n\t\t...otherProps\n\t} = useContextSystem( props, '
|
|
1
|
+
{"version":3,"names":["useCallback","useContextSystem","Button","useNavigator","useNavigatorBackButton","props","onClick","as","otherProps","goBack","handleClick","e","preventDefault"],"sources":["@wordpress/components/src/navigator/navigator-back-button/hook.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { useContextSystem } from '../../context';\nimport Button from '../../button';\nimport { useNavigator } from '../use-navigator';\nimport type { NavigatorBackButtonProps } from '../types';\n\nexport function useNavigatorBackButton(\n\tprops: WordPressComponentProps< NavigatorBackButtonProps, 'button' >\n) {\n\tconst {\n\t\tonClick,\n\t\tas = Button,\n\n\t\t...otherProps\n\t} = useContextSystem( props, 'Navigator.BackButton' );\n\n\tconst { goBack } = useNavigator();\n\tconst handleClick: React.MouseEventHandler< HTMLButtonElement > =\n\t\tuseCallback(\n\t\t\t( e ) => {\n\t\t\t\te.preventDefault();\n\t\t\t\tgoBack();\n\t\t\t\tonClick?.( e );\n\t\t\t},\n\t\t\t[ goBack, onClick ]\n\t\t);\n\n\treturn {\n\t\tas,\n\t\tonClick: handleClick,\n\t\t...otherProps,\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,oBAAoB;;AAEhD;AACA;AACA;;AAEA,SAASC,gBAAgB,QAAQ,eAAe;AAChD,OAAOC,MAAM,MAAM,cAAc;AACjC,SAASC,YAAY,QAAQ,kBAAkB;AAG/C,OAAO,SAASC,sBAAsBA,CACrCC,KAAoE,EACnE;EACD,MAAM;IACLC,OAAO;IACPC,EAAE,GAAGL,MAAM;IAEX,GAAGM;EACJ,CAAC,GAAGP,gBAAgB,CAAEI,KAAK,EAAE,sBAAuB,CAAC;EAErD,MAAM;IAAEI;EAAO,CAAC,GAAGN,YAAY,CAAC,CAAC;EACjC,MAAMO,WAAyD,GAC9DV,WAAW,CACRW,CAAC,IAAM;IACRA,CAAC,CAACC,cAAc,CAAC,CAAC;IAClBH,MAAM,CAAC,CAAC;IACRH,OAAO,GAAIK,CAAE,CAAC;EACf,CAAC,EACD,CAAEF,MAAM,EAAEH,OAAO,CAClB,CAAC;EAEF,OAAO;IACNC,EAAE;IACFD,OAAO,EAAEI,WAAW;IACpB,GAAGF;EACJ,CAAC;AACF","ignoreList":[]}
|
|
@@ -17,40 +17,5 @@ function UnconnectedNavigatorButton(props, forwardedRef) {
|
|
|
17
17
|
...navigatorButtonProps
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* The `NavigatorButton` component can be used to navigate to a screen and should
|
|
23
|
-
* be used in combination with the `NavigatorProvider`, the `NavigatorScreen`
|
|
24
|
-
* and the `NavigatorBackButton` components (or the `useNavigator` hook).
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* ```jsx
|
|
28
|
-
* import {
|
|
29
|
-
* __experimentalNavigatorProvider as NavigatorProvider,
|
|
30
|
-
* __experimentalNavigatorScreen as NavigatorScreen,
|
|
31
|
-
* __experimentalNavigatorButton as NavigatorButton,
|
|
32
|
-
* __experimentalNavigatorBackButton as NavigatorBackButton,
|
|
33
|
-
* } from '@wordpress/components';
|
|
34
|
-
*
|
|
35
|
-
* const MyNavigation = () => (
|
|
36
|
-
* <NavigatorProvider initialPath="/">
|
|
37
|
-
* <NavigatorScreen path="/">
|
|
38
|
-
* <p>This is the home screen.</p>
|
|
39
|
-
* <NavigatorButton path="/child">
|
|
40
|
-
* Navigate to child screen.
|
|
41
|
-
* </NavigatorButton>
|
|
42
|
-
* </NavigatorScreen>
|
|
43
|
-
*
|
|
44
|
-
* <NavigatorScreen path="/child">
|
|
45
|
-
* <p>This is the child screen.</p>
|
|
46
|
-
* <NavigatorBackButton>
|
|
47
|
-
* Go back
|
|
48
|
-
* </NavigatorBackButton>
|
|
49
|
-
* </NavigatorScreen>
|
|
50
|
-
* </NavigatorProvider>
|
|
51
|
-
* );
|
|
52
|
-
* ```
|
|
53
|
-
*/
|
|
54
|
-
export const NavigatorButton = contextConnect(UnconnectedNavigatorButton, 'NavigatorButton');
|
|
55
|
-
export default NavigatorButton;
|
|
20
|
+
export const NavigatorButton = contextConnect(UnconnectedNavigatorButton, 'Navigator.Button');
|
|
56
21
|
//# sourceMappingURL=component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["contextConnect","View","useNavigatorButton","jsx","_jsx","UnconnectedNavigatorButton","props","forwardedRef","navigatorButtonProps","ref","NavigatorButton"],"sources":["@wordpress/components/src/navigator/navigator-button/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { contextConnect } from '../../context';\nimport { View } from '../../view';\nimport { useNavigatorButton } from './hook';\nimport type { NavigatorButtonProps } from '../types';\n\nfunction UnconnectedNavigatorButton(\n\tprops: WordPressComponentProps< NavigatorButtonProps, 'button' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst navigatorButtonProps = useNavigatorButton( props );\n\n\treturn <View ref={ forwardedRef } { ...navigatorButtonProps } />;\n}\n\
|
|
1
|
+
{"version":3,"names":["contextConnect","View","useNavigatorButton","jsx","_jsx","UnconnectedNavigatorButton","props","forwardedRef","navigatorButtonProps","ref","NavigatorButton"],"sources":["@wordpress/components/src/navigator/navigator-button/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { contextConnect } from '../../context';\nimport { View } from '../../view';\nimport { useNavigatorButton } from './hook';\nimport type { NavigatorButtonProps } from '../types';\n\nfunction UnconnectedNavigatorButton(\n\tprops: WordPressComponentProps< NavigatorButtonProps, 'button' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst navigatorButtonProps = useNavigatorButton( props );\n\n\treturn <View ref={ forwardedRef } { ...navigatorButtonProps } />;\n}\n\nexport const NavigatorButton = contextConnect(\n\tUnconnectedNavigatorButton,\n\t'Navigator.Button'\n);\n"],"mappings":"AAAA;AACA;AACA;;AAGA;AACA;AACA;;AAEA,SAASA,cAAc,QAAQ,eAAe;AAC9C,SAASC,IAAI,QAAQ,YAAY;AACjC,SAASC,kBAAkB,QAAQ,QAAQ;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG5C,SAASC,0BAA0BA,CAClCC,KAAgE,EAChEC,YAAiC,EAChC;EACD,MAAMC,oBAAoB,GAAGN,kBAAkB,CAAEI,KAAM,CAAC;EAExD,oBAAOF,IAAA,CAACH,IAAI;IAACQ,GAAG,EAAGF,YAAc;IAAA,GAAMC;EAAoB,CAAI,CAAC;AACjE;AAEA,OAAO,MAAME,eAAe,GAAGV,cAAc,CAC5CK,0BAA0B,EAC1B,kBACD,CAAC","ignoreList":[]}
|
|
@@ -19,7 +19,7 @@ export function useNavigatorButton(props) {
|
|
|
19
19
|
as = Button,
|
|
20
20
|
attributeName = 'id',
|
|
21
21
|
...otherProps
|
|
22
|
-
} = useContextSystem(props, '
|
|
22
|
+
} = useContextSystem(props, 'Navigator.Button');
|
|
23
23
|
const escapedPath = escapeAttribute(path);
|
|
24
24
|
const {
|
|
25
25
|
goTo
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","escapeAttribute","useContextSystem","Button","useNavigator","cssSelectorForAttribute","attrName","attrValue","useNavigatorButton","props","path","onClick","as","attributeName","otherProps","escapedPath","goTo","handleClick","e","preventDefault","focusTargetSelector"],"sources":["@wordpress/components/src/navigator/navigator-button/hook.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { escapeAttribute } from '@wordpress/escape-html';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { useContextSystem } from '../../context';\nimport Button from '../../button';\nimport { useNavigator } from '../use-navigator';\nimport type { NavigatorButtonProps } from '../types';\n\nconst cssSelectorForAttribute = ( attrName: string, attrValue: string ) =>\n\t`[${ attrName }=\"${ attrValue }\"]`;\n\nexport function useNavigatorButton(\n\tprops: WordPressComponentProps< NavigatorButtonProps, 'button' >\n) {\n\tconst {\n\t\tpath,\n\t\tonClick,\n\t\tas = Button,\n\t\tattributeName = 'id',\n\t\t...otherProps\n\t} = useContextSystem( props, '
|
|
1
|
+
{"version":3,"names":["useCallback","escapeAttribute","useContextSystem","Button","useNavigator","cssSelectorForAttribute","attrName","attrValue","useNavigatorButton","props","path","onClick","as","attributeName","otherProps","escapedPath","goTo","handleClick","e","preventDefault","focusTargetSelector"],"sources":["@wordpress/components/src/navigator/navigator-button/hook.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { escapeAttribute } from '@wordpress/escape-html';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { useContextSystem } from '../../context';\nimport Button from '../../button';\nimport { useNavigator } from '../use-navigator';\nimport type { NavigatorButtonProps } from '../types';\n\nconst cssSelectorForAttribute = ( attrName: string, attrValue: string ) =>\n\t`[${ attrName }=\"${ attrValue }\"]`;\n\nexport function useNavigatorButton(\n\tprops: WordPressComponentProps< NavigatorButtonProps, 'button' >\n) {\n\tconst {\n\t\tpath,\n\t\tonClick,\n\t\tas = Button,\n\t\tattributeName = 'id',\n\t\t...otherProps\n\t} = useContextSystem( props, 'Navigator.Button' );\n\n\tconst escapedPath = escapeAttribute( path );\n\n\tconst { goTo } = useNavigator();\n\tconst handleClick: React.MouseEventHandler< HTMLButtonElement > =\n\t\tuseCallback(\n\t\t\t( e ) => {\n\t\t\t\te.preventDefault();\n\t\t\t\tgoTo( escapedPath, {\n\t\t\t\t\tfocusTargetSelector: cssSelectorForAttribute(\n\t\t\t\t\t\tattributeName,\n\t\t\t\t\t\tescapedPath\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t\tonClick?.( e );\n\t\t\t},\n\t\t\t[ goTo, onClick, attributeName, escapedPath ]\n\t\t);\n\n\treturn {\n\t\tas,\n\t\tonClick: handleClick,\n\t\t...otherProps,\n\t\t[ attributeName ]: escapedPath,\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,oBAAoB;AAChD,SAASC,eAAe,QAAQ,wBAAwB;;AAExD;AACA;AACA;;AAEA,SAASC,gBAAgB,QAAQ,eAAe;AAChD,OAAOC,MAAM,MAAM,cAAc;AACjC,SAASC,YAAY,QAAQ,kBAAkB;AAG/C,MAAMC,uBAAuB,GAAGA,CAAEC,QAAgB,EAAEC,SAAiB,KACnE,IAAID,QAAU,KAAKC,SAAW,IAAG;AAEnC,OAAO,SAASC,kBAAkBA,CACjCC,KAAgE,EAC/D;EACD,MAAM;IACLC,IAAI;IACJC,OAAO;IACPC,EAAE,GAAGT,MAAM;IACXU,aAAa,GAAG,IAAI;IACpB,GAAGC;EACJ,CAAC,GAAGZ,gBAAgB,CAAEO,KAAK,EAAE,kBAAmB,CAAC;EAEjD,MAAMM,WAAW,GAAGd,eAAe,CAAES,IAAK,CAAC;EAE3C,MAAM;IAAEM;EAAK,CAAC,GAAGZ,YAAY,CAAC,CAAC;EAC/B,MAAMa,WAAyD,GAC9DjB,WAAW,CACRkB,CAAC,IAAM;IACRA,CAAC,CAACC,cAAc,CAAC,CAAC;IAClBH,IAAI,CAAED,WAAW,EAAE;MAClBK,mBAAmB,EAAEf,uBAAuB,CAC3CQ,aAAa,EACbE,WACD;IACD,CAAE,CAAC;IACHJ,OAAO,GAAIO,CAAE,CAAC;EACf,CAAC,EACD,CAAEF,IAAI,EAAEL,OAAO,EAAEE,aAAa,EAAEE,WAAW,CAC5C,CAAC;EAEF,OAAO;IACNH,EAAE;IACFD,OAAO,EAAEM,WAAW;IACpB,GAAGH,UAAU;IACb,CAAED,aAAa,GAAIE;EACpB,CAAC;AACF","ignoreList":[]}
|