@pine-ds/core 1.2.0 → 1.3.0

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 (243) hide show
  1. package/components/closest.js +11 -0
  2. package/components/closest.js.map +1 -0
  3. package/components/custom-elements.d.ts +2 -0
  4. package/components/index.d.ts +94 -0
  5. package/components/index.js +33 -0
  6. package/components/index.js.map +1 -0
  7. package/{dist/esm/index-852fd6bc.js → components/index2.js} +2 -2
  8. package/components/index2.js.map +1 -0
  9. package/components/package.json +9 -0
  10. package/components/pds-accordion.d.ts +11 -0
  11. package/components/pds-accordion.js +68 -0
  12. package/components/pds-accordion.js.map +1 -0
  13. package/components/pds-avatar.d.ts +11 -0
  14. package/components/pds-avatar.js +103 -0
  15. package/components/pds-avatar.js.map +1 -0
  16. package/components/pds-box.d.ts +11 -0
  17. package/components/pds-box.js +124 -0
  18. package/components/pds-box.js.map +1 -0
  19. package/components/pds-button.d.ts +11 -0
  20. package/components/pds-button.js +8 -0
  21. package/components/pds-button.js.map +1 -0
  22. package/components/pds-button2.js +84 -0
  23. package/components/pds-button2.js.map +1 -0
  24. package/components/pds-checkbox.d.ts +11 -0
  25. package/components/pds-checkbox.js +8 -0
  26. package/components/pds-checkbox.js.map +1 -0
  27. package/components/pds-checkbox2.js +101 -0
  28. package/components/pds-checkbox2.js.map +1 -0
  29. package/components/pds-chip.d.ts +11 -0
  30. package/components/pds-chip.js +78 -0
  31. package/components/pds-chip.js.map +1 -0
  32. package/components/pds-copytext.d.ts +11 -0
  33. package/components/pds-copytext.js +88 -0
  34. package/components/pds-copytext.js.map +1 -0
  35. package/components/pds-divider.d.ts +11 -0
  36. package/components/pds-divider.js +54 -0
  37. package/components/pds-divider.js.map +1 -0
  38. package/components/pds-icon.js +8 -0
  39. package/components/pds-icon.js.map +1 -0
  40. package/components/pds-icon2.js +370 -0
  41. package/components/pds-icon2.js.map +1 -0
  42. package/components/pds-image.d.ts +11 -0
  43. package/components/pds-image.js +55 -0
  44. package/components/pds-image.js.map +1 -0
  45. package/components/pds-input.d.ts +11 -0
  46. package/components/pds-input.js +72 -0
  47. package/components/pds-input.js.map +1 -0
  48. package/components/pds-label.js +39 -0
  49. package/components/pds-label.js.map +1 -0
  50. package/components/pds-link.d.ts +11 -0
  51. package/components/pds-link.js +65 -0
  52. package/components/pds-link.js.map +1 -0
  53. package/components/pds-loader.d.ts +11 -0
  54. package/components/pds-loader.js +68 -0
  55. package/components/pds-loader.js.map +1 -0
  56. package/components/pds-progress.d.ts +11 -0
  57. package/components/pds-progress.js +49 -0
  58. package/components/pds-progress.js.map +1 -0
  59. package/components/pds-radio.d.ts +11 -0
  60. package/components/pds-radio.js +78 -0
  61. package/components/pds-radio.js.map +1 -0
  62. package/components/pds-row.d.ts +11 -0
  63. package/components/pds-row.js +72 -0
  64. package/components/pds-row.js.map +1 -0
  65. package/components/pds-sortable-item.d.ts +11 -0
  66. package/components/pds-sortable-item.js +58 -0
  67. package/components/pds-sortable-item.js.map +1 -0
  68. package/components/pds-sortable.d.ts +11 -0
  69. package/components/pds-sortable.js +2722 -0
  70. package/components/pds-sortable.js.map +1 -0
  71. package/components/pds-switch.d.ts +11 -0
  72. package/components/pds-switch.js +82 -0
  73. package/components/pds-switch.js.map +1 -0
  74. package/components/pds-tab.d.ts +11 -0
  75. package/components/pds-tab.js +53 -0
  76. package/components/pds-tab.js.map +1 -0
  77. package/components/pds-table-body.d.ts +11 -0
  78. package/components/pds-table-body.js +36 -0
  79. package/components/pds-table-body.js.map +1 -0
  80. package/components/pds-table-cell.d.ts +11 -0
  81. package/components/pds-table-cell.js +8 -0
  82. package/components/pds-table-cell.js.map +1 -0
  83. package/components/pds-table-cell2.js +72 -0
  84. package/components/pds-table-cell2.js.map +1 -0
  85. package/components/pds-table-head-cell.d.ts +11 -0
  86. package/components/pds-table-head-cell.js +8 -0
  87. package/components/pds-table-head-cell.js.map +1 -0
  88. package/components/pds-table-head-cell2.js +98 -0
  89. package/components/pds-table-head-cell2.js.map +1 -0
  90. package/components/pds-table-head.d.ts +11 -0
  91. package/components/pds-table-head.js +90 -0
  92. package/components/pds-table-head.js.map +1 -0
  93. package/components/pds-table-row.d.ts +11 -0
  94. package/components/pds-table-row.js +95 -0
  95. package/components/pds-table-row.js.map +1 -0
  96. package/components/pds-table.d.ts +11 -0
  97. package/components/pds-table.js +124 -0
  98. package/components/pds-table.js.map +1 -0
  99. package/components/pds-tabpanel.d.ts +11 -0
  100. package/components/pds-tabpanel.js +45 -0
  101. package/components/pds-tabpanel.js.map +1 -0
  102. package/components/pds-tabs.d.ts +11 -0
  103. package/components/pds-tabs.js +119 -0
  104. package/components/pds-tabs.js.map +1 -0
  105. package/components/pds-textarea.d.ts +11 -0
  106. package/components/pds-textarea.js +82 -0
  107. package/components/pds-textarea.js.map +1 -0
  108. package/components/pds-tooltip.d.ts +11 -0
  109. package/components/pds-tooltip.js +178 -0
  110. package/components/pds-tooltip.js.map +1 -0
  111. package/dist/cjs/{index-34f3258f.js → index-dd191bbe.js} +2 -2
  112. package/dist/cjs/index-dd191bbe.js.map +1 -0
  113. package/dist/cjs/loader.cjs.js +1 -1
  114. package/dist/cjs/pds-accordion.cjs.entry.js +1 -1
  115. package/dist/cjs/pds-avatar.cjs.entry.js +1 -1
  116. package/dist/cjs/pds-button.cjs.entry.js +1 -1
  117. package/dist/cjs/pds-chip.cjs.entry.js +1 -1
  118. package/dist/cjs/pds-copytext.cjs.entry.js +1 -1
  119. package/dist/cjs/pds-icon.cjs.entry.js +16 -7
  120. package/dist/cjs/pds-icon.cjs.entry.js.map +1 -1
  121. package/dist/cjs/pds-link.cjs.entry.js +1 -1
  122. package/dist/cjs/pds-sortable-item.cjs.entry.js +1 -1
  123. package/dist/cjs/pds-table-head-cell.cjs.entry.js +1 -1
  124. package/dist/cjs/pine-core.cjs.js +1 -1
  125. package/dist/docs.json +1 -1
  126. package/dist/esm/index-b8872c16.js +14 -0
  127. package/dist/esm/index-b8872c16.js.map +1 -0
  128. package/dist/esm/loader.js +1 -1
  129. package/dist/esm/pds-accordion.entry.js +1 -1
  130. package/dist/esm/pds-avatar.entry.js +1 -1
  131. package/dist/esm/pds-button.entry.js +1 -1
  132. package/dist/esm/pds-chip.entry.js +1 -1
  133. package/dist/esm/pds-copytext.entry.js +1 -1
  134. package/dist/esm/pds-icon.entry.js +16 -7
  135. package/dist/esm/pds-icon.entry.js.map +1 -1
  136. package/dist/esm/pds-link.entry.js +1 -1
  137. package/dist/esm/pds-sortable-item.entry.js +1 -1
  138. package/dist/esm/pds-table-head-cell.entry.js +1 -1
  139. package/dist/esm/pine-core.js +1 -1
  140. package/dist/esm-es5/{index-852fd6bc.js → index-b8872c16.js} +1 -1
  141. package/dist/esm-es5/index-b8872c16.js.map +1 -0
  142. package/dist/esm-es5/loader.js +1 -1
  143. package/dist/esm-es5/loader.js.map +1 -1
  144. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  145. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  146. package/dist/esm-es5/pds-button.entry.js +1 -1
  147. package/dist/esm-es5/pds-chip.entry.js +1 -1
  148. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  149. package/dist/esm-es5/pds-icon.entry.js +1 -1
  150. package/dist/esm-es5/pds-icon.entry.js.map +1 -1
  151. package/dist/esm-es5/pds-link.entry.js +1 -1
  152. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  153. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  154. package/dist/esm-es5/pine-core.js +1 -1
  155. package/dist/esm-es5/pine-core.js.map +1 -1
  156. package/dist/pine-core/{p-97e67ec3.system.entry.js → p-0601dc8a.system.entry.js} +2 -2
  157. package/dist/pine-core/{p-3f78956d.system.entry.js → p-1a065871.system.entry.js} +2 -2
  158. package/dist/pine-core/{p-cd001902.system.entry.js → p-34e206a0.system.entry.js} +2 -2
  159. package/dist/pine-core/{p-db38d613.entry.js → p-368269f0.entry.js} +2 -2
  160. package/dist/pine-core/{p-b924a6f7.entry.js → p-3a9fce23.entry.js} +2 -2
  161. package/dist/pine-core/{p-3f1ca23f.entry.js → p-3ed83b6f.entry.js} +2 -2
  162. package/dist/pine-core/{p-34a4c5ff.system.entry.js → p-3f15215e.system.entry.js} +2 -2
  163. package/dist/pine-core/{p-689137e6.system.entry.js → p-4254febe.system.entry.js} +2 -2
  164. package/dist/pine-core/p-6b065607.entry.js +2 -0
  165. package/dist/pine-core/p-6b065607.entry.js.map +1 -0
  166. package/dist/pine-core/{p-4da18aac.system.entry.js → p-73c45132.system.entry.js} +2 -2
  167. package/dist/pine-core/p-77b96720.system.js +1 -1
  168. package/dist/pine-core/p-77b96720.system.js.map +1 -1
  169. package/dist/pine-core/{p-b2b8070b.entry.js → p-7f5517fc.entry.js} +2 -2
  170. package/dist/pine-core/{p-19b44f85.entry.js → p-948115a9.entry.js} +2 -2
  171. package/dist/pine-core/{p-c8f50955.system.entry.js → p-a9ae176c.system.entry.js} +2 -2
  172. package/dist/pine-core/{p-59f634bc.entry.js → p-aafbbc27.entry.js} +2 -2
  173. package/dist/pine-core/p-bbcf1b50.system.entry.js +2 -0
  174. package/dist/pine-core/p-bbcf1b50.system.entry.js.map +1 -0
  175. package/dist/pine-core/{p-7bf40997.entry.js → p-bf5a1876.entry.js} +2 -2
  176. package/dist/pine-core/{p-42cccfec.entry.js → p-dfaf84b9.entry.js} +2 -2
  177. package/dist/pine-core/{p-e55f6789.system.js → p-ee65aef1.system.js} +1 -1
  178. package/dist/pine-core/p-ee65aef1.system.js.map +1 -0
  179. package/dist/pine-core/{p-4dec2648.js → p-efc85823.js} +1 -1
  180. package/dist/pine-core/p-efc85823.js.map +1 -0
  181. package/dist/pine-core/{p-7ef962b2.system.entry.js → p-f1fe6518.system.entry.js} +2 -2
  182. package/dist/pine-core/pine-core.esm.js +1 -1
  183. package/dist/pine-core/pine-core.esm.js.map +1 -1
  184. package/dist/pine-core/svg/bar-chart-10-tone.svg +1 -0
  185. package/dist/pine-core/svg/bell-01-tone.svg +1 -0
  186. package/dist/pine-core/svg/clapperboard-tone.svg +1 -0
  187. package/dist/pine-core/svg/cloud-upload.svg +1 -1
  188. package/dist/pine-core/svg/credit-card-02-tone.svg +1 -0
  189. package/dist/pine-core/svg/cube-01-tone.svg +1 -0
  190. package/dist/pine-core/svg/customize.svg +1 -1
  191. package/dist/pine-core/svg/dollar.svg +1 -1
  192. package/dist/pine-core/svg/dots-horizontal-tone.svg +1 -0
  193. package/dist/pine-core/svg/download.svg +1 -1
  194. package/dist/pine-core/svg/expand.svg +1 -1
  195. package/dist/pine-core/svg/file-02.svg +1 -0
  196. package/dist/pine-core/svg/filter.svg +1 -1
  197. package/dist/pine-core/svg/form-field.svg +1 -1
  198. package/dist/pine-core/svg/hashtag.svg +1 -1
  199. package/dist/pine-core/svg/hd-video.svg +1 -1
  200. package/dist/pine-core/svg/headset-tone.svg +1 -0
  201. package/dist/pine-core/svg/home-02-tone.svg +1 -0
  202. package/dist/pine-core/svg/logo-instagram.svg +1 -1
  203. package/dist/pine-core/svg/mail-01-tone.svg +1 -0
  204. package/dist/pine-core/svg/mail-filled.svg +1 -1
  205. package/dist/pine-core/svg/monitor-03-tone.svg +1 -0
  206. package/dist/pine-core/svg/phone-02-tone.svg +1 -0
  207. package/dist/pine-core/svg/search-md-tone.svg +1 -0
  208. package/dist/pine-core/svg/settings-01-tone.svg +1 -0
  209. package/dist/pine-core/svg/stars-01-tone.svg +1 -0
  210. package/dist/pine-core/svg/trophy-filled.svg +1 -0
  211. package/dist/pine-core/svg/unlock.svg +1 -1
  212. package/dist/pine-core/svg/users-02-tone.svg +1 -0
  213. package/dist/pine-core/svg/video-off.svg +1 -1
  214. package/dist/pine-core/svg/wrench.svg +1 -1
  215. package/hydrate/index.d.ts +218 -0
  216. package/hydrate/index.js +13272 -0
  217. package/hydrate/package.json +6 -0
  218. package/package.json +1 -1
  219. package/dist/cjs/index-34f3258f.js.map +0 -1
  220. package/dist/esm/index-852fd6bc.js.map +0 -1
  221. package/dist/esm-es5/index-852fd6bc.js.map +0 -1
  222. package/dist/pine-core/p-4dec2648.js.map +0 -1
  223. package/dist/pine-core/p-a010a9e8.system.entry.js +0 -2
  224. package/dist/pine-core/p-a010a9e8.system.entry.js.map +0 -1
  225. package/dist/pine-core/p-a1cf1db5.entry.js +0 -2
  226. package/dist/pine-core/p-a1cf1db5.entry.js.map +0 -1
  227. package/dist/pine-core/p-e55f6789.system.js.map +0 -1
  228. /package/dist/pine-core/{p-97e67ec3.system.entry.js.map → p-0601dc8a.system.entry.js.map} +0 -0
  229. /package/dist/pine-core/{p-3f78956d.system.entry.js.map → p-1a065871.system.entry.js.map} +0 -0
  230. /package/dist/pine-core/{p-cd001902.system.entry.js.map → p-34e206a0.system.entry.js.map} +0 -0
  231. /package/dist/pine-core/{p-db38d613.entry.js.map → p-368269f0.entry.js.map} +0 -0
  232. /package/dist/pine-core/{p-b924a6f7.entry.js.map → p-3a9fce23.entry.js.map} +0 -0
  233. /package/dist/pine-core/{p-3f1ca23f.entry.js.map → p-3ed83b6f.entry.js.map} +0 -0
  234. /package/dist/pine-core/{p-34a4c5ff.system.entry.js.map → p-3f15215e.system.entry.js.map} +0 -0
  235. /package/dist/pine-core/{p-689137e6.system.entry.js.map → p-4254febe.system.entry.js.map} +0 -0
  236. /package/dist/pine-core/{p-4da18aac.system.entry.js.map → p-73c45132.system.entry.js.map} +0 -0
  237. /package/dist/pine-core/{p-b2b8070b.entry.js.map → p-7f5517fc.entry.js.map} +0 -0
  238. /package/dist/pine-core/{p-19b44f85.entry.js.map → p-948115a9.entry.js.map} +0 -0
  239. /package/dist/pine-core/{p-c8f50955.system.entry.js.map → p-a9ae176c.system.entry.js.map} +0 -0
  240. /package/dist/pine-core/{p-59f634bc.entry.js.map → p-aafbbc27.entry.js.map} +0 -0
  241. /package/dist/pine-core/{p-7bf40997.entry.js.map → p-bf5a1876.entry.js.map} +0 -0
  242. /package/dist/pine-core/{p-42cccfec.entry.js.map → p-dfaf84b9.entry.js.map} +0 -0
  243. /package/dist/pine-core/{p-7ef962b2.system.entry.js.map → p-f1fe6518.system.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"file":"pds-textarea.js","mappings":";;;AAAA,MAAM,cAAc,GAAG,giHAAgiH,CAAC;AACxjH,0BAAe,cAAc;;MCShBA,aAAW;;;;;;QAwEd,qBAAgB,GAAG,CAAC,EAAS;YACnC,MAAM,QAAQ,GAAG,EAAE,CAAC,MAA6B,CAAC;YAClD,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAE3B,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;aACjC;YAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAC,CAAC,CAAC;SAC7D,CAAC;;wBArEiB,KAAK;;;uBAgBS,KAAK;;oBAUf,IAAI,CAAC,WAAW;;wBAWpB,KAAK;wBAML,KAAK;;;;IA4BhB,kBAAkB;QACxB,MAAM,UAAU,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YACzC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/B;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,sEACY,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,IAE5C,4DAAK,KAAK,EAAC,cAAc,IACtB,IAAI,CAAC,KAAK;YACT,EAAC,QAAQ,qDAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAI,EAE3D,qFACoB,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,kBACzE,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,EAC/C,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,gBAAgB,IAC/B,IAAI,CAAC,KAAK,CAAY,EACvB,IAAI,CAAC,aAAa;YACjB,0DACE,KAAK,EAAC,8BAA8B,EACpC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAExC,IAAI,CAAC,aAAa,CACjB,EAEL,IAAI,CAAC,OAAO;YACX,uEACY,WAAW,EACrB,KAAK,EAAC,6BAA6B,EACnC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,IAEvC,IAAI,CAAC,YAAY,CAChB,CAEF,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsTextarea"],"sources":["src/components/pds-textarea/pds-textarea.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-textarea/pds-textarea.tsx"],"sourcesContent":[":host {\n --border-interactive-default: var(--pine-border-width-thin) solid var(--pine-color-grey-400);\n\n --box-shadow-focus: 0 0 0 2px var(--color-focus-visible-outline);\n --box-shadow-focus-error: 0 0 0 2px var(--color-focus-visible-outline-error);\n\n --color: var(--pine-color-charcoal-400);\n --color-background: var(--pine-color-white);\n --color-background-disabled: var(--pine-color-grey-200);\n --color-border-default: var(--pine-color-grey-400);\n --color-border-error: var(--pine-color-red-300);\n --color-border-focus-visible: var(--pine-color-grey-300);\n --color-border-hover: var(--pine-color-grey-500);\n --color-disabled-default: var(--pine-color-charcoal-200);\n --color-error-default: var(--pine-color-red-300);\n --color-focus-visible-outline: var(--pine-color-blue-200);\n --color-focus-visible-outline-error: var(--pine-color-red-200);\n --color-placeholder-default: var(--pine-color-charcoal-200);\n\n --font-size-field: var(--pine-font-size-100);\n --font-size-helper-message: var(--pine-font-size-075);\n --font-size-label: var(--pine-font-size-100);\n --font-weight-field: var(--pine-font-weight-normal);\n --font-weight-helper-message: var(--pine-font-weight-normal);\n --font-weight-label: var(--pine-font-weight-medium);\n\n --line-height-field: var(--pine-line-height-150);\n --line-height-helper-message: var(--pine-line-height-125);\n --line-height-label: var(--pine-line-height-150);\n\n --spacing-margin-block-end-label: var(--pine-spacing-100);\n --spacing-margin-block-start-helper-message: var(--pine-spacing-100);\n --spacing-padding-block-field: var(--pine-spacing-100);\n --spacing-padding-inline-field: var(--pine-spacing-200);\n\n display: inline;\n}\n\n.pds-textarea {\n display: flex;\n flex-direction: column;\n}\n\nlabel {\n display: block;\n font-size: var(--font-size-label);\n font-weight: var(--font-weight-label);\n line-height: var(--line-height-label);\n margin-block-end: var(--spacing-margin-block-end-label);\n}\n\n.pds-textarea__field {\n background-color: var(--color-background);\n border: var(--pine-border-interactive-default);\n border-radius: var(--pine-border-radius-md);\n font-family: inherit;\n font-size: var(--font-size-field);\n font-weight: var(--font-weight-field);\n line-height: var(--line-height-field);\n padding: var(--spacing-padding-block-field) var(--spacing-padding-inline-field);\n\n &:hover:not(:disabled, .is-invalid) {\n border-color: var(--color-border-hover);\n }\n\n &:disabled {\n background-color: var(--color-background-disabled);\n color: var(--color-disabled-default);\n cursor: not-allowed;\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n\n &::placeholder {\n color: var(--color-placeholder-default);\n }\n\n &.is-invalid {\n border-color: var(--color-border-error);\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus-error);\n }\n }\n}\n\n.pds-textarea__error-message,\n.pds-textarea__helper-message {\n font-size: var(--font-size-helper-message);\n font-weight: var(--font-weight-helper-message);\n line-height: var(--line-height-helper-message);\n margin-block-start: var(--spacing-margin-block-start-helper-message);\n}\n\n.pds-textarea__error-message {\n color: var(--color-error-default);\n}\n","import { Component, Element, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { assignDescription, isRequired, messageId } from '../../utils/form';\nimport { TextareaChangeEventDetail } from './textarea-interface';\nimport { PdsLabel } from '../_internal/pds-label/pds-label';\n\n@Component({\n tag: 'pds-textarea',\n styleUrl: 'pds-textarea.scss',\n shadow: true,\n})\nexport class PdsTextarea {\n @Element() el: HTMLPdsTextareaElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Indicates whether or not the textarea is disabled\n * @defaultValue false\n */\n @Prop() disabled = false;\n\n /**\n * Specifies the error text and provides an error-themed treatment to the field\n */\n @Prop() errorMessage?: string;\n\n /**\n * Displays a hint or description of the textarea\n */\n @Prop() helperMessage?: string;\n\n /**\n * Indicates whether or not the textarea is invalid or throws an error\n * @defaultValue false\n */\n @Prop({mutable: true}) invalid = false; // eslint-disable-line @stencil-community/strict-mutable\n\n /**\n * Text to be displayed as the textarea label\n */\n @Prop() label?: string;\n\n /**\n * Specifies the name, submitted with the form name/value pair. This value will mirror the componentId\n */\n @Prop() name: string = this.componentId;\n\n /**\n * Specifies a short hint that describes the expected value of the textarea\n */\n @Prop() placeholder?: string;\n\n /**\n * Indicates whether or not the textarea is readonly\n * @defaultValue false\n */\n @Prop() readonly = false;\n\n /**\n * Indicates whether or not the textarea is required\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * Sets number of rows of text visible without needing to scroll in the textarea\n */\n @Prop() rows?: number;\n\n /**\n * The value of the textarea\n */\n @Prop({mutable: true}) value?: string;\n\n /**\n * Event emitted whenever the value of the textarea changes\n */\n @Event() pdsTextareaChange: EventEmitter<TextareaChangeEventDetail>;\n\n private onTextareaChange = (ev: Event) => {\n const textarea = ev.target as HTMLTextAreaElement;\n isRequired(textarea, this);\n\n if (textarea) {\n this.value = textarea.innerHTML;\n }\n\n this.pdsTextareaChange.emit({value: this.value, event: ev});\n };\n\n private textareaClassNames() {\n const classNames = ['pds-textarea__field'];\n\n if (this.invalid && this.invalid === true) {\n classNames.push('is-invalid');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n >\n <div class=\"pds-textarea\">\n {this.label &&\n <PdsLabel htmlFor={this.componentId} text={this.label} />\n }\n <textarea\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n class={this.textareaClassNames()}\n disabled={this.disabled}\n id={this.componentId}\n name={this.name}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n required={this.required}\n rows={this.rows}\n onChange={this.onTextareaChange}\n >{this.value}</textarea>\n {this.helperMessage &&\n <p\n class=\"pds-textarea__helper-message\"\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </p>\n }\n {this.invalid &&\n <p\n aria-live=\"assertive\"\n class=\"pds-textarea__error-message\"\n id={messageId(this.componentId, 'error')}\n >\n {this.errorMessage}\n </p>\n }\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface PdsTooltip extends Components.PdsTooltip, HTMLElement {}
4
+ export const PdsTooltip: {
5
+ prototype: PdsTooltip;
6
+ new (): PdsTooltip;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,178 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const positionTooltip = ({ elem, elemPlacement, overlay, offset = 8 }) => {
4
+ if (elem == undefined)
5
+ return;
6
+ const rect = elem.getBoundingClientRect();
7
+ const contentRect = overlay.getBoundingClientRect();
8
+ // Exit the function if the placement is not set
9
+ if (!elemPlacement || elemPlacement == "")
10
+ return;
11
+ switch (true) {
12
+ case elemPlacement.includes("right"):
13
+ overlay.style.top = '50%';
14
+ overlay.style.left = `calc(${rect.width}px + ${offset}px)`;
15
+ overlay.style.transform = 'translateY(-50%)';
16
+ if (elemPlacement.includes("start")) {
17
+ overlay.style.top = '0';
18
+ overlay.style.transform = 'translateY(0)';
19
+ }
20
+ if (elemPlacement.includes("end")) {
21
+ overlay.style.bottom = '0';
22
+ overlay.style.top = 'initial';
23
+ overlay.style.transform = 'translateY(0)';
24
+ }
25
+ break;
26
+ case elemPlacement.includes("left"):
27
+ overlay.style.top = '50%';
28
+ overlay.style.right = `calc(${rect.width}px + ${offset}px)`;
29
+ overlay.style.transform = 'translateY(-50%)';
30
+ if (elemPlacement.includes("start")) {
31
+ overlay.style.top = '0';
32
+ overlay.style.transform = 'translateY(0)';
33
+ }
34
+ if (elemPlacement.includes("end")) {
35
+ overlay.style.bottom = '0';
36
+ overlay.style.top = 'initial';
37
+ overlay.style.transform = 'translateY(0)';
38
+ }
39
+ break;
40
+ case elemPlacement.includes("bottom"):
41
+ overlay.style.top = `calc(${rect.height}px + ${offset}px)`;
42
+ overlay.style.left = '50%';
43
+ overlay.style.transform = 'translateX(-50%)';
44
+ if (elemPlacement.includes("start")) {
45
+ overlay.style.left = '0';
46
+ overlay.style.transform = 'translateX(0)';
47
+ }
48
+ if (elemPlacement.includes("end")) {
49
+ overlay.style.left = 'initial';
50
+ overlay.style.right = '0';
51
+ overlay.style.transform = 'translateX(0)';
52
+ }
53
+ break;
54
+ case elemPlacement.includes("top"):
55
+ overlay.style.top = `calc((${contentRect.height}px + ${offset}px) * -1)`;
56
+ overlay.style.left = '50%';
57
+ overlay.style.transform = 'translateX(-50%)';
58
+ if (elemPlacement.includes("start")) {
59
+ overlay.style.left = '0';
60
+ overlay.style.transform = 'translateX(0)';
61
+ }
62
+ if (elemPlacement.includes("end")) {
63
+ overlay.style.left = 'initial';
64
+ overlay.style.right = '0';
65
+ overlay.style.transform = 'translateX(0)';
66
+ }
67
+ break;
68
+ }
69
+ };
70
+
71
+ const pdsTooltipCss = ":host{--border-radius-overlay:var(--pine-border-radius-125);--border-width-arrow-down:var(--sizing-arrow-default) var(--sizing-arrow-default) 0;--border-width-arrow-left:var(--sizing-arrow-default) var(--sizing-arrow-default) var(--sizing-arrow-default) 0;--border-width-arrow-right:var(--sizing-arrow-default) 0 var(--sizing-arrow-default) var(--sizing-arrow-default);--border-width-arrow-up:0 var(--sizing-arrow-default) var(--sizing-arrow-default);--box-shadow-default:var(--pine-box-shadow-md);--color-background-default:var(--pine-color-charcoal-400);--color-text-default:var(--pine-color-white);--font-size-overlay:var(--pine-font-size-087);--line-height-overlay:var(--pine-line-height-125);--sizing-arrow-default:6px;--sizing-arrow-offset:14px;--sizing-width-default:320px;--spacing-padding-overlay:var(--pine-spacing-100) calc(var(--pine-spacing-300) / 2);display:inline-block;position:relative}:host ::slotted(*){display:-ms-flexbox;display:flex}:host ::slotted([slot=content]){display:block;white-space:normal;width:var(--sizing-width-default)}.pds-tooltip__content{background-color:var(--color-background-default);border-radius:var(--border-radius-overlay);-webkit-box-shadow:var(--box-shadow-default);box-shadow:var(--box-shadow-default);color:var(--color-text-default);font-size:var(--font-size-overlay);line-height:var(--line-height-overlay);opacity:0;padding:var(--spacing-padding-overlay);position:absolute;visibility:hidden;width:-webkit-max-content;width:-moz-max-content;width:max-content}.pds-tooltip--is-open .pds-tooltip__content{opacity:1;visibility:visible;z-index:1}:host(.pds-tooltip--has-html-content) .pds-tooltip__content{width:auto}.pds-tooltip__content::after{border-color:transparent;border-right-color:transparent;border-style:solid;border-width:var(--border-width-arrow-left);content:\"\";height:0;position:absolute;width:0}.pds-tooltip--right .pds-tooltip__content::after{border-inline-end-color:var(--color-background-default);border-width:var(--border-width-arrow-left);left:calc(var(--sizing-arrow-default) * -1);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.pds-tooltip--right-end .pds-tooltip__content::after{border-inline-end-color:var(--color-background-default);border-width:var(--border-width-arrow-left);bottom:var(--sizing-arrow-offset);left:calc(var(--sizing-arrow-default) * -1);top:initial}.pds-tooltip--right-start .pds-tooltip__content::after{border-inline-end-color:var(--color-background-default);border-width:var(--border-width-arrow-left);left:calc(var(--sizing-arrow-default) * -1);top:var(--sizing-arrow-offset)}.pds-tooltip--top .pds-tooltip__content::after{border-block-start-color:var(--color-background-default);border-width:var(--border-width-arrow-down);bottom:calc(var(--sizing-arrow-default) * -1);left:50%;top:initial;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pds-tooltip--top-start .pds-tooltip__content::after{border-block-start-color:var(--color-background-default);border-width:var(--border-width-arrow-down);bottom:calc(var(--sizing-arrow-default) * -1);left:var(--sizing-arrow-offset);top:initial}.pds-tooltip--top-end .pds-tooltip__content::after{border-block-start-color:var(--color-background-default);border-width:var(--border-width-arrow-down);bottom:calc(var(--sizing-arrow-default) * -1);left:initial;right:var(--sizing-arrow-offset);top:initial}.pds-tooltip--left .pds-tooltip__content::after{border-inline-start-color:var(--color-background-default);border-width:var(--border-width-arrow-right);left:initial;right:calc(var(--sizing-arrow-default) * -1);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.pds-tooltip--left-end .pds-tooltip__content::after{border-inline-start-color:var(--color-background-default);border-width:var(--border-width-arrow-right);bottom:var(--sizing-arrow-offset);left:initial;right:calc(var(--sizing-arrow-default) * -1);top:initial}.pds-tooltip--left-start .pds-tooltip__content::after{border-inline-start-color:var(--color-background-default);border-width:var(--border-width-arrow-right);left:initial;right:calc(var(--sizing-arrow-default) * -1);top:var(--sizing-arrow-offset)}.pds-tooltip--bottom .pds-tooltip__content::after{border-block-end-color:var(--color-background-default);border-width:var(--border-width-arrow-up);left:50%;top:calc(var(--sizing-arrow-default) * -1);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pds-tooltip--bottom-end .pds-tooltip__content::after{border-block-end-color:var(--color-background-default);border-width:var(--border-width-arrow-up);left:initial;right:var(--sizing-arrow-offset);top:calc(var(--sizing-arrow-default) * -1)}.pds-tooltip--bottom-start .pds-tooltip__content::after{border-block-end-color:var(--color-background-default);border-width:var(--border-width-arrow-up);left:var(--sizing-arrow-offset);top:calc(var(--sizing-arrow-default) * -1)}.pds-tooltip--no-arrow .pds-tooltip__content::after{border-width:0}";
72
+ const PdsTooltipStyle0 = pdsTooltipCss;
73
+
74
+ const PdsTooltip$1 = /*@__PURE__*/ proxyCustomElement(class PdsTooltip extends HTMLElement {
75
+ constructor() {
76
+ super();
77
+ this.__registerHost();
78
+ this.__attachShadow();
79
+ this.pdsTooltipHide = createEvent(this, "pdsTooltipHide", 7);
80
+ this.pdsTooltipShow = createEvent(this, "pdsTooltipShow", 7);
81
+ this.handleHide = () => {
82
+ this.hideTooltip();
83
+ this.pdsTooltipHide.emit();
84
+ };
85
+ this.handleShow = () => {
86
+ this.showTooltip();
87
+ this.pdsTooltipShow.emit();
88
+ };
89
+ this.isOpen = false;
90
+ this.content = undefined;
91
+ this.componentId = undefined;
92
+ this.hasArrow = true;
93
+ this.htmlContent = false;
94
+ this.placement = 'right';
95
+ this.opened = false;
96
+ }
97
+ handleOpenToggle() {
98
+ if (this.opened) {
99
+ this.handleShow();
100
+ }
101
+ else {
102
+ this.handleHide();
103
+ }
104
+ }
105
+ componentWillLoad() {
106
+ if (this.opened) {
107
+ this.showTooltip();
108
+ }
109
+ this.el.addEventListener('blur', this.handleHide, true);
110
+ this.el.addEventListener('focus', this.handleShow, true);
111
+ }
112
+ componentDidUpdate() {
113
+ if (this.opened) {
114
+ this.showTooltip();
115
+ }
116
+ }
117
+ componentDidRender() {
118
+ positionTooltip({ elem: this.el, elemPlacement: this.placement, overlay: this.contentEl });
119
+ }
120
+ /**
121
+ * Shows the tooltip by enabling the opened property
122
+ */
123
+ async showTooltip() {
124
+ this.opened = true;
125
+ }
126
+ /**
127
+ * Hides the tooltip by disabling the opened property
128
+ */
129
+ async hideTooltip() {
130
+ this.opened = false;
131
+ }
132
+ render() {
133
+ return (h(Host, { key: '52999e010e83fb265a46867b0b29169f7363a496', onMouseEnter: this.handleShow, onMouseLeave: this.handleHide, onFocusin: this.handleShow, onFocusout: this.handleHide }, h("div", { key: '6bb63ba10eab04114ced7ead7079d46cc22cb72c', class: `
134
+ pds-tooltip
135
+ pds-tooltip--${this.placement}
136
+ ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''}
137
+ ${this.opened ? 'pds-tooltip--is-open' : ''}
138
+ ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}
139
+ ` }, h("span", { key: '930c148c837912ad9d5ea57e92246e0211b355c4', "aria-describedby": this.componentId, class: "pds-tooltip__trigger" }, h("slot", { key: '813429e2865fae92050d779ca7f47072313db851' })), h("div", { key: '7f47e8b4ff3d6238f27e38986f032ece94f6b584', class: "pds-tooltip__content", "aria-hidden": this.opened ? 'false' : 'true', "aria-live": this.opened ? 'polite' : 'off', id: this.componentId, ref: (el) => (this.contentEl = el), role: "tooltip" }, h("slot", { key: '90b3f02974d250375d55ed332a9c525626ff5439', name: "content" }), this.content))));
140
+ }
141
+ get el() { return this; }
142
+ static get watchers() { return {
143
+ "opened": ["handleOpenToggle"]
144
+ }; }
145
+ static get style() { return PdsTooltipStyle0; }
146
+ }, [1, "pds-tooltip", {
147
+ "content": [1],
148
+ "componentId": [1, "component-id"],
149
+ "hasArrow": [4, "has-arrow"],
150
+ "htmlContent": [4, "html-content"],
151
+ "placement": [513],
152
+ "opened": [1540],
153
+ "isOpen": [32],
154
+ "showTooltip": [64],
155
+ "hideTooltip": [64]
156
+ }, undefined, {
157
+ "opened": ["handleOpenToggle"]
158
+ }]);
159
+ function defineCustomElement$1() {
160
+ if (typeof customElements === "undefined") {
161
+ return;
162
+ }
163
+ const components = ["pds-tooltip"];
164
+ components.forEach(tagName => { switch (tagName) {
165
+ case "pds-tooltip":
166
+ if (!customElements.get(tagName)) {
167
+ customElements.define(tagName, PdsTooltip$1);
168
+ }
169
+ break;
170
+ } });
171
+ }
172
+
173
+ const PdsTooltip = PdsTooltip$1;
174
+ const defineCustomElement = defineCustomElement$1;
175
+
176
+ export { PdsTooltip, defineCustomElement };
177
+
178
+ //# sourceMappingURL=pds-tooltip.js.map
@@ -0,0 +1 @@
1
+ {"file":"pds-tooltip.js","mappings":"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","names":["PdsTooltip"],"sources":["src/utils/overlay.ts","src/components/pds-tooltip/pds-tooltip.scss?tag=pds-tooltip&encapsulation=shadow","src/components/pds-tooltip/pds-tooltip.tsx"],"sourcesContent":["interface OverlayArgs {\n elem: HTMLElement;\n elemPlacement: string;\n overlay: HTMLElement;\n offset?: number;\n}\n\nexport const positionTooltip = ({elem, elemPlacement, overlay, offset = 8}: OverlayArgs) => {\n if (elem == undefined) return;\n\n const rect = elem.getBoundingClientRect();\n const contentRect = overlay.getBoundingClientRect();\n\n // Exit the function if the placement is not set\n if (!elemPlacement || elemPlacement == \"\") return;\n\n switch (true) {\n case elemPlacement.includes(\"right\"):\n overlay.style.top = '50%';\n overlay.style.left = `calc(${rect.width}px + ${offset}px)`;\n overlay.style.transform = 'translateY(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.top = '0';\n overlay.style.transform = 'translateY(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.bottom = '0';\n overlay.style.top = 'initial';\n overlay.style.transform = 'translateY(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"left\"):\n overlay.style.top = '50%';\n overlay.style.right = `calc(${rect.width}px + ${offset}px)`;\n overlay.style.transform = 'translateY(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.top = '0';\n overlay.style.transform = 'translateY(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.bottom = '0';\n overlay.style.top = 'initial';\n overlay.style.transform = 'translateY(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"bottom\"):\n overlay.style.top = `calc(${rect.height}px + ${offset}px)`;\n overlay.style.left = '50%';\n overlay.style.transform = 'translateX(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.left = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.left = 'initial';\n overlay.style.right = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"top\"):\n overlay.style.top = `calc((${contentRect.height}px + ${offset}px) * -1)`;\n overlay.style.left = '50%';\n overlay.style.transform = 'translateX(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.left = '0';\n overlay.style.transform = 'translateX(0)';\n }\n if (elemPlacement.includes(\"end\")) {\n overlay.style.left = 'initial';\n overlay.style.right = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n break;\n }\n}\n",":host {\n --border-radius-overlay: var(--pine-border-radius-125);\n\n --border-width-arrow-down: var(--sizing-arrow-default) var(--sizing-arrow-default) 0;\n --border-width-arrow-left: var(--sizing-arrow-default) var(--sizing-arrow-default) var(--sizing-arrow-default) 0;\n --border-width-arrow-right: var(--sizing-arrow-default) 0 var(--sizing-arrow-default) var(--sizing-arrow-default);\n --border-width-arrow-up: 0 var(--sizing-arrow-default) var(--sizing-arrow-default);\n\n --box-shadow-default: var(--pine-box-shadow-md);\n\n --color-background-default: var(--pine-color-charcoal-400);\n --color-text-default: var(--pine-color-white);\n\n --font-size-overlay: var(--pine-font-size-087);\n\n --line-height-overlay: var(--pine-line-height-125);\n\n --sizing-arrow-default: 6px;\n --sizing-arrow-offset: 14px;\n --sizing-width-default: 320px;\n\n --spacing-padding-overlay: var(--pine-spacing-100) calc(var(--pine-spacing-300) / 2);\n\n display: inline-block;\n position: relative;\n\n ::slotted(*) {\n display: flex;\n }\n\n ::slotted([slot=\"content\"]) {\n display: block;\n white-space: normal;\n width: var(--sizing-width-default);\n }\n}\n\n.pds-tooltip__content {\n background-color: var(--color-background-default);\n border-radius: var(--border-radius-overlay);\n box-shadow: var(--box-shadow-default);\n color: var(--color-text-default);\n font-size: var(--font-size-overlay);\n line-height: var(--line-height-overlay);\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 0;\n padding: var(--spacing-padding-overlay);\n position: absolute;\n visibility: hidden;\n width: max-content;\n\n .pds-tooltip--is-open & {\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 1;\n visibility: visible;\n z-index: 1;\n }\n\n :host(.pds-tooltip--has-html-content) & {\n width: auto;\n }\n\n &::after {\n border-color: transparent;\n border-right-color: transparent;\n border-style: solid;\n border-width: var(--border-width-arrow-left);\n content: '';\n height: 0;\n position: absolute;\n width: 0;\n\n .pds-tooltip--right & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n left: calc(var(--sizing-arrow-default) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--right-end & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n bottom: var(--sizing-arrow-offset);\n left: calc(var(--sizing-arrow-default) * -1);\n top: initial;\n }\n\n .pds-tooltip--right-start & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n left: calc(var(--sizing-arrow-default) * -1);\n top: var(--sizing-arrow-offset);\n }\n\n .pds-tooltip--top & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: 50%;\n top: initial;\n transform: translateX(-50%);\n }\n\n .pds-tooltip--top-start & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: var(--sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--top-end & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: initial;\n right: var(--sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--left & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--left-end & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n bottom: var(--sizing-arrow-offset);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: initial;\n }\n\n .pds-tooltip--left-start & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: var(--sizing-arrow-offset);\n }\n\n .pds-tooltip--bottom & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: 50%;\n top: calc(var(--sizing-arrow-default) * -1);\n transform: translateX(-50%);\n }\n\n .pds-tooltip--bottom-end & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: initial;\n right: var(--sizing-arrow-offset);\n top: calc(var(--sizing-arrow-default) * -1);\n }\n\n .pds-tooltip--bottom-start & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: var(--sizing-arrow-offset);\n top: calc(var(--sizing-arrow-default) * -1);\n }\n\n .pds-tooltip--no-arrow & {\n border-width: 0;\n }\n }\n}\n","import { Component, Element, Event, Host, Prop, State, h, EventEmitter, Method, Watch } from '@stencil/core';\nimport {\n positionTooltip\n} from '../../utils/overlay';\n\n/**\n * @slot (default) - The tooltip's target element\n * @slot content - HTML content for the tooltip\n */\n\n@Component({\n tag: 'pds-tooltip',\n styleUrl: 'pds-tooltip.scss',\n shadow: true,\n})\nexport class PdsTooltip {\n private contentEl: HTMLElement | null;\n\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsTooltipElement;\n\n /**\n * Determines when the tooltip is open\n * @defaultValue false\n */\n @State() isOpen = false;\n\n /**\n * Content for the tooltip. If HTML is required, use the content slot\n */\n @Prop() content: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether or not the tooltip has an arrow\n * @defaultValue true\n */\n @Prop() hasArrow? = true;\n\n /**\n * Enable this option when using the content slot\n * @defaultValue false\n */\n @Prop() htmlContent = false;\n\n /**\n * Determines the preferred position of the tooltip\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement:\n 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'right';\n\n /**\n * Determines whether or not the tooltip is visible\n * @defaultValue false\n */\n @Prop({mutable: true, reflect: true}) opened = false;\n\n @Watch('opened')\n handleOpenToggle() {\n if (this.opened) {\n this.handleShow();\n } else {\n this.handleHide();\n }\n }\n\n /**\n * Emitted after a tooltip is closed\n */\n @Event() pdsTooltipHide: EventEmitter;\n\n /**\n * Emitted after a tooltip is shown\n */\n @Event() pdsTooltipShow: EventEmitter;\n\n componentWillLoad() {\n if (this.opened) {\n this.showTooltip();\n }\n\n this.el.addEventListener('blur', this.handleHide, true);\n this.el.addEventListener('focus', this.handleShow, true);\n }\n\n componentDidUpdate() {\n if (this.opened) {\n this.showTooltip();\n }\n }\n\n componentDidRender() {\n positionTooltip({elem: this.el, elemPlacement: this.placement, overlay: this.contentEl});\n }\n\n /**\n * Shows the tooltip by enabling the opened property\n */\n @Method()\n async showTooltip() {\n this.opened = true;\n }\n\n /**\n * Hides the tooltip by disabling the opened property\n */\n @Method()\n async hideTooltip() {\n this.opened = false;\n }\n\n private handleHide = () => {\n this.hideTooltip();\n this.pdsTooltipHide.emit();\n };\n\n private handleShow = () => {\n this.showTooltip();\n this.pdsTooltipShow.emit();\n };\n\n render() {\n return (\n <Host\n onMouseEnter={this.handleShow}\n onMouseLeave={this.handleHide}\n onFocusin={this.handleShow}\n onFocusout={this.handleHide}\n >\n <div\n class={`\n pds-tooltip\n pds-tooltip--${this.placement}\n ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''}\n ${this.opened ? 'pds-tooltip--is-open' : ''}\n ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}\n `}\n >\n <span\n aria-describedby={this.componentId}\n class=\"pds-tooltip__trigger\"\n >\n <slot />\n </span>\n\n <div class=\"pds-tooltip__content\"\n aria-hidden={this.opened ? 'false' : 'true'}\n aria-live={this.opened ? 'polite' : 'off'}\n id={this.componentId}\n ref={(el) => (this.contentEl = el)}\n role=\"tooltip\"\n >\n <slot\n name=\"content\"\n ></slot>\n {this.content}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- /* pds-icons v7.1.0, ES Modules */
3
+ /* pds-icons v7.4.0, ES Modules */
4
4
  const caretDown = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='pdsicon'><path fill-rule='evenodd' d='M.862 4.862c.26-.26.682-.26.943 0L8 11.057l6.195-6.195a.667.667 0 1 1 .943.943L8.471 12.47a.667.667 0 0 1-.942 0L.862 5.805a.667.667 0 0 1 0-.943'/></svg>";
5
5
  const checkCircleFilled = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='pdsicon'><g clip-path='url(#a)'><path d='M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8m4.473 5.807L7.14 11.14c-.26.26-.68.26-.94 0L3.533 8.473a.664.664 0 1 1 .94-.94l2.194 2.194 4.86-4.86c.26-.26.68-.26.94 0 .266.253.266.68.006.94'/></g><defs><clipPath id='a'><path d='M0 0h16v16H0z'/></clipPath></defs></svg>";
6
6
  const copy = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='pdsicon'><g fill-rule='evenodd' clip-path='url(#a)'><path d='M10 5.333c0-.368.299-.666.667-.666h4c.368 0 .666.298.666.666v9.334a.667.667 0 0 1-.666.666H5.333a.667.667 0 0 1-.666-.666v-4a.667.667 0 1 1 1.333 0V14h8V6h-3.333A.667.667 0 0 1 10 5.333'/><path d='M.667 1.333c0-.368.298-.666.666-.666h9.334c.368 0 .666.298.666.666v9.334a.667.667 0 0 1-.666.666H1.333a.667.667 0 0 1-.666-.666zM2 2v8h8V2z'/></g><defs><clipPath id='a'><path d='M0 0h16v16H0z'/></clipPath></defs></svg>";
@@ -21,4 +21,4 @@ exports.remove = remove;
21
21
  exports.upSmall = upSmall;
22
22
  exports.userFilled = userFilled;
23
23
 
24
- //# sourceMappingURL=index-34f3258f.js.map
24
+ //# sourceMappingURL=index-dd191bbe.js.map