@descope/web-components-ui 1.0.35 → 1.0.37

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. package/dist/cjs/index.cjs.js +23 -4
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +325 -103
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/313.js +1 -0
  6. package/dist/umd/599.js +1 -1
  7. package/dist/umd/97.js +1 -0
  8. package/dist/umd/descope-button-index-js.js +1 -0
  9. package/dist/umd/{descope-combo-js.js → descope-combo-index-js.js} +1 -1
  10. package/dist/umd/descope-container-index-js.js +1 -0
  11. package/dist/umd/descope-date-picker-index-js.js +1 -0
  12. package/dist/umd/descope-text-field-index-js.js +1 -0
  13. package/dist/umd/index.js +1 -1
  14. package/package.json +1 -1
  15. package/src/components/{descope-button.js → descope-button/Button.js} +5 -7
  16. package/src/components/descope-button/index.js +6 -0
  17. package/src/components/{descope-combo.js → descope-combo/index.js} +3 -3
  18. package/src/components/descope-container/Container.js +57 -0
  19. package/src/components/descope-container/index.js +5 -0
  20. package/src/components/{descope-date-picker.js → descope-date-picker/index.js} +3 -2
  21. package/src/components/{descope-text-field.js → descope-text-field/TextField.js} +5 -6
  22. package/src/components/descope-text-field/index.js +6 -0
  23. package/src/componentsHelpers/componentNameValidationMixin.js +21 -0
  24. package/src/componentsHelpers/createProxy/index.js +1 -9
  25. package/src/componentsHelpers/createStyleMixin/helpers.js +7 -5
  26. package/src/componentsHelpers/createStyleMixin/index.js +39 -3
  27. package/src/componentsHelpers/draggableMixin.js +2 -2
  28. package/src/componentsHelpers/index.js +1 -0
  29. package/src/componentsHelpers/inputMixin.js +1 -1
  30. package/src/helpers.js +1 -1
  31. package/src/index.js +1 -0
  32. package/src/index.umd.js +5 -2
  33. package/src/theme/components/button.js +36 -35
  34. package/src/theme/components/container.js +94 -0
  35. package/src/theme/components/index.js +3 -1
  36. package/src/theme/components/textField.js +27 -24
  37. package/src/theme/globals.js +2 -0
  38. package/src/theme/index.js +1 -1
  39. package/src/themeHelpers/index.js +23 -5
  40. package/dist/umd/146.js +0 -1
  41. package/dist/umd/descope-button-js.js +0 -1
  42. package/dist/umd/descope-date-picker-js.js +0 -1
  43. package/dist/umd/descope-text-field-js.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/constants.js","../src/helpers.js","../src/componentsHelpers/createStyleMixin/helpers.js","../src/componentsHelpers/createStyleMixin/index.js","../src/componentsHelpers/draggableMixin.js","../src/componentsHelpers/createProxy/helpers.js","../src/componentsHelpers/createProxy/index.js","../src/componentsHelpers/inputMixin.js","../src/componentsHelpers/index.js","../src/components/descope-button.js","../src/components/descope-text-field.js","../src/components/descope-combo.js","../src/components/descope-date-picker.js","../src/themeHelpers/index.js","../src/themeHelpers/processColors.js","../src/theme/globals.js","../src/theme/components/button.js","../src/theme/components/textField.js","../src/theme/components/index.js","../src/theme/index.js"],"sourcesContent":["export const DESCOPE_PREFIX = 'descope'","export const kebabCase = str => str\n.replace(/([a-z])([A-Z])/g, \"$1-$2\")\n.replace(/[\\s_.]+/g, '-')\n.toLowerCase();\n\nexport const kebabCaseJoin = (...args) => kebabCase(args.join('-'))\n\nexport const getCssVarName = (...args) => `--${kebabCaseJoin(...args)}`\n","import { getCssVarName, kebabCase } from \"../../helpers\"\n\nconst createCssVarFallback = (first, ...rest) => `var(${first}${rest.length ? ` , ${createCssVarFallback(...rest)}` : ''})`;\n\nconst createCssSelector = (wrappedComponentName = '', relativeSelectorOrSelectorFn = '') => \n typeof relativeSelectorOrSelectorFn === 'function' ? \n relativeSelectorOrSelectorFn(wrappedComponentName) : \n `${wrappedComponentName}${relativeSelectorOrSelectorFn}`;\n\nclass StyleBuilder {\n constructor() {\n this.styleMap = new Map()\n }\n\n add(selector, property, value) {\n if (!this.styleMap.has(selector)) {\n this.styleMap.set(selector, [])\n }\n\n this.styleMap.set(selector, [...this.styleMap.get(selector), { property, value }])\n }\n\n toString() {\n return Array.from(this.styleMap.entries()).reduce((style, [selector, propValArr]) =>\n style += `${selector} { \\n${propValArr.map(({ property, value }) => `${property}: ${value}`).join(';\\n')} \\n}\\n\\n`\n , '')\n }\n}\n\nconst normalizeConfig = (attr, config) => {\n const defaultMapping = { selector: '', property: kebabCase(attr) }\n\n if (!config || !Object.keys(config).length) return [defaultMapping];\n\n if (Array.isArray(config)) return config.map(entry => Object.assign({}, defaultMapping, entry));\n\n return [Object.assign({}, defaultMapping, config)];\n}\n\nexport const createStyle = (componentName, wrappedComponentName, mappings) => {\n const style = new StyleBuilder();\n\n Object.keys(mappings).forEach((attr) => {\n const attrConfig = normalizeConfig(attr, mappings[attr])\n\n const cssVarName = getCssVarName(componentName, attr)\n\n attrConfig.forEach(({ selector: relativeSelectorOrSelectorFn, property }) => {\n style.add(\n createCssSelector(wrappedComponentName, relativeSelectorOrSelectorFn),\n property,\n createCssVarFallback(cssVarName)\n )\n })\n })\n\n return style.toString();\n}\n\nexport const createCssVarsList = (componentName, mappings) =>\n Object.keys(mappings).reduce(\n (acc, attr) => Object.assign(acc, { [attr]: getCssVarName(componentName, attr) }),\n {}\n )\n\nexport const matchHostStyle = (mappingObj) => [mappingObj, {...mappingObj, selector: () => `:host${mappingObj.selector || ''}`}];\n","import { createStyle, createCssVarsList } from './helpers';\n\nexport const createStyleMixin = ({ mappings = {} }) => (superclass) => {\n return class CustomStyleMixinClass extends superclass {\n static get cssVarList() {\n return createCssVarsList(superclass.componentName, mappings)\n }\n \n constructor() {\n super();\n\n this.#createComponentStyle()\n }\n\n #createComponentStyle() {\n const themeStyle = document.createElement('style');\n themeStyle.id = 'style-mixin'\n themeStyle.innerHTML = createStyle(this.componentName, this.wrappedComponentName, mappings)\n this.shadowRoot.prepend(themeStyle);\n }\n }\n}\n","export const draggableMixin = (superclass) =>\n class DraggableMixinClass extends superclass {\n\n #styleEle = null;\n\n static get observedAttributes() {\n const superAttrs = superclass.observedAttributes || []\n return [...superAttrs, 'draggable']\n }\n\n constructor() {\n super();\n\n this.#styleEle = document.createElement('style');\n this.#styleEle.innerText = `${this.wrappedComponentName} { cursor: inherit }`;\n }\n\n #handleDraggableStyle(isDraggable) {\n if (isDraggable) {\n this.shadowRoot.appendChild(this.#styleEle)\n } else {\n this.#styleEle.remove();\n }\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === 'draggable') {\n this.#handleDraggableStyle(newValue === 'true')\n }\n }\n }\n","\nconst observeAttributes = (ele, callback, excludeAttrs) => {\n // sync all attrs on init\n callback(...Array.from(ele.attributes).map(attr => attr.name));\n\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"attributes\" && !excludeAttrs.includes(mutation.attributeName)) {\n callback(mutation.attributeName);\n }\n }\n });\n\n observer.observe(ele, { attributes: true });\n}\n\nconst createSyncAttrsCb = (srcEle, targetEle) => (...attrNames) => {\n attrNames.forEach(attrName => {\n const srcAttrVal = srcEle.getAttribute(attrName);\n if (srcAttrVal !== null) {\n if (targetEle.getAttribute(attrName) !== srcAttrVal) {\n targetEle.setAttribute(attrName, srcAttrVal);\n }\n } else {\n targetEle.removeAttribute(attrName);\n }\n })\n}\n\nexport const syncAttrs = (ele1, ele2, excludeAttrs) => {\n observeAttributes(ele1, createSyncAttrsCb(ele1, ele2), excludeAttrs)\n observeAttributes(ele2, createSyncAttrsCb(ele2, ele1), excludeAttrs)\n}\n","import { syncAttrs } from \"./helpers\";\n\nexport const createProxy = ({ componentName, wrappedEleName, slots = [], style, excludeAttrsSync = [] }) => {\n\n\tconst template = `\n\t\t${style ? `<style id=\"create-proxy\">${style}</style>` : ''}\n\t\t<${wrappedEleName}>\n\t\t<slot></slot>\n\t\t${slots.map((slot) => `<slot name=\"${slot}\" slot=\"${slot}\"></slot>`).join(\"\")}\n\t\t</${wrappedEleName}>\n\t`;\n\n\tclass ProxyElement extends HTMLElement {\n\t\tstatic get componentName() {\n\t\t\treturn componentName;\n\t\t}\n\n\t\tconstructor() {\n\t\t\tsuper().attachShadow({ mode: \"open\" }).innerHTML = template;\n\t\t\tthis.hostElement = this.shadowRoot.host;\n\t\t\tthis.componentName = this.hostElement.tagName.toLowerCase()\n\t\t\tthis.wrappedComponentName = wrappedEleName\n\t\t}\n\n\t\t#checkComponentName() {\n\t\t\tif (this.componentName !== componentName) {\n\t\t\t\tthrow Error(`component name mismatch, expected \"${componentName}\", current \"${actualComponentName}\"`)\n\t\t\t}\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tif (this.shadowRoot.isConnected) {\n\t\t\t\tthis.#checkComponentName()\n\n\t\t\t\tthis.proxyElement = this.shadowRoot.querySelector(wrappedEleName);\n\t\t\t\tthis.setAttribute('tabindex', '0');\n\t\t\t\t\n\t\t\t\t// we want to focus on the proxy element when focusing our WC\n\t\t\t\tthis.onfocus = (e) => {\n\t\t\t\t\tthis.proxyElement.focus()\n\t\t\t\t}\n\n\t\t\t\t// `onkeydown` is set on `proxyElement` support proper tab-index navigation\n\t\t\t\t// this support is needed since both proxy host and element catch `focus`/`blur` event\n\t\t\t\t// which causes faulty behaviour.\n\t\t\t\tthis.proxyElement.onkeydown = (e) => {\n\t\t\t\t\tif (e.shiftKey && e.keyCode === 9) {\n\t\t\t\t\t\tthis.removeAttribute('tabindex');\n\t\t\t\t\t\t// We want to defer the action of setting the tab index back\n\t\t\t\t\t\t// so it will happen after focusing the previous element\n\t\t\t\t\t\tsetTimeout(() => this.setAttribute('tabindex', '0'), 0)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.mouseoverCbRef = () => {\n\t\t\t\t\tthis.proxyElement.setAttribute('hover', '');\n\t\t\t\t\tthis.proxyElement.addEventListener('mouseleave', () =>\n\t\t\t\t\t\tthis.proxyElement.removeAttribute('hover'), { once: true })\n\t\t\t\t}\n\n\t\t\t\tthis.proxyElement.addEventListener('mouseover', this.mouseoverCbRef);\n\n\t\t\t\t// sync events\n\t\t\t\tthis.addEventListener = this.proxyElement.addEventListener;\n\n\t\t\t\tsyncAttrs(this.proxyElement, this.hostElement, excludeAttrsSync);\n\t\t\t}\n\t\t}\n\n\t\tdisconnectedCallback() {\n\t\t\tthis.proxyElement.removeEventListener('mouseover', this.mouseoverCbRef)\n\t\t}\n\n\t\tattributeChangedCallback() {\n\t\t\tif (!this.proxyElement) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn ProxyElement;\n};\n","export const inputMixin = (superclass) =>\n class InputMixinClass extends superclass {\n\t\tstatic get formAssociated() {\n\t\t\treturn true;\n\t\t}\n \n #internals\n\n constructor() {\n super();\n\n this.#internals = this.attachInternals();\n\n // this is needed in order to make sure the form input validation is working\n if (!this.hasAttribute('tabindex')) {\n this.setAttribute('tabindex', 0);\n }\n }\n\n formAssociatedCallback() {\n this.setValidity?.();\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n // vaadin does not expose all those validation attributes so we need to take it from the input\n // https://github.com/vaadin/web-components/issues/1177\n const input = this.proxyElement.querySelector('input')\n if (!input) throw Error('no input was found')\n\n this.checkValidity = () => input.checkValidity()\n this.reportValidity = () => input.reportValidity()\n this.validity = input.validity\n\n this.setValidity = () => {\n this.#internals.setValidity(input.validity, input.validationMessage);\n }\n\n input.oninput = () => {\n this.value = input.value\n this.setValidity()\n }\n\n }\n }\n","import { DESCOPE_PREFIX } from \"../constants\";\nimport { kebabCaseJoin } from \"../helpers\";\n\nexport const getComponentName = (name) => kebabCaseJoin(DESCOPE_PREFIX, name)\n\nexport const compose = (...fns) => (val) => fns.reduceRight((res, fn) => fn(res), val);\n\nexport { createStyleMixin } from './createStyleMixin'\nexport { draggableMixin } from './draggableMixin'\nexport { createProxy } from './createProxy'\nexport { inputMixin } from './inputMixin'\n","import \"@vaadin/button\";\nimport { getComponentName, createStyleMixin, draggableMixin, createProxy, compose } from \"../componentsHelpers\";\nimport { matchHostStyle } from \"../componentsHelpers/createStyleMixin/helpers\";\n\nconst editorOverrides = `vaadin-button::part(label) { pointer-events: none; }`;\n\nconst componentName = getComponentName(\"button\");\n\nconst Button = compose(\n createStyleMixin({\n // todo: do we want to change the mapping structure to this? ['aa', 'aaa', {'color': [{ selector: '::part(label)' }]}],\n mappings: {\n 'backgroundColor': {},\n 'borderRadius': {},\n 'color': { selector: '::part(label)' },\n 'borderColor': {},\n 'borderStyle': {},\n 'borderWidth': {},\n 'fontSize': {},\n 'height': {},\n 'width': matchHostStyle({}),\n 'cursor': {},\n 'padding': {},\n },\n }),\n draggableMixin,\n)(\n createProxy({\n slots: [\"prefix\", \"suffix\"],\n wrappedEleName: \"vaadin-button\",\n style: `${editorOverrides}`,\n excludeAttrsSync: ['tabindex'],\n componentName\n })\n)\n\ncustomElements.define(componentName, Button);\n\nexport { Button }\n","import \"@vaadin/text-field\";\nimport { getComponentName, createStyleMixin, draggableMixin, createProxy, inputMixin, compose } from \"../componentsHelpers\";\n\nconst componentName = getComponentName(\"text-field\")\n\nconst TextField = compose(\n createStyleMixin({\n mappings: {\n 'placeholderColor': { selector: '> input:placeholder-shown', property: 'color' },\n 'color': {},\n 'borderColor': { selector: '::part(input-field)' },\n 'borderWidth': { selector: '::part(input-field)' },\n 'borderStyle': { selector: '::part(input-field)' },\n 'borderRadius': { selector: '::part(input-field)' },\n 'boxShadow': { selector: '::part(input-field)' },\n 'height': { selector: '::part(input-field)' },\n 'padding': { selector: '::part(input-field)' },\n 'backgroundColor': { selector: '::part(input-field)' },\n 'labelColor': { selector: '::part(label)', property: 'color' },\n },\n }),\n draggableMixin,\n inputMixin\n)(\n createProxy({\n slots: [\"prefix\", \"suffix\"],\n wrappedEleName: \"vaadin-text-field\",\n style: ``,\n excludeAttrsSync: ['tabindex'],\n componentName\n })\n);\n\ncustomElements.define(componentName, TextField);\n\nexport { TextField }\n","import { getComponentName } from '../componentsHelpers/index.js';\nimport './descope-button.js'\nimport './descope-text-field.js'\n\nconst template = document.createElement('template')\n\nconst componentName = getComponentName(\"combo\");\n\ntemplate.innerHTML = `\n <descope-button></descope-button>\n <descope-text-field></descope-text-field>\n`\n\nclass Combo extends HTMLElement {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).appendChild(\n template.content.cloneNode(true)\n );\n }\n}\n\ncustomElements.define(componentName, Combo);\n\nexport { Combo }","import \"@vaadin/date-picker\";\nimport { getComponentName, draggableMixin, createProxy, compose } from \"../componentsHelpers\";\n\nconst componentName = getComponentName(\"date-picker\");\n\nconst DatePicker = compose(\n\tdraggableMixin\n)(\n\tcreateProxy({\n\t\tcomponentName,\n\t\tslots: [\"prefix\", \"suffix\"],\n\t\twrappedEleName: \"vaadin-date-picker\",\n\t\tstyle: ``,\n\t})\n);\n\ncustomElements.define(componentName, DatePicker);\n\nexport { DatePicker }","import merge from \"lodash.merge\";\nimport set from \"lodash.set\";\nimport { DESCOPE_PREFIX } from \"../constants\";\nimport { getCssVarName } from \"../helpers\";\nimport { getComponentName } from \"../componentsHelpers\";\n\nconst getVarName = (path) => getCssVarName(DESCOPE_PREFIX, ...path)\n\nconst transformTheme = (theme, path, getTransformation) => {\n\treturn Object.entries(theme).reduce((acc, [key, val]) => {\n\t\tif (val?.constructor !== Object) {\n\t\t\treturn merge(acc, getTransformation(path.concat(key), val));\n\t\t} else {\n\t\t\treturn merge(acc, transformTheme(val, [...path, key], getTransformation));\n\t\t}\n\t}, {});\n};\n\nconst stringifyArray = (strArr) => strArr.map((str) => (str.includes(\" \") ? `\"${str}\"` : str)).join(\", \")\n\nexport const themeToCSSVarsObj = (theme) =>\n\ttransformTheme(theme, [], (path, val) => ({\n\t\t[getVarName(path)]: Array.isArray(val) ? stringifyArray(val) : val,\n\t}));\n\nexport const getThemeRefs = (theme, prefix) =>\n\ttransformTheme(theme, [], (path) => set({}, path, `var(${getVarName(prefix ? [prefix, ...path] : path)})`));\n\nexport const globalsThemeToStyle = (theme, themeName = '') => `\n*[data-theme=\"${themeName}\"] {\n\t${Object.entries(themeToCSSVarsObj(theme)).reduce(\n\t(acc, entry) => (acc += `${entry.join(\":\")};\\n`), ''\n)}\n}\n`\n\nconst componentsThemeToStyleObj = (componentsTheme) =>\n\ttransformTheme(componentsTheme, [], (path, val) => {\n\t\tconst [component, ...restPath] = path\n\t\tconst property = restPath.pop()\n\n\t\t// do not start with underscore -> key:value, must have 2 no underscore attrs in a row\n\t\t// starts with underscore -> attribute selector\n\n\t\tconst attrsSelector = restPath.reduce((acc, section, idx) => {\n\t\t\tif (section.startsWith('_')) return acc += `[${section.replace(/^_/, '')}]`;\n\n\t\t\tconst nextSection = restPath[idx + 1];\n\n\t\t\tif (typeof nextSection !== 'string' || nextSection.startsWith('_')) {\n\t\t\t\tconsole.error('theme generator', `your theme structure is invalid, attribute \"${section}\" is followed by \"${nextSection}\" which is not allowed`)\n\t\t\t\treturn acc;\n\t\t\t}\n\n\t\t\treturn acc += `[${section}=\"${restPath.splice(idx + 1, 1).join('')}\"]`;\n\t\t}, '');\n\n\t\tlet selector = `${getComponentName(component)}${attrsSelector}`\n\n\t\treturn {\n\t\t\t[selector]: {\n\t\t\t\t[getVarName([component, property])]: val\n\t\t\t}\n\t\t}\n\t});\n\nexport const componentsThemeToStyle = (componentsTheme, themeName = '') =>\n\tObject.entries(componentsThemeToStyleObj(componentsTheme)).reduce(\n\t\t(acc, [selector, vars]) => (acc += `*[data-theme=\"${themeName}\"] ${selector} { \\n${Object.entries(vars).map(([key, val]) => `${key}: ${val}`).join(';\\n')} \\n}\\n\\n`),\n\t\t''\n\t);\n\nexport const themeToStyle = ({ globals, components }, themeName) => `\n${globalsThemeToStyle(globals, themeName)}\n${componentsThemeToStyle(components, themeName)}\n`","import Color from \"color\";\n\nconst genDark = (c, percentage = 0.5) => c.darken(percentage).hex();\nconst genLight = (c, percentage = 0.5) => c.lighten(percentage).hex();\nconst genContrast = (c, percentage = 0.9) => {\n\tconst isDark = c.isDark();\n\treturn c.mix(Color(isDark ? 'white' : 'black'), percentage).saturate(1).hex();\n};\n\nexport const genColor = (color) => {\n\tconst mainColor = new Color(color.main || color);\n\n\treturn {\n\t\tmain: mainColor.hex(),\n\t\tdark: color.dark || genDark(mainColor),\n\t\tlight: color.light || genLight(mainColor),\n\t\tcontrast: color.contrast || genContrast(mainColor),\n\t}\n}\n\nexport const genColors = (colors) => {\n\treturn Object.keys(colors).reduce((acc, colorName) => {\n\t\tconst currentColor = colors[colorName];\n\n\t\treturn Object.assign(acc, {\n\t\t\t[colorName]: genColor(currentColor),\n\t\t})\n\t}, {});\n};\n","import { genColors } from \"../themeHelpers/processColors\";\n\nexport const colors = genColors({\n\tsurface: {\n\t\tmain: 'lightgray',\n\t\tlight: '#e1e1e1'\n\t},\n\tprimary: \"#0082B5\",\n\tsecondary: \"#7D14EB\",\n\tsuccess: \"green\",\n\terror: \"red\",\n});\n\nconst typography = {\n\th1: {\n\t\tfont: [\"Courier New\", \"Arial\", \"sans-serif\"],\n\t\tweight: \"700\",\n\t\tsize: \"48px\",\n\t},\n\th2: {\n\t\tfont: [\"Courier New\", \"sans-serif\"],\n\t\tweight: \"500\",\n\t\tsize: \"38px\",\n\t},\n\th3: {\n\t\tfont: [\"Courier New\", \"sans-serif\"],\n\t\tweight: \"300\",\n\t\tsize: \"28px\",\n\t},\n};\n\nconst spacing = {\n\txs: '2px',\n\tsm: '4px',\n\tmd: '8px',\n\tlg: '16px',\n\txl: '32px',\n};\n\nconst border = {\n\tsm: \"1px\",\n\tmd: \"2px\",\n\tlg: \"3px\",\n};\n\nconst radius = {\n\tsm: \"5px\",\n\tmd: \"25px\",\n\tlg: \"50px\",\n};\n\nconst shadow = {\n\tcolor: colors.primary.main,\n\tsize: {\n\t\tsm: `0 0 10px`,\n\t},\n};\n\nexport default {\n\tcolors,\n\ttypography,\n\tspacing,\n\tborder,\n\tradius,\n\tshadow,\n};\n","import globals from \"../globals\";\nimport { getThemeRefs } from \"../../themeHelpers\";\n\nconst globalRefs = getThemeRefs(globals);\n\nconst mode = {\n\tprimary: {\n\t\tmain: globalRefs.colors.primary.main,\n\t\tdark: 'darkblue',\n\t\tlight: 'lightblue',\n\t\tcontrast: 'white'\n\t},\n\tsecondary: globalRefs.colors.secondary,\n\tsuccess: globalRefs.colors.success,\n\terror: globalRefs.colors.error,\n\tsurface: globalRefs.colors.surface,\n}\n\nconst colorRef = getThemeRefs(mode.primary, 'button')\n\nconst button = {\n\tborderRadius: globalRefs.radius.lg,\n\tcursor: 'pointer',\n\t\n\tsize: {\n\t\txs: {\n\t\t\theight: '10px',\n\t\t\tfontSize: '10px',\n\t\t\tpadding: `0 ${globalRefs.spacing.xs}`\n\t\t},\n\t\tsm: {\n\t\t\theight: '20px',\n\t\t\tfontSize: '10px',\n\t\t\tpadding: `0 ${globalRefs.spacing.sm}`\n\t\t},\n\t\tmd: {\n\t\t\theight: '30px',\n\t\t\tfontSize: '14px',\n\t\t\tpadding: `0 ${globalRefs.spacing.md}`\n\t\t},\n\t\tlg: {\n\t\t\theight: '40px',\n\t\t\tfontSize: '20px',\n\t\t\tpadding: `0 ${globalRefs.spacing.lg}`\n\t\t},\n\t\txl: {\n\t\t\theight: '50px',\n\t\t\tfontSize: '25px',\n\t\t\tpadding: `0 ${globalRefs.spacing.xl}`\n\t\t},\n\t},\n\n\t_fullwidth: {\n\t\twidth: '100%'\n\t},\n\n\tmode,\n\n\tvariant: {\n\t\tcontained: {\n\t\t\tcolor: colorRef.contrast,\n\t\t\tbackgroundColor: colorRef.main,\n\t\t\t_hover: {\n\t\t\t\tbackgroundColor: colorRef.dark,\n\t\t\t},\n\t\t},\n\t\toutline: {\n\t\t\tcolor: colorRef.main,\n\t\t\tborderColor: colorRef.main,\n\t\t\tborderWidth: '2px',\n\t\t\tborderStyle: 'solid',\n\t\t\t_hover: {\n\t\t\t\tcolor: colorRef.dark,\n\t\t\t\tborderColor: colorRef.dark,\n\t\t\t\t_error: {\n\t\t\t\t\tcolor: 'red',\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tlink: {\n\t\t\tcolor: colorRef.main,\n\t\t},\n\t}\n};\n\nexport default button;\n","import globals from \"../globals\";\nimport { getThemeRefs } from \"../../themeHelpers\";\n\nconst globalRefs = getThemeRefs(globals);\n\nconst textField = {\n borderRadius: globalRefs.radius.lg,\n color: globalRefs.colors.surface.contrast,\n backgroundColor: globalRefs.colors.surface.light,\n borderWidth: globalRefs.border.small,\n borderStyle: 'solid',\n borderColor: globalRefs.colors.surface.dark,\n labelColor: globalRefs.colors.surface.contrast,\n placeholderColor: globalRefs.colors.surface.dark,\n _invalid: {\n backgroundColor: globalRefs.colors.error.light,\n borderColor: globalRefs.colors.error.dark,\n },\n\n size: {\n sm: {\n height: '20px',\n fontSize: '10px',\n padding: `0 ${globalRefs.spacing.xs}`\n },\n md: {\n height: '30px',\n fontSize: '14px',\n padding: `0 ${globalRefs.spacing.sm}`\n },\n lg: {\n height: '40px',\n fontSize: '20px',\n padding: `0 ${globalRefs.spacing.sm}`\n },\n xl: {\n height: '50px',\n fontSize: '25px',\n padding: `0 ${globalRefs.spacing.md}`\n },\n },\n\n _fullwidth: {\n width: '100%'\n },\n};\n\nexport default textField\n\n\n","import button from './button';\nimport textField from './textField';\n\nexport default {\n button,\n textField\n}\n","import globals from \"./globals\"\nimport components from './components';\n\nexport default { globals, components }"],"names":["componentName","globalRefs"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/constants.js","../src/helpers.js","../src/componentsHelpers/createStyleMixin/helpers.js","../src/componentsHelpers/createStyleMixin/index.js","../src/componentsHelpers/draggableMixin.js","../src/componentsHelpers/createProxy/helpers.js","../src/componentsHelpers/createProxy/index.js","../src/componentsHelpers/inputMixin.js","../src/componentsHelpers/componentNameValidationMixin.js","../src/componentsHelpers/index.js","../src/components/descope-button/Button.js","../src/components/descope-button/index.js","../src/components/descope-text-field/TextField.js","../src/components/descope-text-field/index.js","../src/components/descope-combo/index.js","../src/components/descope-date-picker/index.js","../src/components/descope-container/Container.js","../src/components/descope-container/index.js","../src/themeHelpers/index.js","../src/themeHelpers/processColors.js","../src/theme/globals.js","../src/theme/components/button.js","../src/theme/components/textField.js","../src/theme/components/container.js","../src/theme/components/index.js","../src/theme/index.js"],"sourcesContent":["export const DESCOPE_PREFIX = 'descope'","export const kebabCase = str => str\n.replace(/([a-z])([A-Z])/g, \"$1-$2\")\n.replace(/[\\s_.]+/g, '-')\n.toLowerCase();\n\nexport const kebabCaseJoin = (...args) => kebabCase(args.join('-'))\n\nexport const getCssVarName = (...args) => `--${kebabCaseJoin(...args.filter(arg => !!arg))}`\n","import { getCssVarName, kebabCase } from \"../../helpers\"\n\nconst createCssVarFallback = (first, ...rest) => `var(${first}${rest.length ? ` , ${createCssVarFallback(...rest)}` : ''})`;\n\nconst createCssSelector = (baseSelector = '', relativeSelectorOrSelectorFn = '') => \n typeof relativeSelectorOrSelectorFn === 'function' ? \n relativeSelectorOrSelectorFn(baseSelector) : \n `${baseSelector}${relativeSelectorOrSelectorFn}`;\n\nclass StyleBuilder {\n constructor() {\n this.styleMap = new Map()\n }\n\n add(selector, property, value) {\n if (!this.styleMap.has(selector)) {\n this.styleMap.set(selector, [])\n }\n\n this.styleMap.set(selector, [...this.styleMap.get(selector), { property, value }])\n }\n\n toString() {\n return Array.from(this.styleMap.entries()).reduce((style, [selector, propValArr]) =>\n style += `${selector} { \\n${propValArr.map(({ property, value }) => `${property}: ${value}`).join(';\\n')} \\n}\\n\\n`\n , '')\n }\n}\n\nconst normalizeConfig = (attr, config) => {\n const defaultMapping = { selector: '', property: kebabCase(attr) }\n\n if (!config || !Object.keys(config).length) return [defaultMapping];\n\n if (Array.isArray(config)) return config.map(entry => Object.assign({}, defaultMapping, entry));\n\n return [Object.assign({}, defaultMapping, config)];\n}\n\nexport const createStyle = (componentName, baseSelector, mappings) => {\n const style = new StyleBuilder();\n\n Object.keys(mappings).forEach((attr) => {\n const attrConfig = normalizeConfig(attr, mappings[attr])\n\n const cssVarName = getCssVarName(componentName, attr)\n\n attrConfig.forEach(({ selector: relativeSelectorOrSelectorFn, property }) => {\n style.add(\n createCssSelector(baseSelector, relativeSelectorOrSelectorFn),\n property,\n createCssVarFallback(cssVarName)\n )\n })\n })\n\n return style.toString();\n}\n\nexport const createCssVarsList = (componentName, mappings) =>\n Object.keys(mappings).reduce(\n (acc, attr) => Object.assign(acc, { [attr]: getCssVarName(componentName, attr) }),\n {}\n )\n\n// match the host selector with the inner element selector\n// e.g. when we want to set the same size for the host & the inner element this can be useful\nexport const matchHostStyle = (mappingObj) => [mappingObj, {...mappingObj, selector: () => `:host${mappingObj.selector || ''}`}];\n","import { getCssVarName, kebabCaseJoin } from '../../helpers';\nimport { createStyle, createCssVarsList } from './helpers';\n\nexport const createStyleMixin = ({ mappings = {} }) => (superclass) => {\n const styleAttributes = Object.keys(mappings).map(key => kebabCaseJoin('st', key))\n return class CustomStyleMixinClass extends superclass {\n static get observedAttributes() {\n const superAttrs = superclass.observedAttributes || []\n return [...superAttrs, ...styleAttributes]\n }\n\n static get cssVarList() {\n return createCssVarsList(superclass.componentName, mappings)\n }\n\n #styleEle = null;\n\n constructor() {\n super();\n\n this.#createComponentStyle()\n this.#createAttrOverrideStyle()\n }\n\n #createAttrOverrideStyle() {\n this.#styleEle = document.createElement('style');\n this.#styleEle.id = 'style-mixin-overrides'\n\n this.#styleEle.innerText = '* {}'\n this.shadowRoot.prepend(this.#styleEle);\n }\n\n #updateAttrOverrideStyle(attrName, value) {\n const style = this.#styleEle.sheet.cssRules[0].style;\n const varName = getCssVarName(superclass.componentName, attrName.replace(/^st-/, ''))\n\n if (value)\n style.setProperty(varName, value)\n else\n style.removeProperty(varName)\n }\n\n #createComponentStyle() {\n const themeStyle = document.createElement('style');\n themeStyle.id = 'style-mixin-component'\n themeStyle.innerHTML = createStyle(superclass.componentName, baseSelector, mappings)\n this.shadowRoot.prepend(themeStyle);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (styleAttributes.includes(attrName)) {\n this.#updateAttrOverrideStyle(attrName, newValue)\n }\n }\n }\n}\n","export const draggableMixin = (superclass) =>\n class DraggableMixinClass extends superclass {\n\n #styleEle = null;\n\n static get observedAttributes() {\n const superAttrs = superclass.observedAttributes || []\n return [...superAttrs, 'draggable']\n }\n\n constructor() {\n super();\n\n this.#styleEle = document.createElement('style');\n this.#styleEle.innerText = `${this.baseSelector} { cursor: inherit }`;\n }\n\n #handleDraggableStyle(isDraggable) {\n if (isDraggable) {\n this.shadowRoot.appendChild(this.#styleEle)\n } else {\n this.#styleEle.remove();\n }\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n if (attrName === 'draggable') {\n this.#handleDraggableStyle(newValue === 'true')\n }\n }\n }\n","\nconst observeAttributes = (ele, callback, excludeAttrs) => {\n // sync all attrs on init\n callback(...Array.from(ele.attributes).map(attr => attr.name));\n\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"attributes\" && !excludeAttrs.includes(mutation.attributeName)) {\n callback(mutation.attributeName);\n }\n }\n });\n\n observer.observe(ele, { attributes: true });\n}\n\nconst createSyncAttrsCb = (srcEle, targetEle) => (...attrNames) => {\n attrNames.forEach(attrName => {\n const srcAttrVal = srcEle.getAttribute(attrName);\n if (srcAttrVal !== null) {\n if (targetEle.getAttribute(attrName) !== srcAttrVal) {\n targetEle.setAttribute(attrName, srcAttrVal);\n }\n } else {\n targetEle.removeAttribute(attrName);\n }\n })\n}\n\nexport const syncAttrs = (ele1, ele2, excludeAttrs) => {\n observeAttributes(ele1, createSyncAttrsCb(ele1, ele2), excludeAttrs)\n observeAttributes(ele2, createSyncAttrsCb(ele2, ele1), excludeAttrs)\n}\n","import { syncAttrs } from \"./helpers\";\n\nexport const createProxy = ({ componentName, wrappedEleName, slots = [], style, excludeAttrsSync = [] }) => {\n\n\tconst template = `\n\t\t${style ? `<style id=\"create-proxy\">${style}</style>` : ''}\n\t\t<${wrappedEleName}>\n\t\t<slot></slot>\n\t\t${slots.map((slot) => `<slot name=\"${slot}\" slot=\"${slot}\"></slot>`).join(\"\")}\n\t\t</${wrappedEleName}>\n\t`;\n\n\tclass ProxyElement extends HTMLElement {\n\t\tstatic get componentName() {\n\t\t\treturn componentName;\n\t\t}\n\n\t\tconstructor() {\n\t\t\tsuper().attachShadow({ mode: \"open\" }).innerHTML = template;\n\t\t\tthis.hostElement = this.shadowRoot.host;\n\t\t\tthis.componentName = this.hostElement.tagName.toLowerCase()\n\t\t\tthis.baseSelector = wrappedEleName\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tif (this.shadowRoot.isConnected) {\n\t\t\t\tthis.proxyElement = this.shadowRoot.querySelector(wrappedEleName);\n\t\t\t\tthis.setAttribute('tabindex', '0');\n\t\t\t\t\n\t\t\t\t// we want to focus on the proxy element when focusing our WC\n\t\t\t\tthis.onfocus = (e) => {\n\t\t\t\t\tthis.proxyElement.focus()\n\t\t\t\t}\n\n\t\t\t\t// `onkeydown` is set on `proxyElement` support proper tab-index navigation\n\t\t\t\t// this support is needed since both proxy host and element catch `focus`/`blur` event\n\t\t\t\t// which causes faulty behaviour.\n\t\t\t\tthis.proxyElement.onkeydown = (e) => {\n\t\t\t\t\tif (e.shiftKey && e.keyCode === 9) {\n\t\t\t\t\t\tthis.removeAttribute('tabindex');\n\t\t\t\t\t\t// We want to defer the action of setting the tab index back\n\t\t\t\t\t\t// so it will happen after focusing the previous element\n\t\t\t\t\t\tsetTimeout(() => this.setAttribute('tabindex', '0'), 0)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.mouseoverCbRef = () => {\n\t\t\t\t\tthis.proxyElement.setAttribute('hover', '');\n\t\t\t\t\tthis.proxyElement.addEventListener('mouseleave', () =>\n\t\t\t\t\t\tthis.proxyElement.removeAttribute('hover'), { once: true })\n\t\t\t\t}\n\n\t\t\t\tthis.proxyElement.addEventListener('mouseover', this.mouseoverCbRef);\n\n\t\t\t\t// sync events\n\t\t\t\tthis.addEventListener = this.proxyElement.addEventListener;\n\n\t\t\t\tsyncAttrs(this.proxyElement, this.hostElement, excludeAttrsSync);\n\t\t\t}\n\t\t}\n\n\t\tdisconnectedCallback() {\n\t\t\tthis.proxyElement.removeEventListener('mouseover', this.mouseoverCbRef)\n\t\t}\n\n\t\tattributeChangedCallback() {\n\t\t\tif (!this.proxyElement) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn ProxyElement;\n};\n","export const inputMixin = (superclass) =>\n class InputMixinClass extends superclass {\n\t\tstatic get formAssociated() {\n\t\t\treturn true;\n\t\t}\n \n #internals\n\n constructor() {\n super();\n\n this.#internals = this.attachInternals();\n\n // this is needed in order to make sure the form input validation is working\n if (!this.hasAttribute('tabindex')) {\n this.setAttribute('tabindex', 0);\n }\n }\n\n formAssociatedCallback() {\n this.setValidity?.();\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n\n // vaadin does not expose all those validation attributes so we need to take it from the input\n // https://github.com/vaadin/web-components/issues/1177\n const input = this.proxyElement.querySelector('input')\n if (!input) throw Error('no input was found')\n\n this.checkValidity = () => input.checkValidity()\n this.reportValidity = () => input.reportValidity()\n this.validity = input.validity\n\n this.setValidity = () => {\n this.#internals.setValidity(input.validity, input.validationMessage);\n }\n\n input.oninput = () => {\n this.value = input.value\n this.setValidity()\n }\n\n }\n }\n","export const componentNameValidationMixin = (superclass) =>\n class DraggableMixinClass extends superclass {\n #checkComponentName() {\n const currentComponentName = this.shadowRoot.host.tagName.toLowerCase();\n\n if (!superclass.componentName) {\n throw Error(`component name is not defined on super class, make sure you have a static get for \"componentName\"`)\n }\n\n if (currentComponentName !== superclass.componentName) {\n throw Error(`component name mismatch, expected \"${superclass.componentName}\", current \"${currentComponentName}\"`)\n }\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n if (this.shadowRoot.isConnected) {\n this.#checkComponentName()\n }\n }\n }\n","import { DESCOPE_PREFIX } from \"../constants\";\nimport { kebabCaseJoin } from \"../helpers\";\n\nexport const getComponentName = (name) => kebabCaseJoin(DESCOPE_PREFIX, name)\n\nexport const compose = (...fns) => (val) => fns.reduceRight((res, fn) => fn(res), val);\n\nexport { createStyleMixin } from './createStyleMixin'\nexport { draggableMixin } from './draggableMixin'\nexport { createProxy } from './createProxy'\nexport { inputMixin } from './inputMixin'\nexport { componentNameValidationMixin } from './componentNameValidationMixin'\n","import { getComponentName, createStyleMixin, draggableMixin, createProxy, compose, componentNameValidationMixin } from \"../../componentsHelpers\";\nimport { matchHostStyle } from \"../../componentsHelpers/createStyleMixin/helpers\";\n\nconst editorOverrides = `vaadin-button::part(label) { pointer-events: none; }`;\n\nexport const componentName = getComponentName(\"button\");\n\nconst Button = compose(\n createStyleMixin({\n // todo: do we want to change the mapping structure to this? ['aa', 'aaa', {'color': [{ selector: '::part(label)' }]}],\n mappings: {\n 'backgroundColor': {},\n 'borderRadius': {},\n 'color': { selector: '::part(label)' },\n 'borderColor': {},\n 'borderStyle': {},\n 'borderWidth': {},\n 'fontSize': {},\n 'height': {},\n 'width': matchHostStyle({}),\n 'cursor': {},\n 'padding': {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(\n createProxy({\n slots: [\"prefix\", \"suffix\"],\n wrappedEleName: \"vaadin-button\",\n style: `${editorOverrides}`,\n excludeAttrsSync: ['tabindex'],\n componentName\n })\n)\n\nexport default Button\n","import \"@vaadin/button\";\nimport Button, { componentName } from \"./Button\";\n\ncustomElements.define(componentName, Button);\n\nexport { Button }\n","import { getComponentName, createStyleMixin, draggableMixin, createProxy, inputMixin, compose, componentNameValidationMixin } from \"../../componentsHelpers\";\n\nexport const componentName = getComponentName(\"text-field\")\n\nconst TextField = compose(\n createStyleMixin({\n mappings: {\n 'placeholderColor': { selector: '> input:placeholder-shown', property: 'color' },\n 'color': {},\n 'borderColor': { selector: '::part(input-field)' },\n 'borderWidth': { selector: '::part(input-field)' },\n 'borderStyle': { selector: '::part(input-field)' },\n 'borderRadius': { selector: '::part(input-field)' },\n 'boxShadow': { selector: '::part(input-field)' },\n 'height': { selector: '::part(input-field)' },\n 'padding': { selector: '::part(input-field)' },\n 'backgroundColor': { selector: '::part(input-field)' },\n 'labelColor': { selector: '::part(label)', property: 'color' },\n },\n }),\n draggableMixin,\n inputMixin,\n componentNameValidationMixin\n)(\n createProxy({\n slots: [\"prefix\", \"suffix\"],\n wrappedEleName: \"vaadin-text-field\",\n style: ``,\n excludeAttrsSync: ['tabindex'],\n componentName\n })\n);\n\n\nexport default TextField\n","import \"@vaadin/text-field\";\nimport TextField, { componentName } from \"./TextField\";\n\ncustomElements.define(componentName, TextField);\n\nexport { TextField }\n","import { getComponentName } from '../../componentsHelpers';\nimport '../descope-button'\nimport '../descope-text-field'\n\nconst template = document.createElement('template')\n\nconst componentName = getComponentName(\"combo\");\n\ntemplate.innerHTML = `\n <descope-button></descope-button>\n <descope-text-field></descope-text-field>\n`\n\nclass Combo extends HTMLElement {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).appendChild(\n template.content.cloneNode(true)\n );\n }\n}\n\ncustomElements.define(componentName, Combo);\n\nexport { Combo }","import \"@vaadin/date-picker\";\nimport { getComponentName, draggableMixin, createProxy, compose, componentNameValidationMixin } from \"../../componentsHelpers\";\n\nconst componentName = getComponentName(\"date-picker\");\n\nconst DatePicker = compose(\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tcomponentName,\n\t\tslots: [\"prefix\", \"suffix\"],\n\t\twrappedEleName: \"vaadin-date-picker\",\n\t\tstyle: ``,\n\t})\n);\n\ncustomElements.define(componentName, DatePicker);\n\nexport { DatePicker }","import { getComponentName, createStyleMixin, draggableMixin, compose, componentNameValidationMixin } from \"../../componentsHelpers\";\n\nexport const componentName = getComponentName(\"container\");\n\nclass RawContainer extends HTMLElement {\n static get componentName() {\n return componentName\n }\n constructor() {\n super();\n const template = document.createElement('template');\n template.innerHTML = `<slot></slot>`;\n\n this.attachShadow({ mode: 'open' });\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n\n this.baseSelector = ':host > slot'\n }\n}\n\nconst Container = compose(\n createStyleMixin({\n // todo: do we want to change the mapping structure to this? ['aa', 'aaa', {'color': [{ selector: '::part(label)' }]}],\n mappings: {\n 'height': {},\n 'width': {},\n\n 'verticalPadding': [\n { property: 'padding-top' },\n { property: 'padding-bottom' }\n ],\n 'horizontalPadding': [\n { property: 'padding-left' },\n { property: 'padding-right' }\n ],\n\n 'display': {},\n 'flexDirection': {},\n 'justifyContent': {},\n 'alignItems': {},\n 'gap': {},\n\n 'backgroundColor': {},\n 'borderRadius': {},\n\n 'borderColor': {},\n 'borderStyle': {},\n 'borderWidth': {},\n\n 'boxShadow': {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawContainer)\n\nexport default Container","import Container, { componentName } from './Container';\n\ncustomElements.define(componentName, Container);\n\nexport { Container }","import merge from \"lodash.merge\";\nimport set from \"lodash.set\";\nimport { DESCOPE_PREFIX } from \"../constants\";\nimport { getCssVarName, kebabCase } from \"../helpers\";\nimport { getComponentName } from \"../componentsHelpers\";\n\nconst getVarName = (path) => getCssVarName(DESCOPE_PREFIX, ...path)\n\nconst transformTheme = (theme, path, getTransformation) => {\n\treturn Object.entries(theme).reduce((acc, [key, val]) => {\n\t\tif (val?.constructor !== Object) {\n\t\t\treturn merge(acc, getTransformation(path.concat(key), val));\n\t\t} else {\n\t\t\treturn merge(acc, transformTheme(val, [...path, key], getTransformation));\n\t\t}\n\t}, {});\n};\n\nconst stringifyArray = (strArr) => strArr.map((str) => (str.includes(\" \") ? `\"${str}\"` : str)).join(\", \")\n\nexport const themeToCSSVarsObj = (theme) =>\n\ttransformTheme(theme, [], (path, val) => ({\n\t\t[getVarName(path)]: Array.isArray(val) ? stringifyArray(val) : val,\n\t}));\n\nexport const getThemeRefs = (theme, prefix) =>\n\ttransformTheme(theme, [], (path) => set({}, path, `var(${getVarName(prefix ? [prefix, ...path] : path)})`));\n\nexport const globalsThemeToStyle = (theme, themeName = '') => `\n*[data-theme=\"${themeName}\"] {\n\t${Object.entries(themeToCSSVarsObj(theme)).reduce(\n\t(acc, entry) => (acc += `${entry.join(\":\")};\\n`), ''\n)}\n}\n`\n\nconst componentsThemeToStyleObj = (componentsTheme) =>\n\ttransformTheme(componentsTheme, [], (path, val) => {\n\t\tconst [component, ...restPath] = path\n\t\tconst property = restPath.pop()\n\n\t\t// do not start with underscore -> key:value, must have 2 no underscore attrs in a row\n\t\t// starts with underscore -> attribute selector\n\n\t\tconst attrsSelector = restPath.reduce((acc, section, idx) => {\n\t\t\tif (section.startsWith('_')) return acc += `[${kebabCase(section.replace(/^_/, ''))}]`;\n\n\t\t\tconst nextSection = restPath[idx + 1];\n\n\t\t\tif (typeof nextSection !== 'string' || nextSection.startsWith('_')) {\n\t\t\t\tconsole.error('theme generator', `your theme structure is invalid, attribute \"${section}\" is followed by \"${nextSection}\" which is not allowed`)\n\t\t\t\treturn acc;\n\t\t\t}\n\n\t\t\treturn acc += `[${kebabCase(section)}=\"${restPath.splice(idx + 1, 1).join('')}\"]`;\n\t\t}, '');\n\n\t\tlet selector = `${getComponentName(component)}${attrsSelector}`\n\n\t\treturn {\n\t\t\t[selector]: {\n\t\t\t\t[property]: val\n\t\t\t}\n\t\t}\n\t});\n\nexport const componentsThemeToStyle = (componentsTheme, themeName = '') =>\n\tObject.entries(componentsThemeToStyleObj(componentsTheme)).reduce(\n\t\t(acc, [selector, vars]) => (acc += `*[data-theme=\"${themeName}\"] ${selector} { \\n${Object.entries(vars).map(([key, val]) => `${key}: ${val}`).join(';\\n')} \\n}\\n\\n`),\n\t\t''\n\t);\n\nexport const themeToStyle = ({ globals, components }, themeName) => `\n${globalsThemeToStyle(globals, themeName)}\n${componentsThemeToStyle(components, themeName)}\n`\n\nconst useVar = varName => `var(${varName})`\n\nexport const createHelperVars = (theme, prefix) => {\n\tconst res = transformTheme(theme, [], (path, value) => {\n\t\tconst modifiedPath = [...path];\n\t\tconst property = modifiedPath.splice(-1)\n\t\tconst varName = getCssVarName(prefix, property)\n\n\t\tconst vars = { [property]: varName }\n\t\tconst theme = set({}, [...modifiedPath, varName], value)\n\t\tconst useVars = { [property]: useVar(varName) }\n\n\t\treturn { theme, useVars, vars }\n\t})\n\n\treturn [res.theme, res.useVars, res.vars]\n};\n","import Color from \"color\";\n\nconst genDark = (c, percentage = 0.5) => c.darken(percentage).hex();\nconst genLight = (c, percentage = 0.5) => c.lighten(percentage).hex();\nconst genContrast = (c, percentage = 0.9) => {\n\tconst isDark = c.isDark();\n\treturn c.mix(Color(isDark ? 'white' : 'black'), percentage).saturate(1).hex();\n};\n\nexport const genColor = (color) => {\n\tconst mainColor = new Color(color.main || color);\n\n\treturn {\n\t\tmain: mainColor.hex(),\n\t\tdark: color.dark || genDark(mainColor),\n\t\tlight: color.light || genLight(mainColor),\n\t\tcontrast: color.contrast || genContrast(mainColor),\n\t}\n}\n\nexport const genColors = (colors) => {\n\treturn Object.keys(colors).reduce((acc, colorName) => {\n\t\tconst currentColor = colors[colorName];\n\n\t\treturn Object.assign(acc, {\n\t\t\t[colorName]: genColor(currentColor),\n\t\t})\n\t}, {});\n};\n","import { genColors } from \"../themeHelpers/processColors\";\n\nexport const colors = genColors({\n\tsurface: {\n\t\tmain: 'lightgray',\n\t\tlight: '#e1e1e1'\n\t},\n\tprimary: \"#0082B5\",\n\tsecondary: \"#7D14EB\",\n\tsuccess: \"green\",\n\terror: \"red\",\n});\n\nconst typography = {\n\th1: {\n\t\tfont: [\"Courier New\", \"Arial\", \"sans-serif\"],\n\t\tweight: \"700\",\n\t\tsize: \"48px\",\n\t},\n\th2: {\n\t\tfont: [\"Courier New\", \"sans-serif\"],\n\t\tweight: \"500\",\n\t\tsize: \"38px\",\n\t},\n\th3: {\n\t\tfont: [\"Courier New\", \"sans-serif\"],\n\t\tweight: \"300\",\n\t\tsize: \"28px\",\n\t},\n};\n\nconst spacing = {\n\txs: '2px',\n\tsm: '4px',\n\tmd: '8px',\n\tlg: '16px',\n\txl: '32px',\n};\n\nconst border = {\n\tsm: \"1px\",\n\tmd: \"2px\",\n\tlg: \"3px\",\n};\n\nconst radius = {\n\tsm: \"5px\",\n\tmd: \"25px\",\n\tlg: \"50px\",\n};\n\nconst shadow = {\n\tcolor: colors.primary.main,\n\tsize: {\n\t\tsm: `0 0 10px`,\n\t\tmd: `0 0 20px`,\n\t\tlg: `0 0 30px`,\n\t},\n};\n\nexport default {\n\tcolors,\n\ttypography,\n\tspacing,\n\tborder,\n\tradius,\n\tshadow,\n};\n","import globals from \"../globals\";\nimport { getThemeRefs, createHelperVars } from \"../../themeHelpers\";\nimport Button, { componentName } from \"../../components/descope-button/Button\";\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = Button.cssVarList\n\nconst mode = {\n\tprimary: {\n\t\tmain: globalRefs.colors.primary.main,\n\t\tdark: 'darkblue',\n\t\tlight: 'lightblue',\n\t\tcontrast: 'white'\n\t},\n\tsecondary: globalRefs.colors.secondary,\n\tsuccess: globalRefs.colors.success,\n\terror: globalRefs.colors.error,\n\tsurface: globalRefs.colors.surface,\n}\n\nconst [helperTheme, helperRefs] = createHelperVars({ mode }, componentName)\n\nconst button = {\n\t...helperTheme,\n\t[vars.borderRadius]: globalRefs.radius.lg,\n\t[vars.cursor]: 'pointer',\n\n\tsize: {\n\t\txs: {\n\t\t\t[vars.height]: '10px',\n\t\t\t[vars.fontSize]: '10px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.xs}`\n\t\t},\n\t\tsm: {\n\t\t\t[vars.height]: '20px',\n\t\t\t[vars.fontSize]: '10px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.sm}`\n\t\t},\n\t\tmd: {\n\t\t\t[vars.height]: '30px',\n\t\t\t[vars.fontSize]: '14px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.md}`\n\t\t},\n\t\tlg: {\n\t\t\t[vars.height]: '40px',\n\t\t\t[vars.fontSize]: '20px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.lg}`\n\t\t},\n\t\txl: {\n\t\t\t[vars.height]: '50px',\n\t\t\t[vars.fontSize]: '25px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.xl}`\n\t\t},\n\t},\n\n\t_fullWidth: {\n\t\t[vars.width]: '100%'\n\t},\n\n\tvariant: {\n\t\tcontained: {\n\t\t\t[vars.color]: helperRefs.contrast,\n\t\t\t[vars.backgroundColor]: helperRefs.main,\n\t\t\t_hover: {\n\t\t\t\t[vars.backgroundColor]: helperRefs.dark,\n\t\t\t},\n\t\t},\n\t\toutline: {\n\t\t\t[vars.color]: helperRefs.main,\n\t\t\t[vars.borderColor]: helperRefs.main,\n\t\t\t[vars.borderWidth]: '2px',\n\t\t\t[vars.borderStyle]: 'solid',\n\t\t\t_hover: {\n\t\t\t\t[vars.color]: helperRefs.dark,\n\t\t\t\t[vars.borderColor]: helperRefs.dark,\n\t\t\t\t_error: {\n\t\t\t\t\t[vars.color]: 'red',\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tlink: {\n\t\t\t[vars.color]: helperRefs.main,\n\t\t},\n\t}\n};\n\nexport default button;\n","import globals from \"../globals\";\nimport { getThemeRefs } from \"../../themeHelpers\";\nimport TextField from '../../components/descope-text-field/TextField';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = TextField.cssVarList;\n\nconst textField = {\n [vars.borderRadius]: globalRefs.radius.lg,\n [vars.color]: globalRefs.colors.surface.contrast,\n [vars.backgroundColor]: globalRefs.colors.surface.light,\n [vars.borderWidth]: globalRefs.border.small,\n [vars.borderStyle]: 'solid',\n [vars.borderColor]: globalRefs.colors.surface.dark,\n [vars.labelColor]: globalRefs.colors.surface.contrast,\n [vars.placeholderColor]: globalRefs.colors.surface.dark,\n _invalid: {\n [vars.backgroundColor]: globalRefs.colors.error.light,\n [vars.borderColor]: globalRefs.colors.error.dark,\n },\n\n size: {\n sm: {\n [vars.height]: '20px',\n [vars.fontSize]: '10px',\n [vars.padding]: `0 ${globalRefs.spacing.xs}`\n },\n md: {\n [vars.height]: '30px',\n [vars.fontSize]: '14px',\n [vars.padding]: `0 ${globalRefs.spacing.sm}`\n },\n lg: {\n [vars.height]: '40px',\n [vars.fontSize]: '20px',\n [vars.padding]: `0 ${globalRefs.spacing.sm}`\n },\n xl: {\n [vars.height]: '50px',\n [vars.fontSize]: '25px',\n [vars.padding]: `0 ${globalRefs.spacing.md}`\n },\n },\n\n _fullWidth: {\n [vars.width]: '100%'\n },\n};\n\nexport default textField\n\n\n","import globals from \"../globals\";\nimport { getThemeRefs, createHelperVars } from \"../../themeHelpers\";\nimport Container from \"../../components/descope-container/Container\";\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = Container.cssVarList\n\nconst verticalAlignment = {\n\tstart: { verticalAlignment: 'start' },\n\tcenter: { verticalAlignment: 'center' },\n\tend: { verticalAlignment: 'end' },\n}\n\nconst horizontalAlignment = {\n\tstart: { horizontalAlignment: 'start' },\n\tcenter: { horizontalAlignment: 'center' },\n\tend: { horizontalAlignment: 'end' },\n}\n\nconst [helperTheme, helperVars, helperRefs] =\n\tcreateHelperVars({ verticalAlignment, horizontalAlignment }, 'container')\n\nconst container = {\n\t...helperTheme,\n\t[vars.display]: 'flex',\n\tverticalPadding: {\n\t\tsm: { [vars.verticalPadding]: '5px' },\n\t\tmd: { [vars.verticalPadding]: '10px' },\n\t\tlg: { [vars.verticalPadding]: '20px' },\n\t},\n\thorizontalPadding: {\n\t\tsm: { [vars.horizontalPadding]: '5px' },\n\t\tmd: { [vars.horizontalPadding]: '10px' },\n\t\tlg: { [vars.horizontalPadding]: '20px' },\n\t},\n\tdirection: {\n\t\trow: {\n\t\t\t[vars.flexDirection]: 'row',\n\t\t\t[vars.alignItems]: helperRefs.verticalAlignment,\n\t\t\t[vars.justifyContent]: helperRefs.horizontalAlignment,\n\t\t\thorizontalAlignment: {\n\t\t\t\tspaceBetween: { [helperVars.horizontalAlignment]: 'space-between' },\n\t\t\t}\n\t\t},\n\n\t\tcolumn: {\n\t\t\t[vars.flexDirection]: 'column',\n\t\t\t[vars.alignItems]: helperRefs.horizontalAlignment,\n\t\t\t[vars.justifyContent]: helperRefs.verticalAlignment,\n\t\t\tverticalAlignment: {\n\t\t\t\tspaceBetween: { [helperVars.verticalAlignment]: 'space-between' }\n\t\t\t}\n\t\t},\n\t},\n\n\tspaceBetween: {\n\t\tsm: {\n\t\t\t[vars.gap]: '10px'\n\t\t},\n\t\tmd: {\n\t\t\t[vars.gap]: '20px'\n\t\t},\n\t\tlg: {\n\t\t\t[vars.gap]: '30px'\n\t\t}\n\t},\n\n\tshadow: {\n\t\tsm: { \n\t\t\t[vars.boxShadow]: `${globalRefs.shadow.size.sm} ${globalRefs.shadow.color}` \n\t\t},\t\t\n\t\tmd: { \n\t\t\t[vars.boxShadow]: `${globalRefs.shadow.size.md} ${globalRefs.shadow.color}` \n\t\t},\t\t\n\t\tlg: { \n\t\t\t[vars.boxShadow]: `${globalRefs.shadow.size.lg} ${globalRefs.shadow.color}` \n\t\t},\n\t},\n\n\tborderRadius: {\n\t\tsm: { \n\t\t\t[vars.borderRadius]: globalRefs.radius.sm\n\t\t},\n\t\tmd: { \n\t\t\t[vars.borderRadius]: globalRefs.radius.md\n\t\t},\n\t\tlg: { \n\t\t\t[vars.borderRadius]: globalRefs.radius.lg\n\t\t},\n\t}\n};\n\nexport default container;\n","import button from './button';\nimport textField from './textField';\nimport container from './container';\n\nexport default {\n button,\n textField,\n container\n}\n","import globals from \"./globals\"\nimport components from './components';\n\nexport default { globals, components }\n"],"names":["componentName","globalRefs","vars","helperTheme","helperRefs"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[313],{8237:(e,t,s)=>{s.d(t,{A:()=>o});const o=e=>class extends e{#e(){const t=this.shadowRoot.host.tagName.toLowerCase();if(!e.componentName)throw Error('component name is not defined on super class, make sure you have a static get for "componentName"');if(t!==e.componentName)throw Error(`component name mismatch, expected "${e.componentName}", current "${t}"`)}connectedCallback(){super.connectedCallback?.(),this.shadowRoot.isConnected&&this.#e()}}},2089:(e,t,s)=>{s.d(t,{e:()=>o});const o=e=>class extends e{#t=null;static get observedAttributes(){return[...e.observedAttributes||[],"draggable"]}constructor(){super(),this.#t=document.createElement("style"),this.#t.innerText=`${this.baseSelector} { cursor: inherit }`}#s(e){e?this.shadowRoot.appendChild(this.#t):this.#t.remove()}attributeChangedCallback(e,t,s){super.attributeChangedCallback?.(e,t,s),"draggable"===e&&this.#s("true"===s)}}},2788:(e,t,s)=>{s.d(t,{qC:()=>n,iY:()=>a});var o=s(6225);const a=e=>(0,o.E3)("descope",e),n=(...e)=>t=>e.reduceRight(((e,t)=>t(e)),t)},6225:(e,t,s)=>{s.d(t,{E3:()=>a,GL:()=>o,Tk:()=>n});const o=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_.]+/g,"-").toLowerCase(),a=(...e)=>o(e.join("-")),n=(...e)=>`--${a(...e.filter((e=>!!e)))}`}}]);
package/dist/umd/599.js CHANGED
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[599],{3535:(e,t,s)=>{s.d(t,{SP:()=>a,wj:()=>c,zy:()=>p});var n=s(6225);const r=(e,...t)=>`var(${e}${t.length?` , ${r(...t)}`:""})`;class o{constructor(){this.styleMap=new Map}add(e,t,s){this.styleMap.has(e)||this.styleMap.set(e,[]),this.styleMap.set(e,[...this.styleMap.get(e),{property:t,value:s}])}toString(){return Array.from(this.styleMap.entries()).reduce(((e,[t,s])=>e+`${t} { \n${s.map((({property:e,value:t})=>`${e}: ${t}`)).join(";\n")} \n}\n\n`),"")}}const c=(e,t,s)=>{const c=new o;return Object.keys(s).forEach((o=>{const a=((e,t)=>{const s={selector:"",property:(0,n.GL)(e)};return t&&Object.keys(t).length?Array.isArray(t)?t.map((e=>Object.assign({},s,e))):[Object.assign({},s,t)]:[s]})(o,s[o]),p=(0,n.Tk)(e,o);a.forEach((({selector:e,property:s})=>{c.add(((e="",t="")=>"function"==typeof t?t(e):`${e}${t}`)(t,e),s,r(p))}))})),c.toString()},a=(e,t)=>Object.keys(t).reduce(((t,s)=>Object.assign(t,{[s]:(0,n.Tk)(e,s)})),{}),p=e=>[e,{...e,selector:()=>`:host${e.selector||""}`}]},9893:(e,t,s)=>{s.d(t,{y:()=>r});var n=s(3535);const r=({mappings:e={}})=>t=>class extends t{static get cssVarList(){return(0,n.SP)(t.componentName,e)}constructor(){super(),this.#e()}#e(){const t=document.createElement("style");t.id="style-mixin",t.innerHTML=(0,n.wj)(this.componentName,this.wrappedComponentName,e),this.shadowRoot.prepend(t)}}}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[599],{3535:(e,t,s)=>{s.d(t,{SP:()=>c,wj:()=>a,zy:()=>l});var r=s(6225);const n=(e,...t)=>`var(${e}${t.length?` , ${n(...t)}`:""})`;class o{constructor(){this.styleMap=new Map}add(e,t,s){this.styleMap.has(e)||this.styleMap.set(e,[]),this.styleMap.set(e,[...this.styleMap.get(e),{property:t,value:s}])}toString(){return Array.from(this.styleMap.entries()).reduce(((e,[t,s])=>e+`${t} { \n${s.map((({property:e,value:t})=>`${e}: ${t}`)).join(";\n")} \n}\n\n`),"")}}const a=(e,t,s)=>{const a=new o;return Object.keys(s).forEach((o=>{const c=((e,t)=>{const s={selector:"",property:(0,r.GL)(e)};return t&&Object.keys(t).length?Array.isArray(t)?t.map((e=>Object.assign({},s,e))):[Object.assign({},s,t)]:[s]})(o,s[o]),l=(0,r.Tk)(e,o);c.forEach((({selector:e,property:s})=>{a.add(((e="",t="")=>"function"==typeof t?t(e):`${e}${t}`)(t,e),s,n(l))}))})),a.toString()},c=(e,t)=>Object.keys(t).reduce(((t,s)=>Object.assign(t,{[s]:(0,r.Tk)(e,s)})),{}),l=e=>[e,{...e,selector:()=>`:host${e.selector||""}`}]},9893:(e,t,s)=>{s.d(t,{y:()=>o});var r=s(6225),n=s(3535);const o=({mappings:e={}})=>t=>{const s=Object.keys(e).map((e=>(0,r.E3)("st",e)));return class extends t{static get observedAttributes(){return[...t.observedAttributes||[],...s]}static get cssVarList(){return(0,n.SP)(t.componentName,e)}#e=null;constructor(){super(),this.#t(),this.#s()}#s(){this.#e=document.createElement("style"),this.#e.id="style-mixin-overrides",this.#e.innerText="* {}",this.shadowRoot.prepend(this.#e)}#r(e,s){const n=this.#e.sheet.cssRules[0].style,o=(0,r.Tk)(t.componentName,e.replace(/^st-/,""));s?n.setProperty(o,s):n.removeProperty(o)}#t(){const s=document.createElement("style");s.id="style-mixin-component",s.innerHTML=(0,n.wj)(t.componentName,baseSelector,e),this.shadowRoot.prepend(s)}attributeChangedCallback(e,t,r){super.attributeChangedCallback?.(e,t,r),s.includes(e)&&this.#r(e,r)}}}}}]);
package/dist/umd/97.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[97],{3097:(t,e,s)=>{s.d(e,{D:()=>r});const o=(t,e,s)=>{e(...Array.from(t.attributes).map((t=>t.name))),new MutationObserver((t=>{for(const o of t)"attributes"!==o.type||s.includes(o.attributeName)||e(o.attributeName)})).observe(t,{attributes:!0})},n=(t,e)=>(...s)=>{s.forEach((s=>{const o=t.getAttribute(s);null!==o?e.getAttribute(s)!==o&&e.setAttribute(s,o):e.removeAttribute(s)}))},r=({componentName:t,wrappedEleName:e,slots:s=[],style:r,excludeAttrsSync:i=[]})=>{const a=`\n\t\t${r?`<style id="create-proxy">${r}</style>`:""}\n\t\t<${e}>\n\t\t<slot></slot>\n\t\t${s.map((t=>`<slot name="${t}" slot="${t}"></slot>`)).join("")}\n\t\t</${e}>\n\t`;class h extends HTMLElement{static get componentName(){return t}constructor(){super().attachShadow({mode:"open"}).innerHTML=a,this.hostElement=this.shadowRoot.host,this.componentName=this.hostElement.tagName.toLowerCase(),this.baseSelector=e}connectedCallback(){var t,s,r;this.shadowRoot.isConnected&&(this.proxyElement=this.shadowRoot.querySelector(e),this.setAttribute("tabindex","0"),this.onfocus=t=>{this.proxyElement.focus()},this.proxyElement.onkeydown=t=>{t.shiftKey&&9===t.keyCode&&(this.removeAttribute("tabindex"),setTimeout((()=>this.setAttribute("tabindex","0")),0))},this.mouseoverCbRef=()=>{this.proxyElement.setAttribute("hover",""),this.proxyElement.addEventListener("mouseleave",(()=>this.proxyElement.removeAttribute("hover")),{once:!0})},this.proxyElement.addEventListener("mouseover",this.mouseoverCbRef),this.addEventListener=this.proxyElement.addEventListener,t=this.proxyElement,s=this.hostElement,r=i,o(t,n(t,s),r),o(s,n(s,t),r))}disconnectedCallback(){this.proxyElement.removeEventListener("mouseover",this.mouseoverCbRef)}attributeChangedCallback(){this.proxyElement}}return h}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[662],{3029:(e,t,o)=>{o.r(t),o.d(t,{Button:()=>p}),o(729);var r=o(2788),n=o(9893),s=o(2089),a=o(8237),d=o(3097),i=o(3535);const l=(0,r.iY)("button"),p=(0,r.qC)((0,n.y)({mappings:{backgroundColor:{},borderRadius:{},color:{selector:"::part(label)"},borderColor:{},borderStyle:{},borderWidth:{},fontSize:{},height:{},width:(0,i.zy)({}),cursor:{},padding:{}}}),s.e,a.A)((0,d.D)({slots:["prefix","suffix"],wrappedEleName:"vaadin-button",style:"vaadin-button::part(label) { pointer-events: none; }",excludeAttrsSync:["tabindex"],componentName:l}));customElements.define(l,p)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[559],{5319:(e,t,o)=>{o.r(t),o.d(t,{Combo:()=>d});var n=o(2788);o(3146),o(2320);const c=document.createElement("template"),s=(0,n.iY)("combo");c.innerHTML="\n <descope-button></descope-button>\n <descope-text-field></descope-text-field>\n";class d extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}).appendChild(c.content.cloneNode(!0))}}customElements.define(s,d)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[247],{2798:(e,t,o)=>{o.r(t),o.d(t,{Combo:()=>d});var n=o(2788);o(3029),o(3418);const c=document.createElement("template"),s=(0,n.iY)("combo");c.innerHTML="\n <descope-button></descope-button>\n <descope-text-field></descope-text-field>\n";class d extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}).appendChild(c.content.cloneNode(!0))}}customElements.define(s,d)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[317],{147:(e,t,o)=>{o.r(t),o.d(t,{Container:()=>p});var n=o(2788),r=o(9893),d=o(2089),s=o(8237);const a=(0,n.iY)("container");class i extends HTMLElement{static get componentName(){return a}constructor(){super();const e=document.createElement("template");e.innerHTML="<slot></slot>",this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(e.content.cloneNode(!0)),this.baseSelector=":host > slot"}}const p=(0,n.qC)((0,r.y)({mappings:{height:{},width:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-left"},{property:"padding-right"}],display:{},flexDirection:{},justifyContent:{},alignItems:{},gap:{},backgroundColor:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},boxShadow:{}}}),d.e,s.A)(i);customElements.define(a,p)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[17],{2552:(e,s,a)=>{a.r(s),a.d(s,{DatePicker:()=>r}),a(3054);var c=a(2788),p=a(2089),t=a(8237),i=a(3097);const n=(0,c.iY)("date-picker"),r=(0,c.qC)(p.e,t.A)((0,i.D)({componentName:n,slots:["prefix","suffix"],wrappedEleName:"vaadin-date-picker",style:""}));customElements.define(n,r)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[934],{3418:(t,e,i)=>{i.r(e),i.d(e,{TextField:()=>n}),i(6221);var r=i(2788),l=i(9893),s=i(2089),a=i(8237),o=i(3097);const d=(0,r.iY)("text-field"),n=(0,r.qC)((0,l.y)({mappings:{placeholderColor:{selector:"> input:placeholder-shown",property:"color"},color:{},borderColor:{selector:"::part(input-field)"},borderWidth:{selector:"::part(input-field)"},borderStyle:{selector:"::part(input-field)"},borderRadius:{selector:"::part(input-field)"},boxShadow:{selector:"::part(input-field)"},height:{selector:"::part(input-field)"},padding:{selector:"::part(input-field)"},backgroundColor:{selector:"::part(input-field)"},labelColor:{selector:"::part(label)",property:"color"}}}),s.e,(t=>class extends t{static get formAssociated(){return!0}#t;constructor(){super(),this.#t=this.attachInternals(),this.hasAttribute("tabindex")||this.setAttribute("tabindex",0)}formAssociatedCallback(){this.setValidity?.()}connectedCallback(){super.connectedCallback?.();const t=this.proxyElement.querySelector("input");if(!t)throw Error("no input was found");this.checkValidity=()=>t.checkValidity(),this.reportValidity=()=>t.reportValidity(),this.validity=t.validity,this.setValidity=()=>{this.#t.setValidity(t.validity,t.validationMessage)},t.oninput=()=>{this.value=t.value,this.setValidity()}}}),a.A)((0,o.D)({slots:["prefix","suffix"],wrappedEleName:"vaadin-text-field",style:"",excludeAttrsSync:["tabindex"],componentName:d}));customElements.define(d,n)}}]);
package/dist/umd/index.js CHANGED
@@ -1 +1 @@
1
- !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.DescopeUI=r():e.DescopeUI=r()}(self,(()=>(()=>{var e,r,t,o={2181:(e,r,t)=>{var o={"./descope-button.js":[3146,840,9,729,146,599,155],"./descope-combo.js":[5319,840,511,9,221,729,146,599,117,155,559],"./descope-date-picker.js":[3450,840,511,9,54,146,938],"./descope-text-field.js":[2320,840,511,221,146,599,117]};function n(e){if(!t.o(o,e))return Promise.resolve().then((()=>{var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}));var r=o[e],n=r[0];return Promise.all(r.slice(1).map(t.e)).then((()=>t(n)))}n.keys=()=>Object.keys(o),n.id=2181,e.exports=n},7507:(e,r,t)=>{const o=t(2181);e.exports=o.keys().reduce(((e,r)=>(e[r.replace(/.*?([^\/]+)\.js$/,"$1")]=()=>o(r),e)),{})}},n={};function i(e){var r=n[e];if(void 0!==r)return r.exports;var t=n[e]={exports:{}};return o[e](t,t.exports,i),t.exports}i.m=o,e=[],i.O=(r,t,o,n)=>{if(!t){var a=1/0;for(l=0;l<e.length;l++){for(var[t,o,n]=e[l],c=!0,s=0;s<t.length;s++)(!1&n||a>=n)&&Object.keys(i.O).every((e=>i.O[e](t[s])))?t.splice(s--,1):(c=!1,n<a&&(a=n));if(c){e.splice(l--,1);var p=o();void 0!==p&&(r=p)}}return r}n=n||0;for(var l=e.length;l>0&&e[l-1][2]>n;l--)e[l]=e[l-1];e[l]=[t,o,n]},i.F={},i.E=e=>{Object.keys(i.F).map((r=>{i.F[r](e)}))},i.d=(e,r)=>{for(var t in r)i.o(r,t)&&!i.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((r,t)=>(i.f[t](e,r),r)),[])),i.u=e=>(({117:"descope-text-field-js",155:"descope-button-js",559:"descope-combo-js",938:"descope-date-picker-js"}[e]||e)+".js"),i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="DescopeUI:",i.l=(e,o,n,a)=>{if(r[e])r[e].push(o);else{var c,s;if(void 0!==n)for(var p=document.getElementsByTagName("script"),l=0;l<p.length;l++){var d=p[l];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==t+n){c=d;break}}c||(s=!0,(c=document.createElement("script")).charset="utf-8",c.timeout=120,i.nc&&c.setAttribute("nonce",i.nc),c.setAttribute("data-webpack",t+n),c.src=e),r[e]=[o];var u=(t,o)=>{c.onerror=c.onload=null,clearTimeout(f);var n=r[e];if(delete r[e],c.parentNode&&c.parentNode.removeChild(c),n&&n.forEach((e=>e(o))),t)return t(o)},f=setTimeout(u.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=u.bind(null,c.onerror),c.onload=u.bind(null,c.onload),s&&document.head.appendChild(c)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;i.g.importScripts&&(e=i.g.location+"");var r=i.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");t.length&&(e=t[t.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e})(),(()=>{var e={826:0};i.f.j=(r,t)=>{var o=i.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var n=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=n);var a=i.p+i.u(r),c=new Error;i.l(a,(t=>{if(i.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var n=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;c.message="Loading chunk "+r+" failed.\n("+n+": "+a+")",c.name="ChunkLoadError",c.type=n,c.request=a,o[1](c)}}),"chunk-"+r,r)}},i.F.j=r=>{if(!i.o(e,r)||void 0===e[r]){e[r]=null;var t=document.createElement("link");i.nc&&t.setAttribute("nonce",i.nc),t.rel="prefetch",t.as="script",t.href=i.p+i.u(r),document.head.appendChild(t)}},i.O.j=r=>0===e[r];var r=(r,t)=>{var o,n,[a,c,s]=t,p=0;if(a.some((r=>0!==e[r]))){for(o in c)i.o(c,o)&&(i.m[o]=c[o]);if(s)var l=s(i)}for(r&&r(t);p<a.length;p++)n=a[p],i.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return i.O(l)},t=self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),i.O(0,[826],(()=>{[840,9,729,146,599,155,511,221,117,559,54,938].map(i.E)}),5);var a=i(7507);return i.O(a)})()));
1
+ !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.DescopeUI=r():e.DescopeUI=r()}(self,(()=>(()=>{var e,r,t,o={534:(e,r,t)=>{var o={"./descope-button/index.js":[3029,840,9,729,313,599,97,662],"./descope-combo/index.js":[2798,840,511,9,221,729,313,599,97,934,662,247],"./descope-container/index.js":[147,313,599,317],"./descope-date-picker/index.js":[2552,840,511,9,54,313,97,17],"./descope-text-field/index.js":[3418,840,511,221,313,599,97,934]};function n(e){if(!t.o(o,e))return Promise.resolve().then((()=>{var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}));var r=o[e],n=r[0];return Promise.all(r.slice(1).map(t.e)).then((()=>t(n)))}n.keys=()=>Object.keys(o),n.id=534,e.exports=n},7507:(e,r,t)=>{const o=t(534);e.exports=o.keys().reduce(((e,r)=>(e[r.replace(/.*?([^\/]+)\/index\.js$/,"$1")]=()=>o(r),e)),{})}},n={};function i(e){var r=n[e];if(void 0!==r)return r.exports;var t=n[e]={exports:{}};return o[e](t,t.exports,i),t.exports}i.m=o,e=[],i.O=(r,t,o,n)=>{if(!t){var c=1/0;for(p=0;p<e.length;p++){for(var[t,o,n]=e[p],s=!0,a=0;a<t.length;a++)(!1&n||c>=n)&&Object.keys(i.O).every((e=>i.O[e](t[a])))?t.splice(a--,1):(s=!1,n<c&&(c=n));if(s){e.splice(p--,1);var d=o();void 0!==d&&(r=d)}}return r}n=n||0;for(var p=e.length;p>0&&e[p-1][2]>n;p--)e[p]=e[p-1];e[p]=[t,o,n]},i.F={},i.E=e=>{Object.keys(i.F).map((r=>{i.F[r](e)}))},i.d=(e,r)=>{for(var t in r)i.o(r,t)&&!i.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((r,t)=>(i.f[t](e,r),r)),[])),i.u=e=>(({17:"descope-date-picker-index-js",247:"descope-combo-index-js",317:"descope-container-index-js",662:"descope-button-index-js",934:"descope-text-field-index-js"}[e]||e)+".js"),i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="DescopeUI:",i.l=(e,o,n,c)=>{if(r[e])r[e].push(o);else{var s,a;if(void 0!==n)for(var d=document.getElementsByTagName("script"),p=0;p<d.length;p++){var l=d[p];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==t+n){s=l;break}}s||(a=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+n),s.src=e),r[e]=[o];var u=(t,o)=>{s.onerror=s.onload=null,clearTimeout(f);var n=r[e];if(delete r[e],s.parentNode&&s.parentNode.removeChild(s),n&&n.forEach((e=>e(o))),t)return t(o)},f=setTimeout(u.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=u.bind(null,s.onerror),s.onload=u.bind(null,s.onload),a&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;i.g.importScripts&&(e=i.g.location+"");var r=i.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");t.length&&(e=t[t.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e})(),(()=>{var e={826:0};i.f.j=(r,t)=>{var o=i.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var n=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=n);var c=i.p+i.u(r),s=new Error;i.l(c,(t=>{if(i.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var n=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;s.message="Loading chunk "+r+" failed.\n("+n+": "+c+")",s.name="ChunkLoadError",s.type=n,s.request=c,o[1](s)}}),"chunk-"+r,r)}},i.F.j=r=>{if(!i.o(e,r)||void 0===e[r]){e[r]=null;var t=document.createElement("link");i.nc&&t.setAttribute("nonce",i.nc),t.rel="prefetch",t.as="script",t.href=i.p+i.u(r),document.head.appendChild(t)}},i.O.j=r=>0===e[r];var r=(r,t)=>{var o,n,[c,s,a]=t,d=0;if(c.some((r=>0!==e[r]))){for(o in s)i.o(s,o)&&(i.m[o]=s[o]);if(a)var p=a(i)}for(r&&r(t);d<c.length;d++)n=c[d],i.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return i.O(p)},t=self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),i.O(0,[826],(()=>{[840,9,729,313,599,97,662,511,221,934,247,317,54,17].map(i.E)}),5);var c=i(7507);return i.O(c)})()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descope/web-components-ui",
3
- "version": "1.0.35",
3
+ "version": "1.0.37",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
@@ -1,10 +1,9 @@
1
- import "@vaadin/button";
2
- import { getComponentName, createStyleMixin, draggableMixin, createProxy, compose } from "../componentsHelpers";
3
- import { matchHostStyle } from "../componentsHelpers/createStyleMixin/helpers";
1
+ import { getComponentName, createStyleMixin, draggableMixin, createProxy, compose, componentNameValidationMixin } from "../../componentsHelpers";
2
+ import { matchHostStyle } from "../../componentsHelpers/createStyleMixin/helpers";
4
3
 
5
4
  const editorOverrides = `vaadin-button::part(label) { pointer-events: none; }`;
6
5
 
7
- const componentName = getComponentName("button");
6
+ export const componentName = getComponentName("button");
8
7
 
9
8
  const Button = compose(
10
9
  createStyleMixin({
@@ -24,6 +23,7 @@ const Button = compose(
24
23
  },
25
24
  }),
26
25
  draggableMixin,
26
+ componentNameValidationMixin
27
27
  )(
28
28
  createProxy({
29
29
  slots: ["prefix", "suffix"],
@@ -34,6 +34,4 @@ const Button = compose(
34
34
  })
35
35
  )
36
36
 
37
- customElements.define(componentName, Button);
38
-
39
- export { Button }
37
+ export default Button
@@ -0,0 +1,6 @@
1
+ import "@vaadin/button";
2
+ import Button, { componentName } from "./Button";
3
+
4
+ customElements.define(componentName, Button);
5
+
6
+ export { Button }
@@ -1,6 +1,6 @@
1
- import { getComponentName } from '../componentsHelpers/index.js';
2
- import './descope-button.js'
3
- import './descope-text-field.js'
1
+ import { getComponentName } from '../../componentsHelpers';
2
+ import '../descope-button'
3
+ import '../descope-text-field'
4
4
 
5
5
  const template = document.createElement('template')
6
6
 
@@ -0,0 +1,57 @@
1
+ import { getComponentName, createStyleMixin, draggableMixin, compose, componentNameValidationMixin } from "../../componentsHelpers";
2
+
3
+ export const componentName = getComponentName("container");
4
+
5
+ class RawContainer extends HTMLElement {
6
+ static get componentName() {
7
+ return componentName
8
+ }
9
+ constructor() {
10
+ super();
11
+ const template = document.createElement('template');
12
+ template.innerHTML = `<slot></slot>`;
13
+
14
+ this.attachShadow({ mode: 'open' });
15
+ this.shadowRoot.appendChild(template.content.cloneNode(true));
16
+
17
+ this.baseSelector = ':host > slot'
18
+ }
19
+ }
20
+
21
+ const Container = compose(
22
+ createStyleMixin({
23
+ // todo: do we want to change the mapping structure to this? ['aa', 'aaa', {'color': [{ selector: '::part(label)' }]}],
24
+ mappings: {
25
+ 'height': {},
26
+ 'width': {},
27
+
28
+ 'verticalPadding': [
29
+ { property: 'padding-top' },
30
+ { property: 'padding-bottom' }
31
+ ],
32
+ 'horizontalPadding': [
33
+ { property: 'padding-left' },
34
+ { property: 'padding-right' }
35
+ ],
36
+
37
+ 'display': {},
38
+ 'flexDirection': {},
39
+ 'justifyContent': {},
40
+ 'alignItems': {},
41
+ 'gap': {},
42
+
43
+ 'backgroundColor': {},
44
+ 'borderRadius': {},
45
+
46
+ 'borderColor': {},
47
+ 'borderStyle': {},
48
+ 'borderWidth': {},
49
+
50
+ 'boxShadow': {},
51
+ },
52
+ }),
53
+ draggableMixin,
54
+ componentNameValidationMixin,
55
+ )(RawContainer)
56
+
57
+ export default Container
@@ -0,0 +1,5 @@
1
+ import Container, { componentName } from './Container';
2
+
3
+ customElements.define(componentName, Container);
4
+
5
+ export { Container }
@@ -1,10 +1,11 @@
1
1
  import "@vaadin/date-picker";
2
- import { getComponentName, draggableMixin, createProxy, compose } from "../componentsHelpers";
2
+ import { getComponentName, draggableMixin, createProxy, compose, componentNameValidationMixin } from "../../componentsHelpers";
3
3
 
4
4
  const componentName = getComponentName("date-picker");
5
5
 
6
6
  const DatePicker = compose(
7
- draggableMixin
7
+ draggableMixin,
8
+ componentNameValidationMixin
8
9
  )(
9
10
  createProxy({
10
11
  componentName,
@@ -1,7 +1,6 @@
1
- import "@vaadin/text-field";
2
- import { getComponentName, createStyleMixin, draggableMixin, createProxy, inputMixin, compose } from "../componentsHelpers";
1
+ import { getComponentName, createStyleMixin, draggableMixin, createProxy, inputMixin, compose, componentNameValidationMixin } from "../../componentsHelpers";
3
2
 
4
- const componentName = getComponentName("text-field")
3
+ export const componentName = getComponentName("text-field")
5
4
 
6
5
  const TextField = compose(
7
6
  createStyleMixin({
@@ -20,7 +19,8 @@ const TextField = compose(
20
19
  },
21
20
  }),
22
21
  draggableMixin,
23
- inputMixin
22
+ inputMixin,
23
+ componentNameValidationMixin
24
24
  )(
25
25
  createProxy({
26
26
  slots: ["prefix", "suffix"],
@@ -31,6 +31,5 @@ const TextField = compose(
31
31
  })
32
32
  );
33
33
 
34
- customElements.define(componentName, TextField);
35
34
 
36
- export { TextField }
35
+ export default TextField
@@ -0,0 +1,6 @@
1
+ import "@vaadin/text-field";
2
+ import TextField, { componentName } from "./TextField";
3
+
4
+ customElements.define(componentName, TextField);
5
+
6
+ export { TextField }
@@ -0,0 +1,21 @@
1
+ export const componentNameValidationMixin = (superclass) =>
2
+ class DraggableMixinClass extends superclass {
3
+ #checkComponentName() {
4
+ const currentComponentName = this.shadowRoot.host.tagName.toLowerCase();
5
+
6
+ if (!superclass.componentName) {
7
+ throw Error(`component name is not defined on super class, make sure you have a static get for "componentName"`)
8
+ }
9
+
10
+ if (currentComponentName !== superclass.componentName) {
11
+ throw Error(`component name mismatch, expected "${superclass.componentName}", current "${currentComponentName}"`)
12
+ }
13
+ }
14
+
15
+ connectedCallback() {
16
+ super.connectedCallback?.();
17
+ if (this.shadowRoot.isConnected) {
18
+ this.#checkComponentName()
19
+ }
20
+ }
21
+ }
@@ -19,19 +19,11 @@ export const createProxy = ({ componentName, wrappedEleName, slots = [], style,
19
19
  super().attachShadow({ mode: "open" }).innerHTML = template;
20
20
  this.hostElement = this.shadowRoot.host;
21
21
  this.componentName = this.hostElement.tagName.toLowerCase()
22
- this.wrappedComponentName = wrappedEleName
23
- }
24
-
25
- #checkComponentName() {
26
- if (this.componentName !== componentName) {
27
- throw Error(`component name mismatch, expected "${componentName}", current "${actualComponentName}"`)
28
- }
22
+ this.baseSelector = wrappedEleName
29
23
  }
30
24
 
31
25
  connectedCallback() {
32
26
  if (this.shadowRoot.isConnected) {
33
- this.#checkComponentName()
34
-
35
27
  this.proxyElement = this.shadowRoot.querySelector(wrappedEleName);
36
28
  this.setAttribute('tabindex', '0');
37
29
 
@@ -2,10 +2,10 @@ import { getCssVarName, kebabCase } from "../../helpers"
2
2
 
3
3
  const createCssVarFallback = (first, ...rest) => `var(${first}${rest.length ? ` , ${createCssVarFallback(...rest)}` : ''})`;
4
4
 
5
- const createCssSelector = (wrappedComponentName = '', relativeSelectorOrSelectorFn = '') =>
5
+ const createCssSelector = (baseSelector = '', relativeSelectorOrSelectorFn = '') =>
6
6
  typeof relativeSelectorOrSelectorFn === 'function' ?
7
- relativeSelectorOrSelectorFn(wrappedComponentName) :
8
- `${wrappedComponentName}${relativeSelectorOrSelectorFn}`;
7
+ relativeSelectorOrSelectorFn(baseSelector) :
8
+ `${baseSelector}${relativeSelectorOrSelectorFn}`;
9
9
 
10
10
  class StyleBuilder {
11
11
  constructor() {
@@ -37,7 +37,7 @@ const normalizeConfig = (attr, config) => {
37
37
  return [Object.assign({}, defaultMapping, config)];
38
38
  }
39
39
 
40
- export const createStyle = (componentName, wrappedComponentName, mappings) => {
40
+ export const createStyle = (componentName, baseSelector, mappings) => {
41
41
  const style = new StyleBuilder();
42
42
 
43
43
  Object.keys(mappings).forEach((attr) => {
@@ -47,7 +47,7 @@ export const createStyle = (componentName, wrappedComponentName, mappings) => {
47
47
 
48
48
  attrConfig.forEach(({ selector: relativeSelectorOrSelectorFn, property }) => {
49
49
  style.add(
50
- createCssSelector(wrappedComponentName, relativeSelectorOrSelectorFn),
50
+ createCssSelector(baseSelector, relativeSelectorOrSelectorFn),
51
51
  property,
52
52
  createCssVarFallback(cssVarName)
53
53
  )
@@ -63,4 +63,6 @@ export const createCssVarsList = (componentName, mappings) =>
63
63
  {}
64
64
  )
65
65
 
66
+ // match the host selector with the inner element selector
67
+ // e.g. when we want to set the same size for the host & the inner element this can be useful
66
68
  export const matchHostStyle = (mappingObj) => [mappingObj, {...mappingObj, selector: () => `:host${mappingObj.selector || ''}`}];