gatsby-plugin-stork
Version:
A Gatsby plugin for generating Stork search indexes.
44 lines (36 loc) • 1.79 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.StorkInput = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireWildcard(require("react"));
/**
* This component mounts the necessary input elements that Stork hooks into.
* Based on the interface defined [here](https://stork-search.net/docs/interface) in the documentation.
*/
var StorkInput = function StorkInput(_ref) {
var _ref$indexName = _ref.indexName,
indexName = _ref$indexName === void 0 ? "site" : _ref$indexName,
_ref$file = _ref.file,
file = _ref$file === void 0 ? "stork.st" : _ref$file,
_ref$placeholder = _ref.placeholder,
placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
className = _ref.className,
props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["indexName", "file", "placeholder", "className"]);
(0, _react.useEffect)(function () {
window.stork.register(indexName, window.location.origin + "/" + file);
}, []);
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
className: "stork-wrapper " + className
}, props), /*#__PURE__*/_react.default.createElement("input", {
"data-stork": indexName,
className: "stork-input",
placeholder: placeholder
}), /*#__PURE__*/_react.default.createElement("div", {
"data-stork": indexName + "-output",
className: "stork-output"
}));
};
exports.StorkInput = StorkInput;