@leaflink/stash 53.4.1 → 53.4.3

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 (183) hide show
  1. package/README.md +5 -2
  2. package/dist/Accordion.js +1 -1
  3. package/dist/Accordion.js.map +1 -1
  4. package/dist/ActionsDropdown.js +2 -2
  5. package/dist/ActionsDropdown.js.map +1 -1
  6. package/dist/AddressSelect.js.map +1 -1
  7. package/dist/AddressSelect.vue.d.ts +1 -1
  8. package/dist/Alert.js.map +1 -1
  9. package/dist/AppNavigationItem.js +1 -1
  10. package/dist/AppNavigationItem.js.map +1 -1
  11. package/dist/AppSidebar.js.map +1 -1
  12. package/dist/AppTopbar.js +1 -1
  13. package/dist/AppTopbar.js.map +1 -1
  14. package/dist/Avatar.js.map +1 -1
  15. package/dist/Badge.js.map +1 -1
  16. package/dist/Box.vue_vue_type_script_setup_true_lang-dFFZN40_.js.map +1 -1
  17. package/dist/Button.js.map +1 -1
  18. package/dist/ButtonGroup.js.map +1 -1
  19. package/dist/Card.js.map +1 -1
  20. package/dist/CardHeader.js.map +1 -1
  21. package/dist/CardMedia.js.map +1 -1
  22. package/dist/Carousel.js +169 -169
  23. package/dist/Carousel.js.map +1 -1
  24. package/dist/Checkbox.js +31 -31
  25. package/dist/Checkbox.js.map +1 -1
  26. package/dist/ChevronToggle.vue_vue_type_script_setup_true_lang-Ce_qOXfR.js.map +1 -1
  27. package/dist/Chip.js +21 -21
  28. package/dist/Chip.js.map +1 -1
  29. package/dist/Chip.vue.d.ts +1 -1
  30. package/dist/ConfirmationCodeInput.js +1 -1
  31. package/dist/ConfirmationCodeInput.js.map +1 -1
  32. package/dist/ContextSwitcher.js +28 -28
  33. package/dist/ContextSwitcher.js.map +1 -1
  34. package/dist/Copy.js +1 -1
  35. package/dist/Copy.js.map +1 -1
  36. package/dist/CurrencyInput.js +1 -1
  37. package/dist/CurrencyInput.js.map +1 -1
  38. package/dist/DataView.js +51 -51
  39. package/dist/DataView.js.map +1 -1
  40. package/dist/DataViewFilters.js.map +1 -1
  41. package/dist/DataViewFilters.vue.d.ts +1 -1
  42. package/dist/DataViewSortButton.js +2 -2
  43. package/dist/DataViewSortButton.js.map +1 -1
  44. package/dist/DataViewToolbar.js +5 -5
  45. package/dist/DataViewToolbar.js.map +1 -1
  46. package/dist/DatePicker.js +237 -237
  47. package/dist/DatePicker.js.map +1 -1
  48. package/dist/DatePicker.vue.d.ts +1 -1
  49. package/dist/DescriptionList.js.map +1 -1
  50. package/dist/DescriptionListDetail.js.map +1 -1
  51. package/dist/DescriptionListGroup.js.map +1 -1
  52. package/dist/DescriptionListTerm.js.map +1 -1
  53. package/dist/Dialog.js.map +1 -1
  54. package/dist/Divider.js.map +1 -1
  55. package/dist/Dropdown.js +45 -45
  56. package/dist/Dropdown.js.map +1 -1
  57. package/dist/EmptyState.js.map +1 -1
  58. package/dist/Expand.js +1 -1
  59. package/dist/Expand.vue_vue_type_script_setup_true_lang-BmNJA0Xy.js +74 -0
  60. package/dist/{Expand.vue_vue_type_script_setup_true_lang-CiONJfAp.js.map → Expand.vue_vue_type_script_setup_true_lang-BmNJA0Xy.js.map} +1 -1
  61. package/dist/Field.js +1 -1
  62. package/dist/{Field.vue_vue_type_script_setup_true_lang-dAGKfjf5.js → Field.vue_vue_type_script_setup_true_lang-D2I8xDEW.js} +29 -29
  63. package/dist/{Field.vue_vue_type_script_setup_true_lang-dAGKfjf5.js.map → Field.vue_vue_type_script_setup_true_lang-D2I8xDEW.js.map} +1 -1
  64. package/dist/FileUpload.js +54 -54
  65. package/dist/FileUpload.js.map +1 -1
  66. package/dist/FilterChip.js.map +1 -1
  67. package/dist/FilterChip.vue.d.ts +1 -1
  68. package/dist/FilterDrawerItem.js.map +1 -1
  69. package/dist/FilterDropdown.js.map +1 -1
  70. package/dist/FilterSelect.js +1 -1
  71. package/dist/FilterSelect.js.map +1 -1
  72. package/dist/Filters.js +4 -6
  73. package/dist/Filters.js.map +1 -1
  74. package/dist/Filters.vue.d.ts +57 -57
  75. package/dist/HttpError.js +6 -6
  76. package/dist/HttpError.js.map +1 -1
  77. package/dist/Icon.js.map +1 -1
  78. package/dist/IconLabel.js +13 -13
  79. package/dist/IconLabel.js.map +1 -1
  80. package/dist/Illustration.vue_vue_type_script_setup_true_lang-C1bPkWZZ.js.map +1 -1
  81. package/dist/Image.vue_vue_type_script_setup_true_lang-CAj0FH9h.js.map +1 -1
  82. package/dist/InlineEdit.js.map +1 -1
  83. package/dist/InlineEdit.vue.d.ts +1 -1
  84. package/dist/Input.js +35 -35
  85. package/dist/Input.js.map +1 -1
  86. package/dist/InputOptions.js +35 -35
  87. package/dist/InputOptions.js.map +1 -1
  88. package/dist/InputOptions.vue.d.ts +1 -1
  89. package/dist/IntegrationIcon.js.map +1 -1
  90. package/dist/Label.vue_vue_type_script_setup_true_lang-xwY3X-iV.js.map +1 -1
  91. package/dist/LicenseChip.js +9 -9
  92. package/dist/LicenseChip.js.map +1 -1
  93. package/dist/ListItem.js.map +1 -1
  94. package/dist/ListItemCell.js.map +1 -1
  95. package/dist/ListView.js +1 -1
  96. package/dist/ListView.js.map +1 -1
  97. package/dist/ListView.vue.d.ts +71 -71
  98. package/dist/Loading.js +2 -2
  99. package/dist/Loading.js.map +1 -1
  100. package/dist/Logo.js +1 -1
  101. package/dist/{Logo.vue_vue_type_script_setup_true_lang-DghNC_k6.js → Logo.vue_vue_type_script_setup_true_lang-qiNaaWWV.js} +17 -17
  102. package/dist/Logo.vue_vue_type_script_setup_true_lang-qiNaaWWV.js.map +1 -0
  103. package/dist/MenuItem.js.map +1 -1
  104. package/dist/Metric.js +12 -12
  105. package/dist/Metric.js.map +1 -1
  106. package/dist/Modal.js.map +1 -1
  107. package/dist/Modals.js.map +1 -1
  108. package/dist/Module.js.map +1 -1
  109. package/dist/ModuleContent.js.map +1 -1
  110. package/dist/ModuleFooter.js.map +1 -1
  111. package/dist/ModuleHeader.js.map +1 -1
  112. package/dist/MoreActions.js +2 -2
  113. package/dist/MoreActions.js.map +1 -1
  114. package/dist/ObfuscateText.js.map +1 -1
  115. package/dist/PageContent.js.map +1 -1
  116. package/dist/PageHeader.js.map +1 -1
  117. package/dist/PageNavigation.js +1 -1
  118. package/dist/PageNavigation.js.map +1 -1
  119. package/dist/Paginate.js.map +1 -1
  120. package/dist/PlaidLink.js.map +1 -1
  121. package/dist/QuickAction.js.map +1 -1
  122. package/dist/Radio.js.map +1 -1
  123. package/dist/RadioGroup.js +1 -1
  124. package/dist/RadioGroup.js.map +1 -1
  125. package/dist/RadioGroup.vue.d.ts +1 -1
  126. package/dist/RadioNew.js.map +1 -1
  127. package/dist/RangeInput.js.map +1 -1
  128. package/dist/SearchBar.js.map +1 -1
  129. package/dist/SearchBar.vue.d.ts +1 -1
  130. package/dist/SectionHeader.js.map +1 -1
  131. package/dist/Select.js +2 -2
  132. package/dist/Select.js.map +1 -1
  133. package/dist/Select.vue.d.ts +1 -1
  134. package/dist/SelectStatus.js.map +1 -1
  135. package/dist/SelectStatus.vue.d.ts +1 -1
  136. package/dist/Skeleton.js.map +1 -1
  137. package/dist/Step.js +8 -8
  138. package/dist/Step.js.map +1 -1
  139. package/dist/Step.vue.d.ts +1 -1
  140. package/dist/Stepper.js.map +1 -1
  141. package/dist/Stepper.vue.d.ts +1 -1
  142. package/dist/Switch.js +15 -15
  143. package/dist/Switch.js.map +1 -1
  144. package/dist/Tab.js +1 -1
  145. package/dist/Tab.js.map +1 -1
  146. package/dist/TabPanel.js.map +1 -1
  147. package/dist/Table.js.map +1 -1
  148. package/dist/TableCell.js.map +1 -1
  149. package/dist/TableHeaderCell.js.map +1 -1
  150. package/dist/TableHeaderRow.js.map +1 -1
  151. package/dist/TableRow.js +18 -18
  152. package/dist/TableRow.js.map +1 -1
  153. package/dist/Tabs.js +2 -2
  154. package/dist/{Tabs.vue_vue_type_script_setup_true_lang-BFURXY_-.js → Tabs.vue_vue_type_script_setup_true_lang-B3FBaVP5.js} +48 -48
  155. package/dist/{Tabs.vue_vue_type_script_setup_true_lang-BFURXY_-.js.map → Tabs.vue_vue_type_script_setup_true_lang-B3FBaVP5.js.map} +1 -1
  156. package/dist/TextEditor.js +1 -1
  157. package/dist/TextEditor.js.map +1 -1
  158. package/dist/TextEditor.vue.d.ts +1 -1
  159. package/dist/Textarea.js +1 -1
  160. package/dist/Textarea.js.map +1 -1
  161. package/dist/Thumbnail.js +33 -33
  162. package/dist/Thumbnail.js.map +1 -1
  163. package/dist/Thumbnail.vue.d.ts +3 -3
  164. package/dist/ThumbnailEmpty.js.map +1 -1
  165. package/dist/ThumbnailGroup.js.map +1 -1
  166. package/dist/Timeline.js.map +1 -1
  167. package/dist/TimelineItem.js.map +1 -1
  168. package/dist/Toast.js +27 -27
  169. package/dist/Toast.js.map +1 -1
  170. package/dist/Toasts.js.map +1 -1
  171. package/dist/Tooltip.js +1 -1
  172. package/dist/{Tooltip.vue_vue_type_script_setup_true_lang-CF6sw2VC.js → Tooltip.vue_vue_type_script_setup_true_lang-WMPMxzO-.js} +13 -16
  173. package/dist/Tooltip.vue_vue_type_script_setup_true_lang-WMPMxzO-.js.map +1 -0
  174. package/dist/components.css +1 -1
  175. package/dist/directives/tooltip.js.map +1 -1
  176. package/dist/floating-ui.vue-CuGrC-z8.js.map +1 -1
  177. package/dist/index-B1Gkwuxd.js.map +1 -1
  178. package/dist/index-D6bxWkZ1.js.map +1 -1
  179. package/dist/index.js.map +1 -1
  180. package/package.json +3 -3
  181. package/dist/Expand.vue_vue_type_script_setup_true_lang-CiONJfAp.js +0 -74
  182. package/dist/Logo.vue_vue_type_script_setup_true_lang-DghNC_k6.js.map +0 -1
  183. package/dist/Tooltip.vue_vue_type_script_setup_true_lang-CF6sw2VC.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-D6bxWkZ1.js","sources":["../../../node_modules/.pnpm/vue-inline-svg@3.1.4_vue@3.5.13_typescript@5.4.2_/node_modules/vue-inline-svg/src/index.js"],"sourcesContent":["// peer dep is not installed during test\n// eslint-disable-next-line import/no-unresolved\nimport { h as createElement } from 'vue';\n\n/** @type {Record<string, PromiseWithState<Element>>} */\nconst cache = {};\n\n/**\n * Remove false attrs\n * @param {Object} attrs\n */\nfunction filterAttrs(attrs) {\n return Object.keys(attrs).reduce((result, key) => {\n if (attrs[key] !== false && attrs[key] !== null && attrs[key] !== undefined) {\n result[key] = attrs[key];\n }\n return result;\n }, {});\n}\n\nconst InlineSvg = {\n name: 'InlineSvg',\n inheritAttrs: false,\n render() {\n if (!this.svgElSource) {\n return null;\n }\n return createElement(\n 'svg',\n Object.assign(\n {},\n // source attrs\n this.getSvgAttrs(this.svgElSource),\n // component attrs and listeners\n filterAttrs(this.$attrs),\n // content\n { innerHTML: this.getSvgContent(this.svgElSource) },\n ),\n );\n },\n props: {\n src: {\n type: String,\n required: true,\n },\n title: {\n type: String,\n },\n transformSource: {\n type: Function,\n default: (svg) => svg,\n },\n keepDuringLoading: {\n type: Boolean,\n default: true,\n },\n },\n emits: ['loaded', 'unloaded', 'error'],\n data() {\n return {\n /** @type {SVGElement} */\n svgElSource: null,\n /** @type {XMLHttpRequest} */\n request: undefined,\n };\n },\n watch: {\n src(newValue) {\n // re-generate cached svg (`svgElSource`)\n this.getSource(newValue);\n },\n },\n mounted() {\n // generate `svgElSource`\n this.getSource(this.src);\n },\n methods: {\n getSvgAttrs(svgEl) {\n // copy attrs\n let svgAttrs = {};\n const attrs = svgEl.attributes;\n if (!attrs) {\n return svgAttrs;\n }\n for (let i = attrs.length - 1; i >= 0; i--) {\n svgAttrs[attrs[i].name] = attrs[i].value;\n }\n return svgAttrs;\n },\n getSvgContent(svgEl) {\n svgEl = svgEl.cloneNode(true);\n svgEl = this.transformSource(svgEl);\n if (this.title) {\n setTitle(svgEl, this.title);\n }\n\n // copy inner html\n return svgEl.innerHTML;\n },\n /**\n * Get svgElSource\n * @param {string} src\n */\n getSource(src) {\n // fill cache by src with promise\n if (!cache[src]) {\n // download\n cache[src] = this.download(src);\n }\n // notify svg is unloaded\n if (this.svgElSource && cache[src].getIsPending() && !this.keepDuringLoading) {\n this.svgElSource = null;\n this.$emit('unloaded');\n }\n\n // inline svg when cached promise resolves\n cache[src]\n .then((svg) => {\n this.svgElSource = svg;\n // wait to render\n this.$nextTick(() => {\n // notify\n this.$emit('loaded', this.$el);\n });\n })\n .catch((err) => {\n // notify svg is unloaded\n if (this.svgElSource) {\n this.svgElSource = null;\n this.$emit('unloaded');\n }\n // remove cached rejected promise so next image can try load again\n delete cache[src];\n this.$emit('error', err);\n });\n },\n\n /**\n * Get the contents of the SVG\n * @param {string} url\n * @returns {PromiseWithState<Element>}\n */\n download(url) {\n return makePromiseState(new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open('GET', url, true);\n this.request = request;\n\n request.onload = () => {\n if (request.status >= 200 && request.status < 400) {\n try {\n // Setup a parser to convert the response to text/xml in order for it to be manipulated and changed\n const parser = new DOMParser();\n const result = parser.parseFromString(request.responseText, 'text/xml');\n let svgEl = result.getElementsByTagName('svg')[0];\n if (svgEl) {\n // svgEl = this.transformSource(svgEl);\n resolve(svgEl);\n } else {\n reject(new Error('Loaded file is not valid SVG\"'));\n }\n } catch (e) {\n reject(e);\n }\n } else {\n reject(new Error('Error loading SVG'));\n }\n };\n\n request.onerror = reject;\n request.send();\n }));\n },\n },\n};\n\n/**\n * Create or edit the <title> element of a SVG\n * @param {SVGElement} svg\n * @param {string} title\n */\nfunction setTitle(svg, title) {\n const titleTags = svg.getElementsByTagName('title');\n if (titleTags.length) { // overwrite existing title\n titleTags[0].textContent = title;\n } else { // create a title element if one doesn't already exist\n const titleEl = document.createElementNS('http://www.w3.org/2000/svg', 'title');\n titleEl.textContent = title;\n // svg.prepend(titleEl);\n svg.insertBefore(titleEl, svg.firstChild);\n }\n}\n\n/**\n * @typedef {Promise & object} PromiseWithState\n * @property {function: boolean} getIsPending\n * @template T\n */\n\n/**\n * This function allow you to modify a JS Promise by adding some status properties.\n * @template {any} T\n * @param {Promise<T>|PromiseWithState<T>} promise\n * @return {PromiseWithState<T>}\n */\nfunction makePromiseState(promise) {\n // Don't modify any promise that has been already modified.\n if (promise.getIsPending) return promise;\n\n // Set initial state\n let isPending = true;\n\n // Observe the promise, saving the fulfillment in a closure scope.\n let result = promise.then(\n (v) => {\n isPending = false;\n return v;\n },\n (e) => {\n isPending = false;\n throw e;\n },\n );\n\n result.getIsPending = function getIsPending() { return isPending; };\n return result;\n}\n\nexport default InlineSvg;\n"],"names":["cache","filterAttrs","attrs","result","key","InlineSvg","createElement","svg","newValue","svgEl","svgAttrs","i","setTitle","src","err","url","makePromiseState","resolve","reject","request","e","title","titleTags","titleEl","promise","isPending","v"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index-D6bxWkZ1.js","sources":["../../../node_modules/.pnpm/vue-inline-svg@3.1.4_vue@3.5.28_typescript@5.4.2_/node_modules/vue-inline-svg/src/index.js"],"sourcesContent":["// peer dep is not installed during test\n// eslint-disable-next-line import/no-unresolved\nimport { h as createElement } from 'vue';\n\n/** @type {Record<string, PromiseWithState<Element>>} */\nconst cache = {};\n\n/**\n * Remove false attrs\n * @param {Object} attrs\n */\nfunction filterAttrs(attrs) {\n return Object.keys(attrs).reduce((result, key) => {\n if (attrs[key] !== false && attrs[key] !== null && attrs[key] !== undefined) {\n result[key] = attrs[key];\n }\n return result;\n }, {});\n}\n\nconst InlineSvg = {\n name: 'InlineSvg',\n inheritAttrs: false,\n render() {\n if (!this.svgElSource) {\n return null;\n }\n return createElement(\n 'svg',\n Object.assign(\n {},\n // source attrs\n this.getSvgAttrs(this.svgElSource),\n // component attrs and listeners\n filterAttrs(this.$attrs),\n // content\n { innerHTML: this.getSvgContent(this.svgElSource) },\n ),\n );\n },\n props: {\n src: {\n type: String,\n required: true,\n },\n title: {\n type: String,\n },\n transformSource: {\n type: Function,\n default: (svg) => svg,\n },\n keepDuringLoading: {\n type: Boolean,\n default: true,\n },\n },\n emits: ['loaded', 'unloaded', 'error'],\n data() {\n return {\n /** @type {SVGElement} */\n svgElSource: null,\n /** @type {XMLHttpRequest} */\n request: undefined,\n };\n },\n watch: {\n src(newValue) {\n // re-generate cached svg (`svgElSource`)\n this.getSource(newValue);\n },\n },\n mounted() {\n // generate `svgElSource`\n this.getSource(this.src);\n },\n methods: {\n getSvgAttrs(svgEl) {\n // copy attrs\n let svgAttrs = {};\n const attrs = svgEl.attributes;\n if (!attrs) {\n return svgAttrs;\n }\n for (let i = attrs.length - 1; i >= 0; i--) {\n svgAttrs[attrs[i].name] = attrs[i].value;\n }\n return svgAttrs;\n },\n getSvgContent(svgEl) {\n svgEl = svgEl.cloneNode(true);\n svgEl = this.transformSource(svgEl);\n if (this.title) {\n setTitle(svgEl, this.title);\n }\n\n // copy inner html\n return svgEl.innerHTML;\n },\n /**\n * Get svgElSource\n * @param {string} src\n */\n getSource(src) {\n // fill cache by src with promise\n if (!cache[src]) {\n // download\n cache[src] = this.download(src);\n }\n // notify svg is unloaded\n if (this.svgElSource && cache[src].getIsPending() && !this.keepDuringLoading) {\n this.svgElSource = null;\n this.$emit('unloaded');\n }\n\n // inline svg when cached promise resolves\n cache[src]\n .then((svg) => {\n this.svgElSource = svg;\n // wait to render\n this.$nextTick(() => {\n // notify\n this.$emit('loaded', this.$el);\n });\n })\n .catch((err) => {\n // notify svg is unloaded\n if (this.svgElSource) {\n this.svgElSource = null;\n this.$emit('unloaded');\n }\n // remove cached rejected promise so next image can try load again\n delete cache[src];\n this.$emit('error', err);\n });\n },\n\n /**\n * Get the contents of the SVG\n * @param {string} url\n * @returns {PromiseWithState<Element>}\n */\n download(url) {\n return makePromiseState(new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open('GET', url, true);\n this.request = request;\n\n request.onload = () => {\n if (request.status >= 200 && request.status < 400) {\n try {\n // Setup a parser to convert the response to text/xml in order for it to be manipulated and changed\n const parser = new DOMParser();\n const result = parser.parseFromString(request.responseText, 'text/xml');\n let svgEl = result.getElementsByTagName('svg')[0];\n if (svgEl) {\n // svgEl = this.transformSource(svgEl);\n resolve(svgEl);\n } else {\n reject(new Error('Loaded file is not valid SVG\"'));\n }\n } catch (e) {\n reject(e);\n }\n } else {\n reject(new Error('Error loading SVG'));\n }\n };\n\n request.onerror = reject;\n request.send();\n }));\n },\n },\n};\n\n/**\n * Create or edit the <title> element of a SVG\n * @param {SVGElement} svg\n * @param {string} title\n */\nfunction setTitle(svg, title) {\n const titleTags = svg.getElementsByTagName('title');\n if (titleTags.length) { // overwrite existing title\n titleTags[0].textContent = title;\n } else { // create a title element if one doesn't already exist\n const titleEl = document.createElementNS('http://www.w3.org/2000/svg', 'title');\n titleEl.textContent = title;\n // svg.prepend(titleEl);\n svg.insertBefore(titleEl, svg.firstChild);\n }\n}\n\n/**\n * @typedef {Promise & object} PromiseWithState\n * @property {function: boolean} getIsPending\n * @template T\n */\n\n/**\n * This function allow you to modify a JS Promise by adding some status properties.\n * @template {any} T\n * @param {Promise<T>|PromiseWithState<T>} promise\n * @return {PromiseWithState<T>}\n */\nfunction makePromiseState(promise) {\n // Don't modify any promise that has been already modified.\n if (promise.getIsPending) return promise;\n\n // Set initial state\n let isPending = true;\n\n // Observe the promise, saving the fulfillment in a closure scope.\n let result = promise.then(\n (v) => {\n isPending = false;\n return v;\n },\n (e) => {\n isPending = false;\n throw e;\n },\n );\n\n result.getIsPending = function getIsPending() { return isPending; };\n return result;\n}\n\nexport default InlineSvg;\n"],"names":["cache","filterAttrs","attrs","result","key","InlineSvg","createElement","svg","newValue","svgEl","svgAttrs","i","setTitle","src","err","url","makePromiseState","resolve","reject","request","e","title","titleTags","titleEl","promise","isPending","v"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/.pnpm/vue3-touch-events@4.2.0/node_modules/vue3-touch-events/index.js","../src/components/Dialogs/Dialogs.vue","../src/plugins/DialogsPlugin.ts","../src/index.ts"],"sourcesContent":["/**\r\n * @project vue3-touch-events\r\n * @author Robin Rodricks, Xavier Julien, Jerry Bendy\r\n * @since 30/4/2021\r\n * @url https://github.com/robinrodricks/vue3-touch-events\r\n */\r\n\r\nfunction touchX(event) {\r\n if(event.type.indexOf('mouse') !== -1){\r\n return event.clientX;\r\n }\r\n return event.touches[0].clientX;\r\n}\r\n\r\nfunction touchY(event) {\r\n if(event.type.indexOf('mouse') !== -1){\r\n return event.clientY;\r\n }\r\n return event.touches[0].clientY;\r\n}\r\n\r\nvar isPassiveSupported = (function() {\r\n var supportsPassive = false;\r\n try {\r\n var opts = Object.defineProperty({}, 'passive', {\r\n get: function() {\r\n supportsPassive = true;\r\n }\r\n });\r\n window.addEventListener('test', null, opts);\r\n } catch (e) {}\r\n return supportsPassive;\r\n})();\r\n\r\nvar vueTouchEvents = {\r\n install: function (app, constructorOptions) {\r\n\t\t\r\n var globalOptions = Object.assign({}, {\r\n disableClick: false,\r\n tapTolerance: 10, // px\r\n swipeTolerance: 30, // px\r\n touchHoldTolerance: 400, // ms\r\n longTapTimeInterval: 400, // ms\r\n touchClass: '',\r\n\t\t\tdragFrequency: 100, // ms\r\n\t\t\trollOverFrequency: 100, // ms\r\n namespace: 'touch',\r\n }, constructorOptions);\r\n\r\n function touchStartEvent(event) {\r\n var $this = this.$$touchObj,\r\n isTouchEvent = event.type.indexOf('touch') >= 0,\r\n isMouseEvent = event.type.indexOf('mouse') >= 0,\r\n $el = this;\r\n\r\n if (isTouchEvent) {\r\n $this.lastTouchStartTime = event.timeStamp;\r\n }\r\n\r\n if (isMouseEvent && $this.lastTouchStartTime && event.timeStamp - $this.lastTouchStartTime < 350) {\r\n return;\r\n }\r\n\r\n if ($this.touchStarted) {\r\n return;\r\n }\r\n\r\n addTouchClass(this);\r\n\r\n $this.touchStarted = true; // always true while the element is being PRESSED\r\n\r\n $this.touchMoved = false; // true only when the element is PRESSED and DRAGGED a bit\r\n $this.swipeOutBounded = false;\r\n\r\n $this.startX = touchX(event);\r\n $this.startY = touchY(event);\r\n\r\n $this.currentX = 0; // always updated with the last mouse X/Y while over the element\r\n $this.currentY = 0;\r\n\r\n $this.touchStartTime = event.timeStamp;\r\n\t\t\t\r\n\t\t\t// performance: only process swipe events if `swipe.*` event is registered on this element\r\n\t\t\t$this.hasSwipe = hasEvent(this, 'swipe')\r\n\t\t\t\t|| hasEvent(this, 'swipe.left') || hasEvent(this, 'swipe.right')\r\n\t\t\t\t|| hasEvent(this, 'swipe.top') || hasEvent(this, 'swipe.bottom');\r\n\r\n\t\t\t// performance: only start hold timer if the `hold` event is registered on this element\r\n\t\t\tif (hasEvent(this, 'hold')){\r\n\t\t\t\t\r\n\t\t\t\t// Trigger touchhold event after `touchHoldTolerance` MS\r\n\t\t\t\t$this.touchHoldTimer = setTimeout(function() {\r\n\t\t\t\t\t$this.touchHoldTimer = null;\r\n\t\t\t\t\ttriggerEvent(event, $el, 'hold');\r\n\t\t\t\t}, $this.options.touchHoldTolerance);\r\n\t\t\t}\r\n\t\t\t\r\n triggerEvent(event, this, 'press');\r\n }\r\n\r\n function touchMoveEvent(event) {\r\n var $this = this.$$touchObj;\r\n\t\t\t\r\n\t\t\tvar curX = touchX(event);\r\n\t\t\tvar curY = touchY(event);\r\n\r\n\t\t\tvar movedAgain = ($this.currentX != curX) || ($this.currentY != curY);\r\n\t\t\t\r\n $this.currentX = curX;\r\n $this.currentY = curY;\r\n\r\n if (!$this.touchMoved) {\r\n var tapTolerance = $this.options.tapTolerance;\r\n\r\n $this.touchMoved = Math.abs($this.startX - $this.currentX) > tapTolerance ||\r\n\t\t\t\t\t\t\t\t Math.abs($this.startY - $this.currentY) > tapTolerance;\r\n\r\n\t\t\t\t// trigger `drag.once` only once after mouse FIRST moved while dragging the element\r\n\t\t\t\t// (`touchMoved` is the flag that indicates we no longer need to trigger this)\r\n if($this.touchMoved){\r\n cancelTouchHoldTimer($this);\r\n triggerEvent(event, this, 'drag.once');\r\n }\r\n\r\n\t\t\t// performance: only process swipe events if `swipe.*` event is registered on this element\r\n } else if ($this.hasSwipe && !$this.swipeOutBounded) {\r\n\t\t\t\tvar swipeOutBounded = $this.options.swipeTolerance;\r\n\r\n\t\t\t\t$this.swipeOutBounded = Math.abs($this.startX - $this.currentX) > swipeOutBounded &&\r\n\t\t\t\t\tMath.abs($this.startY - $this.currentY) > swipeOutBounded;\r\n }\r\n\r\n\t\t\t// only trigger `rollover` event if cursor actually moved over this element\r\n if(hasEvent(this, 'rollover') && movedAgain){\r\n\t\t\t\t\r\n\t\t\t\t// throttle the `rollover` event based on `rollOverFrequency`\r\n\t\t\t\tvar now = event.timeStamp;\r\n\t\t\t\tvar throttle = $this.options.rollOverFrequency;\r\n\t\t\t\tif ($this.touchRollTime == null || now > ($this.touchRollTime + throttle)){\r\n\t\t\t\t\t$this.touchRollTime = now;\r\n\t\t\t\t\t\r\n\t\t\t\t\ttriggerEvent(event, this, 'rollover');\r\n\t\t\t\t}\r\n }\r\n\r\n\t\t\t// only trigger `drag` event if cursor actually moved and if we are still dragging this element\r\n if(hasEvent(this, 'drag') && $this.touchStarted && $this.touchMoved && movedAgain){\r\n\t\t\t\t\r\n\t\t\t\t// throttle the `drag` event based on `dragFrequency`\r\n\t\t\t\tvar now = event.timeStamp;\r\n\t\t\t\tvar throttle = $this.options.dragFrequency;\r\n\t\t\t\tif ($this.touchDragTime == null || now > ($this.touchDragTime + throttle)){\r\n\t\t\t\t\t$this.touchDragTime = now;\r\n\t\t\t\t\t\r\n\t\t\t\t\ttriggerEvent(event, this, 'drag');\r\n\t\t\t\t}\r\n }\r\n }\r\n\r\n function touchCancelEvent() {\r\n var $this = this.$$touchObj;\r\n\r\n cancelTouchHoldTimer($this);\r\n removeTouchClass(this);\r\n\r\n $this.touchStarted = $this.touchMoved = false;\r\n $this.startX = $this.startY = 0;\r\n }\r\n\r\n function touchEndEvent(event) {\r\n var $this = this.$$touchObj,\r\n isTouchEvent = event.type.indexOf('touch') >= 0,\r\n isMouseEvent = event.type.indexOf('mouse') >= 0;\r\n\r\n if (isTouchEvent) {\r\n $this.lastTouchEndTime = event.timeStamp;\r\n }\r\n\r\n var touchholdEnd = isTouchEvent && !$this.touchHoldTimer;\r\n cancelTouchHoldTimer($this);\r\n\r\n $this.touchStarted = false;\r\n\r\n removeTouchClass(this);\r\n\r\n if (isMouseEvent && $this.lastTouchEndTime && event.timeStamp - $this.lastTouchEndTime < 350) {\r\n return;\r\n }\r\n\r\n // trigger `end` event when touch stopped\r\n triggerEvent(event, this, 'release');\r\n\r\n if (!$this.touchMoved) {\r\n // detect if this is a longTap event or not\r\n if (hasEvent(this, 'longtap') && event.timeStamp - $this.touchStartTime > $this.options.longTapTimeInterval) {\r\n if (event.cancelable) {\r\n event.preventDefault();\r\n }\r\n triggerEvent(event, this, 'longtap');\r\n\r\n } else if (hasEvent(this, 'hold') && touchholdEnd) {\r\n if (event.cancelable) {\r\n event.preventDefault();\r\n }\r\n return;\r\n } else {\r\n // emit tap event\r\n triggerEvent(event, this, 'tap');\r\n }\r\n\r\n\t\t\t// performance: only process swipe events if `swipe.*` event is registered on this element\r\n } else if ($this.hasSwipe && !$this.swipeOutBounded) {\r\n var swipeOutBounded = $this.options.swipeTolerance,\r\n direction,\r\n distanceY = Math.abs($this.startY - $this.currentY),\r\n distanceX = Math.abs($this.startX - $this.currentX);\r\n\r\n if (distanceY > swipeOutBounded || distanceX > swipeOutBounded) {\r\n if (distanceY > distanceX) {\r\n direction = $this.startY > $this.currentY ? 'top' : 'bottom';\r\n } else {\r\n direction = $this.startX > $this.currentX ? 'left' : 'right';\r\n }\r\n\r\n // Only emit the specified event when it has modifiers\r\n if (hasEvent(this, 'swipe.' + direction)) {\r\n triggerEvent(event, this, 'swipe.' + direction, direction);\r\n } else {\r\n // Emit a common event when it has no any modifier\r\n triggerEvent(event, this, 'swipe', direction);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function mouseEnterEvent() {\r\n addTouchClass(this);\r\n }\r\n\r\n function mouseLeaveEvent() {\r\n removeTouchClass(this);\r\n }\r\n\r\n function hasEvent($el, eventType) {\r\n var callbacks = $el.$$touchObj.callbacks[eventType];\r\n\t\t\treturn (callbacks != null && callbacks.length > 0);\r\n\t\t}\r\n\t\t\r\n function triggerEvent(e, $el, eventType, param) {\r\n var $this = $el.$$touchObj;\r\n\r\n // get the subscribers for this event\r\n var callbacks = $this.callbacks[eventType];\r\n\t\t\t\r\n\t\t\t// exit if no subscribers to this particular event\r\n if (callbacks == null || callbacks.length === 0) {\r\n return null;\r\n }\r\n\r\n\t\t\t// per callback\r\n for (var i = 0; i < callbacks.length; i++) {\r\n var binding = callbacks[i];\r\n\r\n if (binding.modifiers.stop) {\r\n e.stopPropagation();\r\n }\r\n\r\n if (binding.modifiers.prevent) {\r\n e.preventDefault();\r\n }\r\n\r\n // handle `self` modifier`\r\n if (binding.modifiers.self && e.target !== e.currentTarget) {\r\n continue;\r\n }\r\n\r\n if (typeof binding.value === 'function') {\r\n if (param) {\r\n binding.value(param, e);\r\n } else {\r\n binding.value(e);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function addTouchClass($el) {\r\n var className = $el.$$touchObj.options.touchClass;\r\n className && $el.classList.add(className);\r\n }\r\n\r\n function removeTouchClass($el) {\r\n var className = $el.$$touchObj.options.touchClass;\r\n className && $el.classList.remove(className);\r\n }\r\n\r\n function cancelTouchHoldTimer($this) {\r\n if ($this && $this.touchHoldTimer) {\r\n clearTimeout($this.touchHoldTimer);\r\n $this.touchHoldTimer = null;\r\n }\r\n }\r\n\r\n function buildTouchObj($el, extraOptions) {\r\n var touchObj = $el.$$touchObj || {\r\n // an object contains all callbacks registered,\r\n // key is event name, value is an array\r\n callbacks: {},\r\n // prevent bind twice, set to true when event bound\r\n hasBindTouchEvents: false,\r\n // default options, would be override by v-touch-options\r\n options: globalOptions\r\n };\r\n if (extraOptions) {\r\n touchObj.options = Object.assign({}, touchObj.options, extraOptions);\r\n }\r\n $el.$$touchObj = touchObj;\r\n return $el.$$touchObj;\r\n }\r\n\r\n app.directive(globalOptions.namespace, {\r\n beforeMount: function ($el, binding) {\r\n // build a touch configuration object\r\n var $this = buildTouchObj($el);\r\n // declare passive option for the event listener. Defaults to { passive: true } if supported\r\n var passiveOpt = isPassiveSupported ? { passive: true } : false;\r\n // register callback\r\n var eventType = binding.arg || 'tap';\r\n switch (eventType) {\r\n case 'swipe':\r\n var _m = binding.modifiers;\r\n if (_m.left || _m.right || _m.top || _m.bottom) {\r\n for (var i in binding.modifiers) {\r\n if (['left', 'right', 'top', 'bottom'].indexOf(i) >= 0) {\r\n var _e = 'swipe.' + i;\r\n $this.callbacks[_e] = $this.callbacks[_e] || [];\r\n $this.callbacks[_e].push(binding);\r\n }\r\n }\r\n } else {\r\n $this.callbacks.swipe = $this.callbacks.swipe || [];\r\n $this.callbacks.swipe.push(binding);\r\n }\r\n break;\r\n\r\n case 'press':\r\n case 'drag':\r\n if (binding.modifiers.disablePassive) {\r\n // change the passive option for the `drag` event if disablePassive modifier exists\r\n passiveOpt = false;\r\n }\r\n default:\r\n $this.callbacks[eventType] = $this.callbacks[eventType] || [];\r\n $this.callbacks[eventType].push(binding);\r\n }\r\n\r\n // prevent bind twice\r\n if ($this.hasBindTouchEvents) {\r\n return;\r\n }\r\n\r\n $el.addEventListener('touchstart', touchStartEvent, passiveOpt);\r\n $el.addEventListener('touchmove', touchMoveEvent, passiveOpt);\r\n $el.addEventListener('touchcancel', touchCancelEvent);\r\n $el.addEventListener('touchend', touchEndEvent);\r\n\r\n if (!$this.options.disableClick) {\r\n $el.addEventListener('mousedown', touchStartEvent);\r\n $el.addEventListener('mousemove', touchMoveEvent);\r\n $el.addEventListener('mouseup', touchEndEvent);\r\n $el.addEventListener('mouseenter', mouseEnterEvent);\r\n $el.addEventListener('mouseleave', mouseLeaveEvent);\r\n }\r\n\r\n // set bind mark to true\r\n $this.hasBindTouchEvents = true;\r\n },\r\n\r\n unmounted: function ($el) {\r\n cancelTouchHoldTimer($el.$$touchObj)\r\n\r\n $el.removeEventListener('touchstart', touchStartEvent);\r\n $el.removeEventListener('touchmove', touchMoveEvent);\r\n $el.removeEventListener('touchcancel', touchCancelEvent);\r\n $el.removeEventListener('touchend', touchEndEvent);\r\n\r\n if ($el.$$touchObj && !$el.$$touchObj.options.disableClick) {\r\n $el.removeEventListener('mousedown', touchStartEvent);\r\n $el.removeEventListener('mousemove', touchMoveEvent);\r\n $el.removeEventListener('mouseup', touchEndEvent);\r\n $el.removeEventListener('mouseenter', mouseEnterEvent);\r\n $el.removeEventListener('mouseleave', mouseLeaveEvent);\r\n }\r\n\r\n // remove vars\r\n delete $el.$$touchObj;\r\n }\r\n });\r\n\r\n app.directive(`${globalOptions.namespace}-class`, {\r\n beforeMount: function ($el, binding) {\r\n buildTouchObj($el, {\r\n touchClass: binding.value\r\n });\r\n }\r\n });\r\n\r\n app.directive(`${globalOptions.namespace}-options`, {\r\n beforeMount: function($el, binding) {\r\n buildTouchObj($el, binding.value);\r\n }\r\n });\r\n }\r\n};\r\n\r\n/*\r\n * Exports\r\n */\r\nexport default vueTouchEvents\r\n","<script setup lang=\"ts\">\n import omit from 'lodash-es/omit';\n import { computed } from 'vue';\n\n import useDialog from '../../composables/useDialog/useDialog';\n import CustomRender from '../CustomRender/CustomRender.vue';\n import Dialog from '../Dialog/Dialog.vue';\n\n const dialog = useDialog();\n\n const attributes = computed(() => {\n if (!dialog.active) return null;\n\n return omit(dialog.active, ['deferred', 'onConfirm', 'onCancel', 'slots']);\n });\n\n function onCancel() {\n if (dialog.active?.onCancel) {\n dialog.active.onCancel();\n }\n\n dialog.active?.deferred?.resolve({\n isCanceled: true,\n });\n\n dialog.close();\n }\n\n async function onConfirm() {\n if (dialog.active?.onConfirm) {\n await dialog.active.onConfirm();\n }\n\n dialog.active?.deferred?.resolve({\n isConfirmed: true,\n });\n\n dialog.close();\n }\n</script>\n\n<template>\n <Dialog :open=\"!!attributes\" v-bind=\"attributes\" @confirm=\"onConfirm\" @cancel=\"onCancel\">\n <template v-for=\"(value, name) in dialog.active?.slots\" :key=\"name\" #[name]>\n <CustomRender :render=\"value\" />\n </template>\n </Dialog>\n</template>\n","import { App, createVNode, h, Plugin, render } from 'vue';\n\nimport Dialogs from '../components/Dialogs/Dialogs.vue';\n\nexport interface DialogsPluginOptions {\n mountNodeClass?: string;\n mountNodeId?: string;\n}\n\nexport const DEFAULT_DIALOGS_PLUGIN_NODE_ID = 'stash-dialogs-mount-node';\n\nexport default <Plugin>{\n install(app: App, options?: DialogsPluginOptions) {\n const mountNodeId = options?.mountNodeId || DEFAULT_DIALOGS_PLUGIN_NODE_ID;\n let mountNode = document.getElementById(mountNodeId);\n\n if (!mountNode) {\n mountNode = document.createElement('div');\n mountNode.id = mountNodeId;\n mountNode.dataset.test = DEFAULT_DIALOGS_PLUGIN_NODE_ID;\n document.body.appendChild(mountNode);\n }\n\n if (options?.mountNodeClass && !mountNode.classList.contains(options.mountNodeClass)) {\n mountNode.classList.add(options.mountNodeClass);\n }\n\n const vNode = createVNode(h(Dialogs));\n vNode.appContext = app._context;\n\n render(vNode, mountNode);\n },\n};\n","import { Plugin } from 'vue';\nimport Vue3TouchEvents, { type Vue3TouchEventsOptions } from 'vue3-touch-events';\n\nimport { I18nPlugin, StashOptionImages, StashProvideState } from '../types/misc';\nimport locale from './locale';\n// this is valid syntax per the TS docs, but prettier throws an error expecting a comma after `type`\nimport DialogsPlugin, { type DialogsPluginOptions } from './plugins/DialogsPlugin';\nimport MenusPlugin, { type MenusPluginOptions } from './plugins/MenusPlugin';\nimport ModalsPlugin, { type ModalsPluginOptions } from './plugins/ModalsPlugin';\nimport ToastsPlugin, { type ToastsPluginOptions } from './plugins/ToastsPlugin';\nimport { overridePersistentStorage, persistentStorage } from './storage';\n\nexport interface StashPluginOptions {\n i18n?: I18nPlugin;\n storage?: {\n set: <T = unknown>(name: string, data: T, options?: { [key: string]: unknown }) => void;\n get: <T = unknown>(name: string, options?: { [key: string]: unknown }) => T;\n };\n staticPath?: string;\n images?: StashOptionImages;\n googleMapsApiKey?: string;\n menus?: false | MenusPluginOptions;\n modals?: false | ModalsPluginOptions;\n toasts?: false | ToastsPluginOptions;\n dialogs?: false | DialogsPluginOptions;\n}\n\nexport default <Plugin>{\n install(\n app,\n {\n i18n = undefined,\n storage = undefined,\n staticPath = '/static',\n images = {\n provider: 'static',\n },\n googleMapsApiKey = undefined,\n menus,\n modals,\n toasts,\n dialogs,\n }: StashPluginOptions = {},\n ) {\n app.use<Vue3TouchEventsOptions>(Vue3TouchEvents, {});\n\n // locale\n if (i18n) {\n locale.use(i18n.locale);\n locale.i18n(i18n && i18n.t);\n }\n\n // persistent storage (localStorage)\n if (storage) {\n overridePersistentStorage(storage);\n }\n\n // expose stash options to the rest of your application\n app.provide<StashProvideState>('stashOptions', {\n i18n,\n images,\n storage,\n staticPath,\n googleMapsApiKey,\n });\n\n if (menus !== false) {\n app.use(MenusPlugin, menus);\n }\n\n if (modals !== false) {\n app.use(ModalsPlugin, modals);\n }\n\n if (toasts !== false) {\n app.use(ToastsPlugin, toasts);\n }\n\n if (dialogs !== false) {\n app.use(DialogsPlugin, dialogs);\n }\n },\n};\n\nexport { persistentStorage };\n\n// Re-export things that are useful for consumers\nexport * from '../types';\nexport * from './storage';\n\n// Todo: Investigate tree-shaking issues to see if we can expose these. Theoritically\n// should be no issue, however test framework startup time, specifically w/ Jest,\n// seems to be the major blocker here.\n// export * from './components';\n// export * from './composables';\n// export * from './constants';\n// export * from './directives';\n// export * from './locale';\n// export * from './plugins';\n// export { default as ToastsPlugin } from './plugins/ToastsPlugin';\n"],"names":["touchX","event","touchY","isPassiveSupported","supportsPassive","opts","vueTouchEvents","app","constructorOptions","globalOptions","touchStartEvent","$this","isTouchEvent","isMouseEvent","$el","addTouchClass","hasEvent","triggerEvent","touchMoveEvent","curX","curY","movedAgain","swipeOutBounded","tapTolerance","cancelTouchHoldTimer","now","throttle","touchCancelEvent","removeTouchClass","touchEndEvent","touchholdEnd","direction","distanceY","distanceX","mouseEnterEvent","mouseLeaveEvent","eventType","callbacks","param","i","binding","className","buildTouchObj","extraOptions","touchObj","passiveOpt","_m","_e","dialog","useDialog","attributes","computed","omit","onCancel","_a","_c","_b","onConfirm","DEFAULT_DIALOGS_PLUGIN_NODE_ID","DialogsPlugin","options","mountNodeId","mountNode","vNode","createVNode","h","Dialogs","render","index","i18n","storage","staticPath","images","googleMapsApiKey","menus","modals","toasts","dialogs","Vue3TouchEvents","locale","overridePersistentStorage","MenusPlugin","ModalsPlugin","ToastsPlugin"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/.pnpm/vue3-touch-events@4.2.0/node_modules/vue3-touch-events/index.js","../src/components/Dialogs/Dialogs.vue","../src/plugins/DialogsPlugin.ts","../src/index.ts"],"sourcesContent":["/**\r\n * @project vue3-touch-events\r\n * @author Robin Rodricks, Xavier Julien, Jerry Bendy\r\n * @since 30/4/2021\r\n * @url https://github.com/robinrodricks/vue3-touch-events\r\n */\r\n\r\nfunction touchX(event) {\r\n if(event.type.indexOf('mouse') !== -1){\r\n return event.clientX;\r\n }\r\n return event.touches[0].clientX;\r\n}\r\n\r\nfunction touchY(event) {\r\n if(event.type.indexOf('mouse') !== -1){\r\n return event.clientY;\r\n }\r\n return event.touches[0].clientY;\r\n}\r\n\r\nvar isPassiveSupported = (function() {\r\n var supportsPassive = false;\r\n try {\r\n var opts = Object.defineProperty({}, 'passive', {\r\n get: function() {\r\n supportsPassive = true;\r\n }\r\n });\r\n window.addEventListener('test', null, opts);\r\n } catch (e) {}\r\n return supportsPassive;\r\n})();\r\n\r\nvar vueTouchEvents = {\r\n install: function (app, constructorOptions) {\r\n\t\t\r\n var globalOptions = Object.assign({}, {\r\n disableClick: false,\r\n tapTolerance: 10, // px\r\n swipeTolerance: 30, // px\r\n touchHoldTolerance: 400, // ms\r\n longTapTimeInterval: 400, // ms\r\n touchClass: '',\r\n\t\t\tdragFrequency: 100, // ms\r\n\t\t\trollOverFrequency: 100, // ms\r\n namespace: 'touch',\r\n }, constructorOptions);\r\n\r\n function touchStartEvent(event) {\r\n var $this = this.$$touchObj,\r\n isTouchEvent = event.type.indexOf('touch') >= 0,\r\n isMouseEvent = event.type.indexOf('mouse') >= 0,\r\n $el = this;\r\n\r\n if (isTouchEvent) {\r\n $this.lastTouchStartTime = event.timeStamp;\r\n }\r\n\r\n if (isMouseEvent && $this.lastTouchStartTime && event.timeStamp - $this.lastTouchStartTime < 350) {\r\n return;\r\n }\r\n\r\n if ($this.touchStarted) {\r\n return;\r\n }\r\n\r\n addTouchClass(this);\r\n\r\n $this.touchStarted = true; // always true while the element is being PRESSED\r\n\r\n $this.touchMoved = false; // true only when the element is PRESSED and DRAGGED a bit\r\n $this.swipeOutBounded = false;\r\n\r\n $this.startX = touchX(event);\r\n $this.startY = touchY(event);\r\n\r\n $this.currentX = 0; // always updated with the last mouse X/Y while over the element\r\n $this.currentY = 0;\r\n\r\n $this.touchStartTime = event.timeStamp;\r\n\t\t\t\r\n\t\t\t// performance: only process swipe events if `swipe.*` event is registered on this element\r\n\t\t\t$this.hasSwipe = hasEvent(this, 'swipe')\r\n\t\t\t\t|| hasEvent(this, 'swipe.left') || hasEvent(this, 'swipe.right')\r\n\t\t\t\t|| hasEvent(this, 'swipe.top') || hasEvent(this, 'swipe.bottom');\r\n\r\n\t\t\t// performance: only start hold timer if the `hold` event is registered on this element\r\n\t\t\tif (hasEvent(this, 'hold')){\r\n\t\t\t\t\r\n\t\t\t\t// Trigger touchhold event after `touchHoldTolerance` MS\r\n\t\t\t\t$this.touchHoldTimer = setTimeout(function() {\r\n\t\t\t\t\t$this.touchHoldTimer = null;\r\n\t\t\t\t\ttriggerEvent(event, $el, 'hold');\r\n\t\t\t\t}, $this.options.touchHoldTolerance);\r\n\t\t\t}\r\n\t\t\t\r\n triggerEvent(event, this, 'press');\r\n }\r\n\r\n function touchMoveEvent(event) {\r\n var $this = this.$$touchObj;\r\n\t\t\t\r\n\t\t\tvar curX = touchX(event);\r\n\t\t\tvar curY = touchY(event);\r\n\r\n\t\t\tvar movedAgain = ($this.currentX != curX) || ($this.currentY != curY);\r\n\t\t\t\r\n $this.currentX = curX;\r\n $this.currentY = curY;\r\n\r\n if (!$this.touchMoved) {\r\n var tapTolerance = $this.options.tapTolerance;\r\n\r\n $this.touchMoved = Math.abs($this.startX - $this.currentX) > tapTolerance ||\r\n\t\t\t\t\t\t\t\t Math.abs($this.startY - $this.currentY) > tapTolerance;\r\n\r\n\t\t\t\t// trigger `drag.once` only once after mouse FIRST moved while dragging the element\r\n\t\t\t\t// (`touchMoved` is the flag that indicates we no longer need to trigger this)\r\n if($this.touchMoved){\r\n cancelTouchHoldTimer($this);\r\n triggerEvent(event, this, 'drag.once');\r\n }\r\n\r\n\t\t\t// performance: only process swipe events if `swipe.*` event is registered on this element\r\n } else if ($this.hasSwipe && !$this.swipeOutBounded) {\r\n\t\t\t\tvar swipeOutBounded = $this.options.swipeTolerance;\r\n\r\n\t\t\t\t$this.swipeOutBounded = Math.abs($this.startX - $this.currentX) > swipeOutBounded &&\r\n\t\t\t\t\tMath.abs($this.startY - $this.currentY) > swipeOutBounded;\r\n }\r\n\r\n\t\t\t// only trigger `rollover` event if cursor actually moved over this element\r\n if(hasEvent(this, 'rollover') && movedAgain){\r\n\t\t\t\t\r\n\t\t\t\t// throttle the `rollover` event based on `rollOverFrequency`\r\n\t\t\t\tvar now = event.timeStamp;\r\n\t\t\t\tvar throttle = $this.options.rollOverFrequency;\r\n\t\t\t\tif ($this.touchRollTime == null || now > ($this.touchRollTime + throttle)){\r\n\t\t\t\t\t$this.touchRollTime = now;\r\n\t\t\t\t\t\r\n\t\t\t\t\ttriggerEvent(event, this, 'rollover');\r\n\t\t\t\t}\r\n }\r\n\r\n\t\t\t// only trigger `drag` event if cursor actually moved and if we are still dragging this element\r\n if(hasEvent(this, 'drag') && $this.touchStarted && $this.touchMoved && movedAgain){\r\n\t\t\t\t\r\n\t\t\t\t// throttle the `drag` event based on `dragFrequency`\r\n\t\t\t\tvar now = event.timeStamp;\r\n\t\t\t\tvar throttle = $this.options.dragFrequency;\r\n\t\t\t\tif ($this.touchDragTime == null || now > ($this.touchDragTime + throttle)){\r\n\t\t\t\t\t$this.touchDragTime = now;\r\n\t\t\t\t\t\r\n\t\t\t\t\ttriggerEvent(event, this, 'drag');\r\n\t\t\t\t}\r\n }\r\n }\r\n\r\n function touchCancelEvent() {\r\n var $this = this.$$touchObj;\r\n\r\n cancelTouchHoldTimer($this);\r\n removeTouchClass(this);\r\n\r\n $this.touchStarted = $this.touchMoved = false;\r\n $this.startX = $this.startY = 0;\r\n }\r\n\r\n function touchEndEvent(event) {\r\n var $this = this.$$touchObj,\r\n isTouchEvent = event.type.indexOf('touch') >= 0,\r\n isMouseEvent = event.type.indexOf('mouse') >= 0;\r\n\r\n if (isTouchEvent) {\r\n $this.lastTouchEndTime = event.timeStamp;\r\n }\r\n\r\n var touchholdEnd = isTouchEvent && !$this.touchHoldTimer;\r\n cancelTouchHoldTimer($this);\r\n\r\n $this.touchStarted = false;\r\n\r\n removeTouchClass(this);\r\n\r\n if (isMouseEvent && $this.lastTouchEndTime && event.timeStamp - $this.lastTouchEndTime < 350) {\r\n return;\r\n }\r\n\r\n // trigger `end` event when touch stopped\r\n triggerEvent(event, this, 'release');\r\n\r\n if (!$this.touchMoved) {\r\n // detect if this is a longTap event or not\r\n if (hasEvent(this, 'longtap') && event.timeStamp - $this.touchStartTime > $this.options.longTapTimeInterval) {\r\n if (event.cancelable) {\r\n event.preventDefault();\r\n }\r\n triggerEvent(event, this, 'longtap');\r\n\r\n } else if (hasEvent(this, 'hold') && touchholdEnd) {\r\n if (event.cancelable) {\r\n event.preventDefault();\r\n }\r\n return;\r\n } else {\r\n // emit tap event\r\n triggerEvent(event, this, 'tap');\r\n }\r\n\r\n\t\t\t// performance: only process swipe events if `swipe.*` event is registered on this element\r\n } else if ($this.hasSwipe && !$this.swipeOutBounded) {\r\n var swipeOutBounded = $this.options.swipeTolerance,\r\n direction,\r\n distanceY = Math.abs($this.startY - $this.currentY),\r\n distanceX = Math.abs($this.startX - $this.currentX);\r\n\r\n if (distanceY > swipeOutBounded || distanceX > swipeOutBounded) {\r\n if (distanceY > distanceX) {\r\n direction = $this.startY > $this.currentY ? 'top' : 'bottom';\r\n } else {\r\n direction = $this.startX > $this.currentX ? 'left' : 'right';\r\n }\r\n\r\n // Only emit the specified event when it has modifiers\r\n if (hasEvent(this, 'swipe.' + direction)) {\r\n triggerEvent(event, this, 'swipe.' + direction, direction);\r\n } else {\r\n // Emit a common event when it has no any modifier\r\n triggerEvent(event, this, 'swipe', direction);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function mouseEnterEvent() {\r\n addTouchClass(this);\r\n }\r\n\r\n function mouseLeaveEvent() {\r\n removeTouchClass(this);\r\n }\r\n\r\n function hasEvent($el, eventType) {\r\n var callbacks = $el.$$touchObj.callbacks[eventType];\r\n\t\t\treturn (callbacks != null && callbacks.length > 0);\r\n\t\t}\r\n\t\t\r\n function triggerEvent(e, $el, eventType, param) {\r\n var $this = $el.$$touchObj;\r\n\r\n // get the subscribers for this event\r\n var callbacks = $this.callbacks[eventType];\r\n\t\t\t\r\n\t\t\t// exit if no subscribers to this particular event\r\n if (callbacks == null || callbacks.length === 0) {\r\n return null;\r\n }\r\n\r\n\t\t\t// per callback\r\n for (var i = 0; i < callbacks.length; i++) {\r\n var binding = callbacks[i];\r\n\r\n if (binding.modifiers.stop) {\r\n e.stopPropagation();\r\n }\r\n\r\n if (binding.modifiers.prevent) {\r\n e.preventDefault();\r\n }\r\n\r\n // handle `self` modifier`\r\n if (binding.modifiers.self && e.target !== e.currentTarget) {\r\n continue;\r\n }\r\n\r\n if (typeof binding.value === 'function') {\r\n if (param) {\r\n binding.value(param, e);\r\n } else {\r\n binding.value(e);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function addTouchClass($el) {\r\n var className = $el.$$touchObj.options.touchClass;\r\n className && $el.classList.add(className);\r\n }\r\n\r\n function removeTouchClass($el) {\r\n var className = $el.$$touchObj.options.touchClass;\r\n className && $el.classList.remove(className);\r\n }\r\n\r\n function cancelTouchHoldTimer($this) {\r\n if ($this && $this.touchHoldTimer) {\r\n clearTimeout($this.touchHoldTimer);\r\n $this.touchHoldTimer = null;\r\n }\r\n }\r\n\r\n function buildTouchObj($el, extraOptions) {\r\n var touchObj = $el.$$touchObj || {\r\n // an object contains all callbacks registered,\r\n // key is event name, value is an array\r\n callbacks: {},\r\n // prevent bind twice, set to true when event bound\r\n hasBindTouchEvents: false,\r\n // default options, would be override by v-touch-options\r\n options: globalOptions\r\n };\r\n if (extraOptions) {\r\n touchObj.options = Object.assign({}, touchObj.options, extraOptions);\r\n }\r\n $el.$$touchObj = touchObj;\r\n return $el.$$touchObj;\r\n }\r\n\r\n app.directive(globalOptions.namespace, {\r\n beforeMount: function ($el, binding) {\r\n // build a touch configuration object\r\n var $this = buildTouchObj($el);\r\n // declare passive option for the event listener. Defaults to { passive: true } if supported\r\n var passiveOpt = isPassiveSupported ? { passive: true } : false;\r\n // register callback\r\n var eventType = binding.arg || 'tap';\r\n switch (eventType) {\r\n case 'swipe':\r\n var _m = binding.modifiers;\r\n if (_m.left || _m.right || _m.top || _m.bottom) {\r\n for (var i in binding.modifiers) {\r\n if (['left', 'right', 'top', 'bottom'].indexOf(i) >= 0) {\r\n var _e = 'swipe.' + i;\r\n $this.callbacks[_e] = $this.callbacks[_e] || [];\r\n $this.callbacks[_e].push(binding);\r\n }\r\n }\r\n } else {\r\n $this.callbacks.swipe = $this.callbacks.swipe || [];\r\n $this.callbacks.swipe.push(binding);\r\n }\r\n break;\r\n\r\n case 'press':\r\n case 'drag':\r\n if (binding.modifiers.disablePassive) {\r\n // change the passive option for the `drag` event if disablePassive modifier exists\r\n passiveOpt = false;\r\n }\r\n default:\r\n $this.callbacks[eventType] = $this.callbacks[eventType] || [];\r\n $this.callbacks[eventType].push(binding);\r\n }\r\n\r\n // prevent bind twice\r\n if ($this.hasBindTouchEvents) {\r\n return;\r\n }\r\n\r\n $el.addEventListener('touchstart', touchStartEvent, passiveOpt);\r\n $el.addEventListener('touchmove', touchMoveEvent, passiveOpt);\r\n $el.addEventListener('touchcancel', touchCancelEvent);\r\n $el.addEventListener('touchend', touchEndEvent);\r\n\r\n if (!$this.options.disableClick) {\r\n $el.addEventListener('mousedown', touchStartEvent);\r\n $el.addEventListener('mousemove', touchMoveEvent);\r\n $el.addEventListener('mouseup', touchEndEvent);\r\n $el.addEventListener('mouseenter', mouseEnterEvent);\r\n $el.addEventListener('mouseleave', mouseLeaveEvent);\r\n }\r\n\r\n // set bind mark to true\r\n $this.hasBindTouchEvents = true;\r\n },\r\n\r\n unmounted: function ($el) {\r\n cancelTouchHoldTimer($el.$$touchObj)\r\n\r\n $el.removeEventListener('touchstart', touchStartEvent);\r\n $el.removeEventListener('touchmove', touchMoveEvent);\r\n $el.removeEventListener('touchcancel', touchCancelEvent);\r\n $el.removeEventListener('touchend', touchEndEvent);\r\n\r\n if ($el.$$touchObj && !$el.$$touchObj.options.disableClick) {\r\n $el.removeEventListener('mousedown', touchStartEvent);\r\n $el.removeEventListener('mousemove', touchMoveEvent);\r\n $el.removeEventListener('mouseup', touchEndEvent);\r\n $el.removeEventListener('mouseenter', mouseEnterEvent);\r\n $el.removeEventListener('mouseleave', mouseLeaveEvent);\r\n }\r\n\r\n // remove vars\r\n delete $el.$$touchObj;\r\n }\r\n });\r\n\r\n app.directive(`${globalOptions.namespace}-class`, {\r\n beforeMount: function ($el, binding) {\r\n buildTouchObj($el, {\r\n touchClass: binding.value\r\n });\r\n }\r\n });\r\n\r\n app.directive(`${globalOptions.namespace}-options`, {\r\n beforeMount: function($el, binding) {\r\n buildTouchObj($el, binding.value);\r\n }\r\n });\r\n }\r\n};\r\n\r\n/*\r\n * Exports\r\n */\r\nexport default vueTouchEvents\r\n","<script setup lang=\"ts\">\n import omit from 'lodash-es/omit';\n import { computed } from 'vue';\n\n import useDialog from '../../composables/useDialog/useDialog';\n import CustomRender from '../CustomRender/CustomRender.vue';\n import Dialog from '../Dialog/Dialog.vue';\n\n const dialog = useDialog();\n\n const attributes = computed(() => {\n if (!dialog.active) return null;\n\n return omit(dialog.active, ['deferred', 'onConfirm', 'onCancel', 'slots']);\n });\n\n function onCancel() {\n if (dialog.active?.onCancel) {\n dialog.active.onCancel();\n }\n\n dialog.active?.deferred?.resolve({\n isCanceled: true,\n });\n\n dialog.close();\n }\n\n async function onConfirm() {\n if (dialog.active?.onConfirm) {\n await dialog.active.onConfirm();\n }\n\n dialog.active?.deferred?.resolve({\n isConfirmed: true,\n });\n\n dialog.close();\n }\n</script>\n\n<template>\n <Dialog :open=\"!!attributes\" v-bind=\"attributes\" @confirm=\"onConfirm\" @cancel=\"onCancel\">\n <template v-for=\"(value, name) in dialog.active?.slots\" :key=\"name\" #[name]>\n <CustomRender :render=\"value\" />\n </template>\n </Dialog>\n</template>\n","import { App, createVNode, h, Plugin, render } from 'vue';\n\nimport Dialogs from '../components/Dialogs/Dialogs.vue';\n\nexport interface DialogsPluginOptions {\n mountNodeClass?: string;\n mountNodeId?: string;\n}\n\nexport const DEFAULT_DIALOGS_PLUGIN_NODE_ID = 'stash-dialogs-mount-node';\n\nexport default <Plugin>{\n install(app: App, options?: DialogsPluginOptions) {\n const mountNodeId = options?.mountNodeId || DEFAULT_DIALOGS_PLUGIN_NODE_ID;\n let mountNode = document.getElementById(mountNodeId);\n\n if (!mountNode) {\n mountNode = document.createElement('div');\n mountNode.id = mountNodeId;\n mountNode.dataset.test = DEFAULT_DIALOGS_PLUGIN_NODE_ID;\n document.body.appendChild(mountNode);\n }\n\n if (options?.mountNodeClass && !mountNode.classList.contains(options.mountNodeClass)) {\n mountNode.classList.add(options.mountNodeClass);\n }\n\n const vNode = createVNode(h(Dialogs));\n vNode.appContext = app._context;\n\n render(vNode, mountNode);\n },\n};\n","import { Plugin } from 'vue';\nimport Vue3TouchEvents, { type Vue3TouchEventsOptions } from 'vue3-touch-events';\n\nimport { I18nPlugin, StashOptionImages, StashProvideState } from '../types/misc';\nimport locale from './locale';\n// this is valid syntax per the TS docs, but prettier throws an error expecting a comma after `type`\nimport DialogsPlugin, { type DialogsPluginOptions } from './plugins/DialogsPlugin';\nimport MenusPlugin, { type MenusPluginOptions } from './plugins/MenusPlugin';\nimport ModalsPlugin, { type ModalsPluginOptions } from './plugins/ModalsPlugin';\nimport ToastsPlugin, { type ToastsPluginOptions } from './plugins/ToastsPlugin';\nimport { overridePersistentStorage, persistentStorage } from './storage';\n\nexport interface StashPluginOptions {\n i18n?: I18nPlugin;\n storage?: {\n set: <T = unknown>(name: string, data: T, options?: { [key: string]: unknown }) => void;\n get: <T = unknown>(name: string, options?: { [key: string]: unknown }) => T;\n };\n staticPath?: string;\n images?: StashOptionImages;\n googleMapsApiKey?: string;\n menus?: false | MenusPluginOptions;\n modals?: false | ModalsPluginOptions;\n toasts?: false | ToastsPluginOptions;\n dialogs?: false | DialogsPluginOptions;\n}\n\nexport default <Plugin>{\n install(\n app,\n {\n i18n = undefined,\n storage = undefined,\n staticPath = '/static',\n images = {\n provider: 'static',\n },\n googleMapsApiKey = undefined,\n menus,\n modals,\n toasts,\n dialogs,\n }: StashPluginOptions = {},\n ) {\n app.use<Vue3TouchEventsOptions>(Vue3TouchEvents, {});\n\n // locale\n if (i18n) {\n locale.use(i18n.locale);\n locale.i18n(i18n && i18n.t);\n }\n\n // persistent storage (localStorage)\n if (storage) {\n overridePersistentStorage(storage);\n }\n\n // expose stash options to the rest of your application\n app.provide<StashProvideState>('stashOptions', {\n i18n,\n images,\n storage,\n staticPath,\n googleMapsApiKey,\n });\n\n if (menus !== false) {\n app.use(MenusPlugin, menus);\n }\n\n if (modals !== false) {\n app.use(ModalsPlugin, modals);\n }\n\n if (toasts !== false) {\n app.use(ToastsPlugin, toasts);\n }\n\n if (dialogs !== false) {\n app.use(DialogsPlugin, dialogs);\n }\n },\n};\n\nexport { persistentStorage };\n\n// Re-export things that are useful for consumers\nexport * from '../types';\nexport * from './storage';\n\n// Todo: Investigate tree-shaking issues to see if we can expose these. Theoritically\n// should be no issue, however test framework startup time, specifically w/ Jest,\n// seems to be the major blocker here.\n// export * from './components';\n// export * from './composables';\n// export * from './constants';\n// export * from './directives';\n// export * from './locale';\n// export * from './plugins';\n// export { default as ToastsPlugin } from './plugins/ToastsPlugin';\n"],"names":["touchX","event","touchY","isPassiveSupported","supportsPassive","opts","vueTouchEvents","app","constructorOptions","globalOptions","touchStartEvent","$this","isTouchEvent","isMouseEvent","$el","addTouchClass","hasEvent","triggerEvent","touchMoveEvent","curX","curY","movedAgain","swipeOutBounded","tapTolerance","cancelTouchHoldTimer","now","throttle","touchCancelEvent","removeTouchClass","touchEndEvent","touchholdEnd","direction","distanceY","distanceX","mouseEnterEvent","mouseLeaveEvent","eventType","callbacks","param","i","binding","className","buildTouchObj","extraOptions","touchObj","passiveOpt","_m","_e","dialog","useDialog","attributes","computed","omit","onCancel","_a","_c","_b","onConfirm","_openBlock","_createBlock","Dialog","_mergeProps","_renderList","_unref","value","name","_createVNode","CustomRender","DEFAULT_DIALOGS_PLUGIN_NODE_ID","DialogsPlugin","options","mountNodeId","mountNode","vNode","createVNode","h","Dialogs","render","index","i18n","storage","staticPath","images","googleMapsApiKey","menus","modals","toasts","dialogs","Vue3TouchEvents","locale","overridePersistentStorage","MenusPlugin","ModalsPlugin","ToastsPlugin"],"mappings":";;;;;;;;;;;;;;AAOA,SAASA,EAAOC,GAAO;AACnB,SAAGA,EAAM,KAAK,QAAQ,OAAO,MAAM,KACxBA,EAAM,UAEVA,EAAM,QAAQ,CAAC,EAAE;AAC5B;AAEA,SAASC,EAAOD,GAAO;AACnB,SAAGA,EAAM,KAAK,QAAQ,OAAO,MAAM,KACxBA,EAAM,UAEVA,EAAM,QAAQ,CAAC,EAAE;AAC5B;AAEA,IAAIE,KAAsB,WAAW;AACjC,MAAIC,IAAkB;AACtB,MAAI;AACA,QAAIC,IAAO,OAAO,eAAe,CAAA,GAAI,WAAW;AAAA,MAC5C,KAAK,WAAW;AACZ,QAAAD,IAAkB;AAAA,MACtB;AAAA,IACZ,CAAS;AACD,WAAO,iBAAiB,QAAQ,MAAMC,CAAI;AAAA,EAC9C,QAAY;AAAA,EAAC;AACb,SAAOD;AACX,MAEIE,IAAiB;AAAA,EACjB,SAAS,SAAUC,GAAKC,GAAoB;AAExC,QAAIC,IAAgB,OAAO,OAAO,IAAI;AAAA,MAClC,cAAc;AAAA,MACd,cAAc;AAAA;AAAA,MACd,gBAAgB;AAAA;AAAA,MAChB,oBAAoB;AAAA;AAAA,MACpB,qBAAqB;AAAA;AAAA,MACrB,YAAY;AAAA,MACrB,eAAe;AAAA;AAAA,MACf,mBAAmB;AAAA;AAAA,MACV,WAAW;AAAA,IACvB,GAAWD,CAAkB;AAErB,aAASE,EAAgBT,GAAO;AAC5B,UAAIU,IAAQ,KAAK,YACbC,IAAeX,EAAM,KAAK,QAAQ,OAAO,KAAK,GAC9CY,IAAeZ,EAAM,KAAK,QAAQ,OAAO,KAAK,GAC9Ca,IAAM;AAMV,MAJIF,MACAD,EAAM,qBAAqBV,EAAM,YAGjC,EAAAY,KAAgBF,EAAM,sBAAsBV,EAAM,YAAYU,EAAM,qBAAqB,SAIzFA,EAAM,iBAIVI,EAAc,IAAI,GAElBJ,EAAM,eAAe,IAErBA,EAAM,aAAa,IACnBA,EAAM,kBAAkB,IAExBA,EAAM,SAASX,EAAOC,CAAK,GAC3BU,EAAM,SAAST,EAAOD,CAAK,GAE3BU,EAAM,WAAW,GACjBA,EAAM,WAAW,GAEjBA,EAAM,iBAAiBV,EAAM,WAGtCU,EAAM,WAAWK,EAAS,MAAM,OAAO,KACnCA,EAAS,MAAM,YAAY,KAAKA,EAAS,MAAM,aAAa,KAC5DA,EAAS,MAAM,WAAW,KAAKA,EAAS,MAAM,cAAc,GAG5DA,EAAS,MAAM,MAAM,MAGxBL,EAAM,iBAAiB,WAAW,WAAW;AAC5C,QAAAA,EAAM,iBAAiB,MACvBM,EAAahB,GAAOa,GAAK,MAAM;AAAA,MAChC,GAAGH,EAAM,QAAQ,kBAAkB,IAG3BM,EAAahB,GAAO,MAAM,OAAO;AAAA,IACrC;AAEA,aAASiB,EAAejB,GAAO;AAC3B,UAAIU,IAAQ,KAAK,YAEtBQ,IAAOnB,EAAOC,CAAK,GACnBmB,IAAOlB,EAAOD,CAAK,GAEnBoB,IAAcV,EAAM,YAAYQ,KAAUR,EAAM,YAAYS;AAKvD,UAHAT,EAAM,WAAWQ,GACjBR,EAAM,WAAWS,GAEZT,EAAM;AAcJ,YAAIA,EAAM,YAAY,CAACA,EAAM,iBAAiB;AAC7D,cAAIW,IAAkBX,EAAM,QAAQ;AAEpC,UAAAA,EAAM,kBAAkB,KAAK,IAAIA,EAAM,SAASA,EAAM,QAAQ,IAAIW,KACjE,KAAK,IAAIX,EAAM,SAASA,EAAM,QAAQ,IAAIW;AAAA,QACnC;AAAA,aAnBuB;AACnB,YAAIC,IAAeZ,EAAM,QAAQ;AAEjC,QAAAA,EAAM,aAAa,KAAK,IAAIA,EAAM,SAASA,EAAM,QAAQ,IAAIY,KAClE,KAAK,IAAIZ,EAAM,SAASA,EAAM,QAAQ,IAAIY,GAIlCZ,EAAM,eACLa,EAAqBb,CAAK,GAC1BM,EAAahB,GAAO,MAAM,WAAW;AAAA,MAI7C;AAQA,UAAGe,EAAS,MAAM,UAAU,KAAKK,GAAW;AAGpD,YAAII,IAAMxB,EAAM,WACZyB,IAAWf,EAAM,QAAQ;AAC7B,SAAIA,EAAM,iBAAiB,QAAQc,IAAOd,EAAM,gBAAgBe,OAC/Df,EAAM,gBAAgBc,GAEtBR,EAAahB,GAAO,MAAM,UAAU;AAAA,MAE7B;AAGA,UAAGe,EAAS,MAAM,MAAM,KAAKL,EAAM,gBAAgBA,EAAM,cAAcU,GAAW;AAG1F,YAAII,IAAMxB,EAAM,WACZyB,IAAWf,EAAM,QAAQ;AAC7B,SAAIA,EAAM,iBAAiB,QAAQc,IAAOd,EAAM,gBAAgBe,OAC/Df,EAAM,gBAAgBc,GAEtBR,EAAahB,GAAO,MAAM,MAAM;AAAA,MAEzB;AAAA,IACJ;AAEA,aAAS0B,IAAmB;AACxB,UAAIhB,IAAQ,KAAK;AAEjB,MAAAa,EAAqBb,CAAK,GAC1BiB,EAAiB,IAAI,GAErBjB,EAAM,eAAeA,EAAM,aAAa,IACxCA,EAAM,SAASA,EAAM,SAAS;AAAA,IAClC;AAEA,aAASkB,EAAc5B,GAAO;AAC1B,UAAIU,IAAQ,KAAK,YACbC,IAAeX,EAAM,KAAK,QAAQ,OAAO,KAAK,GAC9CY,IAAeZ,EAAM,KAAK,QAAQ,OAAO,KAAK;AAElD,MAAIW,MACAD,EAAM,mBAAmBV,EAAM;AAGnC,UAAI6B,IAAelB,KAAgB,CAACD,EAAM;AAO1C,UANAa,EAAqBb,CAAK,GAE1BA,EAAM,eAAe,IAErBiB,EAAiB,IAAI,GAEjB,EAAAf,KAAgBF,EAAM,oBAAoBV,EAAM,YAAYU,EAAM,mBAAmB;AAOzF,YAFAM,EAAahB,GAAO,MAAM,SAAS,GAE9BU,EAAM;AAmBJ,cAAIA,EAAM,YAAY,CAACA,EAAM,iBAAiB;AACjD,gBAAIW,IAAkBX,EAAM,QAAQ,gBAChCoB,GACAC,IAAY,KAAK,IAAIrB,EAAM,SAASA,EAAM,QAAQ,GAClDsB,IAAY,KAAK,IAAItB,EAAM,SAASA,EAAM,QAAQ;AAEtD,aAAIqB,IAAYV,KAAmBW,IAAYX,OACvCU,IAAYC,IACZF,IAAYpB,EAAM,SAASA,EAAM,WAAW,QAAQ,WAEpDoB,IAAYpB,EAAM,SAASA,EAAM,WAAW,SAAS,SAIrDK,EAAS,MAAM,WAAWe,CAAS,IACnCd,EAAahB,GAAO,MAAM,WAAW8B,GAAWA,CAAS,IAGzDd,EAAahB,GAAO,MAAM,SAAS8B,CAAS;AAAA,UAGxD;AAAA,mBAtCQf,EAAS,MAAM,SAAS,KAAKf,EAAM,YAAYU,EAAM,iBAAiBA,EAAM,QAAQ;AACpF,UAAIV,EAAM,cACNA,EAAM,eAAc,GAExBgB,EAAahB,GAAO,MAAM,SAAS;AAAA,iBAE5Be,EAAS,MAAM,MAAM,KAAKc,GAAc;AAC/C,UAAI7B,EAAM,cACNA,EAAM,eAAc;AAExB;AAAA,QACJ;AAEI,UAAAgB,EAAahB,GAAO,MAAM,KAAK;AAAA,IA0B3C;AAEA,aAASiC,IAAkB;AACvB,MAAAnB,EAAc,IAAI;AAAA,IACtB;AAEA,aAASoB,IAAkB;AACvB,MAAAP,EAAiB,IAAI;AAAA,IACzB;AAEA,aAASZ,EAASF,GAAKsB,GAAW;AAC9B,UAAIC,IAAYvB,EAAI,WAAW,UAAUsB,CAAS;AAC3D,aAAQC,KAAa,QAAQA,EAAU,SAAS;AAAA,IACjD;AAEM,aAASpB,EAAa,GAAGH,GAAKsB,GAAWE,GAAO;AAC5C,UAAI3B,IAAQG,EAAI,YAGZuB,IAAY1B,EAAM,UAAUyB,CAAS;AAGzC,UAAIC,KAAa,QAAQA,EAAU,WAAW;AAC1C,eAAO;AAIX,eAASE,IAAI,GAAGA,IAAIF,EAAU,QAAQE,KAAK;AACvC,YAAIC,IAAUH,EAAUE,CAAC;AAWzB,QATIC,EAAQ,UAAU,QAClB,EAAE,gBAAe,GAGjBA,EAAQ,UAAU,WAClB,EAAE,eAAc,GAIhB,EAAAA,EAAQ,UAAU,QAAQ,EAAE,WAAW,EAAE,kBAIzC,OAAOA,EAAQ,SAAU,eACrBF,IACAE,EAAQ,MAAMF,GAAO,CAAC,IAEtBE,EAAQ,MAAM,CAAC;AAAA,MAG3B;AAAA,IACJ;AAEA,aAASzB,EAAcD,GAAK;AACxB,UAAI2B,IAAY3B,EAAI,WAAW,QAAQ;AACvC,MAAA2B,KAAa3B,EAAI,UAAU,IAAI2B,CAAS;AAAA,IAC5C;AAEA,aAASb,EAAiBd,GAAK;AAC3B,UAAI2B,IAAY3B,EAAI,WAAW,QAAQ;AACvC,MAAA2B,KAAa3B,EAAI,UAAU,OAAO2B,CAAS;AAAA,IAC/C;AAEA,aAASjB,EAAqBb,GAAO;AACjC,MAAIA,KAASA,EAAM,mBACf,aAAaA,EAAM,cAAc,GACjCA,EAAM,iBAAiB;AAAA,IAE/B;AAEA,aAAS+B,EAAc5B,GAAK6B,GAAc;AACtC,UAAIC,IAAW9B,EAAI,cAAc;AAAA;AAAA;AAAA,QAG7B,WAAW,CAAA;AAAA;AAAA,QAEX,oBAAoB;AAAA;AAAA,QAEpB,SAASL;AAAA,MACzB;AACY,aAAIkC,MACAC,EAAS,UAAU,OAAO,OAAO,CAAA,GAAIA,EAAS,SAASD,CAAY,IAEvE7B,EAAI,aAAa8B,GACV9B,EAAI;AAAA,IACf;AAEA,IAAAP,EAAI,UAAUE,EAAc,WAAW;AAAA,MACnC,aAAa,SAAUK,GAAK0B,GAAS;AAEjC,YAAI7B,IAAQ+B,EAAc5B,CAAG,GAEzB+B,IAAa1C,IAAqB,EAAE,SAAS,GAAI,IAAK,IAEtDiC,IAAYI,EAAQ,OAAO;AAC/B,gBAAQJ,GAAS;AAAA,UACb,KAAK;AACD,gBAAIU,IAAKN,EAAQ;AACjB,gBAAIM,EAAG,QAAQA,EAAG,SAASA,EAAG,OAAOA,EAAG;AACpC,uBAASP,KAAKC,EAAQ;AAClB,oBAAI,CAAC,QAAQ,SAAS,OAAO,QAAQ,EAAE,QAAQD,CAAC,KAAK,GAAG;AACpD,sBAAIQ,IAAK,WAAWR;AACpB,kBAAA5B,EAAM,UAAUoC,CAAE,IAAIpC,EAAM,UAAUoC,CAAE,KAAK,IAC7CpC,EAAM,UAAUoC,CAAE,EAAE,KAAKP,CAAO;AAAA,gBACpC;AAAA;AAGJ,cAAA7B,EAAM,UAAU,QAAQA,EAAM,UAAU,SAAS,IACjDA,EAAM,UAAU,MAAM,KAAK6B,CAAO;AAEtC;AAAA,UAEJ,KAAK;AAAA,UACL,KAAK;AACD,YAAIA,EAAQ,UAAU,mBAElBK,IAAa;AAAA,UAErB;AACI,YAAAlC,EAAM,UAAUyB,CAAS,IAAIzB,EAAM,UAAUyB,CAAS,KAAK,IAC3DzB,EAAM,UAAUyB,CAAS,EAAE,KAAKI,CAAO;AAAA,QAC/D;AAGgB,QAAI7B,EAAM,uBAIVG,EAAI,iBAAiB,cAAcJ,GAAiBmC,CAAU,GAC9D/B,EAAI,iBAAiB,aAAaI,GAAgB2B,CAAU,GAC5D/B,EAAI,iBAAiB,eAAea,CAAgB,GACpDb,EAAI,iBAAiB,YAAYe,CAAa,GAEzClB,EAAM,QAAQ,iBACfG,EAAI,iBAAiB,aAAaJ,CAAe,GACjDI,EAAI,iBAAiB,aAAaI,CAAc,GAChDJ,EAAI,iBAAiB,WAAWe,CAAa,GAC7Cf,EAAI,iBAAiB,cAAcoB,CAAe,GAClDpB,EAAI,iBAAiB,cAAcqB,CAAe,IAItDxB,EAAM,qBAAqB;AAAA,MAC/B;AAAA,MAEA,WAAW,SAAUG,GAAK;AACtB,QAAAU,EAAqBV,EAAI,UAAU,GAEnCA,EAAI,oBAAoB,cAAcJ,CAAe,GACrDI,EAAI,oBAAoB,aAAaI,CAAc,GACnDJ,EAAI,oBAAoB,eAAea,CAAgB,GACvDb,EAAI,oBAAoB,YAAYe,CAAa,GAE7Cf,EAAI,cAAc,CAACA,EAAI,WAAW,QAAQ,iBAC1CA,EAAI,oBAAoB,aAAaJ,CAAe,GACpDI,EAAI,oBAAoB,aAAaI,CAAc,GACnDJ,EAAI,oBAAoB,WAAWe,CAAa,GAChDf,EAAI,oBAAoB,cAAcoB,CAAe,GACrDpB,EAAI,oBAAoB,cAAcqB,CAAe,IAIzD,OAAOrB,EAAI;AAAA,MACf;AAAA,IACZ,CAAS,GAEDP,EAAI,UAAU,GAAGE,EAAc,SAAS,UAAU;AAAA,MAC9C,aAAa,SAAUK,GAAK0B,GAAS;AACjC,QAAAE,EAAc5B,GAAK;AAAA,UACf,YAAY0B,EAAQ;AAAA,QACxC,CAAiB;AAAA,MACL;AAAA,IACZ,CAAS,GAEDjC,EAAI,UAAU,GAAGE,EAAc,SAAS,YAAY;AAAA,MAChD,aAAa,SAASK,GAAK0B,GAAS;AAChC,QAAAE,EAAc5B,GAAK0B,EAAQ,KAAK;AAAA,MACpC;AAAA,IACZ,CAAS;AAAA,EACL;AACJ;;;;ACrZE,UAAMQ,IAASC,EAAA,GAETC,IAAaC,EAAS,MACrBH,EAAO,SAELI,EAAKJ,EAAO,QAAQ,CAAC,YAAY,aAAa,YAAY,OAAO,CAAC,IAF9C,IAG5B;AAED,aAASK,IAAW;;AAClB,OAAIC,IAAAN,EAAO,WAAP,QAAAM,EAAe,YACjBN,EAAO,OAAO,SAAA,IAGhBO,KAAAC,IAAAR,EAAO,WAAP,gBAAAQ,EAAe,aAAf,QAAAD,EAAyB,QAAQ;AAAA,QAC/B,YAAY;AAAA,MAAA,IAGdP,EAAO,MAAA;AAAA,IACT;AAEA,mBAAeS,IAAY;;AACzB,OAAIH,IAAAN,EAAO,WAAP,QAAAM,EAAe,aACjB,MAAMN,EAAO,OAAO,UAAA,IAGtBO,KAAAC,IAAAR,EAAO,WAAP,gBAAAQ,EAAe,aAAf,QAAAD,EAAyB,QAAQ;AAAA,QAC/B,aAAa;AAAA,MAAA,IAGfP,EAAO,MAAA;AAAA,IACT;;;AAIA,aAAAU,EAAA,GAAAC,EAISC,GAJTC,EAIS;AAAA,QAJA,QAAQX,EAAA;AAAA,MAAA,GAAoBA,EAAA,OAAU;AAAA,QAAG,WAAAO;AAAA,QAAqB,UAAAJ;AAAA,MAAA;QACnCS,GAAAC,IAAAA,EAAAf,CAAA,EAAO,WAAPe,gBAAAA,EAAe,OAAK,CAApCC,GAAOC;;gBACvB,MAAgC;AAAA,YAAhCC,EAAgCC,GAAA,EAAjB,QAAQH,EAAA,GAAK,MAAA,GAAA,CAAA,QAAA,CAAA;AAAA,UAAA;;;;;ICnCrBI,IAAiC,4BAE9CC,IAAuB;AAAA,EACrB,QAAQ9D,GAAU+D,GAAgC;AAChD,UAAMC,KAAcD,KAAA,gBAAAA,EAAS,gBAAeF;AAC5C,QAAII,IAAY,SAAS,eAAeD,CAAW;AAEnD,IAAKC,MACHA,IAAY,SAAS,cAAc,KAAK,GACxCA,EAAU,KAAKD,GACfC,EAAU,QAAQ,OAAOJ,GACzB,SAAS,KAAK,YAAYI,CAAS,IAGjCF,KAAA,QAAAA,EAAS,kBAAkB,CAACE,EAAU,UAAU,SAASF,EAAQ,cAAc,KACjFE,EAAU,UAAU,IAAIF,EAAQ,cAAc;AAGhD,UAAMG,IAAQC,EAAYC,EAAEC,CAAO,CAAC;AACpC,IAAAH,EAAM,aAAalE,EAAI,UAEvBsE,EAAOJ,GAAOD,CAAS;AAAA,EACzB;AACF,GCLAM,KAAuB;AAAA,EACrB,QACEvE,GACA;AAAA,IACE,MAAAwE,IAAO;AAAA,IACP,SAAAC,IAAU;AAAA,IACV,YAAAC,IAAa;AAAA,IACb,QAAAC,IAAS;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,IAEZ,kBAAAC,IAAmB;AAAA,IACnB,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,IACsB,IACxB;AACA,IAAAhF,EAAI,IAA4BiF,GAAiB,EAAE,GAG/CT,MACFU,EAAO,IAAIV,EAAK,MAAM,GACtBU,EAAO,KAAKV,KAAQA,EAAK,CAAC,IAIxBC,KACFU,EAA0BV,CAAO,GAInCzE,EAAI,QAA2B,gBAAgB;AAAA,MAC7C,MAAAwE;AAAA,MACA,QAAAG;AAAA,MACA,SAAAF;AAAA,MACA,YAAAC;AAAA,MACA,kBAAAE;AAAA,IAAA,CACD,GAEGC,MAAU,MACZ7E,EAAI,IAAIoF,GAAaP,CAAK,GAGxBC,MAAW,MACb9E,EAAI,IAAIqF,GAAcP,CAAM,GAG1BC,MAAW,MACb/E,EAAI,IAAIsF,GAAcP,CAAM,GAG1BC,MAAY,MACdhF,EAAI,IAAI8D,GAAekB,CAAO;AAAA,EAElC;AACF;","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leaflink/stash",
