newspack-components 3.0.0-alpha.2 → 3.0.0-alpha.4

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.
Files changed (227) hide show
  1. package/babel.config.cjs.js +26 -0
  2. package/babel.config.js +1 -0
  3. package/copy-styles.js +10 -2
  4. package/dist/cjs/button/index.js +56 -0
  5. package/dist/cjs/grid/index.js +37 -0
  6. package/dist/cjs/hooks/index.js +25 -0
  7. package/dist/cjs/hooks/usePrompt.js +49 -0
  8. package/dist/cjs/text-control/index.js +64 -0
  9. package/dist/esm/accordion/index.js +42 -0
  10. package/dist/esm/accordion/style.scss +31 -0
  11. package/dist/esm/action-card/index.js +218 -0
  12. package/dist/esm/action-card/style.scss +483 -0
  13. package/dist/esm/autocomplete-tokenfield/index.js +261 -0
  14. package/dist/esm/autocomplete-tokenfield/style.scss +49 -0
  15. package/dist/esm/autocomplete-with-suggestions/index.js +274 -0
  16. package/dist/esm/autocomplete-with-suggestions/style.scss +163 -0
  17. package/dist/esm/button/index.js +48 -0
  18. package/dist/esm/button/style.scss +11 -0
  19. package/dist/esm/button-card/index.js +64 -0
  20. package/dist/esm/button-card/style.scss +180 -0
  21. package/dist/esm/card/index.js +43 -0
  22. package/dist/esm/card/style.scss +168 -0
  23. package/dist/esm/category-autocomplete/index.js +183 -0
  24. package/dist/esm/category-autocomplete/style.scss +34 -0
  25. package/dist/esm/color-picker/index.js +59 -0
  26. package/dist/esm/color-picker/style.scss +37 -0
  27. package/dist/esm/consts.js +1 -0
  28. package/dist/esm/custom-select-control/index.js +37 -0
  29. package/dist/esm/custom-select-control/style.scss +93 -0
  30. package/dist/esm/date-range-picker/index.js +31 -0
  31. package/dist/esm/date-range-picker/style.scss +148 -0
  32. package/dist/esm/footer/index.js +99 -0
  33. package/dist/esm/footer/style.scss +82 -0
  34. package/dist/esm/form-token-field/index.js +49 -0
  35. package/dist/esm/form-token-field/style.scss +37 -0
  36. package/dist/esm/global-notices/index.js +30 -0
  37. package/dist/esm/grid/index.js +29 -0
  38. package/dist/esm/grid/style.scss +166 -0
  39. package/dist/esm/handoff/index.js +175 -0
  40. package/dist/esm/handoff-message/index.js +47 -0
  41. package/dist/esm/hooks/index.js +17 -0
  42. package/dist/esm/hooks/useObjectState.js +30 -0
  43. package/dist/esm/hooks/useObjectState.test.js +82 -0
  44. package/dist/esm/hooks/useOnClickOutside.js +31 -0
  45. package/dist/esm/hooks/usePrompt.js +40 -0
  46. package/dist/esm/image-upload/index.js +140 -0
  47. package/dist/esm/image-upload/index.test.js +34 -0
  48. package/dist/esm/image-upload/style.scss +103 -0
  49. package/dist/esm/index.js +47 -0
  50. package/dist/esm/info-button/index.js +42 -0
  51. package/dist/esm/info-button/style.scss +18 -0
  52. package/dist/esm/modal/index.js +39 -0
  53. package/dist/esm/modal/style.scss +56 -0
  54. package/dist/esm/newspack-icon/index.js +50 -0
  55. package/dist/esm/newspack-icon/style.scss +26 -0
  56. package/dist/esm/newspack-logo/index.js +46 -0
  57. package/dist/esm/newspack-logo/style.scss +30 -0
  58. package/dist/esm/notice/index.js +65 -0
  59. package/dist/esm/notice/style.scss +111 -0
  60. package/dist/esm/patrons-logo/index.js +70 -0
  61. package/dist/esm/plugin-installer/index.js +289 -0
  62. package/dist/esm/plugin-installer/style.scss +72 -0
  63. package/dist/esm/plugin-settings/SettingsSection.js +133 -0
  64. package/dist/esm/plugin-settings/index.js +220 -0
  65. package/dist/esm/plugin-settings/style.scss +7 -0
  66. package/dist/esm/plugin-toggle/index.js +216 -0
  67. package/dist/esm/plugin-toggle/style.scss +20 -0
  68. package/dist/esm/popover/index.js +41 -0
  69. package/dist/esm/popover/style.scss +161 -0
  70. package/dist/esm/position-control/index.js +106 -0
  71. package/dist/esm/position-control/style.scss +66 -0
  72. package/dist/esm/progress-bar/index.js +68 -0
  73. package/dist/esm/progress-bar/index.test.js +108 -0
  74. package/dist/esm/progress-bar/style.scss +42 -0
  75. package/dist/esm/proxied-imports/router.js +8 -0
  76. package/dist/esm/radio-control/index.js +37 -0
  77. package/dist/esm/radio-control/style.scss +92 -0
  78. package/dist/esm/section-header/index.js +67 -0
  79. package/dist/esm/section-header/style.scss +45 -0
  80. package/dist/esm/select-control/ButtonGroupControl.js +53 -0
  81. package/dist/esm/select-control/GroupedSelectControl.js +78 -0
  82. package/dist/esm/select-control/index.js +51 -0
  83. package/dist/esm/select-control/style.scss +108 -0
  84. package/dist/esm/settings/MinMaxSetting.js +53 -0
  85. package/dist/esm/settings/SettingsCard.js +38 -0
  86. package/dist/esm/settings/SettingsSection.js +26 -0
  87. package/dist/esm/settings/index.js +9 -0
  88. package/dist/esm/settings/style.scss +119 -0
  89. package/dist/esm/sortable-newsletter-list-control/index.js +127 -0
  90. package/dist/esm/sortable-newsletter-list-control/style.scss +45 -0
  91. package/dist/esm/steps-list/index.js +43 -0
  92. package/dist/esm/steps-list/style.scss +11 -0
  93. package/dist/esm/steps-list-item/index.js +47 -0
  94. package/dist/esm/steps-list-item/style.scss +47 -0
  95. package/dist/esm/style-card/index.js +74 -0
  96. package/dist/esm/style-card/style.scss +94 -0
  97. package/dist/esm/style.scss +55 -0
  98. package/dist/esm/tabbed-navigation/index.js +53 -0
  99. package/dist/esm/tabbed-navigation/style.scss +86 -0
  100. package/dist/esm/text-control/index.js +56 -0
  101. package/dist/esm/text-control/style.scss +32 -0
  102. package/dist/esm/utils/index.js +29 -0
  103. package/dist/esm/waiting/index.js +44 -0
  104. package/dist/esm/waiting/style.scss +27 -0
  105. package/dist/esm/web-preview/index.js +183 -0
  106. package/dist/esm/web-preview/style.scss +155 -0
  107. package/dist/esm/with-wizard/index.js +320 -0
  108. package/dist/esm/with-wizard/style.scss +282 -0
  109. package/dist/esm/with-wizard-screen/index.js +109 -0
  110. package/dist/esm/with-wizard-screen/style.scss +160 -0
  111. package/dist/esm/wizard/components/WizardError.js +66 -0
  112. package/dist/esm/wizard/index.js +119 -0
  113. package/dist/esm/wizard/store/index.js +155 -0
  114. package/dist/esm/wizard/store/utils.js +14 -0
  115. package/package.json +8 -4
  116. package/dist/button/index.js +0 -51
  117. package/dist/button/index.tsx +0 -48
  118. package/dist/grid/index.js +0 -44
  119. package/dist/grid/index.tsx +0 -34
  120. package/dist/hooks/index.js +0 -29
  121. package/dist/hooks/index.ts +0 -15
  122. package/dist/hooks/usePrompt.js +0 -47
  123. package/dist/hooks/usePrompt.ts +0 -46
  124. package/dist/plugin-toggle/README.md +0 -53
  125. package/dist/text-control/index.js +0 -76
  126. package/dist/text-control/index.tsx +0 -71
  127. /package/dist/{accordion → cjs/accordion}/index.js +0 -0
  128. /package/dist/{accordion → cjs/accordion}/style.scss +0 -0
  129. /package/dist/{action-card → cjs/action-card}/index.js +0 -0
  130. /package/dist/{action-card → cjs/action-card}/style.scss +0 -0
  131. /package/dist/{autocomplete-tokenfield → cjs/autocomplete-tokenfield}/index.js +0 -0
  132. /package/dist/{autocomplete-tokenfield → cjs/autocomplete-tokenfield}/style.scss +0 -0
  133. /package/dist/{autocomplete-with-suggestions → cjs/autocomplete-with-suggestions}/index.js +0 -0
  134. /package/dist/{autocomplete-with-suggestions → cjs/autocomplete-with-suggestions}/style.scss +0 -0
  135. /package/dist/{button → cjs/button}/style.scss +0 -0
  136. /package/dist/{button-card → cjs/button-card}/index.js +0 -0
  137. /package/dist/{button-card → cjs/button-card}/style.scss +0 -0
  138. /package/dist/{card → cjs/card}/index.js +0 -0
  139. /package/dist/{card → cjs/card}/style.scss +0 -0
  140. /package/dist/{category-autocomplete → cjs/category-autocomplete}/index.js +0 -0
  141. /package/dist/{category-autocomplete → cjs/category-autocomplete}/style.scss +0 -0
  142. /package/dist/{color-picker → cjs/color-picker}/index.js +0 -0
  143. /package/dist/{color-picker → cjs/color-picker}/style.scss +0 -0
  144. /package/dist/{consts.js → cjs/consts.js} +0 -0
  145. /package/dist/{custom-select-control → cjs/custom-select-control}/index.js +0 -0
  146. /package/dist/{custom-select-control → cjs/custom-select-control}/style.scss +0 -0
  147. /package/dist/{date-range-picker → cjs/date-range-picker}/index.js +0 -0
  148. /package/dist/{date-range-picker → cjs/date-range-picker}/style.scss +0 -0
  149. /package/dist/{footer → cjs/footer}/index.js +0 -0
  150. /package/dist/{footer → cjs/footer}/style.scss +0 -0
  151. /package/dist/{form-token-field → cjs/form-token-field}/index.js +0 -0
  152. /package/dist/{form-token-field → cjs/form-token-field}/style.scss +0 -0
  153. /package/dist/{global-notices → cjs/global-notices}/index.js +0 -0
  154. /package/dist/{grid → cjs/grid}/style.scss +0 -0
  155. /package/dist/{handoff → cjs/handoff}/index.js +0 -0
  156. /package/dist/{handoff-message → cjs/handoff-message}/index.js +0 -0
  157. /package/dist/{hooks → cjs/hooks}/useObjectState.js +0 -0
  158. /package/dist/{hooks → cjs/hooks}/useObjectState.test.js +0 -0
  159. /package/dist/{hooks → cjs/hooks}/useOnClickOutside.js +0 -0
  160. /package/dist/{image-upload → cjs/image-upload}/index.js +0 -0
  161. /package/dist/{image-upload → cjs/image-upload}/index.test.js +0 -0
  162. /package/dist/{image-upload → cjs/image-upload}/style.scss +0 -0
  163. /package/dist/{index.js → cjs/index.js} +0 -0
  164. /package/dist/{info-button → cjs/info-button}/index.js +0 -0
  165. /package/dist/{info-button → cjs/info-button}/style.scss +0 -0
  166. /package/dist/{modal → cjs/modal}/index.js +0 -0
  167. /package/dist/{modal → cjs/modal}/style.scss +0 -0
  168. /package/dist/{newspack-icon → cjs/newspack-icon}/index.js +0 -0
  169. /package/dist/{newspack-icon → cjs/newspack-icon}/style.scss +0 -0
  170. /package/dist/{newspack-logo → cjs/newspack-logo}/index.js +0 -0
  171. /package/dist/{newspack-logo → cjs/newspack-logo}/style.scss +0 -0
  172. /package/dist/{notice → cjs/notice}/index.js +0 -0
  173. /package/dist/{notice → cjs/notice}/style.scss +0 -0
  174. /package/dist/{patrons-logo → cjs/patrons-logo}/index.js +0 -0
  175. /package/dist/{plugin-installer → cjs/plugin-installer}/index.js +0 -0
  176. /package/dist/{plugin-installer → cjs/plugin-installer}/style.scss +0 -0
  177. /package/dist/{plugin-settings → cjs/plugin-settings}/SettingsSection.js +0 -0
  178. /package/dist/{plugin-settings → cjs/plugin-settings}/index.js +0 -0
  179. /package/dist/{plugin-settings → cjs/plugin-settings}/style.scss +0 -0
  180. /package/dist/{plugin-toggle → cjs/plugin-toggle}/index.js +0 -0
  181. /package/dist/{plugin-toggle → cjs/plugin-toggle}/style.scss +0 -0
  182. /package/dist/{popover → cjs/popover}/index.js +0 -0
  183. /package/dist/{popover → cjs/popover}/style.scss +0 -0
  184. /package/dist/{position-control → cjs/position-control}/index.js +0 -0
  185. /package/dist/{position-control → cjs/position-control}/style.scss +0 -0
  186. /package/dist/{progress-bar → cjs/progress-bar}/index.js +0 -0
  187. /package/dist/{progress-bar → cjs/progress-bar}/index.test.js +0 -0
  188. /package/dist/{progress-bar → cjs/progress-bar}/style.scss +0 -0
  189. /package/dist/{proxied-imports → cjs/proxied-imports}/router.js +0 -0
  190. /package/dist/{radio-control → cjs/radio-control}/index.js +0 -0
  191. /package/dist/{radio-control → cjs/radio-control}/style.scss +0 -0
  192. /package/dist/{section-header → cjs/section-header}/index.js +0 -0
  193. /package/dist/{section-header → cjs/section-header}/style.scss +0 -0
  194. /package/dist/{select-control → cjs/select-control}/ButtonGroupControl.js +0 -0
  195. /package/dist/{select-control → cjs/select-control}/GroupedSelectControl.js +0 -0
  196. /package/dist/{select-control → cjs/select-control}/index.js +0 -0
  197. /package/dist/{select-control → cjs/select-control}/style.scss +0 -0
  198. /package/dist/{settings → cjs/settings}/MinMaxSetting.js +0 -0
  199. /package/dist/{settings → cjs/settings}/SettingsCard.js +0 -0
  200. /package/dist/{settings → cjs/settings}/SettingsSection.js +0 -0
  201. /package/dist/{settings → cjs/settings}/index.js +0 -0
  202. /package/dist/{settings → cjs/settings}/style.scss +0 -0
  203. /package/dist/{sortable-newsletter-list-control → cjs/sortable-newsletter-list-control}/index.js +0 -0
  204. /package/dist/{sortable-newsletter-list-control → cjs/sortable-newsletter-list-control}/style.scss +0 -0
  205. /package/dist/{steps-list → cjs/steps-list}/index.js +0 -0
  206. /package/dist/{steps-list → cjs/steps-list}/style.scss +0 -0
  207. /package/dist/{steps-list-item → cjs/steps-list-item}/index.js +0 -0
  208. /package/dist/{steps-list-item → cjs/steps-list-item}/style.scss +0 -0
  209. /package/dist/{style-card → cjs/style-card}/index.js +0 -0
  210. /package/dist/{style-card → cjs/style-card}/style.scss +0 -0
  211. /package/dist/{style.scss → cjs/style.scss} +0 -0
  212. /package/dist/{tabbed-navigation → cjs/tabbed-navigation}/index.js +0 -0
  213. /package/dist/{tabbed-navigation → cjs/tabbed-navigation}/style.scss +0 -0
  214. /package/dist/{text-control → cjs/text-control}/style.scss +0 -0
  215. /package/dist/{utils → cjs/utils}/index.js +0 -0
  216. /package/dist/{waiting → cjs/waiting}/index.js +0 -0
  217. /package/dist/{waiting → cjs/waiting}/style.scss +0 -0
  218. /package/dist/{web-preview → cjs/web-preview}/index.js +0 -0
  219. /package/dist/{web-preview → cjs/web-preview}/style.scss +0 -0
  220. /package/dist/{with-wizard → cjs/with-wizard}/index.js +0 -0
  221. /package/dist/{with-wizard → cjs/with-wizard}/style.scss +0 -0
  222. /package/dist/{with-wizard-screen → cjs/with-wizard-screen}/index.js +0 -0
  223. /package/dist/{with-wizard-screen → cjs/with-wizard-screen}/style.scss +0 -0
  224. /package/dist/{wizard → cjs/wizard}/components/WizardError.js +0 -0
  225. /package/dist/{wizard → cjs/wizard}/index.js +0 -0
  226. /package/dist/{wizard → cjs/wizard}/store/index.js +0 -0
  227. /package/dist/{wizard → cjs/wizard}/store/utils.js +0 -0
