UNPKG

@public-ui/components

Version:

Contains all web components that belong to KoliBri - The accessible HTML-Standard.

84 lines (81 loc) 3.31 kB
/*! * KoliBri - The accessible HTML-Standard */ import { o as objectObjectHandler, p as parseJson, b as watchValidator, i as isString, F as isStyle, G as isObject } from './common-Cx_AGO_M.js'; const mapCustomIcon = (state, alignment, icon) => { if (isObject(icon)) { state[alignment] = icon; } else if (isString(icon, 1)) { state[alignment] = { icon: icon, }; } }; const mapIconProp2State = (icon) => { let state = {}; if (isString(icon, 1)) { state = { left: { icon: icon, }, }; } else if (typeof icon === 'object' && icon !== null) { mapCustomIcon(state, 'top', icon.top); mapCustomIcon(state, 'right', icon.right); mapCustomIcon(state, 'bottom', icon.bottom); mapCustomIcon(state, 'left', icon.left); } return state; }; const beforePatchIcon = (component) => { var _a, _b, _c; if ((_a = component.nextState) === null || _a === void 0 ? void 0 : _a.has('_icons')) { const icons = (_b = component.nextState) === null || _b === void 0 ? void 0 : _b.get('_icons'); (_c = component.nextState) === null || _c === void 0 ? void 0 : _c.set('_icons', mapIconProp2State(icons)); } }; const isIcon = (value) => typeof value === 'object' && value !== null && (typeof value.style === 'undefined' || isStyle(value.style)) && (typeof value.label === 'undefined' || isString(value.label)) && isString(value.icon, 1); const validateIcons = (component, value, options = {}) => { objectObjectHandler(value, () => { var _a; try { value = parseJson(value); } catch (_b) { } watchValidator(component, '_icons', (value) => { const valueIsEmptyObject = typeof value === 'object' && value !== null && Object.keys(value).length === 0; return (value === null || valueIsEmptyObject || isString(value, 1) || (typeof value === 'object' && value !== null && (isString(value.left, 0) || isIcon(value.left) || isString(value.right, 0) || isIcon(value.right) || isString(value.top, 0) || isIcon(value.top) || isString(value.bottom, 0) || isIcon(value.bottom)))); }, new Set(['KoliBriIcon']), value, Object.assign(Object.assign({}, options), { defaultValue: {}, hooks: { afterPatch: (_a = options.hooks) === null || _a === void 0 ? void 0 : _a.afterPatch, beforePatch: (nextValue, nextState, component, key) => { var _a, _b; if (typeof ((_a = options.hooks) === null || _a === void 0 ? void 0 : _a.beforePatch) === 'function') { (_b = options.hooks) === null || _b === void 0 ? void 0 : _b.beforePatch(nextValue, nextState, component, key); } beforePatchIcon(component); }, } })); }); }; export { validateIcons as v }; //# sourceMappingURL=icons-oAzMYWgV.js.map //# sourceMappingURL=icons-oAzMYWgV.js.map