/******/ (() => { // webpackBootstrap
|
/******/ "use strict";
|
/******/ var __webpack_modules__ = ({
|
|
/***/ "./src/feed/edit.js"
|
/*!**************************!*\
|
!*** ./src/feed/edit.js ***!
|
\**************************/
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
/* harmony export */ "default": () => (/* binding */ Edit)
|
/* 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_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
|
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
|
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
|
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__);
|
/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/api-fetch */ "@wordpress/api-fetch");
|
/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3__);
|
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
|
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);
|
/**
|
* Feed Block - Edit Component
|
* Fetches available feed types from /jvb/v1/feed/types
|
* Allows configuration of content types and inherit query setting
|
*/
|
|
|
|
|
|
|
|
function Edit({
|
attributes,
|
setAttributes
|
}) {
|
const [feedTypes, setFeedTypes] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(null);
|
const [loading, setLoading] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(true);
|
const [error, setError] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(null);
|
const blockProps = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)({
|
className: 'feed-block-editor'
|
});
|
|
/**
|
* Fetch available feed types on component mount
|
*/
|
(0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3___default()({
|
path: '/jvb/v1/feed/types',
|
headers: {
|
'If-Modified-Since': localStorage.getItem('feed_types_modified')
|
}
|
}).then(types => {
|
setFeedTypes(types);
|
setLoading(false);
|
|
// Store Last-Modified for future requests
|
// (apiFetch doesn't expose response headers easily,
|
// but the server will handle 304s)
|
|
// Initialize contentTypes if not set and not inheriting
|
if (!attributes.contentTypes && !attributes.inheritQuery) {
|
const firstType = Object.keys(types)[0];
|
if (firstType) {
|
setAttributes({
|
contentTypes: [firstType]
|
});
|
}
|
}
|
}).catch(err => {
|
console.error('Error loading feed types:', err);
|
setError(err.message);
|
setLoading(false);
|
});
|
}, [attributes.inheritQuery]);
|
|
/**
|
* Toggle a content type in the selection
|
*/
|
const toggleContentType = (slug, checked) => {
|
const currentTypes = attributes.contentTypes || [];
|
const newTypes = checked ? [...currentTypes, slug] : currentTypes.filter(t => t !== slug);
|
setAttributes({
|
contentTypes: newTypes
|
});
|
};
|
|
/**
|
* Get friendly label for content type
|
*/
|
const getTypeLabel = (slug, config) => {
|
return `${config.plural} (${config.type})`;
|
};
|
|
/**
|
* Group types by category for better UX
|
*/
|
const groupedTypes = feedTypes ? {
|
content: Object.entries(feedTypes).filter(([_, config]) => config.type === 'content'),
|
taxonomy: Object.entries(feedTypes).filter(([_, config]) => config.type === 'taxonomy')
|
} : {
|
content: [],
|
taxonomy: []
|
};
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("div", {
|
...blockProps,
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls, {
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.PanelBody, {
|
title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Feed Settings', 'jvb'),
|
initialOpen: true,
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ToggleControl, {
|
label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Inherit from Page Context', 'jvb'),
|
help: attributes.inheritQuery ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Feed will adapt to the current page (profile, taxonomy, etc.)', 'jvb') : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Manually select content types to display', 'jvb'),
|
checked: attributes.inheritQuery,
|
onChange: value => setAttributes({
|
inheritQuery: value
|
})
|
}), !attributes.inheritQuery && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
|
children: [loading && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("div", {
|
style: {
|
textAlign: 'center',
|
padding: '20px'
|
},
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Spinner, {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("p", {
|
children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Loading feed types...', 'jvb')
|
})]
|
}), error && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Notice, {
|
status: "error",
|
isDismissible: false,
|
children: [(0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Error loading feed types: ', 'jvb'), " ", error]
|
}), !loading && !error && feedTypes && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
|
children: [groupedTypes.content.length > 0 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("h4", {
|
children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Content Types', 'jvb')
|
}), groupedTypes.content.map(([slug, config]) => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.CheckboxControl, {
|
label: getTypeLabel(slug, config),
|
checked: attributes.contentTypes?.includes(slug) || false,
|
onChange: checked => toggleContentType(slug, checked),
|
help: config.taxonomies?.length > 0 ? `Filters: ${config.taxonomies.join(', ')}` : null
|
}, slug))]
|
}), groupedTypes.taxonomy.length > 0 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("h4", {
|
style: {
|
marginTop: '20px'
|
},
|
children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Content Taxonomies', 'jvb')
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("p", {
|
style: {
|
fontSize: '12px',
|
color: '#757575'
|
},
|
children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('These are collections that group other content', 'jvb')
|
}), groupedTypes.taxonomy.map(([slug, config]) => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.CheckboxControl, {
|
label: getTypeLabel(slug, config),
|
checked: attributes.contentTypes?.includes(slug) || false,
|
onChange: checked => toggleContentType(slug, checked),
|
help: config.for_content?.length > 0 ? `Contains: ${config.for_content.join(', ')}` : null
|
}, slug))]
|
}), !attributes.contentTypes?.length && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Notice, {
|
status: "warning",
|
isDismissible: false,
|
children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Please select at least one content type', 'jvb')
|
})]
|
})]
|
})]
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.PanelBody, {
|
title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Display Settings', 'jvb'),
|
initialOpen: false,
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ToggleControl, {
|
label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Show Gallery View', 'jvb'),
|
help: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Enable lightbox for images', 'jvb'),
|
checked: attributes.enableGallery || false,
|
onChange: value => setAttributes({
|
enableGallery: value
|
})
|
})
|
})]
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("div", {
|
className: "feed-block-placeholder",
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
|
className: "feed-block-icon",
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("svg", {
|
width: "48",
|
height: "48",
|
viewBox: "0 0 24 24",
|
fill: "none",
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("rect", {
|
x: "3",
|
y: "3",
|
width: "7",
|
height: "7",
|
fill: "currentColor",
|
opacity: "0.3"
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("rect", {
|
x: "13",
|
y: "3",
|
width: "7",
|
height: "7",
|
fill: "currentColor",
|
opacity: "0.3"
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("rect", {
|
x: "3",
|
y: "13",
|
width: "7",
|
height: "7",
|
fill: "currentColor",
|
opacity: "0.3"
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("rect", {
|
x: "13",
|
y: "13",
|
width: "7",
|
height: "7",
|
fill: "currentColor",
|
opacity: "0.3"
|
})]
|
})
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("h3", {
|
children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Feed Block', 'jvb')
|
}), attributes.inheritQuery ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("p", {
|
className: "feed-block-description",
|
children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('📍 Inheriting from page context', 'jvb')
|
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
|
className: "feed-block-description",
|
children: attributes.contentTypes?.length > 0 ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("p", {
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("strong", {
|
children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Showing:', 'jvb')
|
})
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("ul", {
|
style: {
|
listStyle: 'none',
|
padding: '0',
|
margin: '8px 0'
|
},
|
children: attributes.contentTypes.map(type => {
|
const config = feedTypes?.[type];
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("li", {
|
style: {
|
padding: '4px 0',
|
color: '#2271b1'
|
},
|
children: ["\u2713 ", config?.plural || type]
|
}, type);
|
})
|
})]
|
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("p", {
|
style: {
|
color: '#d63638'
|
},
|
children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('⚠️ No content types selected', 'jvb')
|
})
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("p", {
|
className: "feed-block-note",
|
children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Feed will be displayed on the frontend', 'jvb')
|
})]
|
})]
|
});
|
}
|
|
/***/ },
|
|
/***/ "./src/feed/index.js"
|
/*!***************************!*\
|
!*** ./src/feed/index.js ***!
|
\***************************/
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
|
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__);
|
/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./style.scss */ "./src/feed/style.scss");
|
/* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./edit */ "./src/feed/edit.js");
|
/* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./save */ "./src/feed/save.js");
|
/* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./block.json */ "./src/feed/block.json");
|
/**
|
* Registers a new block provided a unique name and an object defining its behavior.
|
*
|
* @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-registration/
|
*/
|
|
|
/**
|
* Lets webpack process CSS, SASS or SCSS files referenced in JavaScript files.
|
* All files containing `style` keyword are bundled together. The code used
|
* gets applied both to the front of your site and to the editor.
|
*
|
* @see https://www.npmjs.com/package/@wordpress/scripts#using-css
|
*/
|
|
|
/**
|
* Internal dependencies
|
*/
|
|
|
|
|
/**
|
* Every block starts by registering a new block type definition.
|
*
|
* @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-registration/
|
*/
|
(0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.registerBlockType)(_block_json__WEBPACK_IMPORTED_MODULE_4__.name, {
|
/**
|
* @see ./edit.js
|
*/
|
edit: _edit__WEBPACK_IMPORTED_MODULE_2__["default"],
|
/**
|
* @see ./save.js
|
*/
|
save: _save__WEBPACK_IMPORTED_MODULE_3__["default"]
|
});
|
|
/***/ },
|
|
/***/ "./src/feed/save.js"
|
/*!**************************!*\
|
!*** ./src/feed/save.js ***!
|
\**************************/
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
/* harmony export */ "default": () => (/* binding */ save)
|
/* harmony export */ });
|
function save() {
|
return null; // Dynamic block rendered by PHP
|
}
|
|
/***/ },
|
|
/***/ "./src/feed/style.scss"
|
/*!*****************************!*\
|
!*** ./src/feed/style.scss ***!
|
\*****************************/
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
// extracted by mini-css-extract-plugin
|
|
|
/***/ },
|
|
/***/ "react/jsx-runtime"
|
/*!**********************************!*\
|
!*** external "ReactJSXRuntime" ***!
|
\**********************************/
|
(module) {
|
|
module.exports = window["ReactJSXRuntime"];
|
|
/***/ },
|
|
/***/ "@wordpress/api-fetch"
|
/*!**********************************!*\
|
!*** external ["wp","apiFetch"] ***!
|
\**********************************/
|
(module) {
|
|
module.exports = window["wp"]["apiFetch"];
|
|
/***/ },
|
|
/***/ "@wordpress/block-editor"
|
/*!*************************************!*\
|
!*** external ["wp","blockEditor"] ***!
|
\*************************************/
|
(module) {
|
|
module.exports = window["wp"]["blockEditor"];
|
|
/***/ },
|
|
/***/ "@wordpress/blocks"
|
/*!********************************!*\
|
!*** external ["wp","blocks"] ***!
|
\********************************/
|
(module) {
|
|
module.exports = window["wp"]["blocks"];
|
|
/***/ },
|
|
/***/ "@wordpress/components"
|
/*!************************************!*\
|
!*** external ["wp","components"] ***!
|
\************************************/
|
(module) {
|
|
module.exports = window["wp"]["components"];
|
|
/***/ },
|
|
/***/ "@wordpress/element"
|
/*!*********************************!*\
|
!*** external ["wp","element"] ***!
|
\*********************************/
|
(module) {
|
|
module.exports = window["wp"]["element"];
|
|
/***/ },
|
|
/***/ "@wordpress/i18n"
|
/*!******************************!*\
|
!*** external ["wp","i18n"] ***!
|
\******************************/
|
(module) {
|
|
module.exports = window["wp"]["i18n"];
|
|
/***/ },
|
|
/***/ "./src/feed/block.json"
|
/*!*****************************!*\
|
!*** ./src/feed/block.json ***!
|
\*****************************/
|
(module) {
|
|
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"jvb/feed","title":"Feed","category":"jvb","icon":"grid-view","description":"Displays a filterable feed of registered content types","keywords":["feed","grid"],"version":"0.9.0","textdomain":"jvb","supports":{"html":false,"align":["wide","full"]},"attributes":{"title":{"type":"string","default":"Your Scene"},"inheritQuery":{"type":"boolean","default":false},"contentTypes":{"type":"array","default":["tattoo","artwork","artist"],"items":{"type":"string"}},"itemsPerPage":{"type":"number","default":36},"defaultOrder":{"type":"string","default":"date_desc"}},"selectors":{"root":".feed-block"},"styles":[{"name":"default","label":"Default","isDefault":true},{"name":"other","label":"Other"}],"example":{"attributes":{"message":"This is a notice!"}},"editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","viewScript":"file:./view.js"}');
|
|
/***/ }
|
|
/******/ });
|
/************************************************************************/
|
/******/ // 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
|
/******/ if (!(moduleId in __webpack_modules__)) {
|
/******/ delete __webpack_module_cache__[moduleId];
|
/******/ var e = new Error("Cannot find module '" + moduleId + "'");
|
/******/ e.code = 'MODULE_NOT_FOUND';
|
/******/ throw e;
|
/******/ }
|
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
/******/
|
/******/ // Return the exports of the module
|
/******/ return module.exports;
|
/******/ }
|
/******/
|
/******/ // expose the modules object (__webpack_modules__)
|
/******/ __webpack_require__.m = __webpack_modules__;
|
/******/
|
/************************************************************************/
|
/******/ /* webpack/runtime/chunk loaded */
|
/******/ (() => {
|
/******/ var deferred = [];
|
/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => {
|
/******/ if(chunkIds) {
|
/******/ priority = priority || 0;
|
/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
|
/******/ deferred[i] = [chunkIds, fn, priority];
|
/******/ return;
|
/******/ }
|
/******/ var notFulfilled = Infinity;
|
/******/ for (var i = 0; i < deferred.length; i++) {
|
/******/ var [chunkIds, fn, priority] = deferred[i];
|
/******/ var fulfilled = true;
|
/******/ for (var j = 0; j < chunkIds.length; j++) {
|
/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
|
/******/ chunkIds.splice(j--, 1);
|
/******/ } else {
|
/******/ fulfilled = false;
|
/******/ if(priority < notFulfilled) notFulfilled = priority;
|
/******/ }
|
/******/ }
|
/******/ if(fulfilled) {
|
/******/ deferred.splice(i--, 1)
|
/******/ var r = fn();
|
/******/ if (r !== undefined) result = r;
|
/******/ }
|
/******/ }
|
/******/ return result;
|
/******/ };
|
/******/ })();
|
/******/
|
/******/ /* webpack/runtime/compat get default export */
|
/******/ (() => {
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
/******/ __webpack_require__.n = (module) => {
|
/******/ var getter = module && module.__esModule ?
|
/******/ () => (module['default']) :
|
/******/ () => (module);
|
/******/ __webpack_require__.d(getter, { a: getter });
|
/******/ return getter;
|
/******/ };
|
/******/ })();
|
/******/
|
/******/ /* webpack/runtime/define property getters */
|
/******/ (() => {
|
/******/ // define getter functions for harmony exports
|
/******/ __webpack_require__.d = (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 */
|
/******/ (() => {
|
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
/******/ })();
|
/******/
|
/******/ /* webpack/runtime/make namespace object */
|
/******/ (() => {
|
/******/ // define __esModule on exports
|
/******/ __webpack_require__.r = (exports) => {
|
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
/******/ }
|
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
/******/ };
|
/******/ })();
|
/******/
|
/******/ /* webpack/runtime/jsonp chunk loading */
|
/******/ (() => {
|
/******/ // no baseURI
|
/******/
|
/******/ // object to store loaded and loading chunks
|
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
|
/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
|
/******/ var installedChunks = {
|
/******/ "feed/index": 0,
|
/******/ "feed/style-index": 0
|
/******/ };
|
/******/
|
/******/ // no chunk on demand loading
|
/******/
|
/******/ // no prefetching
|
/******/
|
/******/ // no preloaded
|
/******/
|
/******/ // no HMR
|
/******/
|
/******/ // no HMR manifest
|
/******/
|
/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
|
/******/
|
/******/ // install a JSONP callback for chunk loading
|
/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
|
/******/ var [chunkIds, moreModules, runtime] = data;
|
/******/ // add "moreModules" to the modules object,
|
/******/ // then flag all "chunkIds" as loaded and fire callback
|
/******/ var moduleId, chunkId, i = 0;
|
/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
|
/******/ for(moduleId in moreModules) {
|
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
|
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
|
/******/ }
|
/******/ }
|
/******/ if(runtime) var result = runtime(__webpack_require__);
|
/******/ }
|
/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
|
/******/ for(;i < chunkIds.length; i++) {
|
/******/ chunkId = chunkIds[i];
|
/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
|
/******/ installedChunks[chunkId][0]();
|
/******/ }
|
/******/ installedChunks[chunkId] = 0;
|
/******/ }
|
/******/ return __webpack_require__.O(result);
|
/******/ }
|
/******/
|
/******/ var chunkLoadingGlobal = globalThis["webpackChunkjvb"] = globalThis["webpackChunkjvb"] || [];
|
/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
|
/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
|
/******/ })();
|
/******/
|
/************************************************************************/
|
/******/
|
/******/ // startup
|
/******/ // Load entry module and return exports
|
/******/ // This entry module depends on other loaded chunks and execution need to be delayed
|
/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["feed/style-index"], () => (__webpack_require__("./src/feed/index.js")))
|
/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
|
/******/
|
/******/ })()
|
;
|
//# sourceMappingURL=index.js.map
|