@cfxjs/react-ui
Version:
Modern and minimalist React UI library.
491 lines (425 loc) • 19.3 kB
JavaScript
(function(e, a) { for(var i in a) e[i] = a[i]; }(exports, /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // 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 });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 721);
/******/ })
/************************************************************************/
/******/ ({
/***/ 3:
/***/ (function(module, exports) {
module.exports = require("react");
/***/ }),
/***/ 43:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "tuple", function() { return tuple; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "variantsTuple", function() { return variantsTuple; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "normalSizes", function() { return normalSizes; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "inputVariants", function() { return inputVariants; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "inputColors", function() { return inputColors; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "normalTypes", function() { return normalTypes; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "themeTypes", function() { return themeTypes; });
var tuple = function tuple() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return args;
}; //todo better syntax related to tuple?
var variantsTuple = function variantsTuple() {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
return args;
};
var buttonVariants = variantsTuple('solid', 'line', 'text');
var tabVariants = variantsTuple('solid', 'line');
var inputVariants = tuple('solid', 'line');
var buttonColors = tuple('default', 'primary', 'secondary', 'success', 'warning', 'error');
var tagColors = tuple('default', 'primary', 'secondary', 'success', 'warning', 'error');
var messageColors = tuple('default', 'primary', 'success', 'warning', 'error');
var notificationColors = tuple('default', 'primary', 'success', 'warning', 'error');
var notificationPlacement = tuple('right-start', 'left-start');
var selectVariants = tuple('line', 'text');
var normalSizes = tuple('mini', 'small', 'medium', 'large');
var tagSizes = tuple('small', 'medium', 'large');
var normalTypes = tuple('default', 'primary', 'secondary', 'success', 'warning', 'error');
var inputColors = tuple('default', 'primary', 'success', 'warning', 'error');
var themeTypes = tuple('dark', 'light');
var snippetColors = tuple('default', 'secondary', 'success', 'warning', 'error', 'dark', 'lite');
var cardVariants = tuple('solid', 'line');
var cardColors = tuple('default', 'primary', 'success', 'warning', 'error');
var copyTypes = tuple('default', 'slient', 'prevent');
var triggerTypes = tuple('hover', 'click');
var placement = tuple('auto', 'auto-start', 'auto-end', 'top', 'top-start', 'top-end', 'left', 'left-start', 'left-end', 'bottom', 'bottom-start', 'bottom-end', 'right', 'right-start', 'right-end');
var dividerAlign = tuple('start', 'center', 'end', 'left', 'right');
var paginationVariants = tuple('line', 'solid');
var skeletonVariants = tuple('text', 'circle', 'rect');
var skeletonAnimations = tuple('pulse', 'wave', 'none');
/***/ }),
/***/ 5:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _use_theme__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _use_theme__WEBPACK_IMPORTED_MODULE_0__["default"]; });
/***/ }),
/***/ 6:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _theme_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
var useTheme = function useTheme() {
return react__WEBPACK_IMPORTED_MODULE_0___default.a.useContext(_theme_context__WEBPACK_IMPORTED_MODULE_1__["default"]);
};
/* harmony default export */ __webpack_exports__["default"] = (useTheme);
/***/ }),
/***/ 7:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _themes_default__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
var ThemeContext = react__WEBPACK_IMPORTED_MODULE_0___default.a.createContext(_themes_default__WEBPACK_IMPORTED_MODULE_1__["default"]);
/* harmony default export */ __webpack_exports__["default"] = (ThemeContext);
/***/ }),
/***/ 721:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _use_media_query__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(722);
/* harmony default export */ __webpack_exports__["default"] = (_use_media_query__WEBPACK_IMPORTED_MODULE_0__["default"]);
/***/ }),
/***/ 722:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _styles_use_theme__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5);
/* harmony import */ var _utils_prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43);
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var breakpoints = Object(_utils_prop_types__WEBPACK_IMPORTED_MODULE_2__["tuple"])('xs', 'sm', 'md', 'lg', 'xl', 'mobile');
var matchType = Object(_utils_prop_types__WEBPACK_IMPORTED_MODULE_2__["tuple"])('up', 'down', 'default');
var defaultResponsiveOptions = {
match: 'default'
};
var makeQueries = function makeQueries(bp, up, down) {
var queryString = function queryString(item) {
var upQuery = "(min-width: ".concat(item.min, ")");
var downQuery = "(max-width: ".concat(item.max, ")");
return up ? upQuery : down ? downQuery : "".concat(upQuery, " and ").concat(downQuery);
};
var xs = queryString(bp.xs);
return {
xs: xs,
mobile: xs,
sm: queryString(bp.sm),
md: queryString(bp.md),
lg: queryString(bp.lg),
xl: queryString(bp.xl)
};
};
var useMediaQuery = function useMediaQuery(breakpoint) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultResponsiveOptions;
var _options$match = options.match,
matchType = _options$match === void 0 ? 'default' : _options$match,
_options$ssrMatchMedi = options.ssrMatchMedia,
ssrMatchMedia = _options$ssrMatchMedi === void 0 ? null : _options$ssrMatchMedi;
var supportMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';
var theme = Object(_styles_use_theme__WEBPACK_IMPORTED_MODULE_1__["default"])();
var mediaQueries = Object(react__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(function () {
var up = matchType === 'up';
var down = matchType === 'down';
return makeQueries(theme.breakpoints, up, down);
}, [theme.breakpoints, options]);
var query = Object(react__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(function () {
return mediaQueries[breakpoint];
}, [mediaQueries, breakpoint]);
var matchQuery = function matchQuery(q) {
return window.matchMedia(q);
};
/**
* Do nothing in the server-side rendering.
* If server match query fucntion is simulated, return user-defined value first.
*/
var _useState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(function () {
if (supportMedia) return matchQuery(query).matches;
if (ssrMatchMedia && typeof ssrMatchMedia === 'function') {
return ssrMatchMedia(query).matches;
}
return false;
}),
_useState2 = _slicedToArray(_useState, 2),
state = _useState2[0],
setState = _useState2[1];
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
if (!supportMedia) return;
var queryList = matchQuery(query);
var update = function update() {
return setState(matchQuery(query).matches);
};
update();
/**
* addListener is deprecated. EventTarget.addEventListener is recommended.
* But in some old browsers, MediaQueryList does not inherit from EventTarget.
*/
queryList.addListener(update);
return function () {
queryList.removeListener(update);
};
}, [supportMedia]);
return state;
};
/* harmony default export */ __webpack_exports__["default"] = (useMediaQuery);
/***/ }),
/***/ 8:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "palette", function() { return palette; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "expressiveness", function() { return expressiveness; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "font", function() { return font; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "breakpoints", function() { return breakpoints; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "layout", function() { return layout; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "themes", function() { return themes; });
/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9);
var palette = {
/* eslint-disable @typescript-eslint/camelcase */
accents_1: '#fafafa',
accents_2: '#eaeaea',
accents_3: '#999',
accents_4: '#888',
accents_5: '#666',
accents_6: '#444',
accents_7: '#333',
accents_8: '#111',
/* eslint-enable camelcase */
background: '#fff',
foreground: '#000',
selection: '#79ffe1',
cyan: '#50e3c2',
cyanLighter: '#aaffec',
cyanLight: '#79ffe1',
cyanDark: '#29bc9b',
violet: '#7928ca',
violetLighter: '#e3d7fc',
violetLight: '#8a63d2',
violetDark: '#4c2889',
purple: '#f81ce5',
alert: '#ff0080',
magenta: '#eb367f',
link: '#0070f3',
// conflux ui
secondary: '#666',
error: '#e15c56',
errorLight: '#fbebeb',
errorDark: '#b34a50',
success: '#7cd77b',
successLight: '#effaef',
successDark: '#61be75',
warning: '#ffc438',
warningLight: '#fef1ea',
warningDark: '#fb7a03',
code: '#f81ce5',
border: '#eaeaea',
cTheme0: '#f0f5ff',
cTheme1: '#dfe8ff',
cTheme2: '#9cb4ff',
cTheme3: '#788bef',
cTheme4: '#4b64e9',
cTheme5: '#1e3de4',
cTheme6: '#0f23bd',
cTheme7: '#030f8e',
cNeutral0: '#f9fafb',
cNeutral1: '#f1f3f6',
cNeutral2: '#ebeced',
cNeutral3: '#ccc',
cNeutral4: '#999',
cNeutral5: '#666',
cNeutral6: '#444',
cNeutral7: '#333',
cNeutral8: '#fff'
};
var expressiveness = {
linkStyle: 'none',
linkHoverStyle: 'none',
dropdownBoxShadow: '0 4px 4px 0 rgba(0, 0, 0, 0.02)',
scrollerStart: 'rgba(255, 255, 255, 1)',
scrollerEnd: 'rgba(255, 255, 255, 0)',
shadowSmall: '0 5px 10px rgba(0, 0, 0, 0.12)',
shadowMedium: '0 8px 30px rgba(0, 0, 0, 0.12)',
shadowLarge: '0 30px 60px rgba(0, 0, 0, 0.12)',
portalOpacity: 0.25,
// radius
R0: '0',
R1: '2px',
R2: '4px',
R3: '8px',
R4: '12px',
R5: '50%',
// border-width
L1: '1px',
L2: '2px',
L4: '4px',
// border-style
cLineStyle1: 'solid',
cLineStyle2: 'dashed',
cLineStyle3: 'dotted',
// drop shadows
D0: 'none',
D1: '0px 4px 6px -4px rgba(0, 0, 0, 0.12)',
D2: '0px 6px 16px rgba(0, 0, 0, 0.08)',
D3: '0px 8px 24px 8px rgba(0, 0, 0, 0.06)',
D4: '8px 12px 16px rgba(0, 0, 0, 0.08)',
D5: '12px 12px 24px rgba(0, 0, 0, 0.12)'
};
var font = _shared__WEBPACK_IMPORTED_MODULE_0__["defaultFont"];
var breakpoints = _shared__WEBPACK_IMPORTED_MODULE_0__["defaultBreakpoints"];
var layout = _shared__WEBPACK_IMPORTED_MODULE_0__["defaultLayout"];
var themes = {
type: 'light',
font: font,
layout: layout,
palette: palette,
breakpoints: breakpoints,
expressiveness: expressiveness
};
/* harmony default export */ __webpack_exports__["default"] = (themes);
/***/ }),
/***/ 9:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultFont", function() { return defaultFont; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultBreakpoints", function() { return defaultBreakpoints; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultLayout", function() { return defaultLayout; });
var defaultFont = {
sans: '"Circular Std", "PingFang SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',
mono: 'Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace'
};
var defaultBreakpoints = {
xs: {
min: '0',
max: '650px'
},
sm: {
min: '650px',
max: '900px'
},
md: {
min: '900px',
max: '1280px'
},
lg: {
min: '1280px',
max: '1920px'
},
xl: {
min: '1920px',
max: '10000px'
}
};
var defaultLayout = {
gap: '1.1429rem',
gapNegative: '-1.1429rem',
gapHalf: '0.5714rem',
gapHalfNegative: '-0.5714rem',
gapQuarter: '0.2857rem',
gapQuarterNegative: '-0.2857rem',
pageMargin: '16px',
pageWidth: '950px',
pageWidthWithMargin: '982px',
breakpointMobile: defaultBreakpoints.xs.max,
breakpointTablet: defaultBreakpoints.sm.max // radius: '5px',
};
/***/ })
/******/ })));