@3ddv/software-division-components 2.0.0 → 2.0.2

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 (382) hide show
  1. package/fesm2022/3ddv-software-division-components-generic-carousel.mjs +354 -0
  2. package/fesm2022/3ddv-software-division-components-generic-carousel.mjs.map +1 -0
  3. package/package.json +47 -67
  4. package/styles.css +2 -46
  5. package/types/3ddv-software-division-components-generic-carousel.d.ts +53 -0
  6. package/.postcssrc.json +0 -5
  7. package/.storybook/main.ts +0 -78
  8. package/.storybook/manager-head.html +0 -1
  9. package/.storybook/preview.ts +0 -30
  10. package/.storybook/tsconfig.json +0 -25
  11. package/.storybook/typings.d.ts +0 -4
  12. package/CHANGELOG.md +0 -8
  13. package/LICENSE.md +0 -21
  14. package/backoffice/checkbox/checkbox.component.css +0 -193
  15. package/backoffice/checkbox/checkbox.component.html +0 -23
  16. package/backoffice/checkbox/checkbox.component.ts +0 -252
  17. package/backoffice/checkbox/index.ts +0 -1
  18. package/backoffice/checkbox/ng-package.json +0 -1
  19. package/backoffice/checkbox/public-api.ts +0 -1
  20. package/backoffice/checkbox/story/checkbox.stories.ts +0 -304
  21. package/backoffice/datepicker/datepicker.component.css +0 -262
  22. package/backoffice/datepicker/datepicker.component.html +0 -40
  23. package/backoffice/datepicker/datepicker.component.ts +0 -366
  24. package/backoffice/datepicker/index.ts +0 -1
  25. package/backoffice/datepicker/ng-package.json +0 -1
  26. package/backoffice/datepicker/public-api.ts +0 -2
  27. package/backoffice/datepicker/story/datepicker.stories.ts +0 -32
  28. package/backoffice/datepicker/ui/ui-calendar-helm/src/index.ts +0 -14
  29. package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar-multi.ts +0 -183
  30. package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar.ts +0 -171
  31. package/backoffice/datepicker/ui/ui-date-picker-helm/src/index.ts +0 -16
  32. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.token.ts +0 -43
  33. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.ts +0 -177
  34. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.token.ts +0 -43
  35. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.ts +0 -167
  36. package/backoffice/datepicker/ui/ui-icon-helm/src/index.ts +0 -11
  37. package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.token.ts +0 -20
  38. package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.ts +0 -35
  39. package/backoffice/datepicker/ui/ui-popover-helm/src/index.ts +0 -15
  40. package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-close.ts +0 -19
  41. package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-content.ts +0 -30
  42. package/backoffice/index.ts +0 -1
  43. package/backoffice/input/index.ts +0 -1
  44. package/backoffice/input/input.component.css +0 -319
  45. package/backoffice/input/input.component.html +0 -51
  46. package/backoffice/input/input.component.ts +0 -497
  47. package/backoffice/input/ng-package.json +0 -1
  48. package/backoffice/input/public-api.ts +0 -2
  49. package/backoffice/input/story/input.stories.ts +0 -243
  50. package/backoffice/radio/index.ts +0 -1
  51. package/backoffice/radio/ng-package.json +0 -1
  52. package/backoffice/radio/public-api.ts +0 -1
  53. package/backoffice/radio/radio.component.css +0 -143
  54. package/backoffice/radio/radio.component.html +0 -15
  55. package/backoffice/radio/radio.component.ts +0 -154
  56. package/backoffice/radio/story/radio.stories.ts +0 -287
  57. package/backoffice/table/_components/pagination/pagination.component.css +0 -117
  58. package/backoffice/table/_components/pagination/pagination.component.html +0 -55
  59. package/backoffice/table/_components/pagination/pagination.component.ts +0 -79
  60. package/backoffice/table/_components/selection-table-head/selection-table-head.component.css +0 -0
  61. package/backoffice/table/_components/selection-table-head/selection-table-head.component.html +0 -6
  62. package/backoffice/table/_components/selection-table-head/selection-table-head.component.ts +0 -36
  63. package/backoffice/table/_components/selection-table-row/selection-table-row.component.css +0 -0
  64. package/backoffice/table/_components/selection-table-row/selection-table-row.component.html +0 -5
  65. package/backoffice/table/_components/selection-table-row/selection-table-row.component.ts +0 -12
  66. package/backoffice/table/_components/sort-header-button/sort-header-button.component.css +0 -14
  67. package/backoffice/table/_components/sort-header-button/sort-header-button.component.html +0 -11
  68. package/backoffice/table/_components/sort-header-button/sort-header-button.component.ts +0 -55
  69. package/backoffice/table/index.ts +0 -1
  70. package/backoffice/table/ng-package.json +0 -1
  71. package/backoffice/table/public-api.ts +0 -6
  72. package/backoffice/table/story/table.stories.ts +0 -364
  73. package/backoffice/table/table.component.css +0 -172
  74. package/backoffice/table/table.component.html +0 -53
  75. package/backoffice/table/table.component.ts +0 -347
  76. package/backoffice/table/ui/ui-icon-helm/src/index.ts +0 -11
  77. package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.token.ts +0 -20
  78. package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.ts +0 -35
  79. package/backoffice/table/ui/ui-table-helm/src/index.ts +0 -13
  80. package/backoffice/table/ui/ui-table-helm/src/lib/hlm-table.ts +0 -220
  81. package/components.json +0 -3
  82. package/dist/styles.css +0 -2
  83. package/documentation.json +0 -30473
  84. package/dvm/cart/cart.component.css +0 -103
  85. package/dvm/cart/cart.component.html +0 -31
  86. package/dvm/cart/cart.component.ts +0 -49
  87. package/dvm/cart/cart.stories.ts +0 -370
  88. package/dvm/cart/cart.types.ts +0 -8
  89. package/dvm/cart/index.ts +0 -2
  90. package/dvm/cart/ng-package.json +0 -1
  91. package/dvm/cart/public-api.ts +0 -8
  92. package/dvm/cart/seat-list.component.css +0 -281
  93. package/dvm/cart/seat-list.component.html +0 -85
  94. package/dvm/cart/seat-list.component.ts +0 -76
  95. package/dvm/cart/seat-list.stories.ts +0 -337
  96. package/dvm/cart-item/cart-item.component.html +0 -1
  97. package/dvm/cart-item/cart-item.component.ts +0 -8
  98. package/dvm/cart-item/cart-item.service.ts +0 -8
  99. package/dvm/cart-item/cart.stories.ts +0 -31
  100. package/dvm/cart-item/index.ts +0 -1
  101. package/dvm/cart-item/ng-package.json +0 -1
  102. package/dvm/cart-item/public-api.ts +0 -6
  103. package/dvm/index.ts +0 -1
  104. package/dvm/legend/index.ts +0 -1
  105. package/dvm/legend/legend.component.css +0 -49
  106. package/dvm/legend/legend.component.html +0 -8
  107. package/dvm/legend/legend.component.ts +0 -41
  108. package/dvm/legend/legend.stories.ts +0 -16
  109. package/dvm/legend/ng-package.json +0 -1
  110. package/dvm/legend/public-api.ts +0 -7
  111. package/dvm/legend/types.ts +0 -6
  112. package/dvm/legend/ui/legend-elements/index.ts +0 -1
  113. package/dvm/legend/ui/legend-elements/legend-elements.component.css +0 -49
  114. package/dvm/legend/ui/legend-elements/legend-elements.component.html +0 -8
  115. package/dvm/legend/ui/legend-elements/legend-elements.component.ts +0 -41
  116. package/dvm/loader/index.ts +0 -1
  117. package/dvm/loader/loader.component.html +0 -1
  118. package/dvm/loader/loader.component.ts +0 -8
  119. package/dvm/loader/loader.service.ts +0 -8
  120. package/dvm/loader/loader.stories.ts +0 -31
  121. package/dvm/loader/ng-package.json +0 -1
  122. package/dvm/loader/public-api.ts +0 -6
  123. package/dvm/map-loader/index.ts +0 -1
  124. package/dvm/map-loader/map-loader.component.css +0 -91
  125. package/dvm/map-loader/map-loader.component.html +0 -23
  126. package/dvm/map-loader/map-loader.component.ts +0 -187
  127. package/dvm/map-loader/map-loader.stories.ts +0 -16
  128. package/dvm/map-loader/ng-package.json +0 -1
  129. package/dvm/map-loader/public-api.ts +0 -5
  130. package/dvm/neighbors/index.ts +0 -1
  131. package/dvm/neighbors/neighbors.component.css +0 -158
  132. package/dvm/neighbors/neighbors.component.html +0 -45
  133. package/dvm/neighbors/neighbors.component.ts +0 -218
  134. package/dvm/neighbors/ng-package.json +0 -1
  135. package/dvm/neighbors/public-api.ts +0 -2
  136. package/dvm/neighbors/story/arrow-left-black-icon.svg +0 -3
  137. package/dvm/neighbors/story/mock-data.ts +0 -15
  138. package/dvm/neighbors/story/neighbours.stories.css +0 -12
  139. package/dvm/neighbors/story/neighbours.stories.ts +0 -117
  140. package/dvm/neighbors/types.ts +0 -14
  141. package/dvm/popover/base-popover.component.ts +0 -70
  142. package/dvm/popover/index.ts +0 -1
  143. package/dvm/popover/ng-package.json +0 -1
  144. package/dvm/popover/popover.component.css +0 -227
  145. package/dvm/popover/popover.component.html +0 -27
  146. package/dvm/popover/popover.component.ts +0 -236
  147. package/dvm/popover/popover.config.ts +0 -30
  148. package/dvm/popover/popover.service.ts +0 -627
  149. package/dvm/popover/popover.stories.ts +0 -873
  150. package/dvm/popover/public-api.ts +0 -14
  151. package/dvm/popover/seat-popover/seat-popover.component.css +0 -89
  152. package/dvm/popover/seat-popover/seat-popover.component.html +0 -40
  153. package/dvm/popover/seat-popover/seat-popover.component.ts +0 -74
  154. package/dvm/popover/section-popover/section-popover.component.css +0 -157
  155. package/dvm/popover/section-popover/section-popover.component.html +0 -58
  156. package/dvm/popover/section-popover/section-popover.component.ts +0 -106
  157. package/dvm/popover/services/dvm-popover-positioner.service.ts +0 -73
  158. package/dvm/popover/services/popover-manager.service.ts +0 -88
  159. package/dvm/popover/transformers/base-popover-data-transformer.ts +0 -36
  160. package/dvm/popover/types.ts +0 -104
  161. package/dvm/stepper/index.ts +0 -1
  162. package/dvm/stepper/ng-package.json +0 -1
  163. package/dvm/stepper/public-api.ts +0 -5
  164. package/dvm/stepper/stepper.component.css +0 -142
  165. package/dvm/stepper/stepper.component.html +0 -9
  166. package/dvm/stepper/stepper.component.ts +0 -101
  167. package/dvm/stepper/types.ts +0 -6
  168. package/dvm/ticket-info-item/index.ts +0 -1
  169. package/dvm/ticket-info-item/ng-package.json +0 -1
  170. package/dvm/ticket-info-item/public-api.ts +0 -6
  171. package/dvm/ticket-info-item/ticket-info-item.component.html +0 -1
  172. package/dvm/ticket-info-item/ticket-info-item.component.ts +0 -8
  173. package/dvm/ticket-info-item/ticket-info-item.service.ts +0 -8
  174. package/dvm/ticket-info-item/ticket-info-item.stories.ts +0 -31
  175. package/generic/add-digital-wallet/add-digital-wallet.component.css +0 -76
  176. package/generic/add-digital-wallet/add-digital-wallet.component.html +0 -46
  177. package/generic/add-digital-wallet/add-digital-wallet.component.ts +0 -44
  178. package/generic/add-digital-wallet/index.ts +0 -1
  179. package/generic/add-digital-wallet/ng-package.json +0 -1
  180. package/generic/add-digital-wallet/public-api.ts +0 -1
  181. package/generic/braintree/braintree.component.css +0 -7
  182. package/generic/braintree/braintree.component.ts +0 -134
  183. package/generic/braintree/index.ts +0 -1
  184. package/generic/braintree/ng-package.json +0 -1
  185. package/generic/braintree/public-api.ts +0 -6
  186. package/generic/braintree/story/braintree.stories.css +0 -3
  187. package/generic/braintree/story/braintree.stories.ts +0 -27
  188. package/generic/braintree/types.ts +0 -28
  189. package/generic/button/button.component.css +0 -305
  190. package/generic/button/button.component.html +0 -10
  191. package/generic/button/button.component.ts +0 -353
  192. package/generic/button/index.ts +0 -1
  193. package/generic/button/ng-package.json +0 -1
  194. package/generic/button/public-api.ts +0 -6
  195. package/generic/button/story/button.stories.ts +0 -384
  196. package/generic/button/ui/ui-button-helm/src/index.ts +0 -10
  197. package/generic/button/ui/ui-button-helm/src/lib/hlm-button.token.ts +0 -22
  198. package/generic/button/ui/ui-button-helm/src/lib/hlm-button.ts +0 -62
  199. package/generic/carousel/carousel-item.component.ts +0 -15
  200. package/generic/carousel/carousel-item.directive.ts +0 -14
  201. package/generic/carousel/carousel.component.css +0 -90
  202. package/generic/carousel/carousel.component.html +0 -13
  203. package/generic/carousel/carousel.component.ts +0 -44
  204. package/generic/carousel/index.ts +0 -1
  205. package/generic/carousel/public-api.ts +0 -2
  206. package/generic/carousel/ui/ui-carousel-helm/src/index.ts +0 -29
  207. package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-content.ts +0 -23
  208. package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-item.ts +0 -25
  209. package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-next.ts +0 -58
  210. package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-previous.ts +0 -61
  211. package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-slide-display.ts +0 -36
  212. package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel.ts +0 -105
  213. package/generic/dialog/dialog.component.css +0 -5
  214. package/generic/dialog/dialog.component.html +0 -3
  215. package/generic/dialog/dialog.component.ts +0 -20
  216. package/generic/dialog/dialog.stories.ts +0 -14
  217. package/generic/dialog/index.ts +0 -1
  218. package/generic/dialog/libs/ui-dialog-helm/src/index.ts +0 -37
  219. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-close.ts +0 -20
  220. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-content.ts +0 -56
  221. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-description.ts +0 -17
  222. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-footer.ts +0 -19
  223. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-header.ts +0 -19
  224. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-overlay.ts +0 -23
  225. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-title.ts +0 -19
  226. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.service.ts +0 -59
  227. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.ts +0 -31
  228. package/generic/dialog/ng-package.json +0 -1
  229. package/generic/dialog/public-api.ts +0 -7
  230. package/generic/dialog/tsconfig.json +0 -7
  231. package/generic/dialog/ui/dialog-close-button/dialog-close-button.component.css +0 -0
  232. package/generic/dialog/ui/dialog-close-button/dialog-close-button.component.html +0 -1
  233. package/generic/dialog/ui/dialog-close-button/dialog-close-button.component.ts +0 -17
  234. package/generic/dialog/ui/dialog-footer/dialog-footer.component.css +0 -0
  235. package/generic/dialog/ui/dialog-footer/dialog-footer.component.html +0 -3
  236. package/generic/dialog/ui/dialog-footer/dialog-footer.component.ts +0 -11
  237. package/generic/dialog/ui/dialog-header/dialog-header.component.css +0 -0
  238. package/generic/dialog/ui/dialog-header/dialog-header.component.html +0 -8
  239. package/generic/dialog/ui/dialog-header/dialog-header.component.ts +0 -18
  240. package/generic/drawer/drawer.component.html +0 -1
  241. package/generic/drawer/drawer.component.ts +0 -8
  242. package/generic/drawer/drawer.service.ts +0 -8
  243. package/generic/drawer/drawer.stories.ts +0 -31
  244. package/generic/drawer/index.ts +0 -1
  245. package/generic/drawer/ng-package.json +0 -1
  246. package/generic/drawer/public-api.ts +0 -6
  247. package/generic/icon/icon.component.css +0 -7
  248. package/generic/icon/icon.component.html +0 -3
  249. package/generic/icon/icon.component.ts +0 -86
  250. package/generic/icon/icon.stories.ts +0 -16
  251. package/generic/icon/index.ts +0 -1
  252. package/generic/icon/lib/ui-icon-helm/src/index.ts +0 -11
  253. package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.token.ts +0 -20
  254. package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.ts +0 -36
  255. package/generic/icon/ng-package.json +0 -1
  256. package/generic/icon/public-api.ts +0 -6
  257. package/generic/icon/tsconfig.json +0 -7
  258. package/generic/index.ts +0 -1
  259. package/generic/select/index.ts +0 -1
  260. package/generic/select/lib/hlm-select-content.ts +0 -29
  261. package/generic/select/lib/hlm-select-group.ts +0 -17
  262. package/generic/select/lib/hlm-select-label.ts +0 -26
  263. package/generic/select/lib/hlm-select-option.ts +0 -37
  264. package/generic/select/lib/hlm-select-scroll-down.ts +0 -24
  265. package/generic/select/lib/hlm-select-scroll-up.ts +0 -23
  266. package/generic/select/lib/hlm-select-trigger.ts +0 -53
  267. package/generic/select/lib/hlm-select-value.ts +0 -17
  268. package/generic/select/lib/hlm-select.ts +0 -15
  269. package/generic/select/lib/index.ts +0 -38
  270. package/generic/select/ng-package.json +0 -1
  271. package/generic/select/public-api.ts +0 -3
  272. package/generic/select/select.component.css +0 -65
  273. package/generic/select/select.component.html +0 -19
  274. package/generic/select/select.component.ts +0 -25
  275. package/generic/select/types.ts +0 -4
  276. package/ng-package.json +0 -10
  277. package/public/3ddv-logo.jpg +0 -0
  278. package/public/neighbours-after.png +0 -0
  279. package/public/neighbours-before.png +0 -0
  280. package/shared/apply-theme-variables/apply-theme-variables.ts +0 -35
  281. package/shared/apply-theme-variables/index.ts +0 -1
  282. package/shared/format-value.pipe.ts +0 -23
  283. package/shared/index.ts +0 -1
  284. package/shared/lib-provider/config-token.ts +0 -4
  285. package/shared/lib-provider/index.ts +0 -1
  286. package/shared/lib-provider/provide-sdc.ts +0 -24
  287. package/shared/lib-provider/public-api.ts +0 -1
  288. package/shared/ng-package.json +0 -1
  289. package/shared/public-api.ts +0 -6
  290. package/shared/screen-observer/index.ts +0 -2
  291. package/shared/screen-observer/provide-screen-observer.ts +0 -17
  292. package/shared/screen-observer/screen-observer.ts +0 -56
  293. package/shared/screen-observer/sizable-base.ts +0 -70
  294. package/shared/theme-provider/generic-theme.ts +0 -1
  295. package/shared/theme-provider/index.ts +0 -1
  296. package/shared/theme-provider/public-api.ts +0 -1
  297. package/shared/theme-provider/theme-provider.directive.ts +0 -17
  298. package/shared/themes/sdc.css +0 -153
  299. package/shared/types.ts +0 -18
  300. package/src/private-exports.ts +0 -1
  301. package/src/public-api.ts +0 -20
  302. package/tsconfig.json +0 -50
  303. package/tsconfig.lib.prod.json +0 -6
  304. package/tsconfig.spec.json +0 -15
  305. package/tsconfig.temp.json +0 -1
  306. package/utils/index.ts +0 -1
  307. package/utils/ng-package.json +0 -1
  308. package/utils/public-api.ts +0 -1
  309. package/utils/validate-styles-for-component.ts +0 -39
  310. /package/{dist/README.md → README.md} +0 -0
  311. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-checkbox.mjs +0 -0
  312. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-checkbox.mjs.map +0 -0
  313. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-datepicker.mjs +0 -0
  314. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-datepicker.mjs.map +0 -0
  315. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-input.mjs +0 -0
  316. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-input.mjs.map +0 -0
  317. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-radio.mjs +0 -0
  318. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-radio.mjs.map +0 -0
  319. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-table.mjs +0 -0
  320. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-table.mjs.map +0 -0
  321. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-cart-item.mjs +0 -0
  322. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-cart-item.mjs.map +0 -0
  323. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-cart.mjs +0 -0
  324. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-cart.mjs.map +0 -0
  325. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-legend.mjs +0 -0
  326. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-legend.mjs.map +0 -0
  327. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-loader.mjs +0 -0
  328. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-loader.mjs.map +0 -0
  329. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-map-loader.mjs +0 -0
  330. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-map-loader.mjs.map +0 -0
  331. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-neighbors.mjs +0 -0
  332. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-neighbors.mjs.map +0 -0
  333. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-popover.mjs +0 -0
  334. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-popover.mjs.map +0 -0
  335. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-stepper.mjs +0 -0
  336. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-stepper.mjs.map +0 -0
  337. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-ticket-info-item.mjs +0 -0
  338. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-ticket-info-item.mjs.map +0 -0
  339. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-add-digital-wallet.mjs +0 -0
  340. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-add-digital-wallet.mjs.map +0 -0
  341. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-braintree.mjs +0 -0
  342. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-braintree.mjs.map +0 -0
  343. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-button.mjs +0 -0
  344. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-button.mjs.map +0 -0
  345. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-dialog.mjs +0 -0
  346. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-dialog.mjs.map +0 -0
  347. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-drawer.mjs +0 -0
  348. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-drawer.mjs.map +0 -0
  349. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-icon.mjs +0 -0
  350. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-icon.mjs.map +0 -0
  351. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-select.mjs +0 -0
  352. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-select.mjs.map +0 -0
  353. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-shared.mjs +0 -0
  354. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-shared.mjs.map +0 -0
  355. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-utils.mjs +0 -0
  356. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-utils.mjs.map +0 -0
  357. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components.mjs +0 -0
  358. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components.mjs.map +0 -0
  359. /package/{dist/types → types}/3ddv-software-division-components-backoffice-checkbox.d.ts +0 -0
  360. /package/{dist/types → types}/3ddv-software-division-components-backoffice-datepicker.d.ts +0 -0
  361. /package/{dist/types → types}/3ddv-software-division-components-backoffice-input.d.ts +0 -0
  362. /package/{dist/types → types}/3ddv-software-division-components-backoffice-radio.d.ts +0 -0
  363. /package/{dist/types → types}/3ddv-software-division-components-backoffice-table.d.ts +0 -0
  364. /package/{dist/types → types}/3ddv-software-division-components-dvm-cart-item.d.ts +0 -0
  365. /package/{dist/types → types}/3ddv-software-division-components-dvm-cart.d.ts +0 -0
  366. /package/{dist/types → types}/3ddv-software-division-components-dvm-legend.d.ts +0 -0
  367. /package/{dist/types → types}/3ddv-software-division-components-dvm-loader.d.ts +0 -0
  368. /package/{dist/types → types}/3ddv-software-division-components-dvm-map-loader.d.ts +0 -0
  369. /package/{dist/types → types}/3ddv-software-division-components-dvm-neighbors.d.ts +0 -0
  370. /package/{dist/types → types}/3ddv-software-division-components-dvm-popover.d.ts +0 -0
  371. /package/{dist/types → types}/3ddv-software-division-components-dvm-stepper.d.ts +0 -0
  372. /package/{dist/types → types}/3ddv-software-division-components-dvm-ticket-info-item.d.ts +0 -0
  373. /package/{dist/types → types}/3ddv-software-division-components-generic-add-digital-wallet.d.ts +0 -0
  374. /package/{dist/types → types}/3ddv-software-division-components-generic-braintree.d.ts +0 -0
  375. /package/{dist/types → types}/3ddv-software-division-components-generic-button.d.ts +0 -0
  376. /package/{dist/types → types}/3ddv-software-division-components-generic-dialog.d.ts +0 -0
  377. /package/{dist/types → types}/3ddv-software-division-components-generic-drawer.d.ts +0 -0
  378. /package/{dist/types → types}/3ddv-software-division-components-generic-icon.d.ts +0 -0
  379. /package/{dist/types → types}/3ddv-software-division-components-generic-select.d.ts +0 -0
  380. /package/{dist/types → types}/3ddv-software-division-components-shared.d.ts +0 -0
  381. /package/{dist/types → types}/3ddv-software-division-components-utils.d.ts +0 -0
  382. /package/{dist/types → types}/3ddv-software-division-components.d.ts +0 -0
