q2-tecton-elements 1.58.0 → 1.58.1

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 (187) hide show
  1. package/dist/bundle-report.json +423 -423
  2. package/dist/cjs/click-elsewhere.cjs.entry.js +1 -1
  3. package/dist/cjs/{index-BeO0qIuQ.js → index-DRPUzMCR.js} +3 -3
  4. package/dist/cjs/{index-BeO0qIuQ.js.map → index-DRPUzMCR.js.map} +1 -1
  5. package/dist/cjs/{index-DwY8j6jj.js → index-zMAVnBYO.js} +116 -12
  6. package/dist/cjs/index-zMAVnBYO.js.map +1 -0
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/q2-action-group_2.cjs.entry.js +2 -2
  9. package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
  10. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-badge_7.cjs.entry.js +3 -3
  12. package/dist/cjs/q2-calendar.cjs.entry.js +2 -2
  13. package/dist/cjs/q2-card.cjs.entry.js +2 -2
  14. package/dist/cjs/q2-carousel-pane.cjs.entry.js +2 -2
  15. package/dist/cjs/q2-carousel.cjs.entry.js +2 -2
  16. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  17. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  18. package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
  19. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  20. package/dist/cjs/q2-checkbox.cjs.entry.js +2 -2
  21. package/dist/cjs/q2-context.cjs.entry.js +2 -2
  22. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
  24. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  25. package/dist/cjs/q2-dropdown-item.cjs.entry.js +2 -2
  26. package/dist/cjs/q2-dropdown.cjs.entry.js +2 -2
  27. package/dist/cjs/q2-editable-field.cjs.entry.js +2 -2
  28. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  29. package/dist/cjs/q2-file-picker.cjs.entry.js +2 -2
  30. package/dist/cjs/q2-form.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  32. package/dist/cjs/q2-grid-area.cjs.entry.js +1 -1
  33. package/dist/cjs/q2-grid.cjs.entry.js +1 -1
  34. package/dist/cjs/q2-item.cjs.entry.js +2 -2
  35. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-link_2.cjs.entry.js +2 -2
  37. package/dist/cjs/q2-loading-element.cjs.entry.js +2 -2
  38. package/dist/cjs/q2-loc.cjs.entry.js +2 -2
  39. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  40. package/dist/cjs/q2-modal.cjs.entry.js +2 -2
  41. package/dist/cjs/q2-month-picker.cjs.entry.js +2 -2
  42. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  43. package/dist/cjs/q2-option-list_2.cjs.entry.js +2 -2
  44. package/dist/cjs/q2-option.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-pagination.cjs.entry.js +2 -2
  46. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  47. package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
  48. package/dist/cjs/q2-radio.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  50. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  51. package/dist/cjs/q2-select.cjs.entry.js +2 -2
  52. package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
  53. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  54. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  55. package/dist/cjs/q2-tag.cjs.entry.js +2 -2
  56. package/dist/cjs/q2-tecton-elements.cjs.js +22 -1
  57. package/dist/cjs/q2-tecton-elements.cjs.js.map +1 -1
  58. package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
  59. package/dist/cjs/q2-tooltip.cjs.entry.js +2 -2
  60. package/dist/cjs/{shapes-DYFTrUXB.js → shapes-DDw2Fhwn.js} +3 -3
  61. package/dist/cjs/{shapes-DYFTrUXB.js.map → shapes-DDw2Fhwn.js.map} +1 -1
  62. package/dist/cjs/tecton-tab-pane.cjs.entry.js +1 -1
  63. package/dist/esm/click-elsewhere.entry.js +1 -1
  64. package/dist/esm/{index-YFPMNbDm.js → index-C7zSUT3M.js} +116 -13
  65. package/dist/esm/index-C7zSUT3M.js.map +1 -0
  66. package/dist/esm/{index-CYgcpzXH.js → index-y0xcWkDl.js} +3 -3
  67. package/dist/{q2-tecton-elements/index-CYgcpzXH.js.map → esm/index-y0xcWkDl.js.map} +1 -1
  68. package/dist/esm/loader.js +2 -2
  69. package/dist/esm/q2-action-group_2.entry.js +2 -2
  70. package/dist/esm/q2-action-sheet.entry.js +2 -2
  71. package/dist/esm/q2-avatar.entry.js +1 -1
  72. package/dist/esm/q2-badge_7.entry.js +3 -3
  73. package/dist/esm/q2-calendar.entry.js +2 -2
  74. package/dist/esm/q2-card.entry.js +2 -2
  75. package/dist/esm/q2-carousel-pane.entry.js +2 -2
  76. package/dist/esm/q2-carousel.entry.js +2 -2
  77. package/dist/esm/q2-chart-area.entry.js +2 -2
  78. package/dist/esm/q2-chart-bar.entry.js +2 -2
  79. package/dist/esm/q2-chart-donut.entry.js +2 -2
  80. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  81. package/dist/esm/q2-checkbox.entry.js +2 -2
  82. package/dist/esm/q2-context.entry.js +2 -2
  83. package/dist/esm/q2-currency.entry.js +1 -1
  84. package/dist/esm/q2-data-table.entry.js +2 -2
  85. package/dist/esm/q2-detail.entry.js +2 -2
  86. package/dist/esm/q2-dropdown-item.entry.js +2 -2
  87. package/dist/esm/q2-dropdown.entry.js +2 -2
  88. package/dist/esm/q2-editable-field.entry.js +2 -2
  89. package/dist/esm/q2-example.entry.js +1 -1
  90. package/dist/esm/q2-file-picker.entry.js +2 -2
  91. package/dist/esm/q2-form.entry.js +1 -1
  92. package/dist/esm/q2-formatted-text.entry.js +1 -1
  93. package/dist/esm/q2-grid-area.entry.js +1 -1
  94. package/dist/esm/q2-grid.entry.js +1 -1
  95. package/dist/esm/q2-item.entry.js +2 -2
  96. package/dist/esm/q2-legend.entry.js +1 -1
  97. package/dist/esm/q2-link_2.entry.js +2 -2
  98. package/dist/esm/q2-loading-element.entry.js +2 -2
  99. package/dist/esm/q2-loc.entry.js +2 -2
  100. package/dist/esm/q2-message.entry.js +2 -2
  101. package/dist/esm/q2-modal.entry.js +2 -2
  102. package/dist/esm/q2-month-picker.entry.js +2 -2
  103. package/dist/esm/q2-optgroup.entry.js +2 -2
  104. package/dist/esm/q2-option-list_2.entry.js +2 -2
  105. package/dist/esm/q2-option.entry.js +2 -2
  106. package/dist/esm/q2-pagination.entry.js +2 -2
  107. package/dist/esm/q2-pill.entry.js +2 -2
  108. package/dist/esm/q2-radio-group.entry.js +2 -2
  109. package/dist/esm/q2-radio.entry.js +2 -2
  110. package/dist/esm/q2-relative-time.entry.js +2 -2
  111. package/dist/esm/q2-section.entry.js +2 -2
  112. package/dist/esm/q2-select.entry.js +2 -2
  113. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  114. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  115. package/dist/esm/q2-stepper.entry.js +2 -2
  116. package/dist/esm/q2-tag.entry.js +2 -2
  117. package/dist/esm/q2-tecton-elements.js +23 -2
  118. package/dist/esm/q2-tecton-elements.js.map +1 -1
  119. package/dist/esm/q2-textarea.entry.js +2 -2
  120. package/dist/esm/q2-tooltip.entry.js +2 -2
  121. package/dist/esm/{shapes-B9jYz1VS.js → shapes-DO0UnuKe.js} +3 -3
  122. package/dist/esm/{shapes-B9jYz1VS.js.map → shapes-DO0UnuKe.js.map} +1 -1
  123. package/dist/esm/tecton-tab-pane.entry.js +1 -1
  124. package/dist/q2-tecton-elements/click-elsewhere.entry.js +1 -1
  125. package/dist/q2-tecton-elements/{index-YFPMNbDm.js → index-C7zSUT3M.js} +559 -450
  126. package/dist/q2-tecton-elements/index-C7zSUT3M.js.map +1 -0
  127. package/dist/q2-tecton-elements/{index-CYgcpzXH.js → index-y0xcWkDl.js} +3 -3
  128. package/dist/{esm/index-CYgcpzXH.js.map → q2-tecton-elements/index-y0xcWkDl.js.map} +1 -1
  129. package/dist/q2-tecton-elements/q2-action-group_2.entry.js +2 -2
  130. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +2 -2
  131. package/dist/q2-tecton-elements/q2-avatar.entry.js +1 -1
  132. package/dist/q2-tecton-elements/q2-badge_7.entry.js +60 -60
  133. package/dist/q2-tecton-elements/q2-calendar.entry.js +2 -2
  134. package/dist/q2-tecton-elements/q2-card.entry.js +2 -2
  135. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +2 -2
  136. package/dist/q2-tecton-elements/q2-carousel.entry.js +2 -2
  137. package/dist/q2-tecton-elements/q2-chart-area.entry.js +2 -2
  138. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +2 -2
  139. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +8 -8
  140. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +2 -2
  141. package/dist/q2-tecton-elements/q2-checkbox.entry.js +2 -2
  142. package/dist/q2-tecton-elements/q2-context.entry.js +2 -2
  143. package/dist/q2-tecton-elements/q2-currency.entry.js +1 -1
  144. package/dist/q2-tecton-elements/q2-data-table.entry.js +2 -2
  145. package/dist/q2-tecton-elements/q2-detail.entry.js +2 -2
  146. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +2 -2
  147. package/dist/q2-tecton-elements/q2-dropdown.entry.js +2 -2
  148. package/dist/q2-tecton-elements/q2-editable-field.entry.js +2 -2
  149. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  150. package/dist/q2-tecton-elements/q2-file-picker.entry.js +2 -2
  151. package/dist/q2-tecton-elements/q2-form.entry.js +1 -1
  152. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +1 -1
  153. package/dist/q2-tecton-elements/q2-grid-area.entry.js +1 -1
  154. package/dist/q2-tecton-elements/q2-grid.entry.js +1 -1
  155. package/dist/q2-tecton-elements/q2-item.entry.js +2 -2
  156. package/dist/q2-tecton-elements/q2-legend.entry.js +1 -1
  157. package/dist/q2-tecton-elements/q2-link_2.entry.js +2 -2
  158. package/dist/q2-tecton-elements/q2-loading-element.entry.js +2 -2
  159. package/dist/q2-tecton-elements/q2-loc.entry.js +2 -2
  160. package/dist/q2-tecton-elements/q2-message.entry.js +2 -2
  161. package/dist/q2-tecton-elements/q2-modal.entry.js +2 -2
  162. package/dist/q2-tecton-elements/q2-month-picker.entry.js +2 -2
  163. package/dist/q2-tecton-elements/q2-optgroup.entry.js +2 -2
  164. package/dist/q2-tecton-elements/q2-option-list_2.entry.js +2 -2
  165. package/dist/q2-tecton-elements/q2-option.entry.js +2 -2
  166. package/dist/q2-tecton-elements/q2-pagination.entry.js +2 -2
  167. package/dist/q2-tecton-elements/q2-pill.entry.js +2 -2
  168. package/dist/q2-tecton-elements/q2-radio-group.entry.js +2 -2
  169. package/dist/q2-tecton-elements/q2-radio.entry.js +2 -2
  170. package/dist/q2-tecton-elements/q2-relative-time.entry.js +5 -5
  171. package/dist/q2-tecton-elements/q2-section.entry.js +2 -2
  172. package/dist/q2-tecton-elements/q2-select.entry.js +2 -2
  173. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +2 -2
  174. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +2 -2
  175. package/dist/q2-tecton-elements/q2-stepper.entry.js +2 -2
  176. package/dist/q2-tecton-elements/q2-tag.entry.js +2 -2
  177. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +31 -9
  178. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  179. package/dist/q2-tecton-elements/q2-textarea.entry.js +2 -2
  180. package/dist/q2-tecton-elements/q2-tooltip.entry.js +2 -2
  181. package/dist/q2-tecton-elements/{shapes-B9jYz1VS.js → shapes-DO0UnuKe.js} +3 -3
  182. package/dist/q2-tecton-elements/{shapes-B9jYz1VS.js.map → shapes-DO0UnuKe.js.map} +1 -1
  183. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +1 -1
  184. package/package.json +3 -3
  185. package/dist/cjs/index-DwY8j6jj.js.map +0 -1
  186. package/dist/esm/index-YFPMNbDm.js.map +0 -1
  187. package/dist/q2-tecton-elements/index-YFPMNbDm.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DwY8j6jj.js');
