UNPKG

@10up/block-components

Version:

10up Components built for the WordPress Block Editor.

298 lines (279 loc) 10.8 kB
/******/ (function() { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "./components/author/context.ts": /*!**************************************!*\ !*** ./components/author/context.ts ***! \**************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ AuthorContext: function() { return /* binding */ AuthorContext; }, /* harmony export */ useAuthor: function() { return /* binding */ useAuthor; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); const AuthorContext = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createContext)({ avatar_urls: {}, description: '', email: '', first_name: '', id: 0, last_name: '', link: '', name: '', nickname: '', registered_date: '', slug: '', url: '' }); const useAuthor = () => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useContext)(AuthorContext); }; /***/ }), /***/ "@wordpress/block-editor": /*!******************************************!*\ !*** external "@wordpress/block-editor" ***! \******************************************/ /***/ (function(module) { module.exports = require("@wordpress/block-editor"); /***/ }), /***/ "@wordpress/data": /*!**********************************!*\ !*** external "@wordpress/data" ***! \**********************************/ /***/ (function(module) { module.exports = require("@wordpress/data"); /***/ }), /***/ "@wordpress/element": /*!*************************************!*\ !*** external "@wordpress/element" ***! \*************************************/ /***/ (function(module) { module.exports = require("@wordpress/element"); /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ !function() { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function() { return module['default']; } : /******/ function() { return module; }; /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ }(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ !function() { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = function(exports, definition) { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ }(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ !function() { /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } /******/ }(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ !function() { /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ }(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk. !function() { /*!*************************************!*\ !*** ./components/author/index.tsx ***! \*************************************/ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Avatar: function() { return /* binding */ Avatar; }, /* harmony export */ Bio: function() { return /* binding */ Bio; }, /* harmony export */ Email: function() { return /* binding */ Email; }, /* harmony export */ FirstName: function() { return /* binding */ FirstName; }, /* harmony export */ LastName: function() { return /* binding */ LastName; }, /* harmony export */ Name: function() { return /* binding */ Name; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data"); /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor"); /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./context */ "./components/author/context.ts"); var _jsxFileName = "/Users/fabiankaegy/Developer/10up/block-components/components/author/index.tsx"; function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } const Name = props => { const { tagName: TagName = 'span', ...rest } = props; const { name, link } = (0,_context__WEBPACK_IMPORTED_MODULE_3__.useAuthor)(); const wrapperProps = { ...rest }; if (TagName === 'a' && link) { wrapperProps.href = link; } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(TagName, _extends({}, wrapperProps, { __self: undefined, __source: { fileName: _jsxFileName, lineNumber: 20, columnNumber: 9 } }), name); }; const FirstName = props => { const { tagName: TagName = 'span', ...rest } = props; const { first_name: firstName } = (0,_context__WEBPACK_IMPORTED_MODULE_3__.useAuthor)(); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(TagName, _extends({}, rest, { __self: undefined, __source: { fileName: _jsxFileName, lineNumber: 32, columnNumber: 9 } }), firstName); }; const LastName = props => { const { tagName: TagName = 'span', ...rest } = props; const { last_name: lastName } = (0,_context__WEBPACK_IMPORTED_MODULE_3__.useAuthor)(); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(TagName, _extends({}, rest, { __self: undefined, __source: { fileName: _jsxFileName, lineNumber: 44, columnNumber: 9 } }), lastName); }; function useDefaultAvatar() { const { avatarURL: defaultAvatarUrl } = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_1__.useSelect)(select => { // @ts-ignore-next-line The type definitions for the block editor store are incomplete. const { getSettings } = select(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__.store); const { __experimentalDiscussionSettings } = getSettings(); return __experimentalDiscussionSettings; }, []); return defaultAvatarUrl; } const Avatar = props => { const { ...rest } = props; const authorDetails = (0,_context__WEBPACK_IMPORTED_MODULE_3__.useAuthor)(); const avatarUrls = authorDetails?.avatar_urls ? Object.values(authorDetails.avatar_urls) : null; const defaultAvatar = useDefaultAvatar(); const avatarSourceUrl = avatarUrls ? avatarUrls[avatarUrls.length - 1] : defaultAvatar; // eslint-disable-next-line jsx-a11y/alt-text return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", _extends({ src: avatarSourceUrl }, rest, { __self: undefined, __source: { fileName: _jsxFileName, lineNumber: 71, columnNumber: 9 } })); }; const Bio = props => { const { tagName: TagName = 'p', ...rest } = props; const { description } = (0,_context__WEBPACK_IMPORTED_MODULE_3__.useAuthor)(); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(TagName, _extends({}, rest, { __self: undefined, __source: { fileName: _jsxFileName, lineNumber: 83, columnNumber: 9 } }), description); }; const Email = props => { const { ...rest } = props; const { email } = (0,_context__WEBPACK_IMPORTED_MODULE_3__.useAuthor)(); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", _extends({ href: `mailto:${email}` }, rest, { __self: undefined, __source: { fileName: _jsxFileName, lineNumber: 95, columnNumber: 3 } }), email); }; }(); module.exports = __webpack_exports__; /******/ })() ; //# sourceMappingURL=index.js.map