@@ -1,347 +0,0 @@
1
- import { ThemeClass } from '@3ddv/software-division-components/shared';
2
- import { Component, computed, effect, input, OnDestroy, output, signal } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { provideIcons } from '@ng-icons/core';
5
- import { lucideChevronDown, lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';
6
- import {
7
- ColumnDef,
8
- createAngularTable,
9
- flexRenderComponent,
10
- FlexRenderDirective,
11
- getCoreRowModel,
12
- getPaginationRowModel,
13
- PaginationState,
14
- RowSelectionState,
15
- SortingState,
16
- } from '@tanstack/angular-table';
17
- import { PaginationComponent } from './_components/pagination/pagination.component';
18
- import { SelectionTableHeadComponent } from './_components/selection-table-head/selection-table-head.component';
19
- import { SelectionTableRowComponent } from './_components/selection-table-row/selection-table-row.component';
20
- import { SortTableHeadButtonComponent } from './_components/sort-header-button/sort-header-button.component';
21
- import { HlmTableImports } from './ui/ui-table-helm/src';
22
-
23
- export type TableStyleClasses = ReturnType<(typeof TableComponent.prototype)['styleClass']>;
24
- @Component({
25
- selector: 'sdc-table',
26
- imports: [FormsModule, FlexRenderDirective, PaginationComponent, ...HlmTableImports],
27
- providers: [provideIcons({ lucideChevronDown, lucideChevronLeft, lucideChevronRight })],
28
- templateUrl: './table.component.html',
29
- styleUrl: './table.component.css',
30
- })
31
- export class TableComponent<T extends Record<string, any>> implements OnDestroy {
32
- private readonly allowedVariants = ['full-table', 'minimal-table'] as const;
33
-
34
- /**
35
- * The data to display in the table.
36
- */
37
- public readonly data = input<T[]>([]);
38
-
39
- /**
40
- * The columns to display in the table.
41
- */
42
- public readonly columns = input<ColumnDef<T>[]>([]);
43
-
44
- /**
45
- * Whether to show the selection column.
46
- */
47
- public readonly showSelection = input<boolean>(false);
48
-
49
- /**
50
- * Whether to enable sorting for the table.
51
- */
52
- public readonly enableSort = input<boolean | string[]>(false);
53
-
54
- /**
55
- * The maximum number of pages to display in the pagination.
56
- */
57
- public readonly maxVisiblePages = input<number>(3);
58
-
59
- /**
60
- * The page size for the table pagination.
61
- */
62
- public readonly pageSize = input<number>(10);
63
-
64
- /**
65
- * The initial page index for the table pagination.
66
- */
67
- public readonly initialPageIndex = input<number>(0);
68
-
69
- /**
70
- * Whether to show the first and last buttons in the pagination.
71
- */
72
- public readonly showFirstLastButtons = input<boolean>(true);
73
-
74
- /**
75
- * The current theme applied to the component.
76
- */
77
- public readonly theme = input<ThemeClass>('theme-sdc');
78
-
79
- /**
80
- * Predefined styles to apply to the component.
81
- * Can be a single class or multiple classes from different categories.
82
- */
83
- public readonly styleClass = input<(typeof this.allowedVariants)[number][]>([this.allowedVariants[0]]);
84
-
85
- // Computed signal that validates and filters the styleClass input
86
- private readonly _validatedStyleClass = computed(() => {
87
- const value = this.styleClass();
88
-
89
- if (!Array.isArray(value)) {
90
- console.warn('TableComponent: styleClass must be an array, defaulting to empty array');
91
- return [];
92
- }
93
-
94
- const validValues = value.filter(style => this.allowedVariants.includes(style));
95
- const invalidValues = value.filter(style => !this.allowedVariants.includes(style));
96
-
97
- if (invalidValues.length > 0) {
98
- throw new Error(
99
- `TableComponent: Invalid styleClass values ignored: ${invalidValues.join(', ')}. Allowed values: ${this.allowedVariants.join(', ')}`
100
- );
101
- }
102
-
103
- return validValues;
104
- });
105
-
106
- /**
107
- * Additional CSS classes to apply to the component.
108
- */
109
- public readonly className = input<string>('');
110
-
111
- /**
112
- * The text to display in the export button.
113
- */
114
- public readonly exportButtonText = input<string>('Export');
115
-
116
- /**
117
- * Event emitted when the export button is clicked.
118
- * Includes selected rows and all rows for export functionality.
119
- */
120
- public readonly exportClick = output<{ selectedRows: T[]; allRows: T[] }>();
121
-
122
- /**
123
- * Event emitted when the sorting state changes.
124
- */
125
- public readonly sortingChange = output<SortingState>();
126
-
127
- /**
128
- * Event emitted when the selection state changes.
129
- */
130
- public readonly selectionChange = output<RowSelectionState>();
131
-
132
- /**
133
- * Whether to pin/freeze the table headers so they remain visible during vertical scrolling.
134
- * When enabled, headers will stay at the top of the viewport while scrolling through table data.
135
- */
136
- public readonly pinningHeaders = input<boolean>(false);
137
-
138
- /**
139
- * Whether to show the pagination controls at the bottom of the table.
140
- * When disabled, all rows will be displayed without pagination.
141
- */
142
- public readonly showPagination = input<boolean>(true);
143
-
144
- /**
145
- * Event emitted when the pagination state changes.
146
- */
147
- public readonly paginationChange = output<PaginationState>();
148
-
149
- /**
150
- * Computed class string that combines theme and user classes.
151
- */
152
- protected readonly computedClass = computed(() => {
153
- const themeClass = this.theme();
154
- const styleClass = this._validatedStyleClass();
155
- const className = this.className();
156
- const pinningHeadersClass = this.pinningHeaders() ? 'pinning-headers' : '';
157
- return ['sdc-table', themeClass, ...styleClass, pinningHeadersClass, className].filter(Boolean).join(' ');
158
- });
159
-
160
- protected _handleSortClick(columnId: string) {
161
- const currentSort = this._sorting();
162
- const currentColumnSort = currentSort.find(sort => sort.id === columnId);
163
-
164
- let newSort: SortingState = [];
165
-
166
- if (!currentColumnSort) {
167
- // First click: sort asc
168
- newSort = [{ id: columnId, desc: false }];
169
- } else if (!currentColumnSort.desc) {
170
- // Second click: sort desc
171
- newSort = [{ id: columnId, desc: true }];
172
- } else {
173
- // Third click: remove sort
174
- newSort = [];
175
- }
176
-
177
- this._sorting.set(newSort);
178
- this.sortingChange.emit(newSort);
179
- }
180
-
181
- protected _getSortDirection(columnId: string): 'asc' | 'desc' | false {
182
- const currentSort = this._sorting();
183
- const columnSort = currentSort.find(sort => sort.id === columnId);
184
-
185
- if (!columnSort) {
186
- return false;
187
- }
188
-
189
- return columnSort.desc ? 'desc' : 'asc';
190
- }
191
-
192
- protected _isColumnSorted(columnId: string): boolean {
193
- const currentSort = this._sorting();
194
- return currentSort.some(sort => sort.id === columnId);
195
- }
196
-
197
- protected _isSortEnabled(columnId: string): boolean {
198
- const sortConfig = this.enableSort();
199
-
200
- if (typeof sortConfig === 'boolean') {
201
- return sortConfig;
202
- }
203
-
204
- if (Array.isArray(sortConfig)) {
205
- return sortConfig.includes(columnId);
206
- }
207
-
208
- return false;
209
- }
210
-
211
- protected _createSortableHeader(column: ColumnDef<T>, columnId: string) {
212
- return flexRenderComponent(SortTableHeadButtonComponent, {
213
- inputs: {
214
- columnName: columnId,
215
- isSorted: this._isColumnSorted(columnId),
216
- sortDirection: this._getSortDirection(columnId),
217
- enableSorting: this._isSortEnabled(columnId),
218
- },
219
- outputs: {
220
- sortClick: () => this._handleSortClick(columnId),
221
- },
222
- });
223
- }
224
-
225
- protected _processColumns(): ColumnDef<T>[] {
226
- const baseColumns = this.columns() || [];
227
- const processedColumns: ColumnDef<T>[] = [];
228
-
229
- // Add selection column if enabled
230
- if (this.showSelection()) {
231
- processedColumns.push({
232
- accessorKey: 'select',
233
- id: 'select',
234
- header: () => flexRenderComponent(SelectionTableHeadComponent),
235
- cell: () => flexRenderComponent(SelectionTableRowComponent),
236
- enableSorting: false,
237
- enableHiding: false,
238
- });
239
- }
240
-
241
- // Process each column
242
- baseColumns.forEach(column => {
243
- const processedColumn = { ...column };
244
-
245
- // If sorting is enabled for this column, wrap the header with sort functionality
246
- if (this._isSortEnabled(column.id || '')) {
247
- processedColumn.header = context => this._createSortableHeader(column, context.column.id);
248
- }
249
-
250
- // Ensure sorting is disabled for client-side (we only support server-side sorting)
251
- processedColumn.enableSorting = false;
252
-
253
- processedColumns.push(processedColumn);
254
- });
255
-
256
- return processedColumns;
257
- }
258
-
259
- private readonly _sorting = signal<SortingState>([]);
260
- private readonly _rowSelection = signal<RowSelectionState>({});
261
- private readonly _pagination = signal<PaginationState>({
262
- pageSize: this.pageSize(),
263
- pageIndex: this.initialPageIndex(),
264
- });
265
-
266
- // Effect to sync input changes to the pagination signal
267
- // Only runs when pagination is enabled
268
- private readonly _paginationEffect = effect(() => {
269
- // Only update pagination when it's enabled
270
- if (!this.showPagination()) {
271
- return;
272
- }
273
-
274
- const newPageSize = this.pageSize();
275
- const newPageIndex = this.initialPageIndex();
276
-
277
- this._pagination.update(current => ({
278
- ...current,
279
- pageSize: newPageSize,
280
- pageIndex: newPageIndex,
281
- }));
282
- });
283
-
284
- public ngOnDestroy(): void {
285
- // Cleans up the pagination effect to prevent memory leaks.
286
- if (this._paginationEffect) {
287
- this._paginationEffect.destroy();
288
- }
289
- }
290
-
291
- private readonly _table = createAngularTable<T>(() => ({
292
- data: this.data(),
293
- columns: this._processColumns(),
294
- state: {
295
- sorting: this._sorting(),
296
- rowSelection: this._rowSelection(),
297
- // Only include pagination state when pagination is enabled
298
- ...(this.showPagination() && { pagination: this._pagination() }),
299
- },
300
- onSortingChange: updater => {
301
- updater instanceof Function ? this._sorting.update(updater) : this._sorting.set(updater);
302
- this.sortingChange.emit(this._sorting());
303
- },
304
- onRowSelectionChange: updater => {
305
- updater instanceof Function ? this._rowSelection.update(updater) : this._rowSelection.set(updater);
306
- this.selectionChange.emit(this._rowSelection());
307
- },
308
- // Only include pagination change handler when pagination is enabled
309
- ...(this.showPagination() && {
310
- onPaginationChange: updater => {
311
- updater instanceof Function ? this._pagination.update(updater) : this._pagination.set(updater);
312
- this.paginationChange.emit(this._pagination());
313
- },
314
- }),
315
- getCoreRowModel: getCoreRowModel(),
316
- // Only include pagination row model when pagination is enabled
317
- ...(this.showPagination() && { getPaginationRowModel: getPaginationRowModel() }),
318
- enableRowSelection: this.showSelection(),
319
- initialState: {
320
- // Only include pagination initial state when pagination is enabled
321
- ...(this.showPagination() && { pagination: this._pagination() }),
322
- },
323
- }));
324
-
325
- // Public getters for template access
326
- public get headerGroups() {
327
- return this._table.getHeaderGroups();
328
- }
329
-
330
- public get rows() {
331
- return this._table.getRowModel().rows;
332
- }
333
-
334
- public get paginatedRows() {
335
- if (this.showPagination()) {
336
- return this._table.getPaginationRowModel().rows;
337
- } else {
338
- // When pagination is disabled, return all rows from the core row model
339
- return this._table.getRowModel().rows;
340
- }
341
- }
342
-
343
- // Public getter for pagination component
344
- public get tableForPagination() {
345
- return this._table as any;
346
- }
347
- }
@@ -1,11 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { HlmIcon } from './lib/hlm-icon';
3
-
4
- export * from './lib/hlm-icon';
5
- export * from './lib/hlm-icon.token';
6
-
7
- @NgModule({
8
- imports: [HlmIcon],
9
- exports: [HlmIcon],
10
- })
11
- export class HlmIconModule {}
@@ -1,20 +0,0 @@
1
- import { InjectionToken, ValueProvider, inject } from '@angular/core';
2
- import type { IconSize } from './hlm-icon';
3
-
4
- export interface HlmIconConfig {
5
- size: IconSize;
6
- }
7
-
8
- const defaultConfig: HlmIconConfig = {
9
- size: 'base',
10
- };
11
-
12
- const HlmIconConfigToken = new InjectionToken<HlmIconConfig>('HlmIconConfig');
13
-
14
- export function provideHlmIconConfig(config: Partial<HlmIconConfig>): ValueProvider {
15
- return { provide: HlmIconConfigToken, useValue: { ...defaultConfig, ...config } };
16
- }
17
-
18
- export function injectHlmIconConfig(): HlmIconConfig {
19
- return inject(HlmIconConfigToken, { optional: true }) ?? defaultConfig;
20
- }
@@ -1,35 +0,0 @@
1
- import { Directive, computed, input } from '@angular/core';
2
- import { injectHlmIconConfig } from './hlm-icon.token';
3
-
4
- export type IconSize = 'xs' | 'sm' | 'base' | 'lg' | 'xl' | 'none' | (Record<never, never> & string);
5
-
6
- @Directive({
7
- selector: 'ng-icon[hlm]',
8
- host: {
9
- '[style.--ng-icon__size]': '_computedSize()',
10
- },
11
- })
12
- export class HlmIcon {
13
- private readonly _config = injectHlmIconConfig();
14
- public readonly size = input<IconSize>(this._config.size);
15
-
16
- protected readonly _computedSize = computed(() => {
17
- const size = this.size();
18
-
19
- switch (size) {
20
- case 'xs':
21
- return '12px';
22
- case 'sm':
23
- return '16px';
24
- case 'base':
25
- return '24px';
26
- case 'lg':
27
- return '32px';
28
- case 'xl':
29
- return '48px';
30
- default: {
31
- return size;
32
- }
33
- }
34
- });
35
- }
@@ -1,13 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
-
3
- import { HlmCaption, HlmTable, HlmTBody, HlmTd, HlmTFoot, HlmTh, HlmTHead, HlmTr } from './lib/hlm-table';
4
-
5
- export * from './lib/hlm-table';
6
-
7
- export const HlmTableImports = [HlmCaption, HlmTable, HlmTBody, HlmTd, HlmTFoot, HlmTh, HlmTHead, HlmTr] as const;
8
-
9
- @NgModule({
10
- imports: [...HlmTableImports],
11
- exports: [...HlmTableImports],
12
- })
13
- export class HlmTableModule {}
@@ -1,220 +0,0 @@
1
- // src/app/directives/hlm-table-directives.ts
2
- import { computed, Directive, inject, InjectionToken, input, ValueProvider } from '@angular/core';
3
- import { hlm } from '@spartan-ng/brain/core';
4
- import type { ClassValue } from 'clsx';
5
-
6
- // Configuration Interface and InjectionToken
7
- export const HlmTableConfigToken = new InjectionToken<HlmTableVariant>('HlmTableConfig');
8
- export interface HlmTableVariant {
9
- table: string;
10
- thead: string;
11
- tbody: string;
12
- tfoot: string;
13
- tr: string;
14
- th: string;
15
- td: string;
16
- caption: string;
17
- }
18
-
19
- export const HlmTableVariantDefault: HlmTableVariant = {
20
- table: 'w-full caption-bottom text-sm',
21
- thead: '[&_tr]:border-b',
22
- tbody: '[&_tr:last-child]:border-0',
23
- tfoot: 'bg-muted/50 border-t font-medium [&>tr]:last:border-b-0',
24
- tr: 'hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors',
25
- th: 'text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',
26
- td: 'p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',
27
- caption: 'text-muted-foreground mt-4 text-sm',
28
- };
29
-
30
- export function provideHlmTableConfig(config: Partial<HlmTableVariant>): ValueProvider {
31
- return {
32
- provide: HlmTableConfigToken,
33
- useValue: { ...HlmTableVariantDefault, ...config },
34
- };
35
- }
36
-
37
- export function injectHlmTableConfig(): HlmTableVariant {
38
- return inject(HlmTableConfigToken, { optional: true }) ?? HlmTableVariantDefault;
39
- }
40
-
41
- /**
42
- * Directive to apply Shadcn-like styling to a <table> element.
43
- * It resolves and provides base classes for its child table elements.
44
- * If a table has the `hlmTable` attribute, it will be styled with the provided variant.
45
- * The other table elements will check if a parent table has the `hlmTable` attribute and will be styled accordingly.
46
- */
47
- @Directive({
48
- selector: 'table[hlmTable]',
49
- standalone: true,
50
- host: {
51
- '[class]': '_computedClass()',
52
- },
53
- })
54
- export class HlmTable {
55
- /** Input to configure the variant of the table, this input has the highest priority. */
56
- public readonly userVariant = input<Partial<HlmTableVariant> | string>({}, { alias: 'hlmTable' });
57
- public readonly userClass = input<ClassValue>('', { alias: 'class' });
58
-
59
- /** Global or default configuration provided by injectHlmTableConfig() */
60
- private readonly _globalOrDefaultConfig = injectHlmTableConfig();
61
-
62
- // Protected variant that resolves user input to a full HlmTableVariant
63
- protected readonly _variant = computed<HlmTableVariant>(() => {
64
- const globalOrDefaultConfig = this._globalOrDefaultConfig;
65
- const localInputConfig = this.userVariant();
66
-
67
- // Priority 1: Local input object
68
- if (typeof localInputConfig === 'object' && localInputConfig !== null && Object.keys(localInputConfig).length > 0) {
69
- // Merge local input with the baseline provided by injectHlmTableConfig()
70
- // This ensures that properties not in localInputConfig still fall back to global/default values.
71
- return { ...globalOrDefaultConfig, ...localInputConfig };
72
- }
73
- // If localInputConfig is not a non-empty object (e.g., it's undefined, an empty object, or a string),
74
- // then the globalOrDefaultConfig (which is already the result of injected OR default) is used.
75
- return globalOrDefaultConfig;
76
- });
77
-
78
- // Computed class for the host <table> element
79
- protected readonly _computedClass = computed(() => hlm(this._variant().table, this.userClass()));
80
- }
81
-
82
- /**
83
- * Directive to apply Shadcn-like styling to a <thead> element
84
- * within an HlmTableDirective context.
85
- */
86
- @Directive({
87
- selector: 'thead[hlmTHead]',
88
- standalone: true,
89
- host: {
90
- '[class]': '_computedClass()',
91
- },
92
- })
93
- export class HlmTHead {
94
- private readonly _globalOrDefaultConfig = injectHlmTableConfig();
95
- public readonly userClass = input<ClassValue>('', { alias: 'class' });
96
-
97
- protected readonly _computedClass = computed(() =>
98
- hlm(this._globalOrDefaultConfig ? this._globalOrDefaultConfig.thead.trim() : '', this.userClass()),
99
- );
100
- }
101
-
102
- /**
103
- * Directive to apply Shadcn-like styling to a <tbody> element
104
- * within an HlmTableDirective context.
105
- */
106
- @Directive({
107
- selector: 'tbody[hlmTBody]',
108
- standalone: true,
109
- host: {
110
- '[class]': '_computedClass()',
111
- },
112
- })
113
- export class HlmTBody {
114
- private readonly _globalOrDefaultConfig = injectHlmTableConfig();
115
- public readonly userClass = input<ClassValue>('', { alias: 'class' });
116
-
117
- protected readonly _computedClass = computed(() =>
118
- hlm(this._globalOrDefaultConfig ? this._globalOrDefaultConfig.tbody.trim() : '', this.userClass()),
119
- );
120
- }
121
-
122
- /**
123
- * Directive to apply Shadcn-like styling to a <tfoot> element
124
- * within an HlmTableDirective context.
125
- */
126
- @Directive({
127
- selector: 'tfoot[hlmTFoot]',
128
- standalone: true,
129
- host: {
130
- '[class]': '_computedClass()',
131
- },
132
- })
133
- export class HlmTFoot {
134
- private readonly _globalOrDefaultConfig = injectHlmTableConfig();
135
- public readonly userClass = input<ClassValue>('', { alias: 'class' });
136
-
137
- protected readonly _computedClass = computed(() =>
138
- hlm(this._globalOrDefaultConfig ? this._globalOrDefaultConfig.tfoot.trim() : '', this.userClass()),
139
- );
140
- }
141
-
142
- /**
143
- * Directive to apply Shadcn-like styling to a <tr> element
144
- * within an HlmTableDirective context.
145
- */
146
- @Directive({
147
- selector: 'tr[hlmTr]',
148
- standalone: true,
149
- host: {
150
- '[class]': '_computedClass()',
151
- },
152
- })
153
- export class HlmTr {
154
- private readonly _globalOrDefaultConfig = injectHlmTableConfig();
155
- public readonly userClass = input<ClassValue>('', { alias: 'class' });
156
-
157
- protected readonly _computedClass = computed(() =>
158
- hlm(this._globalOrDefaultConfig ? this._globalOrDefaultConfig.tr.trim() : '', this.userClass()),
159
- );
160
- }
161
-
162
- /**
163
- * Directive to apply Shadcn-like styling to a <th> element
164
- * within an HlmTableDirective context.
165
- */
166
- @Directive({
167
- selector: 'th[hlmTh]',
168
- standalone: true,
169
- host: {
170
- '[class]': '_computedClass()',
171
- },
172
- })
173
- export class HlmTh {
174
- private readonly _globalOrDefaultConfig = injectHlmTableConfig();
175
- public readonly userClass = input<ClassValue>('', { alias: 'class' });
176
-
177
- protected readonly _computedClass = computed(() =>
178
- hlm(this._globalOrDefaultConfig ? this._globalOrDefaultConfig.th.trim() : '', this.userClass()),
179
- );
180
- }
181
-
182
- /**
183
- * Directive to apply Shadcn-like styling to a <td> element
184
- * within an HlmTableDirective context.
185
- */
186
- @Directive({
187
- selector: 'td[hlmTd]',
188
- standalone: true,
189
- host: {
190
- '[class]': '_computedClass()',
191
- },
192
- })
193
- export class HlmTd {
194
- private readonly _globalOrDefaultConfig = injectHlmTableConfig();
195
- public readonly userClass = input<ClassValue>('', { alias: 'class' });
196
-
197
- protected readonly _computedClass = computed(() =>
198
- hlm(this._globalOrDefaultConfig ? this._globalOrDefaultConfig.td.trim() : '', this.userClass()),
199
- );
200
- }
201
-
202
- /**
203
- * Directive to apply Shadcn-like styling to a <caption> element
204
- * within an HlmTableDirective context.
205
- */
206
- @Directive({
207
- selector: 'caption[hlmCaption]',
208
- standalone: true,
209
- host: {
210
- '[class]': '_computedClass()',
211
- },
212
- })
213
- export class HlmCaption {
214
- private readonly _globalOrDefaultConfig = injectHlmTableConfig();
215
- public readonly userClass = input<ClassValue>('', { alias: 'class' });
216
-
217
- protected readonly _computedClass = computed(() =>
218
- hlm(this._globalOrDefaultConfig ? this._globalOrDefaultConfig.caption.trim() : '', this.userClass()),
219
- );
220
- }
package/components.json DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "componentsPath": "libs/ui"
3
- }