@3ddv/software-division-components 1.1.0 → 1.4.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 (656) hide show
  1. package/.editorconfig +17 -0
  2. package/.husky/commit-msg +1 -0
  3. package/.prettierrc +11 -0
  4. package/README.backup.md +579 -0
  5. package/README.md +4 -0
  6. package/angular.json +144 -0
  7. package/commitlint-config.ts +7 -0
  8. package/components.json +6 -0
  9. package/docs/conventions.md +151 -0
  10. package/docs/installation.md +131 -0
  11. package/docs/releasing.md +306 -0
  12. package/eslint.config.ts +209 -0
  13. package/lerna-debug.log +71 -0
  14. package/lerna.json +8 -0
  15. package/package.json +129 -179
  16. package/pnpm-workspace.yaml +2 -0
  17. package/postcss.config.js +6 -0
  18. package/process-styles.js +31 -0
  19. package/projects/consumer-app/public/favicon.ico +0 -0
  20. package/projects/consumer-app/src/app/app.component.css +45 -0
  21. package/projects/consumer-app/src/app/app.component.html +11 -0
  22. package/projects/consumer-app/src/app/app.component.ts +14 -0
  23. package/projects/consumer-app/src/app/app.config.ts +8 -0
  24. package/projects/consumer-app/src/app/app.routes.ts +9 -0
  25. package/projects/consumer-app/src/app/form/form.component.css +82 -0
  26. package/projects/consumer-app/src/app/form/form.component.html +196 -0
  27. package/projects/consumer-app/src/app/form/form.component.ts +101 -0
  28. package/projects/consumer-app/src/app/table/action-column.component.ts +46 -0
  29. package/projects/consumer-app/src/app/table/table.component.css +3 -0
  30. package/projects/consumer-app/src/app/table/table.component.html +17 -0
  31. package/projects/consumer-app/src/app/table/table.component.ts +277 -0
  32. package/projects/consumer-app/src/index.html +13 -0
  33. package/projects/consumer-app/src/main.ts +6 -0
  34. package/projects/consumer-app/src/styles.css +35 -0
  35. package/projects/consumer-app/tsconfig.app.json +11 -0
  36. package/projects/consumer-app/tsconfig.spec.json +15 -0
  37. package/projects/software-division-components/.claude/settings.local.json +9 -0
  38. package/projects/software-division-components/.postcssrc.json +5 -0
  39. package/projects/software-division-components/.storybook/main.ts +28 -0
  40. package/projects/software-division-components/.storybook/manager-head.html +1 -0
  41. package/projects/software-division-components/.storybook/preview.ts +30 -0
  42. package/projects/software-division-components/.storybook/tsconfig.json +13 -0
  43. package/projects/software-division-components/.storybook/typings.d.ts +4 -0
  44. package/projects/software-division-components/LICENSE.md +21 -0
  45. package/projects/software-division-components/components.json +3 -0
  46. package/projects/software-division-components/documentation.json +5052 -0
  47. package/projects/software-division-components/ng-package.json +10 -0
  48. package/projects/software-division-components/node_modules/.bin/acorn +21 -0
  49. package/projects/software-division-components/node_modules/.bin/browserslist +21 -0
  50. package/projects/software-division-components/node_modules/.bin/chroma +21 -0
  51. package/projects/software-division-components/node_modules/.bin/chromatic +21 -0
  52. package/projects/software-division-components/node_modules/.bin/chromatic-cli +21 -0
  53. package/projects/software-division-components/node_modules/.bin/compodoc +21 -0
  54. package/projects/software-division-components/node_modules/.bin/eslint +21 -0
  55. package/projects/software-division-components/node_modules/.bin/getstorybook +21 -0
  56. package/projects/software-division-components/node_modules/.bin/jiti +21 -0
  57. package/projects/software-division-components/node_modules/.bin/js-yaml +21 -0
  58. package/projects/software-division-components/node_modules/.bin/karma +21 -0
  59. package/projects/software-division-components/node_modules/.bin/lessc +21 -0
  60. package/projects/software-division-components/node_modules/.bin/mf +21 -0
  61. package/projects/software-division-components/node_modules/.bin/ng +21 -0
  62. package/projects/software-division-components/node_modules/.bin/ng-packagr +21 -0
  63. package/projects/software-division-components/node_modules/.bin/ng-xi18n +21 -0
  64. package/projects/software-division-components/node_modules/.bin/ngc +21 -0
  65. package/projects/software-division-components/node_modules/.bin/ngcc +21 -0
  66. package/projects/software-division-components/node_modules/.bin/nx +21 -0
  67. package/projects/software-division-components/node_modules/.bin/nx-cloud +21 -0
  68. package/projects/software-division-components/node_modules/.bin/prettier +21 -0
  69. package/projects/software-division-components/node_modules/.bin/sass +21 -0
  70. package/projects/software-division-components/node_modules/.bin/sb +21 -0
  71. package/projects/software-division-components/node_modules/.bin/storybook +21 -0
  72. package/projects/software-division-components/node_modules/.bin/tailwind +21 -0
  73. package/projects/software-division-components/node_modules/.bin/tailwindcss +21 -0
  74. package/projects/software-division-components/node_modules/.bin/terser +21 -0
  75. package/projects/software-division-components/node_modules/.bin/tsc +21 -0
  76. package/projects/software-division-components/node_modules/.bin/tsserver +21 -0
  77. package/projects/software-division-components/node_modules/.bin/vite +21 -0
  78. package/projects/software-division-components/node_modules/.bin/webpack +21 -0
  79. package/projects/software-division-components/node_modules/.bin/yaml +21 -0
  80. package/projects/software-division-components/package.json +216 -0
  81. package/projects/software-division-components/public/3ddv-logo.jpg +0 -0
  82. package/projects/software-division-components/public/neighbours-after.png +0 -0
  83. package/projects/software-division-components/public/neighbours-before.png +0 -0
  84. package/projects/software-division-components/src/backoffice/checkbox/checkbox.component.css +193 -0
  85. package/projects/software-division-components/src/backoffice/checkbox/checkbox.component.html +23 -0
  86. package/projects/software-division-components/src/backoffice/checkbox/checkbox.component.ts +252 -0
  87. package/projects/software-division-components/src/backoffice/checkbox/index.ts +1 -0
  88. package/projects/software-division-components/src/backoffice/checkbox/public-api.ts +1 -0
  89. package/projects/software-division-components/src/backoffice/checkbox/story/checkbox.stories.ts +304 -0
  90. package/projects/software-division-components/src/backoffice/datepicker/datepicker.component.css +262 -0
  91. package/projects/software-division-components/src/backoffice/datepicker/datepicker.component.html +40 -0
  92. package/projects/software-division-components/src/backoffice/datepicker/datepicker.component.ts +366 -0
  93. package/projects/software-division-components/src/backoffice/datepicker/index.ts +1 -0
  94. package/{backoffice/datepicker/public-api.d.ts → projects/software-division-components/src/backoffice/datepicker/public-api.ts} +1 -1
  95. package/projects/software-division-components/src/backoffice/datepicker/story/datepicker.stories.ts +32 -0
  96. package/projects/software-division-components/src/backoffice/datepicker/ui/ui-calendar-helm/src/index.ts +14 -0
  97. package/projects/software-division-components/src/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar-multi.ts +183 -0
  98. package/projects/software-division-components/src/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar.ts +171 -0
  99. package/projects/software-division-components/src/backoffice/datepicker/ui/ui-date-picker-helm/src/index.ts +16 -0
  100. package/projects/software-division-components/src/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.token.ts +43 -0
  101. package/projects/software-division-components/src/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.ts +177 -0
  102. package/projects/software-division-components/src/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.token.ts +43 -0
  103. package/projects/software-division-components/src/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.ts +167 -0
  104. package/projects/software-division-components/src/backoffice/datepicker/ui/ui-icon-helm/src/index.ts +11 -0
  105. package/projects/software-division-components/src/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.token.ts +20 -0
  106. package/projects/software-division-components/src/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.ts +35 -0
  107. package/projects/software-division-components/src/backoffice/datepicker/ui/ui-popover-helm/src/index.ts +15 -0
  108. package/projects/software-division-components/src/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-close.ts +19 -0
  109. package/projects/software-division-components/src/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-content.ts +30 -0
  110. package/projects/software-division-components/src/backoffice/index.ts +1 -0
  111. package/projects/software-division-components/src/backoffice/input/index.ts +1 -0
  112. package/projects/software-division-components/src/backoffice/input/input.component.css +319 -0
  113. package/projects/software-division-components/src/backoffice/input/input.component.html +51 -0
  114. package/projects/software-division-components/src/backoffice/input/input.component.ts +497 -0
  115. package/projects/software-division-components/src/backoffice/input/public-api.ts +2 -0
  116. package/projects/software-division-components/src/backoffice/input/story/input.stories.ts +243 -0
  117. package/projects/software-division-components/src/backoffice/package.json +8 -0
  118. package/{backoffice/public-api.d.ts → projects/software-division-components/src/backoffice/public-api.ts} +0 -1
  119. package/projects/software-division-components/src/backoffice/radio/index.ts +1 -0
  120. package/projects/software-division-components/src/backoffice/radio/public-api.ts +1 -0
  121. package/projects/software-division-components/src/backoffice/radio/radio.component.css +143 -0
  122. package/projects/software-division-components/src/backoffice/radio/radio.component.html +15 -0
  123. package/projects/software-division-components/src/backoffice/radio/radio.component.ts +154 -0
  124. package/projects/software-division-components/src/backoffice/radio/story/radio.stories.ts +287 -0
  125. package/projects/software-division-components/src/backoffice/table/_components/pagination/pagination.component.css +117 -0
  126. package/projects/software-division-components/src/backoffice/table/_components/pagination/pagination.component.html +55 -0
  127. package/projects/software-division-components/src/backoffice/table/_components/pagination/pagination.component.ts +79 -0
  128. package/projects/software-division-components/src/backoffice/table/_components/selection-table-head/selection-table-head.component.css +0 -0
  129. package/projects/software-division-components/src/backoffice/table/_components/selection-table-head/selection-table-head.component.html +6 -0
  130. package/projects/software-division-components/src/backoffice/table/_components/selection-table-head/selection-table-head.component.ts +36 -0
  131. package/projects/software-division-components/src/backoffice/table/_components/selection-table-row/selection-table-row.component.css +0 -0
  132. package/projects/software-division-components/src/backoffice/table/_components/selection-table-row/selection-table-row.component.html +5 -0
  133. package/projects/software-division-components/src/backoffice/table/_components/selection-table-row/selection-table-row.component.ts +12 -0
  134. package/projects/software-division-components/src/backoffice/table/_components/sort-header-button/sort-header-button.component.css +14 -0
  135. package/projects/software-division-components/src/backoffice/table/_components/sort-header-button/sort-header-button.component.html +11 -0
  136. package/projects/software-division-components/src/backoffice/table/_components/sort-header-button/sort-header-button.component.ts +55 -0
  137. package/projects/software-division-components/src/backoffice/table/index.ts +1 -0
  138. package/projects/software-division-components/src/backoffice/table/public-api.ts +43 -0
  139. package/projects/software-division-components/src/backoffice/table/story/table.stories.ts +364 -0
  140. package/projects/software-division-components/src/backoffice/table/table.component.css +172 -0
  141. package/projects/software-division-components/src/backoffice/table/table.component.html +53 -0
  142. package/projects/software-division-components/src/backoffice/table/table.component.ts +347 -0
  143. package/projects/software-division-components/src/backoffice/table/ui/ui-icon-helm/src/index.ts +11 -0
  144. package/projects/software-division-components/src/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.token.ts +20 -0
  145. package/projects/software-division-components/src/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.ts +35 -0
  146. package/projects/software-division-components/src/backoffice/table/ui/ui-table-helm/src/index.ts +13 -0
  147. package/projects/software-division-components/src/backoffice/table/ui/ui-table-helm/src/lib/hlm-table.ts +220 -0
  148. package/projects/software-division-components/src/dvm/cart/cart.component.css +103 -0
  149. package/projects/software-division-components/src/dvm/cart/cart.component.html +31 -0
  150. package/projects/software-division-components/src/dvm/cart/cart.component.ts +49 -0
  151. package/projects/software-division-components/src/dvm/cart/cart.stories.ts +370 -0
  152. package/projects/software-division-components/src/dvm/cart/cart.types.ts +8 -0
  153. package/projects/software-division-components/src/dvm/cart/index.ts +2 -0
  154. package/projects/software-division-components/src/dvm/cart/public-api.ts +8 -0
  155. package/projects/software-division-components/src/dvm/cart/seat-list.component.css +281 -0
  156. package/projects/software-division-components/src/dvm/cart/seat-list.component.html +85 -0
  157. package/projects/software-division-components/src/dvm/cart/seat-list.component.ts +76 -0
  158. package/projects/software-division-components/src/dvm/cart/seat-list.stories.ts +337 -0
  159. package/projects/software-division-components/src/dvm/cart-item/cart-item.component.html +1 -0
  160. package/projects/software-division-components/src/dvm/cart-item/cart-item.component.ts +8 -0
  161. package/projects/software-division-components/src/dvm/cart-item/cart-item.service.ts +8 -0
  162. package/projects/software-division-components/src/dvm/cart-item/cart.stories.ts +31 -0
  163. package/projects/software-division-components/src/dvm/cart-item/index.ts +1 -0
  164. package/projects/software-division-components/src/dvm/cart-item/package.json +5 -0
  165. package/{dvm/cart-item/public-api.d.ts → projects/software-division-components/src/dvm/cart-item/public-api.ts} +4 -1
  166. package/projects/software-division-components/src/dvm/index.ts +1 -0
  167. package/projects/software-division-components/src/dvm/legend/index.ts +1 -0
  168. package/projects/software-division-components/src/dvm/legend/legend.component.css +49 -0
  169. package/projects/software-division-components/src/dvm/legend/legend.component.html +8 -0
  170. package/projects/software-division-components/src/dvm/legend/legend.component.ts +41 -0
  171. package/projects/software-division-components/src/dvm/legend/legend.stories.ts +16 -0
  172. package/projects/software-division-components/src/dvm/legend/package.json +5 -0
  173. package/{dvm/legend/public-api.d.ts → projects/software-division-components/src/dvm/legend/public-api.ts} +4 -1
  174. package/{dvm/legend/types.d.ts → projects/software-division-components/src/dvm/legend/types.ts} +3 -3
  175. package/{dvm/legend/ui/legend-elements/index.d.ts → projects/software-division-components/src/dvm/legend/ui/legend-elements/index.ts} +0 -1
  176. package/projects/software-division-components/src/dvm/legend/ui/legend-elements/legend-elements.component.css +49 -0
  177. package/projects/software-division-components/src/dvm/legend/ui/legend-elements/legend-elements.component.html +8 -0
  178. package/projects/software-division-components/src/dvm/legend/ui/legend-elements/legend-elements.component.ts +41 -0
  179. package/projects/software-division-components/src/dvm/loader/index.ts +1 -0
  180. package/projects/software-division-components/src/dvm/loader/loader.component.html +1 -0
  181. package/projects/software-division-components/src/dvm/loader/loader.component.ts +8 -0
  182. package/projects/software-division-components/src/dvm/loader/loader.service.ts +8 -0
  183. package/projects/software-division-components/src/dvm/loader/loader.stories.ts +31 -0
  184. package/projects/software-division-components/src/dvm/loader/package.json +5 -0
  185. package/{dvm/loader/public-api.d.ts → projects/software-division-components/src/dvm/loader/public-api.ts} +4 -1
  186. package/projects/software-division-components/src/dvm/map-loader/index.ts +1 -0
  187. package/projects/software-division-components/src/dvm/map-loader/map-loader.component.css +91 -0
  188. package/projects/software-division-components/src/dvm/map-loader/map-loader.component.html +23 -0
  189. package/projects/software-division-components/src/dvm/map-loader/map-loader.component.ts +187 -0
  190. package/projects/software-division-components/src/dvm/map-loader/map-loader.stories.ts +16 -0
  191. package/projects/software-division-components/src/dvm/map-loader/package.json +5 -0
  192. package/projects/software-division-components/src/dvm/map-loader/public-api.ts +5 -0
  193. package/projects/software-division-components/src/dvm/neighbors/index.ts +1 -0
  194. package/projects/software-division-components/src/dvm/neighbors/neighbors.component.css +158 -0
  195. package/projects/software-division-components/src/dvm/neighbors/neighbors.component.html +45 -0
  196. package/projects/software-division-components/src/dvm/neighbors/neighbors.component.ts +218 -0
  197. package/projects/software-division-components/src/dvm/neighbors/package.json +5 -0
  198. package/projects/software-division-components/src/dvm/neighbors/public-api.ts +2 -0
  199. package/projects/software-division-components/src/dvm/neighbors/story/arrow-left-black-icon.svg +3 -0
  200. package/projects/software-division-components/src/dvm/neighbors/story/mock-data.ts +15 -0
  201. package/projects/software-division-components/src/dvm/neighbors/story/neighbours.stories.css +12 -0
  202. package/projects/software-division-components/src/dvm/neighbors/story/neighbours.stories.ts +117 -0
  203. package/{dvm/neighbors/types.d.ts → projects/software-division-components/src/dvm/neighbors/types.ts} +7 -7
  204. package/projects/software-division-components/src/dvm/package.json +7 -0
  205. package/projects/software-division-components/src/dvm/popover/base-popover.component.ts +70 -0
  206. package/projects/software-division-components/src/dvm/popover/index.ts +1 -0
  207. package/projects/software-division-components/src/dvm/popover/package.json +5 -0
  208. package/projects/software-division-components/src/dvm/popover/popover.component.css +227 -0
  209. package/projects/software-division-components/src/dvm/popover/popover.component.html +27 -0
  210. package/projects/software-division-components/src/dvm/popover/popover.component.ts +236 -0
  211. package/projects/software-division-components/src/dvm/popover/popover.config.ts +30 -0
  212. package/projects/software-division-components/src/dvm/popover/popover.service.ts +627 -0
  213. package/projects/software-division-components/src/dvm/popover/popover.stories.ts +873 -0
  214. package/{dvm/popover/public-api.d.ts → projects/software-division-components/src/dvm/popover/public-api.ts} +4 -1
  215. package/projects/software-division-components/src/dvm/popover/seat-popover/seat-popover.component.css +89 -0
  216. package/projects/software-division-components/src/dvm/popover/seat-popover/seat-popover.component.html +40 -0
  217. package/projects/software-division-components/src/dvm/popover/seat-popover/seat-popover.component.ts +74 -0
  218. package/projects/software-division-components/src/dvm/popover/section-popover/section-popover.component.css +157 -0
  219. package/projects/software-division-components/src/dvm/popover/section-popover/section-popover.component.html +58 -0
  220. package/projects/software-division-components/src/dvm/popover/section-popover/section-popover.component.ts +106 -0
  221. package/projects/software-division-components/src/dvm/popover/services/dvm-popover-positioner.service.ts +73 -0
  222. package/projects/software-division-components/src/dvm/popover/services/popover-manager.service.ts +88 -0
  223. package/projects/software-division-components/src/dvm/popover/transformers/base-popover-data-transformer.ts +36 -0
  224. package/projects/software-division-components/src/dvm/popover/types.ts +104 -0
  225. package/{dvm/public-api.d.ts → projects/software-division-components/src/dvm/public-api.ts} +0 -1
  226. package/projects/software-division-components/src/dvm/stepper/index.ts +1 -0
  227. package/projects/software-division-components/src/dvm/stepper/package.json +5 -0
  228. package/projects/software-division-components/src/dvm/stepper/public-api.ts +5 -0
  229. package/projects/software-division-components/src/dvm/stepper/stepper.component.css +142 -0
  230. package/projects/software-division-components/src/dvm/stepper/stepper.component.html +9 -0
  231. package/projects/software-division-components/src/dvm/stepper/stepper.component.ts +102 -0
  232. package/{dvm/stepper/types.d.ts → projects/software-division-components/src/dvm/stepper/types.ts} +2 -5
  233. package/projects/software-division-components/src/dvm/ticket-info-item/index.ts +1 -0
  234. package/projects/software-division-components/src/dvm/ticket-info-item/package.json +5 -0
  235. package/{dvm/ticket-info-item/public-api.d.ts → projects/software-division-components/src/dvm/ticket-info-item/public-api.ts} +4 -1
  236. package/projects/software-division-components/src/dvm/ticket-info-item/ticket-info-item.component.html +1 -0
  237. package/projects/software-division-components/src/dvm/ticket-info-item/ticket-info-item.component.ts +8 -0
  238. package/projects/software-division-components/src/dvm/ticket-info-item/ticket-info-item.service.ts +8 -0
  239. package/projects/software-division-components/src/dvm/ticket-info-item/ticket-info-item.stories.ts +31 -0
  240. package/projects/software-division-components/src/generic/add-digital-wallet/add-digital-wallet.component.css +76 -0
  241. package/projects/software-division-components/src/generic/add-digital-wallet/add-digital-wallet.component.html +46 -0
  242. package/projects/software-division-components/src/generic/add-digital-wallet/add-digital-wallet.component.ts +45 -0
  243. package/projects/software-division-components/src/generic/add-digital-wallet/index.ts +1 -0
  244. package/{generic/add-digital-wallet/public-api.d.ts → projects/software-division-components/src/generic/add-digital-wallet/public-api.ts} +0 -1
  245. package/projects/software-division-components/src/generic/braintree/braintree.component.css +7 -0
  246. package/projects/software-division-components/src/generic/braintree/braintree.component.ts +134 -0
  247. package/projects/software-division-components/src/generic/braintree/index.ts +1 -0
  248. package/projects/software-division-components/src/generic/braintree/package.json +5 -0
  249. package/{generic/braintree/public-api.d.ts → projects/software-division-components/src/generic/braintree/public-api.ts} +4 -1
  250. package/projects/software-division-components/src/generic/braintree/story/braintree.stories.css +3 -0
  251. package/projects/software-division-components/src/generic/braintree/story/braintree.stories.ts +27 -0
  252. package/projects/software-division-components/src/generic/braintree/types.ts +28 -0
  253. package/projects/software-division-components/src/generic/button/button.component.css +284 -0
  254. package/projects/software-division-components/src/generic/button/button.component.html +10 -0
  255. package/projects/software-division-components/src/generic/button/button.component.ts +350 -0
  256. package/projects/software-division-components/src/generic/button/index.ts +1 -0
  257. package/projects/software-division-components/src/generic/button/package.json +5 -0
  258. package/projects/software-division-components/src/generic/button/public-api.ts +5 -0
  259. package/projects/software-division-components/src/generic/button/story/button.stories.ts +384 -0
  260. package/projects/software-division-components/src/generic/button/ui/ui-button-helm/src/index.ts +10 -0
  261. package/projects/software-division-components/src/generic/button/ui/ui-button-helm/src/lib/hlm-button.token.ts +22 -0
  262. package/projects/software-division-components/src/generic/button/ui/ui-button-helm/src/lib/hlm-button.ts +62 -0
  263. package/projects/software-division-components/src/generic/carousel/carousel-item.component.ts +15 -0
  264. package/projects/software-division-components/src/generic/carousel/carousel-item.directive.ts +14 -0
  265. package/projects/software-division-components/src/generic/carousel/carousel.component.css +90 -0
  266. package/projects/software-division-components/src/generic/carousel/carousel.component.html +13 -0
  267. package/projects/software-division-components/src/generic/carousel/carousel.component.ts +44 -0
  268. package/projects/software-division-components/src/generic/carousel/index.ts +1 -0
  269. package/projects/software-division-components/src/generic/carousel/public-api.ts +2 -0
  270. package/projects/software-division-components/src/generic/carousel/ui/ui-carousel-helm/src/index.ts +29 -0
  271. package/projects/software-division-components/src/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-content.ts +23 -0
  272. package/projects/software-division-components/src/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-item.ts +25 -0
  273. package/projects/software-division-components/src/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-next.ts +58 -0
  274. package/projects/software-division-components/src/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-previous.ts +61 -0
  275. package/projects/software-division-components/src/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-slide-display.ts +36 -0
  276. package/projects/software-division-components/src/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel.ts +105 -0
  277. package/projects/software-division-components/src/generic/dialog/dialog.component.css +5 -0
  278. package/projects/software-division-components/src/generic/dialog/dialog.component.html +3 -0
  279. package/projects/software-division-components/src/generic/dialog/dialog.component.ts +20 -0
  280. package/projects/software-division-components/src/generic/dialog/dialog.stories.ts +14 -0
  281. package/projects/software-division-components/src/generic/dialog/index.ts +1 -0
  282. package/{generic/dialog/libs/ui-dialog-helm/src/index.d.ts → projects/software-division-components/src/generic/dialog/libs/ui-dialog-helm/src/index.ts} +20 -8
  283. package/projects/software-division-components/src/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-close.ts +20 -0
  284. package/projects/software-division-components/src/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-content.ts +56 -0
  285. package/projects/software-division-components/src/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-description.ts +17 -0
  286. package/projects/software-division-components/src/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-footer.ts +19 -0
  287. package/projects/software-division-components/src/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-header.ts +19 -0
  288. package/projects/software-division-components/src/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-overlay.ts +23 -0
  289. package/projects/software-division-components/src/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-title.ts +19 -0
  290. package/projects/software-division-components/src/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.service.ts +59 -0
  291. package/projects/software-division-components/src/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.ts +31 -0
  292. package/projects/software-division-components/src/generic/dialog/package.json +9 -0
  293. package/{generic/dialog/public-api.d.ts → projects/software-division-components/src/generic/dialog/public-api.ts} +4 -1
  294. package/projects/software-division-components/src/generic/dialog/tsconfig.json +7 -0
  295. package/projects/software-division-components/src/generic/dialog/ui/dialog-close-button/dialog-close-button.component.css +0 -0
  296. package/projects/software-division-components/src/generic/dialog/ui/dialog-close-button/dialog-close-button.component.html +1 -0
  297. package/projects/software-division-components/src/generic/dialog/ui/dialog-close-button/dialog-close-button.component.ts +17 -0
  298. package/projects/software-division-components/src/generic/dialog/ui/dialog-footer/dialog-footer.component.css +0 -0
  299. package/projects/software-division-components/src/generic/dialog/ui/dialog-footer/dialog-footer.component.html +3 -0
  300. package/projects/software-division-components/src/generic/dialog/ui/dialog-footer/dialog-footer.component.ts +11 -0
  301. package/projects/software-division-components/src/generic/dialog/ui/dialog-header/dialog-header.component.css +0 -0
  302. package/projects/software-division-components/src/generic/dialog/ui/dialog-header/dialog-header.component.html +8 -0
  303. package/projects/software-division-components/src/generic/dialog/ui/dialog-header/dialog-header.component.ts +14 -0
  304. package/projects/software-division-components/src/generic/drawer/drawer.component.html +1 -0
  305. package/projects/software-division-components/src/generic/drawer/drawer.component.ts +8 -0
  306. package/projects/software-division-components/src/generic/drawer/drawer.service.ts +8 -0
  307. package/projects/software-division-components/src/generic/drawer/drawer.stories.ts +31 -0
  308. package/projects/software-division-components/src/generic/drawer/index.ts +1 -0
  309. package/projects/software-division-components/src/generic/drawer/package.json +5 -0
  310. package/{generic/drawer/public-api.d.ts → projects/software-division-components/src/generic/drawer/public-api.ts} +4 -1
  311. package/projects/software-division-components/src/generic/icon/icon.component.css +7 -0
  312. package/projects/software-division-components/src/generic/icon/icon.component.html +3 -0
  313. package/projects/software-division-components/src/generic/icon/icon.component.ts +86 -0
  314. package/projects/software-division-components/src/generic/icon/icon.stories.ts +16 -0
  315. package/projects/software-division-components/src/generic/icon/index.ts +1 -0
  316. package/projects/software-division-components/src/generic/icon/lib/ui-icon-helm/src/index.ts +11 -0
  317. package/projects/software-division-components/src/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.token.ts +20 -0
  318. package/projects/software-division-components/src/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.ts +36 -0
  319. package/projects/software-division-components/src/generic/icon/package.json +9 -0
  320. package/projects/software-division-components/src/generic/icon/public-api.ts +5 -0
  321. package/projects/software-division-components/src/generic/icon/tsconfig.json +7 -0
  322. package/projects/software-division-components/src/generic/index.ts +1 -0
  323. package/projects/software-division-components/src/generic/package.json +7 -0
  324. package/{generic/public-api.d.ts → projects/software-division-components/src/generic/public-api.ts} +1 -1
  325. package/projects/software-division-components/src/generic/select/index.ts +1 -0
  326. package/projects/software-division-components/src/generic/select/lib/hlm-select-content.ts +29 -0
  327. package/projects/software-division-components/src/generic/select/lib/hlm-select-group.ts +17 -0
  328. package/projects/software-division-components/src/generic/select/lib/hlm-select-label.ts +26 -0
  329. package/projects/software-division-components/src/generic/select/lib/hlm-select-option.ts +37 -0
  330. package/projects/software-division-components/src/generic/select/lib/hlm-select-scroll-down.ts +24 -0
  331. package/projects/software-division-components/src/generic/select/lib/hlm-select-scroll-up.ts +23 -0
  332. package/projects/software-division-components/src/generic/select/lib/hlm-select-trigger.ts +53 -0
  333. package/projects/software-division-components/src/generic/select/lib/hlm-select-value.ts +17 -0
  334. package/projects/software-division-components/src/generic/select/lib/hlm-select.ts +15 -0
  335. package/projects/software-division-components/src/generic/select/lib/index.ts +38 -0
  336. package/{generic/select/public-api.d.ts → projects/software-division-components/src/generic/select/public-api.ts} +0 -1
  337. package/projects/software-division-components/src/generic/select/select.component.css +65 -0
  338. package/projects/software-division-components/src/generic/select/select.component.html +19 -0
  339. package/projects/software-division-components/src/generic/select/select.component.ts +25 -0
  340. package/projects/software-division-components/src/generic/select/types.ts +4 -0
  341. package/projects/software-division-components/src/private-exports.ts +1 -0
  342. package/{public-api.d.ts → projects/software-division-components/src/public-api.ts} +4 -2
  343. package/projects/software-division-components/src/shared/apply-theme-variables/apply-theme-variables.ts +35 -0
  344. package/projects/software-division-components/src/shared/apply-theme-variables/index.ts +1 -0
  345. package/projects/software-division-components/src/shared/format-value.pipe.ts +23 -0
  346. package/projects/software-division-components/src/shared/index.ts +1 -0
  347. package/projects/software-division-components/src/shared/lib-provider/config-token.ts +4 -0
  348. package/projects/software-division-components/src/shared/lib-provider/index.ts +1 -0
  349. package/projects/software-division-components/src/shared/lib-provider/provide-sdc.ts +24 -0
  350. package/{shared/lib-provider/public-api.d.ts → projects/software-division-components/src/shared/lib-provider/public-api.ts} +0 -1
  351. package/projects/software-division-components/src/shared/public-api.ts +6 -0
  352. package/{shared/screen-observer/index.d.ts → projects/software-division-components/src/shared/screen-observer/index.ts} +0 -1
  353. package/projects/software-division-components/src/shared/screen-observer/provide-screen-observer.ts +17 -0
  354. package/projects/software-division-components/src/shared/screen-observer/screen-observer.ts +56 -0
  355. package/projects/software-division-components/src/shared/screen-observer/sizable-base.ts +70 -0
  356. package/projects/software-division-components/src/shared/theme-provider/generic-theme.ts +1 -0
  357. package/projects/software-division-components/src/shared/theme-provider/index.ts +1 -0
  358. package/projects/software-division-components/src/shared/theme-provider/public-api.ts +1 -0
  359. package/projects/software-division-components/src/shared/theme-provider/theme-provider.directive.ts +17 -0
  360. package/projects/software-division-components/src/shared/themes/sdc.css +153 -0
  361. package/{shared/types.d.ts → projects/software-division-components/src/shared/types.ts} +8 -12
  362. package/projects/software-division-components/src/types/sizes.type.ts +3 -0
  363. package/projects/software-division-components/src/utils/index.ts +1 -0
  364. package/projects/software-division-components/src/utils/public-api.ts +1 -0
  365. package/projects/software-division-components/src/utils/validate-styles-for-component.ts +39 -0
  366. package/projects/software-division-components/styles.css +40 -0
  367. package/projects/software-division-components/tsconfig.json +30 -0
  368. package/projects/software-division-components/tsconfig.spec.json +15 -0
  369. package/scripts/generate-versions.js +60 -0
  370. package/scripts/watch-dist.js +222 -0
  371. package/tsconfig.json +46 -0
  372. package/3ddv-software-division-components.d.ts.map +0 -1
  373. package/backoffice/checkbox/checkbox.component.d.ts +0 -103
  374. package/backoffice/checkbox/checkbox.component.d.ts.map +0 -1
  375. package/backoffice/checkbox/index.d.ts +0 -2
  376. package/backoffice/checkbox/index.d.ts.map +0 -1
  377. package/backoffice/checkbox/public-api.d.ts +0 -2
  378. package/backoffice/checkbox/public-api.d.ts.map +0 -1
  379. package/backoffice/datepicker/datepicker.component.d.ts +0 -150
  380. package/backoffice/datepicker/datepicker.component.d.ts.map +0 -1
  381. package/backoffice/datepicker/index.d.ts +0 -2
  382. package/backoffice/datepicker/index.d.ts.map +0 -1
  383. package/backoffice/datepicker/public-api.d.ts.map +0 -1
  384. package/backoffice/datepicker/ui/ui-calendar-helm/src/index.d.ts +0 -14
  385. package/backoffice/datepicker/ui/ui-calendar-helm/src/index.d.ts.map +0 -1
  386. package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar-multi.d.ts +0 -38
  387. package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar-multi.d.ts.map +0 -1
  388. package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar.d.ts +0 -34
  389. package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar.d.ts.map +0 -1
  390. package/backoffice/datepicker/ui/ui-date-picker-helm/src/index.d.ts +0 -15
  391. package/backoffice/datepicker/ui/ui-date-picker-helm/src/index.d.ts.map +0 -1
  392. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.d.ts +0 -53
  393. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.d.ts.map +0 -1
  394. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.token.d.ts +0 -24
  395. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.token.d.ts.map +0 -1
  396. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.d.ts +0 -53
  397. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.d.ts.map +0 -1
  398. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.token.d.ts +0 -24
  399. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.token.d.ts.map +0 -1
  400. package/backoffice/datepicker/ui/ui-icon-helm/src/index.d.ts +0 -10
  401. package/backoffice/datepicker/ui/ui-icon-helm/src/index.d.ts.map +0 -1
  402. package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.d.ts +0 -10
  403. package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.d.ts.map +0 -1
  404. package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.token.d.ts +0 -8
  405. package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.token.d.ts.map +0 -1
  406. package/backoffice/datepicker/ui/ui-popover-helm/src/index.d.ts +0 -14
  407. package/backoffice/datepicker/ui/ui-popover-helm/src/index.d.ts.map +0 -1
  408. package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-close.d.ts +0 -9
  409. package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-close.d.ts.map +0 -1
  410. package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-content.d.ts +0 -14
  411. package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-content.d.ts.map +0 -1
  412. package/backoffice/index.d.ts +0 -2
  413. package/backoffice/index.d.ts.map +0 -1
  414. package/backoffice/input/index.d.ts +0 -2
  415. package/backoffice/input/index.d.ts.map +0 -1
  416. package/backoffice/input/input.component.d.ts +0 -200
  417. package/backoffice/input/input.component.d.ts.map +0 -1
  418. package/backoffice/input/public-api.d.ts +0 -2
  419. package/backoffice/input/public-api.d.ts.map +0 -1
  420. package/backoffice/public-api.d.ts.map +0 -1
  421. package/backoffice/radio/index.d.ts +0 -2
  422. package/backoffice/radio/index.d.ts.map +0 -1
  423. package/backoffice/radio/public-api.d.ts +0 -2
  424. package/backoffice/radio/public-api.d.ts.map +0 -1
  425. package/backoffice/radio/radio.component.d.ts +0 -73
  426. package/backoffice/radio/radio.component.d.ts.map +0 -1
  427. package/backoffice/table/_components/pagination/pagination.component.d.ts +0 -18
  428. package/backoffice/table/_components/pagination/pagination.component.d.ts.map +0 -1
  429. package/backoffice/table/_components/selection-table-head/selection-table-head.component.d.ts +0 -11
  430. package/backoffice/table/_components/selection-table-head/selection-table-head.component.d.ts.map +0 -1
  431. package/backoffice/table/_components/selection-table-row/selection-table-row.component.d.ts +0 -8
  432. package/backoffice/table/_components/selection-table-row/selection-table-row.component.d.ts.map +0 -1
  433. package/backoffice/table/_components/sort-header-button/sort-header-button.component.d.ts +0 -16
  434. package/backoffice/table/_components/sort-header-button/sort-header-button.component.d.ts.map +0 -1
  435. package/backoffice/table/index.d.ts +0 -2
  436. package/backoffice/table/index.d.ts.map +0 -1
  437. package/backoffice/table/public-api.d.ts +0 -3
  438. package/backoffice/table/public-api.d.ts.map +0 -1
  439. package/backoffice/table/table.component.d.ts +0 -111
  440. package/backoffice/table/table.component.d.ts.map +0 -1
  441. package/backoffice/table/ui/ui-icon-helm/src/index.d.ts +0 -10
  442. package/backoffice/table/ui/ui-icon-helm/src/index.d.ts.map +0 -1
  443. package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.d.ts +0 -10
  444. package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.d.ts.map +0 -1
  445. package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.token.d.ts +0 -8
  446. package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.token.d.ts.map +0 -1
  447. package/backoffice/table/ui/ui-table-helm/src/index.d.ts +0 -11
  448. package/backoffice/table/ui/ui-table-helm/src/index.d.ts.map +0 -1
  449. package/backoffice/table/ui/ui-table-helm/src/lib/hlm-table.d.ts +0 -112
  450. package/backoffice/table/ui/ui-table-helm/src/lib/hlm-table.d.ts.map +0 -1
  451. package/dvm/cart/cart.component.d.ts +0 -6
  452. package/dvm/cart/cart.component.d.ts.map +0 -1
  453. package/dvm/cart/cart.service.d.ts +0 -7
  454. package/dvm/cart/cart.service.d.ts.map +0 -1
  455. package/dvm/cart/index.d.ts +0 -2
  456. package/dvm/cart/index.d.ts.map +0 -1
  457. package/dvm/cart/public-api.d.ts +0 -3
  458. package/dvm/cart/public-api.d.ts.map +0 -1
  459. package/dvm/cart-item/cart-item.component.d.ts +0 -6
  460. package/dvm/cart-item/cart-item.component.d.ts.map +0 -1
  461. package/dvm/cart-item/cart-item.service.d.ts +0 -7
  462. package/dvm/cart-item/cart-item.service.d.ts.map +0 -1
  463. package/dvm/cart-item/index.d.ts +0 -2
  464. package/dvm/cart-item/index.d.ts.map +0 -1
  465. package/dvm/cart-item/public-api.d.ts.map +0 -1
  466. package/dvm/index.d.ts +0 -2
  467. package/dvm/index.d.ts.map +0 -1
  468. package/dvm/legend/index.d.ts +0 -2
  469. package/dvm/legend/index.d.ts.map +0 -1
  470. package/dvm/legend/legend.component.d.ts +0 -17
  471. package/dvm/legend/legend.component.d.ts.map +0 -1
  472. package/dvm/legend/public-api.d.ts.map +0 -1
  473. package/dvm/legend/types.d.ts.map +0 -1
  474. package/dvm/legend/ui/legend-elements/index.d.ts.map +0 -1
  475. package/dvm/legend/ui/legend-elements/legend-elements.component.d.ts +0 -16
  476. package/dvm/legend/ui/legend-elements/legend-elements.component.d.ts.map +0 -1
  477. package/dvm/loader/index.d.ts +0 -2
  478. package/dvm/loader/index.d.ts.map +0 -1
  479. package/dvm/loader/loader.component.d.ts +0 -6
  480. package/dvm/loader/loader.component.d.ts.map +0 -1
  481. package/dvm/loader/loader.service.d.ts +0 -7
  482. package/dvm/loader/loader.service.d.ts.map +0 -1
  483. package/dvm/loader/public-api.d.ts.map +0 -1
  484. package/dvm/map-loader/index.d.ts +0 -2
  485. package/dvm/map-loader/index.d.ts.map +0 -1
  486. package/dvm/map-loader/map-loader.component.d.ts +0 -55
  487. package/dvm/map-loader/map-loader.component.d.ts.map +0 -1
  488. package/dvm/map-loader/public-api.d.ts +0 -2
  489. package/dvm/map-loader/public-api.d.ts.map +0 -1
  490. package/dvm/neighbors/index.d.ts +0 -2
  491. package/dvm/neighbors/index.d.ts.map +0 -1
  492. package/dvm/neighbors/neighbors.component.d.ts +0 -41
  493. package/dvm/neighbors/neighbors.component.d.ts.map +0 -1
  494. package/dvm/neighbors/public-api.d.ts +0 -3
  495. package/dvm/neighbors/public-api.d.ts.map +0 -1
  496. package/dvm/neighbors/types.d.ts.map +0 -1
  497. package/dvm/popover/base-popover.component.d.ts +0 -28
  498. package/dvm/popover/base-popover.component.d.ts.map +0 -1
  499. package/dvm/popover/index.d.ts +0 -2
  500. package/dvm/popover/index.d.ts.map +0 -1
  501. package/dvm/popover/popover.component.d.ts +0 -69
  502. package/dvm/popover/popover.component.d.ts.map +0 -1
  503. package/dvm/popover/popover.config.d.ts +0 -25
  504. package/dvm/popover/popover.config.d.ts.map +0 -1
  505. package/dvm/popover/popover.service.d.ts +0 -140
  506. package/dvm/popover/popover.service.d.ts.map +0 -1
  507. package/dvm/popover/public-api.d.ts.map +0 -1
  508. package/dvm/popover/seat-popover/seat-popover.component.d.ts +0 -21
  509. package/dvm/popover/seat-popover/seat-popover.component.d.ts.map +0 -1
  510. package/dvm/popover/section-popover/section-popover.component.d.ts +0 -32
  511. package/dvm/popover/section-popover/section-popover.component.d.ts.map +0 -1
  512. package/dvm/popover/services/dvm-popover-positioner.service.d.ts +0 -30
  513. package/dvm/popover/services/dvm-popover-positioner.service.d.ts.map +0 -1
  514. package/dvm/popover/services/popover-manager.service.d.ts +0 -29
  515. package/dvm/popover/services/popover-manager.service.d.ts.map +0 -1
  516. package/dvm/popover/transformers/base-popover-data-transformer.d.ts +0 -29
  517. package/dvm/popover/transformers/base-popover-data-transformer.d.ts.map +0 -1
  518. package/dvm/popover/types.d.ts +0 -79
  519. package/dvm/popover/types.d.ts.map +0 -1
  520. package/dvm/public-api.d.ts.map +0 -1
  521. package/dvm/stepper/index.d.ts +0 -2
  522. package/dvm/stepper/index.d.ts.map +0 -1
  523. package/dvm/stepper/public-api.d.ts +0 -2
  524. package/dvm/stepper/public-api.d.ts.map +0 -1
  525. package/dvm/stepper/stepper.component.d.ts +0 -26
  526. package/dvm/stepper/stepper.component.d.ts.map +0 -1
  527. package/dvm/stepper/types.d.ts.map +0 -1
  528. package/dvm/ticket-info-item/index.d.ts +0 -2
  529. package/dvm/ticket-info-item/index.d.ts.map +0 -1
  530. package/dvm/ticket-info-item/public-api.d.ts.map +0 -1
  531. package/dvm/ticket-info-item/ticket-info-item.component.d.ts +0 -6
  532. package/dvm/ticket-info-item/ticket-info-item.component.d.ts.map +0 -1
  533. package/dvm/ticket-info-item/ticket-info-item.service.d.ts +0 -7
  534. package/dvm/ticket-info-item/ticket-info-item.service.d.ts.map +0 -1
  535. package/fesm2022/3ddv-software-division-components.mjs +0 -6598
  536. package/fesm2022/3ddv-software-division-components.mjs.map +0 -1
  537. package/generic/add-digital-wallet/add-digital-wallet.component.d.ts +0 -21
  538. package/generic/add-digital-wallet/add-digital-wallet.component.d.ts.map +0 -1
  539. package/generic/add-digital-wallet/index.d.ts +0 -2
  540. package/generic/add-digital-wallet/index.d.ts.map +0 -1
  541. package/generic/add-digital-wallet/public-api.d.ts.map +0 -1
  542. package/generic/braintree/braintree.component.d.ts +0 -33
  543. package/generic/braintree/braintree.component.d.ts.map +0 -1
  544. package/generic/braintree/index.d.ts +0 -2
  545. package/generic/braintree/index.d.ts.map +0 -1
  546. package/generic/braintree/public-api.d.ts.map +0 -1
  547. package/generic/braintree/types.d.ts +0 -27
  548. package/generic/braintree/types.d.ts.map +0 -1
  549. package/generic/button/button.component.d.ts +0 -142
  550. package/generic/button/button.component.d.ts.map +0 -1
  551. package/generic/button/index.d.ts +0 -2
  552. package/generic/button/index.d.ts.map +0 -1
  553. package/generic/button/public-api.d.ts +0 -2
  554. package/generic/button/public-api.d.ts.map +0 -1
  555. package/generic/button/ui/ui-button-helm/src/index.d.ts +0 -10
  556. package/generic/button/ui/ui-button-helm/src/index.d.ts.map +0 -1
  557. package/generic/button/ui/ui-button-helm/src/lib/hlm-button.d.ts +0 -20
  558. package/generic/button/ui/ui-button-helm/src/lib/hlm-button.d.ts.map +0 -1
  559. package/generic/button/ui/ui-button-helm/src/lib/hlm-button.token.d.ts +0 -9
  560. package/generic/button/ui/ui-button-helm/src/lib/hlm-button.token.d.ts.map +0 -1
  561. package/generic/dialog/dialog.component.d.ts +0 -11
  562. package/generic/dialog/dialog.component.d.ts.map +0 -1
  563. package/generic/dialog/index.d.ts +0 -2
  564. package/generic/dialog/index.d.ts.map +0 -1
  565. package/generic/dialog/libs/ui-dialog-helm/src/index.d.ts.map +0 -1
  566. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-close.d.ts +0 -9
  567. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-close.d.ts.map +0 -1
  568. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-content.d.ts +0 -15
  569. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-content.d.ts.map +0 -1
  570. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-description.d.ts +0 -10
  571. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-description.d.ts.map +0 -1
  572. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-footer.d.ts +0 -9
  573. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-footer.d.ts.map +0 -1
  574. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-header.d.ts +0 -9
  575. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-header.d.ts.map +0 -1
  576. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-overlay.d.ts +0 -12
  577. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-overlay.d.ts.map +0 -1
  578. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-title.d.ts +0 -10
  579. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-title.d.ts.map +0 -1
  580. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.d.ts +0 -7
  581. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.d.ts.map +0 -1
  582. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.service.d.ts +0 -21
  583. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.service.d.ts.map +0 -1
  584. package/generic/dialog/public-api.d.ts.map +0 -1
  585. package/generic/drawer/drawer.component.d.ts +0 -6
  586. package/generic/drawer/drawer.component.d.ts.map +0 -1
  587. package/generic/drawer/drawer.service.d.ts +0 -7
  588. package/generic/drawer/drawer.service.d.ts.map +0 -1
  589. package/generic/drawer/index.d.ts +0 -2
  590. package/generic/drawer/index.d.ts.map +0 -1
  591. package/generic/drawer/public-api.d.ts.map +0 -1
  592. package/generic/icon/icon.component.d.ts +0 -21
  593. package/generic/icon/icon.component.d.ts.map +0 -1
  594. package/generic/icon/index.d.ts +0 -2
  595. package/generic/icon/index.d.ts.map +0 -1
  596. package/generic/icon/lib/ui-icon-helm/src/index.d.ts +0 -10
  597. package/generic/icon/lib/ui-icon-helm/src/index.d.ts.map +0 -1
  598. package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.d.ts +0 -10
  599. package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.d.ts.map +0 -1
  600. package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.token.d.ts +0 -8
  601. package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.token.d.ts.map +0 -1
  602. package/generic/icon/public-api.d.ts +0 -2
  603. package/generic/icon/public-api.d.ts.map +0 -1
  604. package/generic/index.d.ts +0 -2
  605. package/generic/index.d.ts.map +0 -1
  606. package/generic/public-api.d.ts.map +0 -1
  607. package/generic/select/index.d.ts +0 -2
  608. package/generic/select/index.d.ts.map +0 -1
  609. package/generic/select/lib/hlm-select-content.d.ts +0 -13
  610. package/generic/select/lib/hlm-select-content.d.ts.map +0 -1
  611. package/generic/select/lib/hlm-select-group.d.ts +0 -10
  612. package/generic/select/lib/hlm-select-group.d.ts.map +0 -1
  613. package/generic/select/lib/hlm-select-label.d.ts +0 -12
  614. package/generic/select/lib/hlm-select-label.d.ts.map +0 -1
  615. package/generic/select/lib/hlm-select-option.d.ts +0 -12
  616. package/generic/select/lib/hlm-select-option.d.ts.map +0 -1
  617. package/generic/select/lib/hlm-select-scroll-down.d.ts +0 -9
  618. package/generic/select/lib/hlm-select-scroll-down.d.ts.map +0 -1
  619. package/generic/select/lib/hlm-select-scroll-up.d.ts +0 -9
  620. package/generic/select/lib/hlm-select-scroll-up.d.ts.map +0 -1
  621. package/generic/select/lib/hlm-select-trigger.d.ts +0 -17
  622. package/generic/select/lib/hlm-select-trigger.d.ts.map +0 -1
  623. package/generic/select/lib/hlm-select-value.d.ts +0 -9
  624. package/generic/select/lib/hlm-select-value.d.ts.map +0 -1
  625. package/generic/select/lib/hlm-select.d.ts +0 -9
  626. package/generic/select/lib/hlm-select.d.ts.map +0 -1
  627. package/generic/select/lib/index.d.ts +0 -35
  628. package/generic/select/lib/index.d.ts.map +0 -1
  629. package/generic/select/public-api.d.ts.map +0 -1
  630. package/generic/select/select.component.d.ts +0 -13
  631. package/generic/select/select.component.d.ts.map +0 -1
  632. package/generic/select/types.d.ts +0 -5
  633. package/generic/select/types.d.ts.map +0 -1
  634. package/index.d.ts +0 -6
  635. package/public-api.d.ts.map +0 -1
  636. package/shared/declare-theme-variables/declare-theme-variables.d.ts +0 -5
  637. package/shared/declare-theme-variables/declare-theme-variables.d.ts.map +0 -1
  638. package/shared/declare-theme-variables/index.d.ts +0 -2
  639. package/shared/declare-theme-variables/index.d.ts.map +0 -1
  640. package/shared/lib-provider/config-token.d.ts +0 -4
  641. package/shared/lib-provider/config-token.d.ts.map +0 -1
  642. package/shared/lib-provider/index.d.ts +0 -2
  643. package/shared/lib-provider/index.d.ts.map +0 -1
  644. package/shared/lib-provider/provide-sdc.d.ts +0 -10
  645. package/shared/lib-provider/provide-sdc.d.ts.map +0 -1
  646. package/shared/lib-provider/public-api.d.ts.map +0 -1
  647. package/shared/screen-observer/index.d.ts.map +0 -1
  648. package/shared/screen-observer/provide-screen-observer.d.ts +0 -5
  649. package/shared/screen-observer/provide-screen-observer.d.ts.map +0 -1
  650. package/shared/screen-observer/screen-observer.d.ts +0 -15
  651. package/shared/screen-observer/screen-observer.d.ts.map +0 -1
  652. package/shared/types.d.ts.map +0 -1
  653. package/styles.css +0 -2
  654. package/types/sizes.type.d.ts +0 -3
  655. package/types/sizes.type.d.ts.map +0 -1
  656. /package/{tailwind.config.js → projects/software-division-components/tailwind.config.js} +0 -0