@@ -1,34 +0,0 @@
1
- /**
2
- * Grid
3
- */
4
-
5
- /**
6
- * Internal dependencies
7
- */
8
- import './style.scss';
9
-
10
- /**
11
- * External dependencies
12
- */
13
- import classnames from 'classnames';
14
-
15
- const Grid = ( {
16
- className = '',
17
- columns = 2,
18
- gutter = 32,
19
- noMargin = false,
20
- rowGap = 0,
21
- ...otherProps
22
- } ) => {
23
- const classes = classnames(
24
- 'newspack-grid',
25
- noMargin && 'newspack-grid--no-margin',
26
- columns && 'newspack-grid__columns-' + columns,
27
- gutter && 'newspack-grid__gutter-' + gutter,
28
- rowGap && 'newspack-grid__row-gap-' + rowGap,
29
- className
30
- );
31
- return <div className={ classes } { ...otherProps } />;
32
- };
33
-
34
- export default Grid;
@@ -1,29 +0,0 @@
1
- 'use strict';
2
-
3
- var _interopRequireDefault = require( '@babel/runtime/helpers/interopRequireDefault' );
4
- Object.defineProperty( exports, '__esModule', {
5
- value: true,
6
- } );
7
- exports.default = void 0;
8
- var _element = require( '@wordpress/element' );
9
- var _usePrompt = _interopRequireDefault( require( './usePrompt' ) );
10
- var _useObjectState = _interopRequireDefault( require( './useObjectState' ) );
11
- var _useOnClickOutside = _interopRequireDefault(
12
- require( './useOnClickOutside' )
13
- );
14
- /**
15
- * WordPress dependencies
16
- */
17
-
18
- const useUniqueId = ( prefix ) => {
19
- const id = ( 0, _element.useRef )(
20
- `${ prefix }-${ Math.round( Math.random() * 99999 ) }`
21
- );
22
- return id.current;
23
- };
24
- var _default = ( exports.default = {
25
- usePrompt: _usePrompt.default,
26
- useObjectState: _useObjectState.default,
27
- useOnClickOutside: _useOnClickOutside.default,
28
- useUniqueId,
29
- } );
@@ -1,15 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useRef } from '@wordpress/element';
5
-
6
- import usePrompt from './usePrompt';
7
- import useObjectState from './useObjectState';
8
- import useOnClickOutside from './useOnClickOutside';
9
-
10
- const useUniqueId = ( prefix: string ) => {
11
- const id = useRef( `${ prefix }-${ Math.round( Math.random() * 99999 ) }` );
12
- return id.current;
13
- };
14
-
15
- export default { usePrompt, useObjectState, useOnClickOutside, useUniqueId };
@@ -1,47 +0,0 @@
1
- 'use strict';
2
-
3
- var _interopRequireDefault = require( '@babel/runtime/helpers/interopRequireDefault' );
4
- Object.defineProperty( exports, '__esModule', {
5
- value: true,
6
- } );
7
- exports.default = void 0;
8
- var _element = require( '@wordpress/element' );
9
- var _router = _interopRequireDefault( require( '../proxied-imports/router' ) );
10
- // https://gist.github.com/sibelius/60a4e11da1f826b8d60dc3975a1ac805
11
-
12
- /**
13
- * External dependencies.
14
- */
15
-
16
- /**
17
- * Internal dependencies.
18
- */
19
-
20
- const { useHistory } = _router.default;
21
- var _default = ( when, message ) => {
22
- const history = useHistory();
23
- const self = ( 0, _element.useRef )( null );
24
- const onWindowOrTabClose = ( event ) => {
25
- if ( ! when ) {
26
- return;
27
- }
28
- if ( typeof event === 'undefined' ) {
29
- event = window.event;
30
- }
31
- return message;
32
- };
33
- ( 0, _element.useEffect )( () => {
34
- if ( when ) {
35
- self.current = history.block( message );
36
- window.addEventListener( 'beforeunload', onWindowOrTabClose );
37
- }
38
- return () => {
39
- if ( self.current ) {
40
- self.current();
41
- }
42
- window.removeEventListener( 'beforeunload', onWindowOrTabClose );
43
- };
44
- }, [ message, when ] );
45
- return self.current || ( () => {} );
46
- };
47
- exports.default = _default;
@@ -1,46 +0,0 @@
1
- // https://gist.github.com/sibelius/60a4e11da1f826b8d60dc3975a1ac805
2
-
3
- /**
4
- * External dependencies.
5
- */
6
- import { useEffect, useRef } from '@wordpress/element';
7
-
8
- /**
9
- * Internal dependencies.
10
- */
11
- import Router from '../proxied-imports/router';
12
-
13
- const { useHistory } = Router;
14
-
15
- export default ( when: boolean, message: string ): ( () => void ) => {
16
- const history = useHistory();
17
- const self = useRef( null );
18
-
19
- const onWindowOrTabClose = ( event: Event | undefined ) => {
20
- if ( ! when ) {
21
- return;
22
- }
23
-
24
- if ( typeof event === 'undefined' ) {
25
- event = window.event;
26
- }
27
-
28
- return message;
29
- };
30
-
31
- useEffect( () => {
32
- if ( when ) {
33
- self.current = history.block( message );
34
- window.addEventListener( 'beforeunload', onWindowOrTabClose );
35
- }
36
-
37
- return () => {
38
- if ( self.current ) {
39
- ( self.current as () => void )();
40
- }
41
- window.removeEventListener( 'beforeunload', onWindowOrTabClose );
42
- };
43
- }, [ message, when ] );
44
-
45
- return self.current || ( () => {} );
46
- };
@@ -1,53 +0,0 @@
1
- # PluginToggle
2
-
3
- PluginToggle presents ActionCards for one or more plugins.
4
-
5
- Each ActionCard displays the name and description of the plugin. Clicking the ToggleControl installs/activates or uninstalls the plugin. If a plugin is installed, there will be a Handoff link on the right. Optionally the href and label of this link can be overridden.
6
-
7
- Each plugin accepts a shouldRefreshAfterUpdate param. If true, the page will be reloaded after the plugin is installed or uninstalled. Updating ensures that the WordPress dashboard accurately represents current state, e.g. that newly installed plugins appear in menus.
8
-
9
- ### Usage
10
-
11
- ActionCards for WooCommerce and Instant Articles for WP. Both will have Handoff links.
12
-
13
- ```
14
- <PluginToggle
15
- plugins={ {
16
- woocommerce: true,
17
- 'fb-instant-articles': true,
18
- } }
19
- />
20
- ```
21
-
22
- ActionCards for WooCommerce and Instant Articles for WP with custom text and URL for links.
23
-
24
- ```
25
- <PluginToggle
26
- plugins={ {
27
- woocommerce: {
28
- actionText: __( 'Use WooCommerce' ),
29
- href: '/wp-admin/admin.php?page=newspack',
30
- },
31
- 'fb-instant-articles': {
32
- actionText: __( 'Configure Instant Articles' ),
33
- href: '/wp-admin/admin.php?page=newspack',
34
- },
35
- } }
36
- />
37
- ```
38
-
39
- ActionCards for WooCommerce and Instant Articles for WP. Page will refresh after WooCommerce installation or deinstallation.
40
-
41
- ```
42
- <PluginToggle
43
- plugins={ {
44
- woocommerce: {
45
- shouldRefreshAfterUpdate: true,
46
- },
47
- 'fb-instant-articles': {
48
- actionText: __( 'Configure Instant Articles' ),
49
- href: '/wp-admin/admin.php?page=newspack',
50
- },
51
- } }
52
- />
53
- ```
@@ -1,76 +0,0 @@
1
- 'use strict';
2
-
3
- var _interopRequireDefault = require( '@babel/runtime/helpers/interopRequireDefault' );
4
- Object.defineProperty( exports, '__esModule', {
5
- value: true,
6
- } );
7
- exports.default = void 0;
8
- var _components = require( '@wordpress/components' );
9
- var _element = require( '@wordpress/element' );
10
- var _i18n = require( '@wordpress/i18n' );
11
- require( './style.scss' );
12
- var _classnames = _interopRequireDefault( require( 'classnames' ) );
13
- var _jsxRuntime = require( 'react/jsx-runtime' );
14
- /**
15
- * Text Control
16
- */
17
-
18
- /**
19
- * WordPress dependencies
20
- */
21
-
22
- /**
23
- * Internal dependencies
24
- */
25
-
26
- /**
27
- * External dependencies
28
- */
29
-
30
- const TextControl = ( {
31
- className = '',
32
- required = false,
33
- isWide = false,
34
- withMargin = true,
35
- ...otherProps
36
- } ) => {
37
- const wrapperRef = ( 0, _element.useRef )( null );
38
- ( 0, _element.useEffect )( () => {
39
- if ( wrapperRef.current === null ) {
40
- return;
41
- }
42
- const labelEl = wrapperRef.current.querySelector( 'label' );
43
- if ( labelEl ) {
44
- labelEl.setAttribute(
45
- 'data-required-text',
46
- ( 0, _i18n.__ )( '(required)', 'newspack-plugin' )
47
- );
48
- }
49
- }, [ wrapperRef.current ] );
50
- const classes = ( 0, _classnames.default )(
51
- 'newspack-text-control',
52
- {
53
- 'newspack-text-control--wide': isWide,
54
- 'newspack-text-control--with-margin': withMargin,
55
- },
56
- className
57
- );
58
- return required
59
- ? /*#__PURE__*/ ( 0, _jsxRuntime.jsx )( 'div', {
60
- ref: wrapperRef,
61
- className: 'newspack-text-control--required',
62
- children: /*#__PURE__*/ ( 0, _jsxRuntime.jsx )(
63
- _components.TextControl,
64
- {
65
- className: classes,
66
- required: required,
67
- ...otherProps,
68
- }
69
- ),
70
- } )
71
- : /*#__PURE__*/ ( 0, _jsxRuntime.jsx )( _components.TextControl, {
72
- className: classes,
73
- ...otherProps,
74
- } );
75
- };
76
- var _default = ( exports.default = TextControl );
@@ -1,71 +0,0 @@
1
- /**
2
- * Text Control
3
- */
4
-
5
- /**
6
- * WordPress dependencies
7
- */
8
- import { TextControl as BaseComponent } from '@wordpress/components';
9
- import { useEffect, useRef } from '@wordpress/element';
10
- import { __ } from '@wordpress/i18n';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import './style.scss';
16
-
17
- /**
18
- * External dependencies
19
- */
20
- import classNames from 'classnames';
21
-
22
- type BaseComponentProps = {
23
- onChange: ( value: string ) => void;
24
- value: string | number;
25
- };
26
-
27
- const TextControl = ( {
28
- className = '',
29
- required = false,
30
- isWide = false,
31
- withMargin = true,
32
- ...otherProps
33
- } ) => {
34
- const wrapperRef = useRef< HTMLDivElement >( null );
35
- useEffect( () => {
36
- if ( wrapperRef.current === null ) {
37
- return;
38
- }
39
- const labelEl = wrapperRef.current.querySelector( 'label' );
40
- if ( labelEl ) {
41
- labelEl.setAttribute(
42
- 'data-required-text',
43
- __( '(required)', 'newspack-plugin' )
44
- );
45
- }
46
- }, [ wrapperRef.current ] );
47
- const classes = classNames(
48
- 'newspack-text-control',
49
- {
50
- 'newspack-text-control--wide': isWide,
51
- 'newspack-text-control--with-margin': withMargin,
52
- },
53
- className
54
- );
55
- return required ? (
56
- <div ref={ wrapperRef } className="newspack-text-control--required">
57
- <BaseComponent
58
- className={ classes }
59
- required={ required }
60
- { ...( otherProps as BaseComponentProps ) }
61
- />
62
- </div>
63
- ) : (
64
- <BaseComponent
65
- className={ classes }
66
- { ...( otherProps as BaseComponentProps ) }
67
- />
68
- );
69
- };
70
-
71
- export default TextControl;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes