@3ddv/software-division-components 2.0.0-beta.0 → 2.0.1

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 (379) hide show
  1. package/package.json +43 -67
  2. package/styles.css +2 -46
  3. package/.postcssrc.json +0 -5
  4. package/.storybook/main.ts +0 -78
  5. package/.storybook/manager-head.html +0 -1
  6. package/.storybook/preview.ts +0 -30
  7. package/.storybook/tsconfig.json +0 -25
  8. package/.storybook/typings.d.ts +0 -4
  9. package/CHANGELOG.md +0 -8
  10. package/LICENSE.md +0 -21
  11. package/backoffice/checkbox/checkbox.component.css +0 -193
  12. package/backoffice/checkbox/checkbox.component.html +0 -23
  13. package/backoffice/checkbox/checkbox.component.ts +0 -252
  14. package/backoffice/checkbox/index.ts +0 -1
  15. package/backoffice/checkbox/ng-package.json +0 -1
  16. package/backoffice/checkbox/public-api.ts +0 -1
  17. package/backoffice/checkbox/story/checkbox.stories.ts +0 -304
  18. package/backoffice/datepicker/datepicker.component.css +0 -262
  19. package/backoffice/datepicker/datepicker.component.html +0 -40
  20. package/backoffice/datepicker/datepicker.component.ts +0 -366
  21. package/backoffice/datepicker/index.ts +0 -1
  22. package/backoffice/datepicker/ng-package.json +0 -1
  23. package/backoffice/datepicker/public-api.ts +0 -2
  24. package/backoffice/datepicker/story/datepicker.stories.ts +0 -32
  25. package/backoffice/datepicker/ui/ui-calendar-helm/src/index.ts +0 -14
  26. package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar-multi.ts +0 -183
  27. package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar.ts +0 -171
  28. package/backoffice/datepicker/ui/ui-date-picker-helm/src/index.ts +0 -16
  29. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.token.ts +0 -43
  30. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.ts +0 -177
  31. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.token.ts +0 -43
  32. package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.ts +0 -167
  33. package/backoffice/datepicker/ui/ui-icon-helm/src/index.ts +0 -11
  34. package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.token.ts +0 -20
  35. package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.ts +0 -35
  36. package/backoffice/datepicker/ui/ui-popover-helm/src/index.ts +0 -15
  37. package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-close.ts +0 -19
  38. package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-content.ts +0 -30
  39. package/backoffice/index.ts +0 -1
  40. package/backoffice/input/index.ts +0 -1
  41. package/backoffice/input/input.component.css +0 -319
  42. package/backoffice/input/input.component.html +0 -51
  43. package/backoffice/input/input.component.ts +0 -497
  44. package/backoffice/input/ng-package.json +0 -1
  45. package/backoffice/input/public-api.ts +0 -2
  46. package/backoffice/input/story/input.stories.ts +0 -243
  47. package/backoffice/radio/index.ts +0 -1
  48. package/backoffice/radio/ng-package.json +0 -1
  49. package/backoffice/radio/public-api.ts +0 -1
  50. package/backoffice/radio/radio.component.css +0 -143
  51. package/backoffice/radio/radio.component.html +0 -15
  52. package/backoffice/radio/radio.component.ts +0 -154
  53. package/backoffice/radio/story/radio.stories.ts +0 -287
  54. package/backoffice/table/_components/pagination/pagination.component.css +0 -117
  55. package/backoffice/table/_components/pagination/pagination.component.html +0 -55
  56. package/backoffice/table/_components/pagination/pagination.component.ts +0 -79
  57. package/backoffice/table/_components/selection-table-head/selection-table-head.component.css +0 -0
  58. package/backoffice/table/_components/selection-table-head/selection-table-head.component.html +0 -6
  59. package/backoffice/table/_components/selection-table-head/selection-table-head.component.ts +0 -36
  60. package/backoffice/table/_components/selection-table-row/selection-table-row.component.css +0 -0
  61. package/backoffice/table/_components/selection-table-row/selection-table-row.component.html +0 -5
  62. package/backoffice/table/_components/selection-table-row/selection-table-row.component.ts +0 -12
  63. package/backoffice/table/_components/sort-header-button/sort-header-button.component.css +0 -14
  64. package/backoffice/table/_components/sort-header-button/sort-header-button.component.html +0 -11
  65. package/backoffice/table/_components/sort-header-button/sort-header-button.component.ts +0 -55
  66. package/backoffice/table/index.ts +0 -1
  67. package/backoffice/table/ng-package.json +0 -1
  68. package/backoffice/table/public-api.ts +0 -6
  69. package/backoffice/table/story/table.stories.ts +0 -364
  70. package/backoffice/table/table.component.css +0 -172
  71. package/backoffice/table/table.component.html +0 -53
  72. package/backoffice/table/table.component.ts +0 -347
  73. package/backoffice/table/ui/ui-icon-helm/src/index.ts +0 -11
  74. package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.token.ts +0 -20
  75. package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.ts +0 -35
  76. package/backoffice/table/ui/ui-table-helm/src/index.ts +0 -13
  77. package/backoffice/table/ui/ui-table-helm/src/lib/hlm-table.ts +0 -220
  78. package/components.json +0 -3
  79. package/dist/styles.css +0 -2
  80. package/documentation.json +0 -30473
  81. package/dvm/cart/cart.component.css +0 -103
  82. package/dvm/cart/cart.component.html +0 -31
  83. package/dvm/cart/cart.component.ts +0 -49
  84. package/dvm/cart/cart.stories.ts +0 -370
  85. package/dvm/cart/cart.types.ts +0 -8
  86. package/dvm/cart/index.ts +0 -2
  87. package/dvm/cart/ng-package.json +0 -1
  88. package/dvm/cart/public-api.ts +0 -8
  89. package/dvm/cart/seat-list.component.css +0 -281
  90. package/dvm/cart/seat-list.component.html +0 -85
  91. package/dvm/cart/seat-list.component.ts +0 -76
  92. package/dvm/cart/seat-list.stories.ts +0 -337
  93. package/dvm/cart-item/cart-item.component.html +0 -1
  94. package/dvm/cart-item/cart-item.component.ts +0 -8
  95. package/dvm/cart-item/cart-item.service.ts +0 -8
  96. package/dvm/cart-item/cart.stories.ts +0 -31
  97. package/dvm/cart-item/index.ts +0 -1
  98. package/dvm/cart-item/ng-package.json +0 -1
  99. package/dvm/cart-item/public-api.ts +0 -6
  100. package/dvm/index.ts +0 -1
  101. package/dvm/legend/index.ts +0 -1
  102. package/dvm/legend/legend.component.css +0 -49
  103. package/dvm/legend/legend.component.html +0 -8
  104. package/dvm/legend/legend.component.ts +0 -41
  105. package/dvm/legend/legend.stories.ts +0 -16
  106. package/dvm/legend/ng-package.json +0 -1
  107. package/dvm/legend/public-api.ts +0 -7
  108. package/dvm/legend/types.ts +0 -6
  109. package/dvm/legend/ui/legend-elements/index.ts +0 -1
  110. package/dvm/legend/ui/legend-elements/legend-elements.component.css +0 -49
  111. package/dvm/legend/ui/legend-elements/legend-elements.component.html +0 -8
  112. package/dvm/legend/ui/legend-elements/legend-elements.component.ts +0 -41
  113. package/dvm/loader/index.ts +0 -1
  114. package/dvm/loader/loader.component.html +0 -1
  115. package/dvm/loader/loader.component.ts +0 -8
  116. package/dvm/loader/loader.service.ts +0 -8
  117. package/dvm/loader/loader.stories.ts +0 -31
  118. package/dvm/loader/ng-package.json +0 -1
  119. package/dvm/loader/public-api.ts +0 -6
  120. package/dvm/map-loader/index.ts +0 -1
  121. package/dvm/map-loader/map-loader.component.css +0 -91
  122. package/dvm/map-loader/map-loader.component.html +0 -23
  123. package/dvm/map-loader/map-loader.component.ts +0 -187
  124. package/dvm/map-loader/map-loader.stories.ts +0 -16
  125. package/dvm/map-loader/ng-package.json +0 -1
  126. package/dvm/map-loader/public-api.ts +0 -5
  127. package/dvm/neighbors/index.ts +0 -1
  128. package/dvm/neighbors/neighbors.component.css +0 -158
  129. package/dvm/neighbors/neighbors.component.html +0 -45
  130. package/dvm/neighbors/neighbors.component.ts +0 -218
  131. package/dvm/neighbors/ng-package.json +0 -1
  132. package/dvm/neighbors/public-api.ts +0 -2
  133. package/dvm/neighbors/story/arrow-left-black-icon.svg +0 -3
  134. package/dvm/neighbors/story/mock-data.ts +0 -15
  135. package/dvm/neighbors/story/neighbours.stories.css +0 -12
  136. package/dvm/neighbors/story/neighbours.stories.ts +0 -117
  137. package/dvm/neighbors/types.ts +0 -14
  138. package/dvm/popover/base-popover.component.ts +0 -70
  139. package/dvm/popover/index.ts +0 -1
  140. package/dvm/popover/ng-package.json +0 -1
  141. package/dvm/popover/popover.component.css +0 -227
  142. package/dvm/popover/popover.component.html +0 -27
  143. package/dvm/popover/popover.component.ts +0 -236
  144. package/dvm/popover/popover.config.ts +0 -30
  145. package/dvm/popover/popover.service.ts +0 -627
  146. package/dvm/popover/popover.stories.ts +0 -873
  147. package/dvm/popover/public-api.ts +0 -14
  148. package/dvm/popover/seat-popover/seat-popover.component.css +0 -89
  149. package/dvm/popover/seat-popover/seat-popover.component.html +0 -40
  150. package/dvm/popover/seat-popover/seat-popover.component.ts +0 -74
  151. package/dvm/popover/section-popover/section-popover.component.css +0 -157
  152. package/dvm/popover/section-popover/section-popover.component.html +0 -58
  153. package/dvm/popover/section-popover/section-popover.component.ts +0 -106
  154. package/dvm/popover/services/dvm-popover-positioner.service.ts +0 -73
  155. package/dvm/popover/services/popover-manager.service.ts +0 -88
  156. package/dvm/popover/transformers/base-popover-data-transformer.ts +0 -36
  157. package/dvm/popover/types.ts +0 -104
  158. package/dvm/stepper/index.ts +0 -1
  159. package/dvm/stepper/ng-package.json +0 -1
  160. package/dvm/stepper/public-api.ts +0 -5
  161. package/dvm/stepper/stepper.component.css +0 -142
  162. package/dvm/stepper/stepper.component.html +0 -9
  163. package/dvm/stepper/stepper.component.ts +0 -101
  164. package/dvm/stepper/types.ts +0 -6
  165. package/dvm/ticket-info-item/index.ts +0 -1
  166. package/dvm/ticket-info-item/ng-package.json +0 -1
  167. package/dvm/ticket-info-item/public-api.ts +0 -6
  168. package/dvm/ticket-info-item/ticket-info-item.component.html +0 -1
  169. package/dvm/ticket-info-item/ticket-info-item.component.ts +0 -8
  170. package/dvm/ticket-info-item/ticket-info-item.service.ts +0 -8
  171. package/dvm/ticket-info-item/ticket-info-item.stories.ts +0 -31
  172. package/generic/add-digital-wallet/add-digital-wallet.component.css +0 -76
  173. package/generic/add-digital-wallet/add-digital-wallet.component.html +0 -46
  174. package/generic/add-digital-wallet/add-digital-wallet.component.ts +0 -44
  175. package/generic/add-digital-wallet/index.ts +0 -1
  176. package/generic/add-digital-wallet/ng-package.json +0 -1
  177. package/generic/add-digital-wallet/public-api.ts +0 -1
  178. package/generic/braintree/braintree.component.css +0 -7
  179. package/generic/braintree/braintree.component.ts +0 -134
  180. package/generic/braintree/index.ts +0 -1
  181. package/generic/braintree/ng-package.json +0 -1
  182. package/generic/braintree/public-api.ts +0 -6
  183. package/generic/braintree/story/braintree.stories.css +0 -3
  184. package/generic/braintree/story/braintree.stories.ts +0 -27
  185. package/generic/braintree/types.ts +0 -28
  186. package/generic/button/button.component.css +0 -305
  187. package/generic/button/button.component.html +0 -10
  188. package/generic/button/button.component.ts +0 -353
  189. package/generic/button/index.ts +0 -1
  190. package/generic/button/ng-package.json +0 -1
  191. package/generic/button/public-api.ts +0 -6
  192. package/generic/button/story/button.stories.ts +0 -384
  193. package/generic/button/ui/ui-button-helm/src/index.ts +0 -10
  194. package/generic/button/ui/ui-button-helm/src/lib/hlm-button.token.ts +0 -22
  195. package/generic/button/ui/ui-button-helm/src/lib/hlm-button.ts +0 -62
  196. package/generic/carousel/carousel-item.component.ts +0 -15
  197. package/generic/carousel/carousel-item.directive.ts +0 -14
  198. package/generic/carousel/carousel.component.css +0 -90
  199. package/generic/carousel/carousel.component.html +0 -13
  200. package/generic/carousel/carousel.component.ts +0 -44
  201. package/generic/carousel/index.ts +0 -1
  202. package/generic/carousel/public-api.ts +0 -2
  203. package/generic/carousel/ui/ui-carousel-helm/src/index.ts +0 -29
  204. package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-content.ts +0 -23
  205. package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-item.ts +0 -25
  206. package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-next.ts +0 -58
  207. package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-previous.ts +0 -61
  208. package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-slide-display.ts +0 -36
  209. package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel.ts +0 -105
  210. package/generic/dialog/dialog.component.css +0 -5
  211. package/generic/dialog/dialog.component.html +0 -3
  212. package/generic/dialog/dialog.component.ts +0 -20
  213. package/generic/dialog/dialog.stories.ts +0 -14
  214. package/generic/dialog/index.ts +0 -1
  215. package/generic/dialog/libs/ui-dialog-helm/src/index.ts +0 -37
  216. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-close.ts +0 -20
  217. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-content.ts +0 -56
  218. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-description.ts +0 -17
  219. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-footer.ts +0 -19
  220. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-header.ts +0 -19
  221. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-overlay.ts +0 -23
  222. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-title.ts +0 -19
  223. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.service.ts +0 -59
  224. package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.ts +0 -31
  225. package/generic/dialog/ng-package.json +0 -1
  226. package/generic/dialog/public-api.ts +0 -7
  227. package/generic/dialog/tsconfig.json +0 -7
  228. package/generic/dialog/ui/dialog-close-button/dialog-close-button.component.css +0 -0
  229. package/generic/dialog/ui/dialog-close-button/dialog-close-button.component.html +0 -1
  230. package/generic/dialog/ui/dialog-close-button/dialog-close-button.component.ts +0 -17
  231. package/generic/dialog/ui/dialog-footer/dialog-footer.component.css +0 -0
  232. package/generic/dialog/ui/dialog-footer/dialog-footer.component.html +0 -3
  233. package/generic/dialog/ui/dialog-footer/dialog-footer.component.ts +0 -11
  234. package/generic/dialog/ui/dialog-header/dialog-header.component.css +0 -0
  235. package/generic/dialog/ui/dialog-header/dialog-header.component.html +0 -8
  236. package/generic/dialog/ui/dialog-header/dialog-header.component.ts +0 -18
  237. package/generic/drawer/drawer.component.html +0 -1
  238. package/generic/drawer/drawer.component.ts +0 -8
  239. package/generic/drawer/drawer.service.ts +0 -8
  240. package/generic/drawer/drawer.stories.ts +0 -31
  241. package/generic/drawer/index.ts +0 -1
  242. package/generic/drawer/ng-package.json +0 -1
  243. package/generic/drawer/public-api.ts +0 -6
  244. package/generic/icon/icon.component.css +0 -7
  245. package/generic/icon/icon.component.html +0 -3
  246. package/generic/icon/icon.component.ts +0 -86
  247. package/generic/icon/icon.stories.ts +0 -16
  248. package/generic/icon/index.ts +0 -1
  249. package/generic/icon/lib/ui-icon-helm/src/index.ts +0 -11
  250. package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.token.ts +0 -20
  251. package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.ts +0 -36
  252. package/generic/icon/ng-package.json +0 -1
  253. package/generic/icon/public-api.ts +0 -6
  254. package/generic/icon/tsconfig.json +0 -7
  255. package/generic/index.ts +0 -1
  256. package/generic/select/index.ts +0 -1
  257. package/generic/select/lib/hlm-select-content.ts +0 -29
  258. package/generic/select/lib/hlm-select-group.ts +0 -17
  259. package/generic/select/lib/hlm-select-label.ts +0 -26
  260. package/generic/select/lib/hlm-select-option.ts +0 -37
  261. package/generic/select/lib/hlm-select-scroll-down.ts +0 -24
  262. package/generic/select/lib/hlm-select-scroll-up.ts +0 -23
  263. package/generic/select/lib/hlm-select-trigger.ts +0 -53
  264. package/generic/select/lib/hlm-select-value.ts +0 -17
  265. package/generic/select/lib/hlm-select.ts +0 -15
  266. package/generic/select/lib/index.ts +0 -38
  267. package/generic/select/ng-package.json +0 -1
  268. package/generic/select/public-api.ts +0 -3
  269. package/generic/select/select.component.css +0 -65
  270. package/generic/select/select.component.html +0 -19
  271. package/generic/select/select.component.ts +0 -25
  272. package/generic/select/types.ts +0 -4
  273. package/ng-package.json +0 -10
  274. package/public/3ddv-logo.jpg +0 -0
  275. package/public/neighbours-after.png +0 -0
  276. package/public/neighbours-before.png +0 -0
  277. package/shared/apply-theme-variables/apply-theme-variables.ts +0 -35
  278. package/shared/apply-theme-variables/index.ts +0 -1
  279. package/shared/format-value.pipe.ts +0 -23
  280. package/shared/index.ts +0 -1
  281. package/shared/lib-provider/config-token.ts +0 -4
  282. package/shared/lib-provider/index.ts +0 -1
  283. package/shared/lib-provider/provide-sdc.ts +0 -24
  284. package/shared/lib-provider/public-api.ts +0 -1
  285. package/shared/ng-package.json +0 -1
  286. package/shared/public-api.ts +0 -6
  287. package/shared/screen-observer/index.ts +0 -2
  288. package/shared/screen-observer/provide-screen-observer.ts +0 -17
  289. package/shared/screen-observer/screen-observer.ts +0 -56
  290. package/shared/screen-observer/sizable-base.ts +0 -70
  291. package/shared/theme-provider/generic-theme.ts +0 -1
  292. package/shared/theme-provider/index.ts +0 -1
  293. package/shared/theme-provider/public-api.ts +0 -1
  294. package/shared/theme-provider/theme-provider.directive.ts +0 -17
  295. package/shared/themes/sdc.css +0 -153
  296. package/shared/types.ts +0 -18
  297. package/src/private-exports.ts +0 -1
  298. package/src/public-api.ts +0 -20
  299. package/tsconfig.json +0 -50
  300. package/tsconfig.lib.prod.json +0 -6
  301. package/tsconfig.spec.json +0 -15
  302. package/tsconfig.temp.json +0 -1
  303. package/utils/index.ts +0 -1
  304. package/utils/ng-package.json +0 -1
  305. package/utils/public-api.ts +0 -1
  306. package/utils/validate-styles-for-component.ts +0 -39
  307. /package/{dist/README.md → README.md} +0 -0
  308. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-checkbox.mjs +0 -0
  309. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-checkbox.mjs.map +0 -0
  310. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-datepicker.mjs +0 -0
  311. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-datepicker.mjs.map +0 -0
  312. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-input.mjs +0 -0
  313. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-input.mjs.map +0 -0
  314. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-radio.mjs +0 -0
  315. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-radio.mjs.map +0 -0
  316. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-table.mjs +0 -0
  317. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-table.mjs.map +0 -0
  318. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-cart-item.mjs +0 -0
  319. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-cart-item.mjs.map +0 -0
  320. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-cart.mjs +0 -0
  321. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-cart.mjs.map +0 -0
  322. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-legend.mjs +0 -0
  323. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-legend.mjs.map +0 -0
  324. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-loader.mjs +0 -0
  325. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-loader.mjs.map +0 -0
  326. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-map-loader.mjs +0 -0
  327. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-map-loader.mjs.map +0 -0
  328. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-neighbors.mjs +0 -0
  329. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-neighbors.mjs.map +0 -0
  330. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-popover.mjs +0 -0
  331. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-popover.mjs.map +0 -0
  332. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-stepper.mjs +0 -0
  333. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-stepper.mjs.map +0 -0
  334. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-ticket-info-item.mjs +0 -0
  335. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-ticket-info-item.mjs.map +0 -0
  336. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-add-digital-wallet.mjs +0 -0
  337. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-add-digital-wallet.mjs.map +0 -0
  338. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-braintree.mjs +0 -0
  339. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-braintree.mjs.map +0 -0
  340. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-button.mjs +0 -0
  341. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-button.mjs.map +0 -0
  342. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-dialog.mjs +0 -0
  343. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-dialog.mjs.map +0 -0
  344. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-drawer.mjs +0 -0
  345. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-drawer.mjs.map +0 -0
  346. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-icon.mjs +0 -0
  347. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-icon.mjs.map +0 -0
  348. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-select.mjs +0 -0
  349. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-select.mjs.map +0 -0
  350. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-shared.mjs +0 -0
  351. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-shared.mjs.map +0 -0
  352. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-utils.mjs +0 -0
  353. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-utils.mjs.map +0 -0
  354. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components.mjs +0 -0
  355. /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components.mjs.map +0 -0
  356. /package/{dist/types → types}/3ddv-software-division-components-backoffice-checkbox.d.ts +0 -0
  357. /package/{dist/types → types}/3ddv-software-division-components-backoffice-datepicker.d.ts +0 -0
  358. /package/{dist/types → types}/3ddv-software-division-components-backoffice-input.d.ts +0 -0
  359. /package/{dist/types → types}/3ddv-software-division-components-backoffice-radio.d.ts +0 -0
  360. /package/{dist/types → types}/3ddv-software-division-components-backoffice-table.d.ts +0 -0
  361. /package/{dist/types → types}/3ddv-software-division-components-dvm-cart-item.d.ts +0 -0
  362. /package/{dist/types → types}/3ddv-software-division-components-dvm-cart.d.ts +0 -0
  363. /package/{dist/types → types}/3ddv-software-division-components-dvm-legend.d.ts +0 -0
  364. /package/{dist/types → types}/3ddv-software-division-components-dvm-loader.d.ts +0 -0
  365. /package/{dist/types → types}/3ddv-software-division-components-dvm-map-loader.d.ts +0 -0
  366. /package/{dist/types → types}/3ddv-software-division-components-dvm-neighbors.d.ts +0 -0
  367. /package/{dist/types → types}/3ddv-software-division-components-dvm-popover.d.ts +0 -0
  368. /package/{dist/types → types}/3ddv-software-division-components-dvm-stepper.d.ts +0 -0
  369. /package/{dist/types → types}/3ddv-software-division-components-dvm-ticket-info-item.d.ts +0 -0
  370. /package/{dist/types → types}/3ddv-software-division-components-generic-add-digital-wallet.d.ts +0 -0
  371. /package/{dist/types → types}/3ddv-software-division-components-generic-braintree.d.ts +0 -0
  372. /package/{dist/types → types}/3ddv-software-division-components-generic-button.d.ts +0 -0
  373. /package/{dist/types → types}/3ddv-software-division-components-generic-dialog.d.ts +0 -0
  374. /package/{dist/types → types}/3ddv-software-division-components-generic-drawer.d.ts +0 -0
  375. /package/{dist/types → types}/3ddv-software-division-components-generic-icon.d.ts +0 -0
  376. /package/{dist/types → types}/3ddv-software-division-components-generic-select.d.ts +0 -0
  377. /package/{dist/types → types}/3ddv-software-division-components-shared.d.ts +0 -0
  378. /package/{dist/types → types}/3ddv-software-division-components-utils.d.ts +0 -0
  379. /package/{dist/types → types}/3ddv-software-division-components.d.ts +0 -0
@@ -1,287 +0,0 @@
1
- import { FormControl } from '@angular/forms';
2
- import type { Meta, StoryObj } from '@storybook/angular';
3
- import { RadioComponent } from '../radio.component';
4
-
5
- const meta: Meta<RadioComponent> = {
6
- title: 'Backoffice/Radio',
7
- component: RadioComponent,
8
- parameters: {
9
- layout: 'centered',
10
- },
11
- tags: ['autodocs'],
12
- };
13
-
14
- export default meta;
15
- type Story = StoryObj<RadioComponent>;
16
-
17
- // Basic radio with default settings
18
- export const Default: Story = {
19
- render: () => ({
20
- props: {
21
- formControl: new FormControl('option1'),
22
- },
23
- template: `
24
- <sdc-radio
25
- label="Option 1"
26
- name="default-group"
27
- value="option1"
28
- [control]="formControl"
29
- />
30
- `,
31
- }),
32
- };
33
-
34
- // Radio group with multiple options
35
- export const RadioGroup: Story = {
36
- render: () => ({
37
- props: {
38
- formControl: new FormControl('option1'),
39
- },
40
- template: `
41
- <div style="display: flex; flex-direction: column; gap: 1rem;">
42
- <sdc-radio
43
- label="Option 1"
44
- name="group1"
45
- value="option1"
46
- [control]="formControl"
47
- />
48
- <sdc-radio
49
- label="Option 2"
50
- name="group1"
51
- value="option2"
52
- [control]="formControl"
53
- />
54
- <sdc-radio
55
- label="Option 3"
56
- name="group1"
57
- value="option3"
58
- [control]="formControl"
59
- />
60
- </div>
61
- `,
62
- }),
63
- };
64
-
65
- // Radio with label on the right
66
- export const LabelRight: Story = {
67
- render: () => ({
68
- props: {
69
- formControl: new FormControl('option1'),
70
- },
71
- template: `
72
- <sdc-radio
73
- label="Option with right label"
74
- labelPosition="right"
75
- name="right-label"
76
- value="option1"
77
- [control]="formControl"
78
- />
79
- `,
80
- }),
81
- };
82
-
83
- // Radio with different themes
84
- export const ThemeVariations: Story = {
85
- render: () => ({
86
- template: `
87
- <div style="display: flex; flex-direction: column; gap: 1rem;">
88
- <sdc-radio
89
- label="SDC Theme"
90
- theme="theme-sdc"
91
- name="theme-sdc"
92
- value="sdc"
93
- [control]="sdcControl"
94
- />
95
- <sdc-radio
96
- label="Backoffice Theme"
97
- theme="theme-backoffice"
98
- name="theme-backoffice"
99
- value="backoffice"
100
- [control]="backofficeControl"
101
- />
102
- </div>
103
- `,
104
- props: {
105
- sdcControl: new FormControl('sdc'),
106
- backofficeControl: new FormControl('backoffice'),
107
- },
108
- }),
109
- };
110
-
111
- // Radio with different style classes (variants and sizes)
112
- export const StyleVariations: Story = {
113
- render: () => ({
114
- template: `
115
- <div style="display: flex; flex-direction: column; gap: 1rem; width: 400px;">
116
- <div style="display: flex; flex-direction: column; gap: 0.5rem;">
117
- <h4 style="margin: 0; color: #666;">Primary Variant</h4>
118
- <sdc-radio
119
- label="Primary Option"
120
- [styleClass]="['variant-primary', 'size-md']"
121
- name="primary-group"
122
- value="primary"
123
- [control]="primaryControl"
124
- />
125
- </div>
126
-
127
- <div style="display: flex; flex-direction: column; gap: 0.5rem;">
128
- <h4 style="margin: 0; color: #666;">Secondary Variant</h4>
129
- <sdc-radio
130
- label="Secondary Option"
131
- [styleClass]="['variant-secondary', 'size-md']"
132
- name="secondary-group"
133
- value="secondary"
134
- [control]="secondaryControl"
135
- />
136
- </div>
137
-
138
- <div style="display: flex; flex-direction: column; gap: 0.5rem;">
139
- <h4 style="margin: 0; color: #666;">Alternative Variant</h4>
140
- <sdc-radio
141
- label="Alternative Option"
142
- [styleClass]="['variant-alternative', 'size-md']"
143
- name="alternative-group"
144
- value="alternative"
145
- [control]="alternativeControl"
146
- />
147
- </div>
148
-
149
- <div style="display: flex; flex-direction: column; gap: 0.5rem;">
150
- <h4 style="margin: 0; color: #666;">Success Variant</h4>
151
- <sdc-radio
152
- label="Success Option"
153
- [styleClass]="['variant-success', 'size-md']"
154
- name="success-group"
155
- value="success"
156
- [control]="successControl"
157
- />
158
- </div>
159
-
160
- <div style="display: flex; flex-direction: column; gap: 0.5rem;">
161
- <h4 style="margin: 0; color: #666;">Warning Variant</h4>
162
- <sdc-radio
163
- label="Warning Option"
164
- [styleClass]="['variant-warning', 'size-md']"
165
- name="warning-group"
166
- value="warning"
167
- [control]="warningControl"
168
- />
169
- </div>
170
-
171
- <div style="display: flex; flex-direction: column; gap: 0.5rem;">
172
- <h4 style="margin: 0; color: #666;">Danger Variant</h4>
173
- <sdc-radio
174
- label="Danger Option"
175
- [styleClass]="['variant-danger', 'size-md']"
176
- name="danger-group"
177
- value="danger"
178
- [control]="dangerControl"
179
- />
180
- </div>
181
- </div>
182
- `,
183
- props: {
184
- primaryControl: new FormControl('primary'),
185
- secondaryControl: new FormControl('secondary'),
186
- alternativeControl: new FormControl('alternative'),
187
- successControl: new FormControl('success'),
188
- warningControl: new FormControl('warning'),
189
- dangerControl: new FormControl('danger'),
190
- },
191
- }),
192
- };
193
-
194
- // Radio with different sizes
195
- export const SizeVariations: Story = {
196
- render: () => ({
197
- template: `
198
- <div style="display: flex; flex-direction: column; gap: 1rem; width: 400px;">
199
- <div style="display: flex; flex-direction: column; gap: 0.5rem;">
200
- <h4 style="margin: 0; color: #666;">Small Size</h4>
201
- <sdc-radio
202
- label="Small Radio"
203
- [styleClass]="['size-sm']"
204
- name="size-sm"
205
- value="small"
206
- [control]="smallControl"
207
- />
208
- </div>
209
-
210
- <div style="display: flex; flex-direction: column; gap: 0.5rem;">
211
- <h4 style="margin: 0; color: #666;">Medium Size</h4>
212
- <sdc-radio
213
- label="Medium Radio"
214
- [styleClass]="['size-md']"
215
- name="size-md"
216
- value="medium"
217
- [control]="mediumControl"
218
- />
219
- </div>
220
-
221
- <div style="display: flex; flex-direction: column; gap: 0.5rem;">
222
- <h4 style="margin: 0; color: #666;">Large Size</h4>
223
- <sdc-radio
224
- label="Large Radio"
225
- [styleClass]="['size-lg']"
226
- name="size-lg"
227
- value="large"
228
- [control]="largeControl"
229
- />
230
- </div>
231
-
232
- <div style="display: flex; flex-direction: column; gap: 0.5rem;">
233
- <h4 style="margin: 0; color: #666;">Extra Large Size</h4>
234
- <sdc-radio
235
- label="Extra Large Radio"
236
- [styleClass]="['size-xl']"
237
- name="size-xl"
238
- value="xl"
239
- [control]="xlControl"
240
- />
241
- </div>
242
- </div>
243
- `,
244
- props: {
245
- smallControl: new FormControl('small'),
246
- mediumControl: new FormControl('medium'),
247
- largeControl: new FormControl('large'),
248
- xlControl: new FormControl('xl'),
249
- },
250
- }),
251
- };
252
-
253
- // Disabled radio
254
- export const Disabled: Story = {
255
- render: () => ({
256
- props: {
257
- formControl: new FormControl('option1'),
258
- },
259
- template: `
260
- <sdc-radio
261
- label="Disabled Option"
262
- name="disabled-group"
263
- value="option1"
264
- [disabled]="true"
265
- [control]="formControl"
266
- />
267
- `,
268
- }),
269
- };
270
-
271
- // Radio with custom className
272
- export const CustomClassName: Story = {
273
- render: () => ({
274
- props: {
275
- formControl: new FormControl('option1'),
276
- },
277
- template: `
278
- <sdc-radio
279
- label="Custom Styled Option"
280
- name="custom-group"
281
- value="option1"
282
- className="border-2 border-blue-500 p-2 rounded"
283
- [control]="formControl"
284
- />
285
- `,
286
- }),
287
- };
@@ -1,117 +0,0 @@
1
- .pagination {
2
- --sdc-pagination-padding: var(--space-6) 0;
3
- --sdc-pagination-background: var(--color-neutral-100);
4
- --sdc-pagination-button-text-size: var(--text-sm);
5
- --sdc-pagination-button-text-weight: var(--font-bold);
6
- --sdc-pagination-button-background: var(--color-pure-white);
7
- --sdc-pagination-button-foreground: var(--color-neutral-700);
8
- --sdc-pagination-button-hover-background: var(--color-primary);
9
- --sdc-pagination-button-hover-foreground: var(--color-pure-white);
10
- --sdc-pagination-button-active-background: var(--color-primary);
11
- --sdc-pagination-button-active-foreground: var(--color-pure-white);
12
- --sdc-pagination-button-disabled-background: var(--color-neutral-200);
13
- --sdc-pagination-button-disabled-foreground: var(--color-neutral-500);
14
- --sdc-pagination-button-gap: var(--space-2);
15
- --sdc-pagination-button-width: var(--space-8);
16
- --sdc-pagination-button-height: var(--space-8);
17
- --sdc-pagination-button-border-radius: var(--radius-full);
18
-
19
- display: flex;
20
- justify-content: center;
21
- align-items: center;
22
- position: relative; /* For the export button */
23
- background: hsl(var(--sdc-pagination-background));
24
- padding: var(--sdc-pagination-padding);
25
- }
26
-
27
- .pagination-controls {
28
- display: flex;
29
- align-items: center;
30
- gap: var(--sdc-pagination-button-gap);
31
- }
32
-
33
- /* Pagination buttons */
34
- .pagination-button {
35
- width: var(--sdc-pagination-button-width);
36
- height: var(--sdc-pagination-button-height);
37
- background: hsl(var(--sdc-pagination-button-background));
38
- border-radius: var(--sdc-pagination-button-border-radius);
39
- font-size: var(--sdc-pagination-button-text-size);
40
- font-weight: var(--sdc-pagination-button-text-weight);
41
- transition: all 0.15s ease-in-out;
42
- border: none;
43
- cursor: pointer;
44
- display: flex;
45
- align-items: center;
46
- justify-content: center;
47
- }
48
-
49
- .pagination-button.first-page {
50
- margin-right: var(--space-8);
51
- }
52
-
53
- .pagination-button.last-page {
54
- margin-left: var(--space-8);
55
- }
56
-
57
- .pagination-button:not(.active) {
58
- background: hsl(var(--sdc-pagination-button-background));
59
- color: hsl(var(--sdc-pagination-button-foreground));
60
- border-color: none;
61
- }
62
-
63
- .pagination-button:not(.active):hover:not(:disabled) {
64
- background: hsl(var(--sdc-pagination-button-hover-background));
65
- color: hsl(var(--sdc-pagination-button-hover-foreground));
66
- }
67
-
68
- .pagination-button.active {
69
- background: hsl(var(--sdc-pagination-button-active-background));
70
- color: hsl(var(--sdc-pagination-button-active-foreground));
71
- border-color: none;
72
- }
73
-
74
- .pagination-button:disabled {
75
- background: hsl(var(--sdc-pagination-button-disabled-background));
76
- color: hsl(var(--sdc-pagination-button-disabled-foreground));
77
- cursor: not-allowed;
78
- opacity: 0.5;
79
- }
80
-
81
- .pagination-nav-button {
82
- background: hsl(var(--sdc-pagination-button-background));
83
- color: hsl(var(--color-neutral-500));
84
- border: none;
85
- }
86
-
87
- .pagination-nav-button:hover:not(:disabled) {
88
- background: hsl(var(--sdc-pagination-button-hover-background));
89
- }
90
-
91
- /* No data state */
92
- .no-data-container {
93
- display: flex;
94
- justify-content: center;
95
- align-items: center;
96
- width: 100%;
97
- padding: var(--space-4);
98
- }
99
-
100
- .no-data-text {
101
- color: hsl(var(--color-neutral-500));
102
- font-size: var(--text-sm);
103
- }
104
-
105
- /* Export button */
106
- .export-button {
107
- position: absolute;
108
- right: var(--space-6); /* same as pagination-container */
109
- }
110
-
111
- /* Responsive adjustments */
112
- @media (max-width: 768px) {
113
- .pagination-container {
114
- flex-direction: column;
115
- gap: var(--space-4);
116
- }
117
- }
@@ -1,55 +0,0 @@
1
- <div class="pagination" [class]="theme()">
2
- <!-- Pagination Controls -->
3
- <div class="pagination-controls">
4
- <!-- First Page Button (conditional) -->
5
- @if (showFirstLastButtons()) {
6
- <button
7
- class="pagination-button first-page"
8
- [disabled]="!table().getCanPreviousPage()"
9
- (click)="table().setPageIndex(0)">
10
- 1
11
- </button>
12
- }
13
-
14
- @if (table().getRowCount() > 0) {
15
- <!-- Previous Page Button -->
16
- <button class="pagination-button" [disabled]="!table().getCanPreviousPage()" (click)="table().previousPage()">
17
- <ng-icon hlm name="lucideChevronLeft" size="base" />
18
- </button>
19
-
20
- <!-- Page Numbers -->
21
- @for (pageIndex of getVisiblePageNumbers(); track pageIndex) {
22
- <button
23
- class="pagination-button"
24
- [class.active]="pageIndex === table().getState().pagination.pageIndex"
25
- (click)="table().setPageIndex(pageIndex)">
26
- {{ pageIndex + 1 }}
27
- </button>
28
- }
29
-
30
- <!-- Next Page Button -->
31
- <button class="pagination-button" [disabled]="!table().getCanNextPage()" (click)="table().nextPage()">
32
- <ng-icon hlm name="lucideChevronRight" size="base" />
33
- </button>
34
-
35
- <!-- Last Page Button (conditional) -->
36
- @if (showFirstLastButtons()) {
37
- <button
38
- class="pagination-button last-page"
39
- [disabled]="!table().getCanNextPage()"
40
- (click)="table().setPageIndex(table().getPageCount() - 1)">
41
- {{ table().getPageCount() }}
42
- </button>
43
- }
44
- } @else {
45
- <div class="no-data-container">
46
- <div class="no-data-text">No Data</div>
47
- </div>
48
- }
49
- </div>
50
-
51
- <!-- Added Export button to match the design -->
52
- <div class="export-button">
53
- <sdc-button (click)="onExportClick()">{{ exportButtonText() }}</sdc-button>
54
- </div>
55
- </div>
@@ -1,79 +0,0 @@
1
- import { ButtonComponent } from '@3ddv/software-division-components/generic/button';
2
- import { HlmIconModule } from '@3ddv/software-division-components/generic/icon';
3
- import { ThemeClass } from '@3ddv/software-division-components/shared';
4
- import { Component, input, output } from '@angular/core';
5
- import { NgIcon, provideIcons } from '@ng-icons/core';
6
- import { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';
7
- import { Table } from '@tanstack/angular-table';
8
-
9
- @Component({
10
- selector: 'sdc-pagination',
11
- imports: [NgIcon, HlmIconModule, ButtonComponent],
12
- providers: [provideIcons({ lucideChevronLeft, lucideChevronRight })],
13
- templateUrl: './pagination.component.html',
14
- styleUrl: './pagination.component.css',
15
- })
16
- export class PaginationComponent {
17
- public readonly table = input.required<Table<any>>();
18
- public readonly maxVisiblePages = input<number>(7);
19
- public readonly showFirstLastButtons = input<boolean>(false);
20
- public readonly theme = input.required<ThemeClass>();
21
- public readonly exportButtonText = input<string>('Export');
22
- public readonly exportClick = output<{ selectedRows: any[]; allRows: any[] }>();
23
-
24
- protected getVisiblePageNumbers(): number[] {
25
- const currentPage = this.table().getState().pagination.pageIndex;
26
- const totalPages = this.table().getPageCount();
27
- const maxVisible = this.maxVisiblePages();
28
-
29
- if (totalPages <= maxVisible) {
30
- // If total pages is less than or equal to maxVisible, show all pages
31
- return Array.from({ length: totalPages }, (_, i) => i);
32
- }
33
-
34
- // Calculate the sliding window of pages to show
35
- const pages: number[] = [];
36
-
37
- // Calculate the center position for the window
38
- const centerPosition = Math.floor(maxVisible / 2);
39
-
40
- // Calculate the start page of the window
41
- let startPage = Math.max(0, currentPage - centerPosition);
42
-
43
- // Adjust start page if we're near the end
44
- if (startPage + maxVisible > totalPages) {
45
- startPage = Math.max(0, totalPages - maxVisible);
46
- }
47
-
48
- // Generate the page numbers for the window
49
- for (let i = 0; i < maxVisible; i++) {
50
- pages.push(startPage + i);
51
- }
52
-
53
- return pages;
54
- }
55
-
56
- protected onExportClick() {
57
- const tableState = this.table().getState();
58
- const selectedRows = tableState.rowSelection;
59
- const allRows = this.table()
60
- .getRowModel()
61
- .rows.map(row => row.original);
62
-
63
- // Get the actual selected row data
64
- const selectedRowData = Object.keys(selectedRows)
65
- .filter(key => selectedRows[key])
66
- .map(rowId => {
67
- const row = this.table()
68
- .getRowModel()
69
- .rows.find(r => r.id === rowId);
70
- return row ? row.original : null;
71
- })
72
- .filter(Boolean);
73
-
74
- this.exportClick.emit({
75
- selectedRows: selectedRowData,
76
- allRows: allRows,
77
- });
78
- }
79
- }
@@ -1,6 +0,0 @@
1
- <input
2
- class="block px-1 selection-header"
3
- type="checkbox"
4
- [checked]="getIsAllVisibleRowsSelected()"
5
- [indeterminate]="getIsSomeVisibleRowsSelected()"
6
- (change)="toggleAllVisibleRowsSelected()" />
@@ -1,36 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { type HeaderContext, injectFlexRenderContext } from '@tanstack/angular-table';
3
-
4
- @Component({
5
- templateUrl: './selection-table-head.component.html',
6
- styleUrl: './selection-table-head.component.css',
7
- standalone: true,
8
- changeDetection: ChangeDetectionStrategy.OnPush,
9
- })
10
- export class SelectionTableHeadComponent<T> {
11
- context = injectFlexRenderContext<HeaderContext<T, unknown>>();
12
-
13
- getIsAllVisibleRowsSelected(): boolean {
14
- const visibleRows = this.context.table.getRowModel().rows;
15
- return visibleRows.length > 0 && visibleRows.every(row => row.getIsSelected());
16
- }
17
-
18
- getIsSomeVisibleRowsSelected(): boolean {
19
- const visibleRows = this.context.table.getRowModel().rows;
20
- const selectedCount = visibleRows.filter(row => row.getIsSelected()).length;
21
- return selectedCount > 0 && selectedCount < visibleRows.length;
22
- }
23
-
24
- toggleAllVisibleRowsSelected(): void {
25
- const visibleRows = this.context.table.getRowModel().rows;
26
- const allSelected = this.getIsAllVisibleRowsSelected();
27
-
28
- visibleRows.forEach(row => {
29
- if (allSelected) {
30
- row.toggleSelected(false);
31
- } else {
32
- row.toggleSelected(true);
33
- }
34
- });
35
- }
36
- }
@@ -1,5 +0,0 @@
1
- <input
2
- class="block px-1"
3
- type="checkbox"
4
- [checked]="context.row.getIsSelected()"
5
- (change)="context.row.getToggleSelectedHandler()($event)" />
@@ -1,12 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { type CellContext, injectFlexRenderContext } from '@tanstack/angular-table';
3
-
4
- @Component({
5
- templateUrl: './selection-table-row.component.html',
6
- styleUrl: './selection-table-row.component.css',
7
- standalone: true,
8
- changeDetection: ChangeDetectionStrategy.OnPush,
9
- })
10
- export class SelectionTableRowComponent<T> {
11
- context = injectFlexRenderContext<CellContext<T, unknown>>();
12
- }
@@ -1,14 +0,0 @@
1
- .sort-button {
2
- display: flex;
3
- flex-direction: row;
4
- flex-wrap: nowrap;
5
- text-transform: capitalize;
6
- cursor: pointer;
7
- }
8
-
9
- .sort-icon {
10
- display: inline-block;
11
- margin-left: 0.25rem;
12
- width: 1rem;
13
- height: 1rem;
14
- }
@@ -1,11 +0,0 @@
1
- <button class="sort-button" (click)="onSortClick()" (mouseenter)="onMouseEnter()" (mouseleave)="onMouseLeave()">
2
- <span class="capitalize">
3
- {{ columnName() }}
4
- </span>
5
- <span class="sort-icon">
6
- <!-- Sort Icon -->
7
- @if (enableSorting() && iconName()) {
8
- <ng-icon hlm size="sm" [name]="iconName()" aria-hidden="true" />
9
- }
10
- </span>
11
- </button>
@@ -1,55 +0,0 @@
1
- import { ButtonComponent } from '@3ddv/software-division-components/generic/button';
2
- import { HlmIconModule } from '@3ddv/software-division-components/generic/icon';
3
- import { Component, input, output, signal } from '@angular/core';
4
- import { NgIcon, provideIcons } from '@ng-icons/core';
5
- import { lucideArrowDown, lucideArrowUp, lucideArrowUpDown } from '@ng-icons/lucide';
6
-
7
- @Component({
8
- selector: 'sdc-table-head-sort-button',
9
- imports: [NgIcon, ButtonComponent, HlmIconModule],
10
- providers: [provideIcons({ lucideArrowUpDown, lucideArrowUp, lucideArrowDown })],
11
- templateUrl: './sort-header-button.component.html',
12
- styleUrl: './sort-header-button.component.css',
13
- })
14
- export class SortTableHeadButtonComponent {
15
- public readonly isSorted = input<boolean>(false);
16
- public readonly columnName = input.required<string>();
17
- public readonly sortDirection = input.required<'asc' | 'desc' | false>();
18
- public readonly enableSorting = input<boolean>(false);
19
-
20
- public readonly sortClick = output<void>();
21
-
22
- protected isHovered = signal(false);
23
-
24
- protected onSortClick() {
25
- if (this.enableSorting()) {
26
- this.sortClick.emit();
27
- }
28
- }
29
-
30
- protected onMouseEnter() {
31
- if (this.enableSorting()) {
32
- this.isHovered.set(true);
33
- }
34
- }
35
-
36
- protected onMouseLeave() {
37
- if (this.enableSorting()) {
38
- this.isHovered.set(false);
39
- }
40
- }
41
-
42
- protected iconName() {
43
- // Show active sort arrow when sorted
44
- if (this.isSorted()) {
45
- return this.sortDirection() === 'asc' ? 'lucideArrowDown' : 'lucideArrowUp';
46
- }
47
-
48
- if (this.isHovered()) {
49
- return 'lucideArrowUpDown';
50
- }
51
-
52
- // No icon when not sorted and not hovering
53
- return '';
54
- }
55
- }