@@ -1,3 +1,7 @@
1
+ /*
2
+ * Public API Surface of software-division-components
3
+ */
4
+
1
5
  export * from './popover.component';
2
6
  export * from './popover.config';
3
7
  export * from './popover.service';
@@ -8,4 +12,3 @@ export * from './section-popover/section-popover.component';
8
12
  export * from './services/popover-manager.service';
9
13
  export * from './services/dvm-popover-positioner.service';
10
14
  export * from './transformers/base-popover-data-transformer';
11
- //# sourceMappingURL=public-api.d.ts.map
@@ -0,0 +1,89 @@
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ .sdc-seat-popover {
6
+ width: var(--sdc-popover-width, 20rem);
7
+ height: auto;
8
+ color: var(--sdc-popover-text-color, #ffffff);
9
+ background-color: var(--sdc-popover-bg-color, #000000);
10
+ border-radius: var(--sdc-popover-border-radius, 0.75rem);
11
+ overflow: hidden;
12
+ }
13
+
14
+ .sdc-popover-thumbnail {
15
+ width: 100%;
16
+ height: var(--sdc-popover-thumbnail-height, 12rem);
17
+ position: relative;
18
+ }
19
+
20
+ .sdc-thumbnail-image {
21
+ width: 100%;
22
+ height: 100%;
23
+ background-position: center;
24
+ background-size: cover;
25
+ background-repeat: no-repeat;
26
+ }
27
+
28
+ .sdc-popover-loader {
29
+ width: 100%;
30
+ height: 100%;
31
+ display: flex;
32
+ justify-content: center;
33
+ align-items: center;
34
+ }
35
+
36
+ .sdc-spinner {
37
+ display: inline-block;
38
+ width: 80px;
39
+ height: 80px;
40
+ }
41
+
42
+ .sdc-spinner:after {
43
+ content: ' ';
44
+ display: block;
45
+ width: 32px;
46
+ height: 32px;
47
+ margin: 8px;
48
+ margin-top: 16px;
49
+ margin-left: 16px;
50
+ border-radius: 50%;
51
+ border: 3px solid var(--sdc-spinner-color, #fff);
52
+ border-color: var(--sdc-spinner-color, #fff) transparent var(--sdc-spinner-color, #fff) transparent;
53
+ animation: sdc-spinner-rotate 1.2s linear infinite;
54
+ }
55
+
56
+ @keyframes sdc-spinner-rotate {
57
+ 0% { transform: rotate(0deg); }
58
+ 100% { transform: rotate(360deg); }
59
+ }
60
+
61
+ .sdc-popover-content {
62
+ padding: 0.75rem;
63
+ }
64
+
65
+ .sdc-popover-grid {
66
+ display: flex;
67
+ gap: 1.25rem;
68
+ }
69
+
70
+ .sdc-popover-col-left {
71
+ flex: 1;
72
+ }
73
+
74
+ .sdc-popover-col-right {
75
+ flex: 1;
76
+ text-align: right;
77
+ min-width: max-content;
78
+ }
79
+
80
+ .sdc-popover-label {
81
+ margin: 0.25rem 0;
82
+ font-size: var(--sdc-popover-label-font-size, 0.875rem);
83
+ line-height: 1.25rem;
84
+ font-weight: var(--sdc-popover-label-font-weight, 700);
85
+ }
86
+
87
+ .sdc-popover-label-text {
88
+ font-weight: var(--sdc-popover-label-text-font-weight, 400);
89
+ }
@@ -0,0 +1,40 @@
1
+ <div
2
+ (mouseenter)="onEnter($event)"
3
+ (mouseleave)="onLeave($event)"
4
+ class="sdc-seat-popover">
5
+ <div class="sdc-popover-thumbnail">
6
+ @if (isLoadingThumbnail && showLoader) {
7
+ <div class="sdc-popover-loader">
8
+ <div class="sdc-spinner"></div>
9
+ </div>
10
+ }
11
+ @if (thumbnail && !isLoadingThumbnail) {
12
+ <div class="sdc-thumbnail-image" [style.background-image]="'url(' + thumbnail + ')'"></div>
13
+ }
14
+ </div>
15
+
16
+ <div class="sdc-popover-content">
17
+ <div class="sdc-popover-grid">
18
+ <div class="sdc-popover-col-left">
19
+ <h5 class="sdc-popover-label">
20
+ <span class="sdc-popover-label-text">Section:</span>
21
+ {{ formattedSection }}
22
+ </h5>
23
+ <h5 class="sdc-popover-label">
24
+ <span class="sdc-popover-label-text">Row:</span>
25
+ {{ data.row }}
26
+ </h5>
27
+ </div>
28
+ <div class="sdc-popover-col-right">
29
+ <h5 class="sdc-popover-label">
30
+ <span class="sdc-popover-label-text">Seat:</span>
31
+ {{ formattedSeat }}
32
+ </h5>
33
+ <h5 class="sdc-popover-label">
34
+ <span class="sdc-popover-label-text">Price:</span>
35
+ {{ data.price | currency: 'USD' }}
36
+ </h5>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ </div>
@@ -0,0 +1,74 @@
1
+ import {
2
+ ChangeDetectionStrategy,
3
+ ChangeDetectorRef,
4
+ Component,
5
+ EventEmitter,
6
+ inject,
7
+ Input,
8
+ OnInit,
9
+ Output,
10
+ } from '@angular/core';
11
+ import { CommonModule, CurrencyPipe } from '@angular/common';
12
+ import { type SeatPopoverData } from '../types';
13
+ import { THUMBNAIL_PROVIDER } from '../popover.config';
14
+ import { BasePopoverComponent } from '../base-popover.component';
15
+
16
+ @Component({
17
+ selector: 'sdc-seat-popover',
18
+ templateUrl: './seat-popover.component.html',
19
+ styleUrl: './seat-popover.component.css',
20
+ changeDetection: ChangeDetectionStrategy.OnPush,
21
+ standalone: true,
22
+ imports: [CommonModule, CurrencyPipe],
23
+ })
24
+ export class SeatPopoverComponent extends BasePopoverComponent implements OnInit {
25
+ @Input() data!: SeatPopoverData;
26
+ @Input() showLoader: boolean = true;
27
+
28
+ private readonly thumbnailProvider = inject(THUMBNAIL_PROVIDER, { optional: true });
29
+ protected override readonly cdr = inject(ChangeDetectorRef);
30
+
31
+ protected thumbnail?: string;
32
+ protected isLoadingThumbnail = true;
33
+
34
+ override ngOnInit(): void {
35
+ super.ngOnInit(); // Initialize base component timer logic
36
+
37
+ if (this.data.thumbnail) {
38
+ this.thumbnail = this.data.thumbnail;
39
+ this.isLoadingThumbnail = false;
40
+ } else if (this.thumbnailProvider && this.showLoader) {
41
+ this.loadThumbnail();
42
+ }
43
+ }
44
+
45
+ private loadThumbnail(): void {
46
+ this.thumbnailProvider!.getThumbnail(this.data.id).subscribe({
47
+ next: url => {
48
+ this.thumbnail = url;
49
+ this.isLoadingThumbnail = false;
50
+ this.cdr.markForCheck();
51
+ },
52
+ error: () => {
53
+ this.isLoadingThumbnail = false;
54
+ this.cdr.markForCheck();
55
+ },
56
+ });
57
+ }
58
+
59
+ protected get formattedSection(): string {
60
+ return this.data.section.includes('_') ? this.data.section.split('_')[1].split('-')[0] : this.data.section;
61
+ }
62
+
63
+ protected get formattedSeat(): string {
64
+ return this.data.seat.split('-')[2] || this.data.seat;
65
+ }
66
+
67
+ protected onEnter(event: MouseEvent): void {
68
+ this.onMouseEnter(event);
69
+ }
70
+
71
+ protected onLeave(event: MouseEvent): void {
72
+ this.onMouseLeave(event);
73
+ }
74
+ }
@@ -0,0 +1,157 @@
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ .sdc-section-popover {
6
+ width: var(--sdc-popover-width, 20rem);
7
+ height: auto;
8
+ color: var(--sdc-popover-text-color, #ffffff);
9
+ background-color: var(--sdc-popover-bg-color, #000000);
10
+ border-radius: var(--sdc-popover-border-radius, 0.75rem);
11
+ overflow: hidden;
12
+ }
13
+
14
+ .sdc-popover-thumbnail {
15
+ width: 100%;
16
+ height: var(--sdc-popover-thumbnail-height, 12rem);
17
+ position: relative;
18
+ }
19
+
20
+ .sdc-thumbnail-image {
21
+ width: 100%;
22
+ height: 100%;
23
+ background-position: center;
24
+ background-size: cover;
25
+ background-repeat: no-repeat;
26
+ }
27
+
28
+ .sdc-thumbnail-clickable {
29
+ cursor: pointer;
30
+ display: flex;
31
+ align-items: flex-end;
32
+ justify-content: center;
33
+ padding: 8px;
34
+ }
35
+
36
+ .sdc-thumbnail-overlay-text {
37
+ font-size: var(--sdc-thumbnail-overlay-font-size, 12px);
38
+ color: var(--sdc-thumbnail-overlay-color, #ffffff);
39
+ background-color: var(--sdc-thumbnail-overlay-bg, rgba(0, 0, 0, 0.5));
40
+ padding: 4px 8px;
41
+ border-radius: 4px;
42
+ }
43
+
44
+ .sdc-popover-loader {
45
+ width: 100%;
46
+ height: 100%;
47
+ display: flex;
48
+ justify-content: center;
49
+ align-items: center;
50
+ }
51
+
52
+ .sdc-spinner {
53
+ display: inline-block;
54
+ width: 80px;
55
+ height: 80px;
56
+ }
57
+
58
+ .sdc-spinner:after {
59
+ content: ' ';
60
+ display: block;
61
+ width: 32px;
62
+ height: 32px;
63
+ margin: 8px;
64
+ margin-top: 16px;
65
+ margin-left: 24px;
66
+ border-radius: 50%;
67
+ border: 3px solid var(--sdc-spinner-color, #fff);
68
+ border-color: var(--sdc-spinner-color, #fff) transparent var(--sdc-spinner-color, #fff) transparent;
69
+ animation: sdc-spinner-rotate 1.2s linear infinite;
70
+ }
71
+
72
+ @keyframes sdc-spinner-rotate {
73
+ 0% { transform: rotate(0deg); }
74
+ 100% { transform: rotate(360deg); }
75
+ }
76
+
77
+ .sdc-popover-content {
78
+ padding: 0.75rem;
79
+ }
80
+
81
+ .sdc-popover-grid {
82
+ display: flex;
83
+ gap: 1.25rem;
84
+ }
85
+
86
+ .sdc-popover-col-left {
87
+ flex: 1;
88
+ }
89
+
90
+ .sdc-popover-col-right {
91
+ flex: 1;
92
+ text-align: right;
93
+ min-width: max-content;
94
+ }
95
+
96
+ .sdc-popover-label {
97
+ margin: 0.25rem 0;
98
+ font-size: var(--sdc-popover-label-font-size, 0.875rem);
99
+ line-height: 1.25rem;
100
+ font-weight: var(--sdc-popover-label-font-weight, 700);
101
+ }
102
+
103
+ .sdc-popover-label-text {
104
+ font-weight: var(--sdc-popover-label-text-font-weight, 400);
105
+ }
106
+
107
+ .sdc-popover-actions {
108
+ padding: 0.5rem 0;
109
+ display: flex;
110
+ justify-content: center;
111
+ gap: 0.5rem;
112
+ }
113
+
114
+ .sdc-popover-btn {
115
+ border: none;
116
+ border-radius: var(--sdc-btn-border-radius, 4px);
117
+ padding: 0.5rem 1rem;
118
+ height: var(--sdc-btn-height, 2.25rem);
119
+ font-size: var(--sdc-btn-font-size, 0.75rem);
120
+ cursor: pointer;
121
+ transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
122
+ }
123
+
124
+ .sdc-popover-btn:hover:not(:disabled) {
125
+ transform: scale(0.95);
126
+ }
127
+
128
+ .sdc-popover-btn:disabled {
129
+ opacity: 0.3;
130
+ cursor: not-allowed;
131
+ }
132
+
133
+ .sdc-popover-btn-primary {
134
+ background-color: var(--sdc-btn-primary-bg, #007bff);
135
+ color: var(--sdc-btn-primary-color, white);
136
+ margin-right: 0.5rem;
137
+ }
138
+
139
+ .sdc-popover-btn-secondary {
140
+ background-color: var(--sdc-btn-secondary-bg, white);
141
+ color: var(--sdc-btn-secondary-color, #007bff);
142
+ border: 1px solid var(--sdc-btn-secondary-border, #007bff);
143
+ }
144
+
145
+ .sdc-popover-btn-secondary:hover:not(:disabled) {
146
+ color: var(--sdc-btn-secondary-hover-color, #0056b3);
147
+ }
148
+
149
+ .sdc-popover-btn-mobile-only {
150
+ display: block;
151
+ }
152
+
153
+ @media (min-width: 768px) {
154
+ .sdc-popover-btn-mobile-only {
155
+ display: none;
156
+ }
157
+ }
@@ -0,0 +1,58 @@
1
+ <div (mouseenter)="onEnter($event)" (mouseleave)="onLeave($event)" class="sdc-section-popover">
2
+ <div class="sdc-popover-thumbnail">
3
+ @if (isLoadingThumbnail && showLoader) {
4
+ <div class="sdc-popover-loader">
5
+ <div class="sdc-spinner"></div>
6
+ </div>
7
+ }
8
+ @if (thumbnail && !isLoadingThumbnail) {
9
+ <div
10
+ class="sdc-thumbnail-image sdc-thumbnail-clickable"
11
+ [style.background-image]="'url(' + thumbnail + ')'"
12
+ (click)="onLoad3dView()">
13
+ <span class="sdc-thumbnail-overlay-text">Click to open view</span>
14
+ </div>
15
+ }
16
+ </div>
17
+
18
+ <div class="sdc-popover-content">
19
+ <div class="sdc-popover-grid">
20
+ <div class="sdc-popover-col-left">
21
+ <h5 class="sdc-popover-label">
22
+ <span class="sdc-popover-label-text">Section:</span>
23
+ {{ data.section }}
24
+ </h5>
25
+ @if (isTicketFeeEnabled && priceRangeWithFees) {
26
+ <h5 class="sdc-popover-label">
27
+ <span class="sdc-popover-label-text">Price:</span> $ {{ priceRangeWithFees }}
28
+ </h5>
29
+ } @else {
30
+ <h5 class="sdc-popover-label">
31
+ <span class="sdc-popover-label-text">Price:</span> $ {{ priceRangeDisplay }}
32
+ </h5>
33
+ }
34
+ </div>
35
+ <div class="sdc-popover-col-right">
36
+ <h5 class="sdc-popover-label">
37
+ <span class="sdc-popover-label-text">Available Seats:</span>
38
+ {{ data.availableQuantity }}
39
+ </h5>
40
+ <h5 class="sdc-popover-label">
41
+ <span class="sdc-popover-label-text">Available ADA Seats:</span>
42
+ {{ data.adaQuantity }}
43
+ </h5>
44
+ </div>
45
+ </div>
46
+
47
+ <div class="sdc-popover-actions">
48
+ @if (showBestAvailable) {
49
+ <button class="sdc-popover-btn sdc-popover-btn-primary sdc-popover-btn-mobile-only" (click)="onSelectForBA()">
50
+ {{ data.isSelectedForBA ? 'Deselect' : 'Select' }}
51
+ </button>
52
+ }
53
+ @if (shouldShowSeatMapButton) {
54
+ <button class="sdc-popover-btn sdc-popover-btn-secondary" (click)="onOpenSeatMap()">Open Seat Map</button>
55
+ }
56
+ </div>
57
+ </div>
58
+ </div>
@@ -0,0 +1,106 @@
1
+ import {
2
+ ChangeDetectionStrategy,
3
+ ChangeDetectorRef,
4
+ Component,
5
+ EventEmitter,
6
+ inject,
7
+ Input,
8
+ OnInit,
9
+ Output,
10
+ } from '@angular/core';
11
+ import { CommonModule } from '@angular/common';
12
+ import { type SectionPopoverData } from '../types';
13
+ import { THUMBNAIL_PROVIDER } from '../popover.config';
14
+ import { BasePopoverComponent } from '../base-popover.component';
15
+
16
+ @Component({
17
+ selector: 'sdc-section-popover',
18
+ templateUrl: './section-popover.component.html',
19
+ styleUrl: './section-popover.component.css',
20
+ changeDetection: ChangeDetectionStrategy.OnPush,
21
+ standalone: true,
22
+ imports: [CommonModule],
23
+ })
24
+ export class SectionPopoverComponent extends BasePopoverComponent implements OnInit {
25
+ @Input() data!: SectionPopoverData;
26
+ @Input() showLoader: boolean = true;
27
+ @Input() showBestAvailable: boolean = false;
28
+ @Input() showOpenSeatMap: boolean = true;
29
+ @Input() excludeSeatMapSections: string[] = ['S_BLCHADA', 'S_Bleacher'];
30
+ @Input() isTicketFeeEnabled: boolean = false;
31
+
32
+ @Output() load3dView = new EventEmitter<void>();
33
+ @Output() selectForBA = new EventEmitter<boolean>();
34
+ @Output() openSeatMap = new EventEmitter<void>();
35
+
36
+ private readonly thumbnailProvider = inject(THUMBNAIL_PROVIDER, { optional: true });
37
+ protected override readonly cdr = inject(ChangeDetectorRef);
38
+
39
+ protected thumbnail?: string;
40
+ protected isLoadingThumbnail = true;
41
+
42
+ override ngOnInit(): void {
43
+ super.ngOnInit(); // Initialize base component timer logic
44
+
45
+ if (this.data.thumbnail) {
46
+ this.thumbnail = this.data.thumbnail;
47
+ this.isLoadingThumbnail = false;
48
+ } else if (this.thumbnailProvider && this.showLoader) {
49
+ this.loadThumbnail();
50
+ }
51
+ }
52
+
53
+ private loadThumbnail(): void {
54
+ this.thumbnailProvider!.getThumbnail(this.data.id).subscribe({
55
+ next: url => {
56
+ this.thumbnail = url;
57
+ this.isLoadingThumbnail = false;
58
+ this.cdr.markForCheck();
59
+ },
60
+ error: () => {
61
+ this.isLoadingThumbnail = false;
62
+ this.cdr.markForCheck();
63
+ },
64
+ });
65
+ }
66
+
67
+ protected get priceRangeDisplay(): string {
68
+ const { min, max } = this.data.priceRange;
69
+ return min === max ? min.toString() : `${min} - ${max}`;
70
+ }
71
+
72
+ protected get priceRangeWithFees(): string | undefined {
73
+ if (this.isTicketFeeEnabled && this.data.priceRangeWithFees) {
74
+ return this.data.priceRangeWithFees;
75
+ }
76
+ return undefined;
77
+ }
78
+
79
+ protected get shouldShowSeatMapButton(): boolean {
80
+ return (
81
+ this.showOpenSeatMap &&
82
+ !this.excludeSeatMapSections.includes(this.data.section) &&
83
+ this.data.type !== 'general_admission'
84
+ );
85
+ }
86
+
87
+ protected onEnter(event: MouseEvent): void {
88
+ this.onMouseEnter(event);
89
+ }
90
+
91
+ protected onLeave(event: MouseEvent): void {
92
+ this.onMouseLeave(event);
93
+ }
94
+
95
+ protected onLoad3dView(): void {
96
+ this.load3dView.emit();
97
+ }
98
+
99
+ protected onSelectForBA(): void {
100
+ this.selectForBA.emit(!this.data.isSelectedForBA);
101
+ }
102
+
103
+ protected onOpenSeatMap(): void {
104
+ this.openSeatMap.emit();
105
+ }
106
+ }
@@ -0,0 +1,73 @@
1
+ import { inject, Injectable, Inject } from '@angular/core';
2
+ import type { MapViewerNode, V2 } from '@3ddv/dvm-internal';
3
+ import { Placement } from '@floating-ui/dom';
4
+ import { IPopoverPositioner } from '../types';
5
+ import { DVM_SERVICE, CONFIGURATION_SERVICE } from '../popover.config';
6
+ import type { IDvmService, IConfigurationService } from '../popover.config';
7
+
8
+ /**
9
+ * DVM-specific positioning service for popovers.
10
+ * Handles calculation of popover placement and offset based on DVM node properties.
11
+ */
12
+ @Injectable()
13
+ export class DvmPopoverPositionerService implements IPopoverPositioner {
14
+ private readonly dvmService: IDvmService;
15
+ private readonly configService: IConfigurationService;
16
+
17
+ constructor(
18
+ @Inject(DVM_SERVICE) dvmService: IDvmService,
19
+ @Inject(CONFIGURATION_SERVICE) configService: IConfigurationService
20
+ ) {
21
+ this.dvmService = dvmService;
22
+ this.configService = configService;
23
+ }
24
+
25
+ /**
26
+ * Calculates the optimal placement for a popover based on node position.
27
+ * @param node - The MapViewerNode to position relative to
28
+ * @param container - The container element for positioning reference
29
+ * @returns The calculated placement ('top' or 'bottom')
30
+ */
31
+ calculatePlacement(node: MapViewerNode, container: HTMLElement): Placement {
32
+ if (!node.aabb) {
33
+ throw new Error('Node AABB is not defined');
34
+ }
35
+
36
+ const nodeSceneCenter: [number, number] = [
37
+ node.aabb[0] + node.aabb[2] / 2,
38
+ node.aabb[1] + node.aabb[3] / 2,
39
+ ];
40
+
41
+ const nodeDomCenter: V2 = this.dvmService.viewerService.fromSceneToDom(nodeSceneCenter)!;
42
+
43
+ if (nodeDomCenter[1] > container.offsetHeight / 2) {
44
+ return 'top';
45
+ } else {
46
+ return 'bottom';
47
+ }
48
+ }
49
+
50
+ /**
51
+ * Calculates the offset for popover positioning based on node type and configuration.
52
+ * @param node - The MapViewerNode to calculate offset for
53
+ * @returns An array of [x, y] offset values
54
+ */
55
+ calculateOffset(node: MapViewerNode): number[] {
56
+ if (node.type === 'seat') {
57
+ return [0, 6];
58
+ }
59
+
60
+ if (node.type === 'section' || node.type === 'general_admission') {
61
+ const dvmData = this.configService.configuration.dvmData as any;
62
+ const sectionOffsets = dvmData?.sectionOffsets || {};
63
+ const nodeId = node.id as keyof typeof sectionOffsets;
64
+ const nodeOriginalId = node.original_id as keyof typeof sectionOffsets;
65
+ const dvmOffset = sectionOffsets[nodeId] ?? sectionOffsets[nodeOriginalId];
66
+
67
+ return dvmOffset ?? [0, 0];
68
+ }
69
+
70
+ return [0, 0];
71
+ }
72
+ }
73
+
@@ -0,0 +1,88 @@
1
+ import { inject, Injectable, Inject } from '@angular/core';
2
+ import { createPopper } from '@popperjs/core';
3
+ import type { IPopoverManager, IPopoverPositioner, PopoverConfig } from '../types';
4
+ import { POPOVER_POSITIONER } from '../popover.config';
5
+
6
+ /**
7
+ * Generic popover manager service that handles popover lifecycle and positioning.
8
+ * This service is DVM-agnostic and delegates positioning logic to IPopoverPositioner.
9
+ */
10
+ @Injectable()
11
+ export class PopoverManagerService implements IPopoverManager {
12
+ private currentPopoverId: string = '';
13
+ private tooltip?: HTMLElement;
14
+ private readonly positioner: IPopoverPositioner;
15
+
16
+ constructor(@Inject(POPOVER_POSITIONER) positioner: IPopoverPositioner) {
17
+ this.positioner = positioner;
18
+ }
19
+
20
+ /**
21
+ * Shows a popover with the specified configuration.
22
+ * @param config - Configuration for the popover including component, data, and positioning
23
+ */
24
+ showPopover<T>(config: PopoverConfig<T>): void {
25
+ config.container.clear();
26
+ this.currentPopoverId = config.nodeId;
27
+ this.tooltip = config.tooltip;
28
+
29
+ const componentRef = config.container.createComponent(config.component);
30
+
31
+ if (config.componentInputs) {
32
+ Object.entries(config.componentInputs).forEach(([key, value]) => {
33
+ (componentRef.instance as any)[key] = value;
34
+ });
35
+ }
36
+
37
+ if (config.eventHandlers) {
38
+ Object.entries(config.eventHandlers).forEach(([key, handler]) => {
39
+ const instance = componentRef.instance as any;
40
+ if (instance[key] && typeof instance[key].subscribe === 'function') {
41
+ instance[key].subscribe(handler);
42
+ }
43
+ });
44
+ }
45
+
46
+ const placement = this.positioner.calculatePlacement(config.node, config.containerElement);
47
+ const offset = this.positioner.calculateOffset(config.node);
48
+
49
+ createPopper(config.node, this.tooltip, {
50
+ placement,
51
+ modifiers: [
52
+ {
53
+ name: 'offset',
54
+ options: {
55
+ offset,
56
+ },
57
+ },
58
+ {
59
+ name: 'flip',
60
+ options: {
61
+ fallbackPlacements: [],
62
+ },
63
+ },
64
+ ],
65
+ });
66
+
67
+ this.tooltip.setAttribute('data-show', '');
68
+ }
69
+
70
+ /**
71
+ * Hides the popover for the specified node ID.
72
+ * @param nodeId - The node ID of the popover to hide
73
+ */
74
+ hidePopover(nodeId: string): void {
75
+ if (this.currentPopoverId === nodeId) {
76
+ this.tooltip?.removeAttribute('data-show');
77
+ }
78
+ }
79
+
80
+ /**
81
+ * Clears all popovers.
82
+ */
83
+ clearAll(): void {
84
+ this.tooltip?.removeAttribute('data-show');
85
+ this.currentPopoverId = '';
86
+ }
87
+ }
88
+