3
- "version": "53.4.1",
3
+ "version": "53.4.3",
4
4
  "description": "LeafLink's design system.",
5
5
  "homepage": "https://stash.leaflink.com",
6
6
  "main": "./dist/index.ts",
@@ -84,7 +84,6 @@
84
84
  "fuzzysort": "3.0.2",
85
85
  "sanitize-html": "2.13.0",
86
86
  "v-calendar": "3.1.2",
87
- "vue": "3.5.13",
88
87
  "vue-currency-input": "3.1.0",
89
88
  "vue-inline-svg": "3.1.4",
90
89
  "vue3-carousel": "0.3.4",
@@ -125,7 +124,8 @@
125
124
  "peerDependencies": {
126
125
  "lodash-es": "^4.x.x",
127
126
  "tailwindcss": "^4.x.x",
128
- "vue-router": "^4.x.x"
127
+ "vue": "^3.5.28",
128
+ "vue-router": "^4.6.4"
129
129
  },
130
130
  "peerDependenciesMeta": {
131
131
  "@leaflink/snitch": {
@@ -1,74 +0,0 @@
1
- import { defineComponent as c, ref as u, onMounted as x, createBlock as m, openBlock as s, resolveDynamicComponent as v, normalizeClass as E, withCtx as i, createVNode as g, Transition as k, createElementBlock as n, withDirectives as w, Fragment as C, createCommentVNode as B, renderSlot as d, vShow as N } from "vue";
2
- const z = /* @__PURE__ */ c({
3
- name: "ll-expand",
4
- __name: "Expand",
5
- props: {
6
- is: { default: "div" },
7
- isExpanded: { type: Boolean, default: !1 },
8
- isLazy: { type: Boolean, default: !1 },
9
- transitionName: { default: "expand" }
10
- },
11
- emits: ["after-expand"],
12
- setup(l, { emit: r }) {
13
- const o = l, p = r, t = u(null);
14
- x(() => {
15
- !o.isExpanded && t.value && (t.value.style.overflow = "hidden");
16
- });
17
- const f = (e) => {
18
- e.style.visibility = "hidden", e.style.height = "auto";
19
- const a = e.offsetHeight;
20
- e.style.visibility = "", e.style.display = "", e.style.height = 0, requestAnimationFrame(() => {
21
- e.style.height = `${a}px`;
22
- });
23
- }, h = (e) => {
24
- e.style.height = "", e.style.overflow = "", p("after-expand");
25
- }, y = (e) => {
26
- const a = e.offsetHeight;
27
- e.style.height = `${a}px`, e.style.overflow = "hidden", requestAnimationFrame(() => {
28
- e.style.height = 0;
29
- });
30
- };
31
- return (e, a) => (s(), m(v(o.is), {
32
- class: E(["stash-expand", {
33
- "stash-expand--expanded": e.isExpanded,
34
- "stash-expand--collapsed": !e.isExpanded
35
- }]),
36
- "data-test": "stash-expand"
37
- }, {
38
- default: i(() => [
39
- g(k, {
40
- name: e.transitionName,
41
- onAfterEnter: h,
42
- onEnter: f,
43
- onLeave: y
44
- }, {
45
- default: i(() => [
46
- e.isLazy ? (s(), n(C, { key: 0 }, [
47
- e.isExpanded ? (s(), n("div", {
48
- key: 0,
49
- ref_key: "contentRef",
50
- ref: t
51
- }, [
52
- d(e.$slots, "default")
53
- ], 512)) : B("", !0)
54
- ], 64)) : w((s(), n("div", {
55
- key: 1,
56
- ref_key: "contentRef",
57
- ref: t
58
- }, [
59
- d(e.$slots, "default")
60
- ], 512)), [
61
- [N, e.isExpanded]
62
- ])
63
- ]),
64
- _: 3
65
- }, 8, ["name"])
66
- ]),
67
- _: 3
68
- }, 8, ["class"]));
69
- }
70
- });
71
- export {
72
- z as _
73
- };
74
- //# sourceMappingURL=Expand.vue_vue_type_script_setup_true_lang-CiONJfAp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Logo.vue_vue_type_script_setup_true_lang-DghNC_k6.js","sources":["../assets/logos/direct-pay-lockup.svg","../assets/logos/flex-pay-lockup.svg","../assets/logos/leaflink-brandmark.svg","../assets/logos/leaflink-lockup.svg","../assets/logos/marketplace-brandmark.svg","../assets/logos/payments-brandmark.svg","../assets/logos/payments-lockup.svg","../assets/logos/post-lockup.svg","../src/components/Logo/Logo.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n fill: \"#1E164B\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 107 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M6.746 2a4 4 0 0 0-4 4v12a4 4 0 0 0 4 4h12a4 4 0 0 0 4-4V6a4 4 0 0 0-4-4h-12Zm6.827 8.927c1.473.394 2.567 1.196 2.567 2.61 0 1.344-.936 2.313-2.244 2.63-.342.083-.614.368-.614.72v.18a.496.496 0 0 1-.992 0v-.215c0-.354-.263-.646-.601-.75-.973-.302-1.658-.964-1.933-1.782-.154-.457.253-.855.736-.855.485 0 .856.437 1.161.815.265.328.708.54 1.293.54.92 0 1.43-.539 1.43-1.195 0-.51-.365-.933-1.226-1.167l-1.137-.32c-1.983-.51-2.333-1.707-2.333-2.48 0-1.234.86-2.154 2.034-2.512.324-.1.576-.379.576-.717v-.183a.496.496 0 1 1 .992 0v.174c0 .34.26.62.587.714.941.269 1.618.91 1.871 1.779.133.457-.273.847-.75.847-.473 0-.827-.424-1.134-.793l-.03-.036c-.23-.275-.591-.44-1.04-.44-.773 0-1.327.482-1.327 1.124 0 .262.073.772 1.05 1.035l1.064.277Z\"\n }, null, -1),\n _createElementVNode(\"path\", { d: \"M28.746 16.832h3.803c2.782 0 4.39-2.076 4.39-4.811 0-2.749-1.608-4.853-4.39-4.853h-3.803v9.664Zm2.195-1.922V9.09h1.608c1.44 0 2.18 1.416 2.18 2.931 0 1.5-.74 2.89-2.18 2.89H30.94ZM38.63 16.832h2.195V7.168H38.63v9.664ZM47.905 16.832h2.558l-2.488-3.52c1.551-.393 2.264-1.585 2.264-2.946 0-1.599-1.006-3.198-3.243-3.198h-3.942v9.664h2.195v-3.394h.433l2.223 3.394ZM45.249 9.09h1.453c.895 0 1.329.687 1.329 1.332s-.42 1.276-1.384 1.276h-1.398V9.09ZM54.218 14.91V13.06h3.495V11.08h-3.495V9.09h3.984V7.168h-6.179v9.664h6.305V14.91h-4.11ZM64.262 17a4.898 4.898 0 0 0 4.054-2.146l-1.706-1.192c-.503.785-1.244 1.262-2.264 1.262-1.65 0-2.768-1.346-2.768-2.945 0-1.599 1.16-2.903 2.782-2.903 1.006 0 1.747.477 2.25 1.262l1.706-1.192A4.899 4.899 0 0 0 64.262 7c-2.712 0-4.893 2.258-4.893 4.979 0 2.749 2.18 5.021 4.893 5.021ZM76.216 7.168h-7.283V9.09h2.544v7.742h2.195V9.09h2.544V7.168ZM85.39 7.168h-3.97v9.664h2.195V13.55h1.776c2.236 0 3.243-1.571 3.243-3.184 0-1.599-1.007-3.198-3.243-3.198Zm-.097 4.46h-1.678V9.09h1.692c.81 0 1.118.659 1.118 1.276s-.308 1.262-1.132 1.262ZM95.526 16.832h2.335L94.31 7.168h-2.39l-3.566 9.664h2.349l.713-2.244h3.383l.727 2.244Zm-3.509-4.152 1.077-3.38 1.09 3.38h-2.167ZM103.758 7.168l-2.265 3.563-2.222-3.563h-2.615l3.747 5.302v4.362h2.209v-4.32l3.76-5.344h-2.614Z\" }, null, -1)\n ])))\n}\nexport default { render: render }","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n fill: \"#1E164B\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 89 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M6 2a4 4 0 0 0-4 4v12a4 4 0 0 0 4 4h12a4 4 0 0 0 4-4V6a4 4 0 0 0-4-4H6Zm6.827 8.927c1.473.394 2.567 1.196 2.567 2.61 0 1.344-.936 2.313-2.244 2.63-.342.083-.614.368-.614.72v.18a.496.496 0 0 1-.992 0v-.215c0-.354-.264-.646-.602-.75-.972-.302-1.657-.964-1.932-1.782-.154-.457.253-.855.736-.855.485 0 .856.437 1.161.815.265.328.708.54 1.293.54.919 0 1.43-.539 1.43-1.195 0-.51-.365-.933-1.226-1.167l-1.137-.32c-1.983-.51-2.333-1.707-2.333-2.48 0-1.234.86-2.154 2.034-2.512.324-.1.576-.379.576-.717v-.183a.496.496 0 1 1 .992 0v.174c0 .34.26.62.587.714.941.269 1.618.91 1.871 1.779.133.457-.273.847-.75.847-.474 0-.827-.424-1.134-.793l-.03-.036c-.23-.275-.591-.44-1.04-.44-.773 0-1.327.482-1.327 1.124 0 .262.073.772 1.05 1.035l1.064.277Z\"\n }, null, -1),\n _createElementVNode(\"path\", { d: \"M34.08 9.09V7.168H28v9.664h2.19V13.03h3.08v-1.908h-3.08V9.09h3.89ZM35.639 16.832h5.716V14.91h-3.527V7.168h-2.19v9.664ZM44.922 14.91V13.06h3.486V11.08h-3.486V9.09h3.974V7.168h-6.163v9.664h6.288V14.91h-4.1ZM58.978 16.832l-3.333-5.148 3.04-4.516h-2.621l-1.715 2.763-1.687-2.763h-2.65l3.026 4.516-3.304 5.148h2.565l2.05-3.394 2.05 3.394h2.579ZM67.82 7.168h-3.96v9.664h2.19V13.55h1.77c2.23 0 3.235-1.571 3.235-3.184 0-1.599-1.004-3.198-3.235-3.198Zm-.098 4.46H66.05V9.09h1.687c.809 0 1.116.659 1.116 1.276s-.307 1.262-1.13 1.262ZM77.929 16.832h2.328l-3.541-9.664H74.33l-3.555 9.664h2.342l.711-2.244h3.375l.725 2.244Zm-3.5-4.152 1.074-3.38 1.087 3.38H74.43ZM86.139 7.168l-2.259 3.563-2.217-3.563h-2.607l3.737 5.302v4.362h2.203v-4.32l3.75-5.344H86.14Z\" }, null, -1)\n ])))\n}\nexport default { render: render }","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n viewBox: \"0 0 29 24\",\n fill: \"#1E164B\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", { d: \"M7.219 18.834v-4.518L0 23.633h4.195l3.092-3.99a4.956 4.956 0 0 1-.068-.81ZM14.74 22.248a3.8 3.8 0 0 1-2.657-1.094 3.68 3.68 0 0 1-1.097-2.621c0-.03.01-11.764.01-13.665.003-1.747 1.502-3.334 3.442-3.334.87 0 1.706.324 2.343.906A4.876 4.876 0 0 0 14.408.41a4.971 4.971 0 0 0-3.139-.193 4.902 4.902 0 0 0-2.61 1.726 4.771 4.771 0 0 0-1.007 2.932v13.942c0 2.522 2.11 4.803 4.9 4.803a4.904 4.904 0 0 0 2.834-.887c.345-.238.658-.517.932-.831a3.753 3.753 0 0 1-1.578.347Z\" }, null, -1),\n _createElementVNode(\"path\", { d: \"M18.023 18.823v-4.518l-4.23 5.429c-.219.282-.53.48-.883.562-.351.081-.72.04-1.044-.117.265.46.641.848 1.094 1.132a3.338 3.338 0 0 0 3.073.248c.494-.207.929-.53 1.267-.941l.788-1.008a4.672 4.672 0 0 1-.065-.787ZM25.55 22.248a3.799 3.799 0 0 1-2.657-1.094 3.679 3.679 0 0 1-1.096-2.621l.01-13.665c0-1.746 1.5-3.33 3.441-3.33.868 0 1.703.325 2.338.907A4.875 4.875 0 0 0 25.216.414 4.971 4.971 0 0 0 22.077.22a4.902 4.902 0 0 0-2.61 1.723 4.77 4.77 0 0 0-1.01 2.931v13.942c0 2.522 2.111 4.803 4.9 4.803a4.904 4.904 0 0 0 2.835-.887c.345-.238.658-.517.932-.831a3.756 3.756 0 0 1-1.574.347Z\" }, null, -1),\n _createElementVNode(\"path\", { d: \"m26.12 17.75-1.523 1.983c-.219.282-.53.48-.881.562-.352.081-.72.04-1.044-.116.266.46.642.848 1.095 1.132a3.339 3.339 0 0 0 3.073.248c.494-.207.929-.53 1.268-.941l.67-.865-2.657-2.003ZM25.243 1.989c-.547 0-1.084.147-1.553.425a2.99 2.99 0 0 0-1.11 1.15 1.58 1.58 0 0 1 1.973.31 1.52 1.52 0 0 1 .044 1.966L22.23 8.897v5.399l5.02-6.459a4.711 4.711 0 0 0 1.01-2.921 2.943 2.943 0 0 0-.897-2.073 3.038 3.038 0 0 0-2.119-.854ZM14.438 1.989a3.055 3.055 0 0 0-1.551.426 2.99 2.99 0 0 0-1.108 1.15 1.58 1.58 0 0 1 1.97.312 1.52 1.52 0 0 1 .044 1.963l-2.368 3.057v5.399l5.019-6.459a4.713 4.713 0 0 0 1.008-2.921 2.943 2.943 0 0 0-.897-2.073 3.038 3.038 0 0 0-2.117-.854Z\" }, null, -1)\n ])))\n}\nexport default { render: render }","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = {\n fill: \"#1E164B\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 139 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createStaticVNode(\"<g clip-path=\\\"url(#logo_leaflink_lockup)\\\"><path d=\\\"M35.265.068h3.883V23.64h-3.883V.068ZM57.586 16.946H45.493c.433 2.143 2.11 3.232 4.422 3.232 1.708 0 3.316-.66 4.254-1.912l2.58 1.945c-1.44 2.242-4.188 3.429-7.036 3.429-4.689 0-8.24-3.231-8.24-8.045 0-4.912 3.752-8.013 8.207-8.013 4.49 0 8.007 3.069 8.007 7.88-.005.496-.038.992-.1 1.484Zm-3.786-2.67c-.234-2.11-1.876-3.33-4.053-3.33-2.11 0-3.785.989-4.254 3.33H53.8ZM76.628 7.913V23.64H72.74v-2.407c-1.071 1.648-3.282 2.407-5.196 2.407-4.12 0-7.709-3.132-7.709-8.045 0-4.944 3.552-8.013 7.672-8.013 1.977 0 4.158.759 5.226 2.374V7.91l3.894.003Zm-3.953 7.649c0-2.704-2.278-4.418-4.522-4.418-2.412 0-4.389 1.846-4.389 4.418s1.977 4.484 4.389 4.484c2.378 0 4.522-1.78 4.522-4.484ZM83.997 6.891v1.352h3.484v3.069h-3.484V23.64h-3.882V7.089C80.115 2.67 82.255 0 86.61 0h1.843l-1.072 3.56c-2.647 0-3.418 1.451-3.384 3.331ZM91.182.07h3.886v23.57h-3.886V.07ZM97.993 2.803c0-1.352 1.172-2.341 2.546-2.341 1.407 0 2.512.989 2.512 2.34 0 1.32-1.105 2.342-2.512 2.342-1.37 0-2.546-1.023-2.546-2.341Zm.606 5.44h3.886v15.396h-3.886V8.243ZM120.934 15.003v8.637h-3.885v-8.276c0-2.44-1.508-3.693-3.25-3.693-1.776 0-3.984.957-3.984 3.922v8.044h-3.891V8.243h3.886v2.44c.803-1.913 3.249-2.77 4.857-2.77 4.023 0 6.267 2.604 6.267 7.09ZM134.073 23.64l-6.098-6.99v6.99h-3.885V.068h3.885v13.087l4.489-4.912h5.059l-6.365 6.726 7.838 8.67h-4.923ZM7.219 18.834v-4.518L0 23.633h4.195l3.092-3.99a4.956 4.956 0 0 1-.068-.81ZM14.74 22.248a3.8 3.8 0 0 1-2.657-1.094 3.68 3.68 0 0 1-1.097-2.621c0-.03.01-11.764.01-13.665.003-1.747 1.502-3.334 3.442-3.334.87 0 1.706.324 2.343.906A4.876 4.876 0 0 0 14.408.41a4.971 4.971 0 0 0-3.139-.193 4.902 4.902 0 0 0-2.61 1.726 4.771 4.771 0 0 0-1.007 2.932v13.942c0 2.522 2.11 4.803 4.9 4.803a4.903 4.903 0 0 0 2.834-.887c.345-.238.658-.517.932-.831a3.753 3.753 0 0 1-1.578.347Z\\\"></path><path d=\\\"M18.023 18.823v-4.518l-4.23 5.429c-.219.282-.53.48-.883.562-.351.081-.72.04-1.044-.117.265.46.641.848 1.094 1.132a3.338 3.338 0 0 0 3.073.248c.494-.207.929-.53 1.267-.941l.788-1.008a4.672 4.672 0 0 1-.065-.787ZM25.55 22.248a3.799 3.799 0 0 1-2.657-1.094 3.679 3.679 0 0 1-1.096-2.621l.01-13.665c0-1.746 1.5-3.33 3.441-3.33.868 0 1.703.325 2.338.907A4.875 4.875 0 0 0 25.216.414 4.971 4.971 0 0 0 22.077.22a4.902 4.902 0 0 0-2.61 1.723 4.77 4.77 0 0 0-1.01 2.931v13.942c0 2.522 2.111 4.803 4.9 4.803a4.904 4.904 0 0 0 2.835-.887c.345-.238.658-.517.932-.831a3.756 3.756 0 0 1-1.574.347Z\\\"></path><path d=\\\"m26.12 17.75-1.523 1.983c-.219.282-.53.48-.881.562-.352.081-.72.04-1.044-.116.266.46.642.848 1.095 1.132a3.339 3.339 0 0 0 3.073.248c.494-.207.929-.53 1.268-.941l.67-.865-2.657-2.003ZM25.243 1.989c-.547 0-1.084.147-1.553.425a2.99 2.99 0 0 0-1.11 1.15 1.58 1.58 0 0 1 1.973.31 1.52 1.52 0 0 1 .044 1.966L22.23 8.897v5.399l5.02-6.459a4.711 4.711 0 0 0 1.01-2.921 2.943 2.943 0 0 0-.897-2.073 3.038 3.038 0 0 0-2.119-.854ZM14.438 1.989a3.055 3.055 0 0 0-1.551.426 2.99 2.99 0 0 0-1.108 1.15 1.58 1.58 0 0 1 1.97.312 1.52 1.52 0 0 1 .044 1.963l-2.368 3.057v5.399l5.019-6.459a4.713 4.713 0 0 0 1.008-2.921 2.943 2.943 0 0 0-.897-2.073 3.038 3.038 0 0 0-2.117-.854Z\\\"></path></g><defs><clipPath id=\\\"logo_leaflink_lockup\\\"><path fill=\\\"#fff\\\" d=\\\"M0 0h139v23.64H0z\\\"></path></clipPath></defs>\", 2)\n ])))\n}\nexport default { render: render }","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n fill: \"#1E164B\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M6 2a4 4 0 0 0-4 4v12a4 4 0 0 0 4 4h12a4 4 0 0 0 4-4V6a4 4 0 0 0-4-4H6Zm9.308 13.322V8.655a1.486 1.486 0 0 1 .027-.31 1.687 1.687 0 0 1 1.245-1.29 1.703 1.703 0 0 1 1.622.44l.035.037c.018.018.036.037.052.056a2.39 2.39 0 0 0-1.44-1.304 2.386 2.386 0 0 0-.749-.117 2.385 2.385 0 0 0-2.41 2.357v6.903a2.389 2.389 0 0 0 1.676 2.294 2.416 2.416 0 0 0 2.591-.773 1.85 1.85 0 0 1-2.108-.353 1.805 1.805 0 0 1-.517-1.01 2.54 2.54 0 0 1-.024-.263ZM12.6 10.164l-2.108 2.748-.227.296v-2.669l1.08-1.415c.047-.061.09-.126.126-.195.213-.415.131-.827-.21-1.048a.771.771 0 0 0-.694-.074l.015-.02.038-.047.021-.025a.669.669 0 0 1 .045-.05l.02-.019a1.485 1.485 0 0 1 2.438.543c.064.178.093.366.086.554a2.364 2.364 0 0 1-.61 1.398l-.02.023Zm-5.857 7.67 1.51-1.986a2.514 2.514 0 0 1-.031-.424v-2.203l-3.513 4.612h2.034Zm6.51-1.63.256-.35a4.485 4.485 0 0 1-.012-.077l-.011-.073v-.07l-.004-.034c-.003-.014-.003-.029-.003-.043v-2.319l-.131.179-.385.522c-.593.803-1.348 1.807-1.574 2.033a.778.778 0 0 1-.897.144.798.798 0 0 0 .055.087.953.953 0 0 0 .092.126c.01.014.02.026.032.039l.004.004.034.037.037.038a1.588 1.588 0 0 0 .454.317 1.642 1.642 0 0 0 2.003-.492l.04-.053.01-.014Zm5.236-7.458v-.004a1.465 1.465 0 0 0-.437-1.094 1.49 1.49 0 0 0-1.867-.185l-.059.043a1.473 1.473 0 0 0-.167.143l-.006.006c-.02.02-.04.04-.057.06l-.021.026-.038.047-.014.019a.774.774 0 0 1 .698.074c.34.221.422.633.209 1.048a1.308 1.308 0 0 1-.128.195l-1.077 1.415v2.669l.225-.296 2.115-2.755a2.367 2.367 0 0 0 .624-1.411Zm.22 7.181-.203.278-.012.016a1.367 1.367 0 0 1-.03.042l-.007.009a.101.101 0 0 1-.01.016l-.02.023-.04.05-.01.012a1.04 1.04 0 0 1-.068.076 1.646 1.646 0 0 1-2.274.035l-.006-.004-.006-.006a1.696 1.696 0 0 1-.292-.364l.003.003c.002 0 .003 0 .004.002l.003.001a.786.786 0 0 0 .898-.144c.114-.114.372-.436.77-.958l1.3.913Zm-8.656-7.273v6.666c0 .086.007.172.022.258v.006a1.805 1.805 0 0 0 .565 1.055 1.86 1.86 0 0 0 2.063.308 2.42 2.42 0 0 1-3.566.187 2.355 2.355 0 0 1-.702-1.706V8.522a2.388 2.388 0 0 1 2.412-2.355c.256-.001.51.04.752.12.443.147.834.42 1.125.782.127.16.233.335.314.52a1.703 1.703 0 0 0-1.707-.53c-.58.149-1.038.59-1.204 1.162a.684.684 0 0 0-.04.126c-.023.1-.034.204-.034.307Z\"\n }, null, -1)\n ])))\n}\nexport default { render: render }","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n fill: \"#1E164B\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M6 2a4 4 0 0 0-4 4v12a4 4 0 0 0 4 4h12a4 4 0 0 0 4-4V6a4 4 0 0 0-4-4H6Zm6.827 8.927c1.473.394 2.567 1.196 2.567 2.61 0 1.344-.936 2.313-2.244 2.63-.342.083-.614.368-.614.72v.18a.496.496 0 0 1-.992 0v-.215c0-.354-.264-.646-.602-.75-.972-.302-1.657-.964-1.932-1.782-.154-.457.253-.855.736-.855.485 0 .856.437 1.161.815.265.328.708.54 1.293.54.919 0 1.43-.539 1.43-1.195 0-.51-.365-.933-1.226-1.167l-1.137-.32c-1.983-.51-2.333-1.707-2.333-2.48 0-1.234.86-2.154 2.034-2.512.324-.1.576-.379.576-.717v-.183a.496.496 0 1 1 .992 0v.174c0 .34.26.62.587.714.941.269 1.618.91 1.871 1.779.133.457-.273.847-.75.847-.474 0-.827-.424-1.134-.793l-.03-.036c-.23-.275-.591-.44-1.04-.44-.773 0-1.327.482-1.327 1.124 0 .262.073.772 1.05 1.035l1.064.277Z\"\n }, null, -1)\n ])))\n}\nexport default { render: render }","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n fill: \"#1E164B\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 164 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M6 2a4 4 0 0 0-4 4v12a4 4 0 0 0 4 4h12a4 4 0 0 0 4-4V6a4 4 0 0 0-4-4H6Zm6.827 8.927c1.473.394 2.567 1.196 2.567 2.61 0 1.344-.936 2.313-2.244 2.63-.342.083-.614.368-.614.72v.18a.496.496 0 0 1-.992 0v-.215c0-.354-.264-.646-.602-.75-.972-.302-1.657-.964-1.932-1.782-.154-.457.253-.855.736-.855.485 0 .856.437 1.161.815.265.328.708.54 1.293.54.919 0 1.43-.539 1.43-1.195 0-.51-.365-.933-1.226-1.167l-1.137-.32c-1.983-.51-2.333-1.707-2.333-2.48 0-1.234.86-2.154 2.034-2.512.324-.1.576-.379.576-.717v-.183a.496.496 0 1 1 .992 0v.174c0 .34.26.62.587.714.941.269 1.618.91 1.871 1.779.133.457-.273.847-.75.847-.474 0-.827-.424-1.134-.793l-.03-.036c-.23-.275-.591-.44-1.04-.44-.773 0-1.327.482-1.327 1.124 0 .262.073.772 1.05 1.035l1.064.277Z\"\n }, null, -1),\n _createElementVNode(\"path\", { d: \"M28 16.832h5.772V14.91H30.21V7.168H28v9.664ZM37.372 14.91V13.06h3.52V11.08h-3.52V9.09h4.012V7.168h-6.222v9.664h6.349V14.91h-4.139ZM49.31 16.832h2.351l-3.575-9.664h-2.407l-3.59 9.664h2.365l.718-2.244h3.407l.732 2.244Zm-3.533-4.152 1.084-3.38 1.098 3.38h-2.182ZM58.785 9.09V7.168h-6.137v9.664h2.21V13.03h3.111v-1.908h-3.11V9.09h3.926ZM60.36 16.832h5.771V14.91H62.57V7.168h-2.21v9.664ZM67.522 16.832h2.21V7.168h-2.21v9.664ZM77.1 7.168v5.484l-3.097-5.484h-2.027v9.664h2.21v-5.554l3.181 5.554h1.943V7.168H77.1ZM89.427 16.832 85.67 11.95l3.223-4.783H86.26l-2.52 3.9v-3.9h-2.21v9.664h2.21v-3.787l2.858 3.787h2.83ZM97.185 7.168h-3.998v9.664h2.21V13.55h1.788c2.252 0 3.266-1.571 3.266-3.184 0-1.599-1.014-3.198-3.266-3.198Zm-.098 4.46h-1.69V9.09h1.704c.816 0 1.126.659 1.126 1.276s-.31 1.262-1.14 1.262ZM107.391 16.832h2.351l-3.576-9.664h-2.407l-3.589 9.664h2.364l.718-2.244h3.407l.732 2.244Zm-3.533-4.152 1.084-3.38 1.098 3.38h-2.182ZM115.68 7.168l-2.281 3.563-2.238-3.563h-2.632l3.772 5.302v4.362h2.225v-4.32l3.786-5.344h-2.632ZM130.237 16.832l-1.182-9.664h-1.887l-2.787 6.045-2.829-6.045h-1.844l-1.197 9.664h2.267l.647-5.484 2.112 4.376h1.689l2.111-4.39.634 5.498h2.266ZM134.163 14.91V13.06h3.52V11.08h-3.52V9.09h4.012V7.168h-6.222v9.664h6.349V14.91h-4.139ZM145.229 7.168v5.484l-3.097-5.484h-2.027v9.664h2.21v-5.554l3.182 5.554h1.942V7.168h-2.21ZM156.163 7.168h-7.334V9.09h2.562v7.742h2.21V9.09h2.562V7.168ZM160.425 17c1.773 0 3.575-.926 3.575-3.001 0-1.754-1.408-2.469-2.787-2.89l-1.014-.308c-.901-.253-.957-.687-.957-.884 0-.533.451-.996 1.14-.996.76 0 1.112.491 1.112 1.066h2.21c0-1.879-1.421-2.987-3.279-2.987-1.929 0-3.421 1.22-3.421 2.96 0 .911.408 2.215 2.548 2.79l1.154.351c.859.28 1.07.631 1.07 1.01 0 .63-.549.996-1.267.996-.76 0-1.38-.477-1.38-1.094h-2.21c0 1.78 1.436 2.987 3.506 2.987Z\" }, null, -1)\n ])))\n}\nexport default { render: render }","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n fill: \"#1E164B\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 60 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M6.373 2a4 4 0 0 0-4 4v12a4 4 0 0 0 4 4h12a4 4 0 0 0 4-4V6a4 4 0 0 0-4-4h-12Zm6.827 8.927c1.473.394 2.567 1.196 2.567 2.61 0 1.344-.937 2.313-2.244 2.63-.342.083-.615.368-.615.72v.18a.496.496 0 0 1-.991 0v-.215c0-.354-.264-.646-.602-.75-.972-.302-1.657-.964-1.933-1.782-.154-.457.254-.855.736-.855.486 0 .856.437 1.162.815.265.328.708.54 1.293.54.919 0 1.429-.539 1.429-1.195 0-.51-.365-.933-1.225-1.167l-1.137-.32c-1.984-.51-2.334-1.707-2.334-2.48 0-1.234.86-2.154 2.035-2.512.323-.1.576-.379.576-.717v-.183a.496.496 0 1 1 .991 0v.174c0 .34.26.62.588.714.941.269 1.618.91 1.87 1.779.134.457-.272.847-.749.847-.474 0-.828-.424-1.134-.793l-.03-.036c-.23-.275-.592-.44-1.04-.44-.774 0-1.328.482-1.328 1.124 0 .262.073.772 1.05 1.035l1.065.277Z\"\n }, null, -1),\n _createElementVNode(\"path\", { d: \"M59.12 7.177v1.722h-2.66v7.924h-1.947V8.899h-2.66V7.177h7.267ZM47.718 16.991c-2.058 0-3.472-1.274-3.472-2.968h1.946c.014.686.686 1.26 1.582 1.26.868 0 1.442-.476 1.442-1.162 0-.532-.392-.91-1.218-1.162l-1.176-.336c-2.114-.56-2.492-1.834-2.492-2.702 0-1.722 1.484-2.912 3.332-2.912 1.82 0 3.22 1.106 3.22 2.94h-1.946c0-.686-.476-1.218-1.316-1.218-.756 0-1.33.504-1.33 1.148 0 .238.07.742 1.078 1.022l1.078.308c1.456.406 2.73 1.176 2.73 2.814 0 1.918-1.638 2.968-3.458 2.968ZM39.582 16.991c-1.862 0-3.514-1.372-3.514-3.43 0-2.072 1.652-3.444 3.514-3.444 1.862 0 3.514 1.372 3.514 3.444 0 2.058-1.652 3.43-3.514 3.43Zm0-1.708c.91 0 1.652-.714 1.652-1.722 0-1.022-.742-1.736-1.652-1.736-.91 0-1.652.714-1.652 1.736 0 1.008.742 1.722 1.652 1.722ZM32.307 7.177c2.184 0 3.15 1.568 3.15 3.15 0 1.582-.966 3.122-3.15 3.122h-1.988v3.374h-1.946V7.177h3.934Zm-.098 4.564c.938 0 1.288-.728 1.288-1.414 0-.7-.35-1.428-1.26-1.428h-1.918v2.842h1.89Z\" }, null, -1)\n ])))\n}\nexport default { render: render }","<script lang=\"ts\" setup>\n import logger from '@leaflink/snitch';\n import { computed } from 'vue';\n\n import DirectPayLockup from './../../../assets/logos/direct-pay-lockup.svg';\n import FlexPayLockup from './../../../assets/logos/flex-pay-lockup.svg';\n import LeafLinkBrandmark from './../../../assets/logos/leaflink-brandmark.svg';\n import LeafLinkLockup from './../../../assets/logos/leaflink-lockup.svg';\n import MarketplaceBrandmark from './../../../assets/logos/marketplace-brandmark.svg';\n import PaymentsBrandmark from './../../../assets/logos/payments-brandmark.svg';\n import PaymentsLockup from './../../../assets/logos/payments-lockup.svg';\n import PostLockup from './../../../assets/logos/post-lockup.svg';\n\n export interface LogoProps {\n /**\n * brand to use for the logo. This, along with variant, will determine which logo to display.\n */\n brand?: 'leaflink' | 'payments' | 'marketplace' | 'flex-pay' | 'direct-pay' | 'post';\n\n /**\n * What color the logo should be.\n */\n color?: 'purple' | 'white';\n\n /**\n * Which variant of the logo to display.\n */\n variant?: 'lockup' | 'brandmark';\n\n /**\n * Width of the logo.\n */\n width?: string | number;\n\n /**\n * Height of the logo.\n */\n height?: string | number;\n }\n\n const props = withDefaults(defineProps<LogoProps>(), {\n brand: 'leaflink',\n color: 'purple',\n variant: 'lockup',\n width: undefined,\n height: undefined,\n });\n\n const emit = defineEmits<{\n /**\n * Fires when an invalid brand and variant combination is provided.\n */\n (e: 'error', msg: string): void;\n }>();\n\n const DEFAULT_LOGO_ATTRS = {\n LeafLinkLockup: {\n is: LeafLinkLockup,\n width: 139,\n height: 24,\n },\n PaymentsLockup: {\n is: PaymentsLockup,\n width: 164,\n height: 24,\n },\n LeafLinkBrandmark: {\n is: LeafLinkBrandmark,\n width: 29,\n height: 24,\n },\n MarketplaceBrandmark: {\n is: MarketplaceBrandmark,\n width: 24,\n height: 24,\n },\n PaymentsBrandmark: {\n is: PaymentsBrandmark,\n width: 24,\n height: 24,\n },\n DirectPayLockup: {\n is: DirectPayLockup,\n width: 107,\n height: 24,\n },\n FlexPayLockup: {\n is: FlexPayLockup,\n width: 89,\n height: 24,\n },\n PostLockup: {\n is: PostLockup,\n width: 60,\n height: 24,\n },\n };\n\n // Determine which logo to display based on brand and variant & set default sizes for convenience unless explicitly set.\n // Note: Setting default width or height on the SVG element itself will not allow the SVG to scale up above those values.\n const computedLogoAttrs = computed<{ is: string; width: number; height: number }>(() => {\n let attrs;\n\n if (props.brand === 'leaflink' && props.variant === 'lockup') {\n attrs = DEFAULT_LOGO_ATTRS['LeafLinkLockup'];\n }\n\n if (props.brand === 'leaflink' && props.variant === 'brandmark') {\n attrs = DEFAULT_LOGO_ATTRS['LeafLinkBrandmark'];\n }\n\n if (props.brand === 'marketplace' && props.variant === 'brandmark') {\n attrs = DEFAULT_LOGO_ATTRS['MarketplaceBrandmark'];\n }\n\n if (props.brand === 'payments' && props.variant === 'lockup') {\n attrs = DEFAULT_LOGO_ATTRS['PaymentsLockup'];\n }\n\n if (props.brand === 'direct-pay' && props.variant === 'lockup') {\n attrs = DEFAULT_LOGO_ATTRS['DirectPayLockup'];\n }\n\n if (props.brand === 'flex-pay' && props.variant === 'lockup') {\n attrs = DEFAULT_LOGO_ATTRS['FlexPayLockup'];\n }\n\n if (props.brand === 'post' && props.variant === 'lockup') {\n attrs = DEFAULT_LOGO_ATTRS['PostLockup'];\n }\n\n if (['payments', 'direct-pay', 'flex-pay', 'post'].includes(props.brand) && props.variant === 'brandmark') {\n attrs = DEFAULT_LOGO_ATTRS['PaymentsBrandmark'];\n }\n\n if (!attrs) {\n const msg = `Invalid brand and variant combination. There's no ${props.brand.replace(\n '-',\n ' ',\n )} ${props.variant.replace('-', ' ')} logo.`;\n logger.error(msg);\n emit('error', msg);\n\n return;\n }\n\n // If width or height is explicitly set, override the default values but do it individually.\n // SVG's will always maintain their aspect ratio, so setting one will scale the other accordingly, so if a user\n // sends in even ONE of these props, we want to make sure we delete both defaults so the SVG can scale in the\n // expected way.\n if (props.width || props.height) {\n delete attrs.width;\n delete attrs.height;\n if (props.width) {\n attrs.width = props.width;\n }\n if (props.height) {\n attrs.height = props.height;\n }\n }\n\n return attrs;\n });\n</script>\n\n<template>\n <component\n :is=\"computedLogoAttrs.is\"\n v-if=\"computedLogoAttrs\"\n class=\"stash-logo\"\n :class=\"[\n `stash-logo--${props.brand}`,\n `stash-logo--${props.variant}`,\n `stash-logo--${props.color}`,\n {\n 'text-purple-500': props.color === 'purple',\n 'text-white': props.color === 'white',\n },\n ]\"\n data-test=\"stash-logo\"\n fill=\"currentColor\"\n v-bind=\"computedLogoAttrs\"\n />\n</template>\n"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","DirectPayLockup","FlexPayLockup","LeafLinkBrandmark","_createStaticVNode","LeafLinkLockup","MarketplaceBrandmark","PaymentsBrandmark","PaymentsLockup","PostLockup","props","__props","emit","__emit","DEFAULT_LOGO_ATTRS","computedLogoAttrs","computed","attrs","msg","logger"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tooltip.vue_vue_type_script_setup_true_lang-CF6sw2VC.js","sources":["../src/components/Tooltip/Tooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { arrow, autoUpdate, flip, offset, shift, type Side, useFloating } from '@floating-ui/vue';\n import { useMouseInElement } from '@vueuse/core';\n import { computed, ref } from 'vue';\n\n export type TooltipSide = Side;\n\n const ARROW_OFFSET_PX = 6;\n const OFFSET_DISTANCE_PX = 12;\n\n const SIDE_MAP: Record<TooltipSide, TooltipSide> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n };\n\n export interface TooltipSlots {\n /**\n * The content to display in the tooltip. This may be text node, an element, or a component.\n */\n content: any;\n /**\n * The default slot is the element or component to which the tooltip will be anchored.\n */\n default: any;\n /**\n * A slot for the primary icon. This icon will be displayed before the text or content.\n */\n icon: any;\n /**\n * A slot for the secondary icon. This icon will be displayed after the text or content.\n */\n secondaryIcon: any;\n }\n\n defineSlots<TooltipSlots>();\n\n export interface TooltipProps {\n /**\n * Disables teleporting the popover menu to an external element\n * @default false\n */\n disableTeleport?: boolean;\n /**\n * Sets the placement of the menu\n * @default 'top'\n */\n side?: TooltipSide;\n /**\n * Disables the tooltip\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Sets if the menu is open. If not set from the parent context, the menu will be controlled internally.\n * @default false\n */\n isOpen?: boolean;\n /**\n * The query selector where the tooltip should be teleported\n * @default '#stash-menus-mount-node'\n */\n teleportTo?: string | HTMLElement;\n /**\n * String content to display within the tooltip\n * @default ''\n */\n text?: string;\n }\n\n const props = withDefaults(defineProps<TooltipProps>(), {\n disableTeleport: false,\n isDisabled: false,\n isOpen: false,\n side: 'top',\n teleportTo: '#stash-menus-mount-node',\n text: '',\n });\n\n const anchor = ref<HTMLElement | null>(null);\n const floatingArrow = ref<HTMLElement | null>(null);\n const tooltip = ref<HTMLElement | null>(null);\n\n const { isOutside } = useMouseInElement(anchor);\n\n const open = computed(() => !props.isDisabled && (!isOutside.value || props.isOpen));\n const placementSetting = computed(() => props.side);\n\n const { floatingStyles, middlewareData, placement } = useFloating(anchor, tooltip, {\n whileElementsMounted: autoUpdate,\n placement: placementSetting,\n middleware: [\n flip(),\n shift({ padding: 8 }),\n offset(OFFSET_DISTANCE_PX),\n arrow({ element: floatingArrow, padding: 8 }),\n ],\n });\n\n const arrowStyles = computed(() => {\n const arrowPosition = SIDE_MAP[placement.value];\n\n return {\n left: middlewareData.value.arrow?.x != null ? `${middlewareData.value.arrow.x}px` : '',\n top: middlewareData.value.arrow?.y != null ? `${middlewareData.value.arrow.y}px` : '',\n [arrowPosition]: `-${ARROW_OFFSET_PX}px`,\n };\n });\n</script>\n\n<template>\n <div ref=\"wrapper\" class=\"stash-tooltip__wrapper relative inline-flex size-fit\">\n <span ref=\"anchor\" data-test=\"stash-tooltip|anchor\" class=\"stash-tooltip__anchor\">\n <slot></slot>\n </span>\n <Teleport :to=\"props.teleportTo\" :disabled=\"props.disableTeleport\">\n <div\n ref=\"tooltip\"\n data-test=\"stash-tooltip\"\n class=\"stash-tooltip pointer-events-none z-screen flex w-[148px] flex-col items-center whitespace-normal rounded bg-ice-900 p-3 text-center text-xs text-white opacity-0 shadow transition-opacity\"\n role=\"tooltip\"\n :style=\"{\n ...floatingStyles,\n opacity: open ? 0.95 : 0,\n }\"\n >\n <slot name=\"icon\"></slot>\n <slot name=\"content\">{{ props.text }}</slot>\n <slot name=\"secondaryIcon\"></slot>\n <div\n ref=\"floatingArrow\"\n class=\"stash-tooltip__arrow absolute z-behind size-[12px] rotate-45 bg-ice-900\"\n :style=\"arrowStyles\"\n ></div>\n </div>\n </Teleport>\n </div>\n</template>\n"],"names":["ARROW_OFFSET_PX","OFFSET_DISTANCE_PX","SIDE_MAP","props","__props","anchor","ref","floatingArrow","tooltip","isOutside","useMouseInElement","open","computed","placementSetting","floatingStyles","middlewareData","placement","useFloating","autoUpdate","flip","shift","offset","arrow","arrowStyles","arrowPosition","_a","_b"],"mappings":";;;;;;GAOQA,IAAkB,GAClBC,IAAqB;;;;;;;;;;;AAE3B,UAAMC,IAA6C;AAAA,MACjD,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,IAAA,GAyDFC,IAAQC,GASRC,IAASC,EAAwB,IAAI,GACrCC,IAAgBD,EAAwB,IAAI,GAC5CE,IAAUF,EAAwB,IAAI,GAEtC,EAAE,WAAAG,EAAA,IAAcC,EAAkBL,CAAM,GAExCM,IAAOC,EAAS,MAAM,CAACT,EAAM,eAAe,CAACM,EAAU,SAASN,EAAM,OAAO,GAC7EU,IAAmBD,EAAS,MAAMT,EAAM,IAAI,GAE5C,EAAE,gBAAAW,GAAgB,gBAAAC,GAAgB,WAAAC,MAAcC,EAAYZ,GAAQG,GAAS;AAAA,MACjF,sBAAsBU;AAAA,MACtB,WAAWL;AAAA,MACX,YAAY;AAAA,QACVM,EAAA;AAAA,QACAC,EAAM,EAAE,SAAS,GAAG;AAAA,QACpBC,EAAOpB,CAAkB;AAAA,QACzBqB,EAAM,EAAE,SAASf,GAAe,SAAS,GAAG;AAAA,MAAA;AAAA,IAC9C,CACD,GAEKgB,IAAcX,EAAS,MAAM;;AACjC,YAAMY,IAAgBtB,EAASc,EAAU,KAAK;AAE9C,aAAO;AAAA,QACL,QAAMS,IAAAV,EAAe,MAAM,UAArB,gBAAAU,EAA4B,MAAK,OAAO,GAAGV,EAAe,MAAM,MAAM,CAAC,OAAO;AAAA,QACpF,OAAKW,IAAAX,EAAe,MAAM,UAArB,gBAAAW,EAA4B,MAAK,OAAO,GAAGX,EAAe,MAAM,MAAM,CAAC,OAAO;AAAA,QACnF,CAACS,CAAa,GAAG,IAAIxB,CAAe;AAAA,MAAA;AAAA,IAExC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}