@pacem/pacem 1.0.0-abel → 1.0.0-amaldi

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/browser/pacem-2d.js +3 -3
  2. package/dist/browser/pacem-2d.js.map +0 -5
  3. package/dist/browser/pacem-2d.min.js +3 -3
  4. package/dist/browser/pacem-2d.min.js.map +0 -5
  5. package/dist/browser/pacem-3d.js +341 -341
  6. package/dist/browser/pacem-3d.js.map +1 -6
  7. package/dist/browser/pacem-3d.min.js +3 -3
  8. package/dist/browser/pacem-3d.min.js.map +1 -6
  9. package/dist/browser/pacem-charts.js +3 -3
  10. package/dist/browser/pacem-charts.js.map +0 -5
  11. package/dist/browser/pacem-charts.min.js +3 -3
  12. package/dist/browser/pacem-charts.min.js.map +0 -5
  13. package/dist/browser/pacem-cms.js +107 -107
  14. package/dist/browser/pacem-cms.js.map +1 -6
  15. package/dist/browser/pacem-cms.min.js +3 -3
  16. package/dist/browser/pacem-cms.min.js.map +1 -6
  17. package/dist/browser/pacem-core.js +21 -7
  18. package/dist/browser/pacem-core.js.map +1 -6
  19. package/dist/browser/pacem-core.min.js +4 -4
  20. package/dist/browser/pacem-core.min.js.map +1 -6
  21. package/dist/browser/pacem-foundation.js +3 -3
  22. package/dist/browser/pacem-foundation.js.map +0 -5
  23. package/dist/browser/pacem-foundation.min.js +3 -3
  24. package/dist/browser/pacem-foundation.min.js.map +0 -5
  25. package/dist/browser/pacem-fx.js +19 -19
  26. package/dist/browser/pacem-fx.js.map +1 -6
  27. package/dist/browser/pacem-fx.min.js +3 -3
  28. package/dist/browser/pacem-fx.min.js.map +1 -6
  29. package/dist/browser/pacem-logging.js +3 -3
  30. package/dist/browser/pacem-logging.js.map +0 -5
  31. package/dist/browser/pacem-logging.min.js +3 -3
  32. package/dist/browser/pacem-logging.min.js.map +0 -5
  33. package/dist/browser/pacem-maps.js +3 -3
  34. package/dist/browser/pacem-maps.js.map +0 -5
  35. package/dist/browser/pacem-maps.min.js +3 -3
  36. package/dist/browser/pacem-maps.min.js.map +0 -5
  37. package/dist/browser/pacem-media.js +3 -3
  38. package/dist/browser/pacem-media.js.map +0 -5
  39. package/dist/browser/pacem-media.min.js +3 -3
  40. package/dist/browser/pacem-media.min.js.map +0 -5
  41. package/dist/browser/pacem-networking.js +3 -3
  42. package/dist/browser/pacem-networking.js.map +0 -5
  43. package/dist/browser/pacem-networking.min.js +3 -3
  44. package/dist/browser/pacem-networking.min.js.map +0 -5
  45. package/dist/browser/pacem-numerical.js +3 -3
  46. package/dist/browser/pacem-numerical.js.map +0 -5
  47. package/dist/browser/pacem-numerical.min.js +3 -3
  48. package/dist/browser/pacem-numerical.min.js.map +0 -5
  49. package/dist/browser/pacem-plus.js +77 -77
  50. package/dist/browser/pacem-plus.js.map +1 -6
  51. package/dist/browser/pacem-plus.min.js +3 -3
  52. package/dist/browser/pacem-plus.min.js.map +1 -6
  53. package/dist/browser/pacem-scaffolding.js +11 -8
  54. package/dist/browser/pacem-scaffolding.js.map +1 -6
  55. package/dist/browser/pacem-scaffolding.min.js +4 -4
  56. package/dist/browser/pacem-scaffolding.min.js.map +1 -6
  57. package/dist/browser/pacem-ui.js +37 -26
  58. package/dist/browser/pacem-ui.js.map +1 -6
  59. package/dist/browser/pacem-ui.min.js +4 -4
  60. package/dist/browser/pacem-ui.min.js.map +1 -6
  61. package/dist/bundle/pacem.min.mjs +40 -38
  62. package/dist/bundle/pacem.mjs +58 -32
  63. package/dist/bundle/pacem.mjs.map +2 -7
  64. package/dist/typings/index.d.ts +5 -3
  65. package/dist/vscode.html-custom.json +4834 -0
  66. package/package.json +9 -8