3
+ var index = require('./index-zMAVnBYO.js');
4
4
 
5
5
  const ClickElsewhere = class {
6
6
  constructor(hostRef) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DwY8j6jj.js');
3
+ var index = require('./index-zMAVnBYO.js');
4
4
 
5
5
  const debounce = (fn, delay = 300) => {
6
6
  let timeout;
@@ -293,6 +293,6 @@ exports.renderMessages = renderMessages;
293
293
  exports.resizeIframe = resizeIframe;
294
294
  exports.setMessageHeight = setMessageHeight;
295
295
  exports.waitForNextPaint = waitForNextPaint;
296
- //# sourceMappingURL=index-BeO0qIuQ.js.map
296
+ //# sourceMappingURL=index-DRPUzMCR.js.map
297
297
 
298
- //# sourceMappingURL=index-BeO0qIuQ.js.map
298
+ //# sourceMappingURL=index-DRPUzMCR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-BeO0qIuQ.js","sources":["src/utils/index.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { Q2Btn } from 'src/components/q2-btn/q2-btn';\nimport { Q2Calendar } from 'src/components/q2-calendar/q2-calendar';\nimport { Q2Carousel } from 'src/components/q2-carousel/q2-carousel';\nimport { Q2Checkbox } from 'src/components/q2-checkbox/q2-checkbox';\nimport { Q2CheckboxGroup } from 'src/components/q2-checkbox-group/q2-checkbox-group';\nimport { Q2RadioGroup } from 'src/components/q2-radio-group/q2-radio-group';\nimport { Q2Dropdown } from 'src/components/q2-dropdown/q2-dropdown';\nimport { Q2DropdownItem } from 'src/components/q2-dropdown-item/q2-dropdown-item';\nimport { Q2EditableField } from 'src/components/q2-editable-field/q2-editable-field';\nimport { Q2Input } from 'src/components/q2-input/q2-input';\nimport { Q2Loading } from 'src/components/q2-loading/q2-loading';\nimport { Q2Radio } from 'src/components/q2-radio/q2-radio';\nimport { Q2Select } from 'src/components/q2-select/q2-select';\nimport { FormFieldTypes, IDict } from 'src/util';\nimport { Q2Popover } from '@/components/q2-popover/q2-popover';\n\nexport const debounce = <F extends (...args: Parameters<F>) => ReturnType<F>>(fn: F, delay: number = 300) => {\n let timeout: ReturnType<typeof setTimeout>;\n return function (...args: Parameters<F>) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n fn(...args);\n }, delay);\n };\n};\n\nexport function isAndroid(): boolean {\n return /Android/i.test(navigator.userAgent);\n}\n\nexport function isMobile(): boolean {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|Mobile|IEMobile|Windows Phone|Opera Mini/i.test(\n navigator.userAgent\n );\n}\n\nexport function isHostLosingFocus(event: FocusEvent, hostElement: HTMLElement) {\n const type = event.type;\n const focusInTypes = ['focusin', 'focus'];\n const isFocusIn = focusInTypes.includes(type);\n\n // on focusin: `target` is element losing focus, `relatedTarget` is element gaining focus\n // on focusout: `target` is element gaining focus, `relatedTarget` is element losing focus\n const elementGainingFocus = isFocusIn ? event.target : event.relatedTarget;\n\n const isElementNestedInHostElement = (element: HTMLElement) => {\n if (element === hostElement) return true;\n if (element.parentElement) {\n return isElementNestedInHostElement(element.parentElement);\n }\n return false;\n };\n\n if (!(elementGainingFocus instanceof HTMLElement)) return true;\n return !isElementNestedInHostElement(elementGainingFocus);\n}\n\nexport function isRelatedTargetWithinHost(event: FocusEvent, element: HTMLElement) {\n return event.relatedTarget !== element && !element.contains(event.relatedTarget as Node);\n}\n\nexport function isEventFromElement(event: Event, element: HTMLElement): boolean {\n return event.composedPath?.()[0] === element;\n}\n\nexport function overrideFocus(hostElement: HTMLElement) {\n hostElement.focus = () => hostElement?.dispatchEvent(new FocusEvent('focus', { bubbles: false }));\n}\n\nexport function isFirefox() {\n const userAgent = navigator.userAgent.toLowerCase();\n return userAgent.includes('firefox');\n}\n\nexport function isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n}\n\nexport function isSafari() {\n const userAgent = navigator.userAgent.toLowerCase();\n return userAgent.includes('safari') && !userAgent.includes('chrome');\n}\n\n/**\n * Returns the value of a prop if it is defined and included in the `validValues`\n * array. This is used primarily to prevent Vue wrappers from setting aria props\n * to \"Symbol()\" when the prop is not set.\n */\nexport function getAriaValueFromProp(prop: string, validValues?: string[]) {\n if (prop === undefined) return prop;\n if (!validValues) return prop !== 'Symbol()' ? prop : undefined;\n return validValues.includes(prop) || prop === '' ? prop : undefined;\n}\n\nlet guid: number = 1000;\nexport function createGuid(): number {\n return guid++;\n}\n\nexport function nextPaint(fn: (value?: unknown) => void) {\n requestAnimationFrame(() => {\n requestAnimationFrame(fn);\n });\n}\n\nexport function isVisible(element: HTMLElement) {\n return element.offsetWidth > 0 || element.offsetHeight > 0 || element.getClientRects().length > 0;\n}\n\nexport function waitForNextPaint() {\n return new Promise(resolve => nextPaint(resolve));\n}\n\nexport function capitalize(value: string) {\n return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\n}\n\nexport function pick(props: string[]): (obj: object) => object {\n return obj => {\n return props.reduce((memo, prop) => {\n return {\n ...memo,\n [prop]: obj[prop],\n };\n }, {});\n };\n}\n\nexport function loc(key: string, subs?: IDict<any> | string[]) {\n if (!key) return '';\n if (window.Tecton?.noStrings === true) {\n return key;\n }\n return window?.TectonElements?.loc(key, subs) ?? key;\n}\n\nexport function renderLabel(target: FormFieldTypes | Q2RadioGroup | Q2CheckboxGroup | Q2Select | Q2Calendar) {\n const { label, hideLabel, optional, readonly } = target;\n const labelClasses: string[] = ['input-label'];\n let helpText = '';\n\n let shouldHideLabel = hideLabel;\n if (!shouldHideLabel) {\n const labelSlotElements = target.hostElement.querySelectorAll<HTMLSlotElement>('[slot=\"label\"]');\n const hasSlotContent = labelSlotElements.length > 0;\n const hasLabel = !!label;\n\n shouldHideLabel = hasLabel || hasSlotContent ? false : true;\n }\n\n if (shouldHideLabel) labelClasses.push('sr');\n if (optional) {\n helpText = <span class=\"optional-tag\">{loc('tecton.element.input.optional')}</span>;\n }\n if (readonly) {\n helpText = <span class=\"optional-tag\">{loc('tecton.element.input.readonly')}</span>;\n labelClasses.push('readonly-field');\n }\n return (\n <label\n htmlFor={target.inputId}\n class={labelClasses.join(' ')}\n >\n <slot name=\"label\">\n {label ? loc(label) : undefined}\n {helpText}\n </slot>\n </label>\n );\n}\n\nexport function hasSlotContent(target: HTMLElement, slotName: string) {\n return target.querySelector(`[slot=\"${slotName}\"]`) !== null;\n}\n\nexport function handleAriaLabel(\n target:\n | Q2Input\n | Q2Select\n | Q2Radio\n | Q2Checkbox\n | Q2EditableField\n | Q2Dropdown\n | Q2DropdownItem\n | Q2Loading\n | Q2Carousel\n | Q2Calendar\n | Q2Btn\n) {\n const { ariaLabel } = target;\n if (!ariaLabel) return;\n\n // If empty ariaLabel prop is set to primitive symbol by framework wrapper, set ariaLabel to undefined and return\n const FW_WRAPPERS_EMPTY_PROP = Symbol().toString();\n if (ariaLabel === FW_WRAPPERS_EMPTY_PROP) {\n target.ariaLabel = undefined;\n return;\n }\n\n // If ariaLabel is set, set hideLabel to true and set label to ariaLabel\n if ('hideLabel' in target) target.hideLabel = true;\n target.label = loc(ariaLabel);\n target.ariaLabel = undefined;\n}\n\n/**\n * Handles when a prop has been renamed on a component without introducing a breaking change.\n */\nexport function handleRenamedProp(\n target: Q2Btn | Q2Calendar | Q2Dropdown | Q2Popover,\n oldProp: string,\n newProp: string,\n removeOldProp?: boolean\n) {\n if (typeof target[oldProp] === 'undefined') return;\n\n // If old prop has value, aka set in component, call handleDeprecationWarning()\n if (target[oldProp]) {\n handleDeprecationWarning(target, oldProp, 'prop');\n }\n\n target[newProp] = target[oldProp];\n\n if (removeOldProp) {\n delete target[oldProp];\n }\n}\n\nexport function handleDeprecationWarning(\n target: Q2Btn | Q2Calendar | Q2Dropdown | Q2Popover,\n deprecatedItemName: string,\n deprecatedItemType: 'function' | 'prop' | 'method' | 'event'\n) {\n if (window.location.hostname === 'localhost' || window.location.host === 'stack.q2developer.com') {\n if (target[deprecatedItemName] === 'undefined') return;\n\n const componentName =\n target.constructor?.name?.toLowerCase()?.slice(2) || target.hostElement?.tagName?.toLowerCase().slice(3);\n switch (deprecatedItemType) {\n case 'prop':\n if (deprecatedItemName === 'size' && componentName === 'btn') {\n console.warn(\n `The property of size in q2-btn should not be typeof number, or typeof string containing a number. This functionality will be deprecated in an upcoming release. Instead, please use the value 'undefined', or typeof string with any of the following values: \"small\" / \"medium\" / \"large\" `\n );\n } else {\n console.warn(\n `The property ${deprecatedItemName} in q2-${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n }\n break;\n\n case 'function':\n console.warn(\n `The function ${deprecatedItemName} in ${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n break;\n\n case 'method':\n console.warn(\n `The method ${deprecatedItemName} in ${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n break;\n\n case 'event':\n console.warn(\n `The event ${deprecatedItemName} in ${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n break;\n\n default:\n console.error(\n `handleDeprecationWarning --> No type found for desired deprecation: ${deprecatedItemName} in q2-${componentName}: deprecatedItemType = ${deprecatedItemName}`\n );\n }\n }\n}\n\nexport function renderMessages(target: FormFieldTypes) {\n const type = target.hasError ? 'danger' : 'info';\n\n return (\n <div class=\"messages-container\">\n <q2-message\n appearance=\"minimal\"\n description\n type={type}\n test-id=\"message\"\n >\n <ul id={target.inputDescribedBy}>\n {target.messages.map(message => (\n <li test-id=\"messageListItem\">{loc(message)}</li>\n ))}\n </ul>\n </q2-message>\n </div>\n );\n}\n\nexport function setMessageHeight(target: FormFieldTypes) {\n const messageContainer = (target.hostElement.shadowRoot as ShadowRoot).querySelector<HTMLDivElement>(\n '.messages-container'\n );\n const q2Message = messageContainer.querySelector('q2-message');\n nextPaint(() => {\n const height = target.showMessages && target.hasFocus ? q2Message.getBoundingClientRect().height : 0;\n\n if (messageContainer.style.getPropertyValue('height') === `${height}px`) return;\n\n if (height === 0) {\n q2Message.classList.add('invisible');\n messageContainer.style.removeProperty('height');\n } else {\n q2Message.classList.remove('invisible');\n messageContainer.style.setProperty('height', `${height}px`);\n }\n });\n}\n\nexport const resizeIframe = () => {\n return window.TectonElements?.resizeIframe?.();\n};\n\n// Handling color attribute (deprecated)\nexport const handleColor = (target: Q2Btn) => {\n if (!target.intent && ['primary', 'secondary'].includes(target.color)) {\n target.intent = `workflow-${target.color}` as HTMLQ2BtnElement['intent'];\n target.color = undefined;\n }\n};\n\n/**\n * Gets all translated text content from an element, including shadow DOM content\n *\n * @param {Element} element - The element to extract text from\n * @param {Object} options - Configuration options\n * @param {boolean} [options.trim=true] - Whether to trim whitespace\n * @param {boolean} [options.normalizeWhitespace=false] - Whether to normalize whitespace\n * @param {boolean} [options.skipComponentReady=false] - Skip waiting for components (for test environments)\n * @return {Promise<string>} All translated text content in DOM order\n */\nexport const getAllText = async (element, options = {}) => {\n if (!element) return '';\n\n const opts = {\n trim: true,\n normalizeWhitespace: false,\n skipComponentReady: false,\n ...options,\n };\n\n const nodesToSkip = new Set(['STYLE', 'SCRIPT', 'NOSCRIPT', 'TEMPLATE', '#comment']);\n const processedNodes = new WeakSet();\n let result = '';\n\n async function processNode(node) {\n if (processedNodes.has(node) || nodesToSkip.has(node.nodeName)) return;\n\n processedNodes.add(node);\n\n // Handle text nodes\n if (node.nodeType === Node.TEXT_NODE) {\n const text = opts.trim ? node.textContent.trim() : node.textContent;\n\n if (text) {\n // Add space between adjacent text nodes if needed\n if (result && !result.endsWith(' ') && !text.startsWith(' ')) {\n result += ' ';\n }\n\n // Translate the text\n result += opts.skipComponentReady ? window.TectonElements?.loc(text) : loc(text);\n }\n return;\n }\n\n // Handle element nodes\n if (node.nodeType === Node.ELEMENT_NODE) {\n // Wait for Stencil component if needed\n const isStencilComponent = node.nodeName.startsWith('Q2-') && typeof node.componentOnReady === 'function';\n\n if (isStencilComponent && !opts.skipComponentReady) {\n await node.componentOnReady();\n }\n\n // Process children in light DOM\n for (const child of node.childNodes) {\n await processNode(child);\n }\n\n // Process shadow DOM if present\n if (node.shadowRoot) {\n for (const shadowChild of node.shadowRoot.childNodes) {\n await processNode(shadowChild);\n }\n }\n\n // Handle slot elements with assigned nodes\n if (node.nodeName === 'SLOT' && typeof node.assignedNodes === 'function') {\n const assignedNodes = node.assignedNodes();\n\n if (assignedNodes.length > 0) {\n for (const assigned of assignedNodes) {\n if (!processedNodes.has(assigned)) {\n await processNode(assigned);\n }\n }\n } else {\n // Process slot fallback content\n for (const fallback of node.childNodes) {\n if (!processedNodes.has(fallback)) {\n await processNode(fallback);\n }\n }\n }\n }\n }\n }\n\n await processNode(element);\n\n // Apply final formatting\n if (opts.trim) {\n result = result.trim();\n }\n\n if (opts.normalizeWhitespace) {\n result = result.replace(/\\s+/g, ' ');\n }\n\n return result;\n};\n"],"names":["h"],"mappings":"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"}
1
+ {"version":3,"file":"index-DRPUzMCR.js","sources":["src/utils/index.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { Q2Btn } from 'src/components/q2-btn/q2-btn';\nimport { Q2Calendar } from 'src/components/q2-calendar/q2-calendar';\nimport { Q2Carousel } from 'src/components/q2-carousel/q2-carousel';\nimport { Q2Checkbox } from 'src/components/q2-checkbox/q2-checkbox';\nimport { Q2CheckboxGroup } from 'src/components/q2-checkbox-group/q2-checkbox-group';\nimport { Q2RadioGroup } from 'src/components/q2-radio-group/q2-radio-group';\nimport { Q2Dropdown } from 'src/components/q2-dropdown/q2-dropdown';\nimport { Q2DropdownItem } from 'src/components/q2-dropdown-item/q2-dropdown-item';\nimport { Q2EditableField } from 'src/components/q2-editable-field/q2-editable-field';\nimport { Q2Input } from 'src/components/q2-input/q2-input';\nimport { Q2Loading } from 'src/components/q2-loading/q2-loading';\nimport { Q2Radio } from 'src/components/q2-radio/q2-radio';\nimport { Q2Select } from 'src/components/q2-select/q2-select';\nimport { FormFieldTypes, IDict } from 'src/util';\nimport { Q2Popover } from '@/components/q2-popover/q2-popover';\n\nexport const debounce = <F extends (...args: Parameters<F>) => ReturnType<F>>(fn: F, delay: number = 300) => {\n let timeout: ReturnType<typeof setTimeout>;\n return function (...args: Parameters<F>) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n fn(...args);\n }, delay);\n };\n};\n\nexport function isAndroid(): boolean {\n return /Android/i.test(navigator.userAgent);\n}\n\nexport function isMobile(): boolean {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|Mobile|IEMobile|Windows Phone|Opera Mini/i.test(\n navigator.userAgent\n );\n}\n\nexport function isHostLosingFocus(event: FocusEvent, hostElement: HTMLElement) {\n const type = event.type;\n const focusInTypes = ['focusin', 'focus'];\n const isFocusIn = focusInTypes.includes(type);\n\n // on focusin: `target` is element losing focus, `relatedTarget` is element gaining focus\n // on focusout: `target` is element gaining focus, `relatedTarget` is element losing focus\n const elementGainingFocus = isFocusIn ? event.target : event.relatedTarget;\n\n const isElementNestedInHostElement = (element: HTMLElement) => {\n if (element === hostElement) return true;\n if (element.parentElement) {\n return isElementNestedInHostElement(element.parentElement);\n }\n return false;\n };\n\n if (!(elementGainingFocus instanceof HTMLElement)) return true;\n return !isElementNestedInHostElement(elementGainingFocus);\n}\n\nexport function isRelatedTargetWithinHost(event: FocusEvent, element: HTMLElement) {\n return event.relatedTarget !== element && !element.contains(event.relatedTarget as Node);\n}\n\nexport function isEventFromElement(event: Event, element: HTMLElement): boolean {\n return event.composedPath?.()[0] === element;\n}\n\nexport function overrideFocus(hostElement: HTMLElement) {\n hostElement.focus = () => hostElement?.dispatchEvent(new FocusEvent('focus', { bubbles: false }));\n}\n\nexport function isFirefox() {\n const userAgent = navigator.userAgent.toLowerCase();\n return userAgent.includes('firefox');\n}\n\nexport function isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n}\n\nexport function isSafari() {\n const userAgent = navigator.userAgent.toLowerCase();\n return userAgent.includes('safari') && !userAgent.includes('chrome');\n}\n\n/**\n * Returns the value of a prop if it is defined and included in the `validValues`\n * array. This is used primarily to prevent Vue wrappers from setting aria props\n * to \"Symbol()\" when the prop is not set.\n */\nexport function getAriaValueFromProp(prop: string, validValues?: string[]) {\n if (prop === undefined) return prop;\n if (!validValues) return prop !== 'Symbol()' ? prop : undefined;\n return validValues.includes(prop) || prop === '' ? prop : undefined;\n}\n\nlet guid: number = 1000;\nexport function createGuid(): number {\n return guid++;\n}\n\nexport function nextPaint(fn: (value?: unknown) => void) {\n requestAnimationFrame(() => {\n requestAnimationFrame(fn);\n });\n}\n\nexport function isVisible(element: HTMLElement) {\n return element.offsetWidth > 0 || element.offsetHeight > 0 || element.getClientRects().length > 0;\n}\n\nexport function waitForNextPaint() {\n return new Promise(resolve => nextPaint(resolve));\n}\n\nexport function capitalize(value: string) {\n return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\n}\n\nexport function pick(props: string[]): (obj: object) => object {\n return obj => {\n return props.reduce((memo, prop) => {\n return {\n ...memo,\n [prop]: obj[prop],\n };\n }, {});\n };\n}\n\nexport function loc(key: string, subs?: IDict<any> | string[]) {\n if (!key) return '';\n if (window.Tecton?.noStrings === true) {\n return key;\n }\n return window?.TectonElements?.loc(key, subs) ?? key;\n}\n\nexport function renderLabel(target: FormFieldTypes | Q2RadioGroup | Q2CheckboxGroup | Q2Select | Q2Calendar) {\n const { label, hideLabel, optional, readonly } = target;\n const labelClasses: string[] = ['input-label'];\n let helpText = '';\n\n let shouldHideLabel = hideLabel;\n if (!shouldHideLabel) {\n const labelSlotElements = target.hostElement.querySelectorAll<HTMLSlotElement>('[slot=\"label\"]');\n const hasSlotContent = labelSlotElements.length > 0;\n const hasLabel = !!label;\n\n shouldHideLabel = hasLabel || hasSlotContent ? false : true;\n }\n\n if (shouldHideLabel) labelClasses.push('sr');\n if (optional) {\n helpText = <span class=\"optional-tag\">{loc('tecton.element.input.optional')}</span>;\n }\n if (readonly) {\n helpText = <span class=\"optional-tag\">{loc('tecton.element.input.readonly')}</span>;\n labelClasses.push('readonly-field');\n }\n return (\n <label\n htmlFor={target.inputId}\n class={labelClasses.join(' ')}\n >\n <slot name=\"label\">\n {label ? loc(label) : undefined}\n {helpText}\n </slot>\n </label>\n );\n}\n\nexport function hasSlotContent(target: HTMLElement, slotName: string) {\n return target.querySelector(`[slot=\"${slotName}\"]`) !== null;\n}\n\nexport function handleAriaLabel(\n target:\n | Q2Input\n | Q2Select\n | Q2Radio\n | Q2Checkbox\n | Q2EditableField\n | Q2Dropdown\n | Q2DropdownItem\n | Q2Loading\n | Q2Carousel\n | Q2Calendar\n | Q2Btn\n) {\n const { ariaLabel } = target;\n if (!ariaLabel) return;\n\n // If empty ariaLabel prop is set to primitive symbol by framework wrapper, set ariaLabel to undefined and return\n const FW_WRAPPERS_EMPTY_PROP = Symbol().toString();\n if (ariaLabel === FW_WRAPPERS_EMPTY_PROP) {\n target.ariaLabel = undefined;\n return;\n }\n\n // If ariaLabel is set, set hideLabel to true and set label to ariaLabel\n if ('hideLabel' in target) target.hideLabel = true;\n target.label = loc(ariaLabel);\n target.ariaLabel = undefined;\n}\n\n/**\n * Handles when a prop has been renamed on a component without introducing a breaking change.\n */\nexport function handleRenamedProp(\n target: Q2Btn | Q2Calendar | Q2Dropdown | Q2Popover,\n oldProp: string,\n newProp: string,\n removeOldProp?: boolean\n) {\n if (typeof target[oldProp] === 'undefined') return;\n\n // If old prop has value, aka set in component, call handleDeprecationWarning()\n if (target[oldProp]) {\n handleDeprecationWarning(target, oldProp, 'prop');\n }\n\n target[newProp] = target[oldProp];\n\n if (removeOldProp) {\n delete target[oldProp];\n }\n}\n\nexport function handleDeprecationWarning(\n target: Q2Btn | Q2Calendar | Q2Dropdown | Q2Popover,\n deprecatedItemName: string,\n deprecatedItemType: 'function' | 'prop' | 'method' | 'event'\n) {\n if (window.location.hostname === 'localhost' || window.location.host === 'stack.q2developer.com') {\n if (target[deprecatedItemName] === 'undefined') return;\n\n const componentName =\n target.constructor?.name?.toLowerCase()?.slice(2) || target.hostElement?.tagName?.toLowerCase().slice(3);\n switch (deprecatedItemType) {\n case 'prop':\n if (deprecatedItemName === 'size' && componentName === 'btn') {\n console.warn(\n `The property of size in q2-btn should not be typeof number, or typeof string containing a number. This functionality will be deprecated in an upcoming release. Instead, please use the value 'undefined', or typeof string with any of the following values: \"small\" / \"medium\" / \"large\" `\n );\n } else {\n console.warn(\n `The property ${deprecatedItemName} in q2-${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n }\n break;\n\n case 'function':\n console.warn(\n `The function ${deprecatedItemName} in ${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n break;\n\n case 'method':\n console.warn(\n `The method ${deprecatedItemName} in ${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n break;\n\n case 'event':\n console.warn(\n `The event ${deprecatedItemName} in ${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n break;\n\n default:\n console.error(\n `handleDeprecationWarning --> No type found for desired deprecation: ${deprecatedItemName} in q2-${componentName}: deprecatedItemType = ${deprecatedItemName}`\n );\n }\n }\n}\n\nexport function renderMessages(target: FormFieldTypes) {\n const type = target.hasError ? 'danger' : 'info';\n\n return (\n <div class=\"messages-container\">\n <q2-message\n appearance=\"minimal\"\n description\n type={type}\n test-id=\"message\"\n >\n <ul id={target.inputDescribedBy}>\n {target.messages.map(message => (\n <li test-id=\"messageListItem\">{loc(message)}</li>\n ))}\n </ul>\n </q2-message>\n </div>\n );\n}\n\nexport function setMessageHeight(target: FormFieldTypes) {\n const messageContainer = (target.hostElement.shadowRoot as ShadowRoot).querySelector<HTMLDivElement>(\n '.messages-container'\n );\n const q2Message = messageContainer.querySelector('q2-message');\n nextPaint(() => {\n const height = target.showMessages && target.hasFocus ? q2Message.getBoundingClientRect().height : 0;\n\n if (messageContainer.style.getPropertyValue('height') === `${height}px`) return;\n\n if (height === 0) {\n q2Message.classList.add('invisible');\n messageContainer.style.removeProperty('height');\n } else {\n q2Message.classList.remove('invisible');\n messageContainer.style.setProperty('height', `${height}px`);\n }\n });\n}\n\nexport const resizeIframe = () => {\n return window.TectonElements?.resizeIframe?.();\n};\n\n// Handling color attribute (deprecated)\nexport const handleColor = (target: Q2Btn) => {\n if (!target.intent && ['primary', 'secondary'].includes(target.color)) {\n target.intent = `workflow-${target.color}` as HTMLQ2BtnElement['intent'];\n target.color = undefined;\n }\n};\n\n/**\n * Gets all translated text content from an element, including shadow DOM content\n *\n * @param {Element} element - The element to extract text from\n * @param {Object} options - Configuration options\n * @param {boolean} [options.trim=true] - Whether to trim whitespace\n * @param {boolean} [options.normalizeWhitespace=false] - Whether to normalize whitespace\n * @param {boolean} [options.skipComponentReady=false] - Skip waiting for components (for test environments)\n * @return {Promise<string>} All translated text content in DOM order\n */\nexport const getAllText = async (element, options = {}) => {\n if (!element) return '';\n\n const opts = {\n trim: true,\n normalizeWhitespace: false,\n skipComponentReady: false,\n ...options,\n };\n\n const nodesToSkip = new Set(['STYLE', 'SCRIPT', 'NOSCRIPT', 'TEMPLATE', '#comment']);\n const processedNodes = new WeakSet();\n let result = '';\n\n async function processNode(node) {\n if (processedNodes.has(node) || nodesToSkip.has(node.nodeName)) return;\n\n processedNodes.add(node);\n\n // Handle text nodes\n if (node.nodeType === Node.TEXT_NODE) {\n const text = opts.trim ? node.textContent.trim() : node.textContent;\n\n if (text) {\n // Add space between adjacent text nodes if needed\n if (result && !result.endsWith(' ') && !text.startsWith(' ')) {\n result += ' ';\n }\n\n // Translate the text\n result += opts.skipComponentReady ? window.TectonElements?.loc(text) : loc(text);\n }\n return;\n }\n\n // Handle element nodes\n if (node.nodeType === Node.ELEMENT_NODE) {\n // Wait for Stencil component if needed\n const isStencilComponent = node.nodeName.startsWith('Q2-') && typeof node.componentOnReady === 'function';\n\n if (isStencilComponent && !opts.skipComponentReady) {\n await node.componentOnReady();\n }\n\n // Process children in light DOM\n for (const child of node.childNodes) {\n await processNode(child);\n }\n\n // Process shadow DOM if present\n if (node.shadowRoot) {\n for (const shadowChild of node.shadowRoot.childNodes) {\n await processNode(shadowChild);\n }\n }\n\n // Handle slot elements with assigned nodes\n if (node.nodeName === 'SLOT' && typeof node.assignedNodes === 'function') {\n const assignedNodes = node.assignedNodes();\n\n if (assignedNodes.length > 0) {\n for (const assigned of assignedNodes) {\n if (!processedNodes.has(assigned)) {\n await processNode(assigned);\n }\n }\n } else {\n // Process slot fallback content\n for (const fallback of node.childNodes) {\n if (!processedNodes.has(fallback)) {\n await processNode(fallback);\n }\n }\n }\n }\n }\n }\n\n await processNode(element);\n\n // Apply final formatting\n if (opts.trim) {\n result = result.trim();\n }\n\n if (opts.normalizeWhitespace) {\n result = result.replace(/\\s+/g, ' ');\n }\n\n return result;\n};\n"],"names":["h"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const NAMESPACE = 'q2-tecton-elements';
4
- const BUILD = /* q2-tecton-elements */ { hydratedSelectorName: "stencil-hydrated", lazyLoad: true, slotRelocation: true, updatable: true};
4
+ const BUILD = /* q2-tecton-elements */ { experimentalSlotFixes: true, hydratedSelectorName: "stencil-hydrated", lazyLoad: true, slotRelocation: true, updatable: true};
5
5
 
6
6
  const globalScripts = () => {};
7
7
  const globalStyles = "";
@@ -90,6 +90,8 @@ var HYDRATED_CSS = "{visibility:hidden}[stencil-hydrated]{visibility:inherit}";
90
90
  var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}";
91
91
  var XLINK_NS = "http://www.w3.org/1999/xlink";
92
92
  var win = typeof window !== "undefined" ? window : {};
93
+ var H = win.HTMLElement || class {
94
+ };
93
95
  var plt = {
94
96
  $flags$: 0,
95
97
  $resourcesUrl$: "",
@@ -275,8 +277,9 @@ function getHostSlotNodes(childNodes, hostName, slotName) {
275
277
  let childNode;
276
278
  for (; i2 < childNodes.length; i2++) {
277
279
  childNode = childNodes[i2];
278
- if (childNode["s-sr"] && (!hostName || childNode["s-hn"] === hostName) && (slotName === void 0)) {
280
+ if (childNode["s-sr"] && (!hostName || childNode["s-hn"] === hostName) && (slotName === void 0 || getSlotName(childNode) === slotName)) {
279
281
  slottedNodes.push(childNode);
282
+ if (typeof slotName !== "undefined") return slottedNodes;
280
283
  }
281
284
  slottedNodes = [...slottedNodes, ...getHostSlotNodes(childNode.childNodes, hostName, slotName)];
282
285
  }
@@ -334,6 +337,53 @@ function patchSlotNode(node) {
334
337
  node.assignedElements = assignedFactory(true);
335
338
  node.assignedNodes = assignedFactory(false);
336
339
  }
340
+ function dispatchSlotChangeEvent(elm) {
341
+ elm.dispatchEvent(new CustomEvent("slotchange", { bubbles: false, cancelable: false, composed: false }));
342
+ }
343
+ function findSlotFromSlottedNode(slottedNode, parentHost) {
344
+ var _a;
345
+ parentHost = parentHost || ((_a = slottedNode["s-ol"]) == null ? void 0 : _a.parentElement);
346
+ if (!parentHost) return { slotNode: null, slotName: "" };
347
+ const slotName = slottedNode["s-sn"] = getSlotName(slottedNode) || "";
348
+ const childNodes = internalCall(parentHost, "childNodes");
349
+ const slotNode = getHostSlotNodes(childNodes, parentHost.tagName, slotName)[0];
350
+ return { slotNode, slotName };
351
+ }
352
+ var patchParentNode = (node) => {
353
+ if (!node || node.__parentNode) return;
354
+ patchHostOriginalAccessor("parentNode", node);
355
+ Object.defineProperty(node, "parentNode", {
356
+ get: function() {
357
+ var _a;
358
+ return ((_a = this["s-ol"]) == null ? void 0 : _a.parentNode) || this.__parentNode;
359
+ },
360
+ set: function(value) {
361
+ this.__parentNode = value;
362
+ }
363
+ });
364
+ };
365
+ var validElementPatches = ["children", "nextElementSibling", "previousElementSibling"];
366
+ var validNodesPatches = [
367
+ "childNodes",
368
+ "firstChild",
369
+ "lastChild",
370
+ "nextSibling",
371
+ "previousSibling",
372
+ "textContent",
373
+ "parentNode"
374
+ ];
375
+ function patchHostOriginalAccessor(accessorName, node) {
376
+ let accessor;
377
+ if (validElementPatches.includes(accessorName)) {
378
+ accessor = Object.getOwnPropertyDescriptor(Element.prototype, accessorName);
379
+ } else if (validNodesPatches.includes(accessorName)) {
380
+ accessor = Object.getOwnPropertyDescriptor(Node.prototype, accessorName);
381
+ }
382
+ if (!accessor) {
383
+ accessor = Object.getOwnPropertyDescriptor(node, accessorName);
384
+ }
385
+ if (accessor) Object.defineProperty(node, "__" + accessorName, accessor);
386
+ }
337
387
  function internalCall(node, method) {
338
388
  if ("__" + method in node) {
339
389
  const toReturn = node["__" + method];
@@ -849,16 +899,44 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
849
899
  oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
850
900
  if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
851
901
  {
852
- putBackInOriginalLocation(oldParentVNode.$elm$, false);
902
+ relocateToHostRoot(oldParentVNode.$elm$);
853
903
  }
854
904
  }
855
905
  }
856
906
  }
857
907
  return elm;
858
908
  };
909
+ var relocateToHostRoot = (parentElm) => {
910
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
911
+ const host = parentElm.closest(hostTagName.toLowerCase());
912
+ if (host != null) {
913
+ const contentRefNode = Array.from(host.__childNodes || host.childNodes).find(
914
+ (ref) => ref["s-cr"]
915
+ );
916
+ const childNodeArray = Array.from(
917
+ parentElm.__childNodes || parentElm.childNodes
918
+ );
919
+ for (const childNode of contentRefNode ? childNodeArray.reverse() : childNodeArray) {
920
+ if (childNode["s-sh"] != null) {
921
+ insertBefore(host, childNode, contentRefNode != null ? contentRefNode : null);
922
+ childNode["s-sh"] = void 0;
923
+ checkSlotRelocate = true;
924
+ }
925
+ }
926
+ }
927
+ plt.$flags$ &= -2 /* isTmpDisconnected */;
928
+ };
859
929
  var putBackInOriginalLocation = (parentElm, recursive) => {
860
930
  plt.$flags$ |= 1 /* isTmpDisconnected */;
861
931
  const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
932
+ if (parentElm["s-sr"] && BUILD.experimentalSlotFixes) {
933
+ let node = parentElm;
934
+ while (node = node.nextSibling) {
935
+ if (node && node["s-sn"] === parentElm["s-sn"] && node["s-sh"] === hostTagName) {
936
+ oldSlotChildNodes.push(node);
937
+ }
938
+ }
939
+ }
862
940
  for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {
863
941
  const childNode = oldSlotChildNodes[i2];
864
942
  if (childNode["s-hn"] !== hostTagName && childNode["s-ol"]) {
@@ -1032,6 +1110,12 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
1032
1110
  isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
1033
1111
  }
1034
1112
  {
1113
+ if (tag === "slot" && !useNativeShadowDom) {
1114
+ if (oldVNode.$name$ !== newVNode2.$name$) {
1115
+ newVNode2.$elm$["s-sn"] = newVNode2.$name$ || "";
1116
+ relocateToHostRoot(newVNode2.$elm$.parentElement);
1117
+ }
1118
+ }
1035
1119
  updateElement(oldVNode, newVNode2, isSvgMode);
1036
1120
  }
1037
1121
  if (oldChildren !== null && newChildren !== null) {
@@ -1068,7 +1152,7 @@ var markSlotContentForRelocation = (elm) => {
1068
1152
  const slotName = childNode["s-sn"];
1069
1153
  for (j = hostContentNodes.length - 1; j >= 0; j--) {
1070
1154
  node = hostContentNodes[j];
1071
- if (!node["s-cn"] && !node["s-nr"] && node["s-hn"] !== childNode["s-hn"] && (true)) {
1155
+ if (!node["s-cn"] && !node["s-nr"] && node["s-hn"] !== childNode["s-hn"] && (!node["s-sh"] || node["s-sh"] !== childNode["s-hn"])) {
1072
1156
  if (isNodeLocatedInSlot(node, slotName)) {
1073
1157
  let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1074
1158
  checkSlotFallbackVisibility = true;
@@ -1113,12 +1197,23 @@ var nullifyVNodeRefs = (vNode) => {
1113
1197
  }
1114
1198
  };
1115
1199
  var insertBefore = (parent, newNode, reference) => {
1116
- {
1200
+ if (typeof newNode["s-sn"] === "string") {
1201
+ if (parent.getRootNode().nodeType !== 11 /* DOCUMENT_FRAGMENT_NODE */) {
1202
+ patchParentNode(newNode);
1203
+ }
1204
+ parent.insertBefore(newNode, reference);
1205
+ const { slotNode } = findSlotFromSlottedNode(newNode);
1206
+ if (slotNode) dispatchSlotChangeEvent(slotNode);
1207
+ return newNode;
1208
+ }
1209
+ if (parent.__insertBefore) {
1210
+ return parent.__insertBefore(newNode, reference);
1211
+ } else {
1117
1212
  return parent == null ? void 0 : parent.insertBefore(newNode, reference);
1118
1213
  }
1119
1214
  };
1120
1215
  var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1121
- var _a, _b, _c, _d;
1216
+ var _a, _b, _c, _d, _e;
1122
1217
  const hostElm = hostRef.$hostElement$;
1123
1218
  const cmpMeta = hostRef.$cmpMeta$;
1124
1219
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
@@ -1166,7 +1261,7 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1166
1261
  if (slotRefNode) {
1167
1262
  const parentNodeRef = slotRefNode.parentNode;
1168
1263
  let insertBeforeNode = slotRefNode.nextSibling;
1169
- {
1264
+ if ((insertBeforeNode && insertBeforeNode.nodeType === 1 /* ElementNode */)) {
1170
1265
  let orgLocationNode = (_a = nodeToRelocate["s-ol"]) == null ? void 0 : _a.previousSibling;
1171
1266
  while (orgLocationNode) {
1172
1267
  let refNode = (_b = orgLocationNode["s-nr"]) != null ? _b : null;
@@ -1187,9 +1282,6 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1187
1282
  const nextSibling = nodeToRelocate.__nextSibling || nodeToRelocate.nextSibling;
1188
1283
  if (!insertBeforeNode && parentNodeRef !== parent || nextSibling !== insertBeforeNode) {
1189
1284
  if (nodeToRelocate !== insertBeforeNode) {
1190
- if (!nodeToRelocate["s-hn"] && nodeToRelocate["s-ol"]) {
1191
- nodeToRelocate["s-hn"] = nodeToRelocate["s-ol"].parentNode.nodeName;
1192
- }
1193
1285
  insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
1194
1286
  if (nodeToRelocate.nodeType === 1 /* ElementNode */ && nodeToRelocate.tagName !== "SLOT-FB") {
1195
1287
  nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
@@ -1213,6 +1305,17 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1213
1305
  plt.$flags$ &= -2 /* isTmpDisconnected */;
1214
1306
  relocateNodes.length = 0;
1215
1307
  }
1308
+ if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
1309
+ const children = rootVnode.$elm$.__childNodes || rootVnode.$elm$.childNodes;
1310
+ for (const childNode of children) {
1311
+ if (childNode["s-hn"] !== hostTagName && !childNode["s-sh"]) {
1312
+ if (isInitialLoad && childNode["s-ih"] == null) {
1313
+ childNode["s-ih"] = (_e = childNode.hidden) != null ? _e : false;
1314
+ }
1315
+ childNode.hidden = true;
1316
+ }
1317
+ }
1318
+ }
1216
1319
  contentRef = void 0;
1217
1320
  };
1218
1321
  var slotReferenceDebugNode = (slotVNode) => {
@@ -1935,6 +2038,7 @@ var hostListenerOpts = (flags) => supportsListenerOptions ? {
1935
2038
  var setNonce = (nonce) => plt.$nonce$ = nonce;
1936
2039
 
1937
2040
  exports.Fragment = Fragment;
2041
+ exports.H = H;
1938
2042
  exports.Host = Host;
1939
2043
  exports.bootstrapLazy = bootstrapLazy;
1940
2044
  exports.createEvent = createEvent;
@@ -1945,6 +2049,6 @@ exports.h = h;
1945
2049
  exports.promiseResolve = promiseResolve;
1946
2050
  exports.registerInstance = registerInstance;
1947
2051
  exports.setNonce = setNonce;
1948
- //# sourceMappingURL=index-DwY8j6jj.js.map
2052
+ //# sourceMappingURL=index-zMAVnBYO.js.map
1949
2053
 
1950
- //# sourceMappingURL=index-DwY8j6jj.js.map
2054
+ //# sourceMappingURL=index-zMAVnBYO.js.map