@pine-ds/core 3.5.1 → 3.6.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 (196) hide show
  1. package/components/mock-pds-modal.js +9 -4
  2. package/components/mock-pds-modal.js.map +1 -1
  3. package/components/pds-box2.js +164 -4
  4. package/components/pds-box2.js.map +1 -1
  5. package/components/pds-button2.js +51 -2
  6. package/components/pds-button2.js.map +1 -1
  7. package/components/pds-modal-content.js +128 -11
  8. package/components/pds-modal-content.js.map +1 -1
  9. package/components/pds-modal.js +13 -3
  10. package/components/pds-modal.js.map +1 -1
  11. package/components/pds-row.js +8 -2
  12. package/components/pds-row.js.map +1 -1
  13. package/components/pds-textarea.js +111 -7
  14. package/components/pds-textarea.js.map +1 -1
  15. package/components/pds-toast.js +3 -3
  16. package/components/pds-tooltip.js +2 -2
  17. package/dist/cjs/loader.cjs.js +1 -1
  18. package/dist/cjs/mock-pds-modal.cjs.entry.js +8 -4
  19. package/dist/cjs/mock-pds-modal.cjs.entry.js.map +1 -1
  20. package/dist/cjs/mock-pds-modal.entry.cjs.js.map +1 -1
  21. package/dist/cjs/pds-box.cjs.entry.js +82 -2
  22. package/dist/cjs/pds-box.cjs.entry.js.map +1 -1
  23. package/dist/cjs/pds-box.entry.cjs.js.map +1 -1
  24. package/dist/cjs/pds-button.cjs.entry.js +50 -1
  25. package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
  26. package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
  27. package/dist/cjs/pds-modal-content.cjs.entry.js +128 -11
  28. package/dist/cjs/pds-modal-content.cjs.entry.js.map +1 -1
  29. package/dist/cjs/pds-modal-content.entry.cjs.js.map +1 -1
  30. package/dist/cjs/pds-modal.cjs.entry.js +12 -3
  31. package/dist/cjs/pds-modal.cjs.entry.js.map +1 -1
  32. package/dist/cjs/pds-modal.entry.cjs.js.map +1 -1
  33. package/dist/cjs/pds-row.cjs.entry.js +6 -2
  34. package/dist/cjs/pds-row.cjs.entry.js.map +1 -1
  35. package/dist/cjs/pds-row.entry.cjs.js.map +1 -1
  36. package/dist/cjs/pds-textarea.cjs.entry.js +108 -6
  37. package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
  38. package/dist/cjs/pds-textarea.entry.cjs.js.map +1 -1
  39. package/dist/cjs/pds-toast.cjs.entry.js +3 -3
  40. package/dist/cjs/pds-tooltip.cjs.entry.js +2 -2
  41. package/dist/cjs/pine-core.cjs.js +1 -1
  42. package/dist/collection/components/pds-box/pds-box.css +1607 -3
  43. package/dist/collection/components/pds-box/pds-box.js +2222 -127
  44. package/dist/collection/components/pds-box/pds-box.js.map +1 -1
  45. package/dist/collection/components/pds-button/pds-button.js +59 -1
  46. package/dist/collection/components/pds-button/pds-button.js.map +1 -1
  47. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.css +4 -6
  48. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +128 -11
  49. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js.map +1 -1
  50. package/dist/collection/components/pds-modal/pds-modal.css +42 -1
  51. package/dist/collection/components/pds-modal/pds-modal.js +34 -2
  52. package/dist/collection/components/pds-modal/pds-modal.js.map +1 -1
  53. package/dist/collection/components/pds-modal/stories/pds-modal.stories.js +245 -0
  54. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +30 -3
  55. package/dist/collection/components/pds-modal/test/mock-pds-modal.js.map +1 -1
  56. package/dist/collection/components/pds-row/pds-row.js +56 -2
  57. package/dist/collection/components/pds-row/pds-row.js.map +1 -1
  58. package/dist/collection/components/pds-textarea/pds-textarea.css +51 -11
  59. package/dist/collection/components/pds-textarea/pds-textarea.js +127 -4
  60. package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
  61. package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +13 -0
  62. package/dist/collection/components/pds-toast/pds-toast.js +3 -3
  63. package/dist/collection/components/pds-tooltip/pds-tooltip.js +2 -2
  64. package/dist/docs.json +4845 -447
  65. package/dist/esm/loader.js +1 -1
  66. package/dist/esm/mock-pds-modal.entry.js +8 -4
  67. package/dist/esm/mock-pds-modal.entry.js.map +1 -1
  68. package/dist/esm/pds-box.entry.js +82 -2
  69. package/dist/esm/pds-box.entry.js.map +1 -1
  70. package/dist/esm/pds-button.entry.js +50 -1
  71. package/dist/esm/pds-button.entry.js.map +1 -1
  72. package/dist/esm/pds-modal-content.entry.js +128 -11
  73. package/dist/esm/pds-modal-content.entry.js.map +1 -1
  74. package/dist/esm/pds-modal.entry.js +12 -3
  75. package/dist/esm/pds-modal.entry.js.map +1 -1
  76. package/dist/esm/pds-row.entry.js +6 -2
  77. package/dist/esm/pds-row.entry.js.map +1 -1
  78. package/dist/esm/pds-textarea.entry.js +108 -6
  79. package/dist/esm/pds-textarea.entry.js.map +1 -1
  80. package/dist/esm/pds-toast.entry.js +3 -3
  81. package/dist/esm/pds-tooltip.entry.js +2 -2
  82. package/dist/esm/pine-core.js +1 -1
  83. package/dist/esm-es5/loader.js +1 -1
  84. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  85. package/dist/esm-es5/mock-pds-modal.entry.js.map +1 -1
  86. package/dist/esm-es5/pds-box.entry.js +1 -1
  87. package/dist/esm-es5/pds-box.entry.js.map +1 -1
  88. package/dist/esm-es5/pds-button.entry.js +1 -1
  89. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  90. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  91. package/dist/esm-es5/pds-modal-content.entry.js.map +1 -1
  92. package/dist/esm-es5/pds-modal.entry.js +1 -1
  93. package/dist/esm-es5/pds-modal.entry.js.map +1 -1
  94. package/dist/esm-es5/pds-row.entry.js +1 -1
  95. package/dist/esm-es5/pds-row.entry.js.map +1 -1
  96. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  97. package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
  98. package/dist/esm-es5/pds-toast.entry.js +1 -1
  99. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  100. package/dist/esm-es5/pine-core.js +1 -1
  101. package/dist/pine-core/mock-pds-modal.entry.esm.js.map +1 -1
  102. package/dist/pine-core/p-318fd0cf.entry.js +2 -0
  103. package/dist/pine-core/p-318fd0cf.entry.js.map +1 -0
  104. package/dist/pine-core/{p-c4d6fe50.system.entry.js → p-346561a6.system.entry.js} +2 -2
  105. package/dist/pine-core/p-346561a6.system.entry.js.map +1 -0
  106. package/dist/pine-core/p-3gYSFJIn.system.js.map +1 -0
  107. package/dist/pine-core/{p-IG5YumI3.system.js.map → p-3pEJO0vO.system.js.map} +1 -1
  108. package/dist/pine-core/p-41d1b164.entry.js +2 -0
  109. package/dist/pine-core/p-41d1b164.entry.js.map +1 -0
  110. package/dist/pine-core/{p-02326ac3.entry.js → p-4c81420c.entry.js} +2 -2
  111. package/dist/pine-core/p-52cb152b.system.entry.js +2 -0
  112. package/dist/pine-core/p-52cb152b.system.entry.js.map +1 -0
  113. package/dist/pine-core/p-540cfd70.entry.js +2 -0
  114. package/dist/pine-core/p-540cfd70.entry.js.map +1 -0
  115. package/dist/pine-core/{p-11d4036e.entry.js → p-5f5b19f4.entry.js} +2 -2
  116. package/dist/pine-core/p-6d4d4705.system.entry.js +2 -0
  117. package/dist/pine-core/p-6d4d4705.system.entry.js.map +1 -0
  118. package/dist/pine-core/{p-68b5665a.entry.js → p-84949a12.entry.js} +2 -2
  119. package/dist/pine-core/p-84949a12.entry.js.map +1 -0
  120. package/dist/pine-core/{p-7a95a90f.system.entry.js → p-8726c99d.system.entry.js} +2 -2
  121. package/dist/pine-core/{p-2kXtbFXu.system.js.map → p-BZoPY2dP.system.js.map} +1 -1
  122. package/dist/pine-core/p-C0zqu7Gr.system.js.map +1 -0
  123. package/dist/pine-core/p-CHJgq_z7.system.js.map +1 -0
  124. package/dist/pine-core/p-Co5XZmTN.system.js.map +1 -0
  125. package/dist/pine-core/p-Czoq9yJM.system.js.map +1 -0
  126. package/dist/pine-core/p-De9tROL-.system.js +1 -1
  127. package/dist/pine-core/p-EYhpJx2s.system.js.map +1 -0
  128. package/dist/pine-core/p-WkrM7Vv0.system.js.map +1 -0
  129. package/dist/pine-core/p-a9895385.system.entry.js +2 -0
  130. package/dist/pine-core/p-a9895385.system.entry.js.map +1 -0
  131. package/dist/pine-core/{p-5aed29fe.system.entry.js → p-b2b1b7a9.system.entry.js} +2 -2
  132. package/dist/pine-core/p-b2b1b7a9.system.entry.js.map +1 -0
  133. package/dist/pine-core/p-c0df3222.entry.js +2 -0
  134. package/dist/pine-core/p-c0df3222.entry.js.map +1 -0
  135. package/dist/pine-core/{p-884b9ae6.system.entry.js → p-d8d8fe07.system.entry.js} +2 -2
  136. package/dist/pine-core/p-dc19ce6c.system.entry.js +2 -0
  137. package/dist/pine-core/p-dc19ce6c.system.entry.js.map +1 -0
  138. package/dist/pine-core/p-e08f492a.entry.js +2 -0
  139. package/dist/pine-core/p-e08f492a.entry.js.map +1 -0
  140. package/dist/pine-core/{p-79e2782b.entry.js → p-ecb9edf8.entry.js} +2 -2
  141. package/dist/pine-core/p-ecb9edf8.entry.js.map +1 -0
  142. package/dist/pine-core/p-fcb39155.system.entry.js +2 -0
  143. package/dist/pine-core/p-fcb39155.system.entry.js.map +1 -0
  144. package/dist/pine-core/pds-box.entry.esm.js.map +1 -1
  145. package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
  146. package/dist/pine-core/pds-modal-content.entry.esm.js.map +1 -1
  147. package/dist/pine-core/pds-modal.entry.esm.js.map +1 -1
  148. package/dist/pine-core/pds-row.entry.esm.js.map +1 -1
  149. package/dist/pine-core/pds-textarea.entry.esm.js.map +1 -1
  150. package/dist/pine-core/pine-core.esm.js +1 -1
  151. package/dist/types/components/pds-box/pds-box.d.ts +393 -3
  152. package/dist/types/components/pds-button/pds-button.d.ts +4 -0
  153. package/dist/types/components/pds-modal/pds-modal-content/pds-modal-content.d.ts +18 -1
  154. package/dist/types/components/pds-modal/pds-modal.d.ts +5 -0
  155. package/dist/types/components/pds-modal/test/mock-pds-modal.d.ts +5 -0
  156. package/dist/types/components/pds-row/pds-row.d.ts +8 -0
  157. package/dist/types/components/pds-textarea/pds-textarea.d.ts +20 -0
  158. package/dist/types/components.d.ts +822 -8
  159. package/hydrate/index.js +489 -39
  160. package/hydrate/index.mjs +489 -39
  161. package/package.json +2 -2
  162. package/dist/pine-core/p-0485aa93.system.entry.js +0 -2
  163. package/dist/pine-core/p-0485aa93.system.entry.js.map +0 -1
  164. package/dist/pine-core/p-0d9e28a2.entry.js +0 -2
  165. package/dist/pine-core/p-0d9e28a2.entry.js.map +0 -1
  166. package/dist/pine-core/p-2186e5d4.system.entry.js +0 -2
  167. package/dist/pine-core/p-2186e5d4.system.entry.js.map +0 -1
  168. package/dist/pine-core/p-48b658fc.system.entry.js +0 -2
  169. package/dist/pine-core/p-48b658fc.system.entry.js.map +0 -1
  170. package/dist/pine-core/p-5aed29fe.system.entry.js.map +0 -1
  171. package/dist/pine-core/p-68b5665a.entry.js.map +0 -1
  172. package/dist/pine-core/p-79e2782b.entry.js.map +0 -1
  173. package/dist/pine-core/p-96a89cd5.system.entry.js +0 -2
  174. package/dist/pine-core/p-96a89cd5.system.entry.js.map +0 -1
  175. package/dist/pine-core/p-BOHu_LEs.system.js.map +0 -1
  176. package/dist/pine-core/p-CD_nPb2F.system.js.map +0 -1
  177. package/dist/pine-core/p-DAwJ242E.system.js.map +0 -1
  178. package/dist/pine-core/p-DJekRkSL.system.js.map +0 -1
  179. package/dist/pine-core/p-DNYl_6t_.system.js.map +0 -1
  180. package/dist/pine-core/p-Dt10r3RZ.system.js.map +0 -1
  181. package/dist/pine-core/p-IIl2cTlj.system.js.map +0 -1
  182. package/dist/pine-core/p-a24c46e4.entry.js +0 -2
  183. package/dist/pine-core/p-a24c46e4.entry.js.map +0 -1
  184. package/dist/pine-core/p-c4d6fe50.system.entry.js.map +0 -1
  185. package/dist/pine-core/p-c6badcf8.entry.js +0 -2
  186. package/dist/pine-core/p-c6badcf8.entry.js.map +0 -1
  187. package/dist/pine-core/p-d714f68f.system.entry.js +0 -2
  188. package/dist/pine-core/p-d714f68f.system.entry.js.map +0 -1
  189. package/dist/pine-core/p-e5ca5b8e.entry.js +0 -2
  190. package/dist/pine-core/p-e5ca5b8e.entry.js.map +0 -1
  191. package/dist/pine-core/p-fb4058e6.entry.js +0 -2
  192. package/dist/pine-core/p-fb4058e6.entry.js.map +0 -1
  193. /package/dist/pine-core/{p-02326ac3.entry.js.map → p-4c81420c.entry.js.map} +0 -0
  194. /package/dist/pine-core/{p-11d4036e.entry.js.map → p-5f5b19f4.entry.js.map} +0 -0
  195. /package/dist/pine-core/{p-7a95a90f.system.entry.js.map → p-8726c99d.system.entry.js.map} +0 -0
  196. /package/dist/pine-core/{p-884b9ae6.system.entry.js.map → p-d8d8fe07.system.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"pds-box2.js","mappings":"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","names":["__stencil_proxyCustomElement"],"sources":["src/components/pds-box/pds-box.scss?tag=pds-box","src/components/pds-box/pds-box.tsx"],"sourcesContent":["@use './pds-box.mixins' as *;\n\npds-box {\n --border-width-default: var(--pine-border-width-thin);\n --color-background-box: inherit;\n --color-border-box: inherit;\n\n display: block;\n}\n\n[class*='pds-box'] {\n background-color: var(--color-background-box);\n box-sizing: border-box;\n display: inline-flex;\n min-height: var(--sizing-min-height-box);\n min-width: var(--sizing-min-width-box);\n\n // The immediate child of the row will fit the width of the row\n .pds-row > & {\n position: relative;\n width: 100%;\n\n &.pds-box--auto {\n width: auto;\n }\n }\n}\n\n// Spacing mixin\n$pine-spacing-tokens: (\n xxs: 4px,\n xs: 8px,\n sm: 16px,\n md: 24px,\n lg: 36px,\n xl: 48px,\n xxl: 64px,\n);\n\n// Generate spacing classes\n@include generate-spacing-classes(false, $pine-spacing-tokens);\n@include generate-spacing-classes('top', $pine-spacing-tokens);\n@include generate-spacing-classes('right', $pine-spacing-tokens);\n@include generate-spacing-classes('left', $pine-spacing-tokens);\n@include generate-spacing-classes('bottom', $pine-spacing-tokens);\n\n// Base offset classes\n@include generate-column-offsets(false, 12);\n\n// Responsive offset classes\n@media (max-width: 575px) {\n @include generate-column-offsets('xs', 12);\n}\n\n@media (min-width: 576px) {\n @include generate-column-offsets('sm', 12);\n}\n\n@media (min-width: 768px) {\n @include generate-column-offsets('md', 12);\n}\n\n@media (min-width: 992px) {\n @include generate-column-offsets('lg', 12);\n}\n\n@media (min-width: 1200px) {\n @include generate-column-offsets('xl', 12);\n}\n\n\n// Base column width classes\n@include generate-columns(false, 12);\n\n// Responsive column width classes\n@media (max-width: 575px) {\n @include generate-columns('xs', 12);\n}\n\n@media (min-width: 576px) {\n @include generate-columns('sm', 12);\n}\n\n@media (min-width: 768px) {\n @include generate-columns('md', 12);\n}\n\n@media (min-width: 992px) {\n @include generate-columns('lg', 12);\n}\n\n@media (min-width: 1200px) {\n @include generate-columns('xl', 12);\n}\n\n.pds-box {\n flex-basis: 0;\n flex-grow: 1;\n}\n\n.pds-box--auto {\n flex: 0 0 var(--sizing-min-width-box, fit-content);\n min-width: auto;\n width: auto;\n}\n\n.pds-box--fit {\n max-width: 100%;\n min-width: 100%;\n width: 100%;\n}\n\n.pds-box--border {\n border-color: var(--color-border-box, var(--pine-color-grey-300));\n border-style: solid;\n border-width: var(--border-width-default);\n}\n\n// Display helpers\n.pds-box--display-flex {\n display: flex;\n}\n\n.pds-box--display-inline-flex {\n display: inline-flex;\n}\n\n.pds-box--display-block {\n display: block;\n}\n\n.pds-box--display-inline-block {\n display: inline-block;\n}\n\n// Flex helpers\n.pds-box--flex-none {\n flex: 0 0 auto;\n}\n\n.pds-box--flex-grow {\n flex: 1 1 auto\n}\n\n.pds-box--flex-shrink {\n flex: 0 0 auto;\n}\n\n// Border radius helpers\n.pds-border-radius-none {\n border-radius: 0;\n}\n\n.pds-border-radius-xs {\n border-radius: var(--pine-dimension-2xs);\n}\n\n.pds-border-radius-sm {\n border-radius: var(--pine-dimension-xs);\n}\n\n.pds-border-radius-md {\n border-radius: var(--pine-dimension-125);\n}\n\n.pds-border-radius-lg {\n border-radius: var(--pine-dimension-sm);\n}\n\n.pds-border-radius-circle {\n border-radius: var(--pine-border-radius-full);\n}\n\n// Box shadow helpers\n.pds-shadow-050 {\n box-shadow: var(--pine-box-shadow-050);\n}\n\n.pds-shadow-100 {\n box-shadow: var(--pine-box-shadow-100);\n}\n\n.pds-shadow-150 {\n box-shadow: var(--pine-box-shadow-150);\n}\n\n.pds-shadow-200 {\n box-shadow: var(--pine-box-shadow-200);\n}\n\n.pds-shadow-300 {\n box-shadow: var(--pine-box-shadow-300);\n}\n\n.pds-shadow-400 {\n box-shadow: var(--pine-box-shadow-400);\n}\n\n.pds-shadow-500 {\n box-shadow: var(--pine-box-shadow-500);\n}\n\n\n.pds-shadow-xs {\n box-shadow: var(--pine-box-shadow-050);\n}\n\n.pds-shadow-sm {\n box-shadow: var(--pine-box-shadow-100);\n}\n\n.pds-shadow-md {\n box-shadow: var(--pine-box-shadow-150);\n}\n\n.pds-shadow-lg {\n box-shadow: var(--pine-box-shadow-200);\n}\n\n// Gap helpers\n.pds-box-gap-none {\n gap: 0;\n}\n\n.pds-box-gap-xxs {\n gap: var(--pine-dimension-2xs);\n}\n\n.pds-box-gap-xs {\n gap: var(--pine-dimension-xs);\n}\n\n.pds-box-gap-sm {\n gap: var(--pine-dimension-sm);\n}\n\n.pds-box-gap-md {\n gap: var(--pine-dimension-md);\n}\n\n.pds-box-gap-lg {\n gap: var(--pine-dimension-lg);\n}\n\n.pds-box-gap-xl {\n gap: var(--pine-dimension-xl);\n}\n\n.pds-box-gap-xxl {\n gap: var(--pine-dimension-2xl);\n}\n\n// Margin helpers\n.pds-margin-block-start-xxs {\n margin-block-start: var(--pine-dimension-2xs);\n}\n\n.pds-margin-block-start-xs {\n margin-block-start: var(--pine-dimension-xs);\n}\n\n.pds-margin-block-start-sm {\n margin-block-start: var(--pine-dimension-sm);\n}\n\n.pds-margin-block-start-md {\n margin-block-start: var(--pine-dimension-md);\n}\n\n.pds-margin-block-start-lg {\n margin-block-start: var(--pine-dimension-lg);\n}\n\n.pds-margin-block-start-xl {\n margin-block-start: var(--pine-dimension-xl);\n}\n\n.pds-margin-block-start-xxl {\n margin-block-start: var(--pine-dimension-2xl);\n}\n\n.pds-margin-inline-start-none {\n margin-inline-start: 0;\n}\n\n.pds-margin-inline-start-xxs {\n margin-inline-start: var(--pine-dimension-2xs);\n}\n\n.pds-margin-inline-start-xs {\n margin-inline-start: var(--pine-dimension-xs);\n}\n\n.pds-margin-inline-start-sm {\n margin-inline-start: var(--pine-dimension-sm);\n}\n\n.pds-margin-inline-start-md {\n margin-inline-start: var(--pine-dimension-md);\n}\n\n.pds-margin-inline-start-lg {\n margin-inline-start: var(--pine-dimension-lg);\n}\n\n.pds-margin-inline-start-xl {\n margin-inline-start: var(--pine-dimension-xl);\n}\n\n.pds-margin-inline-start-xxl {\n margin-inline-start: var(--pine-dimension-2xl);\n}\n\n.pds-margin-inline-end-none {\n margin-inline-end: 0;\n}\n\n.pds-margin-inline-end-xxs {\n margin-inline-end: var(--pine-dimension-2xs);\n}\n\n.pds-margin-inline-end-xs {\n margin-inline-end: var(--pine-dimension-xs);\n}\n\n.pds-margin-inline-end-sm {\n margin-inline-end: var(--pine-dimension-sm);\n}\n\n.pds-margin-inline-end-md {\n margin-inline-end: var(--pine-dimension-md);\n}\n\n.pds-margin-inline-end-lg {\n margin-inline-end: var(--pine-dimension-lg);\n}\n\n.pds-margin-inline-end-xl {\n margin-inline-end: var(--pine-dimension-xl);\n}\n\n.pds-margin-inline-end-xxl {\n margin-inline-end: var(--pine-dimension-2xl);\n}\n\n.pds-margin-block-end-none {\n margin-block-end: 0;\n}\n\n.pds-margin-block-end-xxs {\n margin-block-end: var(--pine-dimension-2xs);\n}\n\n.pds-margin-block-end-xs {\n margin-block-end: var(--pine-dimension-xs);\n}\n\n.pds-margin-block-end-sm {\n margin-block-end: var(--pine-dimension-sm);\n}\n\n.pds-margin-block-end-md {\n margin-block-end: var(--pine-dimension-md);\n}\n\n.pds-margin-block-end-lg {\n margin-block-end: var(--pine-dimension-lg);\n}\n\n.pds-margin-block-end-xl {\n margin-block-end: var(--pine-dimension-xl);\n}\n\n.pds-margin-block-end-xxl {\n margin-block-end: var(--pine-dimension-2xl);\n}\n\n// Padding helpers\n.pds-padding-none {\n padding: 0;\n}\n\n.pds-padding-xxs {\n padding: var(--pine-dimension-2xs);\n}\n\n.pds-padding-xs {\n padding: var(--pine-dimension-xs);\n}\n\n.pds-padding-sm {\n padding: var(--pine-dimension-sm);\n}\n\n.pds-padding-md {\n padding: var(--pine-dimension-md);\n}\n\n.pds-padding-lg {\n padding: var(--pine-dimension-lg);\n}\n\n.pds-padding-xl {\n padding: var(--pine-dimension-xl);\n}\n\n.pds-padding-xxl {\n padding: var(--pine-dimension-2xl);\n}\n\n// Padding block start helpers\n.pds-padding-block-start-none {\n padding-block-start: var(--pine-dimension-none);\n}\n\n.pds-padding-block-start-xxs {\n padding-block-start: var(--pine-dimension-2xs);\n}\n\n.pds-padding-block-start-xs {\n padding-block-start: var(--pine-dimension-xs);\n}\n\n.pds-padding-block-start-sm {\n padding-block-start: var(--pine-dimension-sm);\n}\n\n.pds-padding-block-start-md {\n padding-block-start: var(--pine-dimension-md);\n}\n\n.pds-padding-block-start-lg {\n padding-block-start: var(--pine-dimension-lg);\n}\n\n.pds-padding-block-start-xl {\n padding-block-start: var(--pine-dimension-xl);\n}\n\n.pds-padding-block-start-xxl {\n padding-block-start: var(--pine-dimension-2xl);\n}\n\n// Padding block end helpers\n.pds-padding-block-end-none {\n padding-block-end: var(--pine-dimension-none);\n}\n\n.pds-padding-block-end-xxs {\n padding-block-end: var(--pine-dimension-2xs);\n}\n\n.pds-padding-block-end-xs {\n padding-block-end: var(--pine-dimension-xs);\n}\n\n.pds-padding-block-end-sm {\n padding-block-end: var(--pine-dimension-sm);\n}\n\n.pds-padding-block-end-md {\n padding-block-end: var(--pine-dimension-md);\n}\n\n.pds-padding-block-end-lg {\n padding-block-end: var(--pine-dimension-lg);\n}\n\n.pds-padding-block-end-xl {\n padding-block-end: var(--pine-dimension-xl);\n}\n\n.pds-padding-block-end-xxl {\n padding-block-end: var(--pine-dimension-2xl);\n}\n\n// Padding inline start helpers\n.pds-padding-inline-start-none {\n padding-inline-start: var(--pine-dimension-none);\n}\n\n.pds-padding-inline-start-xxs {\n padding-inline-start: var(--pine-dimension-2xs);\n}\n\n.pds-padding-inline-start-xs {\n padding-inline-start: var(--pine-dimension-xs);\n}\n\n.pds-padding-inline-start-sm {\n padding-inline-start: var(--pine-dimension-sm);\n}\n\n.pds-padding-inline-start-md {\n padding-inline-start: var(--pine-dimension-md);\n}\n\n.pds-padding-inline-start-lg {\n padding-inline-start: var(--pine-dimension-lg);\n}\n\n.pds-padding-inline-start-xl {\n padding-inline-start: var(--pine-dimension-xl);\n}\n\n.pds-padding-inline-start-xxl {\n padding-inline-start: var(--pine-dimension-2xl);\n}\n\n// Padding inline end helpers\n.pds-padding-inline-end-none {\n padding-inline-end: var(--pine-dimension-none);\n}\n\n.pds-padding-inline-end-xxs {\n padding-inline-end: var(--pine-dimension-2xs);\n}\n\n.pds-padding-inline-end-xs {\n padding-inline-end: var(--pine-dimension-xs);\n}\n\n.pds-padding-inline-end-sm {\n padding-inline-end: var(--pine-dimension-sm);\n}\n\n.pds-padding-inline-end-md {\n padding-inline-end: var(--pine-dimension-md);\n}\n\n.pds-padding-inline-end-lg {\n padding-inline-end: var(--pine-dimension-lg);\n}\n\n.pds-padding-inline-end-xl {\n padding-inline-end: var(--pine-dimension-xl);\n}\n\n.pds-padding-inline-end-xxl {\n padding-inline-end: var(--pine-dimension-2xl);\n}\n\n\n// Display helpers\n.pds-box-display-block {\n display: block;\n}\n\n.pds-box-display-inline-block {\n display: inline-block;\n}\n\n.pds-box-display-flex {\n display: flex;\n}\n\n.pds-box-display-inline-flex {\n display: inline-flex;\n}\n\n// Flex Direction helpers\n.pds-box-direction-row {\n flex-direction: row;\n}\n\n.pds-box-direction-column {\n flex-direction: column;\n}\n\n// Flex Wrap helpers\n.pds-box--wrap {\n flex-wrap: wrap;\n}\n\n// Justify Content helpers\n.pds-justify-content-start {\n justify-content: start;\n}\n\n.pds-justify-content-center {\n justify-content: center;\n}\n\n.pds-justify-content-end {\n justify-content: end;\n}\n\n.pds-justify-content-space-between {\n justify-content: space-between;\n}\n\n.pds-justify-content-space-around {\n justify-content: space-around;\n}\n\n.pds-justify-content-space-evenly {\n justify-content: space-evenly;\n}\n\n// Align Items helpers\n.pds-align-items-start {\n align-items: start;\n}\n\n.pds-align-items-center {\n align-items: center;\n}\n\n.pds-align-items-end {\n align-items: end;\n}\n\n.pds-align-items-stretch {\n align-items: stretch;\n}\n\n.pds-align-items-baseline {\n align-items: baseline;\n}\n\n// Align Self helpers\n.pds-align-self-start {\n align-self: start;\n}\n\n.pds-align-self-center {\n align-self: center;\n}\n\n.pds-align-self-end {\n align-self: end;\n}\n\n.pds-align-self-baseline {\n align-self: baseline;\n}\n\n.pds-align-self-stretch {\n align-self: stretch;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\nimport { BoxColumnType, BoxTShirtSizeType, BoxShadowSizeType } from '../../utils/types';\nimport { normalizeColorValue } from '../../utils/utils';\n\n@Component({\n tag: 'pds-box',\n styleUrl: 'pds-box.scss',\n})\nexport class PdsBox {\n /**\n * Defines how items within the box are aligned.\n * @defaultValue start\n */\n @Prop() alignItems?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container.\n * @defaultValue start\n */\n @Prop() alignSelf?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * If `true`, the box will be sized to fit its contents.\n */\n @Prop() auto?: boolean;\n\n /**\n * Defines the background-color of the box.\n */\n @Prop() backgroundColor?: string;\n\n /**\n * If `true`, the box will have a border.\n */\n @Prop() border? = false;\n\n /**\n * Defines the border color of the box.\n */\n @Prop() borderColor?: string;\n\n /**\n * Defines how rounded the box corners are.\n * @defaultValue none\n */\n @Prop() borderRadius?: `none` | `xs`| `sm` | `md` | `lg` | `circle`;\n\n /**\n * Defines the orientation of the box items.\n * @defaultValue row\n */\n @Prop() direction?: `row` | `column`;\n\n /**\n * Defines the display style of the box.\n * @defaultValue flex\n */\n @Prop() display?: `flex` | `inline-flex` | `block` | `inline-block`;\n\n /**\n * If `true`, sets the box `max-width` to `100%`.\n */\n @Prop() fit?: boolean;\n\n /**\n * Defines the spacing between the box items.\n * @defaultValue none\n */\n @Prop() gap?: BoxTShirtSizeType;\n\n /**\n * Defines whether flex items are forced onto one line or can wrap onto multiple lines.\n * @defaultValue false\n */\n @Prop() wrap?: boolean;\n\n /**\n * Defines how a box will grow or shrink to fit the space available in its container.\n * Can be a predefined value ('none', 'grow', 'shrink') or a custom flex value (e.g., '1', '0 1 auto').\n * @defaultValue none\n */\n @Prop() flex?: `none` | `grow` | `shrink` | string;\n\n /**\n * Defines the horizontal alignment of the box items.\n * @defaultValue start\n */\n @Prop() justifyContent?: `start` | `center` | `end` | `space-between` | `space-around`;\n\n /**\n * Defines the box's outer top spacing.\n * @defaultValue none\n */\n @Prop() marginBlockStart?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer left spacing.\n * @defaultValue none\n */\n @Prop() marginInlineStart?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer right spacing.\n * @defaultValue none\n */\n @Prop() marginInlineEnd?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer bottom spacing.\n * @defaultValue none\n */\n @Prop() marginBlockEnd?: BoxTShirtSizeType;\n\n /**\n * The minimum height of the row. Used in conjunction with alignment props\n */\n @Prop() minHeight?: string;\n\n /**\n * The minimum width of the row. Used in conjunction with alignment props\n */\n @Prop() minWidth?: string;\n\n /**\n * Move columns to the end direction of the row for all screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offset?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `XS` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetXs?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `SM` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetSm?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `MD` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetMd?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `LG` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetLg?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `XL` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetXl?: BoxColumnType;\n\n /**\n * Defines the spacing between the box items.\n * @defaultValue none\n */\n @Prop() padding?: BoxTShirtSizeType;\n\n\n /**\n * Defines the top spacing.\n * @defaultValue none\n */\n @Prop() paddingBlockStart?: BoxTShirtSizeType;\n\n /**\n * Defines the bottom spacing.\n * @defaultValue none\n */\n @Prop() paddingBlockEnd?: BoxTShirtSizeType;\n\n /**\n * Defines the left spacing.\n * @defaultValue none\n */\n @Prop() paddingInlineStart?: BoxTShirtSizeType;\n\n /**\n * Defines the right spacing.\n * @defaultValue none\n */\n @Prop() paddingInlineEnd?: BoxTShirtSizeType;\n\n /**\n * Defines the box shadow.\n * @defaultValue none\n */\n @Prop() shadow?: BoxShadowSizeType;\n\n /**\n * Sets the default column width for the component. This value applies from the smallest screen size (XS) upwards, unless overridden by a breakpoint-specific size prop at that breakpoint or larger.\n */\n @Prop() size?: BoxColumnType;\n\n /**\n * At the XS breakpoint, this prop will take the number of columns specified. This overrides the base size prop for this specific range.\n */\n @Prop() sizeXs?: BoxColumnType;\n\n /**\n * At screen sizes from the SM breakpoint and larger (576px and up), this will take the specified number of columns. This overrides any value set by size or sizeXs.\n */\n @Prop() sizeSm?: BoxColumnType;\n\n /**\n * At screen sizes from the MD breakpoint and larger (768px and up), this will take the specified number of columns. This overrides any value set by size, sizeXs, and up.\n */\n @Prop() sizeMd?: BoxColumnType;\n\n /**\n * At screen sizes from the LG breakpoint and larger (992px and up), this will take the specified number of columns. This overrides any value set by size, sizeXs, and up.\n */\n @Prop() sizeLg?: BoxColumnType;\n\n /**\n * At screen sizes from the XL breakpoint and larger (1200px and up), this will take the specified number of columns. This overrides any value set by size, sizeXs, and up.\n */\n @Prop() sizeXl?: BoxColumnType;\n\n\n\n render() {\n const boxClasses = `\n ${this.alignItems !== undefined && this.alignItems.trim() !== '' ? `pds-align-items-${this.alignItems}` : ''}\n ${this.alignSelf !== undefined && this.alignSelf.trim() !== '' ? `pds-align-self-${this.alignSelf}` : ''}\n ${this.auto ? 'pds-box--auto' : ''}\n ${this.border ? 'pds-box--border' : ''}\n ${this.borderRadius !== undefined && this.borderRadius.trim() !== '' ? `pds-border-radius-${this.borderRadius}` : ''}\n ${this.direction !== undefined && this.direction.trim() !== '' ? `pds-box-direction-${this.direction}` : ''}\n ${this.display !== undefined && this.display.trim() !== '' ? `pds-box--display-${this.display}` : ''}\n ${this.fit ? 'pds-box--fit' : ''}\n ${this.gap !== undefined && this.gap.trim() !== '' ? `pds-box-gap-${this.gap}` : ''}\n ${this.wrap ? 'pds-box--wrap' : ''}\n ${this.flex !== undefined && this.flex.trim() !== '' && ['none', 'grow', 'shrink'].includes(this.flex) ? `pds-box--flex-${this.flex}` : ''}\n ${this.justifyContent !== undefined && this.justifyContent.trim() !== '' ? `pds-justify-content-${this.justifyContent}` : ''}\n ${this.marginBlockStart !== undefined && this.marginBlockStart.trim() !== '' ? `pds-margin-block-start-${this.marginBlockStart}` : ''}\n ${this.marginInlineStart !== undefined && this.marginInlineStart.trim() !== '' ? `pds-margin-inline-start-${this.marginInlineStart}` : ''}\n ${this.marginInlineEnd !== undefined && this.marginInlineEnd.trim() !== '' ? `pds-margin-inline-end-${this.marginInlineEnd}` : ''}\n ${this.marginBlockEnd !== undefined && this.marginBlockEnd.trim() !== '' ? `pds-margin-block-end-${this.marginBlockEnd}` : ''}\n ${this.offset !== undefined && this.offset.trim() !== '' ? `pds-box-offset-${this.offset}` : ''}\n ${this.offsetXs !== undefined && this.offsetXs.trim() !== '' ? `pds-box-offset-xs-${this.offsetXs}` : ''}\n ${this.offsetSm !== undefined && this.offsetSm.trim() !== '' ? `pds-box-offset-sm-${this.offsetSm}` : ''}\n ${this.offsetMd !== undefined && this.offsetMd.trim() !== '' ? `pds-box-offset-md-${this.offsetMd}` : ''}\n ${this.offsetLg !== undefined && this.offsetLg.trim() !== '' ? `pds-box-offset-lg-${this.offsetLg}` : ''}\n ${this.offsetXl !== undefined && this.offsetXl.trim() !== '' ? `pds-box-offset-xl-${this.offsetXl}` : ''}\n ${this.padding !== undefined && this.padding.trim() !== '' ? `pds-padding-${this.padding}` : ''}\n ${this.paddingBlockStart !== undefined && this.paddingBlockStart.trim() !== '' ? `pds-padding-block-start-${this.paddingBlockStart}` : ''}\n ${this.paddingBlockEnd !== undefined && this.paddingBlockEnd.trim() !== '' ? `pds-padding-block-end-${this.paddingBlockEnd}` : ''}\n ${this.paddingInlineStart !== undefined && this.paddingInlineStart.trim() !== '' ? `pds-padding-inline-start-${this.paddingInlineStart}` : ''}\n ${this.paddingInlineEnd !== undefined && this.paddingInlineEnd.trim() !== '' ? `pds-padding-inline-end-${this.paddingInlineEnd}` : ''}\n ${this.shadow !== undefined && this.shadow.trim() !== '' ? `pds-shadow-${this.shadow}` : ''}\n ${this.size !== undefined && this.size.trim() !== '' ? `pds-box pds-box-${this.size}` : ''}\n ${this.sizeXs !== undefined && this.sizeXs.trim() !== '' ? `pds-box-xs-${this.sizeXs}` : ''}\n ${this.sizeSm !== undefined && this.sizeSm.trim() !== '' ? `pds-box-sm-${this.sizeSm}` : ''}\n ${this.sizeMd !== undefined && this.sizeMd.trim() !== '' ? `pds-box-md-${this.sizeMd}` : ''}\n ${this.sizeLg !== undefined && this.sizeLg.trim() !== '' ? `pds-box-lg-${this.sizeLg}` : ''}\n ${this.sizeXl !== undefined && this.sizeXl.trim() !== '' ? `pds-box-xl-${this.sizeXl}` : ''}\n ${this.size == undefined &&\n this.sizeSm == undefined &&\n this.sizeMd == undefined &&\n this.sizeLg == undefined &&\n this.sizeXl == undefined ? 'pds-box' : ''}\n `;\n\n // Normalize so pds-box accepts --token, var(--token), or literals (no semantic names)\n const normalizedBackground = normalizeColorValue(this.backgroundColor);\n const normalizedBorder = normalizeColorValue(this.borderColor);\n\n const boxInlineStyles = {\n ...(normalizedBackground && { '--color-background-box': normalizedBackground }),\n ...(normalizedBorder && { '--color-border-box': normalizedBorder }),\n ...(this.minHeight && { '--sizing-min-height-box': this.minHeight }),\n ...(this.minWidth && { '--sizing-min-width-box': this.minWidth }),\n ...(this.flex && !['none', 'grow', 'shrink'].includes(this.flex) && { 'flex': this.flex }),\n };\n\n return (\n <Host class={boxClasses} style={boxInlineStyles}>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pds-box2.js","mappings":"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","names":["__stencil_proxyCustomElement"],"sources":["src/components/pds-box/pds-box.scss?tag=pds-box","src/components/pds-box/pds-box.tsx"],"sourcesContent":["@use './pds-box.mixins' as *;\n\npds-box {\n --border-width-default: var(--pine-border-width-thin);\n --color-background-box: inherit;\n --color-border-box: inherit;\n\n display: block;\n}\n\n[class*='pds-box'] {\n background-color: var(--color-background-box);\n box-sizing: border-box;\n display: inline-flex;\n\n &[min-height] {\n min-height: var(--sizing-min-height-box);\n }\n\n &[min-width] {\n min-width: var(--sizing-min-width-box);\n }\n\n // The immediate child of the row will fit the width of the row\n .pds-row > & {\n position: relative;\n width: 100%;\n\n &.pds-box--auto {\n width: auto;\n }\n }\n}\n\n// Spacing mixin\n$pine-spacing-tokens: (\n xxs: 4px,\n xs: 8px,\n sm: 16px,\n md: 24px,\n lg: 36px,\n xl: 48px,\n xxl: 64px,\n);\n\n// Generate spacing classes\n@include generate-spacing-classes(false, $pine-spacing-tokens);\n@include generate-spacing-classes('top', $pine-spacing-tokens);\n@include generate-spacing-classes('right', $pine-spacing-tokens);\n@include generate-spacing-classes('left', $pine-spacing-tokens);\n@include generate-spacing-classes('bottom', $pine-spacing-tokens);\n\n// Base offset classes\n@include generate-column-offsets(false, 12);\n\n// Responsive offset classes\n@media (max-width: 575px) {\n @include generate-column-offsets('xs', 12);\n}\n\n@media (min-width: 576px) {\n @include generate-column-offsets('sm', 12);\n}\n\n@media (min-width: 768px) {\n @include generate-column-offsets('md', 12);\n}\n\n@media (min-width: 992px) {\n @include generate-column-offsets('lg', 12);\n}\n\n@media (min-width: 1200px) {\n @include generate-column-offsets('xl', 12);\n}\n\n\n// Base column width classes\n@include generate-columns(false, 12);\n\n// Responsive column width classes\n@media (max-width: 575px) {\n @include generate-columns('xs', 12);\n}\n\n@media (min-width: 576px) {\n @include generate-columns('sm', 12);\n}\n\n@media (min-width: 768px) {\n @include generate-columns('md', 12);\n}\n\n@media (min-width: 992px) {\n @include generate-columns('lg', 12);\n}\n\n@media (min-width: 1200px) {\n @include generate-columns('xl', 12);\n}\n\n.pds-box {\n flex-basis: 0;\n flex-grow: 1;\n}\n\n.pds-row > .pds-box[class*='pds-box-'] {\n flex-basis: auto;\n}\n\n.pds-box--auto {\n flex: 0 0 var(--sizing-min-width-box, fit-content);\n min-width: auto;\n width: auto;\n}\n\n.pds-box--fit {\n max-width: 100%;\n min-width: 100%;\n width: 100%;\n}\n\n.pds-box--border {\n border-color: var(--color-border-box, var(--pine-color-grey-300));\n border-style: solid;\n border-width: var(--border-width-default);\n}\n\n// Display helpers\n.pds-box--display-flex {\n display: flex;\n}\n\n.pds-box--display-inline-flex {\n display: inline-flex;\n}\n\n.pds-box--display-block {\n display: block;\n}\n\n.pds-box--display-inline-block {\n display: inline-block;\n}\n\n// Flex helpers\n.pds-box--flex-none {\n flex: 0 0 auto;\n}\n\n.pds-box--flex-grow {\n flex: 1 1 auto\n}\n\n.pds-box--flex-shrink {\n flex: 0 0 auto;\n}\n\n// Border radius helpers\n.pds-border-radius-none {\n border-radius: 0;\n}\n\n.pds-border-radius-xs {\n border-radius: var(--pine-dimension-2xs);\n}\n\n.pds-border-radius-sm {\n border-radius: var(--pine-dimension-xs);\n}\n\n.pds-border-radius-md {\n border-radius: var(--pine-dimension-125);\n}\n\n.pds-border-radius-lg {\n border-radius: var(--pine-dimension-sm);\n}\n\n.pds-border-radius-circle {\n border-radius: var(--pine-border-radius-full);\n}\n\n// Box shadow helpers\n.pds-shadow-050 {\n box-shadow: var(--pine-box-shadow-050);\n}\n\n.pds-shadow-100 {\n box-shadow: var(--pine-box-shadow-100);\n}\n\n.pds-shadow-150 {\n box-shadow: var(--pine-box-shadow-150);\n}\n\n.pds-shadow-200 {\n box-shadow: var(--pine-box-shadow-200);\n}\n\n.pds-shadow-300 {\n box-shadow: var(--pine-box-shadow-300);\n}\n\n.pds-shadow-400 {\n box-shadow: var(--pine-box-shadow-400);\n}\n\n.pds-shadow-500 {\n box-shadow: var(--pine-box-shadow-500);\n}\n\n\n.pds-shadow-xs {\n box-shadow: var(--pine-box-shadow-050);\n}\n\n.pds-shadow-sm {\n box-shadow: var(--pine-box-shadow-100);\n}\n\n.pds-shadow-md {\n box-shadow: var(--pine-box-shadow-150);\n}\n\n.pds-shadow-lg {\n box-shadow: var(--pine-box-shadow-200);\n}\n\n// Gap helpers\n.pds-box-gap-none {\n gap: 0;\n}\n\n.pds-box-gap-xxs {\n gap: var(--pine-dimension-2xs);\n}\n\n.pds-box-gap-xs {\n gap: var(--pine-dimension-xs);\n}\n\n.pds-box-gap-sm {\n gap: var(--pine-dimension-sm);\n}\n\n.pds-box-gap-md {\n gap: var(--pine-dimension-md);\n}\n\n.pds-box-gap-lg {\n gap: var(--pine-dimension-lg);\n}\n\n.pds-box-gap-xl {\n gap: var(--pine-dimension-xl);\n}\n\n.pds-box-gap-xxl {\n gap: var(--pine-dimension-2xl);\n}\n\n// Margin helpers\n.pds-margin-block-start-xxs {\n margin-block-start: var(--pine-dimension-2xs);\n}\n\n.pds-margin-block-start-xs {\n margin-block-start: var(--pine-dimension-xs);\n}\n\n.pds-margin-block-start-sm {\n margin-block-start: var(--pine-dimension-sm);\n}\n\n.pds-margin-block-start-md {\n margin-block-start: var(--pine-dimension-md);\n}\n\n.pds-margin-block-start-lg {\n margin-block-start: var(--pine-dimension-lg);\n}\n\n.pds-margin-block-start-xl {\n margin-block-start: var(--pine-dimension-xl);\n}\n\n.pds-margin-block-start-xxl {\n margin-block-start: var(--pine-dimension-2xl);\n}\n\n.pds-margin-inline-start-none {\n margin-inline-start: 0;\n}\n\n.pds-margin-inline-start-xxs {\n margin-inline-start: var(--pine-dimension-2xs);\n}\n\n.pds-margin-inline-start-xs {\n margin-inline-start: var(--pine-dimension-xs);\n}\n\n.pds-margin-inline-start-sm {\n margin-inline-start: var(--pine-dimension-sm);\n}\n\n.pds-margin-inline-start-md {\n margin-inline-start: var(--pine-dimension-md);\n}\n\n.pds-margin-inline-start-lg {\n margin-inline-start: var(--pine-dimension-lg);\n}\n\n.pds-margin-inline-start-xl {\n margin-inline-start: var(--pine-dimension-xl);\n}\n\n.pds-margin-inline-start-xxl {\n margin-inline-start: var(--pine-dimension-2xl);\n}\n\n.pds-margin-inline-end-none {\n margin-inline-end: 0;\n}\n\n.pds-margin-inline-end-xxs {\n margin-inline-end: var(--pine-dimension-2xs);\n}\n\n.pds-margin-inline-end-xs {\n margin-inline-end: var(--pine-dimension-xs);\n}\n\n.pds-margin-inline-end-sm {\n margin-inline-end: var(--pine-dimension-sm);\n}\n\n.pds-margin-inline-end-md {\n margin-inline-end: var(--pine-dimension-md);\n}\n\n.pds-margin-inline-end-lg {\n margin-inline-end: var(--pine-dimension-lg);\n}\n\n.pds-margin-inline-end-xl {\n margin-inline-end: var(--pine-dimension-xl);\n}\n\n.pds-margin-inline-end-xxl {\n margin-inline-end: var(--pine-dimension-2xl);\n}\n\n.pds-margin-block-end-none {\n margin-block-end: 0;\n}\n\n.pds-margin-block-end-xxs {\n margin-block-end: var(--pine-dimension-2xs);\n}\n\n.pds-margin-block-end-xs {\n margin-block-end: var(--pine-dimension-xs);\n}\n\n.pds-margin-block-end-sm {\n margin-block-end: var(--pine-dimension-sm);\n}\n\n.pds-margin-block-end-md {\n margin-block-end: var(--pine-dimension-md);\n}\n\n.pds-margin-block-end-lg {\n margin-block-end: var(--pine-dimension-lg);\n}\n\n.pds-margin-block-end-xl {\n margin-block-end: var(--pine-dimension-xl);\n}\n\n.pds-margin-block-end-xxl {\n margin-block-end: var(--pine-dimension-2xl);\n}\n\n// Padding helpers\n.pds-padding-none {\n padding: 0;\n}\n\n.pds-padding-xxs {\n padding: var(--pine-dimension-2xs);\n}\n\n.pds-padding-xs {\n padding: var(--pine-dimension-xs);\n}\n\n.pds-padding-sm {\n padding: var(--pine-dimension-sm);\n}\n\n.pds-padding-md {\n padding: var(--pine-dimension-md);\n}\n\n.pds-padding-lg {\n padding: var(--pine-dimension-lg);\n}\n\n.pds-padding-xl {\n padding: var(--pine-dimension-xl);\n}\n\n.pds-padding-xxl {\n padding: var(--pine-dimension-2xl);\n}\n\n// Padding block start helpers\n.pds-padding-block-start-none {\n padding-block-start: var(--pine-dimension-none);\n}\n\n.pds-padding-block-start-xxs {\n padding-block-start: var(--pine-dimension-2xs);\n}\n\n.pds-padding-block-start-xs {\n padding-block-start: var(--pine-dimension-xs);\n}\n\n.pds-padding-block-start-sm {\n padding-block-start: var(--pine-dimension-sm);\n}\n\n.pds-padding-block-start-md {\n padding-block-start: var(--pine-dimension-md);\n}\n\n.pds-padding-block-start-lg {\n padding-block-start: var(--pine-dimension-lg);\n}\n\n.pds-padding-block-start-xl {\n padding-block-start: var(--pine-dimension-xl);\n}\n\n.pds-padding-block-start-xxl {\n padding-block-start: var(--pine-dimension-2xl);\n}\n\n// Padding block end helpers\n.pds-padding-block-end-none {\n padding-block-end: var(--pine-dimension-none);\n}\n\n.pds-padding-block-end-xxs {\n padding-block-end: var(--pine-dimension-2xs);\n}\n\n.pds-padding-block-end-xs {\n padding-block-end: var(--pine-dimension-xs);\n}\n\n.pds-padding-block-end-sm {\n padding-block-end: var(--pine-dimension-sm);\n}\n\n.pds-padding-block-end-md {\n padding-block-end: var(--pine-dimension-md);\n}\n\n.pds-padding-block-end-lg {\n padding-block-end: var(--pine-dimension-lg);\n}\n\n.pds-padding-block-end-xl {\n padding-block-end: var(--pine-dimension-xl);\n}\n\n.pds-padding-block-end-xxl {\n padding-block-end: var(--pine-dimension-2xl);\n}\n\n// Padding inline start helpers\n.pds-padding-inline-start-none {\n padding-inline-start: var(--pine-dimension-none);\n}\n\n.pds-padding-inline-start-xxs {\n padding-inline-start: var(--pine-dimension-2xs);\n}\n\n.pds-padding-inline-start-xs {\n padding-inline-start: var(--pine-dimension-xs);\n}\n\n.pds-padding-inline-start-sm {\n padding-inline-start: var(--pine-dimension-sm);\n}\n\n.pds-padding-inline-start-md {\n padding-inline-start: var(--pine-dimension-md);\n}\n\n.pds-padding-inline-start-lg {\n padding-inline-start: var(--pine-dimension-lg);\n}\n\n.pds-padding-inline-start-xl {\n padding-inline-start: var(--pine-dimension-xl);\n}\n\n.pds-padding-inline-start-xxl {\n padding-inline-start: var(--pine-dimension-2xl);\n}\n\n// Padding inline end helpers\n.pds-padding-inline-end-none {\n padding-inline-end: var(--pine-dimension-none);\n}\n\n.pds-padding-inline-end-xxs {\n padding-inline-end: var(--pine-dimension-2xs);\n}\n\n.pds-padding-inline-end-xs {\n padding-inline-end: var(--pine-dimension-xs);\n}\n\n.pds-padding-inline-end-sm {\n padding-inline-end: var(--pine-dimension-sm);\n}\n\n.pds-padding-inline-end-md {\n padding-inline-end: var(--pine-dimension-md);\n}\n\n.pds-padding-inline-end-lg {\n padding-inline-end: var(--pine-dimension-lg);\n}\n\n.pds-padding-inline-end-xl {\n padding-inline-end: var(--pine-dimension-xl);\n}\n\n.pds-padding-inline-end-xxl {\n padding-inline-end: var(--pine-dimension-2xl);\n}\n\n\n// Display helpers\n.pds-box-display-block {\n display: block;\n}\n\n.pds-box-display-inline-block {\n display: inline-block;\n}\n\n.pds-box-display-flex {\n display: flex;\n}\n\n.pds-box-display-inline-flex {\n display: inline-flex;\n}\n\n// Flex Direction helpers\n.pds-box-direction-row {\n flex-direction: row;\n}\n\n.pds-box-direction-column {\n flex-direction: column;\n}\n\n// Flex Wrap helpers\n.pds-box--wrap {\n flex-wrap: wrap;\n}\n\n// Maps for flex properties\n$justify-content-values: (\n 'start': start,\n 'center': center,\n 'end': end,\n 'space-between': space-between,\n 'space-around': space-around,\n 'space-evenly': space-evenly\n);\n\n$align-items-values: (\n 'start': start,\n 'center': center,\n 'end': end,\n 'baseline': baseline,\n 'stretch': stretch\n);\n\n$align-self-values: (\n 'start': start,\n 'center': center,\n 'end': end,\n 'baseline': baseline,\n 'stretch': stretch\n);\n\n$breakpoints: (\n 'xs': '(max-width: 575px)',\n 'sm': '(min-width: 576px)',\n 'md': '(min-width: 768px)',\n 'lg': '(min-width: 992px)',\n 'xl': '(min-width: 1200px)'\n);\n\n// Justify Content helpers\n@each $name, $value in $justify-content-values {\n .pds-justify-content-#{$name} {\n justify-content: $value;\n }\n}\n\n// Responsive Justify Content helpers\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n @each $name, $value in $justify-content-values {\n .pds-justify-content-#{$breakpoint-name}-#{$name} {\n justify-content: $value;\n }\n }\n }\n}\n\n// Align Items helpers\n@each $name, $value in $align-items-values {\n .pds-align-items-#{$name} {\n align-items: $value;\n }\n}\n\n// Responsive Align Items helpers\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n @each $name, $value in $align-items-values {\n .pds-align-items-#{$breakpoint-name}-#{$name} {\n align-items: $value;\n }\n }\n }\n}\n\n// Align Self helpers\n@each $name, $value in $align-self-values {\n .pds-align-self-#{$name} {\n align-self: $value;\n }\n}\n\n// Responsive Align Self helpers\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n @each $name, $value in $align-self-values {\n .pds-align-self-#{$breakpoint-name}-#{$name} {\n align-self: $value;\n }\n }\n }\n}\n\n// Responsive Flex Wrap helpers\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n .pds-box--wrap-#{$breakpoint-name} {\n flex-wrap: wrap;\n }\n }\n}\n\n// Responsive Auto helpers\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n .pds-box--auto-#{$breakpoint-name} {\n flex: 0 0 var(--sizing-min-width-box, fit-content);\n min-width: auto;\n width: auto;\n }\n }\n}\n\n// Responsive Fit helpers\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n .pds-box--fit-#{$breakpoint-name} {\n max-width: 100%;\n min-width: 100%;\n width: 100%;\n }\n }\n}\n\n// Responsive Gap helpers\n$gap-values: (\n 'none': 0,\n 'xxs': var(--pine-dimension-2xs),\n 'xs': var(--pine-dimension-xs),\n 'sm': var(--pine-dimension-sm),\n 'md': var(--pine-dimension-md),\n 'lg': var(--pine-dimension-lg),\n 'xl': var(--pine-dimension-xl),\n 'xxl': var(--pine-dimension-2xl)\n);\n\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n @each $name, $value in $gap-values {\n .pds-box-gap-#{$breakpoint-name}-#{$name} {\n gap: $value;\n }\n }\n }\n}\n\n// Responsive Margin helpers\n$margin-values: (\n 'none': 0,\n 'xxs': var(--pine-dimension-2xs),\n 'xs': var(--pine-dimension-xs),\n 'sm': var(--pine-dimension-sm),\n 'md': var(--pine-dimension-md),\n 'lg': var(--pine-dimension-lg),\n 'xl': var(--pine-dimension-xl),\n 'xxl': var(--pine-dimension-2xl)\n);\n\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n @each $name, $value in $margin-values {\n .pds-margin-block-start-#{$breakpoint-name}-#{$name} {\n margin-block-start: $value;\n }\n\n .pds-margin-inline-start-#{$breakpoint-name}-#{$name} {\n margin-inline-start: $value;\n }\n\n .pds-margin-inline-end-#{$breakpoint-name}-#{$name} {\n margin-inline-end: $value;\n }\n\n .pds-margin-block-end-#{$breakpoint-name}-#{$name} {\n margin-block-end: $value;\n }\n }\n }\n}\n\n// Responsive Padding helpers\n$padding-values: (\n 'none': var(--pine-dimension-none),\n 'xxs': var(--pine-dimension-2xs),\n 'xs': var(--pine-dimension-xs),\n 'sm': var(--pine-dimension-sm),\n 'md': var(--pine-dimension-md),\n 'lg': var(--pine-dimension-lg),\n 'xl': var(--pine-dimension-xl),\n 'xxl': var(--pine-dimension-2xl)\n);\n\n@each $breakpoint-name, $breakpoint-value in $breakpoints {\n @media #{$breakpoint-value} {\n @each $name, $value in $padding-values {\n .pds-padding-#{$breakpoint-name}-#{$name} {\n padding: $value;\n }\n\n .pds-padding-block-start-#{$breakpoint-name}-#{$name} {\n padding-block-start: $value;\n }\n\n .pds-padding-block-end-#{$breakpoint-name}-#{$name} {\n padding-block-end: $value;\n }\n\n .pds-padding-inline-start-#{$breakpoint-name}-#{$name} {\n padding-inline-start: $value;\n }\n\n .pds-padding-inline-end-#{$breakpoint-name}-#{$name} {\n padding-inline-end: $value;\n }\n }\n }\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\nimport { BoxColumnType, BoxTShirtSizeType, BoxShadowSizeType } from '../../utils/types';\nimport { normalizeColorValue } from '../../utils/utils';\n\n@Component({\n tag: 'pds-box',\n styleUrl: 'pds-box.scss',\n})\nexport class PdsBox {\n /**\n * Defines how items within the box are aligned.\n * @defaultValue stretch\n */\n @Prop() alignItems?: `start` | `center` | `end` | `baseline` | `stretch` ;\n\n /**\n * Defines how items within the box are aligned at the XS breakpoint.\n * @defaultValue stretch\n */\n @Prop() alignItemsXs?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how items within the box are aligned at the SM breakpoint.\n * @defaultValue stretch\n */\n @Prop() alignItemsSm?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how items within the box are aligned at the MD breakpoint.\n * @defaultValue stretch\n */\n @Prop() alignItemsMd?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how items within the box are aligned at the LG breakpoint.\n * @defaultValue stretch\n */\n @Prop() alignItemsLg?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how items within the box are aligned at the XL breakpoint.\n * @defaultValue stretch\n */\n @Prop() alignItemsXl?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container.\n * @defaultValue stretch\n */\n @Prop() alignSelf?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container at the XS breakpoint.\n *\n */\n @Prop() alignSelfXs?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container at the SM breakpoint.\n *\n */\n @Prop() alignSelfSm?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container at the MD breakpoint.\n *\n */\n @Prop() alignSelfMd?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container at the LG breakpoint.\n *\n */\n @Prop() alignSelfLg?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container at the XL breakpoint.\n *\n */\n @Prop() alignSelfXl?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * If `true`, the box will be sized to fit its contents.\n */\n @Prop() auto?: boolean;\n\n /**\n * If `true`, the box will be sized to fit its contents at the XS breakpoint.\n */\n @Prop() autoXs?: boolean;\n\n /**\n * If `true`, the box will be sized to fit its contents at the SM breakpoint.\n */\n @Prop() autoSm?: boolean;\n\n /**\n * If `true`, the box will be sized to fit its contents at the MD breakpoint.\n */\n @Prop() autoMd?: boolean;\n\n /**\n * If `true`, the box will be sized to fit its contents at the LG breakpoint.\n */\n @Prop() autoLg?: boolean;\n\n /**\n * If `true`, the box will be sized to fit its contents at the XL breakpoint.\n */\n @Prop() autoXl?: boolean;\n\n /**\n * Defines the background-color of the box.\n */\n @Prop() backgroundColor?: string;\n\n /**\n * If `true`, the box will have a border.\n */\n @Prop() border? = false;\n\n /**\n * Defines the border color of the box.\n */\n @Prop() borderColor?: string;\n\n /**\n * Defines how rounded the box corners are.\n * @defaultValue none\n */\n @Prop() borderRadius?: `none` | `xs`| `sm` | `md` | `lg` | `circle`;\n\n /**\n * Defines the orientation of the box items.\n * @defaultValue row\n */\n @Prop() direction?: `row` | `column`;\n\n /**\n * Defines the display style of the box.\n * @defaultValue flex\n */\n @Prop() display?: `flex` | `inline-flex` | `block` | `inline-block`;\n\n /**\n * If `true`, sets the box `max-width` to `100%`.\n */\n @Prop() fit?: boolean;\n\n /**\n * If `true`, sets the box `max-width` to `100%` at the XS breakpoint.\n */\n @Prop() fitXs?: boolean;\n\n /**\n * If `true`, sets the box `max-width` to `100%` at the SM breakpoint.\n */\n @Prop() fitSm?: boolean;\n\n /**\n * If `true`, sets the box `max-width` to `100%` at the MD breakpoint.\n */\n @Prop() fitMd?: boolean;\n\n /**\n * If `true`, sets the box `max-width` to `100%` at the LG breakpoint.\n */\n @Prop() fitLg?: boolean;\n\n /**\n * If `true`, sets the box `max-width` to `100%` at the XL breakpoint.\n */\n @Prop() fitXl?: boolean;\n\n /**\n * Defines the spacing between the box items.\n * @defaultValue none\n */\n @Prop() gap?: BoxTShirtSizeType;\n\n /**\n * Defines the spacing between the box items at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() gapXs?: BoxTShirtSizeType;\n\n /**\n * Defines the spacing between the box items at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() gapSm?: BoxTShirtSizeType;\n\n /**\n * Defines the spacing between the box items at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() gapMd?: BoxTShirtSizeType;\n\n /**\n * Defines the spacing between the box items at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() gapLg?: BoxTShirtSizeType;\n\n /**\n * Defines the spacing between the box items at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() gapXl?: BoxTShirtSizeType;\n\n /**\n * Defines whether flex items are forced onto one line or can wrap onto multiple lines.\n * @defaultValue false\n */\n @Prop() wrap?: boolean;\n\n /**\n * Defines whether flex items can wrap onto multiple lines at the XS breakpoint.\n * @defaultValue false\n */\n @Prop() wrapXs?: boolean;\n\n /**\n * Defines whether flex items can wrap onto multiple lines at the SM breakpoint.\n * @defaultValue false\n */\n @Prop() wrapSm?: boolean;\n\n /**\n * Defines whether flex items can wrap onto multiple lines at the MD breakpoint.\n * @defaultValue false\n */\n @Prop() wrapMd?: boolean;\n\n /**\n * Defines whether flex items can wrap onto multiple lines at the LG breakpoint.\n * @defaultValue false\n */\n @Prop() wrapLg?: boolean;\n\n /**\n * Defines whether flex items can wrap onto multiple lines at the XL breakpoint.\n * @defaultValue false\n */\n @Prop() wrapXl?: boolean;\n\n /**\n * Defines how a box will grow or shrink to fit the space available in its container.\n * Can be a predefined value ('none', 'grow', 'shrink') or a custom flex value (e.g., '1', '0 1 auto').\n * @defaultValue none\n */\n @Prop() flex?: `none` | `grow` | `shrink` | string;\n\n /**\n * Defines the horizontal alignment of the box items.\n * @defaultValue start\n */\n @Prop() justifyContent?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the horizontal alignment of the box items at the XS breakpoint.\n * @defaultValue start\n */\n @Prop() justifyContentXs?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the horizontal alignment of the box items at the SM breakpoint.\n * @defaultValue start\n */\n @Prop() justifyContentSm?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the horizontal alignment of the box items at the MD breakpoint.\n * @defaultValue start\n */\n @Prop() justifyContentMd?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the horizontal alignment of the box items at the LG breakpoint.\n * @defaultValue start\n */\n @Prop() justifyContentLg?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the horizontal alignment of the box items at the XL breakpoint.\n * @defaultValue start\n */\n @Prop() justifyContentXl?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the box's outer top spacing.\n * @defaultValue none\n */\n @Prop() marginBlockStart?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer top spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockStartXs?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer top spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockStartSm?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer top spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockStartMd?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer top spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockStartLg?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer top spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockStartXl?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer left spacing.\n * @defaultValue none\n */\n @Prop() marginInlineStart?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer left spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineStartXs?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer left spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineStartSm?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer left spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineStartMd?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer left spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineStartLg?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer left spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineStartXl?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer right spacing.\n * @defaultValue none\n */\n @Prop() marginInlineEnd?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer right spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineEndXs?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer right spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineEndSm?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer right spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineEndMd?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer right spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineEndLg?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer right spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineEndXl?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer bottom spacing.\n * @defaultValue none\n */\n @Prop() marginBlockEnd?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer bottom spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockEndXs?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer bottom spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockEndSm?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer bottom spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockEndMd?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer bottom spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockEndLg?: BoxTShirtSizeType;\n\n /**\n * Defines the box's outer bottom spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockEndXl?: BoxTShirtSizeType;\n\n /**\n * The minimum height of the row. Used in conjunction with alignment props\n */\n @Prop({ reflect: true }) minHeight?: string;\n\n /**\n * The minimum width of the row. Used in conjunction with alignment props\n */\n @Prop({ reflect: true }) minWidth?: string;\n\n /**\n * Move columns to the end direction of the row for all screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offset?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `XS` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetXs?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `SM` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetSm?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `MD` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetMd?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `LG` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetLg?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `XL` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetXl?: BoxColumnType;\n\n /**\n * Defines the spacing between the box items.\n * @defaultValue none\n */\n @Prop() padding?: BoxTShirtSizeType;\n\n /**\n * Defines the spacing between the box items at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() paddingXs?: BoxTShirtSizeType;\n\n /**\n * Defines the spacing between the box items at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() paddingSm?: BoxTShirtSizeType;\n\n /**\n * Defines the spacing between the box items at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() paddingMd?: BoxTShirtSizeType;\n\n /**\n * Defines the spacing between the box items at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() paddingLg?: BoxTShirtSizeType;\n\n /**\n * Defines the spacing between the box items at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() paddingXl?: BoxTShirtSizeType;\n\n\n /**\n * Defines the top spacing.\n * @defaultValue none\n */\n @Prop() paddingBlockStart?: BoxTShirtSizeType;\n\n /**\n * Defines the top spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockStartXs?: BoxTShirtSizeType;\n\n /**\n * Defines the top spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockStartSm?: BoxTShirtSizeType;\n\n /**\n * Defines the top spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockStartMd?: BoxTShirtSizeType;\n\n /**\n * Defines the top spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockStartLg?: BoxTShirtSizeType;\n\n /**\n * Defines the top spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockStartXl?: BoxTShirtSizeType;\n\n /**\n * Defines the bottom spacing.\n * @defaultValue none\n */\n @Prop() paddingBlockEnd?: BoxTShirtSizeType;\n\n /**\n * Defines the bottom spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockEndXs?: BoxTShirtSizeType;\n\n /**\n * Defines the bottom spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockEndSm?: BoxTShirtSizeType;\n\n /**\n * Defines the bottom spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockEndMd?: BoxTShirtSizeType;\n\n /**\n * Defines the bottom spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockEndLg?: BoxTShirtSizeType;\n\n /**\n * Defines the bottom spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockEndXl?: BoxTShirtSizeType;\n\n /**\n * Defines the left spacing.\n * @defaultValue none\n */\n @Prop() paddingInlineStart?: BoxTShirtSizeType;\n\n /**\n * Defines the left spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineStartXs?: BoxTShirtSizeType;\n\n /**\n * Defines the left spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineStartSm?: BoxTShirtSizeType;\n\n /**\n * Defines the left spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineStartMd?: BoxTShirtSizeType;\n\n /**\n * Defines the left spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineStartLg?: BoxTShirtSizeType;\n\n /**\n * Defines the left spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineStartXl?: BoxTShirtSizeType;\n\n /**\n * Defines the right spacing.\n * @defaultValue none\n */\n @Prop() paddingInlineEnd?: BoxTShirtSizeType;\n\n /**\n * Defines the right spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineEndXs?: BoxTShirtSizeType;\n\n /**\n * Defines the right spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineEndSm?: BoxTShirtSizeType;\n\n /**\n * Defines the right spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineEndMd?: BoxTShirtSizeType;\n\n /**\n * Defines the right spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineEndLg?: BoxTShirtSizeType;\n\n /**\n * Defines the right spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineEndXl?: BoxTShirtSizeType;\n\n /**\n * Defines the box shadow.\n * @defaultValue none\n */\n @Prop() shadow?: BoxShadowSizeType;\n\n /**\n * Sets the default column width for the component. This value applies from the smallest screen size (XS) upwards, unless overridden by a breakpoint-specific size prop at that breakpoint or larger.\n */\n @Prop() size?: BoxColumnType;\n\n /**\n * At the XS breakpoint, this prop will take the number of columns specified. This overrides the base size prop for this specific range.\n */\n @Prop() sizeXs?: BoxColumnType;\n\n /**\n * At screen sizes from the SM breakpoint and larger (576px and up), this will take the specified number of columns. This overrides any value set by size or sizeXs.\n */\n @Prop() sizeSm?: BoxColumnType;\n\n /**\n * At screen sizes from the MD breakpoint and larger (768px and up), this will take the specified number of columns. This overrides any value set by size, sizeXs, and up.\n */\n @Prop() sizeMd?: BoxColumnType;\n\n /**\n * At screen sizes from the LG breakpoint and larger (992px and up), this will take the specified number of columns. This overrides any value set by size, sizeXs, and up.\n */\n @Prop() sizeLg?: BoxColumnType;\n\n /**\n * At screen sizes from the XL breakpoint and larger (1200px and up), this will take the specified number of columns. This overrides any value set by size, sizeXs, and up.\n */\n @Prop() sizeXl?: BoxColumnType;\n\n\n\n render() {\n const boxClasses = `\n ${this.alignItems !== undefined && this.alignItems.trim() !== '' ? `pds-align-items-${this.alignItems}` : ''}\n ${this.alignItemsXs !== undefined && this.alignItemsXs.trim() !== '' ? `pds-align-items-xs-${this.alignItemsXs}` : ''}\n ${this.alignItemsSm !== undefined && this.alignItemsSm.trim() !== '' ? `pds-align-items-sm-${this.alignItemsSm}` : ''}\n ${this.alignItemsMd !== undefined && this.alignItemsMd.trim() !== '' ? `pds-align-items-md-${this.alignItemsMd}` : ''}\n ${this.alignItemsLg !== undefined && this.alignItemsLg.trim() !== '' ? `pds-align-items-lg-${this.alignItemsLg}` : ''}\n ${this.alignItemsXl !== undefined && this.alignItemsXl.trim() !== '' ? `pds-align-items-xl-${this.alignItemsXl}` : ''}\n ${this.alignSelf !== undefined && this.alignSelf.trim() !== '' ? `pds-align-self-${this.alignSelf}` : ''}\n ${this.alignSelfXs !== undefined && this.alignSelfXs.trim() !== '' ? `pds-align-self-xs-${this.alignSelfXs}` : ''}\n ${this.alignSelfSm !== undefined && this.alignSelfSm.trim() !== '' ? `pds-align-self-sm-${this.alignSelfSm}` : ''}\n ${this.alignSelfMd !== undefined && this.alignSelfMd.trim() !== '' ? `pds-align-self-md-${this.alignSelfMd}` : ''}\n ${this.alignSelfLg !== undefined && this.alignSelfLg.trim() !== '' ? `pds-align-self-lg-${this.alignSelfLg}` : ''}\n ${this.alignSelfXl !== undefined && this.alignSelfXl.trim() !== '' ? `pds-align-self-xl-${this.alignSelfXl}` : ''}\n ${this.auto ? 'pds-box--auto' : ''}\n ${this.autoXs ? 'pds-box--auto-xs' : ''}\n ${this.autoSm ? 'pds-box--auto-sm' : ''}\n ${this.autoMd ? 'pds-box--auto-md' : ''}\n ${this.autoLg ? 'pds-box--auto-lg' : ''}\n ${this.autoXl ? 'pds-box--auto-xl' : ''}\n ${this.border ? 'pds-box--border' : ''}\n ${this.borderRadius !== undefined && this.borderRadius.trim() !== '' ? `pds-border-radius-${this.borderRadius}` : ''}\n ${this.direction !== undefined && this.direction.trim() !== '' ? `pds-box-direction-${this.direction}` : ''}\n ${this.display !== undefined && this.display.trim() !== '' ? `pds-box--display-${this.display}` : ''}\n ${this.fit ? 'pds-box--fit' : ''}\n ${this.fitXs ? 'pds-box--fit-xs' : ''}\n ${this.fitSm ? 'pds-box--fit-sm' : ''}\n ${this.fitMd ? 'pds-box--fit-md' : ''}\n ${this.fitLg ? 'pds-box--fit-lg' : ''}\n ${this.fitXl ? 'pds-box--fit-xl' : ''}\n ${this.gap !== undefined && this.gap.trim() !== '' ? `pds-box-gap-${this.gap}` : ''}\n ${this.gapXs !== undefined && this.gapXs.trim() !== '' ? `pds-box-gap-xs-${this.gapXs}` : ''}\n ${this.gapSm !== undefined && this.gapSm.trim() !== '' ? `pds-box-gap-sm-${this.gapSm}` : ''}\n ${this.gapMd !== undefined && this.gapMd.trim() !== '' ? `pds-box-gap-md-${this.gapMd}` : ''}\n ${this.gapLg !== undefined && this.gapLg.trim() !== '' ? `pds-box-gap-lg-${this.gapLg}` : ''}\n ${this.gapXl !== undefined && this.gapXl.trim() !== '' ? `pds-box-gap-xl-${this.gapXl}` : ''}\n ${this.wrap ? 'pds-box--wrap' : ''}\n ${this.wrapXs ? 'pds-box--wrap-xs' : ''}\n ${this.wrapSm ? 'pds-box--wrap-sm' : ''}\n ${this.wrapMd ? 'pds-box--wrap-md' : ''}\n ${this.wrapLg ? 'pds-box--wrap-lg' : ''}\n ${this.wrapXl ? 'pds-box--wrap-xl' : ''}\n ${this.flex !== undefined && this.flex.trim() !== '' && ['none', 'grow', 'shrink'].includes(this.flex) ? `pds-box--flex-${this.flex}` : ''}\n ${this.justifyContent !== undefined && this.justifyContent.trim() !== '' ? `pds-justify-content-${this.justifyContent}` : ''}\n ${this.justifyContentXs !== undefined && this.justifyContentXs.trim() !== '' ? `pds-justify-content-xs-${this.justifyContentXs}` : ''}\n ${this.justifyContentSm !== undefined && this.justifyContentSm.trim() !== '' ? `pds-justify-content-sm-${this.justifyContentSm}` : ''}\n ${this.justifyContentMd !== undefined && this.justifyContentMd.trim() !== '' ? `pds-justify-content-md-${this.justifyContentMd}` : ''}\n ${this.justifyContentLg !== undefined && this.justifyContentLg.trim() !== '' ? `pds-justify-content-lg-${this.justifyContentLg}` : ''}\n ${this.justifyContentXl !== undefined && this.justifyContentXl.trim() !== '' ? `pds-justify-content-xl-${this.justifyContentXl}` : ''}\n ${this.marginBlockStart !== undefined && this.marginBlockStart.trim() !== '' ? `pds-margin-block-start-${this.marginBlockStart}` : ''}\n ${this.marginBlockStartXs !== undefined && this.marginBlockStartXs.trim() !== '' ? `pds-margin-block-start-xs-${this.marginBlockStartXs}` : ''}\n ${this.marginBlockStartSm !== undefined && this.marginBlockStartSm.trim() !== '' ? `pds-margin-block-start-sm-${this.marginBlockStartSm}` : ''}\n ${this.marginBlockStartMd !== undefined && this.marginBlockStartMd.trim() !== '' ? `pds-margin-block-start-md-${this.marginBlockStartMd}` : ''}\n ${this.marginBlockStartLg !== undefined && this.marginBlockStartLg.trim() !== '' ? `pds-margin-block-start-lg-${this.marginBlockStartLg}` : ''}\n ${this.marginBlockStartXl !== undefined && this.marginBlockStartXl.trim() !== '' ? `pds-margin-block-start-xl-${this.marginBlockStartXl}` : ''}\n ${this.marginInlineStart !== undefined && this.marginInlineStart.trim() !== '' ? `pds-margin-inline-start-${this.marginInlineStart}` : ''}\n ${this.marginInlineStartXs !== undefined && this.marginInlineStartXs.trim() !== '' ? `pds-margin-inline-start-xs-${this.marginInlineStartXs}` : ''}\n ${this.marginInlineStartSm !== undefined && this.marginInlineStartSm.trim() !== '' ? `pds-margin-inline-start-sm-${this.marginInlineStartSm}` : ''}\n ${this.marginInlineStartMd !== undefined && this.marginInlineStartMd.trim() !== '' ? `pds-margin-inline-start-md-${this.marginInlineStartMd}` : ''}\n ${this.marginInlineStartLg !== undefined && this.marginInlineStartLg.trim() !== '' ? `pds-margin-inline-start-lg-${this.marginInlineStartLg}` : ''}\n ${this.marginInlineStartXl !== undefined && this.marginInlineStartXl.trim() !== '' ? `pds-margin-inline-start-xl-${this.marginInlineStartXl}` : ''}\n ${this.marginInlineEnd !== undefined && this.marginInlineEnd.trim() !== '' ? `pds-margin-inline-end-${this.marginInlineEnd}` : ''}\n ${this.marginInlineEndXs !== undefined && this.marginInlineEndXs.trim() !== '' ? `pds-margin-inline-end-xs-${this.marginInlineEndXs}` : ''}\n ${this.marginInlineEndSm !== undefined && this.marginInlineEndSm.trim() !== '' ? `pds-margin-inline-end-sm-${this.marginInlineEndSm}` : ''}\n ${this.marginInlineEndMd !== undefined && this.marginInlineEndMd.trim() !== '' ? `pds-margin-inline-end-md-${this.marginInlineEndMd}` : ''}\n ${this.marginInlineEndLg !== undefined && this.marginInlineEndLg.trim() !== '' ? `pds-margin-inline-end-lg-${this.marginInlineEndLg}` : ''}\n ${this.marginInlineEndXl !== undefined && this.marginInlineEndXl.trim() !== '' ? `pds-margin-inline-end-xl-${this.marginInlineEndXl}` : ''}\n ${this.marginBlockEnd !== undefined && this.marginBlockEnd.trim() !== '' ? `pds-margin-block-end-${this.marginBlockEnd}` : ''}\n ${this.marginBlockEndXs !== undefined && this.marginBlockEndXs.trim() !== '' ? `pds-margin-block-end-xs-${this.marginBlockEndXs}` : ''}\n ${this.marginBlockEndSm !== undefined && this.marginBlockEndSm.trim() !== '' ? `pds-margin-block-end-sm-${this.marginBlockEndSm}` : ''}\n ${this.marginBlockEndMd !== undefined && this.marginBlockEndMd.trim() !== '' ? `pds-margin-block-end-md-${this.marginBlockEndMd}` : ''}\n ${this.marginBlockEndLg !== undefined && this.marginBlockEndLg.trim() !== '' ? `pds-margin-block-end-lg-${this.marginBlockEndLg}` : ''}\n ${this.marginBlockEndXl !== undefined && this.marginBlockEndXl.trim() !== '' ? `pds-margin-block-end-xl-${this.marginBlockEndXl}` : ''}\n ${this.offset !== undefined && this.offset.trim() !== '' ? `pds-box-offset-${this.offset}` : ''}\n ${this.offsetXs !== undefined && this.offsetXs.trim() !== '' ? `pds-box-offset-xs-${this.offsetXs}` : ''}\n ${this.offsetSm !== undefined && this.offsetSm.trim() !== '' ? `pds-box-offset-sm-${this.offsetSm}` : ''}\n ${this.offsetMd !== undefined && this.offsetMd.trim() !== '' ? `pds-box-offset-md-${this.offsetMd}` : ''}\n ${this.offsetLg !== undefined && this.offsetLg.trim() !== '' ? `pds-box-offset-lg-${this.offsetLg}` : ''}\n ${this.offsetXl !== undefined && this.offsetXl.trim() !== '' ? `pds-box-offset-xl-${this.offsetXl}` : ''}\n ${this.padding !== undefined && this.padding.trim() !== '' ? `pds-padding-${this.padding}` : ''}\n ${this.paddingXs !== undefined && this.paddingXs.trim() !== '' ? `pds-padding-xs-${this.paddingXs}` : ''}\n ${this.paddingSm !== undefined && this.paddingSm.trim() !== '' ? `pds-padding-sm-${this.paddingSm}` : ''}\n ${this.paddingMd !== undefined && this.paddingMd.trim() !== '' ? `pds-padding-md-${this.paddingMd}` : ''}\n ${this.paddingLg !== undefined && this.paddingLg.trim() !== '' ? `pds-padding-lg-${this.paddingLg}` : ''}\n ${this.paddingXl !== undefined && this.paddingXl.trim() !== '' ? `pds-padding-xl-${this.paddingXl}` : ''}\n ${this.paddingBlockStart !== undefined && this.paddingBlockStart.trim() !== '' ? `pds-padding-block-start-${this.paddingBlockStart}` : ''}\n ${this.paddingBlockStartXs !== undefined && this.paddingBlockStartXs.trim() !== '' ? `pds-padding-block-start-xs-${this.paddingBlockStartXs}` : ''}\n ${this.paddingBlockStartSm !== undefined && this.paddingBlockStartSm.trim() !== '' ? `pds-padding-block-start-sm-${this.paddingBlockStartSm}` : ''}\n ${this.paddingBlockStartMd !== undefined && this.paddingBlockStartMd.trim() !== '' ? `pds-padding-block-start-md-${this.paddingBlockStartMd}` : ''}\n ${this.paddingBlockStartLg !== undefined && this.paddingBlockStartLg.trim() !== '' ? `pds-padding-block-start-lg-${this.paddingBlockStartLg}` : ''}\n ${this.paddingBlockStartXl !== undefined && this.paddingBlockStartXl.trim() !== '' ? `pds-padding-block-start-xl-${this.paddingBlockStartXl}` : ''}\n ${this.paddingBlockEnd !== undefined && this.paddingBlockEnd.trim() !== '' ? `pds-padding-block-end-${this.paddingBlockEnd}` : ''}\n ${this.paddingBlockEndXs !== undefined && this.paddingBlockEndXs.trim() !== '' ? `pds-padding-block-end-xs-${this.paddingBlockEndXs}` : ''}\n ${this.paddingBlockEndSm !== undefined && this.paddingBlockEndSm.trim() !== '' ? `pds-padding-block-end-sm-${this.paddingBlockEndSm}` : ''}\n ${this.paddingBlockEndMd !== undefined && this.paddingBlockEndMd.trim() !== '' ? `pds-padding-block-end-md-${this.paddingBlockEndMd}` : ''}\n ${this.paddingBlockEndLg !== undefined && this.paddingBlockEndLg.trim() !== '' ? `pds-padding-block-end-lg-${this.paddingBlockEndLg}` : ''}\n ${this.paddingBlockEndXl !== undefined && this.paddingBlockEndXl.trim() !== '' ? `pds-padding-block-end-xl-${this.paddingBlockEndXl}` : ''}\n ${this.paddingInlineStart !== undefined && this.paddingInlineStart.trim() !== '' ? `pds-padding-inline-start-${this.paddingInlineStart}` : ''}\n ${this.paddingInlineStartXs !== undefined && this.paddingInlineStartXs.trim() !== '' ? `pds-padding-inline-start-xs-${this.paddingInlineStartXs}` : ''}\n ${this.paddingInlineStartSm !== undefined && this.paddingInlineStartSm.trim() !== '' ? `pds-padding-inline-start-sm-${this.paddingInlineStartSm}` : ''}\n ${this.paddingInlineStartMd !== undefined && this.paddingInlineStartMd.trim() !== '' ? `pds-padding-inline-start-md-${this.paddingInlineStartMd}` : ''}\n ${this.paddingInlineStartLg !== undefined && this.paddingInlineStartLg.trim() !== '' ? `pds-padding-inline-start-lg-${this.paddingInlineStartLg}` : ''}\n ${this.paddingInlineStartXl !== undefined && this.paddingInlineStartXl.trim() !== '' ? `pds-padding-inline-start-xl-${this.paddingInlineStartXl}` : ''}\n ${this.paddingInlineEnd !== undefined && this.paddingInlineEnd.trim() !== '' ? `pds-padding-inline-end-${this.paddingInlineEnd}` : ''}\n ${this.paddingInlineEndXs !== undefined && this.paddingInlineEndXs.trim() !== '' ? `pds-padding-inline-end-xs-${this.paddingInlineEndXs}` : ''}\n ${this.paddingInlineEndSm !== undefined && this.paddingInlineEndSm.trim() !== '' ? `pds-padding-inline-end-sm-${this.paddingInlineEndSm}` : ''}\n ${this.paddingInlineEndMd !== undefined && this.paddingInlineEndMd.trim() !== '' ? `pds-padding-inline-end-md-${this.paddingInlineEndMd}` : ''}\n ${this.paddingInlineEndLg !== undefined && this.paddingInlineEndLg.trim() !== '' ? `pds-padding-inline-end-lg-${this.paddingInlineEndLg}` : ''}\n ${this.paddingInlineEndXl !== undefined && this.paddingInlineEndXl.trim() !== '' ? `pds-padding-inline-end-xl-${this.paddingInlineEndXl}` : ''}\n ${this.shadow !== undefined && this.shadow.trim() !== '' ? `pds-shadow-${this.shadow}` : ''}\n ${this.size !== undefined && this.size.trim() !== '' ? `pds-box pds-box-${this.size}` : ''}\n ${this.sizeXs !== undefined && this.sizeXs.trim() !== '' ? `pds-box-xs-${this.sizeXs}` : ''}\n ${this.sizeSm !== undefined && this.sizeSm.trim() !== '' ? `pds-box-sm-${this.sizeSm}` : ''}\n ${this.sizeMd !== undefined && this.sizeMd.trim() !== '' ? `pds-box-md-${this.sizeMd}` : ''}\n ${this.sizeLg !== undefined && this.sizeLg.trim() !== '' ? `pds-box-lg-${this.sizeLg}` : ''}\n ${this.sizeXl !== undefined && this.sizeXl.trim() !== '' ? `pds-box-xl-${this.sizeXl}` : ''}\n ${this.size == undefined &&\n this.sizeSm == undefined &&\n this.sizeMd == undefined &&\n this.sizeLg == undefined &&\n this.sizeXl == undefined ? 'pds-box' : ''}\n `;\n\n // Normalize so pds-box accepts --token, var(--token), or literals (no semantic names)\n const normalizedBackground = normalizeColorValue(this.backgroundColor);\n const normalizedBorder = normalizeColorValue(this.borderColor);\n\n const boxInlineStyles = {\n ...(normalizedBackground && { '--color-background-box': normalizedBackground }),\n ...(normalizedBorder && { '--color-border-box': normalizedBorder }),\n ...(this.minHeight && { '--sizing-min-height-box': this.minHeight }),\n ...(this.minWidth && { '--sizing-min-width-box': this.minWidth }),\n ...(this.flex && !['none', 'grow', 'shrink'].includes(this.flex) && { 'flex': this.flex }),\n };\n\n return (\n <Host class={boxClasses} style={boxInlineStyles}>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -53,8 +53,13 @@ const PdsButton = /*@__PURE__*/ proxyCustomElement(class PdsButton extends HTMLE
53
53
  ev.preventDefault();
54
54
  return;
55
55
  }
56
+ // Prevent form submission for disabled buttons
57
+ if (this.disabled) {
58
+ ev.preventDefault();
59
+ return;
60
+ }
56
61
  if (!this.href && this.type != 'button') {
57
- // If button clicked IS NOT associated with a form
62
+ // Handle form submission for Shadow DOM buttons
58
63
  if (hasShadowDom(this.el)) {
59
64
  const form = this.el.closest('form');
60
65
  if (form) {
@@ -71,6 +76,50 @@ const PdsButton = /*@__PURE__*/ proxyCustomElement(class PdsButton extends HTMLE
71
76
  this.pdsClick.emit(ev);
72
77
  };
73
78
  }
79
+ /**
80
+ * Listen for Enter key presses on form inputs to trigger submit
81
+ */
82
+ handleFormKeyDown(event) {
83
+ // Only handle Enter key for submit buttons that are not disabled
84
+ if (event.key !== 'Enter' || this.type !== 'submit' || this.href || this.disabled) {
85
+ return;
86
+ }
87
+ const target = event.target;
88
+ // Ensure event.target is an Element with matches method before proceeding
89
+ if (!target || typeof target.matches !== 'function') {
90
+ return;
91
+ }
92
+ const form = this.el.closest('form');
93
+ // Check if the Enter key was pressed in a form input within the same form
94
+ if (!form || !target || !form.contains(target)) {
95
+ return;
96
+ }
97
+ // Check if target is a form input element (exclude reset buttons)
98
+ const isFormInput = target.matches('input:not([type="submit"]):not([type="button"]):not([type="reset"])') ||
99
+ target.matches('pds-input') ||
100
+ target.matches('pds-select') ||
101
+ target.matches('pds-switch') ||
102
+ target.matches('pds-checkbox') ||
103
+ target.matches('pds-radio');
104
+ if (isFormInput) {
105
+ // Find all submit buttons in the form and check their actual properties
106
+ const allSubmitButtons = Array.from(form.querySelectorAll('pds-button, button[type="submit"], input[type="submit"]'));
107
+ const enabledSubmitButtons = allSubmitButtons.filter(button => {
108
+ if (button.tagName.toLowerCase() === 'pds-button') {
109
+ const pdsButton = button;
110
+ return pdsButton.type === 'submit' && !pdsButton.disabled;
111
+ }
112
+ else {
113
+ return !button.hasAttribute('disabled');
114
+ }
115
+ });
116
+ // Only synthesize click if this button is strictly the first enabled submit button
117
+ if (enabledSubmitButtons.length > 0 && enabledSubmitButtons[0] === this.el) {
118
+ event.preventDefault();
119
+ this.el.click();
120
+ }
121
+ }
122
+ }
74
123
  classNames() {
75
124
  const classNames = ['pds-button'];
76
125
  if (this.variant) {
@@ -144,7 +193,7 @@ const PdsButton = /*@__PURE__*/ proxyCustomElement(class PdsButton extends HTMLE
144
193
  "type": [1],
145
194
  "value": [1],
146
195
  "variant": [1]
147
- }]);
196
+ }, [[16, "keydown", "handleFormKeyDown"]]]);
148
197
  function defineCustomElement() {
149
198
  if (typeof customElements === "undefined") {
150
199
  return;
@@ -1 +1 @@
1
- {"file":"pds-button2.js","mappings":"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","names":["__stencil_proxyCustomElement"],"sources":["src/components/pds-button/pds-button.scss?tag=pds-button&encapsulation=shadow","src/components/pds-button/pds-button.tsx"],"sourcesContent":[":host {\n --pds-button-background: var(--color-background-default);\n --pds-button-border: var(--pine-border);\n --pds-button-border-radius: var(--pine-border-radius-full);\n --pds-button-border-radius-start-end: var(--pine-border-radius-full);\n --pds-button-border-radius-start-start: var(--pine-border-radius-full);\n --pds-button-border-radius-end-end: var(--pine-border-radius-full);\n --pds-button-border-radius-end-start: var(--pine-border-radius-full);\n --pds-button-min-height: var(--pine-dimension-450);\n --color-border-default: transparent;\n --color-border-disabled: transparent;\n --color-border-focus: transparent;\n --color-border-hover: transparent;\n --button-loader-color: var(--color-text-default);\n\n display: inline-flex;\n vertical-align: middle;\n}\n\n:host([full-width=\"true\"]) {\n display: flex;\n width: 100%;\n\n a,\n button {\n justify-content: center;\n width: 100%;\n }\n\n .pds-button__content {\n justify-content: center;\n text-align: center;\n }\n}\n\n:host([loading=\"true\"]) {\n cursor: wait;\n pointer-events: none;\n}\n\n:host([disabled=\"true\"]) {\n pointer-events: none;\n}\n\n.pds-button {\n --pds-loader-color: var(--color-text-default);\n align-items: center;\n background-color: var(--pds-button-background, var(--color-background-default));\n border: var(--pds-button-border);\n border-color: var(--color-border-default);\n border-end-end-radius: var(--pds-button-border-radius-end-end, var(--pds-button-border-radius));\n border-end-start-radius: var(--pds-button-border-radius-end-start, var(--pds-button-border-radius));\n border-radius: var(--pds-button-border-radius);\n border-start-end-radius: var(--pds-button-border-radius-start-end, var(--pds-button-border-radius));\n border-start-start-radius: var(--pds-button-border-radius-start-start, var(--pds-button-border-radius));\n box-sizing: border-box;\n color: var(--color-text-default);\n cursor: pointer;\n display: flex;\n font: var(--pine-typography-body-brand-label);\n letter-spacing: var(--pine-letter-spacing);\n min-height: var(--pds-button-min-height);\n padding: calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-sm);\n position: relative;\n text-decoration: none;\n\n pds-icon {\n color: currentColor;\n fill: currentColor;\n }\n\n &:hover {\n background-color: var(--color-background-hover);\n border-color: var(--color-border-hover);\n }\n\n &:focus-visible {\n border-color: var(--color-border-focus);\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &:disabled {\n background-color: var(--color-background-disabled);\n border-color: var(--color-border-disabled);\n color: var(--color-text-disabled);\n pointer-events: none;\n }\n}\n\n.pds-button--primary {\n --color-background-default: var(--pine-color-primary);\n --color-background-hover: var(--pine-color-primary-hover);\n --color-background-disabled: var(--pine-color-primary-disabled);\n --color-border-default: var(--pine-color-primary);\n --color-border-hover: var(--pine-color-primary-hover);\n --color-text-default: var(--pine-color-text-primary);\n --color-text-disabled: var(--pine-color-text-primary-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-primary);\n}\n\n.pds-button--accent {\n --color-background-default: var(--pine-color-accent);\n --color-background-hover: var(--pine-color-accent-hover);\n --color-background-disabled: var(--pine-color-accent-disabled);\n --color-border-default: var(--pine-color-accent);\n --color-border-hover: var(--pine-color-accent-hover);\n --color-text-default: var(--pine-color-text-primary);\n --color-text-disabled: var(--pine-color-text-accent-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-primary);\n}\n\n.pds-button--destructive {\n --color-background-default: var(--pine-color-danger);\n --color-background-hover: var(--pine-color-danger-hover);\n --color-background-disabled: var(--pine-color-danger-disabled);\n --color-border-default: var(--pine-color-danger);\n --color-border-hover: var(--pine-color-danger-hover);\n --color-text-default: var(--pine-color-text-primary);\n --color-text-disabled: var(--pine-color-text-danger-disabled);\n --color-outline: var(--pine-color-focus-ring-danger);\n --button-loader-color: var(--pine-color-text-primary);\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n}\n\n.pds-button--secondary,\n.pds-button--disclosure {\n --color-background-default: var(--pine-color-secondary);\n --color-background-hover: var(--pine-color-secondary-hover);\n --color-background-disabled: var(--pine-color-secondary-disabled);\n --color-border-disabled: var(--pine-color-border-disabled);\n --color-border-focus: var(--pine-color-border);\n --color-border-hover: var(--pine-color-border-hover);\n --color-border-default: var(--pine-color-border);\n --color-text-default: var(--pine-color-text-secondary);\n --color-text-disabled: var(--pine-color-text-secondary-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-secondary);\n\n &:hover {\n background-color: var(--pine-color-secondary-hover);\n }\n}\n\n.pds-button--unstyled {\n --color-background-default: transparent;\n --color-background-hover: transparent;\n --color-background-disabled: transparent;\n --color-text-default: inherit;\n --button-loader-color: inherit;\n border-width: var(--pine-dimension-none);\n margin: var(--pine-dimension-none);\n min-height: auto;\n padding: var(--pine-dimension-none);\n width: inherit;\n}\n\n.pds-button__content {\n align-items: center;\n display: inline-flex;\n gap: var(--pine-dimension-xs);\n position: relative;\n width: 100%;\n}\n\n.pds-button__icon {\n display: inline-flex;\n}\n\n.pds-button__text {\n align-items: center;\n display: inline-flex;\n white-space: nowrap;\n}\n\n.pds-button__icon--hidden,\n.pds-button__text--hidden {\n opacity: 0;\n}\n\n.pds-button__loader {\n height: var(--pine-dimension-250);\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n width: var(--pine-dimension-250);\n}\n\n.pds-button--loading {\n cursor: wait;\n pointer-events: none;\n\n .pds-button__loader {\n pds-loader {\n --loader-color: var(--button-loader-color);\n }\n }\n}\n\n.pds-button--icon-only {\n align-items: center;\n border-radius: var(--pine-border-radius-full);\n height: var(--button-dimension);\n justify-content: center;\n min-height: var(--button-dimension);\n min-width: var(--button-dimension);\n padding: var(--pine-dimension-xs);\n width: var(--button-dimension);\n\n .pds-button__content {\n height: 100%;\n justify-content: center;\n width: 100%;\n }\n\n .pds-button__text--hidden {\n border: 0;\n clip: rect(0 0 0 0);\n clip-path: polygon(0 0, 0 0, 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\nimport { hasShadowDom } from '../../utils/utils';\n\nimport { caretDown } from '@pine-ds/icons/icons';\n\n/**\n * @part button - Exposes the button element for styling.\n * @part button-content - Exposes the button content for styling.\n * @part button-text - Exposes the button text for styling.\n * @part caret - Exposes the caret icon component for styling. Appears only on the disclosure variant.\n * @part icon - Exposes the icon component for styling.\n * @part loader-svg - Exposes the loader SVG element for color customization. Appears only when loading.\n * @slot (default) - Button text.\n * @slot start - Content to display before the button text.\n * @slot end - Content to display after the button text.\n*/\n\n@Component({\n tag: 'pds-button',\n styleUrls: ['pds-button.scss'],\n shadow: true,\n})\nexport class PdsButton {\n @Element() el: HTMLPdsButtonElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines the button's disabled state.\n * @defaultValue false\n */\n @Prop() disabled? = false;\n\n /**\n * Determines if the button should take up the full width of its container.\n * @defaultValue false\n */\n @Prop() fullWidth? = false;\n\n /**\n * If provided, renders the component as an anchor (`<a>`) element instead of a button.\n * When using href, button-specific props (type, name, value, loading) will be ignored.\n */\n @Prop() href?: string;\n\n /**\n * Displays a leading icon in the button. DEPRECATED.\n * @defaultValue null\n * @deprecated Use `start` slot instead.\n */\n @Prop() icon?: string = null;\n\n /**\n * When true, displays only the icon and visually hides the text (keeping it accessible).\n */\n @Prop() iconOnly? = false;\n\n /**\n * Determines if the button is in a loading state.\n * When true, displays a loader and hides the button text.\n * @defaultValue false\n */\n @Prop() loading? = false;\n\n /**\n * Provides the button with a submittable name.\n */\n @Prop() name?: string;\n\n /**\n * Specifies where to open the linked document when href is provided.\n * Only applies when href is set.\n */\n @Prop() target?: '_blank' | '_self' | '_parent' | '_top';\n\n /**\n * Provides button with a type.\n * @defaultValue button\n */\n @Prop() type?: 'button' | 'reset' | 'submit' = 'button';\n\n /**\n * Provides button with a submittable value\n */\n @Prop() value?: string;\n\n /**\n * Sets the style variant of the button.\n * @defaultValue primary\n */\n @Prop() variant: 'primary' | 'secondary' | 'accent' | 'disclosure' | 'destructive' | 'unstyled' = 'primary';\n\n @Event() pdsClick: EventEmitter;\n\n private handleClick = (ev: Event) => {\n if (this.loading) {\n ev.preventDefault();\n return;\n }\n\n if (!this.href && this.type != 'button') {\n // If button clicked IS NOT associated with a form\n if (hasShadowDom(this.el)) {\n const form = this.el.closest('form');\n if (form) {\n ev.preventDefault();\n\n const fakeButton = document.createElement('button');\n fakeButton.type = this.type;\n fakeButton.style.display = 'none';\n form.appendChild(fakeButton);\n fakeButton.click();\n fakeButton.remove();\n }\n }\n }\n this.pdsClick.emit(ev);\n };\n\n private classNames() {\n const classNames = ['pds-button'];\n\n if (this.variant) {\n classNames.push('pds-button--' + this.variant);\n }\n\n if (this.iconOnly) {\n classNames.push('pds-button--icon-only');\n }\n\n if (this.loading) {\n classNames.push('pds-button--loading');\n }\n\n return classNames.join(' ');\n }\n\n private hasSlotContent(slotName: string): boolean {\n const elements = this.el.querySelectorAll(`[slot=\"${slotName}\"]`);\n return elements.length > 0;\n }\n\n private renderStartContent() {\n const hasIcon = this.icon && this.variant !== 'disclosure';\n const hasStartSlot = this.hasSlotContent('start');\n\n if (Boolean(hasIcon)) {\n return (\n <pds-icon class={this.loading ? 'pds-button__icon--hidden' : ''} name={this.icon} part=\"icon\" aria-hidden=\"true\"></pds-icon>\n );\n } else if (Boolean(hasStartSlot)) {\n return <span class={`pds-button__icon ${this.loading ? 'pds-button__icon--hidden' : ''}`}><slot name=\"start\" /></span>;\n }\n\n return null;\n }\n\n private renderEndContent() {\n if (this.iconOnly) {\n return null;\n }\n\n if (this.variant === 'disclosure') {\n return (\n <pds-icon class={this.loading ? 'pds-button__icon--hidden' : ''} icon={caretDown} part=\"caret\" aria-hidden=\"true\"></pds-icon>\n );\n } else if (this.hasSlotContent('end')) {\n return <span class={`pds-button__icon ${this.loading ? 'pds-button__icon--hidden' : ''}`}><slot name=\"end\" /></span>;\n }\n\n return null;\n }\n\n render() {\n // Common props for both button and anchor elements\n const commonProps = {\n class: this.classNames(),\n part: 'button',\n };\n\n const attributes = () => {\n if (this.href) {\n return {\n // Anchor element props\n ...commonProps,\n href: this.disabled ? null : this.href,\n target: this.target,\n };\n }\n\n return {\n // Button element props\n ...commonProps,\n 'aria-busy': this.loading ? 'true' : null,\n 'aria-live': this.loading ? 'polite' : null,\n 'disabled': this.disabled,\n 'name': this.name,\n 'type': this.type,\n 'value': this.value,\n };\n };\n\n const ContentElement = this.href ? 'a' : 'button';\n\n // Hide text when loading or iconOnly is true\n const hideText = this.loading || this.iconOnly;\n\n const content = (\n <div class=\"pds-button__content\" part=\"button-content\">\n {this.renderStartContent()}\n\n <span class={`pds-button__text ${hideText ? 'pds-button__text--hidden' : ''}`} part=\"button-text\">\n <slot />\n </span>\n\n {this.loading && (\n <span class=\"pds-button__loader\">\n <pds-loader is-loading={true} size=\"var(--pine-font-size-body-2xl)\" variant=\"spinner\" exportparts=\"loader-svg\">\n Loading...\n </pds-loader>\n </span>\n )}\n\n {this.renderEndContent()}\n </div>\n );\n\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n id={this.componentId}\n onClick={this.handleClick}\n variant={this.variant}\n >\n <ContentElement {...attributes()}>\n {content}\n </ContentElement>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pds-button2.js","mappings":"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","names":["__stencil_proxyCustomElement"],"sources":["src/components/pds-button/pds-button.scss?tag=pds-button&encapsulation=shadow","src/components/pds-button/pds-button.tsx"],"sourcesContent":[":host {\n --pds-button-background: var(--color-background-default);\n --pds-button-border: var(--pine-border);\n --pds-button-border-radius: var(--pine-border-radius-full);\n --pds-button-border-radius-start-end: var(--pine-border-radius-full);\n --pds-button-border-radius-start-start: var(--pine-border-radius-full);\n --pds-button-border-radius-end-end: var(--pine-border-radius-full);\n --pds-button-border-radius-end-start: var(--pine-border-radius-full);\n --pds-button-min-height: var(--pine-dimension-450);\n --color-border-default: transparent;\n --color-border-disabled: transparent;\n --color-border-focus: transparent;\n --color-border-hover: transparent;\n --button-loader-color: var(--color-text-default);\n\n display: inline-flex;\n vertical-align: middle;\n}\n\n:host([full-width=\"true\"]) {\n display: flex;\n width: 100%;\n\n a,\n button {\n justify-content: center;\n width: 100%;\n }\n\n .pds-button__content {\n justify-content: center;\n text-align: center;\n }\n}\n\n:host([loading=\"true\"]) {\n cursor: wait;\n pointer-events: none;\n}\n\n:host([disabled=\"true\"]) {\n pointer-events: none;\n}\n\n.pds-button {\n --pds-loader-color: var(--color-text-default);\n align-items: center;\n background-color: var(--pds-button-background, var(--color-background-default));\n border: var(--pds-button-border);\n border-color: var(--color-border-default);\n border-end-end-radius: var(--pds-button-border-radius-end-end, var(--pds-button-border-radius));\n border-end-start-radius: var(--pds-button-border-radius-end-start, var(--pds-button-border-radius));\n border-radius: var(--pds-button-border-radius);\n border-start-end-radius: var(--pds-button-border-radius-start-end, var(--pds-button-border-radius));\n border-start-start-radius: var(--pds-button-border-radius-start-start, var(--pds-button-border-radius));\n box-sizing: border-box;\n color: var(--color-text-default);\n cursor: pointer;\n display: flex;\n font: var(--pine-typography-body-brand-label);\n letter-spacing: var(--pine-letter-spacing);\n min-height: var(--pds-button-min-height);\n padding: calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-sm);\n position: relative;\n text-decoration: none;\n\n pds-icon {\n color: currentColor;\n fill: currentColor;\n }\n\n &:hover {\n background-color: var(--color-background-hover);\n border-color: var(--color-border-hover);\n }\n\n &:focus-visible {\n border-color: var(--color-border-focus);\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &:disabled {\n background-color: var(--color-background-disabled);\n border-color: var(--color-border-disabled);\n color: var(--color-text-disabled);\n pointer-events: none;\n }\n}\n\n.pds-button--primary {\n --color-background-default: var(--pine-color-primary);\n --color-background-hover: var(--pine-color-primary-hover);\n --color-background-disabled: var(--pine-color-primary-disabled);\n --color-border-default: var(--pine-color-primary);\n --color-border-hover: var(--pine-color-primary-hover);\n --color-text-default: var(--pine-color-text-primary);\n --color-text-disabled: var(--pine-color-text-primary-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-primary);\n}\n\n.pds-button--accent {\n --color-background-default: var(--pine-color-accent);\n --color-background-hover: var(--pine-color-accent-hover);\n --color-background-disabled: var(--pine-color-accent-disabled);\n --color-border-default: var(--pine-color-accent);\n --color-border-hover: var(--pine-color-accent-hover);\n --color-text-default: var(--pine-color-text-primary);\n --color-text-disabled: var(--pine-color-text-accent-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-primary);\n}\n\n.pds-button--destructive {\n --color-background-default: var(--pine-color-danger);\n --color-background-hover: var(--pine-color-danger-hover);\n --color-background-disabled: var(--pine-color-danger-disabled);\n --color-border-default: var(--pine-color-danger);\n --color-border-hover: var(--pine-color-danger-hover);\n --color-text-default: var(--pine-color-text-primary);\n --color-text-disabled: var(--pine-color-text-danger-disabled);\n --color-outline: var(--pine-color-focus-ring-danger);\n --button-loader-color: var(--pine-color-text-primary);\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n}\n\n.pds-button--secondary,\n.pds-button--disclosure {\n --color-background-default: var(--pine-color-secondary);\n --color-background-hover: var(--pine-color-secondary-hover);\n --color-background-disabled: var(--pine-color-secondary-disabled);\n --color-border-disabled: var(--pine-color-border-disabled);\n --color-border-focus: var(--pine-color-border);\n --color-border-hover: var(--pine-color-border-hover);\n --color-border-default: var(--pine-color-border);\n --color-text-default: var(--pine-color-text-secondary);\n --color-text-disabled: var(--pine-color-text-secondary-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-secondary);\n\n &:hover {\n background-color: var(--pine-color-secondary-hover);\n }\n}\n\n.pds-button--unstyled {\n --color-background-default: transparent;\n --color-background-hover: transparent;\n --color-background-disabled: transparent;\n --color-text-default: inherit;\n --button-loader-color: inherit;\n border-width: var(--pine-dimension-none);\n margin: var(--pine-dimension-none);\n min-height: auto;\n padding: var(--pine-dimension-none);\n width: inherit;\n}\n\n.pds-button__content {\n align-items: center;\n display: inline-flex;\n gap: var(--pine-dimension-xs);\n position: relative;\n width: 100%;\n}\n\n.pds-button__icon {\n display: inline-flex;\n}\n\n.pds-button__text {\n align-items: center;\n display: inline-flex;\n white-space: nowrap;\n}\n\n.pds-button__icon--hidden,\n.pds-button__text--hidden {\n opacity: 0;\n}\n\n.pds-button__loader {\n height: var(--pine-dimension-250);\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n width: var(--pine-dimension-250);\n}\n\n.pds-button--loading {\n cursor: wait;\n pointer-events: none;\n\n .pds-button__loader {\n pds-loader {\n --loader-color: var(--button-loader-color);\n }\n }\n}\n\n.pds-button--icon-only {\n align-items: center;\n border-radius: var(--pine-border-radius-full);\n height: var(--button-dimension);\n justify-content: center;\n min-height: var(--button-dimension);\n min-width: var(--button-dimension);\n padding: var(--pine-dimension-xs);\n width: var(--button-dimension);\n\n .pds-button__content {\n height: 100%;\n justify-content: center;\n width: 100%;\n }\n\n .pds-button__text--hidden {\n border: 0;\n clip: rect(0 0 0 0);\n clip-path: polygon(0 0, 0 0, 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Listen, Prop } from '@stencil/core';\nimport { hasShadowDom } from '../../utils/utils';\n\nimport { caretDown } from '@pine-ds/icons/icons';\n\n/**\n * @part button - Exposes the button element for styling.\n * @part button-content - Exposes the button content for styling.\n * @part button-text - Exposes the button text for styling.\n * @part caret - Exposes the caret icon component for styling. Appears only on the disclosure variant.\n * @part icon - Exposes the icon component for styling.\n * @part loader-svg - Exposes the loader SVG element for color customization. Appears only when loading.\n * @slot (default) - Button text.\n * @slot start - Content to display before the button text.\n * @slot end - Content to display after the button text.\n*/\n\n@Component({\n tag: 'pds-button',\n styleUrls: ['pds-button.scss'],\n shadow: true,\n})\nexport class PdsButton {\n @Element() el: HTMLPdsButtonElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines the button's disabled state.\n * @defaultValue false\n */\n @Prop() disabled? = false;\n\n /**\n * Determines if the button should take up the full width of its container.\n * @defaultValue false\n */\n @Prop() fullWidth? = false;\n\n /**\n * If provided, renders the component as an anchor (`<a>`) element instead of a button.\n * When using href, button-specific props (type, name, value, loading) will be ignored.\n */\n @Prop() href?: string;\n\n /**\n * Displays a leading icon in the button. DEPRECATED.\n * @defaultValue null\n * @deprecated Use `start` slot instead.\n */\n @Prop() icon?: string = null;\n\n /**\n * When true, displays only the icon and visually hides the text (keeping it accessible).\n */\n @Prop() iconOnly? = false;\n\n /**\n * Determines if the button is in a loading state.\n * When true, displays a loader and hides the button text.\n * @defaultValue false\n */\n @Prop() loading? = false;\n\n /**\n * Provides the button with a submittable name.\n */\n @Prop() name?: string;\n\n /**\n * Specifies where to open the linked document when href is provided.\n * Only applies when href is set.\n */\n @Prop() target?: '_blank' | '_self' | '_parent' | '_top';\n\n /**\n * Provides button with a type.\n * @defaultValue button\n */\n @Prop() type?: 'button' | 'reset' | 'submit' = 'button';\n\n /**\n * Provides button with a submittable value\n */\n @Prop() value?: string;\n\n /**\n * Sets the style variant of the button.\n * @defaultValue primary\n */\n @Prop() variant: 'primary' | 'secondary' | 'accent' | 'disclosure' | 'destructive' | 'unstyled' = 'primary';\n\n @Event() pdsClick: EventEmitter;\n\n /**\n * Listen for Enter key presses on form inputs to trigger submit\n */\n @Listen('keydown', { target: 'body' })\n\n handleFormKeyDown(event: KeyboardEvent) {\n // Only handle Enter key for submit buttons that are not disabled\n if (event.key !== 'Enter' || this.type !== 'submit' || this.href || this.disabled) {\n return;\n }\n\n const target = event.target as Element;\n\n // Ensure event.target is an Element with matches method before proceeding\n if (!target || typeof target.matches !== 'function') {\n return;\n }\n const form = this.el.closest('form');\n\n // Check if the Enter key was pressed in a form input within the same form\n if (!form || !target || !form.contains(target)) {\n return;\n }\n\n // Check if target is a form input element (exclude reset buttons)\n const isFormInput = target.matches('input:not([type=\"submit\"]):not([type=\"button\"]):not([type=\"reset\"])') ||\n target.matches('pds-input') ||\n target.matches('pds-select') ||\n target.matches('pds-switch') ||\n target.matches('pds-checkbox') ||\n target.matches('pds-radio');\n\n if (isFormInput) {\n // Find all submit buttons in the form and check their actual properties\n const allSubmitButtons = Array.from(form.querySelectorAll('pds-button, button[type=\"submit\"], input[type=\"submit\"]'));\n const enabledSubmitButtons = allSubmitButtons.filter(button => {\n if (button.tagName.toLowerCase() === 'pds-button') {\n const pdsButton = button as HTMLPdsButtonElement;\n return pdsButton.type === 'submit' && !pdsButton.disabled;\n } else {\n return !button.hasAttribute('disabled');\n }\n });\n\n // Only synthesize click if this button is strictly the first enabled submit button\n if (enabledSubmitButtons.length > 0 && enabledSubmitButtons[0] === this.el) {\n event.preventDefault();\n this.el.click();\n }\n }\n }\n\n\n private handleClick = (ev: Event) => {\n if (this.loading) {\n ev.preventDefault();\n return;\n }\n\n // Prevent form submission for disabled buttons\n if (this.disabled) {\n ev.preventDefault();\n return;\n }\n\n if (!this.href && this.type != 'button') {\n // Handle form submission for Shadow DOM buttons\n if (hasShadowDom(this.el)) {\n const form = this.el.closest('form');\n if (form) {\n ev.preventDefault();\n\n const fakeButton = document.createElement('button');\n fakeButton.type = this.type;\n fakeButton.style.display = 'none';\n form.appendChild(fakeButton);\n fakeButton.click();\n fakeButton.remove();\n }\n }\n }\n this.pdsClick.emit(ev);\n };\n\n private classNames() {\n const classNames = ['pds-button'];\n\n if (this.variant) {\n classNames.push('pds-button--' + this.variant);\n }\n\n if (this.iconOnly) {\n classNames.push('pds-button--icon-only');\n }\n\n if (this.loading) {\n classNames.push('pds-button--loading');\n }\n\n return classNames.join(' ');\n }\n\n private hasSlotContent(slotName: string): boolean {\n const elements = this.el.querySelectorAll(`[slot=\"${slotName}\"]`);\n return elements.length > 0;\n }\n\n private renderStartContent() {\n const hasIcon = this.icon && this.variant !== 'disclosure';\n const hasStartSlot = this.hasSlotContent('start');\n\n if (Boolean(hasIcon)) {\n return (\n <pds-icon class={this.loading ? 'pds-button__icon--hidden' : ''} name={this.icon} part=\"icon\" aria-hidden=\"true\"></pds-icon>\n );\n } else if (Boolean(hasStartSlot)) {\n return <span class={`pds-button__icon ${this.loading ? 'pds-button__icon--hidden' : ''}`}><slot name=\"start\" /></span>;\n }\n\n return null;\n }\n\n private renderEndContent() {\n if (this.iconOnly) {\n return null;\n }\n\n if (this.variant === 'disclosure') {\n return (\n <pds-icon class={this.loading ? 'pds-button__icon--hidden' : ''} icon={caretDown} part=\"caret\" aria-hidden=\"true\"></pds-icon>\n );\n } else if (this.hasSlotContent('end')) {\n return <span class={`pds-button__icon ${this.loading ? 'pds-button__icon--hidden' : ''}`}><slot name=\"end\" /></span>;\n }\n\n return null;\n }\n\n render() {\n // Common props for both button and anchor elements\n const commonProps = {\n class: this.classNames(),\n part: 'button',\n };\n\n const attributes = () => {\n if (this.href) {\n return {\n // Anchor element props\n ...commonProps,\n href: this.disabled ? null : this.href,\n target: this.target,\n };\n }\n\n return {\n // Button element props\n ...commonProps,\n 'aria-busy': this.loading ? 'true' : null,\n 'aria-live': this.loading ? 'polite' : null,\n 'disabled': this.disabled,\n 'name': this.name,\n 'type': this.type,\n 'value': this.value,\n };\n };\n\n const ContentElement = this.href ? 'a' : 'button';\n\n // Hide text when loading or iconOnly is true\n const hideText = this.loading || this.iconOnly;\n\n const content = (\n <div class=\"pds-button__content\" part=\"button-content\">\n {this.renderStartContent()}\n\n <span class={`pds-button__text ${hideText ? 'pds-button__text--hidden' : ''}`} part=\"button-text\">\n <slot />\n </span>\n\n {this.loading && (\n <span class=\"pds-button__loader\">\n <pds-loader is-loading={true} size=\"var(--pine-font-size-body-2xl)\" variant=\"spinner\" exportparts=\"loader-svg\">\n Loading...\n </pds-loader>\n </span>\n )}\n\n {this.renderEndContent()}\n </div>\n );\n\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n id={this.componentId}\n onClick={this.handleClick}\n variant={this.variant}\n >\n <ContentElement {...attributes()}>\n {content}\n </ContentElement>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,31 +1,133 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
 
3
- const pdsModalContentCss = "pds-modal-content{display:block;-ms-flex:1 1 auto;flex:1 1 auto;overflow-y:auto;width:100%}pds-modal-content:has(.pds-modal-content--border-none){border:0}pds-modal-content:has(.pds-modal-content--border-both){-webkit-border-after:1px solid var(--pine-color-grey-200);border-block-end:1px solid var(--pine-color-grey-200);-webkit-border-before:1px solid var(--pine-color-grey-200);border-block-start:1px solid var(--pine-color-grey-200)}pds-modal-content:has(.pds-modal-content--border-top){-webkit-border-before:1px solid var(--pine-color-grey-200);border-block-start:1px solid var(--pine-color-grey-200)}pds-modal-content:has(.pds-modal-content--border-bottom){-webkit-border-after:1px solid var(--pine-color-grey-200);border-block-end:1px solid var(--pine-color-grey-200)}.pds-modal-content{display:block;-ms-flex:1 1 auto;flex:1 1 auto;min-height:0;overflow-y:auto;width:100%}";
3
+ const pdsModalContentCss = "pds-modal-content{display:block;-ms-flex:1 1 auto;flex:1 1 auto;width:100%}pds-modal-content:has(.pds-modal-content.pds-modal-content--border-none){border:0}pds-modal-content:has(.pds-modal-content.pds-modal-content--border-both){-webkit-border-after:1px solid var(--pine-color-grey-200);border-block-end:1px solid var(--pine-color-grey-200);-webkit-border-before:1px solid var(--pine-color-grey-200);border-block-start:1px solid var(--pine-color-grey-200)}pds-modal-content:has(.pds-modal-content.pds-modal-content--border-top){-webkit-border-before:1px solid var(--pine-color-grey-200);border-block-start:1px solid var(--pine-color-grey-200)}pds-modal-content:has(.pds-modal-content.pds-modal-content--border-bottom){-webkit-border-after:1px solid var(--pine-color-grey-200);border-block-end:1px solid var(--pine-color-grey-200)}.pds-modal-content{display:block;-ms-flex:1 1 auto;flex:1 1 auto;min-height:0;width:100%}";
4
4
 
5
5
  const PdsModalContent$1 = /*@__PURE__*/ proxyCustomElement(class PdsModalContent extends HTMLElement {
6
6
  constructor() {
7
7
  super();
8
8
  this.__registerHost();
9
9
  /**
10
- * The border style for the content area. Automatically set based on available space of the modal content.
10
+ * The border style for the content area. When not explicitly set, automatically determined based on scroll state.
11
11
  * @default 'none'
12
12
  */
13
13
  this.border = 'none';
14
- this.contentMaxHeight = '60vh';
14
+ this.contentMaxHeight = 'none';
15
+ /**
16
+ * Tracks whether the border prop was explicitly set by the user
17
+ */
18
+ this.userSetBorder = false;
19
+ }
20
+ componentWillLoad() {
21
+ // Check if border was explicitly set via attribute or property
22
+ const borderAttr = this.el.getAttribute('border');
23
+ const hasBorderAttribute = borderAttr !== null;
24
+ // If border attribute exists or border prop is not the default, user set it
25
+ this.userSetBorder = hasBorderAttribute || this.border !== 'none';
15
26
  }
16
27
  componentDidLoad() {
17
- const slotContent = this.el.firstElementChild;
18
- const isScrollable = slotContent.scrollHeight > slotContent.clientHeight;
19
- this.border = isScrollable ? 'both' : 'none';
20
28
  this.calculateMaxHeight();
21
- window.addEventListener('resize', this.calculateMaxHeight.bind(this));
29
+ // Set up resize listener
30
+ window.addEventListener('resize', this.handleResize.bind(this));
31
+ // Only set up scroll listener for border updates if borders are managed automatically
32
+ if (!this.userSetBorder) {
33
+ setTimeout(() => {
34
+ // The scroll happens on the component element itself (this.el), not the inner div
35
+ console.log('Setting up scroll listener on component element:', this.el);
36
+ this.el.addEventListener('scroll', this.handleScroll.bind(this));
37
+ // Initial border update after everything is set up
38
+ setTimeout(() => this.updateBorders(), 100);
39
+ }, 100);
40
+ }
22
41
  }
23
42
  disconnectedCallback() {
24
- window.removeEventListener('resize', this.calculateMaxHeight.bind(this));
43
+ window.removeEventListener('resize', this.handleResize.bind(this));
44
+ // Clean up scroll listener only if it was set up
45
+ if (!this.userSetBorder) {
46
+ this.el.removeEventListener('scroll', this.handleScroll.bind(this));
47
+ }
25
48
  if (this.mutationObserver) {
26
49
  this.mutationObserver.disconnect();
27
50
  }
28
51
  }
52
+ /**
53
+ * Handle scroll events
54
+ */
55
+ handleScroll() {
56
+ console.log('Scroll event fired!');
57
+ this.updateBorders();
58
+ }
59
+ /**
60
+ * Handle resize events
61
+ */
62
+ handleResize() {
63
+ this.calculateMaxHeight();
64
+ // Update borders after resize as content scrollability might change
65
+ setTimeout(() => this.updateBorders(), 50);
66
+ }
67
+ /**
68
+ * Updates border visibility based on scroll state (only if not user-defined)
69
+ */
70
+ updateBorders() {
71
+ // If user explicitly set a border value, don't override it
72
+ if (this.userSetBorder) {
73
+ return;
74
+ }
75
+ // Find the modal element (parent of this component)
76
+ const modalElement = this.el.closest('pds-modal');
77
+ if (!modalElement)
78
+ return;
79
+ // Only apply border logic if modal is scrollable
80
+ const isModalScrollable = modalElement.scrollable !== false;
81
+ if (!isModalScrollable) {
82
+ this.border = 'none';
83
+ return;
84
+ }
85
+ // The scrollable element is the component itself (this.el), not the inner div
86
+ const scrollableElement = this.el;
87
+ // Check if content is actually scrollable
88
+ const isContentScrollable = scrollableElement.scrollHeight > scrollableElement.clientHeight;
89
+ if (!isContentScrollable) {
90
+ this.border = 'none';
91
+ return;
92
+ }
93
+ // Determine border position based on scroll position
94
+ const { scrollTop, scrollHeight, clientHeight } = scrollableElement;
95
+ const scrollBottom = scrollTop + clientHeight;
96
+ // More generous tolerance for scroll detection (3px instead of 1px)
97
+ const tolerance = 3;
98
+ const isAtTop = scrollTop <= tolerance;
99
+ const isAtBottom = scrollBottom >= scrollHeight - tolerance;
100
+ // Debug logging (can be removed later)
101
+ console.log('Border Debug:', {
102
+ scrollTop,
103
+ scrollHeight,
104
+ clientHeight,
105
+ scrollBottom,
106
+ isAtTop,
107
+ isAtBottom,
108
+ currentBorder: this.border
109
+ });
110
+ if (isAtTop && isAtBottom) {
111
+ // Content fits exactly, no borders needed
112
+ this.border = 'none';
113
+ console.log('Content fits exactly, no borders needed');
114
+ }
115
+ else if (isAtTop && !isAtBottom) {
116
+ // At top, show bottom border only
117
+ this.border = 'bottom';
118
+ console.log('At top, show bottom border only');
119
+ }
120
+ else if (!isAtTop && isAtBottom) {
121
+ // At bottom, show top border only
122
+ this.border = 'top';
123
+ console.log('At bottom, show top border only');
124
+ }
125
+ else {
126
+ // In middle, show both borders
127
+ this.border = 'both';
128
+ console.log('In middle, show both borders');
129
+ }
130
+ }
29
131
  /**
30
132
  * Calculates the max-height based on header and footer heights
31
133
  */
@@ -34,7 +136,18 @@ const PdsModalContent$1 = /*@__PURE__*/ proxyCustomElement(class PdsModalContent
34
136
  const modalElement = this.el.closest('pds-modal');
35
137
  if (!modalElement)
36
138
  return;
139
+ // Check if the parent modal is scrollable
140
+ const isScrollable = modalElement.scrollable !== false;
37
141
  setTimeout(() => {
142
+ // If modal is not scrollable, don't apply max-height constraints
143
+ if (!isScrollable) {
144
+ this.contentMaxHeight = 'none';
145
+ const contentElement = this.el.querySelector('.pds-modal-content');
146
+ if (contentElement) {
147
+ contentElement.style.maxHeight = 'none';
148
+ }
149
+ return;
150
+ }
38
151
  // Find header and footer elements
39
152
  const headerElement = modalElement.querySelector('pds-modal-header');
40
153
  const footerElement = modalElement.querySelector('pds-modal-footer');
@@ -59,8 +172,10 @@ const PdsModalContent$1 = /*@__PURE__*/ proxyCustomElement(class PdsModalContent
59
172
  }
60
173
  }
61
174
  else {
62
- this.contentMaxHeight = '60vh'; // Default fallback
175
+ this.contentMaxHeight = 'none'; // Default fallback
63
176
  }
177
+ // Update borders after height calculations with longer delay
178
+ setTimeout(() => this.updateBorders(), 150);
64
179
  }, 100); // Delay to ensure DOM is fully rendered
65
180
  // Set up mutation observer if not already done
66
181
  if (!this.mutationObserver && modalElement) {
@@ -77,10 +192,12 @@ const PdsModalContent$1 = /*@__PURE__*/ proxyCustomElement(class PdsModalContent
77
192
  }
78
193
  }
79
194
  render() {
80
- return (h(Host, { key: '7fcd0c2d15c40fcb64137a36f056965f20c8edac' }, h("div", { key: '477bf82a379f1a6a0411b0bf9d740cef4b43fab6', class: {
195
+ // Only apply max-height style if it's not 'none'
196
+ const styleObj = this.contentMaxHeight !== 'none' ? { maxHeight: this.contentMaxHeight } : {};
197
+ return (h(Host, { key: '545e18de51a427ac59a33dece5054ec700163ae5' }, h("div", { key: '3e418670869f63d0251348f7787bca60e0057c91', class: {
81
198
  'pds-modal-content': true,
82
199
  [`pds-modal-content--border-${this.border}`]: true
83
- }, style: { maxHeight: this.contentMaxHeight }, tabindex: "-1" }, h("slot", { key: '0f7b29d85da0a61614725051fee71df1964a91fa' }))));
200
+ }, style: styleObj, tabindex: "-1" }, h("slot", { key: 'f312a2ff4b3249637d50536e12cf8ad94db5eff2' }))));
84
201
  }
85
202
  get el() { return this; }
86
203
  static get style() { return pdsModalContentCss; }