@@ -1,6 +1 @@
1
- /**
2
- * @pacem/pacem v1.0.0-abel (https://js.pacem.it)
3
- * Copyright 2026 Pacem (https://pacem.it)
4
- * Licensed under Apache-2.0
5
- */
6
- {"version":3,"file":"pacem-fx.js","sources":["../esm/types.js","../esm/ripple.js","../esm/pulse.js","../esm/hero.js","../esm/list.js","../esm/gradient.js","../esm/fancy.js","../esm/index-iife.js"],"sourcesContent":["var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { Watch, PropertyConverters, PacemEventTarget } from '@pacem/pacem-core';\nexport class PacemFxElement extends PacemEventTarget {\n}\n__decorate([\n Watch({ converter: PropertyConverters.Element })\n], PacemFxElement.prototype, \"target\", void 0);\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, Defaults, P, ViewChild, Utils, PacemEventTarget } from '@pacem/pacem-core';\nimport { Point } from '@pacem/pacem-foundation';\nimport { PacemFxElement } from './types';\n//namespace Pacem.Components.Fx {\nconst RIPPLE_CSS = \"ripple\";\nlet PacemFxRippleElement = class PacemFxRippleElement extends PacemFxElement {\n constructor() {\n super(...arguments);\n this._lock = false;\n this._remove = false;\n this._rippleHandler = (e) => {\n if (this.disabled || (this.target instanceof PacemEventTarget && this.target.disabled)) {\n return;\n }\n if (e instanceof MouseEvent && e.button !== 0) {\n // only the 'main' (left) button click goes.\n return;\n }\n const rect = Utils.offset(this.target);\n const style = getComputedStyle(this.target);\n const css = this.style;\n css.top = rect.top + 'px';\n css.left = rect.left + 'px';\n css.width = rect.width + 'px';\n css.height = rect.height + 'px';\n css.borderRadius = style.borderRadius;\n const pointSrc = e.type === 'touchstart' ? e.touches[0] : e;\n const point = { x: pointSrc.pageX, y: pointSrc.pageY };\n const topLeft = { x: rect.left, y: rect.top }, topRight = { x: rect.left + rect.width, y: rect.top }, bottomLeft = { x: rect.left, y: rect.top + rect.height }, bottomRight = { x: topRight.x, y: bottomLeft.y };\n const radius = Math.max(Point.distance(point, topLeft), Point.distance(point, topRight), Point.distance(point, bottomRight), Point.distance(point, bottomLeft));\n const wave = this._wave;\n wave.style.left = (point.x - rect.left - radius) + 'px';\n wave.style.top = (point.y - rect.top - radius) + 'px';\n wave.style.width = wave.style.height = (2 * radius) + 'px';\n Utils.addAnimationEndCallback(wave, () => {\n this._lock = false;\n this._tryRemove();\n });\n this._lock = true;\n Utils.addClass(wave, 'ripple-go');\n };\n this._unrippleHandler = (e) => {\n this._remove = true;\n this._tryRemove();\n };\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n // target switch?\n if (name === 'target') {\n if (!Utils.isNull(old)) {\n this._reset(old);\n }\n if (!Utils.isNull(val)) {\n this._set(val);\n }\n }\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n if (!Utils.isNull(this.target))\n this._set();\n }\n disconnectedCallback() {\n if (!Utils.isNull(this.target))\n this._reset();\n super.disconnectedCallback();\n }\n _tryRemove() {\n if (!this._lock && this._remove) {\n this._remove = false;\n Utils.removeClass(this._wave, 'ripple-go');\n }\n }\n _set(val = this.target) {\n val.addEventListener('mousedown', this._rippleHandler, false);\n val.addEventListener('touchstart', this._rippleHandler, false);\n val.addEventListener('touchend', this._unrippleHandler, false);\n val.addEventListener('mouseup', this._unrippleHandler, false);\n val.addEventListener('mousemove', this._unrippleHandler, false);\n }\n _reset(old = this.target) {\n old.removeEventListener('mousedown', this._rippleHandler, false);\n old.removeEventListener('touchstart', this._rippleHandler, false);\n old.removeEventListener('touchend', this._unrippleHandler, false);\n old.removeEventListener('mouseup', this._unrippleHandler, false);\n old.removeEventListener('mousemove', this._unrippleHandler, false);\n }\n};\n__decorate([\n ViewChild('.' + RIPPLE_CSS)\n], PacemFxRippleElement.prototype, \"_wave\", void 0);\nPacemFxRippleElement = __decorate([\n CustomElement({\n tagName: P + '-fx-ripple', shadow: Defaults.USE_SHADOW_ROOT,\n template: `<div class=\"${RIPPLE_CSS}\"></div>`\n })\n], PacemFxRippleElement);\nexport { PacemFxRippleElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, Defaults, P, PCSS, ViewChild, Utils, Components } from '@pacem/pacem-core';\nimport { PacemFxElement } from './types';\n//namespace Pacem.Components.Fx {\nconst PULSE_CSS = \"pulse\";\nconst SVG_NS = 'http://www.w3.org/2000/svg';\nfunction buildAnimationName(id) {\n return `${PCSS}-fx-pulse-${id}`;\n}\nfunction ensureCssAnimation(id, args, rx = '0', ry = rx) {\n const selector = 'style#' + id;\n const existing = document.querySelector(selector);\n if (Utils.isNull(existing)) {\n const newStyle = document.createElement('style');\n newStyle.id = id;\n document.head.appendChild(newStyle);\n }\n const css = document.querySelector(selector);\n const w = args.width, h = args.height, dim = Math.max(w, h), x = .5 * (dim - w), y = .5 * (dim - h);\n css.sheet.insertRule(`@keyframes ${buildAnimationName(id)} {\n 0%{\n opacity: .25; stroke-thickness: 0; rx: ${rx}; ry: ${ry}; x: ${x}px; y: ${y}px; width: ${args.width}px; height: ${args.height}px;\n }\n 50%{\n width: ${args.width}px; height: ${args.height}px; transform: scale(1); stroke-width: 10px; rx: ${rx}; ry: ${ry}; opacity: .333; x: ${x}px; y: ${y}px; width: ${w}px; height: ${h}px;\n }\n 80%{\n stroke-width: 10px;\n }\n 100%{\n opacity: 0; rx: 50%; ry: 50%; transform: scale(2); stroke-width: 0; width: ${dim}px; height: ${dim}px; x: 0; y: 0\n }\n}`, 0);\n for (let j = css.sheet.rules.length - 1; j > 0; j--) {\n css.sheet.deleteRule(j);\n }\n return css;\n}\nlet PacemFxPulseElement = class PacemFxPulseElement extends PacemFxElement {\n constructor() {\n super();\n this._resizeHandler = (e) => {\n this._pulse(e.detail);\n };\n this.#key = Utils.uniqueCode();\n }\n #key;\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._pulse();\n }\n disconnectedCallback() {\n if (!Utils.isNull(this._sheet)) {\n this._sheet.remove();\n this._sheet = null;\n }\n super.disconnectedCallback();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (name === 'disabled' && !first) {\n this._pulse();\n }\n }\n _pulse(size = this._resize.currentSize) {\n const inert = Utils.isNull(this.target) || Utils.isNull(size) || !(size.height > 0) || !(size.width > 0);\n this._resize.disabled = this.disabled;\n if (this.disabled || inert) {\n Utils.addClass(this, 'pulse-off');\n return;\n }\n Utils.removeClass(this, 'pulse-off');\n const rect = size;\n const style = getComputedStyle(this.target);\n const css = this.style;\n const dim = Math.max(rect.width, rect.height);\n css.width = dim + 'px';\n css.height = dim + 'px';\n css.top = (rect.top + .5 * (rect.height - dim)) + 'px';\n css.left = (rect.left + .5 * (rect.width - dim)) + 'px';\n const rect1 = this._rect1, rect2 = this._rect2;\n const css1 = rect1.style, css2 = rect2.style;\n this._sheet = ensureCssAnimation(this.#key, size, style.borderTopLeftRadius);\n const animationName = buildAnimationName(this.#key);\n css1.animation = css2.animation = `${animationName} both cubic-bezier(0.37, 0, 0.63, 1) 1.25s infinite`;\n css2.animationDelay = '.175s';\n }\n};\n__decorate([\n ViewChild(P + '-resize')\n], PacemFxPulseElement.prototype, \"_resize\", void 0);\n__decorate([\n ViewChild('svg')\n], PacemFxPulseElement.prototype, \"_svg\", void 0);\n__decorate([\n ViewChild('svg > rect[rect1]')\n], PacemFxPulseElement.prototype, \"_rect1\", void 0);\n__decorate([\n ViewChild('svg > rect[rect2]')\n], PacemFxPulseElement.prototype, \"_rect2\", void 0);\nPacemFxPulseElement = __decorate([\n CustomElement({\n tagName: P + '-fx-pulse', shadow: Defaults.USE_SHADOW_ROOT,\n template: `<${P}-resize target=\"{{ :host.target }}\" watch-position=\"true\" on-${Components.ResizeEventName}=\":host._resizeHandler($event)\"></${P}-resize>\n<svg class=\"${PULSE_CSS}\" xmlns=\"${SVG_NS}\">\n <rect rect1 /><rect rect2 />\n</svg>`\n })\n], PacemFxPulseElement);\nexport { PacemFxPulseElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, Watch, PropertyConverters, P, PCSS, Utils } from '@pacem/pacem-core';\nimport { PacemFxElement } from './types';\n//namespace Pacem.Components.Fx {\nconst HERO_CSS = PCSS + \"-hero\";\nconst TRANSITION = 200;\nconst HEROING_IN = \"entering\";\nconst HEROING_OUT = \"exiting\";\nconst HERO_IN = \"entered\";\nconst HERO_OUT = \"exited\";\nconst rectOrElementConverter = {\n convert: attr => {\n if (attr.trim().startsWith('#'))\n return PropertyConverters.Element.convert(attr);\n return PropertyConverters.Json.convert(attr);\n }\n};\nlet PacemFxHeroElement = class PacemFxHeroElement extends PacemFxElement {\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n // target switch?\n if (name === 'target' && !Utils.isNull(old)) {\n this._resetTarget(old);\n }\n // recompute back path (originalState)?\n if (name === 'from' && this.hero && !Utils.isNull(val)) {\n this._originalState = this._computeFromState();\n }\n // trigger\n if (name === 'hero' || name === 'target' || name === 'goal') {\n if (!Utils.isNull(this.target)) {\n if (this.hero) {\n this.start();\n }\n else {\n this.reset();\n }\n }\n }\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n if (this.hero && !Utils.isNull(this.target))\n this.start();\n }\n disconnectedCallback() {\n if (!Utils.isNull(this.target))\n this.reset();\n super.disconnectedCallback();\n }\n _computeFromState() {\n const tget = this.target, offset = Utils.offset(tget);\n if (this.from instanceof Element) {\n let from = Utils.offset(this.from);\n return { x: from.left, y: from.top, width: from.width, height: from.height };\n }\n else {\n return { x: offset.left, y: offset.top, width: offset.width, height: offset.height };\n }\n }\n _resetTarget(tget = this.target) {\n // reset inline style options\n const style = tget.style;\n // reset position/size\n style.top = style.left = style.height = style.width = '';\n for (let j = 0; j < style.length; j++) {\n let prop = style.item(j);\n style[prop] = '';\n }\n for (let prop in this._originalStyle) {\n style[prop] = this._originalStyle[prop];\n }\n Utils.removeClass(tget, HERO_CSS);\n }\n reset() {\n //\n if (Utils.isNull(this._originalState) || Utils.isNull(this._targetState)) {\n return;\n }\n this.dispatchEvent(new Event(HEROING_OUT));\n return this._animate(this._targetState, this._originalState).then(() => {\n this._resetTarget();\n this.dispatchEvent(new Event(HERO_OUT));\n });\n }\n start() {\n if (!this.disabled && !Utils.isNull(this.target)) {\n let goal;\n if (this.to instanceof Element) {\n let to = Utils.offset(this.to);\n goal = { x: to.left, y: to.top, width: to.width, height: to.height };\n }\n else {\n goal = this.to;\n }\n const tget = this.target, wSize = Utils.windowSize, state = goal || { x: 0, y: 0, width: wSize.width, height: wSize.height }, style = tget.style;\n this._targetState = state;\n let start = this._originalState = this._computeFromState();\n // save inline style options\n this._originalStyle = {};\n for (let j = 0; j < style.length; j++) {\n let prop = style.item(j);\n this._originalStyle[prop] = style[prop];\n }\n //\n Utils.addClass(tget, HERO_CSS);\n this.dispatchEvent(new Event(HEROING_IN));\n return this._animate(start, state).then(() => {\n this.dispatchEvent(new Event(HERO_IN));\n });\n }\n // nothing to do\n return Promise.resolve();\n }\n _animate(from, to) {\n const tget = this.target, style = tget.style;\n // transformations to make target state look like original state\n // i.e. `target state` gets constrained to fit `original state`.\n const scaleX = from.width / to.width, scaleY = from.height / to.height, translateX = (from.x - to.x) + 'px', translateY = (from.y - to.y) + 'px';\n style.transformOrigin = '0 0';\n style.transition = 'none';\n // set final state\n style.transform = `translate(${translateX}, ${translateY}) scale(${scaleX}, ${scaleY})`;\n style.width = to.width + 'px';\n style.height = to.height + 'px';\n style.top = to.y + 'px';\n style.left = to.x + 'px';\n // hero-animate\n requestAnimationFrame(() => {\n let duration = this.duration || TRANSITION;\n style.transition = `transform cubic-bezier(0.445, 0.05, 0.55, 0.95) ${duration}ms, opacity ${duration}ms`;\n style.transform = `translate(0, 0) scale(1)`;\n });\n return Utils.waitForAnimationEnd(tget, TRANSITION + 10);\n // Utils.addAnimationEndCallback(tget, callback, TRANSITION + 10);\n }\n};\n__decorate([\n Watch({ converter: PropertyConverters.Boolean })\n], PacemFxHeroElement.prototype, \"hero\", void 0);\n__decorate([\n Watch({ converter: rectOrElementConverter, emit: false })\n], PacemFxHeroElement.prototype, \"to\", void 0);\n__decorate([\n Watch({ converter: rectOrElementConverter, emit: false })\n], PacemFxHeroElement.prototype, \"from\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.Number, emit: false })\n], PacemFxHeroElement.prototype, \"duration\", void 0);\nPacemFxHeroElement = __decorate([\n CustomElement({ tagName: P + '-fx-hero' })\n], PacemFxHeroElement);\nexport { PacemFxHeroElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, P, PCSS, Utils } from '@pacem/pacem-core';\nimport { PacemFxElement } from './types';\n//namespace Pacem.Components.Fx {\nconst CSS_CLASS = PCSS + '-fx-list';\nlet PacemFxListElement = class PacemFxListElement extends PacemFxElement {\n constructor() {\n super(...arguments);\n this._observed = (items) => {\n const children = Array.from(this.target.children);\n for (let item of items) {\n item.removedNodes.forEach(n => {\n if (n instanceof Element) {\n this.dispatchEvent(new CustomEvent('itemremoved', { detail: n }));\n }\n });\n item.addedNodes.forEach((n, j) => {\n if (n instanceof Element) {\n this.dispatchEvent(new CustomEvent('itemadded', { detail: { item: n, index: children.indexOf(n) } }));\n }\n });\n }\n };\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n if (!Utils.isNull(this.target)) {\n this._setup();\n }\n }\n disconnectedCallback() {\n if (!Utils.isNull(this._observer)) {\n this._observer.disconnect();\n }\n super.disconnectedCallback();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (name === 'target') {\n if (old) {\n this._reset(old);\n }\n else {\n this._setup();\n }\n }\n }\n _reset(el) {\n Utils.removeClass(el, CSS_CLASS);\n this._observer.disconnect();\n }\n _setup() {\n const target = this.target;\n Utils.addClass(target, CSS_CLASS);\n const obs = this._observer = new MutationObserver(this._observed);\n obs.observe(target, { childList: true });\n }\n};\nPacemFxListElement = __decorate([\n CustomElement({\n tagName: P + '-fx-list'\n })\n], PacemFxListElement);\nexport { PacemFxListElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, Watch, PropertyConverters, P, PCSS, Components, CustomElementUtils, Utils, Debounce } from '@pacem/pacem-core';\nimport { Size, Colors } from '@pacem/pacem-foundation';\n//namespace Pacem.Components.Fx {\nconst GradientChangeEventName = 'gradientchange';\nclass GradientChangeEvent extends Event {\n constructor() {\n super(GradientChangeEventName, { cancelable: false, bubbles: false });\n }\n}\nconst SizeOrNumberConverter = {\n convert: (attr, el) => {\n try {\n return Size.parse(attr);\n }\n catch {\n return PropertyConverters.Number.convert(attr, el);\n }\n }\n};\nfunction pctFormatter(v) {\n return Math.round(v * 1000) / 10 + '%';\n}\nlet PacemFxGradientStopElement = class PacemFxGradientStopElement extends Components.PacemItemElement {\n findContainer() {\n return CustomElementUtils.findAncestor(this, i => i instanceof PacemFxGradientItemElement);\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (!first && (name === 'offset' || name === 'color' || name === 'opacity' || name === 'disabled' || name === 'hide')) {\n this.dispatchEvent(new GradientChangeEvent());\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemFxGradientStopElement.prototype, \"offset\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemFxGradientStopElement.prototype, \"color\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemFxGradientStopElement.prototype, \"opacity\", void 0);\nPacemFxGradientStopElement = __decorate([\n CustomElement({ tagName: P + '-fx-gradient-stop' })\n], PacemFxGradientStopElement);\nexport { PacemFxGradientStopElement };\nexport class PacemFxGradientItemElement extends Components.PacemCrossItemsContainerElement {\n constructor() {\n super(...arguments);\n this._dispatchGradientChangeHandler = (e) => {\n this._dispatchGradientChange();\n };\n }\n validate(item) {\n return item instanceof PacemFxGradientStopElement;\n }\n register(item) {\n const registered = super.register(item);\n if (registered) {\n item.addEventListener(GradientChangeEventName, this._dispatchGradientChangeHandler, false);\n }\n return registered;\n }\n unregister(item) {\n const unregistered = super.unregister(item);\n if (unregistered) {\n item.removeEventListener(GradientChangeEventName, this._dispatchGradientChangeHandler, false);\n }\n return unregistered;\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (!first && this.doesPropertyTriggerGradientChange(name)) {\n this._dispatchGradientChange();\n }\n }\n _dispatchGradientChange() {\n this.dispatchEvent(new GradientChangeEvent());\n }\n buildColor(color, opacity) {\n if (opacity >= 0 && opacity <= 1) {\n const clr = Colors.parse(color);\n return Colors.stringify(Utils.extend(clr, { a: opacity }));\n }\n return color;\n }\n}\nlet PacemFxRadialGradientElement = class PacemFxRadialGradientElement extends PacemFxGradientItemElement {\n doesPropertyTriggerGradientChange(prop) {\n return ['shape', 'size', 'center', 'items', 'hide', 'disabled'].indexOf(prop) >= 0;\n }\n buildGradient() {\n const items = this.items;\n if (Utils.isNullOrEmpty(items)) {\n return '';\n }\n const shape = this.shape === 'circle' ? 'circle' : 'ellipse';\n const center = this.center ?? { x: .5, y: .5 };\n const size = this.size;\n let dim = '';\n if (!Utils.isNullOrEmpty(size)) {\n if (typeof size === 'number') {\n dim = `${size}px`;\n }\n else {\n dim = `${pctFormatter(size.width / 2)} ${pctFormatter(size.height / 2)}`;\n }\n }\n let stops = [];\n for (let { offset, color, hide, disabled, opacity } of items) {\n if (hide || disabled) {\n continue;\n }\n const clr = this.buildColor(color, opacity);\n stops.push(`${clr} ${pctFormatter(offset)}`);\n }\n return `radial-gradient(${shape} ${dim} at ${pctFormatter(center.x)} ${pctFormatter(center.y)} in oklab, ${stops.join(', ')})`;\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemFxRadialGradientElement.prototype, \"shape\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Point })\n], PacemFxRadialGradientElement.prototype, \"center\", void 0);\n__decorate([\n Watch({ emit: false, converter: SizeOrNumberConverter })\n], PacemFxRadialGradientElement.prototype, \"size\", void 0);\nPacemFxRadialGradientElement = __decorate([\n CustomElement({ tagName: P + '-fx-gradient-radial' })\n], PacemFxRadialGradientElement);\nexport { PacemFxRadialGradientElement };\nlet PacemFxLinearGradientElement = class PacemFxLinearGradientElement extends PacemFxGradientItemElement {\n doesPropertyTriggerGradientChange(prop) {\n return ['angle', 'items', 'hide', 'disabled'].indexOf(prop) >= 0;\n }\n buildGradient() {\n const items = this.items;\n if (Utils.isNullOrEmpty(items)) {\n return '';\n }\n const angle = this.angle ?? 0;\n let stops = [];\n for (let { offset, color, hide, disabled, opacity } of items) {\n if (hide || disabled) {\n continue;\n }\n const clr = this.buildColor(color, opacity);\n stops.push(`${clr} ${pctFormatter(offset)}`);\n }\n return `linear-gradient(${angle}deg in oklab, ${stops.join(', ')})`;\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemFxLinearGradientElement.prototype, \"angle\", void 0);\nPacemFxLinearGradientElement = __decorate([\n CustomElement({ tagName: P + '-fx-gradient-linear' })\n], PacemFxLinearGradientElement);\nexport { PacemFxLinearGradientElement };\nlet PacemFxGradientElement = class PacemFxGradientElement extends Components.PacemItemsContainerElement {\n constructor() {\n super(...arguments);\n this._gradientChangeHandler = (e) => {\n this._buildGradient();\n };\n }\n validate(item) {\n return item instanceof PacemFxGradientItemElement;\n }\n register(item) {\n const registered = super.register(item);\n if (registered) {\n item.addEventListener(GradientChangeEventName, this._gradientChangeHandler, false);\n }\n return registered;\n }\n unregister(item) {\n const unregistered = super.unregister(item);\n if (unregistered) {\n item.removeEventListener(GradientChangeEventName, this._gradientChangeHandler, false);\n }\n return unregistered;\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._buildGradient();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (!first) {\n switch (name) {\n case 'target':\n if (old) {\n this._removeGradient(old);\n }\n case 'mode':\n case 'disabled':\n this._buildGradient();\n break;\n }\n }\n }\n _removeGradient(tget) {\n Utils.removeClass(tget, PCSS + '-fx-gradient-text');\n Utils.removeClass(tget, PCSS + '-fx-gradient-fill');\n tget.style.backgroundImage = '';\n }\n _buildGradient() {\n const tget = this.target;\n if (Utils.isNull(tget)) {\n return;\n }\n let gradients = '';\n const items = this.disabled ? [] : this.items ?? [];\n for (let item of items) {\n if (item.hide || item.disabled) {\n continue;\n }\n const gradient = item.buildGradient();\n if (Utils.isNullOrEmpty(gradient)) {\n continue;\n }\n gradients += gradient;\n if (!gradients.trim().endsWith(',')) {\n gradients += ',';\n }\n }\n if (!Utils.isNullOrEmpty(gradients)) {\n const t = PCSS + '-fx-gradient-text', f = PCSS + '-fx-gradient-fill';\n const ist = this.mode === 'text';\n Utils.removeClass(tget, ist ? f : t);\n Utils.addClass(tget, ist ? t : f);\n tget.style.backgroundImage = gradients.substring(0, gradients.length - 1);\n }\n else {\n this._removeGradient(tget);\n }\n }\n};\n__decorate([\n Watch({ converter: PropertyConverters.Element })\n], PacemFxGradientElement.prototype, \"target\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.String })\n], PacemFxGradientElement.prototype, \"mode\", void 0);\n__decorate([\n Debounce(true)\n], PacemFxGradientElement.prototype, \"_buildGradient\", null);\nPacemFxGradientElement = __decorate([\n CustomElement({ tagName: P + '-fx-gradient' })\n], PacemFxGradientElement);\nexport { PacemFxGradientElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, Watch, PropertyConverters, P, PCSS, Utils, PropertyChangeEvent } from '@pacem/pacem-core';\nimport { PacemFxElement } from './types';\n//namespace Pacem.Components.Fx {\nconst FANCY_CSS = PCSS + \"-fancy\";\nconst FANCIFY_CSS = PCSS + \"-fancify\";\nconst DEFAULT_GAP = 20;\nlet PacemFxFancyElement = class PacemFxFancyElement extends PacemFxElement {\n constructor() {\n super(...arguments);\n this._progress = .0;\n this._started = false;\n }\n get progress() {\n return this._progress;\n }\n get started() {\n return this._started;\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (name === 'fancify' || name === 'target') {\n if (!Utils.isNull(this.target)) {\n if (this.fancify) {\n this.start();\n }\n else {\n this._reset();\n }\n }\n }\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n if (this.fancify && !Utils.isNull(this.target))\n this.start();\n }\n disconnectedCallback() {\n cancelAnimationFrame(this._handle);\n clearTimeout(this._handle1);\n if (!Utils.isNull(this.target))\n this._reset();\n super.disconnectedCallback();\n }\n _reset() {\n Utils.removeClass(this.target, FANCY_CSS);\n if (this._started) {\n this.dispatchEvent(new PropertyChangeEvent({ propertyName: 'started', oldValue: this._started, currentValue: this._started = false }));\n }\n this.dispatchEvent(new PropertyChangeEvent({ propertyName: 'progress', oldValue: this._progress, currentValue: this._progress = 0 }));\n if (Utils.isNull(this._originalContent))\n this._originalContent = this.target.innerHTML;\n else\n this.target.innerHTML = this._originalContent;\n }\n _parse() {\n let n, a = [], walker = document.createTreeWalker(this.target, NodeFilter.SHOW_TEXT);\n while (n = walker.nextNode()) {\n if (n.textContent) {\n a.push(n);\n }\n }\n this._textNodes = a;\n }\n start() {\n if (!this.disabled) {\n this._reset();\n this._parse();\n this._startShow();\n this._handle1 = setTimeout(() => {\n this.dispatchEvent(new PropertyChangeEvent({ propertyName: 'started', oldValue: this._started, currentValue: this._started = true }));\n }, this.delay || 0);\n }\n }\n _startShow(ndx = 0) {\n Utils.addClass(this.target, FANCY_CSS);\n const trunks = this._textNodes, length = trunks.length;\n this._fancify(trunks[ndx]);\n const old = this._progress;\n ndx++;\n const curr = this._progress = ndx / length;\n this.dispatchEvent(new PropertyChangeEvent({ propertyName: 'progress', oldValue: old, currentValue: curr }));\n if (ndx < length) {\n this._handle = requestAnimationFrame(() => {\n this._startShow(ndx);\n });\n }\n }\n _fancify(node) {\n const content = node.textContent;\n if (Utils.isNullOrEmpty(content) || !/[^\\s]/.test(content)) {\n return;\n }\n const leftPad = /^\\s/.test(content), rightPad = /\\s$/.test(content);\n node.textContent = '';\n //\n const words = content.trim().split(' '), gap = this.gap || DEFAULT_GAP, delay = this.delay || 0;\n let j = 0;\n for (let word of words) {\n var span = document.createElement('span');\n span.className = FANCIFY_CSS;\n span.style.animationDelay = `${(delay + j * gap)}ms`;\n if (leftPad || j > 0)\n node.parentElement.insertBefore(document.createTextNode(' '), node);\n span.textContent = word;\n node.parentElement.insertBefore(span, node);\n j++;\n }\n //\n if (rightPad)\n node.parentElement.insertBefore(document.createTextNode(' '), node);\n }\n};\n__decorate([\n Watch({ converter: PropertyConverters.Boolean })\n], PacemFxFancyElement.prototype, \"fancify\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.Number })\n], PacemFxFancyElement.prototype, \"delay\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.Number })\n], PacemFxFancyElement.prototype, \"gap\", void 0);\nPacemFxFancyElement = __decorate([\n CustomElement({ tagName: P + '-fx-fancy' })\n], PacemFxFancyElement);\nexport { PacemFxFancyElement };\n","import { DeepMerger } from '@pacem/pacem-foundation';\nimport * as Output from './index';\nDeepMerger.merge(Output);\n"],"names":["__decorate","this","PacemEventTarget","Watch","PropertyConverters","Utils","Point","ViewChild","CustomElement","P","Defaults","PCSS","Components","Size","CustomElementUtils","Colors","Debounce","PropertyChangeEvent","DeepMerger"],"mappings":"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"}
1
+ {"version":3,"file":"pacem-fx.js","sources":["../esm/types.js","../esm/ripple.js","../esm/pulse.js","../esm/hero.js","../esm/list.js","../esm/gradient.js","../esm/fancy.js","../esm/index-iife.js"],"sourcesContent":["var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { Watch, PropertyConverters, PacemEventTarget } from '@pacem/pacem-core';\nexport class PacemFxElement extends PacemEventTarget {\n}\n__decorate([\n Watch({ converter: PropertyConverters.Element })\n], PacemFxElement.prototype, \"target\", void 0);\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, Defaults, P, ViewChild, Utils, PacemEventTarget } from '@pacem/pacem-core';\nimport { Point } from '@pacem/pacem-foundation';\nimport { PacemFxElement } from './types';\n//namespace Pacem.Components.Fx {\nconst RIPPLE_CSS = \"ripple\";\nlet PacemFxRippleElement = class PacemFxRippleElement extends PacemFxElement {\n constructor() {\n super(...arguments);\n this._lock = false;\n this._remove = false;\n this._rippleHandler = (e) => {\n if (this.disabled || (this.target instanceof PacemEventTarget && this.target.disabled)) {\n return;\n }\n if (e instanceof MouseEvent && e.button !== 0) {\n // only the 'main' (left) button click goes.\n return;\n }\n const rect = Utils.offset(this.target);\n const style = getComputedStyle(this.target);\n const css = this.style;\n css.top = rect.top + 'px';\n css.left = rect.left + 'px';\n css.width = rect.width + 'px';\n css.height = rect.height + 'px';\n css.borderRadius = style.borderRadius;\n const pointSrc = e.type === 'touchstart' ? e.touches[0] : e;\n const point = { x: pointSrc.pageX, y: pointSrc.pageY };\n const topLeft = { x: rect.left, y: rect.top }, topRight = { x: rect.left + rect.width, y: rect.top }, bottomLeft = { x: rect.left, y: rect.top + rect.height }, bottomRight = { x: topRight.x, y: bottomLeft.y };\n const radius = Math.max(Point.distance(point, topLeft), Point.distance(point, topRight), Point.distance(point, bottomRight), Point.distance(point, bottomLeft));\n const wave = this._wave;\n wave.style.left = (point.x - rect.left - radius) + 'px';\n wave.style.top = (point.y - rect.top - radius) + 'px';\n wave.style.width = wave.style.height = (2 * radius) + 'px';\n Utils.addAnimationEndCallback(wave, () => {\n this._lock = false;\n this._tryRemove();\n });\n this._lock = true;\n Utils.addClass(wave, 'ripple-go');\n };\n this._unrippleHandler = (e) => {\n this._remove = true;\n this._tryRemove();\n };\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n // target switch?\n if (name === 'target') {\n if (!Utils.isNull(old)) {\n this._reset(old);\n }\n if (!Utils.isNull(val)) {\n this._set(val);\n }\n }\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n if (!Utils.isNull(this.target))\n this._set();\n }\n disconnectedCallback() {\n if (!Utils.isNull(this.target))\n this._reset();\n super.disconnectedCallback();\n }\n _tryRemove() {\n if (!this._lock && this._remove) {\n this._remove = false;\n Utils.removeClass(this._wave, 'ripple-go');\n }\n }\n _set(val = this.target) {\n val.addEventListener('mousedown', this._rippleHandler, false);\n val.addEventListener('touchstart', this._rippleHandler, false);\n val.addEventListener('touchend', this._unrippleHandler, false);\n val.addEventListener('mouseup', this._unrippleHandler, false);\n val.addEventListener('mousemove', this._unrippleHandler, false);\n }\n _reset(old = this.target) {\n old.removeEventListener('mousedown', this._rippleHandler, false);\n old.removeEventListener('touchstart', this._rippleHandler, false);\n old.removeEventListener('touchend', this._unrippleHandler, false);\n old.removeEventListener('mouseup', this._unrippleHandler, false);\n old.removeEventListener('mousemove', this._unrippleHandler, false);\n }\n};\n__decorate([\n ViewChild('.' + RIPPLE_CSS)\n], PacemFxRippleElement.prototype, \"_wave\", void 0);\nPacemFxRippleElement = __decorate([\n CustomElement({\n tagName: P + '-fx-ripple', shadow: Defaults.USE_SHADOW_ROOT,\n template: `<div class=\"${RIPPLE_CSS}\"></div>`\n })\n], PacemFxRippleElement);\nexport { PacemFxRippleElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, Defaults, P, PCSS, ViewChild, Utils, Components } from '@pacem/pacem-core';\nimport { PacemFxElement } from './types';\n//namespace Pacem.Components.Fx {\nconst PULSE_CSS = \"pulse\";\nconst SVG_NS = 'http://www.w3.org/2000/svg';\nfunction buildAnimationName(id) {\n return `${PCSS}-fx-pulse-${id}`;\n}\nfunction ensureCssAnimation(id, args, rx = '0', ry = rx) {\n const selector = 'style#' + id;\n const existing = document.querySelector(selector);\n if (Utils.isNull(existing)) {\n const newStyle = document.createElement('style');\n newStyle.id = id;\n document.head.appendChild(newStyle);\n }\n const css = document.querySelector(selector);\n const w = args.width, h = args.height, dim = Math.max(w, h), x = .5 * (dim - w), y = .5 * (dim - h);\n css.sheet.insertRule(`@keyframes ${buildAnimationName(id)} {\r\n 0%{\r\n opacity: .25; stroke-thickness: 0; rx: ${rx}; ry: ${ry}; x: ${x}px; y: ${y}px; width: ${args.width}px; height: ${args.height}px;\r\n }\r\n 50%{\r\n width: ${args.width}px; height: ${args.height}px; transform: scale(1); stroke-width: 10px; rx: ${rx}; ry: ${ry}; opacity: .333; x: ${x}px; y: ${y}px; width: ${w}px; height: ${h}px;\r\n }\r\n 80%{\r\n stroke-width: 10px;\r\n }\r\n 100%{\r\n opacity: 0; rx: 50%; ry: 50%; transform: scale(2); stroke-width: 0; width: ${dim}px; height: ${dim}px; x: 0; y: 0\r\n }\r\n}`, 0);\n for (let j = css.sheet.rules.length - 1; j > 0; j--) {\n css.sheet.deleteRule(j);\n }\n return css;\n}\nlet PacemFxPulseElement = class PacemFxPulseElement extends PacemFxElement {\n constructor() {\n super();\n this._resizeHandler = (e) => {\n this._pulse(e.detail);\n };\n this.#key = Utils.uniqueCode();\n }\n #key;\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._pulse();\n }\n disconnectedCallback() {\n if (!Utils.isNull(this._sheet)) {\n this._sheet.remove();\n this._sheet = null;\n }\n super.disconnectedCallback();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (name === 'disabled' && !first) {\n this._pulse();\n }\n }\n _pulse(size = this._resize.currentSize) {\n const inert = Utils.isNull(this.target) || Utils.isNull(size) || !(size.height > 0) || !(size.width > 0);\n this._resize.disabled = this.disabled;\n if (this.disabled || inert) {\n Utils.addClass(this, 'pulse-off');\n return;\n }\n Utils.removeClass(this, 'pulse-off');\n const rect = size;\n const style = getComputedStyle(this.target);\n const css = this.style;\n const dim = Math.max(rect.width, rect.height);\n css.width = dim + 'px';\n css.height = dim + 'px';\n css.top = (rect.top + .5 * (rect.height - dim)) + 'px';\n css.left = (rect.left + .5 * (rect.width - dim)) + 'px';\n const rect1 = this._rect1, rect2 = this._rect2;\n const css1 = rect1.style, css2 = rect2.style;\n this._sheet = ensureCssAnimation(this.#key, size, style.borderTopLeftRadius);\n const animationName = buildAnimationName(this.#key);\n css1.animation = css2.animation = `${animationName} both cubic-bezier(0.37, 0, 0.63, 1) 1.25s infinite`;\n css2.animationDelay = '.175s';\n }\n};\n__decorate([\n ViewChild(P + '-resize')\n], PacemFxPulseElement.prototype, \"_resize\", void 0);\n__decorate([\n ViewChild('svg')\n], PacemFxPulseElement.prototype, \"_svg\", void 0);\n__decorate([\n ViewChild('svg > rect[rect1]')\n], PacemFxPulseElement.prototype, \"_rect1\", void 0);\n__decorate([\n ViewChild('svg > rect[rect2]')\n], PacemFxPulseElement.prototype, \"_rect2\", void 0);\nPacemFxPulseElement = __decorate([\n CustomElement({\n tagName: P + '-fx-pulse', shadow: Defaults.USE_SHADOW_ROOT,\n template: `<${P}-resize target=\"{{ :host.target }}\" watch-position=\"true\" on-${Components.ResizeEventName}=\":host._resizeHandler($event)\"></${P}-resize>\r\n<svg class=\"${PULSE_CSS}\" xmlns=\"${SVG_NS}\">\r\n <rect rect1 /><rect rect2 />\r\n</svg>`\n })\n], PacemFxPulseElement);\nexport { PacemFxPulseElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, Watch, PropertyConverters, P, PCSS, Utils } from '@pacem/pacem-core';\nimport { PacemFxElement } from './types';\n//namespace Pacem.Components.Fx {\nconst HERO_CSS = PCSS + \"-hero\";\nconst TRANSITION = 200;\nconst HEROING_IN = \"entering\";\nconst HEROING_OUT = \"exiting\";\nconst HERO_IN = \"entered\";\nconst HERO_OUT = \"exited\";\nconst rectOrElementConverter = {\n convert: attr => {\n if (attr.trim().startsWith('#'))\n return PropertyConverters.Element.convert(attr);\n return PropertyConverters.Json.convert(attr);\n }\n};\nlet PacemFxHeroElement = class PacemFxHeroElement extends PacemFxElement {\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n // target switch?\n if (name === 'target' && !Utils.isNull(old)) {\n this._resetTarget(old);\n }\n // recompute back path (originalState)?\n if (name === 'from' && this.hero && !Utils.isNull(val)) {\n this._originalState = this._computeFromState();\n }\n // trigger\n if (name === 'hero' || name === 'target' || name === 'goal') {\n if (!Utils.isNull(this.target)) {\n if (this.hero) {\n this.start();\n }\n else {\n this.reset();\n }\n }\n }\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n if (this.hero && !Utils.isNull(this.target))\n this.start();\n }\n disconnectedCallback() {\n if (!Utils.isNull(this.target))\n this.reset();\n super.disconnectedCallback();\n }\n _computeFromState() {\n const tget = this.target, offset = Utils.offset(tget);\n if (this.from instanceof Element) {\n let from = Utils.offset(this.from);\n return { x: from.left, y: from.top, width: from.width, height: from.height };\n }\n else {\n return { x: offset.left, y: offset.top, width: offset.width, height: offset.height };\n }\n }\n _resetTarget(tget = this.target) {\n // reset inline style options\n const style = tget.style;\n // reset position/size\n style.top = style.left = style.height = style.width = '';\n for (let j = 0; j < style.length; j++) {\n let prop = style.item(j);\n style[prop] = '';\n }\n for (let prop in this._originalStyle) {\n style[prop] = this._originalStyle[prop];\n }\n Utils.removeClass(tget, HERO_CSS);\n }\n reset() {\n //\n if (Utils.isNull(this._originalState) || Utils.isNull(this._targetState)) {\n return;\n }\n this.dispatchEvent(new Event(HEROING_OUT));\n return this._animate(this._targetState, this._originalState).then(() => {\n this._resetTarget();\n this.dispatchEvent(new Event(HERO_OUT));\n });\n }\n start() {\n if (!this.disabled && !Utils.isNull(this.target)) {\n let goal;\n if (this.to instanceof Element) {\n let to = Utils.offset(this.to);\n goal = { x: to.left, y: to.top, width: to.width, height: to.height };\n }\n else {\n goal = this.to;\n }\n const tget = this.target, wSize = Utils.windowSize, state = goal || { x: 0, y: 0, width: wSize.width, height: wSize.height }, style = tget.style;\n this._targetState = state;\n let start = this._originalState = this._computeFromState();\n // save inline style options\n this._originalStyle = {};\n for (let j = 0; j < style.length; j++) {\n let prop = style.item(j);\n this._originalStyle[prop] = style[prop];\n }\n //\n Utils.addClass(tget, HERO_CSS);\n this.dispatchEvent(new Event(HEROING_IN));\n return this._animate(start, state).then(() => {\n this.dispatchEvent(new Event(HERO_IN));\n });\n }\n // nothing to do\n return Promise.resolve();\n }\n _animate(from, to) {\n const tget = this.target, style = tget.style;\n // transformations to make target state look like original state\n // i.e. `target state` gets constrained to fit `original state`.\n const scaleX = from.width / to.width, scaleY = from.height / to.height, translateX = (from.x - to.x) + 'px', translateY = (from.y - to.y) + 'px';\n style.transformOrigin = '0 0';\n style.transition = 'none';\n // set final state\n style.transform = `translate(${translateX}, ${translateY}) scale(${scaleX}, ${scaleY})`;\n style.width = to.width + 'px';\n style.height = to.height + 'px';\n style.top = to.y + 'px';\n style.left = to.x + 'px';\n // hero-animate\n requestAnimationFrame(() => {\n let duration = this.duration || TRANSITION;\n style.transition = `transform cubic-bezier(0.445, 0.05, 0.55, 0.95) ${duration}ms, opacity ${duration}ms`;\n style.transform = `translate(0, 0) scale(1)`;\n });\n return Utils.waitForAnimationEnd(tget, TRANSITION + 10);\n // Utils.addAnimationEndCallback(tget, callback, TRANSITION + 10);\n }\n};\n__decorate([\n Watch({ converter: PropertyConverters.Boolean })\n], PacemFxHeroElement.prototype, \"hero\", void 0);\n__decorate([\n Watch({ converter: rectOrElementConverter, emit: false })\n], PacemFxHeroElement.prototype, \"to\", void 0);\n__decorate([\n Watch({ converter: rectOrElementConverter, emit: false })\n], PacemFxHeroElement.prototype, \"from\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.Number, emit: false })\n], PacemFxHeroElement.prototype, \"duration\", void 0);\nPacemFxHeroElement = __decorate([\n CustomElement({ tagName: P + '-fx-hero' })\n], PacemFxHeroElement);\nexport { PacemFxHeroElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, P, PCSS, Utils } from '@pacem/pacem-core';\nimport { PacemFxElement } from './types';\n//namespace Pacem.Components.Fx {\nconst CSS_CLASS = PCSS + '-fx-list';\nlet PacemFxListElement = class PacemFxListElement extends PacemFxElement {\n constructor() {\n super(...arguments);\n this._observed = (items) => {\n const children = Array.from(this.target.children);\n for (let item of items) {\n item.removedNodes.forEach(n => {\n if (n instanceof Element) {\n this.dispatchEvent(new CustomEvent('itemremoved', { detail: n }));\n }\n });\n item.addedNodes.forEach((n, j) => {\n if (n instanceof Element) {\n this.dispatchEvent(new CustomEvent('itemadded', { detail: { item: n, index: children.indexOf(n) } }));\n }\n });\n }\n };\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n if (!Utils.isNull(this.target)) {\n this._setup();\n }\n }\n disconnectedCallback() {\n if (!Utils.isNull(this._observer)) {\n this._observer.disconnect();\n }\n super.disconnectedCallback();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (name === 'target') {\n if (old) {\n this._reset(old);\n }\n else {\n this._setup();\n }\n }\n }\n _reset(el) {\n Utils.removeClass(el, CSS_CLASS);\n this._observer.disconnect();\n }\n _setup() {\n const target = this.target;\n Utils.addClass(target, CSS_CLASS);\n const obs = this._observer = new MutationObserver(this._observed);\n obs.observe(target, { childList: true });\n }\n};\nPacemFxListElement = __decorate([\n CustomElement({\n tagName: P + '-fx-list'\n })\n], PacemFxListElement);\nexport { PacemFxListElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, Watch, PropertyConverters, P, PCSS, Components, CustomElementUtils, Utils, Debounce } from '@pacem/pacem-core';\nimport { Size, Colors } from '@pacem/pacem-foundation';\n//namespace Pacem.Components.Fx {\nconst GradientChangeEventName = 'gradientchange';\nclass GradientChangeEvent extends Event {\n constructor() {\n super(GradientChangeEventName, { cancelable: false, bubbles: false });\n }\n}\nconst SizeOrNumberConverter = {\n convert: (attr, el) => {\n try {\n return Size.parse(attr);\n }\n catch {\n return PropertyConverters.Number.convert(attr, el);\n }\n }\n};\nfunction pctFormatter(v) {\n return Math.round(v * 1000) / 10 + '%';\n}\nlet PacemFxGradientStopElement = class PacemFxGradientStopElement extends Components.PacemItemElement {\n findContainer() {\n return CustomElementUtils.findAncestor(this, i => i instanceof PacemFxGradientItemElement);\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (!first && (name === 'offset' || name === 'color' || name === 'opacity' || name === 'disabled' || name === 'hide')) {\n this.dispatchEvent(new GradientChangeEvent());\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemFxGradientStopElement.prototype, \"offset\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemFxGradientStopElement.prototype, \"color\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemFxGradientStopElement.prototype, \"opacity\", void 0);\nPacemFxGradientStopElement = __decorate([\n CustomElement({ tagName: P + '-fx-gradient-stop' })\n], PacemFxGradientStopElement);\nexport { PacemFxGradientStopElement };\nexport class PacemFxGradientItemElement extends Components.PacemCrossItemsContainerElement {\n constructor() {\n super(...arguments);\n this._dispatchGradientChangeHandler = (e) => {\n this._dispatchGradientChange();\n };\n }\n validate(item) {\n return item instanceof PacemFxGradientStopElement;\n }\n register(item) {\n const registered = super.register(item);\n if (registered) {\n item.addEventListener(GradientChangeEventName, this._dispatchGradientChangeHandler, false);\n }\n return registered;\n }\n unregister(item) {\n const unregistered = super.unregister(item);\n if (unregistered) {\n item.removeEventListener(GradientChangeEventName, this._dispatchGradientChangeHandler, false);\n }\n return unregistered;\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (!first && this.doesPropertyTriggerGradientChange(name)) {\n this._dispatchGradientChange();\n }\n }\n _dispatchGradientChange() {\n this.dispatchEvent(new GradientChangeEvent());\n }\n buildColor(color, opacity) {\n if (opacity >= 0 && opacity <= 1) {\n const clr = Colors.parse(color);\n return Colors.stringify(Utils.extend(clr, { a: opacity }));\n }\n return color;\n }\n}\nlet PacemFxRadialGradientElement = class PacemFxRadialGradientElement extends PacemFxGradientItemElement {\n doesPropertyTriggerGradientChange(prop) {\n return ['shape', 'size', 'center', 'items', 'hide', 'disabled'].indexOf(prop) >= 0;\n }\n buildGradient() {\n const items = this.items;\n if (Utils.isNullOrEmpty(items)) {\n return '';\n }\n const shape = this.shape === 'circle' ? 'circle' : 'ellipse';\n const center = this.center ?? { x: .5, y: .5 };\n const size = this.size;\n let dim = '';\n if (!Utils.isNullOrEmpty(size)) {\n if (typeof size === 'number') {\n dim = `${size}px`;\n }\n else {\n dim = `${pctFormatter(size.width / 2)} ${pctFormatter(size.height / 2)}`;\n }\n }\n let stops = [];\n for (let { offset, color, hide, disabled, opacity } of items) {\n if (hide || disabled) {\n continue;\n }\n const clr = this.buildColor(color, opacity);\n stops.push(`${clr} ${pctFormatter(offset)}`);\n }\n return `radial-gradient(${shape} ${dim} at ${pctFormatter(center.x)} ${pctFormatter(center.y)} in oklab, ${stops.join(', ')})`;\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemFxRadialGradientElement.prototype, \"shape\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Point })\n], PacemFxRadialGradientElement.prototype, \"center\", void 0);\n__decorate([\n Watch({ emit: false, converter: SizeOrNumberConverter })\n], PacemFxRadialGradientElement.prototype, \"size\", void 0);\nPacemFxRadialGradientElement = __decorate([\n CustomElement({ tagName: P + '-fx-gradient-radial' })\n], PacemFxRadialGradientElement);\nexport { PacemFxRadialGradientElement };\nlet PacemFxLinearGradientElement = class PacemFxLinearGradientElement extends PacemFxGradientItemElement {\n doesPropertyTriggerGradientChange(prop) {\n return ['angle', 'items', 'hide', 'disabled'].indexOf(prop) >= 0;\n }\n buildGradient() {\n const items = this.items;\n if (Utils.isNullOrEmpty(items)) {\n return '';\n }\n const angle = this.angle ?? 0;\n let stops = [];\n for (let { offset, color, hide, disabled, opacity } of items) {\n if (hide || disabled) {\n continue;\n }\n const clr = this.buildColor(color, opacity);\n stops.push(`${clr} ${pctFormatter(offset)}`);\n }\n return `linear-gradient(${angle}deg in oklab, ${stops.join(', ')})`;\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemFxLinearGradientElement.prototype, \"angle\", void 0);\nPacemFxLinearGradientElement = __decorate([\n CustomElement({ tagName: P + '-fx-gradient-linear' })\n], PacemFxLinearGradientElement);\nexport { PacemFxLinearGradientElement };\nlet PacemFxGradientElement = class PacemFxGradientElement extends Components.PacemItemsContainerElement {\n constructor() {\n super(...arguments);\n this._gradientChangeHandler = (e) => {\n this._buildGradient();\n };\n }\n validate(item) {\n return item instanceof PacemFxGradientItemElement;\n }\n register(item) {\n const registered = super.register(item);\n if (registered) {\n item.addEventListener(GradientChangeEventName, this._gradientChangeHandler, false);\n }\n return registered;\n }\n unregister(item) {\n const unregistered = super.unregister(item);\n if (unregistered) {\n item.removeEventListener(GradientChangeEventName, this._gradientChangeHandler, false);\n }\n return unregistered;\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._buildGradient();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (!first) {\n switch (name) {\n case 'target':\n if (old) {\n this._removeGradient(old);\n }\n case 'mode':\n case 'disabled':\n this._buildGradient();\n break;\n }\n }\n }\n _removeGradient(tget) {\n Utils.removeClass(tget, PCSS + '-fx-gradient-text');\n Utils.removeClass(tget, PCSS + '-fx-gradient-fill');\n tget.style.backgroundImage = '';\n }\n _buildGradient() {\n const tget = this.target;\n if (Utils.isNull(tget)) {\n return;\n }\n let gradients = '';\n const items = this.disabled ? [] : this.items ?? [];\n for (let item of items) {\n if (item.hide || item.disabled) {\n continue;\n }\n const gradient = item.buildGradient();\n if (Utils.isNullOrEmpty(gradient)) {\n continue;\n }\n gradients += gradient;\n if (!gradients.trim().endsWith(',')) {\n gradients += ',';\n }\n }\n if (!Utils.isNullOrEmpty(gradients)) {\n const t = PCSS + '-fx-gradient-text', f = PCSS + '-fx-gradient-fill';\n const ist = this.mode === 'text';\n Utils.removeClass(tget, ist ? f : t);\n Utils.addClass(tget, ist ? t : f);\n tget.style.backgroundImage = gradients.substring(0, gradients.length - 1);\n }\n else {\n this._removeGradient(tget);\n }\n }\n};\n__decorate([\n Watch({ converter: PropertyConverters.Element })\n], PacemFxGradientElement.prototype, \"target\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.String })\n], PacemFxGradientElement.prototype, \"mode\", void 0);\n__decorate([\n Debounce(true)\n], PacemFxGradientElement.prototype, \"_buildGradient\", null);\nPacemFxGradientElement = __decorate([\n CustomElement({ tagName: P + '-fx-gradient' })\n], PacemFxGradientElement);\nexport { PacemFxGradientElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, Watch, PropertyConverters, P, PCSS, Utils, PropertyChangeEvent } from '@pacem/pacem-core';\nimport { PacemFxElement } from './types';\n//namespace Pacem.Components.Fx {\nconst FANCY_CSS = PCSS + \"-fancy\";\nconst FANCIFY_CSS = PCSS + \"-fancify\";\nconst DEFAULT_GAP = 20;\nlet PacemFxFancyElement = class PacemFxFancyElement extends PacemFxElement {\n constructor() {\n super(...arguments);\n this._progress = .0;\n this._started = false;\n }\n get progress() {\n return this._progress;\n }\n get started() {\n return this._started;\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (name === 'fancify' || name === 'target') {\n if (!Utils.isNull(this.target)) {\n if (this.fancify) {\n this.start();\n }\n else {\n this._reset();\n }\n }\n }\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n if (this.fancify && !Utils.isNull(this.target))\n this.start();\n }\n disconnectedCallback() {\n cancelAnimationFrame(this._handle);\n clearTimeout(this._handle1);\n if (!Utils.isNull(this.target))\n this._reset();\n super.disconnectedCallback();\n }\n _reset() {\n Utils.removeClass(this.target, FANCY_CSS);\n if (this._started) {\n this.dispatchEvent(new PropertyChangeEvent({ propertyName: 'started', oldValue: this._started, currentValue: this._started = false }));\n }\n this.dispatchEvent(new PropertyChangeEvent({ propertyName: 'progress', oldValue: this._progress, currentValue: this._progress = 0 }));\n if (Utils.isNull(this._originalContent))\n this._originalContent = this.target.innerHTML;\n else\n this.target.innerHTML = this._originalContent;\n }\n _parse() {\n let n, a = [], walker = document.createTreeWalker(this.target, NodeFilter.SHOW_TEXT);\n while (n = walker.nextNode()) {\n if (n.textContent) {\n a.push(n);\n }\n }\n this._textNodes = a;\n }\n start() {\n if (!this.disabled) {\n this._reset();\n this._parse();\n this._startShow();\n this._handle1 = setTimeout(() => {\n this.dispatchEvent(new PropertyChangeEvent({ propertyName: 'started', oldValue: this._started, currentValue: this._started = true }));\n }, this.delay || 0);\n }\n }\n _startShow(ndx = 0) {\n Utils.addClass(this.target, FANCY_CSS);\n const trunks = this._textNodes, length = trunks.length;\n this._fancify(trunks[ndx]);\n const old = this._progress;\n ndx++;\n const curr = this._progress = ndx / length;\n this.dispatchEvent(new PropertyChangeEvent({ propertyName: 'progress', oldValue: old, currentValue: curr }));\n if (ndx < length) {\n this._handle = requestAnimationFrame(() => {\n this._startShow(ndx);\n });\n }\n }\n _fancify(node) {\n const content = node.textContent;\n if (Utils.isNullOrEmpty(content) || !/[^\\s]/.test(content)) {\n return;\n }\n const leftPad = /^\\s/.test(content), rightPad = /\\s$/.test(content);\n node.textContent = '';\n //\n const words = content.trim().split(' '), gap = this.gap || DEFAULT_GAP, delay = this.delay || 0;\n let j = 0;\n for (let word of words) {\n var span = document.createElement('span');\n span.className = FANCIFY_CSS;\n span.style.animationDelay = `${(delay + j * gap)}ms`;\n if (leftPad || j > 0)\n node.parentElement.insertBefore(document.createTextNode(' '), node);\n span.textContent = word;\n node.parentElement.insertBefore(span, node);\n j++;\n }\n //\n if (rightPad)\n node.parentElement.insertBefore(document.createTextNode(' '), node);\n }\n};\n__decorate([\n Watch({ converter: PropertyConverters.Boolean })\n], PacemFxFancyElement.prototype, \"fancify\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.Number })\n], PacemFxFancyElement.prototype, \"delay\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.Number })\n], PacemFxFancyElement.prototype, \"gap\", void 0);\nPacemFxFancyElement = __decorate([\n CustomElement({ tagName: P + '-fx-fancy' })\n], PacemFxFancyElement);\nexport { PacemFxFancyElement };\n","import { DeepMerger } from '@pacem/pacem-foundation';\nimport * as Output from './index';\nDeepMerger.merge(Output);\n"],"names":["__decorate","this","PacemEventTarget","Watch","PropertyConverters","Utils","Point","ViewChild","CustomElement","P","Defaults","PCSS","Components","Size","CustomElementUtils","Colors","Debounce","PropertyChangeEvent","DeepMerger"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- /**
2
- * @pacem/pacem v1.0.0-abel (https://js.pacem.it)
3
- * Copyright 2026 Pacem (https://pacem.it)
1
+ /*!
2
+ * @pacem/pacem v1.0.0-amaldi (https://js.pacem.it)
3
+ * Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
6
6
  !function(e,t){"use strict";var r=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;o>=0;o--)(s=e[o])&&(a=(n<3?s(a):n>3?s(t,r,a):s(t,r))||a);return n>3&&a&&Object.defineProperty(t,r,a),a};class i extends t.PacemEventTarget{}r([t.Watch({converter:t.PropertyConverters.Element})],i.prototype,"target",void 0);var s=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;o>=0;o--)(s=e[o])&&(a=(n<3?s(a):n>3?s(t,r,a):s(t,r))||a);return n>3&&a&&Object.defineProperty(t,r,a),a};const n="ripple";let a=class extends i{constructor(){super(...arguments),this._lock=!1,this._remove=!1,this._rippleHandler=r=>{if(this.disabled||this.target instanceof t.PacemEventTarget&&this.target.disabled)return;if(r instanceof MouseEvent&&0!==r.button)return;const i=t.Utils.offset(this.target),s=getComputedStyle(this.target),n=this.style;n.top=i.top+"px",n.left=i.left+"px",n.width=i.width+"px",n.height=i.height+"px",n.borderRadius=s.borderRadius;const a="touchstart"===r.type?r.touches[0]:r,o={x:a.pageX,y:a.pageY},l={x:i.left,y:i.top},h={x:i.left+i.width,y:i.top},c={x:i.left,y:i.top+i.height},d={x:h.x,y:c.y},p=Math.max(e.Point.distance(o,l),e.Point.distance(o,h),e.Point.distance(o,d),e.Point.distance(o,c)),u=this._wave;u.style.left=o.x-i.left-p+"px",u.style.top=o.y-i.top-p+"px",u.style.width=u.style.height=2*p+"px",t.Utils.addAnimationEndCallback(u,()=>{this._lock=!1,this._tryRemove()}),this._lock=!0,t.Utils.addClass(u,"ripple-go")},this._unrippleHandler=e=>{this._remove=!0,this._tryRemove()}}propertyChangedCallback(e,r,i,s){super.propertyChangedCallback(e,r,i,s),"target"===e&&(t.Utils.isNull(r)||this._reset(r),t.Utils.isNull(i)||this._set(i))}viewActivatedCallback(){super.viewActivatedCallback(),t.Utils.isNull(this.target)||this._set()}disconnectedCallback(){t.Utils.isNull(this.target)||this._reset(),super.disconnectedCallback()}_tryRemove(){!this._lock&&this._remove&&(this._remove=!1,t.Utils.removeClass(this._wave,"ripple-go"))}_set(e=this.target){e.addEventListener("mousedown",this._rippleHandler,!1),e.addEventListener("touchstart",this._rippleHandler,!1),e.addEventListener("touchend",this._unrippleHandler,!1),e.addEventListener("mouseup",this._unrippleHandler,!1),e.addEventListener("mousemove",this._unrippleHandler,!1)}_reset(e=this.target){e.removeEventListener("mousedown",this._rippleHandler,!1),e.removeEventListener("touchstart",this._rippleHandler,!1),e.removeEventListener("touchend",this._unrippleHandler,!1),e.removeEventListener("mouseup",this._unrippleHandler,!1),e.removeEventListener("mousemove",this._unrippleHandler,!1)}};s([t.ViewChild("."+n)],a.prototype,"_wave",void 0),a=s([t.CustomElement({tagName:t.P+"-fx-ripple",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<div class="${n}"></div>`})],a);var o=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;o>=0;o--)(s=e[o])&&(a=(n<3?s(a):n>3?s(t,r,a):s(t,r))||a);return n>3&&a&&Object.defineProperty(t,r,a),a};function l(e){return`${t.PCSS}-fx-pulse-${e}`}let h=class extends i{constructor(){super(),this._resizeHandler=e=>{this._pulse(e.detail)},this.#e=t.Utils.uniqueCode()}#e;viewActivatedCallback(){super.viewActivatedCallback(),this._pulse()}disconnectedCallback(){t.Utils.isNull(this._sheet)||(this._sheet.remove(),this._sheet=null),super.disconnectedCallback()}propertyChangedCallback(e,t,r,i){super.propertyChangedCallback(e,t,r,i),"disabled"!==e||i||this._pulse()}_pulse(e=this._resize.currentSize){const r=t.Utils.isNull(this.target)||t.Utils.isNull(e)||!(e.height>0)||!(e.width>0);if(this._resize.disabled=this.disabled,this.disabled||r)return void t.Utils.addClass(this,"pulse-off");t.Utils.removeClass(this,"pulse-off");const i=e,s=getComputedStyle(this.target),n=this.style,a=Math.max(i.width,i.height);n.width=a+"px",n.height=a+"px",n.top=i.top+.5*(i.height-a)+"px",n.left=i.left+.5*(i.width-a)+"px";const o=this._rect1,h=this._rect2,c=o.style,d=h.style;this._sheet=function(e,r,i="0",s=i){const n="style#"+e,a=document.querySelector(n);if(t.Utils.isNull(a)){const t=document.createElement("style");t.id=e,document.head.appendChild(t)}const o=document.querySelector(n),h=r.width,c=r.height,d=Math.max(h,c),p=.5*(d-h),u=.5*(d-c);o.sheet.insertRule(`@keyframes ${l(e)} {\n 0%{\n opacity: .25; stroke-thickness: 0; rx: ${i}; ry: ${s}; x: ${p}px; y: ${u}px; width: ${r.width}px; height: ${r.height}px;\n }\n 50%{\n width: ${r.width}px; height: ${r.height}px; transform: scale(1); stroke-width: 10px; rx: ${i}; ry: ${s}; opacity: .333; x: ${p}px; y: ${u}px; width: ${h}px; height: ${c}px;\n }\n 80%{\n stroke-width: 10px;\n }\n 100%{\n opacity: 0; rx: 50%; ry: 50%; transform: scale(2); stroke-width: 0; width: ${d}px; height: ${d}px; x: 0; y: 0\n }\n}`,0);for(let e=o.sheet.rules.length-1;e>0;e--)o.sheet.deleteRule(e);return o}(this.#e,e,s.borderTopLeftRadius);const p=l(this.#e);c.animation=d.animation=`${p} both cubic-bezier(0.37, 0, 0.63, 1) 1.25s infinite`,d.animationDelay=".175s"}};o([t.ViewChild(t.P+"-resize")],h.prototype,"_resize",void 0),o([t.ViewChild("svg")],h.prototype,"_svg",void 0),o([t.ViewChild("svg > rect[rect1]")],h.prototype,"_rect1",void 0),o([t.ViewChild("svg > rect[rect2]")],h.prototype,"_rect2",void 0),h=o([t.CustomElement({tagName:t.P+"-fx-pulse",shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-resize target="{{ :host.target }}" watch-position="true" on-${t.Components.ResizeEventName}=":host._resizeHandler($event)"></${t.P}-resize>\n<svg class="pulse" xmlns="http://www.w3.org/2000/svg">\n <rect rect1 /><rect rect2 />\n</svg>`})],h);var c=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;o>=0;o--)(s=e[o])&&(a=(n<3?s(a):n>3?s(t,r,a):s(t,r))||a);return n>3&&a&&Object.defineProperty(t,r,a),a};const d=t.PCSS+"-hero",p={convert:e=>e.trim().startsWith("#")?t.PropertyConverters.Element.convert(e):t.PropertyConverters.Json.convert(e)};let u=class extends i{propertyChangedCallback(e,r,i,s){super.propertyChangedCallback(e,r,i,s),"target"!==e||t.Utils.isNull(r)||this._resetTarget(r),"from"===e&&this.hero&&!t.Utils.isNull(i)&&(this._originalState=this._computeFromState()),"hero"!==e&&"target"!==e&&"goal"!==e||t.Utils.isNull(this.target)||(this.hero?this.start():this.reset())}viewActivatedCallback(){super.viewActivatedCallback(),this.hero&&!t.Utils.isNull(this.target)&&this.start()}disconnectedCallback(){t.Utils.isNull(this.target)||this.reset(),super.disconnectedCallback()}_computeFromState(){const e=this.target,r=t.Utils.offset(e);if(this.from instanceof Element){let e=t.Utils.offset(this.from);return{x:e.left,y:e.top,width:e.width,height:e.height}}return{x:r.left,y:r.top,width:r.width,height:r.height}}_resetTarget(e=this.target){const r=e.style;r.top=r.left=r.height=r.width="";for(let e=0;e<r.length;e++){let t=r.item(e);r[t]=""}for(let e in this._originalStyle)r[e]=this._originalStyle[e];t.Utils.removeClass(e,d)}reset(){if(!t.Utils.isNull(this._originalState)&&!t.Utils.isNull(this._targetState))return this.dispatchEvent(new Event("exiting")),this._animate(this._targetState,this._originalState).then(()=>{this._resetTarget(),this.dispatchEvent(new Event("exited"))})}start(){if(!this.disabled&&!t.Utils.isNull(this.target)){let e;if(this.to instanceof Element){let r=t.Utils.offset(this.to);e={x:r.left,y:r.top,width:r.width,height:r.height}}else e=this.to;const r=this.target,i=t.Utils.windowSize,s=e||{x:0,y:0,width:i.width,height:i.height},n=r.style;this._targetState=s;let a=this._originalState=this._computeFromState();this._originalStyle={};for(let e=0;e<n.length;e++){let t=n.item(e);this._originalStyle[t]=n[t]}return t.Utils.addClass(r,d),this.dispatchEvent(new Event("entering")),this._animate(a,s).then(()=>{this.dispatchEvent(new Event("entered"))})}return Promise.resolve()}_animate(e,r){const i=this.target,s=i.style,n=e.width/r.width,a=e.height/r.height,o=e.x-r.x+"px",l=e.y-r.y+"px";return s.transformOrigin="0 0",s.transition="none",s.transform=`translate(${o}, ${l}) scale(${n}, ${a})`,s.width=r.width+"px",s.height=r.height+"px",s.top=r.y+"px",s.left=r.x+"px",requestAnimationFrame(()=>{let e=this.duration||200;s.transition=`transform cubic-bezier(0.445, 0.05, 0.55, 0.95) ${e}ms, opacity ${e}ms`,s.transform="translate(0, 0) scale(1)"}),t.Utils.waitForAnimationEnd(i,210)}};c([t.Watch({converter:t.PropertyConverters.Boolean})],u.prototype,"hero",void 0),c([t.Watch({converter:p,emit:!1})],u.prototype,"to",void 0),c([t.Watch({converter:p,emit:!1})],u.prototype,"from",void 0),c([t.Watch({converter:t.PropertyConverters.Number,emit:!1})],u.prototype,"duration",void 0),u=c([t.CustomElement({tagName:t.P+"-fx-hero"})],u);var g=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;o>=0;o--)(s=e[o])&&(a=(n<3?s(a):n>3?s(t,r,a):s(t,r))||a);return n>3&&a&&Object.defineProperty(t,r,a),a};const m=t.PCSS+"-fx-list";let f=class extends i{constructor(){super(...arguments),this._observed=e=>{const t=Array.from(this.target.children);for(let r of e)r.removedNodes.forEach(e=>{e instanceof Element&&this.dispatchEvent(new CustomEvent("itemremoved",{detail:e}))}),r.addedNodes.forEach((e,r)=>{e instanceof Element&&this.dispatchEvent(new CustomEvent("itemadded",{detail:{item:e,index:t.indexOf(e)}}))})}}viewActivatedCallback(){super.viewActivatedCallback(),t.Utils.isNull(this.target)||this._setup()}disconnectedCallback(){t.Utils.isNull(this._observer)||this._observer.disconnect(),super.disconnectedCallback()}propertyChangedCallback(e,t,r,i){super.propertyChangedCallback(e,t,r,i),"target"===e&&(t?this._reset(t):this._setup())}_reset(e){t.Utils.removeClass(e,m),this._observer.disconnect()}_setup(){const e=this.target;t.Utils.addClass(e,m);(this._observer=new MutationObserver(this._observed)).observe(e,{childList:!0})}};f=g([t.CustomElement({tagName:t.P+"-fx-list"})],f);var v=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;o>=0;o--)(s=e[o])&&(a=(n<3?s(a):n>3?s(t,r,a):s(t,r))||a);return n>3&&a&&Object.defineProperty(t,r,a),a};const y="gradientchange";class C extends Event{constructor(){super(y,{cancelable:!1,bubbles:!1})}}const _={convert:(r,i)=>{try{return e.Size.parse(r)}catch{return t.PropertyConverters.Number.convert(r,i)}}};function b(e){return Math.round(1e3*e)/10+"%"}let x=class extends t.Components.PacemItemElement{findContainer(){return t.CustomElementUtils.findAncestor(this,e=>e instanceof E)}propertyChangedCallback(e,t,r,i){super.propertyChangedCallback(e,t,r,i),i||"offset"!==e&&"color"!==e&&"opacity"!==e&&"disabled"!==e&&"hide"!==e||this.dispatchEvent(new C)}};v([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],x.prototype,"offset",void 0),v([t.Watch({emit:!1,converter:t.PropertyConverters.String})],x.prototype,"color",void 0),v([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],x.prototype,"opacity",void 0),x=v([t.CustomElement({tagName:t.P+"-fx-gradient-stop"})],x);class E extends t.Components.PacemCrossItemsContainerElement{constructor(){super(...arguments),this._dispatchGradientChangeHandler=e=>{this._dispatchGradientChange()}}validate(e){return e instanceof x}register(e){const t=super.register(e);return t&&e.addEventListener(y,this._dispatchGradientChangeHandler,!1),t}unregister(e){const t=super.unregister(e);return t&&e.removeEventListener(y,this._dispatchGradientChangeHandler,!1),t}propertyChangedCallback(e,t,r,i){super.propertyChangedCallback(e,t,r,i),!i&&this.doesPropertyTriggerGradientChange(e)&&this._dispatchGradientChange()}_dispatchGradientChange(){this.dispatchEvent(new C)}buildColor(r,i){if(i>=0&&i<=1){const s=e.Colors.parse(r);return e.Colors.stringify(t.Utils.extend(s,{a:i}))}return r}}let w=class extends E{doesPropertyTriggerGradientChange(e){return["shape","size","center","items","hide","disabled"].indexOf(e)>=0}buildGradient(){const e=this.items;if(t.Utils.isNullOrEmpty(e))return"";const r="circle"===this.shape?"circle":"ellipse",i=this.center??{x:.5,y:.5},s=this.size;let n="";t.Utils.isNullOrEmpty(s)||(n="number"==typeof s?`${s}px`:`${b(s.width/2)} ${b(s.height/2)}`);let a=[];for(let{offset:t,color:r,hide:i,disabled:s,opacity:n}of e){if(i||s)continue;const e=this.buildColor(r,n);a.push(`${e} ${b(t)}`)}return`radial-gradient(${r} ${n} at ${b(i.x)} ${b(i.y)} in oklab, ${a.join(", ")})`}};v([t.Watch({emit:!1,converter:t.PropertyConverters.String})],w.prototype,"shape",void 0),v([t.Watch({emit:!1,converter:t.PropertyConverters.Point})],w.prototype,"center",void 0),v([t.Watch({emit:!1,converter:_})],w.prototype,"size",void 0),w=v([t.CustomElement({tagName:t.P+"-fx-gradient-radial"})],w);let P=class extends E{doesPropertyTriggerGradientChange(e){return["angle","items","hide","disabled"].indexOf(e)>=0}buildGradient(){const e=this.items;if(t.Utils.isNullOrEmpty(e))return"";const r=this.angle??0;let i=[];for(let{offset:t,color:r,hide:s,disabled:n,opacity:a}of e){if(s||n)continue;const e=this.buildColor(r,a);i.push(`${e} ${b(t)}`)}return`linear-gradient(${r}deg in oklab, ${i.join(", ")})`}};v([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],P.prototype,"angle",void 0),P=v([t.CustomElement({tagName:t.P+"-fx-gradient-linear"})],P);let N=class extends t.Components.PacemItemsContainerElement{constructor(){super(...arguments),this._gradientChangeHandler=e=>{this._buildGradient()}}validate(e){return e instanceof E}register(e){const t=super.register(e);return t&&e.addEventListener(y,this._gradientChangeHandler,!1),t}unregister(e){const t=super.unregister(e);return t&&e.removeEventListener(y,this._gradientChangeHandler,!1),t}viewActivatedCallback(){super.viewActivatedCallback(),this._buildGradient()}propertyChangedCallback(e,t,r,i){if(super.propertyChangedCallback(e,t,r,i),!i)switch(e){case"target":t&&this._removeGradient(t);case"mode":case"disabled":this._buildGradient()}}_removeGradient(e){t.Utils.removeClass(e,t.PCSS+"-fx-gradient-text"),t.Utils.removeClass(e,t.PCSS+"-fx-gradient-fill"),e.style.backgroundImage=""}_buildGradient(){const e=this.target;if(t.Utils.isNull(e))return;let r="";const i=this.disabled?[]:this.items??[];for(let e of i){if(e.hide||e.disabled)continue;const i=e.buildGradient();t.Utils.isNullOrEmpty(i)||(r+=i,r.trim().endsWith(",")||(r+=","))}if(t.Utils.isNullOrEmpty(r))this._removeGradient(e);else{const i=t.PCSS+"-fx-gradient-text",s=t.PCSS+"-fx-gradient-fill",n="text"===this.mode;t.Utils.removeClass(e,n?s:i),t.Utils.addClass(e,n?i:s),e.style.backgroundImage=r.substring(0,r.length-1)}}};v([t.Watch({converter:t.PropertyConverters.Element})],N.prototype,"target",void 0),v([t.Watch({converter:t.PropertyConverters.String})],N.prototype,"mode",void 0),v([t.Debounce(!0)],N.prototype,"_buildGradient",null),N=v([t.CustomElement({tagName:t.P+"-fx-gradient"})],N);var k=function(e,t,r,i){var s,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;o>=0;o--)(s=e[o])&&(a=(n<3?s(a):n>3?s(t,r,a):s(t,r))||a);return n>3&&a&&Object.defineProperty(t,r,a),a};const U=t.PCSS+"-fancy",S=t.PCSS+"-fancify";let $=class extends i{constructor(){super(...arguments),this._progress=0,this._started=!1}get progress(){return this._progress}get started(){return this._started}propertyChangedCallback(e,r,i,s){super.propertyChangedCallback(e,r,i,s),"fancify"!==e&&"target"!==e||t.Utils.isNull(this.target)||(this.fancify?this.start():this._reset())}viewActivatedCallback(){super.viewActivatedCallback(),this.fancify&&!t.Utils.isNull(this.target)&&this.start()}disconnectedCallback(){cancelAnimationFrame(this._handle),clearTimeout(this._handle1),t.Utils.isNull(this.target)||this._reset(),super.disconnectedCallback()}_reset(){t.Utils.removeClass(this.target,U),this._started&&this.dispatchEvent(new t.PropertyChangeEvent({propertyName:"started",oldValue:this._started,currentValue:this._started=!1})),this.dispatchEvent(new t.PropertyChangeEvent({propertyName:"progress",oldValue:this._progress,currentValue:this._progress=0})),t.Utils.isNull(this._originalContent)?this._originalContent=this.target.innerHTML:this.target.innerHTML=this._originalContent}_parse(){let e,t=[],r=document.createTreeWalker(this.target,NodeFilter.SHOW_TEXT);for(;e=r.nextNode();)e.textContent&&t.push(e);this._textNodes=t}start(){this.disabled||(this._reset(),this._parse(),this._startShow(),this._handle1=setTimeout(()=>{this.dispatchEvent(new t.PropertyChangeEvent({propertyName:"started",oldValue:this._started,currentValue:this._started=!0}))},this.delay||0))}_startShow(e=0){t.Utils.addClass(this.target,U);const r=this._textNodes,i=r.length;this._fancify(r[e]);const s=this._progress;e++;const n=this._progress=e/i;this.dispatchEvent(new t.PropertyChangeEvent({propertyName:"progress",oldValue:s,currentValue:n})),e<i&&(this._handle=requestAnimationFrame(()=>{this._startShow(e)}))}_fancify(e){const r=e.textContent;if(t.Utils.isNullOrEmpty(r)||!/[^\s]/.test(r))return;const i=/^\s/.test(r),s=/\s$/.test(r);e.textContent="";const n=r.trim().split(" "),a=this.gap||20,o=this.delay||0;let l=0;for(let t of n){var h=document.createElement("span");h.className=S,h.style.animationDelay=`${o+l*a}ms`,(i||l>0)&&e.parentElement.insertBefore(document.createTextNode(" "),e),h.textContent=t,e.parentElement.insertBefore(h,e),l++}s&&e.parentElement.insertBefore(document.createTextNode(" "),e)}};k([t.Watch({converter:t.PropertyConverters.Boolean})],$.prototype,"fancify",void 0),k([t.Watch({converter:t.PropertyConverters.Number})],$.prototype,"delay",void 0),k([t.Watch({converter:t.PropertyConverters.Number})],$.prototype,"gap",void 0),$=k([t.CustomElement({tagName:t.P+"-fx-fancy"})],$);var O=Object.freeze({__proto__:null,PacemFxElement:i,get PacemFxFancyElement(){return $},get PacemFxGradientElement(){return N},PacemFxGradientItemElement:E,get PacemFxGradientStopElement(){return x},get PacemFxHeroElement(){return u},get PacemFxLinearGradientElement(){return P},get PacemFxListElement(){return f},get PacemFxPulseElement(){return h},get PacemFxRadialGradientElement(){return w},get PacemFxRippleElement(){return a}}),R=Object.freeze({__proto__:null,Fx:O}),j=Object.freeze({__proto__:null,Components:R});e.DeepMerger.merge(j)}(Pacem,Pacem);