UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

52 lines (51 loc) 1.34 kB
"use strict"; "use client"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = VisibilityByTheme; var _useTheme = _interopRequireDefault(require("./useTheme")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function VisibilityByTheme(_ref) { let { children, visible, hidden } = _ref; const theme = (0, _useTheme.default)(); const visibleList = Array.isArray(visible) ? visible : [visible]; const hiddenList = Array.isArray(hidden) ? hidden : [hidden]; if (visible) { if (!visibleList.some(match(theme))) { return null; } } else if (hidden) { if (hiddenList.some(match(theme))) { return null; } } return children; function match(theme) { return themeItem => { return typeof themeItem === 'string' ? theme.name === themeItem : matchObject(theme, themeItem); }; } function matchObject(theme, themeItem) { return Object.keys(themeItem).every(key => { return theme[key] === themeItem[key]; }); } } VisibilityByTheme.Name = function ThemeName() { const theme = (0, _useTheme.default)(); if (theme.isEiendom) { return 'Eiendom'; } if (theme.isSbanken) { return 'Sbanken'; } if (theme.isUi) { return 'DNB'; } }; //# sourceMappingURL=VisibilityByTheme.js.map